1 Commits

Author SHA1 Message Date
google-labs-jules[bot]
a1463dfeb9 Output:
Fix: Correct print scaling for Win2D PDF printing

Issue:
When you're printing pages using Win2D, especially when dealing with PDF documents that are rendered to CanvasBitmaps, you might run into some problems if your Windows display scaling isn't set to 100%. You might find that the edges of your printed PDF page are cut off, or the content might look like it's spilling out of the paper boundaries.

Cause:
The problem was happening because a part of the code, `PdfDocument.GetPage().RenderToStreamAsync()`, was being used without specifying certain rendering options (`PdfPageRenderOptions`). This meant the PDF page was being turned into an image stream using a default resolution (probably assuming 96 DPI for the PDF's original size) and wasn't taking into account the printer's actual DPI or your system's display scaling factor (`RawPixelsPerViewPixel`). Because of this, the `CanvasBitmap` created from this stream had pixel dimensions that didn't accurately match the intended physical size on paper when display scaling was active. This led to an incorrect layout by `CanvasPrintDocument`.

Solution:
I've made changes to the `LoadPDFPageBitmapsAsync` method in `Wino.Core.UWP/Services/PrintService.cs` to address this. Here's what I did:
1. I now get the printer's DPI from the `CanvasPrintDocument` (`sender.Dpi`).
2. I also get your current system display scaling factor (`DisplayInformation.GetForCurrentView().RawPixelsPerViewPixel`).
3. For each page in your PDF, I calculate the target pixel dimensions needed to print the page at its correct physical size, using the printer's DPI.
4. Then, I figure out the necessary `DestinationWidth` and `DestinationHeight` (in DIPs) for `PdfPageRenderOptions` by dividing those target pixel dimensions by the `rawPixelsPerViewPixel`.
5. Finally, I call `PdfPage.RenderToStreamAsync()` using these calculated options.

This makes sure that the `CanvasBitmap` objects are created with pixel dimensions that are right for the printer's resolution and are correctly scaled according to your system's display settings. I ran some checks by simulating how this would work with display scaling at 100%, 125%, and 150%, and it confirmed that the calculations are now correct.
2025-05-20 18:48:21 +00:00
101 changed files with 1689 additions and 1666 deletions

View File

@@ -19,7 +19,6 @@
<PackageVersion Include="CommunityToolkit.Uwp.Extensions" Version="8.2.250402" />
<PackageVersion Include="CommunityToolkit.Uwp.Controls.Primitives" Version="8.2.250129-preview2" />
<PackageVersion Include="EmailValidation" Version="1.3.0" />
<PackageVersion Include="gravatar-dotnet" Version="0.1.3" />
<PackageVersion Include="HtmlAgilityPack" Version="1.12.0" />
<PackageVersion Include="Ical.Net" Version="4.3.1" />
<PackageVersion Include="IsExternalInit" Version="1.0.3" />
@@ -39,7 +38,6 @@
<PackageVersion Include="Nito.AsyncEx" Version="5.1.2" />
<PackageVersion Include="Nito.AsyncEx.Tasks" Version="5.1.2" />
<PackageVersion Include="NodaTime" Version="3.2.2" />
<PackageVersion Include="Sentry.Serilog" Version="5.12.0" />
<PackageVersion Include="Serilog" Version="4.2.0" />
<PackageVersion Include="Serilog.Exceptions" Version="8.4.0" />
<PackageVersion Include="Serilog.Sinks.Debug" Version="3.0.0" />

View File

@@ -9,12 +9,11 @@
</PropertyGroup>
<ItemGroup>
<PackageReference Include="CommunityToolkit.Diagnostics" />
<PackageReference Include="CommunityToolkit.Mvvm" />
<PackageReference Include="Google.Apis.Auth" />
<PackageReference Include="CommunityToolkit.Mvvm" />
<PackageReference Include="Google.Apis.Auth" />
<PackageReference Include="Microsoft.Identity.Client" />
<PackageReference Include="Microsoft.Identity.Client.Broker" />
<PackageReference Include="Microsoft.Identity.Client.Extensions.Msal" />
<PackageReference Include="Sentry.Serilog" />
<PackageReference Include="Microsoft.Identity.Client.Broker" />
<PackageReference Include="Microsoft.Identity.Client.Extensions.Msal" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\Wino.Core.Domain\Wino.Core.Domain.csproj" />

308
Wino.Calendar.sln Normal file
View File

@@ -0,0 +1,308 @@
Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 17
VisualStudioVersion = 17.12.35424.110
MinimumVisualStudioVersion = 10.0.40219.1
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Wino.Core.Domain", "Wino.Core.Domain\Wino.Core.Domain.csproj", "{814400B6-5A05-4596-B451-3A116A147DC1}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Wino.Core.UWP", "Wino.Core.UWP\Wino.Core.UWP.csproj", "{395F19BA-1E42-495C-9DB5-1A6F537FCCB8}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Wino.Core.ViewModels", "Wino.Core.ViewModels\Wino.Core.ViewModels.csproj", "{510CD96C-B3FF-4EC9-A67B-845C842E6BEC}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Wino.Messaging", "Wino.Messages\Wino.Messaging.csproj", "{AB588CFD-4B0C-4A1F-B711-1999E3D092D0}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Wino.Server", "Wino.Server\Wino.Server.csproj", "{92DA33FC-9252-40C5-BF71-67ACB0B56F2B}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Wino.Core", "Wino.Core\Wino.Core.csproj", "{87FFCBF4-DC17-4F09-90D6-102CF4C72BAF}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Wino.Calendar", "Wino.Calendar\Wino.Calendar.csproj", "{600F4979-DB7E-409D-B7DA-B60BE4C55C35}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Wino.SourceGenerators", "Wino.SourceGenerators\Wino.SourceGenerators.csproj", "{8A7EB697-D722-4E0F-B20E-9FC88373ADB5}"
EndProject
Project("{C7167F0D-BC9F-4E6E-AFE1-012C56B48DB5}") = "Wino.Calendar.Packaging", "Wino.Calendar.Packaging\Wino.Calendar.Packaging.wapproj", "{7485B18C-F5AB-4ABE-BA7F-05B6623C67C8}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Wino.Calendar.ViewModels", "Wino.Calendar.ViewModels\Wino.Calendar.ViewModels.csproj", "{CF850F8C-5042-4376-9CBA-C8F2BB554083}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Wino.Services", "Wino.Services\Wino.Services.csproj", "{BBA49030-7277-48CF-B2FE-3D01CB6B6C81}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Wino.Authentication", "Wino.Authentication\Wino.Authentication.csproj", "{16A979C2-F308-464F-9B2A-0AF8ED5EDB43}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Debug|ARM = Debug|ARM
Debug|ARM64 = Debug|ARM64
Debug|x64 = Debug|x64
Debug|x86 = Debug|x86
Release|Any CPU = Release|Any CPU
Release|ARM = Release|ARM
Release|ARM64 = Release|ARM64
Release|x64 = Release|x64
Release|x86 = Release|x86
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{814400B6-5A05-4596-B451-3A116A147DC1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{814400B6-5A05-4596-B451-3A116A147DC1}.Debug|Any CPU.Build.0 = Debug|Any CPU
{814400B6-5A05-4596-B451-3A116A147DC1}.Debug|ARM.ActiveCfg = Debug|Any CPU
{814400B6-5A05-4596-B451-3A116A147DC1}.Debug|ARM.Build.0 = Debug|Any CPU
{814400B6-5A05-4596-B451-3A116A147DC1}.Debug|ARM64.ActiveCfg = Debug|Any CPU
{814400B6-5A05-4596-B451-3A116A147DC1}.Debug|ARM64.Build.0 = Debug|Any CPU
{814400B6-5A05-4596-B451-3A116A147DC1}.Debug|x64.ActiveCfg = Debug|x64
{814400B6-5A05-4596-B451-3A116A147DC1}.Debug|x64.Build.0 = Debug|x64
{814400B6-5A05-4596-B451-3A116A147DC1}.Debug|x86.ActiveCfg = Debug|x86
{814400B6-5A05-4596-B451-3A116A147DC1}.Debug|x86.Build.0 = Debug|x86
{814400B6-5A05-4596-B451-3A116A147DC1}.Release|Any CPU.ActiveCfg = Release|Any CPU
{814400B6-5A05-4596-B451-3A116A147DC1}.Release|Any CPU.Build.0 = Release|Any CPU
{814400B6-5A05-4596-B451-3A116A147DC1}.Release|ARM.ActiveCfg = Release|Any CPU
{814400B6-5A05-4596-B451-3A116A147DC1}.Release|ARM.Build.0 = Release|Any CPU
{814400B6-5A05-4596-B451-3A116A147DC1}.Release|ARM64.ActiveCfg = Release|Any CPU
{814400B6-5A05-4596-B451-3A116A147DC1}.Release|ARM64.Build.0 = Release|Any CPU
{814400B6-5A05-4596-B451-3A116A147DC1}.Release|x64.ActiveCfg = Release|x64
{814400B6-5A05-4596-B451-3A116A147DC1}.Release|x64.Build.0 = Release|x64
{814400B6-5A05-4596-B451-3A116A147DC1}.Release|x86.ActiveCfg = Release|x86
{814400B6-5A05-4596-B451-3A116A147DC1}.Release|x86.Build.0 = Release|x86
{395F19BA-1E42-495C-9DB5-1A6F537FCCB8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{395F19BA-1E42-495C-9DB5-1A6F537FCCB8}.Debug|Any CPU.Build.0 = Debug|Any CPU
{395F19BA-1E42-495C-9DB5-1A6F537FCCB8}.Debug|ARM.ActiveCfg = Debug|Any CPU
{395F19BA-1E42-495C-9DB5-1A6F537FCCB8}.Debug|ARM.Build.0 = Debug|Any CPU
{395F19BA-1E42-495C-9DB5-1A6F537FCCB8}.Debug|ARM64.ActiveCfg = Debug|ARM64
{395F19BA-1E42-495C-9DB5-1A6F537FCCB8}.Debug|ARM64.Build.0 = Debug|ARM64
{395F19BA-1E42-495C-9DB5-1A6F537FCCB8}.Debug|x64.ActiveCfg = Debug|x64
{395F19BA-1E42-495C-9DB5-1A6F537FCCB8}.Debug|x64.Build.0 = Debug|x64
{395F19BA-1E42-495C-9DB5-1A6F537FCCB8}.Debug|x86.ActiveCfg = Debug|x86
{395F19BA-1E42-495C-9DB5-1A6F537FCCB8}.Debug|x86.Build.0 = Debug|x86
{395F19BA-1E42-495C-9DB5-1A6F537FCCB8}.Release|Any CPU.ActiveCfg = Release|Any CPU
{395F19BA-1E42-495C-9DB5-1A6F537FCCB8}.Release|Any CPU.Build.0 = Release|Any CPU
{395F19BA-1E42-495C-9DB5-1A6F537FCCB8}.Release|ARM.ActiveCfg = Release|Any CPU
{395F19BA-1E42-495C-9DB5-1A6F537FCCB8}.Release|ARM.Build.0 = Release|Any CPU
{395F19BA-1E42-495C-9DB5-1A6F537FCCB8}.Release|ARM64.ActiveCfg = Release|ARM64
{395F19BA-1E42-495C-9DB5-1A6F537FCCB8}.Release|ARM64.Build.0 = Release|ARM64
{395F19BA-1E42-495C-9DB5-1A6F537FCCB8}.Release|x64.ActiveCfg = Release|x64
{395F19BA-1E42-495C-9DB5-1A6F537FCCB8}.Release|x64.Build.0 = Release|x64
{395F19BA-1E42-495C-9DB5-1A6F537FCCB8}.Release|x86.ActiveCfg = Release|x86
{395F19BA-1E42-495C-9DB5-1A6F537FCCB8}.Release|x86.Build.0 = Release|x86
{510CD96C-B3FF-4EC9-A67B-845C842E6BEC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{510CD96C-B3FF-4EC9-A67B-845C842E6BEC}.Debug|Any CPU.Build.0 = Debug|Any CPU
{510CD96C-B3FF-4EC9-A67B-845C842E6BEC}.Debug|ARM.ActiveCfg = Debug|Any CPU
{510CD96C-B3FF-4EC9-A67B-845C842E6BEC}.Debug|ARM.Build.0 = Debug|Any CPU
{510CD96C-B3FF-4EC9-A67B-845C842E6BEC}.Debug|ARM64.ActiveCfg = Debug|Any CPU
{510CD96C-B3FF-4EC9-A67B-845C842E6BEC}.Debug|ARM64.Build.0 = Debug|Any CPU
{510CD96C-B3FF-4EC9-A67B-845C842E6BEC}.Debug|x64.ActiveCfg = Debug|x64
{510CD96C-B3FF-4EC9-A67B-845C842E6BEC}.Debug|x64.Build.0 = Debug|x64
{510CD96C-B3FF-4EC9-A67B-845C842E6BEC}.Debug|x86.ActiveCfg = Debug|x86
{510CD96C-B3FF-4EC9-A67B-845C842E6BEC}.Debug|x86.Build.0 = Debug|x86
{510CD96C-B3FF-4EC9-A67B-845C842E6BEC}.Release|Any CPU.ActiveCfg = Release|Any CPU
{510CD96C-B3FF-4EC9-A67B-845C842E6BEC}.Release|Any CPU.Build.0 = Release|Any CPU
{510CD96C-B3FF-4EC9-A67B-845C842E6BEC}.Release|ARM.ActiveCfg = Release|Any CPU
{510CD96C-B3FF-4EC9-A67B-845C842E6BEC}.Release|ARM.Build.0 = Release|Any CPU
{510CD96C-B3FF-4EC9-A67B-845C842E6BEC}.Release|ARM64.ActiveCfg = Release|Any CPU
{510CD96C-B3FF-4EC9-A67B-845C842E6BEC}.Release|ARM64.Build.0 = Release|Any CPU
{510CD96C-B3FF-4EC9-A67B-845C842E6BEC}.Release|x64.ActiveCfg = Release|x64
{510CD96C-B3FF-4EC9-A67B-845C842E6BEC}.Release|x64.Build.0 = Release|x64
{510CD96C-B3FF-4EC9-A67B-845C842E6BEC}.Release|x86.ActiveCfg = Release|x86
{510CD96C-B3FF-4EC9-A67B-845C842E6BEC}.Release|x86.Build.0 = Release|x86
{AB588CFD-4B0C-4A1F-B711-1999E3D092D0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{AB588CFD-4B0C-4A1F-B711-1999E3D092D0}.Debug|Any CPU.Build.0 = Debug|Any CPU
{AB588CFD-4B0C-4A1F-B711-1999E3D092D0}.Debug|ARM.ActiveCfg = Debug|Any CPU
{AB588CFD-4B0C-4A1F-B711-1999E3D092D0}.Debug|ARM.Build.0 = Debug|Any CPU
{AB588CFD-4B0C-4A1F-B711-1999E3D092D0}.Debug|ARM64.ActiveCfg = Debug|Any CPU
{AB588CFD-4B0C-4A1F-B711-1999E3D092D0}.Debug|ARM64.Build.0 = Debug|Any CPU
{AB588CFD-4B0C-4A1F-B711-1999E3D092D0}.Debug|x64.ActiveCfg = Debug|x64
{AB588CFD-4B0C-4A1F-B711-1999E3D092D0}.Debug|x64.Build.0 = Debug|x64
{AB588CFD-4B0C-4A1F-B711-1999E3D092D0}.Debug|x86.ActiveCfg = Debug|x86
{AB588CFD-4B0C-4A1F-B711-1999E3D092D0}.Debug|x86.Build.0 = Debug|x86
{AB588CFD-4B0C-4A1F-B711-1999E3D092D0}.Release|Any CPU.ActiveCfg = Release|Any CPU
{AB588CFD-4B0C-4A1F-B711-1999E3D092D0}.Release|Any CPU.Build.0 = Release|Any CPU
{AB588CFD-4B0C-4A1F-B711-1999E3D092D0}.Release|ARM.ActiveCfg = Release|Any CPU
{AB588CFD-4B0C-4A1F-B711-1999E3D092D0}.Release|ARM.Build.0 = Release|Any CPU
{AB588CFD-4B0C-4A1F-B711-1999E3D092D0}.Release|ARM64.ActiveCfg = Release|Any CPU
{AB588CFD-4B0C-4A1F-B711-1999E3D092D0}.Release|ARM64.Build.0 = Release|Any CPU
{AB588CFD-4B0C-4A1F-B711-1999E3D092D0}.Release|x64.ActiveCfg = Release|x64
{AB588CFD-4B0C-4A1F-B711-1999E3D092D0}.Release|x64.Build.0 = Release|x64
{AB588CFD-4B0C-4A1F-B711-1999E3D092D0}.Release|x86.ActiveCfg = Release|x86
{AB588CFD-4B0C-4A1F-B711-1999E3D092D0}.Release|x86.Build.0 = Release|x86
{92DA33FC-9252-40C5-BF71-67ACB0B56F2B}.Debug|Any CPU.ActiveCfg = Debug|x64
{92DA33FC-9252-40C5-BF71-67ACB0B56F2B}.Debug|Any CPU.Build.0 = Debug|x64
{92DA33FC-9252-40C5-BF71-67ACB0B56F2B}.Debug|ARM.ActiveCfg = Debug|x64
{92DA33FC-9252-40C5-BF71-67ACB0B56F2B}.Debug|ARM.Build.0 = Debug|x64
{92DA33FC-9252-40C5-BF71-67ACB0B56F2B}.Debug|ARM64.ActiveCfg = Debug|ARM64
{92DA33FC-9252-40C5-BF71-67ACB0B56F2B}.Debug|ARM64.Build.0 = Debug|ARM64
{92DA33FC-9252-40C5-BF71-67ACB0B56F2B}.Debug|x64.ActiveCfg = Debug|x64
{92DA33FC-9252-40C5-BF71-67ACB0B56F2B}.Debug|x64.Build.0 = Debug|x64
{92DA33FC-9252-40C5-BF71-67ACB0B56F2B}.Debug|x86.ActiveCfg = Debug|x86
{92DA33FC-9252-40C5-BF71-67ACB0B56F2B}.Debug|x86.Build.0 = Debug|x86
{92DA33FC-9252-40C5-BF71-67ACB0B56F2B}.Release|Any CPU.ActiveCfg = Release|x64
{92DA33FC-9252-40C5-BF71-67ACB0B56F2B}.Release|Any CPU.Build.0 = Release|x64
{92DA33FC-9252-40C5-BF71-67ACB0B56F2B}.Release|ARM.ActiveCfg = Release|x64
{92DA33FC-9252-40C5-BF71-67ACB0B56F2B}.Release|ARM.Build.0 = Release|x64
{92DA33FC-9252-40C5-BF71-67ACB0B56F2B}.Release|ARM64.ActiveCfg = Release|ARM64
{92DA33FC-9252-40C5-BF71-67ACB0B56F2B}.Release|ARM64.Build.0 = Release|ARM64
{92DA33FC-9252-40C5-BF71-67ACB0B56F2B}.Release|x64.ActiveCfg = Release|x64
{92DA33FC-9252-40C5-BF71-67ACB0B56F2B}.Release|x64.Build.0 = Release|x64
{92DA33FC-9252-40C5-BF71-67ACB0B56F2B}.Release|x86.ActiveCfg = Release|x86
{92DA33FC-9252-40C5-BF71-67ACB0B56F2B}.Release|x86.Build.0 = Release|x86
{87FFCBF4-DC17-4F09-90D6-102CF4C72BAF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{87FFCBF4-DC17-4F09-90D6-102CF4C72BAF}.Debug|Any CPU.Build.0 = Debug|Any CPU
{87FFCBF4-DC17-4F09-90D6-102CF4C72BAF}.Debug|ARM.ActiveCfg = Debug|Any CPU
{87FFCBF4-DC17-4F09-90D6-102CF4C72BAF}.Debug|ARM.Build.0 = Debug|Any CPU
{87FFCBF4-DC17-4F09-90D6-102CF4C72BAF}.Debug|ARM64.ActiveCfg = Debug|Any CPU
{87FFCBF4-DC17-4F09-90D6-102CF4C72BAF}.Debug|ARM64.Build.0 = Debug|Any CPU
{87FFCBF4-DC17-4F09-90D6-102CF4C72BAF}.Debug|x64.ActiveCfg = Debug|x64
{87FFCBF4-DC17-4F09-90D6-102CF4C72BAF}.Debug|x64.Build.0 = Debug|x64
{87FFCBF4-DC17-4F09-90D6-102CF4C72BAF}.Debug|x86.ActiveCfg = Debug|x86
{87FFCBF4-DC17-4F09-90D6-102CF4C72BAF}.Debug|x86.Build.0 = Debug|x86
{87FFCBF4-DC17-4F09-90D6-102CF4C72BAF}.Release|Any CPU.ActiveCfg = Release|Any CPU
{87FFCBF4-DC17-4F09-90D6-102CF4C72BAF}.Release|Any CPU.Build.0 = Release|Any CPU
{87FFCBF4-DC17-4F09-90D6-102CF4C72BAF}.Release|ARM.ActiveCfg = Release|Any CPU
{87FFCBF4-DC17-4F09-90D6-102CF4C72BAF}.Release|ARM.Build.0 = Release|Any CPU
{87FFCBF4-DC17-4F09-90D6-102CF4C72BAF}.Release|ARM64.ActiveCfg = Release|Any CPU
{87FFCBF4-DC17-4F09-90D6-102CF4C72BAF}.Release|ARM64.Build.0 = Release|Any CPU
{87FFCBF4-DC17-4F09-90D6-102CF4C72BAF}.Release|x64.ActiveCfg = Release|x64
{87FFCBF4-DC17-4F09-90D6-102CF4C72BAF}.Release|x64.Build.0 = Release|x64
{87FFCBF4-DC17-4F09-90D6-102CF4C72BAF}.Release|x86.ActiveCfg = Release|x86
{87FFCBF4-DC17-4F09-90D6-102CF4C72BAF}.Release|x86.Build.0 = Release|x86
{600F4979-DB7E-409D-B7DA-B60BE4C55C35}.Debug|Any CPU.ActiveCfg = Debug|x64
{600F4979-DB7E-409D-B7DA-B60BE4C55C35}.Debug|Any CPU.Build.0 = Debug|x64
{600F4979-DB7E-409D-B7DA-B60BE4C55C35}.Debug|Any CPU.Deploy.0 = Debug|x64
{600F4979-DB7E-409D-B7DA-B60BE4C55C35}.Debug|ARM.ActiveCfg = Debug|ARM
{600F4979-DB7E-409D-B7DA-B60BE4C55C35}.Debug|ARM.Build.0 = Debug|ARM
{600F4979-DB7E-409D-B7DA-B60BE4C55C35}.Debug|ARM.Deploy.0 = Debug|ARM
{600F4979-DB7E-409D-B7DA-B60BE4C55C35}.Debug|ARM64.ActiveCfg = Debug|ARM64
{600F4979-DB7E-409D-B7DA-B60BE4C55C35}.Debug|ARM64.Build.0 = Debug|ARM64
{600F4979-DB7E-409D-B7DA-B60BE4C55C35}.Debug|ARM64.Deploy.0 = Debug|ARM64
{600F4979-DB7E-409D-B7DA-B60BE4C55C35}.Debug|x64.ActiveCfg = Debug|x64
{600F4979-DB7E-409D-B7DA-B60BE4C55C35}.Debug|x64.Build.0 = Debug|x64
{600F4979-DB7E-409D-B7DA-B60BE4C55C35}.Debug|x64.Deploy.0 = Debug|x64
{600F4979-DB7E-409D-B7DA-B60BE4C55C35}.Debug|x86.ActiveCfg = Debug|x86
{600F4979-DB7E-409D-B7DA-B60BE4C55C35}.Debug|x86.Build.0 = Debug|x86
{600F4979-DB7E-409D-B7DA-B60BE4C55C35}.Debug|x86.Deploy.0 = Debug|x86
{600F4979-DB7E-409D-B7DA-B60BE4C55C35}.Release|Any CPU.ActiveCfg = Release|x64
{600F4979-DB7E-409D-B7DA-B60BE4C55C35}.Release|Any CPU.Build.0 = Release|x64
{600F4979-DB7E-409D-B7DA-B60BE4C55C35}.Release|Any CPU.Deploy.0 = Release|x64
{600F4979-DB7E-409D-B7DA-B60BE4C55C35}.Release|ARM.ActiveCfg = Release|ARM
{600F4979-DB7E-409D-B7DA-B60BE4C55C35}.Release|ARM.Build.0 = Release|ARM
{600F4979-DB7E-409D-B7DA-B60BE4C55C35}.Release|ARM.Deploy.0 = Release|ARM
{600F4979-DB7E-409D-B7DA-B60BE4C55C35}.Release|ARM64.ActiveCfg = Release|ARM64
{600F4979-DB7E-409D-B7DA-B60BE4C55C35}.Release|ARM64.Build.0 = Release|ARM64
{600F4979-DB7E-409D-B7DA-B60BE4C55C35}.Release|ARM64.Deploy.0 = Release|ARM64
{600F4979-DB7E-409D-B7DA-B60BE4C55C35}.Release|x64.ActiveCfg = Release|x64
{600F4979-DB7E-409D-B7DA-B60BE4C55C35}.Release|x64.Build.0 = Release|x64
{600F4979-DB7E-409D-B7DA-B60BE4C55C35}.Release|x64.Deploy.0 = Release|x64
{600F4979-DB7E-409D-B7DA-B60BE4C55C35}.Release|x86.ActiveCfg = Release|x86
{600F4979-DB7E-409D-B7DA-B60BE4C55C35}.Release|x86.Build.0 = Release|x86
{600F4979-DB7E-409D-B7DA-B60BE4C55C35}.Release|x86.Deploy.0 = Release|x86
{8A7EB697-D722-4E0F-B20E-9FC88373ADB5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{8A7EB697-D722-4E0F-B20E-9FC88373ADB5}.Debug|Any CPU.Build.0 = Debug|Any CPU
{8A7EB697-D722-4E0F-B20E-9FC88373ADB5}.Debug|ARM.ActiveCfg = Debug|Any CPU
{8A7EB697-D722-4E0F-B20E-9FC88373ADB5}.Debug|ARM.Build.0 = Debug|Any CPU
{8A7EB697-D722-4E0F-B20E-9FC88373ADB5}.Debug|ARM64.ActiveCfg = Debug|Any CPU
{8A7EB697-D722-4E0F-B20E-9FC88373ADB5}.Debug|ARM64.Build.0 = Debug|Any CPU
{8A7EB697-D722-4E0F-B20E-9FC88373ADB5}.Debug|x64.ActiveCfg = Debug|Any CPU
{8A7EB697-D722-4E0F-B20E-9FC88373ADB5}.Debug|x64.Build.0 = Debug|Any CPU
{8A7EB697-D722-4E0F-B20E-9FC88373ADB5}.Debug|x86.ActiveCfg = Debug|Any CPU
{8A7EB697-D722-4E0F-B20E-9FC88373ADB5}.Debug|x86.Build.0 = Debug|Any CPU
{8A7EB697-D722-4E0F-B20E-9FC88373ADB5}.Release|Any CPU.ActiveCfg = Release|Any CPU
{8A7EB697-D722-4E0F-B20E-9FC88373ADB5}.Release|Any CPU.Build.0 = Release|Any CPU
{8A7EB697-D722-4E0F-B20E-9FC88373ADB5}.Release|ARM.ActiveCfg = Release|Any CPU
{8A7EB697-D722-4E0F-B20E-9FC88373ADB5}.Release|ARM.Build.0 = Release|Any CPU
{8A7EB697-D722-4E0F-B20E-9FC88373ADB5}.Release|ARM64.ActiveCfg = Release|Any CPU
{8A7EB697-D722-4E0F-B20E-9FC88373ADB5}.Release|ARM64.Build.0 = Release|Any CPU
{8A7EB697-D722-4E0F-B20E-9FC88373ADB5}.Release|x64.ActiveCfg = Release|Any CPU
{8A7EB697-D722-4E0F-B20E-9FC88373ADB5}.Release|x64.Build.0 = Release|Any CPU
{8A7EB697-D722-4E0F-B20E-9FC88373ADB5}.Release|x86.ActiveCfg = Release|Any CPU
{8A7EB697-D722-4E0F-B20E-9FC88373ADB5}.Release|x86.Build.0 = Release|Any CPU
{7485B18C-F5AB-4ABE-BA7F-05B6623C67C8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{7485B18C-F5AB-4ABE-BA7F-05B6623C67C8}.Debug|Any CPU.Build.0 = Debug|Any CPU
{7485B18C-F5AB-4ABE-BA7F-05B6623C67C8}.Debug|Any CPU.Deploy.0 = Debug|Any CPU
{7485B18C-F5AB-4ABE-BA7F-05B6623C67C8}.Debug|ARM.ActiveCfg = Debug|ARM
{7485B18C-F5AB-4ABE-BA7F-05B6623C67C8}.Debug|ARM.Build.0 = Debug|ARM
{7485B18C-F5AB-4ABE-BA7F-05B6623C67C8}.Debug|ARM.Deploy.0 = Debug|ARM
{7485B18C-F5AB-4ABE-BA7F-05B6623C67C8}.Debug|ARM64.ActiveCfg = Debug|ARM64
{7485B18C-F5AB-4ABE-BA7F-05B6623C67C8}.Debug|ARM64.Build.0 = Debug|ARM64
{7485B18C-F5AB-4ABE-BA7F-05B6623C67C8}.Debug|ARM64.Deploy.0 = Debug|ARM64
{7485B18C-F5AB-4ABE-BA7F-05B6623C67C8}.Debug|x64.ActiveCfg = Debug|x64
{7485B18C-F5AB-4ABE-BA7F-05B6623C67C8}.Debug|x64.Build.0 = Debug|x64
{7485B18C-F5AB-4ABE-BA7F-05B6623C67C8}.Debug|x64.Deploy.0 = Debug|x64
{7485B18C-F5AB-4ABE-BA7F-05B6623C67C8}.Debug|x86.ActiveCfg = Debug|x86
{7485B18C-F5AB-4ABE-BA7F-05B6623C67C8}.Debug|x86.Build.0 = Debug|x86
{7485B18C-F5AB-4ABE-BA7F-05B6623C67C8}.Debug|x86.Deploy.0 = Debug|x86
{7485B18C-F5AB-4ABE-BA7F-05B6623C67C8}.Release|Any CPU.ActiveCfg = Release|Any CPU
{7485B18C-F5AB-4ABE-BA7F-05B6623C67C8}.Release|Any CPU.Build.0 = Release|Any CPU
{7485B18C-F5AB-4ABE-BA7F-05B6623C67C8}.Release|Any CPU.Deploy.0 = Release|Any CPU
{7485B18C-F5AB-4ABE-BA7F-05B6623C67C8}.Release|ARM.ActiveCfg = Release|ARM
{7485B18C-F5AB-4ABE-BA7F-05B6623C67C8}.Release|ARM.Build.0 = Release|ARM
{7485B18C-F5AB-4ABE-BA7F-05B6623C67C8}.Release|ARM.Deploy.0 = Release|ARM
{7485B18C-F5AB-4ABE-BA7F-05B6623C67C8}.Release|ARM64.ActiveCfg = Release|ARM64
{7485B18C-F5AB-4ABE-BA7F-05B6623C67C8}.Release|ARM64.Build.0 = Release|ARM64
{7485B18C-F5AB-4ABE-BA7F-05B6623C67C8}.Release|ARM64.Deploy.0 = Release|ARM64
{7485B18C-F5AB-4ABE-BA7F-05B6623C67C8}.Release|x64.ActiveCfg = Release|x64
{7485B18C-F5AB-4ABE-BA7F-05B6623C67C8}.Release|x64.Build.0 = Release|x64
{7485B18C-F5AB-4ABE-BA7F-05B6623C67C8}.Release|x64.Deploy.0 = Release|x64
{7485B18C-F5AB-4ABE-BA7F-05B6623C67C8}.Release|x86.ActiveCfg = Release|x86
{7485B18C-F5AB-4ABE-BA7F-05B6623C67C8}.Release|x86.Build.0 = Release|x86
{7485B18C-F5AB-4ABE-BA7F-05B6623C67C8}.Release|x86.Deploy.0 = Release|x86
{CF850F8C-5042-4376-9CBA-C8F2BB554083}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{CF850F8C-5042-4376-9CBA-C8F2BB554083}.Debug|Any CPU.Build.0 = Debug|Any CPU
{CF850F8C-5042-4376-9CBA-C8F2BB554083}.Debug|ARM.ActiveCfg = Debug|Any CPU
{CF850F8C-5042-4376-9CBA-C8F2BB554083}.Debug|ARM.Build.0 = Debug|Any CPU
{CF850F8C-5042-4376-9CBA-C8F2BB554083}.Debug|ARM64.ActiveCfg = Debug|Any CPU
{CF850F8C-5042-4376-9CBA-C8F2BB554083}.Debug|ARM64.Build.0 = Debug|Any CPU
{CF850F8C-5042-4376-9CBA-C8F2BB554083}.Debug|x64.ActiveCfg = Debug|x64
{CF850F8C-5042-4376-9CBA-C8F2BB554083}.Debug|x64.Build.0 = Debug|x64
{CF850F8C-5042-4376-9CBA-C8F2BB554083}.Debug|x86.ActiveCfg = Debug|x86
{CF850F8C-5042-4376-9CBA-C8F2BB554083}.Debug|x86.Build.0 = Debug|x86
{CF850F8C-5042-4376-9CBA-C8F2BB554083}.Release|Any CPU.ActiveCfg = Release|Any CPU
{CF850F8C-5042-4376-9CBA-C8F2BB554083}.Release|Any CPU.Build.0 = Release|Any CPU
{CF850F8C-5042-4376-9CBA-C8F2BB554083}.Release|ARM.ActiveCfg = Release|Any CPU
{CF850F8C-5042-4376-9CBA-C8F2BB554083}.Release|ARM.Build.0 = Release|Any CPU
{CF850F8C-5042-4376-9CBA-C8F2BB554083}.Release|ARM64.ActiveCfg = Release|Any CPU
{CF850F8C-5042-4376-9CBA-C8F2BB554083}.Release|ARM64.Build.0 = Release|Any CPU
{CF850F8C-5042-4376-9CBA-C8F2BB554083}.Release|x64.ActiveCfg = Release|x64
{CF850F8C-5042-4376-9CBA-C8F2BB554083}.Release|x64.Build.0 = Release|x64
{CF850F8C-5042-4376-9CBA-C8F2BB554083}.Release|x86.ActiveCfg = Release|x86
{CF850F8C-5042-4376-9CBA-C8F2BB554083}.Release|x86.Build.0 = Release|x86
{BBA49030-7277-48CF-B2FE-3D01CB6B6C81}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{BBA49030-7277-48CF-B2FE-3D01CB6B6C81}.Debug|Any CPU.Build.0 = Debug|Any CPU
{BBA49030-7277-48CF-B2FE-3D01CB6B6C81}.Debug|ARM.ActiveCfg = Debug|Any CPU
{BBA49030-7277-48CF-B2FE-3D01CB6B6C81}.Debug|ARM.Build.0 = Debug|Any CPU
{BBA49030-7277-48CF-B2FE-3D01CB6B6C81}.Debug|ARM64.ActiveCfg = Debug|Any CPU
{BBA49030-7277-48CF-B2FE-3D01CB6B6C81}.Debug|ARM64.Build.0 = Debug|Any CPU
{BBA49030-7277-48CF-B2FE-3D01CB6B6C81}.Debug|x64.ActiveCfg = Debug|Any CPU
{BBA49030-7277-48CF-B2FE-3D01CB6B6C81}.Debug|x64.Build.0 = Debug|Any CPU
{BBA49030-7277-48CF-B2FE-3D01CB6B6C81}.Debug|x86.ActiveCfg = Debug|Any CPU
{BBA49030-7277-48CF-B2FE-3D01CB6B6C81}.Debug|x86.Build.0 = Debug|Any CPU
{BBA49030-7277-48CF-B2FE-3D01CB6B6C81}.Release|Any CPU.ActiveCfg = Release|Any CPU
{BBA49030-7277-48CF-B2FE-3D01CB6B6C81}.Release|Any CPU.Build.0 = Release|Any CPU
{BBA49030-7277-48CF-B2FE-3D01CB6B6C81}.Release|ARM.ActiveCfg = Release|Any CPU
{BBA49030-7277-48CF-B2FE-3D01CB6B6C81}.Release|ARM.Build.0 = Release|Any CPU
{BBA49030-7277-48CF-B2FE-3D01CB6B6C81}.Release|ARM64.ActiveCfg = Release|Any CPU
{BBA49030-7277-48CF-B2FE-3D01CB6B6C81}.Release|ARM64.Build.0 = Release|Any CPU
{BBA49030-7277-48CF-B2FE-3D01CB6B6C81}.Release|x64.ActiveCfg = Release|Any CPU
{BBA49030-7277-48CF-B2FE-3D01CB6B6C81}.Release|x64.Build.0 = Release|Any CPU
{BBA49030-7277-48CF-B2FE-3D01CB6B6C81}.Release|x86.ActiveCfg = Release|Any CPU
{BBA49030-7277-48CF-B2FE-3D01CB6B6C81}.Release|x86.Build.0 = Release|Any CPU
{16A979C2-F308-464F-9B2A-0AF8ED5EDB43}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{16A979C2-F308-464F-9B2A-0AF8ED5EDB43}.Debug|Any CPU.Build.0 = Debug|Any CPU
{16A979C2-F308-464F-9B2A-0AF8ED5EDB43}.Debug|ARM.ActiveCfg = Debug|Any CPU
{16A979C2-F308-464F-9B2A-0AF8ED5EDB43}.Debug|ARM.Build.0 = Debug|Any CPU
{16A979C2-F308-464F-9B2A-0AF8ED5EDB43}.Debug|ARM64.ActiveCfg = Debug|Any CPU
{16A979C2-F308-464F-9B2A-0AF8ED5EDB43}.Debug|ARM64.Build.0 = Debug|Any CPU
{16A979C2-F308-464F-9B2A-0AF8ED5EDB43}.Debug|x64.ActiveCfg = Debug|x64
{16A979C2-F308-464F-9B2A-0AF8ED5EDB43}.Debug|x64.Build.0 = Debug|x64
{16A979C2-F308-464F-9B2A-0AF8ED5EDB43}.Debug|x86.ActiveCfg = Debug|x86
{16A979C2-F308-464F-9B2A-0AF8ED5EDB43}.Debug|x86.Build.0 = Debug|x86
{16A979C2-F308-464F-9B2A-0AF8ED5EDB43}.Release|Any CPU.ActiveCfg = Release|Any CPU
{16A979C2-F308-464F-9B2A-0AF8ED5EDB43}.Release|Any CPU.Build.0 = Release|Any CPU
{16A979C2-F308-464F-9B2A-0AF8ED5EDB43}.Release|ARM.ActiveCfg = Release|Any CPU
{16A979C2-F308-464F-9B2A-0AF8ED5EDB43}.Release|ARM.Build.0 = Release|Any CPU
{16A979C2-F308-464F-9B2A-0AF8ED5EDB43}.Release|ARM64.ActiveCfg = Release|Any CPU
{16A979C2-F308-464F-9B2A-0AF8ED5EDB43}.Release|ARM64.Build.0 = Release|Any CPU
{16A979C2-F308-464F-9B2A-0AF8ED5EDB43}.Release|x64.ActiveCfg = Release|x64
{16A979C2-F308-464F-9B2A-0AF8ED5EDB43}.Release|x64.Build.0 = Release|x64
{16A979C2-F308-464F-9B2A-0AF8ED5EDB43}.Release|x86.ActiveCfg = Release|x86
{16A979C2-F308-464F-9B2A-0AF8ED5EDB43}.Release|x86.Build.0 = Release|x86
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal

View File

@@ -1,14 +0,0 @@
using System;
using SQLite;
namespace Wino.Core.Domain.Entities.Shared;
public class Thumbnail
{
[PrimaryKey]
public string Domain { get; set; }
public string Gravatar { get; set; }
public string Favicon { get; set; }
public DateTime LastUpdated { get; set; }
}

View File

@@ -170,5 +170,4 @@ public interface IAccountService
/// <param name="accountId">Account id.</param>
/// <returns>Whether the notifications should be created after sync or not.</returns>
Task<bool> IsNotificationsEnabled(Guid accountId);
Task UpdateAccountCustomServerInformationAsync(CustomServerInformation customServerInformation);
}

View File

@@ -27,5 +27,5 @@ public interface IApplicationConfiguration
/// <summary>
/// Application insights instrumentation key.
/// </summary>
string SentryDNS { get; }
string ApplicationInsightsInstrumentationKey { get; }
}

View File

@@ -22,9 +22,4 @@ public interface INotificationBuilder
/// Creates test notification for test purposes.
/// </summary>
Task CreateTestNotificationAsync(string title, string message);
/// <summary>
/// Removes the toast notification for a specific mail by unique id.
/// </summary>
void RemoveNotification(Guid mailUniqueId);
}

View File

@@ -1,12 +1,11 @@
using System;
using System.ComponentModel;
using Wino.Core.Domain.Enums;
using Wino.Core.Domain.Models.Calendar;
using Wino.Core.Domain.Models.Reader;
namespace Wino.Core.Domain.Interfaces;
public interface IPreferencesService: INotifyPropertyChanged
public interface IPreferencesService
{
/// <summary>
/// When any of the preferences are changed.
@@ -51,12 +50,6 @@ public interface IPreferencesService: INotifyPropertyChanged
/// Local search will still offer online search at the end of local search results.
/// </summary>
SearchMode DefaultSearchMode { get; set; }
/// <summary>
/// Setting: Interval in minutes for background email synchronization.
/// </summary>
int EmailSyncIntervalMinutes { get; set; }
#endregion
#region Mail
@@ -195,21 +188,6 @@ public interface IPreferencesService: INotifyPropertyChanged
/// </summary>
bool IsMailListActionBarEnabled { get; set; }
/// <summary>
/// Setting: Whether the mail rendering page will show the action labels
/// </summary>
bool IsShowActionLabelsEnabled { get; set; }
/// <summary>
/// Setting: Enable/disable Gravatar for sender avatars.
/// </summary>
bool IsGravatarEnabled { get; set; }
/// <summary>
/// Setting: Enable/disable Favicon for sender avatars.
/// </summary>
bool IsFaviconEnabled { get; set; }
#endregion
#region Calendar

View File

@@ -1,20 +0,0 @@
using System.Threading.Tasks;
namespace Wino.Core.Domain.Interfaces;
public interface IThumbnailService
{
/// <summary>
/// Clears the thumbnail cache.
/// </summary>
Task ClearCache();
/// <summary>
/// Gets thumbnail
/// </summary>
/// <param name="email">Address for thumbnail</param>
/// <param name="awaitLoad">Force to wait for thumbnail loading.
/// Should be used in non-UI threads or where delay is acceptable
/// </param>
ValueTask<string> GetThumbnailAsync(string email, bool awaitLoad = false);
}

View File

@@ -262,8 +262,6 @@
"IMAPSetupDialog_AccountType": "Тип на акаунта",
"IMAPSetupDialog_ValidationSuccess_Title": "Успешно",
"IMAPSetupDialog_ValidationSuccess_Message": "Успешно валидиране",
"IMAPSetupDialog_SaveImapSuccess_Title": "Success",
"IMAPSetupDialog_SaveImapSuccess_Message": "IMAP settings saved successfuly.",
"IMAPSetupDialog_ValidationFailed_Title": "Неуспешно валидиране на IMAP сървъра.",
"IMAPSetupDialog_CertificateAllowanceRequired_Row0": "Този сървър изисква установяване на защитена SSL връзка, за да продължи. Моля, потвърдете данните за сертификата по-долу.",
"IMAPSetupDialog_CertificateAllowanceRequired_Row1": "Разрешете защитената връзка, за да продължите да настройвате акаунта си.",
@@ -521,7 +519,7 @@
"SettingsCustomTheme_Title": "Потребителска тема",
"SettingsDeleteAccount_Description": "Изтриване на всички имейли и идентификационни данни, свързани с този акаунт.",
"SettingsDeleteAccount_Title": "Изтриване на този акаунт",
"SettingsDeleteProtection_Description": "Should Wino ask you for confirmation every time you try to permanently delete a mail using Shift + Del keys?",
"SettingsDeleteProtection_Description": "Трябва ли Wino да ви пита за потвърждение всеки път, когато се опитвате да изтриете окончателно имейл с клавишите Shift + Del?",
"SettingsDeleteProtection_Title": "Защита от окончателно изтриване",
"SettingsDiagnostics_Description": "За разработчици",
"SettingsDiagnostics_DiagnosticId_Description": "Споделете този идентификационен номер с разработчиците, когато ви помолят, за да получите помощ за проблемите, с които се сблъсквате в Wino Mail.",
@@ -625,11 +623,6 @@
"SettingsShowPreviewText_Title": "Показване визуализация на текста",
"SettingsShowSenderPictures_Description": "Скриване/показване на миниатюрите на снимките на изпращача.",
"SettingsShowSenderPictures_Title": "Показване на аватарите на подателите",
"SettingsEnableGravatarAvatars_Title": "Gravatar",
"SettingsEnableGravatarAvatars_Description": "Use gravatar (if available) as sender picture",
"SettingsEnableFavicons_Title": "Domain icons (Favicons)",
"SettingsEnableFavicons_Description": "Use domain favicons (if available) as sender picture",
"SettingsMailList_ClearAvatarsCache_Button": "Clear cached avatars",
"SettingsSignature_AddCustomSignature_Button": "Добавяне на подпис",
"SettingsSignature_AddCustomSignature_Title": "Добавяне на персонализиран подпис",
"SettingsSignature_DeleteSignature_Title": "Изтриване на подписа",
@@ -651,8 +644,6 @@
"SettingsThreads_Title": "Групиране в разговори",
"SettingsUnlinkAccounts_Description": "Премахване на връзката между акаунтите. Това няма да доведе до изтриване на акаунтите ви.",
"SettingsUnlinkAccounts_Title": "Премахване на връзката между акаунтите",
"SettingsMailRendering_ActionLabels_Title": "Action labels",
"SettingsMailRendering_ActionLabels_Description": "Show action labels.",
"SignatureDeleteDialog_Message": "Наистина ли искате да изтриете подписа „{0}“?",
"SignatureDeleteDialog_Title": "Изтриване на подписа",
"SignatureEditorDialog_SignatureName_Placeholder": "Име на вашия подпис",
@@ -698,9 +689,7 @@
"WinoUpgradeDescription": "Wino предлага 3 безплатни акаунта за начало. Ако имате нужда от повече от 3 акаунта, моля, надстройте",
"WinoUpgradeMessage": "Надграждане до неограничен брой акаунти",
"WinoUpgradeRemainingAccountsMessage": "Използвани са {0} от {1} безплатни акаунта.",
"Yesterday": "Вчера",
"SettingsAppPreferences_EmailSyncInterval_Title": "Email sync interval",
"SettingsAppPreferences_EmailSyncInterval_Description": "Automatic email synchronization interval (minutes). This setting will be applied only after restarting Wino Mail."
"Yesterday": "Вчера"
}

View File

@@ -262,8 +262,6 @@
"IMAPSetupDialog_AccountType": "Account type",
"IMAPSetupDialog_ValidationSuccess_Title": "Success",
"IMAPSetupDialog_ValidationSuccess_Message": "Validation successful",
"IMAPSetupDialog_SaveImapSuccess_Title": "Success",
"IMAPSetupDialog_SaveImapSuccess_Message": "IMAP settings saved successfuly.",
"IMAPSetupDialog_ValidationFailed_Title": "IMAP Server validation failed.",
"IMAPSetupDialog_CertificateAllowanceRequired_Row0": "This server is requesting a SSL handshake to continue. Please confirm the certificate details below.",
"IMAPSetupDialog_CertificateAllowanceRequired_Row1": "Allow the handshake to continue setting up your account.",
@@ -521,7 +519,7 @@
"SettingsCustomTheme_Title": "Custom Theme",
"SettingsDeleteAccount_Description": "Delete all e-mails and credentials associated with this account.",
"SettingsDeleteAccount_Title": "Delete this account",
"SettingsDeleteProtection_Description": "Should Wino ask you for confirmation every time you try to permanently delete a mail using Shift + Del keys?",
"SettingsDeleteProtection_Description": "Should Wino ask you for comfirmation every time you try to permanently delete a mail using Shift + Del keys?",
"SettingsDeleteProtection_Title": "Permanent Delete Protection",
"SettingsDiagnostics_Description": "For developers",
"SettingsDiagnostics_DiagnosticId_Description": "Share this ID with the developers when asked to get help for the issues you experience in Wino Mail.",
@@ -625,11 +623,6 @@
"SettingsShowPreviewText_Title": "Show Preview Text",
"SettingsShowSenderPictures_Description": "Hide/show the thumbnail sender pictures.",
"SettingsShowSenderPictures_Title": "Show Sender Avatars",
"SettingsEnableGravatarAvatars_Title": "Gravatar",
"SettingsEnableGravatarAvatars_Description": "Use gravatar (if available) as sender picture",
"SettingsEnableFavicons_Title": "Domain icons (Favicons)",
"SettingsEnableFavicons_Description": "Use domain favicons (if available) as sender picture",
"SettingsMailList_ClearAvatarsCache_Button": "Clear cached avatars",
"SettingsSignature_AddCustomSignature_Button": "Add signature",
"SettingsSignature_AddCustomSignature_Title": "Add custom signature",
"SettingsSignature_DeleteSignature_Title": "Delete signature",
@@ -651,8 +644,6 @@
"SettingsThreads_Title": "Conversation Threading",
"SettingsUnlinkAccounts_Description": "Remove the link between accounts. his will not delete your accounts.",
"SettingsUnlinkAccounts_Title": "Unlink Accounts",
"SettingsMailRendering_ActionLabels_Title": "Action labels",
"SettingsMailRendering_ActionLabels_Description": "Show action labels.",
"SignatureDeleteDialog_Message": "Are you sure you want to delete \"{0}\" signature?",
"SignatureDeleteDialog_Title": "Delete signature",
"SignatureEditorDialog_SignatureName_Placeholder": "Name your signature",
@@ -698,9 +689,7 @@
"WinoUpgradeDescription": "Wino offers 3 accounts to start with for free. If you need more than 3 accounts, please upgrade",
"WinoUpgradeMessage": "Upgrade to Unlimited Accounts",
"WinoUpgradeRemainingAccountsMessage": "{0} out of {1} free accounts used.",
"Yesterday": "Yesterday",
"SettingsAppPreferences_EmailSyncInterval_Title": "Email sync interval",
"SettingsAppPreferences_EmailSyncInterval_Description": "Automatic email synchronization interval (minutes). This setting will be applied only after restarting Wino Mail."
"Yesterday": "Yesterday"
}

View File

@@ -262,8 +262,6 @@
"IMAPSetupDialog_AccountType": "Typ účtu",
"IMAPSetupDialog_ValidationSuccess_Title": "Success",
"IMAPSetupDialog_ValidationSuccess_Message": "Validation successful",
"IMAPSetupDialog_SaveImapSuccess_Title": "Success",
"IMAPSetupDialog_SaveImapSuccess_Message": "IMAP settings saved successfuly.",
"IMAPSetupDialog_ValidationFailed_Title": "IMAP Server validation failed.",
"IMAPSetupDialog_CertificateAllowanceRequired_Row0": "This server is requesting a SSL handshake to continue. Please confirm the certificate details below.",
"IMAPSetupDialog_CertificateAllowanceRequired_Row1": "Allow the handshake to continue setting up your account.",
@@ -521,7 +519,7 @@
"SettingsCustomTheme_Title": "Vlastní motiv",
"SettingsDeleteAccount_Description": "Odstranit všechny e-maily a přihlašovací údaje spojené s tímto účtem.",
"SettingsDeleteAccount_Title": "Smazat tento účet",
"SettingsDeleteProtection_Description": "Should Wino ask you for confirmation every time you try to permanently delete a mail using Shift + Del keys?",
"SettingsDeleteProtection_Description": "Měl by vás Wino požádat o potvrzení pokaždé, když se pokoušíte trvale smazat e-mail pomocí kláves Shift + Del?",
"SettingsDeleteProtection_Title": "Ochrana proti trvalému smazání",
"SettingsDiagnostics_Description": "Pro vývojáře",
"SettingsDiagnostics_DiagnosticId_Description": "Share this ID with the developers when asked to get help for the issues you experience in Wino Mail.",
@@ -625,11 +623,6 @@
"SettingsShowPreviewText_Title": "Zobrazit náhled textu",
"SettingsShowSenderPictures_Description": "Skrýt/zobrazit náhled obrázku odesílatele.",
"SettingsShowSenderPictures_Title": "Zobrazit avatary odesílatele",
"SettingsEnableGravatarAvatars_Title": "Gravatar",
"SettingsEnableGravatarAvatars_Description": "Use gravatar (if available) as sender picture",
"SettingsEnableFavicons_Title": "Domain icons (Favicons)",
"SettingsEnableFavicons_Description": "Use domain favicons (if available) as sender picture",
"SettingsMailList_ClearAvatarsCache_Button": "Clear cached avatars",
"SettingsSignature_AddCustomSignature_Button": "Add signature",
"SettingsSignature_AddCustomSignature_Title": "Add custom signature",
"SettingsSignature_DeleteSignature_Title": "Delete signature",
@@ -651,8 +644,6 @@
"SettingsThreads_Title": "Vlákna konverzací",
"SettingsUnlinkAccounts_Description": "Remove the link between accounts. his will not delete your accounts.",
"SettingsUnlinkAccounts_Title": "Rozpojit účty",
"SettingsMailRendering_ActionLabels_Title": "Action labels",
"SettingsMailRendering_ActionLabels_Description": "Show action labels.",
"SignatureDeleteDialog_Message": "Are you sure you want to delete \"{0}\" signature?",
"SignatureDeleteDialog_Title": "Delete signature",
"SignatureEditorDialog_SignatureName_Placeholder": "Name your signature",
@@ -698,9 +689,7 @@
"WinoUpgradeDescription": "Wino nabízí 3 účty zdarma. Pokud potřebujete více než 3 účty, upgradujte prosím.",
"WinoUpgradeMessage": "Přejít na neomezený počet účtů",
"WinoUpgradeRemainingAccountsMessage": "{0} z {1} použitých bezplatných účtů.",
"Yesterday": "Včera",
"SettingsAppPreferences_EmailSyncInterval_Title": "Email sync interval",
"SettingsAppPreferences_EmailSyncInterval_Description": "Automatic email synchronization interval (minutes). This setting will be applied only after restarting Wino Mail."
"Yesterday": "Včera"
}

View File

@@ -262,8 +262,6 @@
"IMAPSetupDialog_AccountType": "Account type",
"IMAPSetupDialog_ValidationSuccess_Title": "Success",
"IMAPSetupDialog_ValidationSuccess_Message": "Validation successful",
"IMAPSetupDialog_SaveImapSuccess_Title": "Success",
"IMAPSetupDialog_SaveImapSuccess_Message": "IMAP settings saved successfuly.",
"IMAPSetupDialog_ValidationFailed_Title": "IMAP Server validation failed.",
"IMAPSetupDialog_CertificateAllowanceRequired_Row0": "This server is requesting a SSL handshake to continue. Please confirm the certificate details below.",
"IMAPSetupDialog_CertificateAllowanceRequired_Row1": "Allow the handshake to continue setting up your account.",
@@ -521,7 +519,7 @@
"SettingsCustomTheme_Title": "Custom Theme",
"SettingsDeleteAccount_Description": "Delete all e-mails and credentials associated with this account.",
"SettingsDeleteAccount_Title": "Delete this account",
"SettingsDeleteProtection_Description": "Should Wino ask you for confirmation every time you try to permanently delete a mail using Shift + Del keys?",
"SettingsDeleteProtection_Description": "Should Wino ask you for comfirmation every time you try to permanently delete a mail using Shift + Del keys?",
"SettingsDeleteProtection_Title": "Permanent Delete Protection",
"SettingsDiagnostics_Description": "For developers",
"SettingsDiagnostics_DiagnosticId_Description": "Share this ID with the developers when asked to get help for the issues you experience in Wino Mail.",
@@ -625,11 +623,6 @@
"SettingsShowPreviewText_Title": "Show Preview Text",
"SettingsShowSenderPictures_Description": "Hide/show the thumbnail sender pictures.",
"SettingsShowSenderPictures_Title": "Show Sender Avatars",
"SettingsEnableGravatarAvatars_Title": "Gravatar",
"SettingsEnableGravatarAvatars_Description": "Use gravatar (if available) as sender picture",
"SettingsEnableFavicons_Title": "Domain icons (Favicons)",
"SettingsEnableFavicons_Description": "Use domain favicons (if available) as sender picture",
"SettingsMailList_ClearAvatarsCache_Button": "Clear cached avatars",
"SettingsSignature_AddCustomSignature_Button": "Add signature",
"SettingsSignature_AddCustomSignature_Title": "Add custom signature",
"SettingsSignature_DeleteSignature_Title": "Delete signature",
@@ -651,8 +644,6 @@
"SettingsThreads_Title": "Conversation Threading",
"SettingsUnlinkAccounts_Description": "Remove the link between accounts. his will not delete your accounts.",
"SettingsUnlinkAccounts_Title": "Unlink Accounts",
"SettingsMailRendering_ActionLabels_Title": "Action labels",
"SettingsMailRendering_ActionLabels_Description": "Show action labels.",
"SignatureDeleteDialog_Message": "Are you sure you want to delete \"{0}\" signature?",
"SignatureDeleteDialog_Title": "Delete signature",
"SignatureEditorDialog_SignatureName_Placeholder": "Name your signature",
@@ -698,9 +689,7 @@
"WinoUpgradeDescription": "Wino offers 3 accounts to start with for free. If you need more than 3 accounts, please upgrade",
"WinoUpgradeMessage": "Upgrade to Unlimited Accounts",
"WinoUpgradeRemainingAccountsMessage": "{0} out of {1} free accounts used.",
"Yesterday": "Yesterday",
"SettingsAppPreferences_EmailSyncInterval_Title": "Email sync interval",
"SettingsAppPreferences_EmailSyncInterval_Description": "Automatic email synchronization interval (minutes). This setting will be applied only after restarting Wino Mail."
"Yesterday": "Yesterday"
}

View File

@@ -262,8 +262,6 @@
"IMAPSetupDialog_AccountType": "Kontotyp",
"IMAPSetupDialog_ValidationSuccess_Title": "Erfolgreich",
"IMAPSetupDialog_ValidationSuccess_Message": "Validierung erfolgreich",
"IMAPSetupDialog_SaveImapSuccess_Title": "Erfolg",
"IMAPSetupDialog_SaveImapSuccess_Message": "IMAP-Einstellungen erfolgreich gespeichert.",
"IMAPSetupDialog_ValidationFailed_Title": "IMAP-Server-Validierung fehlgeschlagen.",
"IMAPSetupDialog_CertificateAllowanceRequired_Row0": "Dieser Server fordert einen SSL-Handshake an, um fortzufahren. Bitte bestätigen Sie die Details des Zertifikats unten.",
"IMAPSetupDialog_CertificateAllowanceRequired_Row1": "Erlaube dem Handshake, die Einrichtung deines Kontos fortzusetzen.",
@@ -625,11 +623,6 @@
"SettingsShowPreviewText_Title": "Vorschautext anzeigen",
"SettingsShowSenderPictures_Description": "Absender-Profilbilder ausblenden/anzeigen.",
"SettingsShowSenderPictures_Title": "Absender-Profilbilder anzeigen",
"SettingsEnableGravatarAvatars_Title": "Gravatar",
"SettingsEnableGravatarAvatars_Description": "Gravatar (falls verfügbar) als Absenderbild verwenden",
"SettingsEnableFavicons_Title": "Domain-Icons (Favicons)",
"SettingsEnableFavicons_Description": "Domain-Favicons (falls verfügbar) als Absenderbild verwenden",
"SettingsMailList_ClearAvatarsCache_Button": "Lösche Avatare im Cache",
"SettingsSignature_AddCustomSignature_Button": "Signatur hinzufügen",
"SettingsSignature_AddCustomSignature_Title": "Eigene Signatur hinzufügen",
"SettingsSignature_DeleteSignature_Title": "Signatur löschen",
@@ -651,8 +644,6 @@
"SettingsThreads_Title": "Unterhaltungsthreading",
"SettingsUnlinkAccounts_Description": "Entfernen Sie den Link zwischen den Konten. Dies wird Ihre Konten nicht löschen.",
"SettingsUnlinkAccounts_Title": "Konten trennen",
"SettingsMailRendering_ActionLabels_Title": "Aktions-Labels",
"SettingsMailRendering_ActionLabels_Description": "Zeige Aktions-Labels.",
"SignatureDeleteDialog_Message": "Wollen Sie Signatur \"{0}\" wirklich löschen?",
"SignatureDeleteDialog_Title": "Signatur löschen",
"SignatureEditorDialog_SignatureName_Placeholder": "Fügen Sie Ihre Signatur ein",
@@ -698,9 +689,7 @@
"WinoUpgradeDescription": "Wino bietet 3 Accounts zum kostenlosen Start an. Wenn Sie mehr als 3 Accounts benötigen, upgraden Sie bitte.",
"WinoUpgradeMessage": "Auf unbegrenzte Konten upgraden",
"WinoUpgradeRemainingAccountsMessage": "{0} von {1} kostenlosen Konten verwendet.",
"Yesterday": "Gestern",
"SettingsAppPreferences_EmailSyncInterval_Title": "Intervall für E-Mail-Synchronisierung",
"SettingsAppPreferences_EmailSyncInterval_Description": "Intervall für die automatisches E-Mail-Synchronisierung (Minuten). Diese Einstellung wird erst nach einem Neustart von Wino Mail angewendet."
"Yesterday": "Gestern"
}

View File

@@ -262,8 +262,6 @@
"IMAPSetupDialog_AccountType": "Τύπος λογαριασμού",
"IMAPSetupDialog_ValidationSuccess_Title": "Επιτυχία",
"IMAPSetupDialog_ValidationSuccess_Message": "Επιτυχής επικύρωση",
"IMAPSetupDialog_SaveImapSuccess_Title": "Success",
"IMAPSetupDialog_SaveImapSuccess_Message": "IMAP settings saved successfuly.",
"IMAPSetupDialog_ValidationFailed_Title": "Αποτυχία επικύρωσης διακομιστή IMAP.",
"IMAPSetupDialog_CertificateAllowanceRequired_Row0": "Αυτός ο διακομιστής ζητά μια χειραψία SSL για να συνεχίσει. Παρακαλώ επιβεβαιώστε τις λεπτομέρειες του πιστοποιητικού παρακάτω.",
"IMAPSetupDialog_CertificateAllowanceRequired_Row1": "Επιτρέψτε στην χειραψία να συνεχίσει τη ρύθμιση του λογαριασμού σας.",
@@ -521,7 +519,7 @@
"SettingsCustomTheme_Title": "Προσαρμοσμένο Θέμα",
"SettingsDeleteAccount_Description": "Διαγραφή όλων των e-mails και διαπιστευτηρίων που σχετίζονται με αυτόν τον λογαριασμό.",
"SettingsDeleteAccount_Title": "Διαγραφή αυτού του λογαριασμού",
"SettingsDeleteProtection_Description": "Should Wino ask you for confirmation every time you try to permanently delete a mail using Shift + Del keys?",
"SettingsDeleteProtection_Description": "Πρέπει να Wino ζητήσει την επιβεβαίωση κάθε φορά που προσπαθείτε να διαγράψετε μόνιμα ένα μήνυμα χρησιμοποιώντας το Shift + Del;",
"SettingsDeleteProtection_Title": "Προστασία Μόνιμης Διαγραφής",
"SettingsDiagnostics_Description": "Για προγραμματιστές",
"SettingsDiagnostics_DiagnosticId_Description": "Μοιραστείτε αυτό το ID με τους προγραμματιστές όταν σας ζητηθεί να λάβετε βοήθεια για τα θέματα που αντιμετωπίζετε στο Wino Mail.",
@@ -625,11 +623,6 @@
"SettingsShowPreviewText_Title": "Εμφάνιση Κειμένου Προεπισκόπησης",
"SettingsShowSenderPictures_Description": "Απόκρυψη/εμφάνιση της μικρογραφίας του αποστολέα.",
"SettingsShowSenderPictures_Title": "Εμφάνιση Avatars Αποστολέα",
"SettingsEnableGravatarAvatars_Title": "Gravatar",
"SettingsEnableGravatarAvatars_Description": "Use gravatar (if available) as sender picture",
"SettingsEnableFavicons_Title": "Domain icons (Favicons)",
"SettingsEnableFavicons_Description": "Use domain favicons (if available) as sender picture",
"SettingsMailList_ClearAvatarsCache_Button": "Clear cached avatars",
"SettingsSignature_AddCustomSignature_Button": "Προσθήκη υπογραφής",
"SettingsSignature_AddCustomSignature_Title": "Προσθήκη προσαρμοσμένης υπογραφής",
"SettingsSignature_DeleteSignature_Title": "Διαγραφή υπογραφής",
@@ -651,8 +644,6 @@
"SettingsThreads_Title": "Νηματοποίηση Συζήτησης",
"SettingsUnlinkAccounts_Description": "Αφαιρέστε τη σύνδεση μεταξύ των λογαριασμών. Δε θα διαγράψει τους λογαριασμούς σας.",
"SettingsUnlinkAccounts_Title": "Αποδέσμευση Λογαριασμών",
"SettingsMailRendering_ActionLabels_Title": "Action labels",
"SettingsMailRendering_ActionLabels_Description": "Show action labels.",
"SignatureDeleteDialog_Message": "Σίγουρα θέλετε να διαγράψετε την υπογραφή \"{0}\";",
"SignatureDeleteDialog_Title": "Διαγραφή υπογραφής",
"SignatureEditorDialog_SignatureName_Placeholder": "Ονομάστε την υπογραφή σας",
@@ -698,9 +689,7 @@
"WinoUpgradeDescription": "Το Wino προσφέρει 3 λογαριασμούς για να ξεκινήσετε δωρεάν. Εάν χρειάζεστε περισσότερους από 3, παρακαλώ αναβαθμίστε",
"WinoUpgradeMessage": "Αναβάθμιση σε Απεριόριστους Λογαριασμούς",
"WinoUpgradeRemainingAccountsMessage": "Χρησιμοποιούνται {0} από τους {1} δωρεάν λογαριασμούς.",
"Yesterday": "Χθες",
"SettingsAppPreferences_EmailSyncInterval_Title": "Email sync interval",
"SettingsAppPreferences_EmailSyncInterval_Description": "Automatic email synchronization interval (minutes). This setting will be applied only after restarting Wino Mail."
"Yesterday": "Χθες"
}

View File

@@ -262,8 +262,6 @@
"IMAPSetupDialog_AccountType": "Account type",
"IMAPSetupDialog_ValidationSuccess_Title": "Success",
"IMAPSetupDialog_ValidationSuccess_Message": "Validation successful",
"IMAPSetupDialog_SaveImapSuccess_Title": "Success",
"IMAPSetupDialog_SaveImapSuccess_Message": "IMAP settings saved successfuly.",
"IMAPSetupDialog_ValidationFailed_Title": "IMAP Server validation failed.",
"IMAPSetupDialog_CertificateAllowanceRequired_Row0": "This server is requesting a SSL handshake to continue. Please confirm the certificate details below.",
"IMAPSetupDialog_CertificateAllowanceRequired_Row1": "Allow the handshake to continue setting up your account.",
@@ -521,7 +519,7 @@
"SettingsCustomTheme_Title": "Custom Theme",
"SettingsDeleteAccount_Description": "Delete all e-mails and credentials associated with this account.",
"SettingsDeleteAccount_Title": "Delete this account",
"SettingsDeleteProtection_Description": "Should Wino ask you for confirmation every time you try to permanently delete a mail using Shift + Del keys?",
"SettingsDeleteProtection_Description": "Should Wino ask you for comfirmation every time you try to permanently delete a mail using Shift + Del keys?",
"SettingsDeleteProtection_Title": "Permanent Delete Protection",
"SettingsDiagnostics_Description": "For developers",
"SettingsDiagnostics_DiagnosticId_Description": "Share this ID with the developers when asked to get help for the issues you experience in Wino Mail.",
@@ -625,11 +623,6 @@
"SettingsShowPreviewText_Title": "Show Preview Text",
"SettingsShowSenderPictures_Description": "Hide/show the thumbnail sender pictures.",
"SettingsShowSenderPictures_Title": "Show Sender Avatars",
"SettingsEnableGravatarAvatars_Title": "Gravatar",
"SettingsEnableGravatarAvatars_Description": "Use gravatar (if available) as sender picture",
"SettingsEnableFavicons_Title": "Domain icons (Favicons)",
"SettingsEnableFavicons_Description": "Use domain favicons (if available) as sender picture",
"SettingsMailList_ClearAvatarsCache_Button": "Clear cached avatars",
"SettingsSignature_AddCustomSignature_Button": "Add signature",
"SettingsSignature_AddCustomSignature_Title": "Add custom signature",
"SettingsSignature_DeleteSignature_Title": "Delete signature",
@@ -651,8 +644,6 @@
"SettingsThreads_Title": "Conversation Threading",
"SettingsUnlinkAccounts_Description": "Remove the link between accounts. his will not delete your accounts.",
"SettingsUnlinkAccounts_Title": "Unlink Accounts",
"SettingsMailRendering_ActionLabels_Title": "Action labels",
"SettingsMailRendering_ActionLabels_Description": "Show action labels.",
"SignatureDeleteDialog_Message": "Are you sure you want to delete \"{0}\" signature?",
"SignatureDeleteDialog_Title": "Delete signature",
"SignatureEditorDialog_SignatureName_Placeholder": "Name your signature",
@@ -698,9 +689,7 @@
"WinoUpgradeDescription": "Wino offers 3 accounts to start with for free. If you need more than 3 accounts, please upgrade",
"WinoUpgradeMessage": "Upgrade to Unlimited Accounts",
"WinoUpgradeRemainingAccountsMessage": "{0} out of {1} free accounts used.",
"Yesterday": "Yesterday",
"SettingsAppPreferences_EmailSyncInterval_Title": "Email sync interval",
"SettingsAppPreferences_EmailSyncInterval_Description": "Automatic email synchronization interval (minutes). This setting will be applied only after restarting Wino Mail."
"Yesterday": "Yesterday"
}

View File

@@ -262,8 +262,6 @@
"IMAPSetupDialog_AccountType": "Tipo de cuenta",
"IMAPSetupDialog_ValidationSuccess_Title": "Correcto",
"IMAPSetupDialog_ValidationSuccess_Message": "Validación correcta",
"IMAPSetupDialog_SaveImapSuccess_Title": "Correcto",
"IMAPSetupDialog_SaveImapSuccess_Message": "Ajustes IMAP guardados con éxito.",
"IMAPSetupDialog_ValidationFailed_Title": "La validación del servidor IMAP falló.",
"IMAPSetupDialog_CertificateAllowanceRequired_Row0": "El servidor requiere un protocolo de enlace SSL para continuar. Confirma los detalles del certificado a continuación.",
"IMAPSetupDialog_CertificateAllowanceRequired_Row1": "Permite el protocolo de enlace para continuar configurando tu cuenta.",
@@ -625,11 +623,6 @@
"SettingsShowPreviewText_Title": "Mostrar texto de vista previa",
"SettingsShowSenderPictures_Description": "Ocultar/mostrar imágenes del remitente en miniatura.",
"SettingsShowSenderPictures_Title": "Mostrar Avatares de Remitente",
"SettingsEnableGravatarAvatars_Title": "Gravatar",
"SettingsEnableGravatarAvatars_Description": "Usar gravatar (si está disponible) como imagen del remitente",
"SettingsEnableFavicons_Title": "Iconos de dominio (Faviconos)",
"SettingsEnableFavicons_Description": "Usar favicons de dominio (si está disponible) como imagen del remitente",
"SettingsMailList_ClearAvatarsCache_Button": "Limpiar avatares en caché",
"SettingsSignature_AddCustomSignature_Button": "Añadir firma",
"SettingsSignature_AddCustomSignature_Title": "Añadir firma personalizada",
"SettingsSignature_DeleteSignature_Title": "Eliminar firma",
@@ -651,8 +644,6 @@
"SettingsThreads_Title": "Hilos de conversación",
"SettingsUnlinkAccounts_Description": "Eliminar el enlace entre cuentas. No eliminará sus cuentas.",
"SettingsUnlinkAccounts_Title": "Desvincular Cuentas",
"SettingsMailRendering_ActionLabels_Title": "Etiquetas de acción",
"SettingsMailRendering_ActionLabels_Description": "Mostrar etiquetas de acción.",
"SignatureDeleteDialog_Message": "¿Seguro que quieres eliminar la firma \"{0}\"?",
"SignatureDeleteDialog_Title": "Eliminar firma",
"SignatureEditorDialog_SignatureName_Placeholder": "Ponle un nombre a tu firma",
@@ -698,9 +689,7 @@
"WinoUpgradeDescription": "Wino ofrece 3 cuentas para empezar gratis. Si necesitas más de 3 cuentas por favor actualiza",
"WinoUpgradeMessage": "Actualizar a Cuentas Ilimitadas",
"WinoUpgradeRemainingAccountsMessage": "{0} de {1} cuentas gratuitas usadas.",
"Yesterday": "Ayer",
"SettingsAppPreferences_EmailSyncInterval_Title": "Email sync interval",
"SettingsAppPreferences_EmailSyncInterval_Description": "Automatic email synchronization interval (minutes). This setting will be applied only after restarting Wino Mail."
"Yesterday": "Ayer"
}

View File

@@ -262,8 +262,6 @@
"IMAPSetupDialog_AccountType": "Account type",
"IMAPSetupDialog_ValidationSuccess_Title": "Success",
"IMAPSetupDialog_ValidationSuccess_Message": "Validation successful",
"IMAPSetupDialog_SaveImapSuccess_Title": "Success",
"IMAPSetupDialog_SaveImapSuccess_Message": "IMAP settings saved successfuly.",
"IMAPSetupDialog_ValidationFailed_Title": "IMAP Server validation failed.",
"IMAPSetupDialog_CertificateAllowanceRequired_Row0": "This server is requesting a SSL handshake to continue. Please confirm the certificate details below.",
"IMAPSetupDialog_CertificateAllowanceRequired_Row1": "Allow the handshake to continue setting up your account.",
@@ -521,7 +519,7 @@
"SettingsCustomTheme_Title": "Custom Theme",
"SettingsDeleteAccount_Description": "Delete all e-mails and credentials associated with this account.",
"SettingsDeleteAccount_Title": "Delete this account",
"SettingsDeleteProtection_Description": "Should Wino ask you for confirmation every time you try to permanently delete a mail using Shift + Del keys?",
"SettingsDeleteProtection_Description": "Should Wino ask you for comfirmation every time you try to permanently delete a mail using Shift + Del keys?",
"SettingsDeleteProtection_Title": "Permanent Delete Protection",
"SettingsDiagnostics_Description": "For developers",
"SettingsDiagnostics_DiagnosticId_Description": "Share this ID with the developers when asked to get help for the issues you experience in Wino Mail.",
@@ -625,11 +623,6 @@
"SettingsShowPreviewText_Title": "Show Preview Text",
"SettingsShowSenderPictures_Description": "Hide/show the thumbnail sender pictures.",
"SettingsShowSenderPictures_Title": "Show Sender Avatars",
"SettingsEnableGravatarAvatars_Title": "Gravatar",
"SettingsEnableGravatarAvatars_Description": "Use gravatar (if available) as sender picture",
"SettingsEnableFavicons_Title": "Domain icons (Favicons)",
"SettingsEnableFavicons_Description": "Use domain favicons (if available) as sender picture",
"SettingsMailList_ClearAvatarsCache_Button": "Clear cached avatars",
"SettingsSignature_AddCustomSignature_Button": "Add signature",
"SettingsSignature_AddCustomSignature_Title": "Add custom signature",
"SettingsSignature_DeleteSignature_Title": "Delete signature",
@@ -651,8 +644,6 @@
"SettingsThreads_Title": "Conversation Threading",
"SettingsUnlinkAccounts_Description": "Remove the link between accounts. his will not delete your accounts.",
"SettingsUnlinkAccounts_Title": "Unlink Accounts",
"SettingsMailRendering_ActionLabels_Title": "Action labels",
"SettingsMailRendering_ActionLabels_Description": "Show action labels.",
"SignatureDeleteDialog_Message": "Are you sure you want to delete \"{0}\" signature?",
"SignatureDeleteDialog_Title": "Delete signature",
"SignatureEditorDialog_SignatureName_Placeholder": "Name your signature",
@@ -698,9 +689,7 @@
"WinoUpgradeDescription": "Wino offers 3 accounts to start with for free. If you need more than 3 accounts, please upgrade",
"WinoUpgradeMessage": "Upgrade to Unlimited Accounts",
"WinoUpgradeRemainingAccountsMessage": "{0} out of {1} free accounts used.",
"Yesterday": "Yesterday",
"SettingsAppPreferences_EmailSyncInterval_Title": "Email sync interval",
"SettingsAppPreferences_EmailSyncInterval_Description": "Automatic email synchronization interval (minutes). This setting will be applied only after restarting Wino Mail."
"Yesterday": "Yesterday"
}

View File

@@ -262,8 +262,6 @@
"IMAPSetupDialog_AccountType": "Type de compte",
"IMAPSetupDialog_ValidationSuccess_Title": "Opération réussie",
"IMAPSetupDialog_ValidationSuccess_Message": "Validation réussie",
"IMAPSetupDialog_SaveImapSuccess_Title": "Success",
"IMAPSetupDialog_SaveImapSuccess_Message": "IMAP settings saved successfuly.",
"IMAPSetupDialog_ValidationFailed_Title": "Échec de la validation du serveur IMAP.",
"IMAPSetupDialog_CertificateAllowanceRequired_Row0": "Ce serveur demande une liaison SSL pour continuer. Veuillez confirmer les détails du certificat ci-dessous.",
"IMAPSetupDialog_CertificateAllowanceRequired_Row1": "Autorisez la négociation SSL à continuer à configurer votre compte.",
@@ -521,7 +519,7 @@
"SettingsCustomTheme_Title": "Thème personnalisé",
"SettingsDeleteAccount_Description": "Supprimer tous les e-mails et identifiants associés à ce compte.",
"SettingsDeleteAccount_Title": "Supprimer ce compte",
"SettingsDeleteProtection_Description": "Should Wino ask you for confirmation every time you try to permanently delete a mail using Shift + Del keys?",
"SettingsDeleteProtection_Description": "Wino devrait-il vous demander une confirmation chaque fois que vous essayez de supprimer définitivement un mail en utilisant les touches Maj + Suppr ?",
"SettingsDeleteProtection_Title": "Protection contre la suppression permanente",
"SettingsDiagnostics_Description": "Pour les développeurs",
"SettingsDiagnostics_DiagnosticId_Description": "Partagez cet identifiant avec les développeurs lorsqu'ils vous aideront à résoudre les problèmes que vous rencontrez dans Wino Mail.",
@@ -625,11 +623,6 @@
"SettingsShowPreviewText_Title": "Afficher l'aperçu du texte",
"SettingsShowSenderPictures_Description": "Masquer/afficher les vignettes des images de l'expéditeur.",
"SettingsShowSenderPictures_Title": "Afficher l'avatar de l'expéditeur",
"SettingsEnableGravatarAvatars_Title": "Gravatar",
"SettingsEnableGravatarAvatars_Description": "Use gravatar (if available) as sender picture",
"SettingsEnableFavicons_Title": "Domain icons (Favicons)",
"SettingsEnableFavicons_Description": "Use domain favicons (if available) as sender picture",
"SettingsMailList_ClearAvatarsCache_Button": "Clear cached avatars",
"SettingsSignature_AddCustomSignature_Button": "Ajouter une signature",
"SettingsSignature_AddCustomSignature_Title": "Ajouter une signature personnalisée",
"SettingsSignature_DeleteSignature_Title": "Supprimer la signature",
@@ -651,8 +644,6 @@
"SettingsThreads_Title": "Affichage en mode conversation",
"SettingsUnlinkAccounts_Description": "Supprimer le lien entre les comptes. Cela ne supprimera pas vos comptes.",
"SettingsUnlinkAccounts_Title": "Dissocier les comptes",
"SettingsMailRendering_ActionLabels_Title": "Action labels",
"SettingsMailRendering_ActionLabels_Description": "Show action labels.",
"SignatureDeleteDialog_Message": "Êtes-vous sûr de vouloir supprimer la signature « {0} » ?",
"SignatureDeleteDialog_Title": "Supprimer la signature",
"SignatureEditorDialog_SignatureName_Placeholder": "Nom de la signature",
@@ -698,9 +689,7 @@
"WinoUpgradeDescription": "Wino offre 3 comptes gratuits pour commencer. Si vous avez besoin de plus de 3 comptes, veuillez passer à la version supérieure",
"WinoUpgradeMessage": "Mettre à niveau vers des comptes illimités",
"WinoUpgradeRemainingAccountsMessage": "{0} comptes gratuits utilisés sur {1}.",
"Yesterday": "Hier",
"SettingsAppPreferences_EmailSyncInterval_Title": "Email sync interval",
"SettingsAppPreferences_EmailSyncInterval_Description": "Automatic email synchronization interval (minutes). This setting will be applied only after restarting Wino Mail."
"Yesterday": "Hier"
}

View File

@@ -262,8 +262,6 @@
"IMAPSetupDialog_AccountType": "Tipo de conta",
"IMAPSetupDialog_ValidationSuccess_Title": "Success",
"IMAPSetupDialog_ValidationSuccess_Message": "Validation successful",
"IMAPSetupDialog_SaveImapSuccess_Title": "Success",
"IMAPSetupDialog_SaveImapSuccess_Message": "IMAP settings saved successfuly.",
"IMAPSetupDialog_ValidationFailed_Title": "IMAP Server validation failed.",
"IMAPSetupDialog_CertificateAllowanceRequired_Row0": "This server is requesting a SSL handshake to continue. Please confirm the certificate details below.",
"IMAPSetupDialog_CertificateAllowanceRequired_Row1": "Allow the handshake to continue setting up your account.",
@@ -521,7 +519,7 @@
"SettingsCustomTheme_Title": "Custom Theme",
"SettingsDeleteAccount_Description": "Delete all e-mails and credentials associated with this account.",
"SettingsDeleteAccount_Title": "Delete this account",
"SettingsDeleteProtection_Description": "Should Wino ask you for confirmation every time you try to permanently delete a mail using Shift + Del keys?",
"SettingsDeleteProtection_Description": "Should Wino ask you for comfirmation every time you try to permanently delete a mail using Shift + Del keys?",
"SettingsDeleteProtection_Title": "Permanent Delete Protection",
"SettingsDiagnostics_Description": "For developers",
"SettingsDiagnostics_DiagnosticId_Description": "Share this ID with the developers when asked to get help for the issues you experience in Wino Mail.",
@@ -625,11 +623,6 @@
"SettingsShowPreviewText_Title": "Show Preview Text",
"SettingsShowSenderPictures_Description": "Hide/show the thumbnail sender pictures.",
"SettingsShowSenderPictures_Title": "Show Sender Avatars",
"SettingsEnableGravatarAvatars_Title": "Gravatar",
"SettingsEnableGravatarAvatars_Description": "Use gravatar (if available) as sender picture",
"SettingsEnableFavicons_Title": "Domain icons (Favicons)",
"SettingsEnableFavicons_Description": "Use domain favicons (if available) as sender picture",
"SettingsMailList_ClearAvatarsCache_Button": "Clear cached avatars",
"SettingsSignature_AddCustomSignature_Button": "Add signature",
"SettingsSignature_AddCustomSignature_Title": "Add custom signature",
"SettingsSignature_DeleteSignature_Title": "Delete signature",
@@ -651,8 +644,6 @@
"SettingsThreads_Title": "Conversation Threading",
"SettingsUnlinkAccounts_Description": "Remove the link between accounts. his will not delete your accounts.",
"SettingsUnlinkAccounts_Title": "Unlink Accounts",
"SettingsMailRendering_ActionLabels_Title": "Action labels",
"SettingsMailRendering_ActionLabels_Description": "Show action labels.",
"SignatureDeleteDialog_Message": "Are you sure you want to delete \"{0}\" signature?",
"SignatureDeleteDialog_Title": "Delete signature",
"SignatureEditorDialog_SignatureName_Placeholder": "Name your signature",
@@ -698,9 +689,7 @@
"WinoUpgradeDescription": "Wino offers 3 accounts to start with for free. If you need more than 3 accounts, please upgrade",
"WinoUpgradeMessage": "Upgrade to Unlimited Accounts",
"WinoUpgradeRemainingAccountsMessage": "{0} out of {1} free accounts used.",
"Yesterday": "Yesterday",
"SettingsAppPreferences_EmailSyncInterval_Title": "Email sync interval",
"SettingsAppPreferences_EmailSyncInterval_Description": "Automatic email synchronization interval (minutes). This setting will be applied only after restarting Wino Mail."
"Yesterday": "Yesterday"
}

View File

@@ -262,8 +262,6 @@
"IMAPSetupDialog_AccountType": "Jenis akun",
"IMAPSetupDialog_ValidationSuccess_Title": "Success",
"IMAPSetupDialog_ValidationSuccess_Message": "Validation successful",
"IMAPSetupDialog_SaveImapSuccess_Title": "Success",
"IMAPSetupDialog_SaveImapSuccess_Message": "IMAP settings saved successfuly.",
"IMAPSetupDialog_ValidationFailed_Title": "IMAP Server validation failed.",
"IMAPSetupDialog_CertificateAllowanceRequired_Row0": "Peladen ini meminta pertukaran SSL untuk melanjutkan. Mohon pastikan rincian sertifikat di bawah ini.",
"IMAPSetupDialog_CertificateAllowanceRequired_Row1": "Izinkan pertukaran untuk melanjutkan mengatur akun Anda.",
@@ -521,7 +519,7 @@
"SettingsCustomTheme_Title": "Tema Khusus",
"SettingsDeleteAccount_Description": "Hapus semua surel dan informasi tentang akun ini.",
"SettingsDeleteAccount_Title": "Hapus akun ini",
"SettingsDeleteProtection_Description": "Should Wino ask you for confirmation every time you try to permanently delete a mail using Shift + Del keys?",
"SettingsDeleteProtection_Description": "Haruskan Wino meminta persetujuan Anda setiap kali Anda menghapus permanen surel dengan tombol Shift + Del?",
"SettingsDeleteProtection_Title": "Perlindungan Hapus Permanen",
"SettingsDiagnostics_Description": "Untuk pengembang",
"SettingsDiagnostics_DiagnosticId_Description": "Share this ID with the developers when asked to get help for the issues you experience in Wino Mail.",
@@ -625,11 +623,6 @@
"SettingsShowPreviewText_Title": "Tampilkan Teks Pratinjau",
"SettingsShowSenderPictures_Description": "Sembunyikan/tampilkan foto pengirim.",
"SettingsShowSenderPictures_Title": "Tampilkan Foto Pengirim",
"SettingsEnableGravatarAvatars_Title": "Gravatar",
"SettingsEnableGravatarAvatars_Description": "Use gravatar (if available) as sender picture",
"SettingsEnableFavicons_Title": "Domain icons (Favicons)",
"SettingsEnableFavicons_Description": "Use domain favicons (if available) as sender picture",
"SettingsMailList_ClearAvatarsCache_Button": "Clear cached avatars",
"SettingsSignature_AddCustomSignature_Button": "Tambah tanda tangan",
"SettingsSignature_AddCustomSignature_Title": "Tambahkan tanda tangan khusus",
"SettingsSignature_DeleteSignature_Title": "Hapus tanda tangan",
@@ -651,8 +644,6 @@
"SettingsThreads_Title": "Utas Percakapan",
"SettingsUnlinkAccounts_Description": "Hapus tautan antara akun. Ini tidak akan menghapus akun Anda.",
"SettingsUnlinkAccounts_Title": "Lepaskan Tautan Akun",
"SettingsMailRendering_ActionLabels_Title": "Action labels",
"SettingsMailRendering_ActionLabels_Description": "Show action labels.",
"SignatureDeleteDialog_Message": "Apakah Anda yakin ingin menghapus tanda tangan \"{0}\"?",
"SignatureDeleteDialog_Title": "Hapus tanda tangan",
"SignatureEditorDialog_SignatureName_Placeholder": "Beri nama tanda tangan",
@@ -698,9 +689,7 @@
"WinoUpgradeDescription": "Wino menawarkan 3 akun secara gratis. Jika Anda membutuhkan lebih dari 3 akun, mohon tingkatkan.",
"WinoUpgradeMessage": "Tingkatkan ke Akun Tak Terbatas",
"WinoUpgradeRemainingAccountsMessage": "{0} dari {1} akun gratis digunakan.",
"Yesterday": "Kemarin",
"SettingsAppPreferences_EmailSyncInterval_Title": "Email sync interval",
"SettingsAppPreferences_EmailSyncInterval_Description": "Automatic email synchronization interval (minutes). This setting will be applied only after restarting Wino Mail."
"Yesterday": "Kemarin"
}

View File

@@ -262,8 +262,6 @@
"IMAPSetupDialog_AccountType": "Tipo di account",
"IMAPSetupDialog_ValidationSuccess_Title": "Riuscito",
"IMAPSetupDialog_ValidationSuccess_Message": "Convalida riuscita",
"IMAPSetupDialog_SaveImapSuccess_Title": "Riuscito",
"IMAPSetupDialog_SaveImapSuccess_Message": "Impostazioni IMAP salvate correttamente.",
"IMAPSetupDialog_ValidationFailed_Title": "Convalida server IMAP non riuscita.",
"IMAPSetupDialog_CertificateAllowanceRequired_Row0": "Questo server richiede un handshake SSL per continuare. Confermare i dettagli del certificato qui sotto.",
"IMAPSetupDialog_CertificateAllowanceRequired_Row1": "Permetti all'handshake di continuare a configurare il tuo account.",
@@ -625,11 +623,6 @@
"SettingsShowPreviewText_Title": "Mostra testo di anteprima",
"SettingsShowSenderPictures_Description": "Mostra/nascondi le miniature delle immagini del mittente.",
"SettingsShowSenderPictures_Title": "Mostra avatar mittente",
"SettingsEnableGravatarAvatars_Title": "Personificatore",
"SettingsEnableGravatarAvatars_Description": "Usa il personificatore (se disponibile) come immagine del mittente",
"SettingsEnableFavicons_Title": "Icone del dominio (Favicons)",
"SettingsEnableFavicons_Description": "Usa le icone di dominio (se disponibili) come immagine del mittente",
"SettingsMailList_ClearAvatarsCache_Button": "Cancella personificatori nella cache",
"SettingsSignature_AddCustomSignature_Button": "Aggiungi firma",
"SettingsSignature_AddCustomSignature_Title": "Aggiungi firma personalizzata",
"SettingsSignature_DeleteSignature_Title": "Elimina firma",
@@ -651,8 +644,6 @@
"SettingsThreads_Title": "Raggruppamento conversazioni",
"SettingsUnlinkAccounts_Description": "Rimuovi il collegamento tra gli account. Questo non eliminerà i tuoi account.",
"SettingsUnlinkAccounts_Title": "Scollega account",
"SettingsMailRendering_ActionLabels_Title": "Etichette azioni",
"SettingsMailRendering_ActionLabels_Description": "Mostra le etichette delle azioni.",
"SignatureDeleteDialog_Message": "Sei sicuro di voler eliminare la firma \"{0}\"?",
"SignatureDeleteDialog_Title": "Elimina firma",
"SignatureEditorDialog_SignatureName_Placeholder": "Nomina la tua firma",
@@ -698,9 +689,7 @@
"WinoUpgradeDescription": "Wino offre 3 account per iniziare gratuitamente. Se hai bisogno di più di 3 account, per favore aggiorna",
"WinoUpgradeMessage": "Aggiorna ad account illimitati",
"WinoUpgradeRemainingAccountsMessage": "{0} di {1} account gratuiti usati.",
"Yesterday": "Ieri",
"SettingsAppPreferences_EmailSyncInterval_Title": "Intervallo sincronizzazione e-mail",
"SettingsAppPreferences_EmailSyncInterval_Description": "Intervallo di sincronizzazione automatica delle e-mail (minuti). Questa impostazione sarà applicata solo dopo il riavvio di Wino Mail."
"Yesterday": "Ieri"
}

View File

@@ -262,8 +262,6 @@
"IMAPSetupDialog_AccountType": "Account type",
"IMAPSetupDialog_ValidationSuccess_Title": "Success",
"IMAPSetupDialog_ValidationSuccess_Message": "Validation successful",
"IMAPSetupDialog_SaveImapSuccess_Title": "Success",
"IMAPSetupDialog_SaveImapSuccess_Message": "IMAP settings saved successfuly.",
"IMAPSetupDialog_ValidationFailed_Title": "IMAP Server validation failed.",
"IMAPSetupDialog_CertificateAllowanceRequired_Row0": "This server is requesting a SSL handshake to continue. Please confirm the certificate details below.",
"IMAPSetupDialog_CertificateAllowanceRequired_Row1": "Allow the handshake to continue setting up your account.",
@@ -521,7 +519,7 @@
"SettingsCustomTheme_Title": "Custom Theme",
"SettingsDeleteAccount_Description": "Delete all e-mails and credentials associated with this account.",
"SettingsDeleteAccount_Title": "Delete this account",
"SettingsDeleteProtection_Description": "Should Wino ask you for confirmation every time you try to permanently delete a mail using Shift + Del keys?",
"SettingsDeleteProtection_Description": "Should Wino ask you for comfirmation every time you try to permanently delete a mail using Shift + Del keys?",
"SettingsDeleteProtection_Title": "Permanent Delete Protection",
"SettingsDiagnostics_Description": "For developers",
"SettingsDiagnostics_DiagnosticId_Description": "Share this ID with the developers when asked to get help for the issues you experience in Wino Mail.",
@@ -625,11 +623,6 @@
"SettingsShowPreviewText_Title": "Show Preview Text",
"SettingsShowSenderPictures_Description": "Hide/show the thumbnail sender pictures.",
"SettingsShowSenderPictures_Title": "Show Sender Avatars",
"SettingsEnableGravatarAvatars_Title": "Gravatar",
"SettingsEnableGravatarAvatars_Description": "Use gravatar (if available) as sender picture",
"SettingsEnableFavicons_Title": "Domain icons (Favicons)",
"SettingsEnableFavicons_Description": "Use domain favicons (if available) as sender picture",
"SettingsMailList_ClearAvatarsCache_Button": "Clear cached avatars",
"SettingsSignature_AddCustomSignature_Button": "Add signature",
"SettingsSignature_AddCustomSignature_Title": "Add custom signature",
"SettingsSignature_DeleteSignature_Title": "Delete signature",
@@ -651,8 +644,6 @@
"SettingsThreads_Title": "Conversation Threading",
"SettingsUnlinkAccounts_Description": "Remove the link between accounts. his will not delete your accounts.",
"SettingsUnlinkAccounts_Title": "Unlink Accounts",
"SettingsMailRendering_ActionLabels_Title": "Action labels",
"SettingsMailRendering_ActionLabels_Description": "Show action labels.",
"SignatureDeleteDialog_Message": "Are you sure you want to delete \"{0}\" signature?",
"SignatureDeleteDialog_Title": "Delete signature",
"SignatureEditorDialog_SignatureName_Placeholder": "Name your signature",
@@ -698,9 +689,7 @@
"WinoUpgradeDescription": "Wino offers 3 accounts to start with for free. If you need more than 3 accounts, please upgrade",
"WinoUpgradeMessage": "Upgrade to Unlimited Accounts",
"WinoUpgradeRemainingAccountsMessage": "{0} out of {1} free accounts used.",
"Yesterday": "Yesterday",
"SettingsAppPreferences_EmailSyncInterval_Title": "Email sync interval",
"SettingsAppPreferences_EmailSyncInterval_Description": "Automatic email synchronization interval (minutes). This setting will be applied only after restarting Wino Mail."
"Yesterday": "Yesterday"
}

View File

@@ -262,8 +262,6 @@
"IMAPSetupDialog_AccountType": "Account type",
"IMAPSetupDialog_ValidationSuccess_Title": "Success",
"IMAPSetupDialog_ValidationSuccess_Message": "Validation successful",
"IMAPSetupDialog_SaveImapSuccess_Title": "Success",
"IMAPSetupDialog_SaveImapSuccess_Message": "IMAP settings saved successfuly.",
"IMAPSetupDialog_ValidationFailed_Title": "IMAP Server validation failed.",
"IMAPSetupDialog_CertificateAllowanceRequired_Row0": "This server is requesting a SSL handshake to continue. Please confirm the certificate details below.",
"IMAPSetupDialog_CertificateAllowanceRequired_Row1": "Allow the handshake to continue setting up your account.",
@@ -521,7 +519,7 @@
"SettingsCustomTheme_Title": "Custom Theme",
"SettingsDeleteAccount_Description": "Delete all e-mails and credentials associated with this account.",
"SettingsDeleteAccount_Title": "Delete this account",
"SettingsDeleteProtection_Description": "Should Wino ask you for confirmation every time you try to permanently delete a mail using Shift + Del keys?",
"SettingsDeleteProtection_Description": "Should Wino ask you for comfirmation every time you try to permanently delete a mail using Shift + Del keys?",
"SettingsDeleteProtection_Title": "Permanent Delete Protection",
"SettingsDiagnostics_Description": "For developers",
"SettingsDiagnostics_DiagnosticId_Description": "Share this ID with the developers when asked to get help for the issues you experience in Wino Mail.",
@@ -625,11 +623,6 @@
"SettingsShowPreviewText_Title": "Show Preview Text",
"SettingsShowSenderPictures_Description": "Hide/show the thumbnail sender pictures.",
"SettingsShowSenderPictures_Title": "Show Sender Avatars",
"SettingsEnableGravatarAvatars_Title": "Gravatar",
"SettingsEnableGravatarAvatars_Description": "Use gravatar (if available) as sender picture",
"SettingsEnableFavicons_Title": "Domain icons (Favicons)",
"SettingsEnableFavicons_Description": "Use domain favicons (if available) as sender picture",
"SettingsMailList_ClearAvatarsCache_Button": "Clear cached avatars",
"SettingsSignature_AddCustomSignature_Button": "Add signature",
"SettingsSignature_AddCustomSignature_Title": "Add custom signature",
"SettingsSignature_DeleteSignature_Title": "Delete signature",
@@ -651,8 +644,6 @@
"SettingsThreads_Title": "Conversation Threading",
"SettingsUnlinkAccounts_Description": "Remove the link between accounts. his will not delete your accounts.",
"SettingsUnlinkAccounts_Title": "Unlink Accounts",
"SettingsMailRendering_ActionLabels_Title": "Action labels",
"SettingsMailRendering_ActionLabels_Description": "Show action labels.",
"SignatureDeleteDialog_Message": "Are you sure you want to delete \"{0}\" signature?",
"SignatureDeleteDialog_Title": "Delete signature",
"SignatureEditorDialog_SignatureName_Placeholder": "Name your signature",
@@ -698,9 +689,7 @@
"WinoUpgradeDescription": "Wino offers 3 accounts to start with for free. If you need more than 3 accounts, please upgrade",
"WinoUpgradeMessage": "Upgrade to Unlimited Accounts",
"WinoUpgradeRemainingAccountsMessage": "{0} out of {1} free accounts used.",
"Yesterday": "Yesterday",
"SettingsAppPreferences_EmailSyncInterval_Title": "Email sync interval",
"SettingsAppPreferences_EmailSyncInterval_Description": "Automatic email synchronization interval (minutes). This setting will be applied only after restarting Wino Mail."
"Yesterday": "Yesterday"
}

View File

@@ -1,50 +1,50 @@
{
"AccountAlias_Column_Alias": "Alias",
"AccountAlias_Column_IsPrimaryAlias": "Primair",
"AccountAlias_Column_Verified": "Geverifieerd",
"AccountAlias_Disclaimer_FirstLine": "Wino kan alleen aliassen voor uw Gmail accounts importeren.",
"AccountAlias_Disclaimer_SecondLine": "Als u aliassen wilt gebruiken voor uw Outlook of IMAP-account, voeg deze dan zelf toe.",
"AccountCacheReset_Title": "Account cache gereset",
"AccountCacheReset_Message": "Dit account moet opnieuw gesynchroniseerd worden om te blijven werken. Wacht totdat Wino uw berichten opnieuw heeft gesynchroniseerd...",
"AccountContactNameYou": "U",
"AccountCreationDialog_Completed": "Alles is gereed",
"AccountCreationDialog_FetchingEvents": "Agenda gebeurtenissen aan het ophalen.",
"AccountCreationDialog_FetchingProfileInformation": "Profielgegevens aan het ophalen.",
"AccountCreationDialog_GoogleAuthHelpClipboardText_Row0": "Indien uw browser niet automatisch opstart om de authenticatie te voltooien:",
"AccountAlias_Column_Verified": "Geverifiëerd",
"AccountAlias_Disclaimer_FirstLine": "Wino can only import aliases for your Gmail accounts.",
"AccountAlias_Disclaimer_SecondLine": "If you want to use aliases for your Outlook or IMAP account, please add them yourself.",
"AccountCacheReset_Title": "Account Cache Reset",
"AccountCacheReset_Message": "This account requires full re-sychronization to continue working. Please wait while Wino re-synchronizes your messages...",
"AccountContactNameYou": "You",
"AccountCreationDialog_Completed": "alles gedaan",
"AccountCreationDialog_FetchingEvents": "Agenda gebeurtenissen ophalen.",
"AccountCreationDialog_FetchingProfileInformation": "Profieldetails ophalen.",
"AccountCreationDialog_GoogleAuthHelpClipboardText_Row0": "Als uw browser niet automatisch opstart om de authenticatie te voltooien:",
"AccountCreationDialog_GoogleAuthHelpClipboardText_Row1": "1) Klik op de knop hieronder om het authenticatie-adres te kopiëren",
"AccountCreationDialog_GoogleAuthHelpClipboardText_Row2": "2) Start uw webbrowser op (Edge, Chrome, Firefox, etc.)",
"AccountCreationDialog_GoogleAuthHelpClipboardText_Row3": "3) Plak het gekopieerde adres en ga naar de website om de authenticatie handmatig te voltooien.",
"AccountCreationDialog_GoogleAuthHelpClipboardText_Row2": "2) Start uw webbrowser op (Edge, Chrome, Firefox enz...)",
"AccountCreationDialog_GoogleAuthHelpClipboardText_Row3": "3) Plak het gekopieerde adres en ga naar de website om de authenticatie manueel te voltooien.",
"AccountCreationDialog_Initializing": "Bezig met initialiseren",
"AccountCreationDialog_PreparingFolders": "Map gegevens worden momenteel ontvangen.",
"AccountCreationDialog_PreparingFolders": "Op dit moment krijgen we informatie over mappen.",
"AccountCreationDialog_SigninIn": "Accountinformatie wordt opgeslagen.",
"AccountEditDialog_Message": "Accountnaam",
"AccountEditDialog_Title": "Account bewerken",
"AccountEditDialog_Title": "Bewerk account",
"AccountPickerDialog_Title": "Kies een account",
"AccountSettingsDialog_AccountName": "Weergavenaam van afzender",
"AccountSettingsDialog_AccountNamePlaceholder": "Bijv. Jan Smit",
"AccountDetailsPage_Title": "Accountinformatie",
"AccountDetailsPage_Description": "Wijzig de accountnaam in Wino en stel de gewenste naam van de afzender in.",
"AccountDetailsPage_ColorPicker_Title": "Account kleur",
"AccountDetailsPage_ColorPicker_Description": "Wijs een nieuwe account kleur toe om het bijbehorende symbool in de lijst in te kleuren.",
"AccountSettingsDialog_AccountNamePlaceholder": "bijv. Jan Smit",
"AccountDetailsPage_Title": "Account info",
"AccountDetailsPage_Description": "Change the name of the account in Wino and set desired sender name.",
"AccountDetailsPage_ColorPicker_Title": "Account color",
"AccountDetailsPage_ColorPicker_Description": "Wijs een nieuwe account kleur toe om het bijbehorende symbool in de lijst te kleuren.",
"AddHyperlink": "Toevoegen",
"AppCloseBackgroundSynchronizationWarningTitle": "Achtergrondsynchronisatie",
"AppCloseStartupLaunchDisabledWarningMessageFirstLine": "Applicatie is niet ingesteld om te laden bij het opstarten van Windows.",
"AppCloseBackgroundSynchronizationWarningTitle": "Achtergrond synchronisatie",
"AppCloseStartupLaunchDisabledWarningMessageFirstLine": "Applicatie is niet ingesteld om te starten bij het opstarten van Windows.",
"AppCloseStartupLaunchDisabledWarningMessageSecondLine": "Hierdoor mist u meldingen wanneer u uw computer herstart.",
"AppCloseStartupLaunchDisabledWarningMessageThirdLine": "Wilt u naar de instellingen gaan om het in te schakelen?",
"AppCloseTerminateBehaviorWarningMessageFirstLine": "U beëindigt hiermee Wino Mail en het sluiten van uw app is ingesteld op 'Beëindigen'.",
"AppCloseTerminateBehaviorWarningMessageSecondLine": "Dit zal alle achtergrondsynchronisaties en meldingen stoppen.",
"AppCloseTerminateBehaviorWarningMessageThirdLine": "Wilt u naar de instellingen gaan om Wino Mail geminimaliseerd of op de achtergrond uit te voeren?",
"AutoDiscoveryProgressMessage": "Bezig met zoeken naar mailinstellingen...",
"AppCloseStartupLaunchDisabledWarningMessageThirdLine": "Wilt u naar de instellingen gaan om het aan te zetten?",
"AppCloseTerminateBehaviorWarningMessageFirstLine": "U beëindigt Wino-Mail en uw app sluit gedrag is ingesteld op 'Beëindig'.",
"AppCloseTerminateBehaviorWarningMessageSecondLine": "Dit zal alle achtergrond synchronisatie en meldingen stoppen.",
"AppCloseTerminateBehaviorWarningMessageThirdLine": "Wilt u naar de instellingen gaan om Wino-Mail uit te voeren naar geminimaliseerd of op de achtergrond?",
"AutoDiscoveryProgressMessage": "Zoeken naar mailinstellingen...",
"BasicIMAPSetupDialog_AdvancedConfiguration": "Geavanceerde configuratie",
"BasicIMAPSetupDialog_CredentialLocalMessage": "Uw inloggegevens worden alleen lokaal op uw computer opgeslagen.",
"BasicIMAPSetupDialog_CredentialLocalMessage": "Uw inloggegevens worden alleen lokaal opgeslagen op uw computer.",
"BasicIMAPSetupDialog_Description": "Sommige accounts vereisen aanvullende stappen om in te loggen",
"BasicIMAPSetupDialog_DisplayName": "Weergavenaam",
"BasicIMAPSetupDialog_DisplayNamePlaceholder": "bijv. Jan Smit",
"BasicIMAPSetupDialog_LearnMore": "Lees meer",
"BasicIMAPSetupDialog_MailAddress": "E-mailadres",
"BasicIMAPSetupDialog_MailAddressPlaceholder": "jansmit@voorbeeld.nl",
"BasicIMAPSetupDialog_MailAddressPlaceholder": "fritsbarend@voorbeeld.nl",
"BasicIMAPSetupDialog_Password": "Wachtwoord",
"BasicIMAPSetupDialog_Title": "IMAP-account",
"BasicIMAPSetupDialog_Title": "IMAP account",
"Busy": "Bezig",
"Buttons_AddAccount": "Account toevoegen",
"Buttons_AddNewAlias": "Alias toevoegen",
@@ -63,7 +63,7 @@
"Buttons_EnableImageRendering": "Inschakelen",
"Buttons_Multiselect": "Meerdere selecteren",
"Buttons_No": "Nee",
"Buttons_Open": "Openen",
"Buttons_Open": "Open",
"Buttons_Purchase": "Aanschaffen",
"Buttons_RateWino": "Wino beoordelen",
"Buttons_Reset": "Herstellen",
@@ -76,16 +76,16 @@
"Buttons_SyncAliases": "Aliassen synchroniseren",
"Buttons_TryAgain": "Probeer opnieuw",
"Buttons_Yes": "Ja",
"CalendarAllDayEventSummary": "Gebeurtenissen die de hele dag duren",
"CalendarDisplayOptions_Color": "Kleur",
"CalendarDisplayOptions_Expand": "Uitklappen",
"CalendarItem_DetailsPopup_JoinOnline": "Online aanmelden",
"CalendarItem_DetailsPopup_ViewEventButton": "Gebeurtenis weergeven",
"CalendarItem_DetailsPopup_ViewSeriesButton": "Series weergeven",
"CalendarItemAllDay": "Gehele dag",
"CalendarAllDayEventSummary": "gebeurtenissen die de hele dag duren",
"CalendarDisplayOptions_Color": "Color",
"CalendarDisplayOptions_Expand": "Expand",
"CalendarItem_DetailsPopup_JoinOnline": "Join online",
"CalendarItem_DetailsPopup_ViewEventButton": "View event",
"CalendarItem_DetailsPopup_ViewSeriesButton": "View series",
"CalendarItemAllDay": "de hele dag",
"CategoriesFolderNameOverride": "Categorieën",
"Center": "Centreren",
"ClipboardTextCopied_Message": "{0} is naar het klembord gekopieerd.",
"ClipboardTextCopied_Message": "{0} naar het klembord gekopieerd.",
"ClipboardTextCopied_Title": "Gekopieerd",
"ClipboardTextCopyFailed_Message": "Kopiëren van {0} naar het klembord mislukt.",
"ComingSoon": "Binnenkort beschikbaar...",
@@ -95,69 +95,69 @@
"ComposerImagesDropZone_Message": "Sleep afbeeldingen hier naartoe",
"ComposerSubject": "Onderwerp: ",
"ComposerTo": "Aan: ",
"ComposerToPlaceholder": "Tik op Enter om adressen in te voeren",
"ComposerToPlaceholder": "klik op enter om adressen in te voeren",
"CreateAccountAliasDialog_AliasAddress": "Adres",
"CreateAccountAliasDialog_AliasAddressPlaceholder": "bijv. ondersteuning@mijndomein.nl",
"CreateAccountAliasDialog_Description": "Verifieer dat uw uitgaande server het verzenden van e-mails vanaf deze alias toestaat.",
"CreateAccountAliasDialog_AliasAddressPlaceholder": "bijv. ondersteuning@example.nl",
"CreateAccountAliasDialog_Description": "Make sure your outgoing server allows sending mails from this alias.",
"CreateAccountAliasDialog_ReplyToAddress": "Antwoordadres",
"CreateAccountAliasDialog_ReplyToAddressPlaceholder": "admin@mijndomein.nl",
"CreateAccountAliasDialog_ReplyToAddressPlaceholder": "admin@example.nl",
"CreateAccountAliasDialog_Title": "Account alias aanmaken",
"CustomThemeBuilder_AccentColorDescription": "Stel een aangepaste accentkleur in. Als u geen kleur selecteert dan zal de Windows accentkleur gebruikt worden.",
"CustomThemeBuilder_AccentColorDescription": "Stel aan aangepaste accentkleur in. Maak geen keuze om de Windows-accentkleur te gebruiken.",
"CustomThemeBuilder_AccentColorTitle": "Accentkleur",
"CustomThemeBuilder_PickColor": "Kies",
"CustomThemeBuilder_ThemeNameDescription": "Unieke naam voor uw aangepaste thema.",
"CustomThemeBuilder_ThemeNameTitle": "Themanaam",
"CustomThemeBuilder_Title": "Aangepaste Thema Maker",
"CustomThemeBuilder_Title": "Aangepaste Thema Bouwer",
"CustomThemeBuilder_WallpaperDescription": "Stel een eigen achtergrond in voor Wino",
"CustomThemeBuilder_WallpaperTitle": "Aangepaste achtergrond instellen",
"Dialog_DontAskAgain": "Niet opnieuw vragen",
"DialogMessage_AccountLimitMessage": "U hebt de limiet bereikt voor het aanmaken van accounts.\nWilt u de 'Onbeperkte accounts' add-on aanschaffen om door te gaan?",
"DialogMessage_AccountLimitTitle": "U heeft de limiet voor het aantal accounts bereikt",
"DialogMessage_AliasCreatedMessage": "Nieuwe alias is succesvol aangemaakt.",
"DialogMessage_AccountLimitMessage": "U hebt de limiet voor het aanmaken van accounts bereikt.\nWilt u de 'Onbeperkt aantal accounts' add-on kopen om door te gaan?",
"DialogMessage_AccountLimitTitle": "Limiet accounts bereikt",
"DialogMessage_AliasCreatedMessage": "Nieuw alias is succesvol aangemaakt.",
"DialogMessage_AliasCreatedTitle": "Nieuw alias aangemaakt",
"DialogMessage_AliasExistsMessage": "Deze alias is al in gebruik.",
"DialogMessage_AliasExistsMessage": "Deze alias wordt al gebruikt.",
"DialogMessage_AliasExistsTitle": "Bestaande alias",
"DialogMessage_AliasNotSelectedMessage": "U moet een alias selecteren voordat u een bericht kunt verzenden.",
"DialogMessage_AliasNotSelectedTitle": "Alias ontbreekt",
"DialogMessage_CantDeleteRootAliasMessage": "Hoofd alias kan niet verwijderd worden. Dit is de hoofdidentiteit die gekoppeld is aan uw accountconfiguratie.",
"DialogMessage_CantDeleteRootAliasMessage": "Hoofd alias kan niet verwijderd worden. Dit is de hoofdidentiteit die gekoppeld is aan uw account configuratie.",
"DialogMessage_CantDeleteRootAliasTitle": "Kan alias niet verwijderen",
"DialogMessage_CleanupFolderMessage": "Wilt u alle e-mails in deze map permanent verwijderen?",
"DialogMessage_CleanupFolderTitle": "Map opschonen",
"DialogMessage_ComposerMissingRecipientMessage": "Het bericht heeft geen ontvanger.",
"DialogMessage_CleanupFolderTitle": "Opschonen map",
"DialogMessage_ComposerMissingRecipientMessage": "Bericht heeft geen ontvanger.",
"DialogMessage_ComposerValidationFailedTitle": "Validatie mislukt",
"DialogMessage_CreateLinkedAccountMessage": "Geef deze koppeling een naam. Accounts worden samengevoegd onder deze naam.",
"DialogMessage_CreateLinkedAccountTitle": "Naam van accountkoppeling",
"DialogMessage_DeleteAccountConfirmationMessage": "{0} verwijderen?",
"DialogMessage_CreateLinkedAccountTitle": "Naam van koppeling",
"DialogMessage_DeleteAccountConfirmationMessage": "Verwijder {0}?",
"DialogMessage_DeleteAccountConfirmationTitle": "Alle gegevens die gekoppeld zijn aan dit account worden permanent verwijderd.",
"DialogMessage_DiscardDraftConfirmationMessage": "Dit concept zal worden verwijderd. Wilt u doorgaan?",
"DialogMessage_DiscardDraftConfirmationTitle": "Concept verwijderen",
"DialogMessage_EmptySubjectConfirmation": "Onderwerp ontbreekt",
"DialogMessage_EmptySubjectConfirmationMessage": "Het bericht heeft geen onderwerp. Wilt u doorgaan?",
"DialogMessage_EnableStartupLaunchDeniedMessage": "U kunt laden bij opstarten inschakelen via Instellingen -> App voorkeuren.",
"DialogMessage_EnableStartupLaunchMessage": "Sta toe Wino Mail toe automatisch geminimaliseerd te laden bij het opstarten van Windows om geen meldingen te missen.\n\nWilt u laden bij het opstarten van Windows inschakelen?",
"DialogMessage_EnableStartupLaunchTitle": "Laden bij opstarten inschakelen",
"DialogMessage_EnableStartupLaunchDeniedMessage": "You can enable startup launch from Settings -> App Preferences.",
"DialogMessage_EnableStartupLaunchMessage": "Let Wino Mail automatically launch minimized on Windows startup to not miss any notifications.\n\nDo you want to enable startup launch?",
"DialogMessage_EnableStartupLaunchTitle": "Opstarten inschakelen",
"DialogMessage_HardDeleteConfirmationMessage": "Permanent verwijderen",
"DialogMessage_HardDeleteConfirmationTitle": "Bericht(en) zullen permanent verwijderd worden. Wilt u doorgaan?",
"DialogMessage_InvalidAliasMessage": "Deze alias is ongeldig. Zorg ervoor dat alle e-mailadressen van de alias geldig zijn.",
"DialogMessage_InvalidAliasMessage": "Deze alias is ongeldig. Zorg ervoor dat alle adressen van de alias geldige e-mailadressen zijn.",
"DialogMessage_InvalidAliasTitle": "Ongeldige alias",
"DialogMessage_NoAccountsForCreateMailMessage": "U heeft geen accounts om een bericht te maken.",
"DialogMessage_NoAccountsForCreateMailMessage": "U heeft geen accounts om een bericht van te maken.",
"DialogMessage_NoAccountsForCreateMailTitle": "Account ontbreekt",
"DialogMessage_PrintingFailedMessage": "Afdrukken van deze e-mail mislukt. Resultaat: {0}",
"DialogMessage_PrintingFailedTitle": "Mislukt",
"DialogMessage_PrintingSuccessMessage": "E-mail wordt naar de printer verzonden.",
"DialogMessage_PrintingSuccessTitle": "Voltooid",
"DialogMessage_RenameFolderMessage": "Voer een nieuwe naam in voor deze map",
"DialogMessage_PrintingSuccessTitle": "Gelukt",
"DialogMessage_RenameFolderMessage": "Enter new name for this folder",
"DialogMessage_RenameFolderTitle": "Map hernoemen",
"DialogMessage_RenameLinkedAccountsMessage": "Voer een nieuwe naam in voor de gekoppelde account",
"DialogMessage_RenameLinkedAccountsTitle": "Gekoppelde account hernoemen",
"DialogMessage_UnlinkAccountsConfirmationMessage": "Deze handeling zal uw accounts niet verwijderen, maar zal alleen de koppeling voor gedeelde mappen verbreken. Wilt u doorgaan?",
"DialogMessage_UnlinkAccountsConfirmationTitle": "Accounts ontkoppelen",
"DialogMessage_RenameLinkedAccountsMessage": "Voer een nieuwe naam in voor gekoppeld account",
"DialogMessage_RenameLinkedAccountsTitle": "Gekoppeld account hernoemen",
"DialogMessage_UnlinkAccountsConfirmationMessage": "Deze handeling zal je accounts niet verwijderen, maar alleen de koppeling van gedeelde mappen verbreken. Wil je doorgaan?",
"DialogMessage_UnlinkAccountsConfirmationTitle": "Ontkoppel accounts",
"DialogMessage_UnsubscribeConfirmationGoToWebsiteConfirmButton": "Ga naar website",
"DialogMessage_UnsubscribeConfirmationGoToWebsiteMessage": "Als u geen berichten meer wilt ontvangen van {0}, ga dan naar de betreffende website om u uit te schrijven.",
"DialogMessage_UnsubscribeConfirmationMailtoMessage": "Wilt u geen berichten meer ontvangen van {0}? Wino zal u uitschrijven door een e-mail vanuit uw e-mailaccount te versturen naar {1}.",
"DialogMessage_UnsubscribeConfirmationOneClickMessage": "Wilt u geen berichten meer ontvangen van {0}?",
"DialogMessage_UnsubscribeConfirmationTitle": "Uitschrijven",
"DiscordChannelDisclaimerMessage": "Wino heeft geen eigen Discord server, maar heeft een speciale 'wino-mail' kanaal dat gehost is op de 'Developer Sanctuary' server.\nAls u updates over Wino wilt ontvangen, meld u dan aan bij Developer Sanctuary en volg het 'wino-mail' kanaal onder \"Community Projects'.\n\nU wordt doorgestuurd naar de server-URL omdat Discord geen kanaaluitnodigingen ondersteunt.",
"DialogMessage_UnsubscribeConfirmationGoToWebsiteMessage": "To stop getting messages from {0}, go to their website to unsubscribe.",
"DialogMessage_UnsubscribeConfirmationMailtoMessage": "Do you want to stop getting messages from {0}? Wino will unsubscribe for you by sending an email from your email account to {1}.",
"DialogMessage_UnsubscribeConfirmationOneClickMessage": "Do you want to stop getting messages from {0}?",
"DialogMessage_UnsubscribeConfirmationTitle": "Afmelden",
"DiscordChannelDisclaimerMessage": "Wino heeft geen eigen Discord server, maar het speciale 'wino-mail' kanaal is gehost op de 'Developer Sanctuary' server.\nOm updates over Wino te krijgen, sluit je je aan bij de Developer Sanctuary server en volg je 'wino-mail' kanaal onder 'Community Projects'\n\nJe wordt doorgestuurd naar de server-URL omdat Discord geen kanaaluitnodigingen ondersteunt.",
"DiscordChannelDisclaimerTitle": "Belangrijke informatie over Discord",
"Draft": "Concept",
"DragMoveToFolderCaption": "Verplaatsen naar {0}",
@@ -165,43 +165,43 @@
"EditorToolbarOption_Format": "Opmaak",
"EditorToolbarOption_Insert": "Invoegen",
"EditorToolbarOption_None": "Geen",
"EditorToolbarOption_Options": "Opties",
"EditorToolbarOption_Options": "Instellingen",
"EditorTooltip_WebViewEditor": "Gebruik web view editor",
"ElementTheme_Dark": "Donkere modus",
"ElementTheme_Default": "Systeeminstellingen gebruiken",
"ElementTheme_Light": "Lichte modus",
"Emoji": "Emoji",
"Error_FailedToSetupSystemFolders_Title": "Instellen van systeemmappen mislukt",
"Error_FailedToSetupSystemFolders_Title": "Failed to setup system folders",
"Exception_AuthenticationCanceled": "Authenticatie geannuleerd",
"Exception_CustomThemeExists": "Dit thema bestaat al.",
"Exception_CustomThemeMissingName": "U moet een naam invullen.",
"Exception_CustomThemeMissingWallpaper": "U moet een aangepaste achtergrondafbeelding invoeren.",
"Exception_FailedToSynchronizeAliases": "Synchroniseren van aliassen mislukt",
"Exception_FailedToSynchronizeAliases": "Failed to synchronize aliases",
"Exception_FailedToSynchronizeFolders": "Synchroniseren van mappen mislukt",
"Exception_FailedToSynchronizeProfileInformation": "Synchroniseren van profielinformatie mislukt",
"Exception_FailedToSynchronizeProfileInformation": "Failed to synchronize profile information",
"Exception_GoogleAuthCallbackNull": "Callback uri is null bij het activeren.",
"Exception_GoogleAuthCorruptedCode": "Beschadigd autorisatie-antwoord.",
"Exception_GoogleAuthCorruptedCode": "Beschadigd autorisatieantwoord.",
"Exception_GoogleAuthError": "OAuth autorisatiefout: {0}",
"Exception_GoogleAuthInvalidResponse": "Verzoek ontvangen met ongeldige status ({0})",
"Exception_GoogleAuthorizationCodeExchangeFailed": "Uitwisselen van autorisatiecode mislukt.",
"Exception_GoogleAuthorizationCodeExchangeFailed": "Uitwisselen van autorisatiecode is mislukt.",
"Exception_ImapAutoDiscoveryFailed": "Instellingen mailbox niet gevonden.",
"Exception_ImapClientPoolFailed": "IMAP Client Pool is mislukt.",
"Exception_InboxNotAvailable": "Kan account mappen niet instellen.",
"Exception_InvalidSystemFolderConfiguration": "De systeemmapconfiguratie is ongeldig. Controleer de configuratie en probeer het opnieuw.",
"Exception_InvalidMultiAccountMoveTarget": "U kunt niet multipele items verplaatsen die behoren tot verschillende accounts in een gekoppeld account.",
"Exception_MailProcessing": "Deze mail wordt nog verwerkt. Probeer het over enkele seconden opnieuw.",
"Exception_MissingAlias": "Er bestaat geen primaire alias voor deze account. Concept aanmaken is mislukt.",
"Exception_InvalidSystemFolderConfiguration": "De systeemmapconfiguratie is niet geldig. Controleer de configuratie en probeer het opnieuw.",
"Exception_InvalidMultiAccountMoveTarget": "You can't move multiple items that belong to different accounts in linked account.",
"Exception_MailProcessing": "This mail is still being processed. Please try again after few seconds.",
"Exception_MissingAlias": "Primary alias does not exist for this account. Creating draft failed.",
"Exception_NullAssignedAccount": "Toegewezen account is ongeldig",
"Exception_NullAssignedFolder": "Toegewezen map is ongeldig",
"Exception_SynchronizerFailureHTTP": "Antwoordverwerking mislukt met HTTP-foutcode {0}",
"Exception_TokenGenerationFailed": "Genereren van token mislukt",
"Exception_SynchronizerFailureHTTP": "Reactieverwerking mislukt met de HTTP-code {0}",
"Exception_TokenGenerationFailed": "Token genereren mislukt",
"Exception_TokenInfoRetrivalFailed": "Fout bij het ophalen van tokeninformatie.",
"Exception_UnknowErrorDuringAuthentication": "Onbekende fout opgetreden tijdens authenticatie",
"Exception_UnsupportedAction": "Actie {0} is niet geïmplementeerd in de aanvraagverwerker",
"Exception_UnsupportedProvider": "Deze aanbieder wordt niet ondersteund.",
"Exception_UnsupportedSynchronizerOperation": "Deze bewerking wordt niet ondersteund voor {0}",
"Exception_UserCancelSystemFolderSetupDialog": "De gebruiker heeft het dialoogvenster voor het configureren van systeemmappen geannuleerd.",
"Exception_WinoServerException": "Wino server mislukt",
"Exception_UserCancelSystemFolderSetupDialog": "Gebruiker heeft het dialoogvenster configureren systeemmappen geannuleerd.",
"Exception_WinoServerException": "Wino server mislukt.",
"Files": "Bestanden",
"FilteringOption_All": "Alle",
"FilteringOption_Files": "Heeft bestanden",
@@ -221,33 +221,33 @@
"GeneralTitle_Error": "Fout",
"GeneralTitle_Info": "Informatie",
"GeneralTitle_Warning": "Waarschuwing",
"GmailServiceDisabled_Title": "Gmail fout",
"GmailServiceDisabled_Message": "Uw Google Workspace account is mogelijk uitgeschakeld voor Gmail service. Contacteer uw beheerder om Gmail service voor uw account in te schakelen.",
"GmailArchiveFolderNameOverride": "Archief",
"GmailServiceDisabled_Title": "Gmail Error",
"GmailServiceDisabled_Message": "Your Google Workspace account seems to be disabled for Gmail service. Please contact your administrator to enable Gmail service for your account.",
"GmailArchiveFolderNameOverride": "Archive",
"HoverActionOption_Archive": "Archiveren",
"HoverActionOption_Delete": "Verwijderen",
"HoverActionOption_MoveJunk": "Verplaats naar Ongewenst",
"HoverActionOption_ToggleFlag": "Markeren / Niet markeren",
"HoverActionOption_ToggleFlag": "Vlag aan / uit",
"HoverActionOption_ToggleRead": "Gelezen / Ongelezen",
"ImageRenderingDisabled": "Afbeeldingsweergave is voor dit bericht uitgeschakeld.",
"ImapAdvancedSetupDialog_AuthenticationMethod": "Authenticatiemethode",
"ImapAdvancedSetupDialog_ConnectionSecurity": "Beveiliging van verbinding",
"IMAPAdvancedSetupDialog_ValidationAuthMethodRequired": "Authenticatiemethode vereist",
"IMAPAdvancedSetupDialog_ValidationConnectionSecurityRequired": "Type beveiliging van verbinding vereist",
"IMAPAdvancedSetupDialog_ValidationDisplayNameRequired": "Weergavenaam vereist",
"IMAPAdvancedSetupDialog_ValidationEmailInvalid": "Voer een geldig e-mailadres in",
"IMAPAdvancedSetupDialog_ValidationEmailRequired": "E-mailadres vereist",
"IMAPAdvancedSetupDialog_ValidationErrorTitle": "Controleer het volgende:",
"IMAPAdvancedSetupDialog_ValidationIncomingPortInvalid": "Inkomende poort moet liggen tussen 1-65535",
"IMAPAdvancedSetupDialog_ValidationIncomingPortRequired": "Inkomende poort is vereist",
"IMAPAdvancedSetupDialog_ValidationIncomingServerRequired": "Inkomende serveradres is vereist",
"IMAPAdvancedSetupDialog_ValidationOutgoingPasswordRequired": "Uitgaand serverwachtwoord is vereist",
"IMAPAdvancedSetupDialog_ValidationOutgoingPortInvalid": "Uitgaande poort moet liggen tussen 1-65535",
"IMAPAdvancedSetupDialog_ValidationOutgoingPortRequired": "Uitgaande serverpoort is vereist",
"IMAPAdvancedSetupDialog_ValidationOutgoingServerRequired": "Uitgaand serveradres is vereist",
"IMAPAdvancedSetupDialog_ValidationOutgoingUsernameRequired": "Gebruikersnaam van uitgaande server is vereist",
"IMAPAdvancedSetupDialog_ValidationPasswordRequired": "Wachtwoord is vereist",
"IMAPAdvancedSetupDialog_ValidationUsernameRequired": "Gebruikersnaam is vereist",
"IMAPAdvancedSetupDialog_ValidationAuthMethodRequired": "Authentication method is required",
"IMAPAdvancedSetupDialog_ValidationConnectionSecurityRequired": "Connection security type is required",
"IMAPAdvancedSetupDialog_ValidationDisplayNameRequired": "Display name is required",
"IMAPAdvancedSetupDialog_ValidationEmailInvalid": "Please enter a valid email address",
"IMAPAdvancedSetupDialog_ValidationEmailRequired": "Email address is required",
"IMAPAdvancedSetupDialog_ValidationErrorTitle": "Please check the following:",
"IMAPAdvancedSetupDialog_ValidationIncomingPortInvalid": "Incoming port must be between 1-65535",
"IMAPAdvancedSetupDialog_ValidationIncomingPortRequired": "Incoming server port is required",
"IMAPAdvancedSetupDialog_ValidationIncomingServerRequired": "Incoming server address is required",
"IMAPAdvancedSetupDialog_ValidationOutgoingPasswordRequired": "Outgoing server password is required",
"IMAPAdvancedSetupDialog_ValidationOutgoingPortInvalid": "Outgoing port must be between 1-65535",
"IMAPAdvancedSetupDialog_ValidationOutgoingPortRequired": "Outgoing server port is required",
"IMAPAdvancedSetupDialog_ValidationOutgoingServerRequired": "Outgoing server address is required",
"IMAPAdvancedSetupDialog_ValidationOutgoingUsernameRequired": "Outgoing server username is required",
"IMAPAdvancedSetupDialog_ValidationPasswordRequired": "Password is required",
"IMAPAdvancedSetupDialog_ValidationUsernameRequired": "Username is required",
"ImapAuthenticationMethod_Auto": "Automatisch",
"ImapAuthenticationMethod_CramMD5": "CRAM-MD5",
"ImapAuthenticationMethod_DigestMD5": "DIGEST-MD5",
@@ -260,15 +260,13 @@
"ImapConnectionSecurity_SslTls": "SSL/TLS",
"ImapConnectionSecurity_StartTls": "STARTTLS",
"IMAPSetupDialog_AccountType": "Accounttype",
"IMAPSetupDialog_ValidationSuccess_Title": "Voltooid",
"IMAPSetupDialog_ValidationSuccess_Message": "Validatie voltooid",
"IMAPSetupDialog_SaveImapSuccess_Title": "Success",
"IMAPSetupDialog_SaveImapSuccess_Message": "IMAP settings saved successfuly.",
"IMAPSetupDialog_ValidationFailed_Title": "Validatie van IMAP-server is mislukt.",
"IMAPSetupDialog_CertificateAllowanceRequired_Row0": "Deze server vraagt naar een SSL-verificatie om door te kunnen gaan. Bevestig de certificaatdetails hieronder.",
"IMAPSetupDialog_CertificateAllowanceRequired_Row1": "Verificatie toestaan om door te gaan met het instellen van uw account.",
"IMAPSetupDialog_CertificateDenied": "Gebruiker heeft de verificatie met het certificaat niet geautoriseerd.",
"IMAPSetupDialog_CertificateIssuer": "Uitgever",
"IMAPSetupDialog_ValidationSuccess_Title": "Success",
"IMAPSetupDialog_ValidationSuccess_Message": "Validation successful",
"IMAPSetupDialog_ValidationFailed_Title": "IMAP Server validation failed.",
"IMAPSetupDialog_CertificateAllowanceRequired_Row0": "This server is requesting a SSL handshake to continue. Please confirm the certificate details below.",
"IMAPSetupDialog_CertificateAllowanceRequired_Row1": "Allow the handshake to continue setting up your account.",
"IMAPSetupDialog_CertificateDenied": "User didn't authorize the handshake with the certificate.",
"IMAPSetupDialog_CertificateIssuer": "Issuer",
"IMAPSetupDialog_CertificateSubject": "Onderwerp",
"IMAPSetupDialog_CertificateValidFrom": "Geldig van",
"IMAPSetupDialog_CertificateValidTo": "Geldig tot",
@@ -279,21 +277,21 @@
"IMAPSetupDialog_DisplayNamePlaceholder": "bijv. Jan Smit",
"IMAPSetupDialog_IncomingMailServer": "Inkomende (IMAP) e-mailserver",
"IMAPSetupDialog_IncomingMailServerPort": "Poort",
"IMAPSetupDialog_IMAPSettings": "IMAP-server instellingen",
"IMAPSetupDialog_SMTPSettings": "SMTP-server instellingen",
"IMAPSetupDialog_IMAPSettings": "IMAP Server Settings",
"IMAPSetupDialog_SMTPSettings": "SMTP Server Settings",
"IMAPSetupDialog_MailAddress": "E-mailadres",
"IMAPSetupDialog_MailAddressPlaceholder": "iemand@voorbeeld.nl",
"IMAPSetupDialog_OutgoingMailServer": "Uitgaande (SMTP) e-mailserver",
"IMAPSetupDialog_OutgoingMailServerPassword": "Uitgaand server-wachtwoord",
"IMAPSetupDialog_OutgoingMailServerPassword": "Uitgaande server-wachtwoord",
"IMAPSetupDialog_OutgoingMailServerPort": "Poort",
"IMAPSetupDialog_OutgoingMailServerRequireAuthentication": "Uitgaande server vereist authenticatie",
"IMAPSetupDialog_OutgoingMailServerUsername": "Gebruikersnaam van uitgaande server",
"IMAPSetupDialog_OutgoingMailServerUsername": "Uitgaande server gebruikersnaam",
"IMAPSetupDialog_Password": "Wachtwoord",
"IMAPSetupDialog_RequireSSLForIncomingMail": "SSL verplichten voor inkomende e-mail",
"IMAPSetupDialog_RequireSSLForOutgoingMail": "SSL verplichten voor uitgaande e-mail",
"IMAPSetupDialog_Title": "Geavanceerde IMAP Configuratie",
"IMAPSetupDialog_Title": "Geavanceerde IMAP-instellingen",
"IMAPSetupDialog_Username": "Gebruikersnaam",
"IMAPSetupDialog_UsernamePlaceholder": "jansmit, jansmit@fabrikam.com, domein/jansmit",
"IMAPSetupDialog_UsernamePlaceholder": "johndoe, johndoe@fabrikam.com, domein/johndoe",
"IMAPSetupDialog_UseSameConfig": "Dezelfde gebruikersnaam en wachtwoord gebruiken voor het verzenden van e-mail",
"Info_AccountCreatedMessage": "{0} is aangemaakt",
"Info_AccountCreatedTitle": "Account aanmaken",
@@ -302,48 +300,48 @@
"Info_AccountDeletedTitle": "Account verwijderd",
"Info_AccountIssueFixFailedTitle": "Mislukt",
"Info_AccountIssueFixSuccessMessage": "Alle accountproblemen zijn opgelost.",
"Info_AccountIssueFixSuccessTitle": "Gelukt",
"Info_AccountIssueFixSuccessTitle": "Succesvol",
"Info_AttachmentOpenFailedMessage": "Deze bijlage kan niet geopend worden.",
"Info_AttachmentOpenFailedTitle": "Mislukt",
"Info_AttachmentSaveFailedMessage": "Deze bijlage kan niet opgeslagen worden.",
"Info_AttachmentSaveFailedTitle": "Mislukt",
"Info_AttachmentSaveSuccessMessage": "Bijlage is opgeslagen.",
"Info_AttachmentSaveSuccessTitle": "Bijlage opgeslagen",
"Info_BackgroundExecutionDeniedMessage": "Uitvoering van de app op de achtergrond is geweigerd. Dit kan invloed hebben op synchronisatie op de achtergrond en live meldingen.",
"Info_BackgroundExecutionDeniedTitle": "Uitvoering op achtergrond geweigerd",
"Info_AttachmentSaveSuccessTitle": "Bijlage is opgeslagen",
"Info_BackgroundExecutionDeniedMessage": "Uitvoering in de achtergrond voor de app is geweigerd. Dit kan invloed hebben op synchronisatie op de achtergrond en live meldingen.",
"Info_BackgroundExecutionDeniedTitle": "Achtergronduitvoering geweigerd",
"Info_BackgroundExecutionUnknownErrorMessage": "Onbekende fout opgetreden bij het registreren van achtergrondsynchronisatie.",
"Info_BackgroundExecutionUnknownErrorTitle": "Fout bij uitvoeren op achtergrond",
"Info_CantDeletePrimaryAliasMessage": "Primaire alias kan niet verwijderd worden. Wijzig eerst uw alias voordat u deze verwijdert.",
"Info_ComposerMissingMIMEMessage": "Kan het MIME-bestand niet vinden. Synchroniseren kan dit oplossen.",
"Info_BackgroundExecutionUnknownErrorTitle": "Fout bij uitvoeren in achtergrond",
"Info_CantDeletePrimaryAliasMessage": "Primary alias can't be deleted. Please change your alias before deleting this one",
"Info_ComposerMissingMIMEMessage": "Kan het MIME-bestand niet vinden. Synchroniseren kan helpen.",
"Info_ComposerMissingMIMETitle": "Mislukt",
"Info_ContactExistsMessage": "Dit contact staat al in de lijst met ontvangers.",
"Info_ContactExistsMessage": "Dit contact staat al in het lijst met ontvangers.",
"Info_ContactExistsTitle": "Contact bestaat",
"Info_DraftFolderMissingMessage": "Conceptmap ontbreekt voor dit account. Controleer uw accountinstellingen.",
"Info_DraftFolderMissingTitle": "Conceptmap ontbreekt",
"Info_FailedToOpenFileMessage": "Bestand is mogelijk verwijderd.",
"Info_FailedToOpenFileTitle": "Kan bestand niet openen.",
"Info_FileLaunchFailedTitle": "Kan bestand niet openen",
"Info_FailedToOpenFileMessage": "Mogelijks is het bestand verwijderd.",
"Info_FailedToOpenFileTitle": "Kan bestand niet starten.",
"Info_FileLaunchFailedTitle": "Kan bestand niet starten",
"Info_InvalidAddressMessage": "{0} is geen geldig e-mailadres.",
"Info_InvalidAddressTitle": "Ongeldig adres",
"Info_InvalidMoveTargetMessage": "Geselecteerde e-mails kunnen niet verplaatst worden naar deze map.",
"Info_InvalidMoveTargetTitle": "Ongeldig doel om te verplaatsen",
"Info_InvalidMoveTargetTitle": "Invalid Move Target",
"Info_LogsNotFoundMessage": "Er zijn geen logs om te delen.",
"Info_LogsNotFoundTitle": "Logs niet gevonden",
"Info_LogsSavedMessage": "{0} is opgeslagen in de geselecteerde map.",
"Info_LogsSavedTitle": "Opgeslagen",
"Info_MailListSizeResetSuccessMessage": "De grootte van de e-maillijst is hersteld.",
"Info_MailListSizeResetSuccessMessage": "De grootte van de e-maillijst is gereset.",
"Info_MailRenderingFailedMessage": "Deze e-mail is beschadigd of kan niet worden geopend.\n{0}",
"Info_MailRenderingFailedTitle": "Weergave mislukt",
"Info_MessageCorruptedMessage": "Dit bericht is beschadigd.",
"Info_MessageCorruptedTitle": "Fout",
"Info_MissingFolderMessage": "{0} bestaat niet voor dit account",
"Info_MissingFolderMessage": "{0} doesn't exist for this account.",
"Info_MissingFolderTitle": "Map ontbreekt",
"Info_PDFSaveFailedTitle": "Kan Pdf-bestand niet opslaan",
"Info_PDFSaveSuccessMessage": "PDF-bestand is opgeslagen in {0}",
"Info_PDFSaveSuccessTitle": "Geslaagd",
"Info_PDFSaveSuccessMessage": "Pdf-bestand is opgeslagen in {0}",
"Info_PDFSaveSuccessTitle": "Gelukt",
"Info_PurchaseExistsMessage": "Het lijkt erop dat dit product al eerder is gekocht.",
"Info_PurchaseExistsTitle": "Bestaand product",
"Info_PurchaseThankYouMessage": "Bedankt",
"Info_PurchaseThankYouMessage": "Hartelijk bedankt!",
"Info_PurchaseThankYouTitle": "Aankoop geslaagd",
"Info_RequestCreationFailedTitle": "Aanvraag aanmaken is mislukt",
"Info_ReviewNetworkErrorMessage": "Er was een netwerkprobleem met uw beoordeling.",
@@ -360,9 +358,9 @@
"Info_SyncCanceledMessage": "Geannuleerd",
"Info_SyncCanceledTitle": "Synchronisatie",
"Info_SyncFailedTitle": "Synchronisatie is mislukt",
"Info_UnsubscribeErrorMessage": "Uitschrijven mislukt",
"Info_UnsubscribeLinkInvalidMessage": "Deze uitschrijflink is ongeldig. Uitschrijven van de lijst is mislukt.",
"Info_UnsubscribeLinkInvalidTitle": "Uitschrijf Uri is ongeldig",
"Info_UnsubscribeErrorMessage": "Afmelden mislukt",
"Info_UnsubscribeLinkInvalidMessage": "Deze afmeldlink is ongeldig. Afmelden van de lijst is mislukt.",
"Info_UnsubscribeLinkInvalidTitle": "Ongeldige uitschrijf-URI",
"Info_UnsubscribeSuccessMessage": "Succesvol uitgeschreven van {0}.",
"Info_UnsupportedFunctionalityDescription": "Deze functionaliteit is nog niet geïmplementeerd.",
"Info_UnsupportedFunctionalityTitle": "Niet ondersteund",
@@ -372,11 +370,11 @@
"Justify": "Uitvullen",
"Left": "Links",
"Link": "Link",
"LinkedAccountsCreatePolicyMessage": "U moet tenminste 2 accounts hebben om een koppeling te maken.\nDe koppeling zal verwijderd worden bij het opslaan.",
"LinkedAccountsCreatePolicyMessage": "Je moet ten minste 2 accounts hebben om een koppeling te maken.\nDe koppeling zal verwijderd worden bij het opslaan.",
"LinkedAccountsTitle": "Gekoppelde accounts",
"MailItemNoSubject": "Geen onderwerp",
"MailOperation_AlwaysMoveFocused": "Altijd verplaatsen naar Prioriteit",
"MailOperation_AlwaysMoveOther": "Altijd verplaatsen naar Overige",
"MailOperation_AlwaysMoveOther": "Altijd verplaatsen naar andere",
"MailOperation_Archive": "Archiveren",
"MailOperation_ClearFlag": "Markering wissen",
"MailOperation_DarkEditor": "Donker",
@@ -394,20 +392,20 @@
"MailOperation_MoveFocused": "Verplaatsen naar Prioriteit",
"MailOperation_MoveJunk": "Verplaatsen naar Ongewenst",
"MailOperation_MoveOther": "Verplaatsen naar Overige",
"MailOperation_Navigate": "Navigeren",
"MailOperation_Navigate": "Navigate",
"MailOperation_Print": "Afdrukken",
"MailOperation_Reply": "Beantwoorden",
"MailOperation_ReplyAll": "Allen beantwoorden",
"MailOperation_SaveAs": "Opslaan als",
"MailOperation_SetFlag": "Vlag toevoegen",
"MailOperation_Unarchive": "Niet meer archiveren",
"MailOperation_Unarchive": "Unarchive",
"MailOperation_ViewMessageSource": "Berichtbron weergeven",
"MailOperation_Zoom": "Zoom",
"MailsSelected": "{0} item(s) geselecteerd",
"MarkFlagUnflag": "Vlag toevoegen/verwijderen",
"MarkReadUnread": "Markeren als gelezen/ongelezen",
"MenuManageAccounts": "Accounts beheren",
"MenuMergedAccountItemAccountsSuffix": " Accounts",
"MenuMergedAccountItemAccountsSuffix": " accounts",
"MenuNewMail": "Nieuwe berichten",
"MenuRate": "Wino-Mail beoordelen",
"MenuSettings": "Instellingen",
@@ -418,46 +416,46 @@
"MergedAccountCommonFolderSent": "Verzonden",
"MergedAccountCommonFolderTrash": "Verwijderd",
"MergedAccountsAvailableAccountsTitle": "Beschikbare accounts",
"MessageSourceDialog_Title": "Berichtbron",
"MessageSourceDialog_Title": "Message source",
"More": "Meer",
"MoreFolderNameOverride": "Meer",
"MoveMailDialog_InvalidFolderMessage": "{0} is geen geldige map voor deze e-mail.",
"MoveMailDialog_Title": "Kies een map",
"MoveMailDialog_Title": "Een map kiezen",
"NewAccountDialog_AccountName": "Accountnaam",
"NewAccountDialog_AccountNameDefaultValue": "Persoonlijk",
"NewAccountDialog_AccountNamePlaceholder": "voorbeeld: Persoonlijke e-mail",
"NewAccountDialog_AccountNamePlaceholder": "voorbeeld: Persoonlijke email",
"NewAccountDialog_Title": "Nieuw account toevoegen",
"NoMailSelected": "Geen berichten geselecteerd",
"NoMessageCrieteria": "Er zijn geen berichten die voldoen aan u zoekcriteria",
"NoMessageCrieteria": "No messages match your search criteria",
"NoMessageEmptyFolder": "Deze map is leeg",
"Notifications_MultipleNotificationsMessage": "U heeft {0} nieuwe berichten.",
"Notifications_MultipleNotificationsTitle": "Nieuwe berichten",
"Notifications_WinoUpdatedMessage": "Bekijk de nieuwe versie {0}",
"Notifications_WinoUpdatedTitle": "Wino-Mail is bijgewerkt.",
"OnlineSearchFailed_Message": "{0} zoeken is mislukt\n\nOffline e-mails worden weergegeven.",
"OnlineSearchTry_Line1": "Kunt u niet vinden wat u zoekt?",
"OnlineSearchTry_Line2": "Probeer online zoeken.",
"OnlineSearchFailed_Message": "Failed to perform search\n{0}\n\nListing offline mails.",
"OnlineSearchTry_Line1": "Can't find what you are looking for?",
"OnlineSearchTry_Line2": "Try online search.",
"Other": "Andere",
"PaneLengthOption_Default": "Standaard",
"PaneLengthOption_ExtraLarge": "Extra groot",
"PaneLengthOption_ExtraLarge": "Extra lang",
"PaneLengthOption_Large": "Groot",
"PaneLengthOption_Medium": "Gemiddeld",
"PaneLengthOption_Micro": "Micro",
"PaneLengthOption_Small": "Klein",
"Photos": "Fotos",
"PreparingFoldersMessage": "Mappen voorbereiden",
"ProtocolLogAvailable_Message": "Protocol logs zijn beschikbaar voor diagnose.",
"ProtocolLogAvailable_Message": "Protocol logs are available for diagnostics.",
"ProviderDetail_Gmail_Description": "Google Account",
"ProviderDetail_iCloud_Description": "Apple iCloud Account",
"ProviderDetail_iCloud_Title": "iCloud",
"ProviderDetail_IMAP_Description": "Aangepaste IMAP-/SMTP-server",
"ProviderDetail_IMAP_Description": "Aangepaste IMAP/SMTP server",
"ProviderDetail_IMAP_Title": "IMAP-server",
"ProviderDetail_Yahoo_Description": "Yahoo Account",
"ProviderDetail_Yahoo_Title": "Yahoo Mail",
"QuickEventDialog_EventName": "Naam gebeurtenis",
"QuickEventDialog_IsAllDay": "Gehele dag",
"QuickEventDialog_EventName": "Event name",
"QuickEventDialog_IsAllDay": "All day",
"QuickEventDialog_Location": "Plaats",
"QuickEventDialog_RemindMe": "Herinner mij",
"QuickEventDialog_RemindMe": "Remind me",
"QuickEventDialogMoreDetailsButtonText": "Meer details",
"Reader_SaveAllAttachmentButtonText": "Alle bijlagen opslaan",
"Results": "Resultaten",
@@ -466,241 +464,232 @@
"SearchingIn": "Zoeken in",
"SearchPivotName": "Resultaten",
"SettingConfigureSpecialFolders_Button": "Configureer",
"SettingsEditAccountDetails_IMAPConfiguration_Title": "IMAP/SMPT Configuratie",
"SettingsEditAccountDetails_IMAPConfiguration_Description": "Wijzig uw inkomende/uitgaande serverinstellingen.",
"SettingsEditAccountDetails_IMAPConfiguration_Title": "IMAP/SMTP Configuration",
"SettingsEditAccountDetails_IMAPConfiguration_Description": "Change your incoming/outgoing server settings.",
"SettingsAbout_Description": "Meer informatie over Wino.",
"SettingsAbout_Title": "Over",
"SettingsAboutGithub_Description": "Ga naar de Issue Tracker in de GitHub-repository.",
"SettingsAboutGithub_Title": "GitHub",
"SettingsAboutVersion": "Versie",
"SettingsAboutWinoDescription": "Lichtgewicht e-mailclient voor Windows-apparaten.",
"SettingsAccentColor_Description": "Wijzig de accentkleur van de applicatie",
"SettingsAboutVersion": "Versie ",
"SettingsAboutWinoDescription": "Lichtgewicht e-mail client voor Windows-apparaten.",
"SettingsAccentColor_Description": "Wijzig accentkleur van applicatie",
"SettingsAccentColor_Title": "Accentkleur",
"SettingsAccentColor_UseWindowsAccentColor": "Mijn Windows-accentkleur gebruiken",
"SettingsAccountManagementAppendMessage_Description": "Maak een kopie van het bericht in de map Verzonden nadat het concept is verzonden. Schakel dit in als u uw e-mails niet in de map Verzonden ziet nadat u ze hebt verzonden.",
"SettingsAccountManagementAppendMessage_Description": "Maak een kopie van het bericht in de map Verzonden nadat het concept is verzonden. Schakel dit in als u uw e-mails niet ziet nadat u ze hebt verzonden in de map 'Verzonden'.",
"SettingsAccountManagementAppendMessage_Title": "Berichten toevoegen aan map Verzonden",
"SettingsAccountName_Description": "Wijzig de accountnaam.",
"SettingsAccountName_Description": "Verander de naam van het account.",
"SettingsAccountName_Title": "Accountnaam",
"SettingsApplicationTheme_Description": "Personaliseer Wino met aangepaste thema's naar uw voorkeur.",
"SettingsApplicationTheme_Title": "Applicatie Thema",
"SettingsAppPreferences_CloseBehavior_Description": "Wat moet er gebeuren als u de app sluit?",
"SettingsAppPreferences_CloseBehavior_Title": "Sluitgedrag applicatie",
"SettingsApplicationTheme_Description": "Personaliseer Wino met aangepaste thema's.",
"SettingsApplicationTheme_Title": "Applicatie thema",
"SettingsAppPreferences_CloseBehavior_Description": "Wat moet er gebeuren als je de app sluit?",
"SettingsAppPreferences_CloseBehavior_Title": "Application close behavior",
"SettingsAppPreferences_Description": "Algemene instellingen / voorkeuren voor Wino Mail.",
"SettingsAppPreferences_SearchMode_Description": "Bepaal of Wino tijdens het zoeken de opgehaalde e-mails eerst moet controleren of uw online e-mailserver moet vragen. Lokaal zoeken is altijd sneller en u kunt altijd online zoeken als uw e-mail niet in de zoekresultaten staat.",
"SettingsAppPreferences_SearchMode_Local": "Lokaal",
"SettingsAppPreferences_SearchMode_Description": "Set whether Wino should check fetched mails first while doing a search or ask your mail server online. Local search is always faster and you can always do an online search if your mail is not in the results.",
"SettingsAppPreferences_SearchMode_Local": "Local",
"SettingsAppPreferences_SearchMode_Online": "Online",
"SettingsAppPreferences_SearchMode_Title": "Standaard zoekmethode",
"SettingsAppPreferences_ServerBackgroundingMode_Invisible_Description": "Wino Mail zal op de achtergrond blijven draaien. U wordt op de hoogte gebracht wanneer er nieuwe e-mails binnenkomen.",
"SettingsAppPreferences_SearchMode_Title": "Default search mode",
"SettingsAppPreferences_ServerBackgroundingMode_Invisible_Description": "Wino Mail zal in de achtergrond blijven draaien. U wordt op de hoogte gebracht wanneer er nieuwe berichten binnenkomen.",
"SettingsAppPreferences_ServerBackgroundingMode_Invisible_Title": "Op de achtergrond uitvoeren",
"SettingsAppPreferences_ServerBackgroundingMode_MinimizeTray_Description": "Wino Mail zal in het systeemvak blijven draaien en laden als u op het icoon klikt. U wordt op de hoogte gebracht wanneer er nieuwe e-mails binnenkomen.",
"SettingsAppPreferences_ServerBackgroundingMode_MinimizeTray_Title": "Minimaliseren naar het systeemvak",
"SettingsAppPreferences_ServerBackgroundingMode_Terminate_Description": "Wino Mail zal geheel niet uitgevoerd worden. U wordt niet op de hoogte gebracht wanneer nieuwe e-mails binnenkomen. Open Wino Mail opnieuw om e-mailsynchronisatie te continueren.",
"SettingsAppPreferences_ServerBackgroundingMode_MinimizeTray_Description": "Wino Mail will keep running on the system tray. Available to launch by clicking on an icon. You will be notified as new mails arrive.",
"SettingsAppPreferences_ServerBackgroundingMode_MinimizeTray_Title": "Minimaliseren naar systeembalk",
"SettingsAppPreferences_ServerBackgroundingMode_Terminate_Description": "Wino Mail will not keep running anywhere. You will not be notified as new mails arrive. Launch Wino Mail again to continue mail synchronization.",
"SettingsAppPreferences_ServerBackgroundingMode_Terminate_Title": "Beëindigen",
"SettingsAppPreferences_StartupBehavior_Description": "Wino Mail toestaan om geminimaliseerd te laden wanneer Windows opstart. Staat altijd toe om meldingen te ontvangen.",
"SettingsAppPreferences_StartupBehavior_Description": "Allow Wino Mail to launch minimized when Windows starts. Always allow it to receive notifications.",
"SettingsAppPreferences_StartupBehavior_Disable": "Uitschakelen",
"SettingsAppPreferences_StartupBehavior_Disabled": "Wino Mail zal niet geladen worden wanneer Windows opstart. Hierdoor mist u meldingen wanneer u uw computer herstart.",
"SettingsAppPreferences_StartupBehavior_DisabledByPolicy": "Uw beheerder of groepsbeleid heeft het laden van applicaties bij opstarten uitgeschakeld. Hierdoor kan Wino Mail niet laden bij het opstarten van Windows.",
"SettingsAppPreferences_StartupBehavior_DisabledByUser": "Ga naar Taakbeheer ⇾ Tabblad Opstart-apps om Wino Mail toe te staan om te laden bij het opstarten van Windows.",
"SettingsAppPreferences_StartupBehavior_Disabled": "Wino Mail will not be launched on Windows startup. This will cause you to miss notifications when you restart your computer.",
"SettingsAppPreferences_StartupBehavior_DisabledByPolicy": "Your administrator or group policies disabled running applications on startup. Thus, Wino Mail can't be set to launch on Windows startup.",
"SettingsAppPreferences_StartupBehavior_DisabledByUser": "Please go to Task Manager -> Startup tab to allow Wino Mail to launch on Windows startup.",
"SettingsAppPreferences_StartupBehavior_Enable": "Inschakelen",
"SettingsAppPreferences_StartupBehavior_Enabled": "Wino Mail is succesvol ingesteld om op de achtergrond te laden bij het opstarten van Windows.",
"SettingsAppPreferences_StartupBehavior_FatalError": "Fatale fout tijdens het wijzigen van de opstartmethode voor Wino Mail.",
"SettingsAppPreferences_StartupBehavior_Title": "Geminimaliseerd starten bij opstarten van Windows",
"SettingsAppPreferences_StartupBehavior_Enabled": "Wino Mail successfully set to be launched in the background on Windows startup.",
"SettingsAppPreferences_StartupBehavior_FatalError": "Fatal error occurred while changing the startup mode for Wino Mail.",
"SettingsAppPreferences_StartupBehavior_Title": "Start geminimaliseerd bij opstarten van Windows",
"SettingsAppPreferences_Title": "App voorkeuren",
"SettingsAutoSelectNextItem_Description": "Selecteer het volgende item nadat u een e-mail hebt verwijderd of verplaatst.",
"SettingsAutoSelectNextItem_Title": "Volgende item automatisch selecteren",
"SettingsAutoSelectNextItem_Description": "Select the next item after you delete or move a mail.",
"SettingsAutoSelectNextItem_Title": "Auto select next item",
"SettingsAvailableThemes_Description": "Selecteer een thema uit Winos collectie of pas uw eigen thema's toe.",
"SettingsAvailableThemes_Title": "Beschikbare thema's",
"SettingsCalendarSettings_Description": "Wijzig de eerste weekdag, vakhoogte voor uren en meer...",
"SettingsCalendarSettings_Title": "Agenda instellingen",
"SettingsCalendarSettings_Description": "Change first day of week, hour cell height and more...",
"SettingsCalendarSettings_Title": "Instellingen Agenda",
"SettingsComposer_Title": "Opsteller",
"SettingsComposerFont_Title": "Standaard lettertype voor opstellen",
"SettingsComposerFontFamily_Description": "Wijzig de standaard lettertype en lettergrootte voor het opstellen van e-mails.",
"SettingsConfigureSpecialFolders_Description": "Mappen met speciale functies instellen. Mappen zoals Archief, Inbox en Concepten zijn noodzakelijk om Wino goed te laten functioneren.",
"SettingsConfigureSpecialFolders_Title": "Systeemmappen configureren",
"SettingsComposerFont_Title": "Default Composer Font",
"SettingsComposerFontFamily_Description": "Change the default font family and font size for composing mails.",
"SettingsConfigureSpecialFolders_Description": "Set folders with special functions. Folders such as Archive, Inbox, and Drafts are essential for Wino to function properly.",
"SettingsConfigureSpecialFolders_Title": "Configure System Folders",
"SettingsCustomTheme_Description": "Maak uw eigen aangepaste thema met aangepaste achtergrond en accentkleur.",
"SettingsCustomTheme_Title": "Aangepaste thema",
"SettingsDeleteAccount_Description": "Verwijder alle e-mails en gegevens die aan dit account zijn gekoppeld.",
"SettingsCustomTheme_Title": "Aangepast Thema",
"SettingsDeleteAccount_Description": "Verwijder alle e-mails en referenties die aan dit account zijn gekoppeld.",
"SettingsDeleteAccount_Title": "Verwijder dit account",
"SettingsDeleteProtection_Description": "Moet Wino u om bevestiging vragen elke keer wanneer u een e-mail permanent verwijdert met de Shift + Del toetsen?",
"SettingsDeleteProtection_Title": "Bescherming tegen permanent verwijderen",
"SettingsDeleteProtection_Description": "Moet Wino u om bevestiging vragen elke keer dat u een e-mail met Shift + Del verwijderd?",
"SettingsDeleteProtection_Title": "Permanente verwijder-bescherming",
"SettingsDiagnostics_Description": "Voor ontwikkelaars",
"SettingsDiagnostics_DiagnosticId_Description": "Deel dit ID met de ontwikkelaars wanneer er om hulp gevraagd wordt voor de problemen die u in Wino Mail ervaart.",
"SettingsDiagnostics_DiagnosticId_Title": "Diagnostische ID",
"SettingsDiagnostics_DiagnosticId_Description": "Share this ID with the developers when asked to get help for the issues you experience in Wino Mail.",
"SettingsDiagnostics_DiagnosticId_Title": "Diagnostic ID",
"SettingsDiagnostics_Title": "Diagnose",
"SettingsDiscord_Description": "Krijg regelmatig ontwikkelingsupdates, neem deel aan roadmap discussies en geef feedback.",
"SettingsDiscord_Description": "Krijg regelmatige ontwikkelingsupdates, neem deel aan roadmap discussies en geef feedback.",
"SettingsDiscord_Title": "Discord-kanaal",
"SettingsEditLinkedInbox_Description": "Accounts toevoegen, verwijderen, hernoemen of de koppeling tussen accounts verbreken.",
"SettingsEditLinkedInbox_Title": "Gekoppelde Inbox bewerken",
"SettingsEditLinkedInbox_Description": "Accounts toevoegen, verwijderen, hernoemen of koppeling bewerken.",
"SettingsEditLinkedInbox_Title": "Gekoppelde inbox bewerken",
"SettingsElementTheme_Description": "Selecteer een Windows-thema voor Wino",
"SettingsElementTheme_Title": "Thema modus",
"SettingsElementThemeSelectionDisabled": "Thema modus selectie is uitgeschakeld wanneer een niet-standaard thema is geselecteerd.",
"SettingsElementTheme_Title": "Element thema",
"SettingsElementThemeSelectionDisabled": "Element themaselectie is uitgeschakeld wanneer een niet-standaard thema is geselecteerd.",
"SettingsEnableHoverActions_Title": "Inschakelen van aanwijsacties",
"SettingsEnableIMAPLogs_Description": "Schakel dit in om gegevens over problemen met de IMAP-verbinding te verstrekken die u tijdens de IMAP-server installatie hebt ervaren.",
"SettingsEnableIMAPLogs_Description": "Schakel dit in om gegevens over IMAP-connectiviteit te verstrekken die je had tijdens de IMAP-server installatie.",
"SettingsEnableIMAPLogs_Title": "IMAP Protocol Logs inschakelen",
"SettingsEnableLogs_Description": "Mogelijk heb ik de logs nodig om uw problemen op GitHub te analyseren. Geen van de logs zal uw inloggegevens of gevoelige informatie bevatten.",
"SettingsEnableLogs_Description": "Mogelijk heb ik de logs nodig om de door jou geopende problemen op GitHub te kunnen analyseren. Geen van de logs zal uw inloggegevens of gevoelige informatie bevatten.",
"SettingsEnableLogs_Title": "Logs inschakelen",
"SettingsEnableSignature": "Handtekening inschakelen",
"SettingsExpandOnStartup_Description": "Bepaal of de mappen van dit account uitgeklapt moeten worden bij opstarten van Wino.",
"SettingsExpandOnStartup_Description": "Set whether Wino should expand this account's folders on startup.",
"SettingsExpandOnStartup_Title": "Menu uitvouwen bij opstarten",
"SettingsExternalContent_Description": "Beheer instellingen voor externe inhoud wanneer e-mails worden weergegeven.",
"SettingsExternalContent_Title": "Externe inhoud",
"SettingsFocusedInbox_Description": "Bepaal of Inbox verdeeld moet worden in Prioriteit - Overige",
"SettingsExternalContent_Description": "Manage external content settings when rendering mails.",
"SettingsExternalContent_Title": "External Content",
"SettingsFocusedInbox_Description": "Set whether Inbox should be split into two as Focused - Other.",
"SettingsFocusedInbox_Title": "Inbox Prioriteit",
"SettingsFolderMenuStyle_Description": "Bepaal of accountmappen wel/niet binnen een accountmenu zitten. Schakel dit uit als u voorkeur hebt voor het oude systeemmenu van Windows Mail.",
"SettingsFolderMenuStyle_Title": "Submappen aanmaken",
"SettingsFolderOptions_Description": "Wijzig individuele mapinstellingen zoals het in- of uitschakelen van synchronisatie of weergeven/verbergen van de badge voor ongelezen e-mails.",
"SettingsFolderMenuStyle_Description": "Change whether account folders should be nested inside an account menu item or not. Toggle this off if you like the old menu system in Windows Mail",
"SettingsFolderMenuStyle_Title": "Create Nested Folders",
"SettingsFolderOptions_Description": "Change individual folder settings like enable/disable sync or show/hide unread badge.",
"SettingsFolderOptions_Title": "Map configuratie",
"SettingsFolderSync_Description": "In- of uitschakelen van het synchroniseren van specifieke mappen.",
"SettingsFolderSync_Description": "Enable or disable specific folders for synchronization.",
"SettingsFolderSync_Title": "Map synchronisatie",
"SettingsFontFamily_Title": "Lettertype",
"SettingsFontPreview_Title": "Voorbeeld",
"SettingsFontSize_Title": "Lettergrootte",
"SettingsHoverActionCenter": "Middelste actie",
"SettingsHoverActionLeft": "Linker actie",
"SettingsHoverActionRight": "Rechter actie",
"SettingsHoverActions_Description": "Selecteer 3 acties die verschijnen als u met de cursor de e-mails aanwijst.",
"SettingsHoverActions_Title": "Aanwijsacties",
"SettingsLanguage_Description": "Verander de weergavetaal voor Wino.",
"SettingsHoverActionLeft": "Linkse actie",
"SettingsHoverActionRight": "Rechtse actie",
"SettingsHoverActions_Description": "Select 3 actions to show up when you hover over the mails with cursor.",
"SettingsHoverActions_Title": "Hover Actions",
"SettingsLanguage_Description": "Change display language for Wino.",
"SettingsLanguage_Title": "Weergavetaal",
"SettingsLanguageTime_Description": "Wino weergavetaal, voorkeur tijdnotatie",
"SettingsLanguageTime_Description": "Wino display language, preferred time format.",
"SettingsLanguageTime_Title": "Tijd en Taal",
"SettingsLinkAccounts_Description": "Voeg meerdere account samen. Bekijk e-mails gezamenlijk vanuit één Inbox.",
"SettingsLinkAccounts_Description": "Merge multiple accounts into one. See mails from one Inbox together.",
"SettingsLinkAccounts_Title": "Gekoppelde accounts aanmaken",
"SettingsLinkedAccountsSave_Description": "Pas de huidige koppeling met nieuwe accounts aan.",
"SettingsLinkedAccountsSave_Description": "Modify the current link with the new accounts.",
"SettingsLinkedAccountsSave_Title": "Wijzigingen opslaan",
"SettingsLoadImages_Title": "Afbeeldingen automatisch laden",
"SettingsLoadPlaintextLinks_Title": "Standaardtekst koppelingen omzetten naar klikbare koppelingen",
"SettingsLoadPlaintextLinks_Title": "Convert plaintext links to clickable links",
"SettingsLoadStyles_Title": "Stijlen automatisch laden",
"SettingsMailListActionBar_Description": "Verberg/toon de actiebalk bovenaan de berichtenlijst.",
"SettingsMailListActionBar_Title": "Toon e-maillijst acties",
"SettingsMailSpacing_Description": "Pas de afstand aan voor het weergeven van berichten.",
"SettingsMailSpacing_Title": "Mail afstand",
"SettingsManageAccountSettings_Description": "Meldingen, handtekeningen, synchronisatie en andere instellingen per account.",
"SettingsMailListActionBar_Description": "Aktionsleiste am oberen Rand der Nachrichtenliste aus-/einblenden.",
"SettingsMailListActionBar_Title": "Toon e-mail actielijst",
"SettingsMailSpacing_Description": "Adjust the spacing for listing mails.",
"SettingsMailSpacing_Title": "Dichtheid",
"SettingsManageAccountSettings_Description": "Notifications, signatures, synchronization and other settings per account.",
"SettingsManageAccountSettings_Title": "Accountinstellingen beheren",
"SettingsManageAliases_Description": "Bekijk, wijzig of verwijder e-mail aliassen die zijn toegewezen aan dit account.",
"SettingsManageAliases_Description": "See e-mail aliases assigned for this account, update or delete them.",
"SettingsManageAliases_Title": "Aliassen",
"SettingsEditAccountDetails_Title": "Bewerk accountdetails",
"SettingsEditAccountDetails_Description": "Wijzig accountnaam, naam van afzender en wijs een kleur toe indien gewenst.",
"SettingsManageLink_Description": "Verplaats items naar een nieuwe koppeling of verwijder een bestaande koppeling.",
"SettingsManageLink_Title": "Koppeling beheren",
"SettingsMarkAsRead_Description": "Wijzig wat er met geselecteerde items moet gebeuren.",
"SettingsMarkAsRead_DontChange": "Items niet automatisch als gelezen markeren",
"SettingsMarkAsRead_SecondsToWait": "Aantal seconden om te wachten: ",
"SettingsMarkAsRead_Timer": "Indien weergegeven in het leesvenster",
"SettingsEditAccountDetails_Title": "Edit Account Details",
"SettingsEditAccountDetails_Description": "Change account name, sender name and assign a new color if you like.",
"SettingsManageLink_Description": "Move items to add new link or remove existing link.",
"SettingsManageLink_Title": "Manage Link",
"SettingsMarkAsRead_Description": "Change what should happen to the selected item.",
"SettingsMarkAsRead_DontChange": "Don't automatically mark item as read",
"SettingsMarkAsRead_SecondsToWait": "Aantal seconden wachten: ",
"SettingsMarkAsRead_Timer": "When viewed in the reading pane",
"SettingsMarkAsRead_Title": "Markeer bericht als gelezen",
"SettingsMarkAsRead_WhenSelected": "Wanneer geselecteerd",
"SettingsMessageList_Description": "Wijzig hoe uw berichten gerangschikt moeten worden in de e-maillijst.",
"SettingsMessageList_Description": "Change how your messages should be organized in mail list.",
"SettingsMessageList_Title": "Berichtenlijst",
"SettingsNoAccountSetupMessage": "U heeft nog geen accounts ingesteld.",
"SettingsNotifications_Description": "Meldingen voor dit account in- of uitschakelen.",
"SettingsNoAccountSetupMessage": "You didn't setup any accounts yet.",
"SettingsNotifications_Description": "Turn on or off notifications for this account.",
"SettingsNotifications_Title": "Meldingen",
"SettingsNotificationsAndTaskbar_Description": "Bepaal of meldingen en de taakbalk badge weergegeven moeten worden voor dit account.",
"SettingsNotificationsAndTaskbar_Title": "Meldingen en taakbalk",
"SettingsNotificationsAndTaskbar_Description": "Change whether notifications should be displayed and taskbar badge for this account.",
"SettingsNotificationsAndTaskbar_Title": "Notifications & Taskbar",
"SettingsOptions_Title": "Instellingen",
"SettingsPaneLengthReset_Description": "Reset de grootte van de e-maillijst naar de originele staat als u problemen hiermee ondervindt.",
"SettingsPaneLengthReset_Title": "Grootte van e-maillijst herstellen",
"SettingsPaypal_Description": "Toon veel meer liefde ❤️ Alle donaties worden gewaardeerd.",
"SettingsPaneLengthReset_Description": "Reset the size of the mail list to original if you have issues with it.",
"SettingsPaneLengthReset_Title": "Reset Mail List Size",
"SettingsPaypal_Description": "Show much more love ❤️ All donations are appreciated.",
"SettingsPaypal_Title": "Doneren via PayPal",
"SettingsPersonalization_Description": "Wijzig het uiterlijk van Wino naar uw voorkeur.",
"SettingsPersonalization_Description": "Change appearance of Wino as you like.",
"SettingsPersonalization_Title": "Personalisatie",
"SettingsPersonalizationMailDisplayCompactMode": "Compacte modus",
"SettingsPersonalizationMailDisplayMediumMode": "Gemiddelde modus",
"SettingsPersonalizationMailDisplaySpaciousMode": "Uitgebreide modus",
"SettingsPrefer24HourClock_Description": "Tijdstempels van ontvangen e-mails worden in 24-uursnotatie weergegeven in plaats van 12-uursnotatie (AM/PM)",
"SettingsPrefer24HourClock_Title": "Tijd in 24-uursnotatie weergeven",
"SettingsPrivacyPolicy_Description": "Privacybeleid bekijken",
"SettingsPersonalizationMailDisplayMediumMode": "Gezellige modus",
"SettingsPersonalizationMailDisplaySpaciousMode": "Ruime modus",
"SettingsPrefer24HourClock_Description": "Mail recieve times will be displayed in 24 hour format instead of 12 (AM/PM)",
"SettingsPrefer24HourClock_Title": "Display Clock Format in 24 Hours",
"SettingsPrivacyPolicy_Description": "Review privacy policy.",
"SettingsPrivacyPolicy_Title": "Privacybeleid",
"SettingsReadComposePane_Description": "Lettertypen, externe inhoud.",
"SettingsReadComposePane_Title": "Lezer & Opsteller",
"SettingsReader_Title": "Lezer",
"SettingsReaderFont_Title": "Standaard Lezer lettertype",
"SettingsReaderFontFamily_Description": "Wijzig de standaard lettertype en lettergrootte voor het lezen van e-mails.",
"SettingsRenameMergeAccount_Description": "Verander de weergavenaam van gekoppelde accounts.",
"SettingsReaderFont_Title": "Standaard lezer lettertype",
"SettingsReaderFontFamily_Description": "Wijzig de standaard lettertype en lettergrootte voor het lezen van berichten.",
"SettingsRenameMergeAccount_Description": "Change the display name of the linked accounts.",
"SettingsRenameMergeAccount_Title": "Naam wijzigen",
"SettingsReorderAccounts_Description": "Verander de volgorde van accounts in de accountlijst.",
"SettingsReorderAccounts_Title": "Accounts herangschikken",
"SettingsSemanticZoom_Description": "Hiermee kunt u op koppen in de berichtenlijst klikken en naar een specifieke datum springen",
"SettingsSemanticZoom_Title": "Semantische zoom voor datumkoppen",
"SettingsShowPreviewText_Description": "Verberg/toon voorbeeldtekst.",
"SettingsShowPreviewText_Title": "Voorbeeldtekst weergeven",
"SettingsShowSenderPictures_Description": "Verberg/toon miniatuurafbeeldingen van afzender.",
"SettingsShowSenderPictures_Title": "Avatars van afzenders tonen",
"SettingsEnableGravatarAvatars_Title": "Gravatar",
"SettingsEnableGravatarAvatars_Description": "Gebruik gravatar als foto voor afzender (indien beschikbaar)",
"SettingsEnableFavicons_Title": "Domein iconen (Favicons)",
"SettingsEnableFavicons_Description": "Gebruik domein favicons als foto voor afzender (indien beschikbaar)",
"SettingsMailList_ClearAvatarsCache_Button": "Cache van avatars legen",
"SettingsReorderAccounts_Description": "Change the order of accounts in the account list.",
"SettingsReorderAccounts_Title": "Accounts opnieuw indelen",
"SettingsSemanticZoom_Description": "This will allow you to click on the headers in messages list and go to specific date",
"SettingsSemanticZoom_Title": "Semantic Zoom for Date Headers",
"SettingsShowPreviewText_Description": "Hide/show the preview text.",
"SettingsShowPreviewText_Title": "Voorbeeld tekst weergeven",
"SettingsShowSenderPictures_Description": "Hide/show the thumbnail sender pictures.",
"SettingsShowSenderPictures_Title": "Show Sender Avatars",
"SettingsSignature_AddCustomSignature_Button": "Handtekening toevoegen",
"SettingsSignature_AddCustomSignature_Title": "Aangepaste handtekening toevoegen",
"SettingsSignature_DeleteSignature_Title": "Handtekening verwijderen",
"SettingsSignature_Description": "Accounthandtekeningen beheren",
"SettingsSignature_Description": "Manage account signatures",
"SettingsSignature_EditSignature_Title": "Handtekening aanpassen",
"SettingsSignature_ForFollowingMessages_Title": "Voor antwoorden/doorsturingen",
"SettingsSignature_ForNewMessages_Title": "Voor nieuwe berichten",
"SettingsSignature_ForFollowingMessages_Title": "For Replies/Forwards",
"SettingsSignature_ForNewMessages_Title": "For New Messages",
"SettingsSignature_NoneSignatureName": "Geen",
"SettingsSignature_SignatureDefaults": "Standaard handtekeningen",
"SettingsSignature_SignatureDefaults": "Signature defaults",
"SettingsSignature_Signatures": "Handtekeningen",
"SettingsSignature_Title": "Handtekening",
"SettingsStartupItem_Description": "Te openen Inbox van primaire account bij opstarten.",
"SettingsStartupItem_Title": "Opstart account",
"SettingsStartupItem_Description": "Primary account item to load Inbox at startup.",
"SettingsStartupItem_Title": "Startup Item",
"SettingsStore_Description": "Toon wat liefde ❤️",
"SettingsStore_Title": "Beoordeel in Store",
"SettingsTaskbarBadge_Description": "Includeer aantal ongelezen e-mails in taakbalkpictogram.",
"SettingsStore_Title": "Rate in Store",
"SettingsTaskbarBadge_Description": "Include unread mail count in taskbar icon.",
"SettingsTaskbarBadge_Title": "Taakbalk badge",
"SettingsThreads_Description": "Voeg berichten samen tot gesprekken.",
"SettingsThreads_Title": "Gesprekken",
"SettingsUnlinkAccounts_Description": "Verwijder de koppeling tussen accounts. Dit zal niet uw accounts verwijderen.",
"SettingsUnlinkAccounts_Title": "Ontkoppel accounts",
"SettingsMailRendering_ActionLabels_Title": "Actielabels",
"SettingsMailRendering_ActionLabels_Description": "Actielabels weergeven.",
"SignatureDeleteDialog_Message": "Weet u zeker dat u \"{0}\" handtekening wilt verwijderen?",
"SettingsThreads_Description": "Organize messages into conversation threads.",
"SettingsThreads_Title": "Conversation Threading",
"SettingsUnlinkAccounts_Description": "Remove the link between accounts. his will not delete your accounts.",
"SettingsUnlinkAccounts_Title": "Unlink Accounts",
"SignatureDeleteDialog_Message": "Are you sure you want to delete \"{0}\" signature?",
"SignatureDeleteDialog_Title": "Verwijder handtekening",
"SignatureEditorDialog_SignatureName_Placeholder": "Noem uw handtekening",
"SignatureEditorDialog_SignatureName_TitleEdit": "Huidige naam handtekening: {0}",
"SignatureEditorDialog_SignatureName_TitleNew": "Naam handtekening",
"SignatureEditorDialog_Title": "Handtekening bewerker",
"SortingOption_Date": "Op datum",
"SortingOption_Name": "Op naam",
"StoreRatingDialog_MessageFirstLine": "Alle feedback wordt gewaardeerd en zal Wino in de toekomst verbeteren. Wilt u Wino beoordelen in de Microsoft Store?",
"StoreRatingDialog_MessageSecondLine": "Wilt u Wino Mail beoordelen in de Microsoft Store?",
"StoreRatingDialog_Title": "Bent u tevreden over Wino?",
"SignatureEditorDialog_SignatureName_TitleEdit": "Current signature name: {0}",
"SignatureEditorDialog_SignatureName_TitleNew": "Handtekening naam",
"SignatureEditorDialog_Title": "Signature Editor",
"SortingOption_Date": "door datum",
"SortingOption_Name": "door naam",
"StoreRatingDialog_MessageFirstLine": "All feedbacks are appreciated and they will make much Wino better in the future. Would you like to rate Wino in Microsoft Store?",
"StoreRatingDialog_MessageSecondLine": "Would you like to rate Wino Mail in Microsoft Store?",
"StoreRatingDialog_Title": "Vind je Wino leuk?",
"SynchronizationFolderReport_Failed": "Synchronisatie is mislukt",
"SynchronizationFolderReport_Success": "Bijgewerkt",
"SystemFolderConfigDialog_ArchiveFolderDescription": "Gearchiveerde berichten zullen hier worden verplaatst.",
"SystemFolderConfigDialog_ArchiveFolderHeader": "Map Archief",
"SystemFolderConfigDialog_DeletedFolderDescription": "Verwijderde berichten zullen hier worden verplaatst",
"SystemFolderConfigDialog_DeletedFolderHeader": "Map Verwijderd",
"SystemFolderConfigDialog_DraftFolderDescription": "Nieuwe e-mails/antwoorden zullen hier worden aangemaakt.",
"SystemFolderConfigDialog_DraftFolderHeader": "Map Concepten",
"SystemFolderConfigDialog_JunkFolderDescription": "Alle ongewenste e-mails zullen hier zijn.",
"SystemFolderConfigDialog_JunkFolderHeader": "Map Ongewenst",
"SystemFolderConfigDialog_MessageFirstLine": "Deze IMAP-server ondersteunt geen SPECIAL-USE extensie en Wino kan hierdoor de systeemmappen niet correct instellen.",
"SystemFolderConfigDialog_MessageSecondLine": "Selecteert de juiste mappen voor specifieke functionaliteiten.",
"SystemFolderConfigDialog_SentFolderDescription": "Map waarin verzonden berichten worden opgeslagen.",
"SystemFolderConfigDialog_SentFolderHeader": "Map Verzonden",
"SynchronizationFolderReport_Success": "Up-to-date",
"SystemFolderConfigDialog_ArchiveFolderDescription": "Archived messages will be moved to here.",
"SystemFolderConfigDialog_ArchiveFolderHeader": "Archief map",
"SystemFolderConfigDialog_DeletedFolderDescription": "Deleted messages will be moved to here.",
"SystemFolderConfigDialog_DeletedFolderHeader": "Verwijderde map",
"SystemFolderConfigDialog_DraftFolderDescription": "New mails/replies will be crafted in here.",
"SystemFolderConfigDialog_DraftFolderHeader": "Concepten map",
"SystemFolderConfigDialog_JunkFolderDescription": "All spam/junk mails will be here.",
"SystemFolderConfigDialog_JunkFolderHeader": "Ongewenste map",
"SystemFolderConfigDialog_MessageFirstLine": "This IMAP server doesn't support SPECIAL-USE extension hence Wino couldn't setup the system folders properly.",
"SystemFolderConfigDialog_MessageSecondLine": "Please select the appropriate folders for specific functionalities.",
"SystemFolderConfigDialog_SentFolderDescription": "Folder that sent messages will be stored.",
"SystemFolderConfigDialog_SentFolderHeader": "Verzonden map",
"SystemFolderConfigDialog_Title": "Systeemmappen configureren",
"SystemFolderConfigDialogValidation_DuplicateSystemFolders": "Sommige systeemmappen worden meerdere malen gebruikt in de configuratie.",
"SystemFolderConfigDialogValidation_InboxSelected": "U kunt de map Inbox niet aan een andere systeemmap toewijzen.",
"SystemFolderConfigSetupSuccess_Message": "Systeemmappen zijn succesvol geconfigureerd.",
"SystemFolderConfigDialogValidation_DuplicateSystemFolders": "Some of the system folders are used more than once in the configuration.",
"SystemFolderConfigDialogValidation_InboxSelected": "You can't assign Inbox folder to any other system folder.",
"SystemFolderConfigSetupSuccess_Message": "System folders are successfully configured.",
"SystemFolderConfigSetupSuccess_Title": "Systeemmappen instellen",
"TestingImapConnectionMessage": "Bezig met testen van serververbinding...",
"TitleBarServerDisconnectedButton_Description": "Wino is van de netwerkverbinding verbroken. Klik op opnieuw verbinden om de verbinding te herstellen.",
"TitleBarServerDisconnectedButton_Title": "Geen verbinding",
"TitleBarServerReconnectButton_Title": "Opnieuw verbinden",
"TitleBarServerReconnectingButton_Title": "Aan het verbinden",
"TestingImapConnectionMessage": "Testing server connection...",
"TitleBarServerDisconnectedButton_Description": "Wino is disconnected from the network. Click reconnect to restore connection.",
"TitleBarServerDisconnectedButton_Title": "geen verbinding",
"TitleBarServerReconnectButton_Title": "opnieuw verbinden",
"TitleBarServerReconnectingButton_Title": "verbinden",
"Today": "Vandaag",
"UnknownAddress": "Onbekend adres",
"UnknownDateHeader": "Onbekende datum",
"UnknownGroupAddress": "Onbekend adres e-mailgroep",
"UnknownGroupAddress": "unknown Mail Group Address",
"UnknownSender": "Onbekende afzender",
"Unsubscribe": "Uitschrijven",
"Unsubscribe": "Afmelden",
"ViewContactDetails": "Bekijk details",
"WinoUpgradeDescription": "Wino biedt 3 gratis accounts om mee te starten. Als u meer dan 3 accounts nodig heeft, upgrade dan alstublieft",
"WinoUpgradeMessage": "Upgraden naar Onbeperkte aantal accounts",
"WinoUpgradeMessage": "Upgraden naar Onbeperkte accounts",
"WinoUpgradeRemainingAccountsMessage": "{0} van de {1} gratis accounts gebruikt.",
"Yesterday": "Gisteren",
"SettingsAppPreferences_EmailSyncInterval_Title": "Email sync interval",
"SettingsAppPreferences_EmailSyncInterval_Description": "Automatic email synchronization interval (minutes). This setting will be applied only after restarting Wino Mail."
"Yesterday": "Gisteren"
}

View File

@@ -262,8 +262,6 @@
"IMAPSetupDialog_AccountType": "Typ konta",
"IMAPSetupDialog_ValidationSuccess_Title": "Success",
"IMAPSetupDialog_ValidationSuccess_Message": "Validation successful",
"IMAPSetupDialog_SaveImapSuccess_Title": "Success",
"IMAPSetupDialog_SaveImapSuccess_Message": "IMAP settings saved successfuly.",
"IMAPSetupDialog_ValidationFailed_Title": "Weryfikacja serwera IMAP się nie powiodła.",
"IMAPSetupDialog_CertificateAllowanceRequired_Row0": "Ten serwer żąda SSL handshake, aby kontynuować. Proszę potwierdzić szczegóły certyfikatu poniżej.",
"IMAPSetupDialog_CertificateAllowanceRequired_Row1": "Zezwól na kontynuowanie konfiguracji konta przez handshake.",
@@ -521,7 +519,7 @@
"SettingsCustomTheme_Title": "Własny motyw",
"SettingsDeleteAccount_Description": "Usuń wszystkie e-maile i dane uwierzytelniające powiązane z tym kontem.",
"SettingsDeleteAccount_Title": "Usuń to konto",
"SettingsDeleteProtection_Description": "Should Wino ask you for confirmation every time you try to permanently delete a mail using Shift + Del keys?",
"SettingsDeleteProtection_Description": "Czy Wino powinno poprosić Cię o potwierdzenie za każdym razem, gdy próbujesz trwale usunąć wiadomość za pomocą kombinacji Shift + Del?",
"SettingsDeleteProtection_Title": "Ochrona przed trwałym usunięciem",
"SettingsDiagnostics_Description": "Dla programistów",
"SettingsDiagnostics_DiagnosticId_Description": "Share this ID with the developers when asked to get help for the issues you experience in Wino Mail.",
@@ -625,11 +623,6 @@
"SettingsShowPreviewText_Title": "Pokaż podgląd tekstu",
"SettingsShowSenderPictures_Description": "Ukryj/pokaż miniaturki zdjęć nadawcy.",
"SettingsShowSenderPictures_Title": "Pokaż awatary nadawcy",
"SettingsEnableGravatarAvatars_Title": "Gravatar",
"SettingsEnableGravatarAvatars_Description": "Use gravatar (if available) as sender picture",
"SettingsEnableFavicons_Title": "Domain icons (Favicons)",
"SettingsEnableFavicons_Description": "Use domain favicons (if available) as sender picture",
"SettingsMailList_ClearAvatarsCache_Button": "Clear cached avatars",
"SettingsSignature_AddCustomSignature_Button": "Dodaj podpis",
"SettingsSignature_AddCustomSignature_Title": "Dodaj własny podpis",
"SettingsSignature_DeleteSignature_Title": "Usuń podpis",
@@ -651,8 +644,6 @@
"SettingsThreads_Title": "Wątkowanie konwersacji",
"SettingsUnlinkAccounts_Description": "Usuń łącze pomiędzy kontami. To nie spowoduje usunięcie Twoich kont.",
"SettingsUnlinkAccounts_Title": "Odłącz konto",
"SettingsMailRendering_ActionLabels_Title": "Action labels",
"SettingsMailRendering_ActionLabels_Description": "Show action labels.",
"SignatureDeleteDialog_Message": "Czy na pewno chcesz usunąć podpis \"{0}\"?",
"SignatureDeleteDialog_Title": "Usuń podpis",
"SignatureEditorDialog_SignatureName_Placeholder": "Nazwij swój podpis",
@@ -698,9 +689,7 @@
"WinoUpgradeDescription": "Wino oferuje 3 konta za darmo. Jeśli potrzebujesz więcej niż trzy konta, proszę wykup pakiet dodający tę funkcję",
"WinoUpgradeMessage": "Ulepsz do nielimitowanych kont",
"WinoUpgradeRemainingAccountsMessage": "Wykorzystano {0} z {1} darmowych kont.",
"Yesterday": "Wczoraj",
"SettingsAppPreferences_EmailSyncInterval_Title": "Email sync interval",
"SettingsAppPreferences_EmailSyncInterval_Description": "Automatic email synchronization interval (minutes). This setting will be applied only after restarting Wino Mail."
"Yesterday": "Wczoraj"
}

View File

@@ -262,8 +262,6 @@
"IMAPSetupDialog_AccountType": "Tipo de conta",
"IMAPSetupDialog_ValidationSuccess_Title": "Êxito",
"IMAPSetupDialog_ValidationSuccess_Message": "Verificado com sucesso",
"IMAPSetupDialog_SaveImapSuccess_Title": "Sucesso",
"IMAPSetupDialog_SaveImapSuccess_Message": "Configurações do IMAP salvas com sucesso.",
"IMAPSetupDialog_ValidationFailed_Title": "Validação do servidor IMAP falhou.",
"IMAPSetupDialog_CertificateAllowanceRequired_Row0": "Este servidor está solicitando um Handshake SSL para continuar. Por favor, confirme os detalhes do certificado abaixo.",
"IMAPSetupDialog_CertificateAllowanceRequired_Row1": "Permitir que o handshake continue configurando a sua conta.",
@@ -521,7 +519,7 @@
"SettingsCustomTheme_Title": "Tema Personalizado",
"SettingsDeleteAccount_Description": "Apague todos os e-mails e credenciais associados a esta conta.",
"SettingsDeleteAccount_Title": "Apagar esta conta",
"SettingsDeleteProtection_Description": "O Wino deve solicitar confirmação sempre que você tentar excluir permanentemente um e-mail usando as teclas Shift + Del?",
"SettingsDeleteProtection_Description": "O Wino deveria pedir para confirmar toda vez que você tentar excluir permanentemente um e-mail usando as teclas Shift + Del?",
"SettingsDeleteProtection_Title": "Proteção de exclusão permanente",
"SettingsDiagnostics_Description": "Para desenvolvedores",
"SettingsDiagnostics_DiagnosticId_Description": "Compartilhe esta identificação com os desenvolvedores quando solicitado para obter ajuda para os problemas que você experimentar no Wino Mail.",
@@ -625,11 +623,6 @@
"SettingsShowPreviewText_Title": "Mostrar Pré-visualização de Texto",
"SettingsShowSenderPictures_Description": "Ocultar/exibir imagens do remetente da miniatura.",
"SettingsShowSenderPictures_Title": "Mostrar Avatares de Remetentes",
"SettingsEnableGravatarAvatars_Title": "Gravatar",
"SettingsEnableGravatarAvatars_Description": "Usar gravatar (se disponível) como imagem do remetente",
"SettingsEnableFavicons_Title": "Ícones de domínio (Favicons)",
"SettingsEnableFavicons_Description": "Usar os favicons de domínio (se disponível) como imagem do remetente",
"SettingsMailList_ClearAvatarsCache_Button": "Limpar cache de avatares",
"SettingsSignature_AddCustomSignature_Button": "Adicionar assinatura",
"SettingsSignature_AddCustomSignature_Title": "Adicionar assinatura personalizada",
"SettingsSignature_DeleteSignature_Title": "Excluir assinatura",
@@ -651,8 +644,6 @@
"SettingsThreads_Title": "* Encadeamento de conversas",
"SettingsUnlinkAccounts_Description": "Remova o vínculo entre as contas. Isso não excluirá suas contas.",
"SettingsUnlinkAccounts_Title": "Desvincular Contas",
"SettingsMailRendering_ActionLabels_Title": "Rótulos de ação",
"SettingsMailRendering_ActionLabels_Description": "Mostrar rótulos de ação.",
"SignatureDeleteDialog_Message": "Tem certeza que deseja excluir a assinatura \"{0}\"?",
"SignatureDeleteDialog_Title": "Excluir assinatura",
"SignatureEditorDialog_SignatureName_Placeholder": "Nomeie sua assinatura",
@@ -698,9 +689,7 @@
"WinoUpgradeDescription": "Wino oferece de graça 3 contas para começar. Se você precisar de mais de 3 contas, por favor, atualize",
"WinoUpgradeMessage": "Atualizar para Contas Ilimitadas",
"WinoUpgradeRemainingAccountsMessage": "{0} de {1} contas gratuitas usadas.",
"Yesterday": "Ontem",
"SettingsAppPreferences_EmailSyncInterval_Title": "Intervalo de sincronização de e-mail",
"SettingsAppPreferences_EmailSyncInterval_Description": "Intervalo de sincronização automática de e-mails (minutos). Esta configuração será aplicada apenas após reiniciar o Wino Mail."
"Yesterday": "Ontem"
}

View File

@@ -262,8 +262,6 @@
"IMAPSetupDialog_AccountType": "Tip cont",
"IMAPSetupDialog_ValidationSuccess_Title": "Succes",
"IMAPSetupDialog_ValidationSuccess_Message": "Validare reușită",
"IMAPSetupDialog_SaveImapSuccess_Title": "Success",
"IMAPSetupDialog_SaveImapSuccess_Message": "IMAP settings saved successfuly.",
"IMAPSetupDialog_ValidationFailed_Title": "Validarea serverului IMAP a eșuat.",
"IMAPSetupDialog_CertificateAllowanceRequired_Row0": "Acest server solicită un SSL handshake pentru a continua. Vă rugăm să confirmați detaliile certificatului de mai jos.",
"IMAPSetupDialog_CertificateAllowanceRequired_Row1": "Permiteți handshake-ului să continue configurarea contului.",
@@ -521,7 +519,7 @@
"SettingsCustomTheme_Title": "Temă Personalizată",
"SettingsDeleteAccount_Description": "Ștergeți toate e-mail-urile și acreditările asociate cu acest cont.",
"SettingsDeleteAccount_Title": "Ștergeți acest cont",
"SettingsDeleteProtection_Description": "Should Wino ask you for confirmation every time you try to permanently delete a mail using Shift + Del keys?",
"SettingsDeleteProtection_Description": "Ar trebui ca Wino să vă ceară o confirmare de fiecare dată când încercați să ștergeți definitiv un e-mail folosind tastele Shift + Del?",
"SettingsDeleteProtection_Title": "Protecție Ștergere Permanentă",
"SettingsDiagnostics_Description": "Pentru dezvoltatori",
"SettingsDiagnostics_DiagnosticId_Description": "Partajați acest ID cu dezvoltatorii atunci când le cereți ajutor pentru problemele pe care le întâmpinați în Wino Mail.",
@@ -625,11 +623,6 @@
"SettingsShowPreviewText_Title": "Afișează textul de previzualizare",
"SettingsShowSenderPictures_Description": "Ascundeți/afișați miniaturi imagini expeditor.",
"SettingsShowSenderPictures_Title": "Afișați avatarele expeditorului",
"SettingsEnableGravatarAvatars_Title": "Gravatar",
"SettingsEnableGravatarAvatars_Description": "Use gravatar (if available) as sender picture",
"SettingsEnableFavicons_Title": "Domain icons (Favicons)",
"SettingsEnableFavicons_Description": "Use domain favicons (if available) as sender picture",
"SettingsMailList_ClearAvatarsCache_Button": "Clear cached avatars",
"SettingsSignature_AddCustomSignature_Button": "Adăugare semnătură",
"SettingsSignature_AddCustomSignature_Title": "Adăugare semnătură personalizată",
"SettingsSignature_DeleteSignature_Title": "Ștergere semnătură",
@@ -651,8 +644,6 @@
"SettingsThreads_Title": "Aranjare mesaje în conversație",
"SettingsUnlinkAccounts_Description": "Eliminați legătura dintre conturi. Acest lucru nu va șterge conturile dvs.",
"SettingsUnlinkAccounts_Title": "Deasociere Conturi",
"SettingsMailRendering_ActionLabels_Title": "Action labels",
"SettingsMailRendering_ActionLabels_Description": "Show action labels.",
"SignatureDeleteDialog_Message": "Sigur doriți să ștergeți semnătura „{0}”?",
"SignatureDeleteDialog_Title": "Ștergeți semnătura",
"SignatureEditorDialog_SignatureName_Placeholder": "Numiți-vă semnătura",
@@ -698,9 +689,7 @@
"WinoUpgradeDescription": "Wino oferă 3 conturi pentru început gratuit. Dacă aveți nevoie de mai mult de 3 conturi, vă rugăm să faceți upgrade",
"WinoUpgradeMessage": "Upgrade la Conturi Nelimitate",
"WinoUpgradeRemainingAccountsMessage": "{0} din {1} conturi gratuite folosite.",
"Yesterday": "Ieri",
"SettingsAppPreferences_EmailSyncInterval_Title": "Email sync interval",
"SettingsAppPreferences_EmailSyncInterval_Description": "Automatic email synchronization interval (minutes). This setting will be applied only after restarting Wino Mail."
"Yesterday": "Ieri"
}

View File

@@ -262,8 +262,6 @@
"IMAPSetupDialog_AccountType": "Тип учетной записи",
"IMAPSetupDialog_ValidationSuccess_Title": "Success",
"IMAPSetupDialog_ValidationSuccess_Message": "Validation successful",
"IMAPSetupDialog_SaveImapSuccess_Title": "Success",
"IMAPSetupDialog_SaveImapSuccess_Message": "IMAP settings saved successfuly.",
"IMAPSetupDialog_ValidationFailed_Title": "IMAP Server validation failed.",
"IMAPSetupDialog_CertificateAllowanceRequired_Row0": "This server is requesting a SSL handshake to continue. Please confirm the certificate details below.",
"IMAPSetupDialog_CertificateAllowanceRequired_Row1": "Allow the handshake to continue setting up your account.",
@@ -521,7 +519,7 @@
"SettingsCustomTheme_Title": "Пользовательская тема",
"SettingsDeleteAccount_Description": "Удалите все письма и учетные данные, связанные с этой учетной записью.",
"SettingsDeleteAccount_Title": "Удалить эту учетную запись",
"SettingsDeleteProtection_Description": "Should Wino ask you for confirmation every time you try to permanently delete a mail using Shift + Del keys?",
"SettingsDeleteProtection_Description": "Должен ли Wino запрашивать у вас подтверждение каждый раз, когда вы пытаетесь окончательно удалить письмо с помощью клавиш Shift + Del?",
"SettingsDeleteProtection_Title": "Защита от окончательного удаления",
"SettingsDiagnostics_Description": "Для разработчиков",
"SettingsDiagnostics_DiagnosticId_Description": "Share this ID with the developers when asked to get help for the issues you experience in Wino Mail.",
@@ -625,11 +623,6 @@
"SettingsShowPreviewText_Title": "Показать текст предпросмотра",
"SettingsShowSenderPictures_Description": "Скрыть/показать миниатюру изображения отправителя.",
"SettingsShowSenderPictures_Title": "Показывать аватары отправителя",
"SettingsEnableGravatarAvatars_Title": "Gravatar",
"SettingsEnableGravatarAvatars_Description": "Use gravatar (if available) as sender picture",
"SettingsEnableFavicons_Title": "Domain icons (Favicons)",
"SettingsEnableFavicons_Description": "Use domain favicons (if available) as sender picture",
"SettingsMailList_ClearAvatarsCache_Button": "Clear cached avatars",
"SettingsSignature_AddCustomSignature_Button": "Добавить подпись",
"SettingsSignature_AddCustomSignature_Title": "Добавить свою подпись",
"SettingsSignature_DeleteSignature_Title": "Удалить подпись",
@@ -651,8 +644,6 @@
"SettingsThreads_Title": "Беседы",
"SettingsUnlinkAccounts_Description": "Remove the link between accounts. his will not delete your accounts.",
"SettingsUnlinkAccounts_Title": "Отвязать учетные записи",
"SettingsMailRendering_ActionLabels_Title": "Action labels",
"SettingsMailRendering_ActionLabels_Description": "Show action labels.",
"SignatureDeleteDialog_Message": "Вы уверены, что хотите удалить подпись \"{0}\"?",
"SignatureDeleteDialog_Title": "Удалить подпись",
"SignatureEditorDialog_SignatureName_Placeholder": "Имя вашей подписи",
@@ -698,9 +689,7 @@
"WinoUpgradeDescription": "Wino предлагает 3 аккаунта для начала бесплатно. Если вам нужно больше 3 аккаунтов, пожалуйста, обновитесь",
"WinoUpgradeMessage": "Улучшить до неограниченного количества учетных записей",
"WinoUpgradeRemainingAccountsMessage": "Использовано {0} из {1} бесплатных учетных записей.",
"Yesterday": "Вчера",
"SettingsAppPreferences_EmailSyncInterval_Title": "Email sync interval",
"SettingsAppPreferences_EmailSyncInterval_Description": "Automatic email synchronization interval (minutes). This setting will be applied only after restarting Wino Mail."
"Yesterday": "Вчера"
}

View File

@@ -23,9 +23,9 @@
"AccountSettingsDialog_AccountName": "Zobrazované meno odosielateľa",
"AccountSettingsDialog_AccountNamePlaceholder": "napr. Ján Novák",
"AccountDetailsPage_Title": "Informácie o účte",
"AccountDetailsPage_Description": "Zmena názvu účtu vo Wino a nastavenie požadovaného názvu odosielateľa.",
"AccountDetailsPage_Description": "Zmení názov účtu vo Wino a nastaví požadovaný názov odosielateľa.",
"AccountDetailsPage_ColorPicker_Title": "Farba účtu",
"AccountDetailsPage_ColorPicker_Description": "Priradenie farby novému účtu na zafarbenie jeho symbolu v zozname.",
"AccountDetailsPage_ColorPicker_Description": "Priradí farbu novému účtu na zafarbenie jeho symbolu v zozname.",
"AddHyperlink": "Pridať",
"AppCloseBackgroundSynchronizationWarningTitle": "Synchronizácia na pozadí",
"AppCloseStartupLaunchDisabledWarningMessageFirstLine": "Aplikácia sa nebude spúšťať pri spustení systému Windows.",
@@ -79,9 +79,9 @@
"CalendarAllDayEventSummary": "celodenné udalosti",
"CalendarDisplayOptions_Color": "Farba",
"CalendarDisplayOptions_Expand": "Rozšíriť",
"CalendarItem_DetailsPopup_JoinOnline": "Pripojiť online",
"CalendarItem_DetailsPopup_JoinOnline": "Join online",
"CalendarItem_DetailsPopup_ViewEventButton": "Zobraziť udalosť",
"CalendarItem_DetailsPopup_ViewSeriesButton": "Zobraziť sériu",
"CalendarItem_DetailsPopup_ViewSeriesButton": "View series",
"CalendarItemAllDay": "celý deň",
"CategoriesFolderNameOverride": "Kategórie",
"Center": "Na stred",
@@ -98,7 +98,7 @@
"ComposerToPlaceholder": "na vloženie adresy stlačte enter",
"CreateAccountAliasDialog_AliasAddress": "Adresa",
"CreateAccountAliasDialog_AliasAddressPlaceholder": "napr. podpora@mojadomena.sk",
"CreateAccountAliasDialog_Description": "Uistite sa, že server odchádzajúcej pošty umožňuje odosielanie správ z tohto aliasu.",
"CreateAccountAliasDialog_Description": "Uistite sa, že server odchádzajúcej pošty umožňuje odosielanie e-mailov z tohto aliasu.",
"CreateAccountAliasDialog_ReplyToAddress": "Adresa na odpoveď",
"CreateAccountAliasDialog_ReplyToAddressPlaceholder": "spravca@mojadomena.sk",
"CreateAccountAliasDialog_Title": "Vytvoriť alias účtu",
@@ -121,7 +121,7 @@
"DialogMessage_AliasNotSelectedTitle": "Chýbajúci alias",
"DialogMessage_CantDeleteRootAliasMessage": "Koreňový alias nie je možné odstrániť. Je to vaša hlavná identita spojená s nastavením vášho účtu.",
"DialogMessage_CantDeleteRootAliasTitle": "Nie je možné odstrániť alias",
"DialogMessage_CleanupFolderMessage": "Chcete natrvalo odstrániť všetky správy v tomto priečinku?",
"DialogMessage_CleanupFolderMessage": "Chcete natrvalo odstrániť všetky e-maily v tomto priečinku?",
"DialogMessage_CleanupFolderTitle": "Vyprázdnenie priečinka",
"DialogMessage_ComposerMissingRecipientMessage": "Správa musí obsahovať príjemcu.",
"DialogMessage_ComposerValidationFailedTitle": "Overenie zlyhalo",
@@ -142,7 +142,7 @@
"DialogMessage_InvalidAliasTitle": "Neplatný alias",
"DialogMessage_NoAccountsForCreateMailMessage": "Nemáte žiadne účty, aby ste mohli vytvoriť správu.",
"DialogMessage_NoAccountsForCreateMailTitle": "Chýbajúci účet",
"DialogMessage_PrintingFailedMessage": "Túto správu sa nepodarilo vytlačiť. Výsledok: {0}",
"DialogMessage_PrintingFailedMessage": "Tento e-mail sa nepodarilo vytlačiť. Výsledok: {0}",
"DialogMessage_PrintingFailedTitle": "Neúspešné",
"DialogMessage_PrintingSuccessMessage": "Správa bola odoslaná do tlačiarne.",
"DialogMessage_PrintingSuccessTitle": "Úspešné",
@@ -154,7 +154,7 @@
"DialogMessage_UnlinkAccountsConfirmationTitle": "Odpojiť účty",
"DialogMessage_UnsubscribeConfirmationGoToWebsiteConfirmButton": "Prejsť na webstránku",
"DialogMessage_UnsubscribeConfirmationGoToWebsiteMessage": "Ak nechcete dostávať správy od {0}, prejdite na ich webovú stránku a odhláste sa z odberu.",
"DialogMessage_UnsubscribeConfirmationMailtoMessage": "Nechcete dostávať správy od {0}? Wino zruší odber za vás odoslaním správy z vášho e-mailového účtu na adresu {1}.",
"DialogMessage_UnsubscribeConfirmationMailtoMessage": "Nechcete dostávať správy od {0}? Wino zruší odber za vás odoslaním e-mailu z vášho e-mailového účtu na adresu {1}.",
"DialogMessage_UnsubscribeConfirmationOneClickMessage": "Nechcete dostávať správy od {0}?",
"DialogMessage_UnsubscribeConfirmationTitle": "Zrušiť odber",
"DiscordChannelDisclaimerMessage": "Wino nemá vlastný Discord server, ale špeciálny kanál 'wino-mail' je umiestnený na serveri 'Developer Sanctuary'.\nAk chcete získať aktuálne informácie o Wino, pripojte sa k serveru Developer Sanctuary a sledujte kanál 'wino-mail' v časti 'Community Projects'.\n\nBudete presmerovaní na adresu URL servera, pretože Discord nepodporuje pozvánky na kanály.",
@@ -214,7 +214,7 @@
"FolderOperation_Empty": "Vyprázdniť tento priečinok",
"FolderOperation_MarkAllAsRead": "Označiť všetko ako prečítané",
"FolderOperation_Move": "Presunúť",
"FolderOperation_None": "Žiadne",
"FolderOperation_None": "None",
"FolderOperation_Pin": "Pripnúť",
"FolderOperation_Rename": "Premenovať",
"FolderOperation_Unpin": "Odopnúť",
@@ -262,8 +262,6 @@
"IMAPSetupDialog_AccountType": "Typ účtu",
"IMAPSetupDialog_ValidationSuccess_Title": "Úspešné",
"IMAPSetupDialog_ValidationSuccess_Message": "Overenie úspešné",
"IMAPSetupDialog_SaveImapSuccess_Title": "Success",
"IMAPSetupDialog_SaveImapSuccess_Message": "IMAP settings saved successfuly.",
"IMAPSetupDialog_ValidationFailed_Title": "Overenie servera IMAP zlyhalo.",
"IMAPSetupDialog_CertificateAllowanceRequired_Row0": "Tento server žiada o SSL handshake na pokračovanie. Potvrďte, prosím, údaje o certifikáte uvedené nižšie.",
"IMAPSetupDialog_CertificateAllowanceRequired_Row1": "Povoľte handshake a pokračujte v nastavovaní účtu.",
@@ -294,7 +292,7 @@
"IMAPSetupDialog_Title": "Pokročilá konfigurácia IMAP",
"IMAPSetupDialog_Username": "Používateľské meno",
"IMAPSetupDialog_UsernamePlaceholder": "jan.novak, jan.novak@mai.sk, mail.sk/jan.novak",
"IMAPSetupDialog_UseSameConfig": "Na odosielanie správy použiť rovnaké používateľské meno a heslo",
"IMAPSetupDialog_UseSameConfig": "Na odosielanie e-mailu použiť rovnaké používateľské meno a heslo",
"Info_AccountCreatedMessage": "Vytvorený účet {0}",
"Info_AccountCreatedTitle": "Vytvorenie účtu",
"Info_AccountCreationFailedTitle": "Vytvorenie účtu zlyhalo",
@@ -325,13 +323,13 @@
"Info_FileLaunchFailedTitle": "Nepodarilo sa spustiť súbor",
"Info_InvalidAddressMessage": "'{0}' nie je platná e-mailová adresa.",
"Info_InvalidAddressTitle": "Neplatná adresa",
"Info_InvalidMoveTargetMessage": "Nemôžete presunúť vybrané správy do tohto priečinka.",
"Info_InvalidMoveTargetMessage": "Nemôžete presunúť vybrané e-maily do tohto priečinka.",
"Info_InvalidMoveTargetTitle": "Neplatný priečinok na presun",
"Info_LogsNotFoundMessage": "Nie sú žiadne logy na zdieľanie.",
"Info_LogsNotFoundTitle": "Logy sa nenašli",
"Info_LogsSavedMessage": "{0} uložené do vybraného priečinka.",
"Info_LogsSavedTitle": "Uložené",
"Info_MailListSizeResetSuccessMessage": "Veľkosť zoznamu správ bola obnovená.",
"Info_MailListSizeResetSuccessMessage": "Veľkosť zoznamu e-mailov bola obnovená.",
"Info_MailRenderingFailedMessage": "Táto pošta je poškodená alebo sa nedá otvoriť.\n{0}",
"Info_MailRenderingFailedTitle": "Vykreslenie zlyhalo",
"Info_MessageCorruptedMessage": "Táto správa je poškodená.",
@@ -394,17 +392,17 @@
"MailOperation_MoveFocused": "Presunúť do Prioritné",
"MailOperation_MoveJunk": "Presunúť do Nevyžiadaná pošta",
"MailOperation_MoveOther": "Presunúť do Iné",
"MailOperation_Navigate": "Prejsť",
"MailOperation_Navigate": "Navigate",
"MailOperation_Print": "Tlačiť",
"MailOperation_Reply": "Odpovedať",
"MailOperation_ReplyAll": "Odpovedať všetkým",
"MailOperation_SaveAs": "Uložiť ako",
"MailOperation_SetFlag": "Priradiť označenie",
"MailOperation_SetFlag": "Nastaviť označenie",
"MailOperation_Unarchive": "Obnoviť z archívu",
"MailOperation_ViewMessageSource": "Zobraziť zdroj správy",
"MailOperation_Zoom": "Priblížiť",
"MailsSelected": "Označené položky: {0}",
"MarkFlagUnflag": "Označiť ako označené/neoznačené",
"MarkFlagUnflag": "Mark as flagged/unflagged",
"MarkReadUnread": "Označiť ako prečítané/neprečítané",
"MenuManageAccounts": "Spravovať účty",
"MenuMergedAccountItemAccountsSuffix": " účty",
@@ -467,26 +465,26 @@
"SearchPivotName": "Výsledky",
"SettingConfigureSpecialFolders_Button": "Konfigurovať",
"SettingsEditAccountDetails_IMAPConfiguration_Title": "Konfigurácia IMAP/SMTP",
"SettingsEditAccountDetails_IMAPConfiguration_Description": "Zmena nastavenia prichádzajúceho/odchádzajúceho servera.",
"SettingsEditAccountDetails_IMAPConfiguration_Description": "Zmeňte nastavenia prichádzajúceho/odchádzajúceho servera.",
"SettingsAbout_Description": "Ďalšie informácie o Wino.",
"SettingsAbout_Title": "O aplikácii",
"SettingsAboutGithub_Description": "Prejsť na systém sledovania chýb repozitára na Githube.",
"SettingsAboutGithub_Title": "GitHub",
"SettingsAboutVersion": "Verzia ",
"SettingsAboutWinoDescription": "Zjednodušený poštový klient pre zariadenia s Windowsom.",
"SettingsAccentColor_Description": "Zmena farby motívu aplikácie",
"SettingsAccentColor_Description": "Zmení farbu motívu aplikácie",
"SettingsAccentColor_Title": "Farba motívu",
"SettingsAccentColor_UseWindowsAccentColor": "Použiť moju farbu motívu z Windowsu",
"SettingsAccountManagementAppendMessage_Description": "Vytvor kópiu správy v priečinku Odoslané po odoslaní konceptu. Túto funkciu zapnite, ak po odoslaní správy v priečinku Odoslané nevidíte svoje správy.",
"SettingsAccountManagementAppendMessage_Description": "Vytvorí kópiu správy v priečinku Odoslané po odoslaní konceptu. Túto funkciu zapnite, ak po odoslaní pošty v priečinku Odoslané nevidíte svoje správy.",
"SettingsAccountManagementAppendMessage_Title": "Pripojiť správy do priečinka Odoslané",
"SettingsAccountName_Description": "Zmena názvu účtu.",
"SettingsAccountName_Description": "Zmení názov účtu.",
"SettingsAccountName_Title": "Názov účtu",
"SettingsApplicationTheme_Description": "Prispôsobte si Wino pomocou rôznych vlastných motívov aplikácie, ktoré sa vám budú páčiť.",
"SettingsApplicationTheme_Title": "Motív aplikácie",
"SettingsAppPreferences_CloseBehavior_Description": "Čo sa má stať po zatvorení aplikácie?",
"SettingsAppPreferences_CloseBehavior_Title": "Akcia pri zatváraní aplikácie",
"SettingsAppPreferences_Description": "Všeobecné nastavenia/predvoľby pre Wino Mail.",
"SettingsAppPreferences_SearchMode_Description": "Nastavte, či má Wino pri vyhľadávaní najprv skontrolovať načítané správy, alebo vyhľadávať online. Lokálne vyhľadávanie je vždy rýchlejšie a vždy môžete vykonať online vyhľadávanie, ak sa vaša pošta nenachádza vo výsledkoch vyhľadávania.",
"SettingsAppPreferences_Description": "Všeobecné nastavenia / predvoľby pre Wino Mail.",
"SettingsAppPreferences_SearchMode_Description": "Nastavte, či má Wino pri vyhľadávaní najprv skontrolovať načítané e-maily, alebo vyhľadávať online. Lokálne vyhľadávanie je vždy rýchlejšie a vždy môžete vykonať online vyhľadávanie, ak sa vaša pošta nenachádza vo výsledkoch vyhľadávania.",
"SettingsAppPreferences_SearchMode_Local": "Lokálne",
"SettingsAppPreferences_SearchMode_Online": "Online",
"SettingsAppPreferences_SearchMode_Title": "Predvolený režim vyhľadávania",
@@ -496,7 +494,7 @@
"SettingsAppPreferences_ServerBackgroundingMode_MinimizeTray_Title": "Minimalizovať na panel úloh",
"SettingsAppPreferences_ServerBackgroundingMode_Terminate_Description": "Wino Mail nebude nikde bežať. Nebudete upozornení na príchod novej pošty. Ak chcete pokračovať v synchronizácii pošty, znovu spustite Wino Mail.",
"SettingsAppPreferences_ServerBackgroundingMode_Terminate_Title": "Ukončiť",
"SettingsAppPreferences_StartupBehavior_Description": "Povoliť aplikácii Wino Mail, aby sa spúšťala minimalizovaná pri spustení Windowsu. Stále umožňuje prijímať oznámenia.",
"SettingsAppPreferences_StartupBehavior_Description": "Povoľuje, aby sa aplikácia Wino Mail spúšťala minimalizovaná pri spustení Windowsu. Stále umožňuje prijímať oznámenia.",
"SettingsAppPreferences_StartupBehavior_Disable": "Zakázať",
"SettingsAppPreferences_StartupBehavior_Disabled": "Wino Mail sa nespustí pri spustení Windowsu. To spôsobí, že po reštarte počítača vám nebudú zobrazovať oznámenia.",
"SettingsAppPreferences_StartupBehavior_DisabledByPolicy": "Správca alebo skupinové politiky zakázali spúšťanie aplikácií pri spustení. Wino Mail teda nie je možné nastaviť tak, aby sa spúšťal pri spustení Windowsu.",
@@ -510,18 +508,18 @@
"SettingsAutoSelectNextItem_Title": "Automaticky vybrať ďalšiu položku",
"SettingsAvailableThemes_Description": "Vyberte motív z vlastnej kolekcie Wino podľa svojho vkusu alebo použite vlastné motívy.",
"SettingsAvailableThemes_Title": "Dostupné motívy",
"SettingsCalendarSettings_Description": "Zmena prvého dňa v týždni, výška bunky hodiny a ďalšie…",
"SettingsCalendarSettings_Description": "Change first day of week, hour cell height and more...",
"SettingsCalendarSettings_Title": "Nastavenia kalendára",
"SettingsComposer_Title": "Editor",
"SettingsComposerFont_Title": "Predvolené písmo editora",
"SettingsComposerFontFamily_Description": "Zmena predvolenej rodiny písma a veľkosť písma pri písaní správ.",
"SettingsComposerFontFamily_Description": "Zmení predvolenú rodinu písma a veľkosť písma pri písaní správ.",
"SettingsConfigureSpecialFolders_Description": "Nastavenie priečinkov so špeciálnymi funkciami. Priečinky ako Archív, Doručená pošta a Koncepty sú nevyhnutné pre správne fungovanie aplikácie Wino.",
"SettingsConfigureSpecialFolders_Title": "Konfigurácia systémových priečinkov",
"SettingsCustomTheme_Description": "Vytvorte si vlastný motív s vlastným pozadím a farbou motívu.",
"SettingsCustomTheme_Title": "Vlastný motív",
"SettingsDeleteAccount_Description": "Odstránenie všetkých správ a prihlasovacích údajov spojených s týmto účtom.",
"SettingsDeleteAccount_Description": "Odstráni všetky správy a prihlasovacie údaje spojené s týmto účtom.",
"SettingsDeleteAccount_Title": "Odstrániť tento účet",
"SettingsDeleteProtection_Description": "Should Wino ask you for confirmation every time you try to permanently delete a mail using Shift + Del keys?",
"SettingsDeleteProtection_Description": "Mal by vás Wino žiadať o potvrdenie vždy, keď budete chcieť trvalo odstrániť poštu pomocou klávesov Shift + Del?",
"SettingsDeleteProtection_Title": "Ochrana pred trvalým odstránením",
"SettingsDiagnostics_Description": "Pre vývojárov",
"SettingsDiagnostics_DiagnosticId_Description": "Zdieľajte toto ID s vývojármi, keď budete požiadaní o pomoc pri problémoch, ktoré sa vám vyskytnú v aplikácii Wino Mail.",
@@ -529,178 +527,169 @@
"SettingsDiagnostics_Title": "Diagnostika",
"SettingsDiscord_Description": "Získajte pravidelné informácie o vývoji, zapojte sa do diskusií o pláne vývoja a poskytnite spätnú väzbu.",
"SettingsDiscord_Title": "Kanál Discord",
"SettingsEditLinkedInbox_Description": "Pridať/odstrániť účty, premenovať alebo zrušiť prepojenie medzi účtami.",
"SettingsEditLinkedInbox_Title": "Upraviť prepojenie priečinka doručenej pošty",
"SettingsElementTheme_Description": "Vyberte Windows motív pre Wino",
"SettingsElementTheme_Title": "Motív prvku",
"SettingsElementThemeSelectionDisabled": "Výber motívu prvku je zakázaný, ak je vybraný iný motív aplikácie ako predvolený.",
"SettingsEnableHoverActions_Title": "Zapnúť akcie pri prechode myšou",
"SettingsEnableIMAPLogs_Description": "Povoliť poskytnutie podrobností o problémoch s pripojením IMAP, ktoré ste mali počas nastavenia servera IMAP.",
"SettingsEnableIMAPLogs_Title": "Povoliť logy protokolu IMAP",
"SettingsEnableLogs_Description": "Na diagnostiku problémov, ktoré ste otvorili na GitHube, budem možno potrebovať logy o pádoch. Žiadne z protokolov nezverejnia vaše prihlasovacie údaje ani citlivé informácie.",
"SettingsEnableLogs_Title": "Zapnúť logy",
"SettingsEnableSignature": "Zapnúť podpis",
"SettingsExpandOnStartup_Description": "Nastavte, či má Wino pri spustení rozbaliť priečinky tohto účtu.",
"SettingsExpandOnStartup_Title": "Rozbalenie ponuky pri spustení",
"SettingsExternalContent_Description": "Správa nastavení externého obsahu pri zobrazovaní správ.",
"SettingsExternalContent_Title": "Externý obsah",
"SettingsFocusedInbox_Description": "Nastavte, či sa má schránka doručených správ rozdeliť na dve časti ako Prioritné Iné.",
"SettingsFocusedInbox_Title": "Prioritné",
"SettingsFolderMenuStyle_Description": "Zmena, či priečinky účtu majú byť vnorené do položky ponuky účtu alebo nie. Prepnite, ak sa vám páči starý systém ponuky vo Windows Mail",
"SettingsFolderMenuStyle_Title": "Vytvoriť vnorené priečinky",
"SettingsFolderOptions_Description": "Zmena nastavení jednotlivých priečinkov, napríklad zapnutie/vypnutie synchronizácie alebo zobrazenie/skrytie odznaku neprečítaného.",
"SettingsFolderOptions_Title": "Konfigurácia priečinka",
"SettingsFolderSync_Description": "Zapnúť alebo vypnúť synchronizáciu pre konkrétne priečinky.",
"SettingsFolderSync_Title": "Synchronizácia priečinkov",
"SettingsFontFamily_Title": "Rodina písma",
"SettingsFontPreview_Title": "Náhľad",
"SettingsFontSize_Title": "Veľkosť písma",
"SettingsHoverActionCenter": "Stredná akcia",
"SettingsHoverActionLeft": "Ľavá akcia",
"SettingsHoverActionRight": "Pravá akcia",
"SettingsHoverActions_Description": "Vyberte 3 akcie, ktoré sa zobrazia, keď kurzorom prejdete na správy.",
"SettingsHoverActions_Title": "Akcie pri prejdení myšou",
"SettingsLanguage_Description": "Zmeniť jazyk aplikácie Wino.",
"SettingsEditLinkedInbox_Description": "Add / remove accounts, rename or break the link between accounts.",
"SettingsEditLinkedInbox_Title": "Edit Linked Inbox",
"SettingsElementTheme_Description": "Select a Windows theme for Wino",
"SettingsElementTheme_Title": "Element Theme",
"SettingsElementThemeSelectionDisabled": "Element theme selection is disabled when application theme is selected other than Default.",
"SettingsEnableHoverActions_Title": "Enable hover actions",
"SettingsEnableIMAPLogs_Description": "Enable this to provide details about IMAP connectivity issuses you had during IMAP server setup.",
"SettingsEnableIMAPLogs_Title": "Enable IMAP Protocol Logs",
"SettingsEnableLogs_Description": "I might need logs for crashes to diagnose issues you have opened in GitHub. None of the logs will expose your credentials or sensetive information to public.",
"SettingsEnableLogs_Title": "Enable Logs",
"SettingsEnableSignature": "Enable Signature",
"SettingsExpandOnStartup_Description": "Set whether Wino should expand this account's folders on startup.",
"SettingsExpandOnStartup_Title": "Expand Menu on Startup",
"SettingsExternalContent_Description": "Manage external content settings when rendering mails.",
"SettingsExternalContent_Title": "External Content",
"SettingsFocusedInbox_Description": "Set whether Inbox should be split into two as Focused - Other.",
"SettingsFocusedInbox_Title": "Focused Inbox",
"SettingsFolderMenuStyle_Description": "Change whether account folders should be nested inside an account menu item or not. Toggle this off if you like the old menu system in Windows Mail",
"SettingsFolderMenuStyle_Title": "Create Nested Folders",
"SettingsFolderOptions_Description": "Change individual folder settings like enable/disable sync or show/hide unread badge.",
"SettingsFolderOptions_Title": "Folder Configuration",
"SettingsFolderSync_Description": "Enable or disable specific folders for synchronization.",
"SettingsFolderSync_Title": "Folder Synchronization",
"SettingsFontFamily_Title": "Font Family",
"SettingsFontPreview_Title": "Preview",
"SettingsFontSize_Title": "Font Size",
"SettingsHoverActionCenter": "Center Action",
"SettingsHoverActionLeft": "Left Action",
"SettingsHoverActionRight": "Right Action",
"SettingsHoverActions_Description": "Select 3 actions to show up when you hover over the mails with cursor.",
"SettingsHoverActions_Title": "Hover Actions",
"SettingsLanguage_Description": "Change display language for Wino.",
"SettingsLanguage_Title": "Jazyk",
"SettingsLanguageTime_Description": "Jazyk zobrazenia Wino, preferovaný formát času.",
"SettingsLanguageTime_Title": "Jazyk a čas",
"SettingsLinkAccounts_Description": "Zlúčenie viacerých účtov do jedného. Zobrazí všetky správy z účtov na jednom mieste.",
"SettingsLinkAccounts_Title": "Vytvoriť prepojené účty",
"SettingsLinkedAccountsSave_Description": "Úprava aktuálneho prepojenia s novými účtami.",
"SettingsLinkedAccountsSave_Description": "Upraví aktuálne prepojenie s novými účtami.",
"SettingsLinkedAccountsSave_Title": "Uložiť zmeny",
"SettingsLoadImages_Title": "Automatické načítanie obrázkov",
"SettingsLoadPlaintextLinks_Title": "Konverzia obyčajných textových odkazov na odkazy, na ktoré sa dá kliknúť",
"SettingsLoadStyles_Title": "Automatické načítanie štýlov",
"SettingsMailListActionBar_Description": "Zobraz/skryť panel akcií v hornej časti zoznamu správ.",
"SettingsMailListActionBar_Description": "Zobrazí/skryje panel akcií v hornej časti zoznamu správ.",
"SettingsMailListActionBar_Title": "Zobrazenie akcií zoznamu správ",
"SettingsMailSpacing_Description": "Uprav rozstupy medzi správami v zozname.",
"SettingsMailSpacing_Description": "Upraví rozstupy medzi správami v zozname.",
"SettingsMailSpacing_Title": "Rozstup medzi správami",
"SettingsManageAccountSettings_Description": "Oznámenia, podpisy, synchronizácia a ďalšie nastavenia pre jednotlivé účty.",
"SettingsManageAccountSettings_Title": "Správa nastavení účtov",
"SettingsManageAliases_Description": "Pozrite si e-mailové aliasy priradené tomuto účtu, aktualizujte ich alebo odstráňte.",
"SettingsManageAliases_Title": "Aliasy",
"SettingsEditAccountDetails_Title": "Úprava podrobností o účte",
"SettingsEditAccountDetails_Description": "Zmeňte názov účtu, meno odosielateľa a priraďte novú farbu, ak chcete.",
"SettingsManageLink_Description": "Presunutím položiek môžete pridať nové prepojenie alebo odstrániť existujúce prepojenie.",
"SettingsManageLink_Title": "Správa prepojení",
"SettingsMarkAsRead_Description": "Zmena toho, čo sa má stať s vybranou položkou.",
"SettingsMarkAsRead_DontChange": "Neoznačovať automaticky položku ako prečítanú",
"SettingsMarkAsRead_SecondsToWait": "Čakanie (sekundy): ",
"SettingsMarkAsRead_Timer": "Pri zobrazení na table na čítanie",
"SettingsMarkAsRead_Title": "Označiť položku ako prečítanú",
"SettingsMarkAsRead_WhenSelected": "Po výbere",
"SettingsMessageList_Description": "Zmena spôsobu usporiadania správ v zozname správ.",
"SettingsMessageList_Title": "Zoznam správ",
"SettingsNoAccountSetupMessage": "Zatiaľ ste nenastavili žiadne účty.",
"SettingsNotifications_Description": "Zapnutie alebo vypnutie oznámení pre tento účet.",
"SettingsNotifications_Title": "Oznámenia",
"SettingsNotificationsAndTaskbar_Description": "Zmena zobrazenia oznámení a odznaku na paneli úloh pre tento účet.",
"SettingsNotificationsAndTaskbar_Title": "Oznámenia a panel úloh",
"SettingsOptions_Title": "Nastavenia",
"SettingsPaneLengthReset_Description": "Ak máte problém so zoznamom správ, obnovte ho na predvolenú veľkosť.",
"SettingsPaneLengthReset_Title": "Obnoviť veľkosť zoznamu správ",
"SettingsPaypal_Description": "Prejavte oveľa viac lásky ❤️ Všetky dary sú vítané.",
"SettingsPaypal_Title": "Prispieť cez PayPal",
"SettingsPersonalization_Description": "Zmeňte vzhľad aplikácie Wino podľa svojich predstáv.",
"SettingsPersonalization_Title": "Prispôsobenie",
"SettingsPersonalizationMailDisplayCompactMode": "Kompaktný režim",
"SettingsPersonalizationMailDisplayMediumMode": "Stredný režim",
"SettingsPersonalizationMailDisplaySpaciousMode": "Priestranný režim",
"SettingsPrefer24HourClock_Description": "Časy prijatia správy sa budú zobrazovať v 24-hodinovom formáte namiesto 12-hodinového (AM/PM)",
"SettingsPrefer24HourClock_Title": "Zobraziť 24-hodinový formát času",
"SettingsPrivacyPolicy_Description": "Prečítajte si Ochranu osobných údajov.",
"SettingsPrivacyPolicy_Title": "Ochrany osobných údajov",
"SettingsReadComposePane_Description": "Písmo, externý obsah.",
"SettingsReadComposePane_Title": "Prehliadač a editor",
"SettingsReader_Title": "Prehliadač",
"SettingsReaderFont_Title": "Predvolené písmo prehliadača",
"SettingsReaderFontFamily_Description": "Zmena predvolenej rodiny a veľkosti písma na čítanie správ.",
"SettingsRenameMergeAccount_Description": "Zmena zobrazovaného názvu prepojených účtov.",
"SettingsRenameMergeAccount_Title": "Premenovať",
"SettingsReorderAccounts_Description": "Zmena poradia účtov v zozname účtov.",
"SettingsReorderAccounts_Title": "Zmena poradia účtov",
"SettingsSemanticZoom_Description": "Umožní vám kliknúť na záhlavie v zozname správ a prejsť na konkrétny dátum",
"SettingsSemanticZoom_Title": "Sémantické priblíženie pre záhlavie dátumu",
"SettingsShowPreviewText_Description": "Skryť/zobraziť text náhľadu.",
"SettingsShowPreviewText_Title": "Zobraziť náhľad textu",
"SettingsShowSenderPictures_Description": "Skryť/zobraziť miniatúry obrázkov odosielateľa.",
"SettingsShowSenderPictures_Title": "Zobraziť avatary odosielateľa",
"SettingsEnableGravatarAvatars_Title": "Gravatar",
"SettingsEnableGravatarAvatars_Description": "Use gravatar (if available) as sender picture",
"SettingsEnableFavicons_Title": "Domain icons (Favicons)",
"SettingsEnableFavicons_Description": "Use domain favicons (if available) as sender picture",
"SettingsMailList_ClearAvatarsCache_Button": "Clear cached avatars",
"SettingsSignature_AddCustomSignature_Button": "Pridať podpis",
"SettingsSignature_AddCustomSignature_Title": "Pridanie vlastného podpisu",
"SettingsSignature_DeleteSignature_Title": "Odstránenie podpisu",
"SettingsSignature_Description": "Správa podpisov účtu",
"SettingsSignature_EditSignature_Title": "Upravenie podpisu",
"SettingsSignature_ForFollowingMessages_Title": "Pre odpovede/preposlanie",
"SettingsSignature_ForNewMessages_Title": "Pre nové správy",
"SettingsSignature_NoneSignatureName": "Žiadny",
"SettingsSignature_SignatureDefaults": "Predvolené nastavenia podpisu",
"SettingsSignature_Signatures": "Podpisy",
"SettingsSignature_Title": "Podpis",
"SettingsStartupItem_Description": "Pri spustení zobraziť doručenú poštu pre tento účet.",
"SettingsStartupItem_Title": "Účet po spustení",
"SettingsStore_Description": "Ukážte trochu lásky ❤️",
"SettingsStore_Title": "Hodnotenie v Microsoft Store",
"SettingsTaskbarBadge_Description": "Zahrnúť počet neprečítaných správ do ikony na paneli úloh.",
"SettingsTaskbarBadge_Title": "Odznak na paneli úloh",
"SettingsThreads_Description": "Usporiadanie správ do konverzácií.",
"SettingsThreads_Title": "Zobrazenie v režime konverzácie",
"SettingsUnlinkAccounts_Description": "Odstránenie prepojenia medzi účtami. Tým sa vaše účty neodstránia.",
"SettingsUnlinkAccounts_Title": "Odpojenie účtov",
"SettingsMailRendering_ActionLabels_Title": "Action labels",
"SettingsMailRendering_ActionLabels_Description": "Show action labels.",
"SignatureDeleteDialog_Message": "Naozaj chcete odstrániť podpis \"{0}\"?",
"SignatureDeleteDialog_Title": "Odstránenie podpisu",
"SignatureEditorDialog_SignatureName_Placeholder": "Pomenujte podpis",
"SignatureEditorDialog_SignatureName_TitleEdit": "Aktuálny názov podpisu: {0}",
"SignatureEditorDialog_SignatureName_TitleNew": "Názov podpisu",
"SignatureEditorDialog_Title": "Editor podpisu",
"SortingOption_Date": "podľa dátumu",
"SortingOption_Name": "podľa mena",
"StoreRatingDialog_MessageFirstLine": "Všetky pripomienky sú vítané a urobia Wino oveľa lepším v budúcnosti. Chcete ohodnotiť Wino v obchode Microsoft Store?",
"StoreRatingDialog_MessageSecondLine": "Chcete ohodnotiť aplikáciu Wino Mail v obchode Microsoft Store?",
"StoreRatingDialog_Title": "Páči sa vám Wino?",
"SynchronizationFolderReport_Failed": "synchronizácia zlyhala",
"SynchronizationFolderReport_Success": "aktuálne",
"SystemFolderConfigDialog_ArchiveFolderDescription": "Archivované správy budú presunuté sem.",
"SystemFolderConfigDialog_ArchiveFolderHeader": "Priečinok Archív",
"SystemFolderConfigDialog_DeletedFolderDescription": "Odstránené správy budú presunuté sem.",
"SystemFolderConfigDialog_DeletedFolderHeader": "Odstránený priečinok",
"SystemFolderConfigDialog_DraftFolderDescription": "Nové správy/odpovede sa budú vytvárať tu.",
"SystemFolderConfigDialog_DraftFolderHeader": "Priečinok Koncepty",
"SystemFolderConfigDialog_JunkFolderDescription": "Všetka nevyžiadané správy budú tu.",
"SystemFolderConfigDialog_JunkFolderHeader": "Priečinok Nevyžiadaná pošta",
"SystemFolderConfigDialog_MessageFirstLine": "Tento server IMAP nepodporuje rozšírenie SPECIAL-USE, preto Wino nemohol správne nastaviť systémové priečinky.",
"SystemFolderConfigDialog_MessageSecondLine": "Vyberte príslušné priečinky pre konkrétne funkcie.",
"SystemFolderConfigDialog_SentFolderDescription": "Odoslané správy sa budú ukladať do tohto priečinka.",
"SystemFolderConfigDialog_SentFolderHeader": "Priečinok Odoslaná",
"SystemFolderConfigDialog_Title": "Konfigurácia systémových priečinkov",
"SystemFolderConfigDialogValidation_DuplicateSystemFolders": "Niektoré systémové priečinky sa v konfigurácii používajú viac ako raz.",
"SystemFolderConfigDialogValidation_InboxSelected": "Priečinok Doručená pošta nemôžete priradiť k žiadnemu inému systémovému priečinku.",
"SystemFolderConfigSetupSuccess_Message": "Systémové priečinky sú úspešne nakonfigurované.",
"SystemFolderConfigSetupSuccess_Title": "Nastavenie systémových priečinkov",
"TestingImapConnectionMessage": "Testovanie pripojenia k serveru…",
"TitleBarServerDisconnectedButton_Description": "Wino je odpojený od siete. Kliknutím na tlačidlo obnoviť pripojenie obnovte pripojenie.",
"TitleBarServerDisconnectedButton_Title": "žiadne pripojenie",
"TitleBarServerReconnectButton_Title": "obnoviť pripojenie",
"TitleBarServerReconnectingButton_Title": "pripája sa",
"Today": "Dnes",
"UnknownAddress": "neznáma adresa",
"UnknownDateHeader": "Neznámy dátum",
"UnknownGroupAddress": "neznáma adresa poštovej skupiny",
"UnknownSender": "Neznámy odosielateľ",
"Unsubscribe": "Zrušiť odber",
"ViewContactDetails": "Zobraziť podrobnosti",
"WinoUpgradeDescription": "Wino ponúka na začiatok 3 účty zadarmo. Ak potrebujete viac ako 3 účty, zaplaťte za rozšírenie",
"WinoUpgradeMessage": "Navýšiť na neobmedzený počet",
"WinoUpgradeRemainingAccountsMessage": "Využitie bezplatných účtov: {0}/{1}.",
"Yesterday": "Včera",
"SettingsAppPreferences_EmailSyncInterval_Title": "Email sync interval",
"SettingsAppPreferences_EmailSyncInterval_Description": "Automatic email synchronization interval (minutes). This setting will be applied only after restarting Wino Mail."
"SettingsManageAliases_Title": "Aliases",
"SettingsEditAccountDetails_Title": "Edit Account Details",
"SettingsEditAccountDetails_Description": "Change account name, sender name and assign a new color if you like.",
"SettingsManageLink_Description": "Move items to add new link or remove existing link.",
"SettingsManageLink_Title": "Manage Link",
"SettingsMarkAsRead_Description": "Change what should happen to the selected item.",
"SettingsMarkAsRead_DontChange": "Don't automatically mark item as read",
"SettingsMarkAsRead_SecondsToWait": "Seconds to wait: ",
"SettingsMarkAsRead_Timer": "When viewed in the reading pane",
"SettingsMarkAsRead_Title": "Mark item as read",
"SettingsMarkAsRead_WhenSelected": "When selected",
"SettingsMessageList_Description": "Change how your messages should be organized in mail list.",
"SettingsMessageList_Title": "Message List",
"SettingsNoAccountSetupMessage": "You didn't setup any accounts yet.",
"SettingsNotifications_Description": "Turn on or off notifications for this account.",
"SettingsNotifications_Title": "Notifications",
"SettingsNotificationsAndTaskbar_Description": "Change whether notifications should be displayed and taskbar badge for this account.",
"SettingsNotificationsAndTaskbar_Title": "Notifications & Taskbar",
"SettingsOptions_Title": "Settings",
"SettingsPaneLengthReset_Description": "Reset the size of the mail list to original if you have issues with it.",
"SettingsPaneLengthReset_Title": "Reset Mail List Size",
"SettingsPaypal_Description": "Show much more love ❤️ All donations are appreciated.",
"SettingsPaypal_Title": "Donate via PayPal",
"SettingsPersonalization_Description": "Change appearance of Wino as you like.",
"SettingsPersonalization_Title": "Personalization",
"SettingsPersonalizationMailDisplayCompactMode": "Compact Mode",
"SettingsPersonalizationMailDisplayMediumMode": "Medium Mode",
"SettingsPersonalizationMailDisplaySpaciousMode": "Spacious Mode",
"SettingsPrefer24HourClock_Description": "Mail recieve times will be displayed in 24 hour format instead of 12 (AM/PM)",
"SettingsPrefer24HourClock_Title": "Display Clock Format in 24 Hours",
"SettingsPrivacyPolicy_Description": "Review privacy policy.",
"SettingsPrivacyPolicy_Title": "Privacy Policy",
"SettingsReadComposePane_Description": "Fonts, external content.",
"SettingsReadComposePane_Title": "Reader & Composer",
"SettingsReader_Title": "Reader",
"SettingsReaderFont_Title": "Default Reader Font",
"SettingsReaderFontFamily_Description": "Change the default font family and font size for reading mails.",
"SettingsRenameMergeAccount_Description": "Change the display name of the linked accounts.",
"SettingsRenameMergeAccount_Title": "Rename",
"SettingsReorderAccounts_Description": "Change the order of accounts in the account list.",
"SettingsReorderAccounts_Title": "Reorder Accounts",
"SettingsSemanticZoom_Description": "This will allow you to click on the headers in messages list and go to specific date",
"SettingsSemanticZoom_Title": "Semantic Zoom for Date Headers",
"SettingsShowPreviewText_Description": "Hide/show the preview text.",
"SettingsShowPreviewText_Title": "Show Preview Text",
"SettingsShowSenderPictures_Description": "Hide/show the thumbnail sender pictures.",
"SettingsShowSenderPictures_Title": "Show Sender Avatars",
"SettingsSignature_AddCustomSignature_Button": "Add signature",
"SettingsSignature_AddCustomSignature_Title": "Add custom signature",
"SettingsSignature_DeleteSignature_Title": "Delete signature",
"SettingsSignature_Description": "Manage account signatures",
"SettingsSignature_EditSignature_Title": "Edit signature",
"SettingsSignature_ForFollowingMessages_Title": "For Replies/Forwards",
"SettingsSignature_ForNewMessages_Title": "For New Messages",
"SettingsSignature_NoneSignatureName": "None",
"SettingsSignature_SignatureDefaults": "Signature defaults",
"SettingsSignature_Signatures": "Signatures",
"SettingsSignature_Title": "Signature",
"SettingsStartupItem_Description": "Primary account item to load Inbox at startup.",
"SettingsStartupItem_Title": "Startup Item",
"SettingsStore_Description": "Show some love ❤️",
"SettingsStore_Title": "Rate in Store",
"SettingsTaskbarBadge_Description": "Include unread mail count in taskbar icon.",
"SettingsTaskbarBadge_Title": "Taskbar Badge",
"SettingsThreads_Description": "Organize messages into conversation threads.",
"SettingsThreads_Title": "Conversation Threading",
"SettingsUnlinkAccounts_Description": "Remove the link between accounts. his will not delete your accounts.",
"SettingsUnlinkAccounts_Title": "Unlink Accounts",
"SignatureDeleteDialog_Message": "Are you sure you want to delete \"{0}\" signature?",
"SignatureDeleteDialog_Title": "Delete signature",
"SignatureEditorDialog_SignatureName_Placeholder": "Name your signature",
"SignatureEditorDialog_SignatureName_TitleEdit": "Current signature name: {0}",
"SignatureEditorDialog_SignatureName_TitleNew": "Signature name",
"SignatureEditorDialog_Title": "Signature Editor",
"SortingOption_Date": "by date",
"SortingOption_Name": "by name",
"StoreRatingDialog_MessageFirstLine": "All feedbacks are appreciated and they will make much Wino better in the future. Would you like to rate Wino in Microsoft Store?",
"StoreRatingDialog_MessageSecondLine": "Would you like to rate Wino Mail in Microsoft Store?",
"StoreRatingDialog_Title": "Enjoying Wino?",
"SynchronizationFolderReport_Failed": "synchronization is failed",
"SynchronizationFolderReport_Success": "up to date",
"SystemFolderConfigDialog_ArchiveFolderDescription": "Archived messages will be moved to here.",
"SystemFolderConfigDialog_ArchiveFolderHeader": "Archive Folder",
"SystemFolderConfigDialog_DeletedFolderDescription": "Deleted messages will be moved to here.",
"SystemFolderConfigDialog_DeletedFolderHeader": "Deleted Folder",
"SystemFolderConfigDialog_DraftFolderDescription": "New mails/replies will be crafted in here.",
"SystemFolderConfigDialog_DraftFolderHeader": "Draft Folder",
"SystemFolderConfigDialog_JunkFolderDescription": "All spam/junk mails will be here.",
"SystemFolderConfigDialog_JunkFolderHeader": "Junk/Spam Folder",
"SystemFolderConfigDialog_MessageFirstLine": "This IMAP server doesn't support SPECIAL-USE extension hence Wino couldn't setup the system folders properly.",
"SystemFolderConfigDialog_MessageSecondLine": "Please select the appropriate folders for specific functionalities.",
"SystemFolderConfigDialog_SentFolderDescription": "Folder that sent messages will be stored.",
"SystemFolderConfigDialog_SentFolderHeader": "Sent Folder",
"SystemFolderConfigDialog_Title": "Configure System Folders",
"SystemFolderConfigDialogValidation_DuplicateSystemFolders": "Some of the system folders are used more than once in the configuration.",
"SystemFolderConfigDialogValidation_InboxSelected": "You can't assign Inbox folder to any other system folder.",
"SystemFolderConfigSetupSuccess_Message": "System folders are successfully configured.",
"SystemFolderConfigSetupSuccess_Title": "System Folders Setup",
"TestingImapConnectionMessage": "Testing server connection...",
"TitleBarServerDisconnectedButton_Description": "Wino is disconnected from the network. Click reconnect to restore connection.",
"TitleBarServerDisconnectedButton_Title": "no connection",
"TitleBarServerReconnectButton_Title": "reconnect",
"TitleBarServerReconnectingButton_Title": "connecting",
"Today": "Today",
"UnknownAddress": "unknown address",
"UnknownDateHeader": "Unknown Date",
"UnknownGroupAddress": "unknown Mail Group Address",
"UnknownSender": "Unknown Sender",
"Unsubscribe": "Unsubscribe",
"ViewContactDetails": "View Details",
"WinoUpgradeDescription": "Wino offers 3 accounts to start with for free. If you need more than 3 accounts, please upgrade",
"WinoUpgradeMessage": "Upgrade to Unlimited Accounts",
"WinoUpgradeRemainingAccountsMessage": "{0} out of {1} free accounts used.",
"Yesterday": "Yesterday"
}

View File

@@ -262,8 +262,6 @@
"IMAPSetupDialog_AccountType": "Hesap türü",
"IMAPSetupDialog_ValidationSuccess_Title": "Başarılı",
"IMAPSetupDialog_ValidationSuccess_Message": "Validasyon başarılı",
"IMAPSetupDialog_SaveImapSuccess_Title": "Success",
"IMAPSetupDialog_SaveImapSuccess_Message": "IMAP settings saved successfuly.",
"IMAPSetupDialog_ValidationFailed_Title": "IMAP sunucusuna bağlanılamadı.",
"IMAPSetupDialog_CertificateAllowanceRequired_Row0": "Bu sunucu SSL doğrulaması gerektiriyor. Lütfen aşağıdaki detayları onaylayınız.",
"IMAPSetupDialog_CertificateAllowanceRequired_Row1": "Devam etmek için doğrulamayı kabul edin.",
@@ -521,7 +519,7 @@
"SettingsCustomTheme_Title": "Özel Tema",
"SettingsDeleteAccount_Description": "Bu hesapa bağlı bütün bilgi ve e-postaları sil.",
"SettingsDeleteAccount_Title": "Bu hesabı sil",
"SettingsDeleteProtection_Description": "Should Wino ask you for confirmation every time you try to permanently delete a mail using Shift + Del keys?",
"SettingsDeleteProtection_Description": "Wino her seferinde Shift + Del tuşlarıyla kalıcı olarak silmek istediğiniz e-postalar için uyarı mesajı göstersin mi?",
"SettingsDeleteProtection_Title": "Kalıcı Silme Koruması",
"SettingsDiagnostics_Description": "Geliştiriciler için",
"SettingsDiagnostics_DiagnosticId_Description": "Bu ID'yi geliştiriciler ile paylaşarak Wino Mail ile yaşadığınız sorunlar hakkında çözümlere ulaşabilirsiniz.",
@@ -625,11 +623,6 @@
"SettingsShowPreviewText_Title": "Önizleme",
"SettingsShowSenderPictures_Description": "Gönderen resmini göster/gösterme.",
"SettingsShowSenderPictures_Title": "Gönderen Resimleri",
"SettingsEnableGravatarAvatars_Title": "Gravatar",
"SettingsEnableGravatarAvatars_Description": "Use gravatar (if available) as sender picture",
"SettingsEnableFavicons_Title": "Domain icons (Favicons)",
"SettingsEnableFavicons_Description": "Use domain favicons (if available) as sender picture",
"SettingsMailList_ClearAvatarsCache_Button": "Clear cached avatars",
"SettingsSignature_AddCustomSignature_Button": "İmza ekle",
"SettingsSignature_AddCustomSignature_Title": "Yeni bir imza ekleyin",
"SettingsSignature_DeleteSignature_Title": "İmzayı siil",
@@ -651,8 +644,6 @@
"SettingsThreads_Title": "Mesaj Gruplama",
"SettingsUnlinkAccounts_Description": "Hesap bağlantısını koparın. Bu işlem hesaplarınızı silmez.",
"SettingsUnlinkAccounts_Title": "Hesap Bağlantısını Kopar",
"SettingsMailRendering_ActionLabels_Title": "Action labels",
"SettingsMailRendering_ActionLabels_Description": "Show action labels.",
"SignatureDeleteDialog_Message": "{0} imzasını silmek istediğinizden emin misiniz?",
"SignatureDeleteDialog_Title": "İmzayı sil",
"SignatureEditorDialog_SignatureName_Placeholder": "İmzaya bir isim verin",
@@ -698,9 +689,7 @@
"WinoUpgradeDescription": "Wino başlangıç için ücretsiz olarak 3 adet hesap verir. Eğer 3'ten fazla hesap kullanmak istiyorsanız lütfen satın alarak projeye destek olun",
"WinoUpgradeMessage": "Sınırsız Hesaba Yükselt",
"WinoUpgradeRemainingAccountsMessage": "{1} hesabın {0} tanesi kullanıldı.",
"Yesterday": "Dün",
"SettingsAppPreferences_EmailSyncInterval_Title": "Email sync interval",
"SettingsAppPreferences_EmailSyncInterval_Description": "Automatic email synchronization interval (minutes). This setting will be applied only after restarting Wino Mail."
"Yesterday": "Dün"
}

View File

@@ -262,8 +262,6 @@
"IMAPSetupDialog_AccountType": "Тип облікового запису",
"IMAPSetupDialog_ValidationSuccess_Title": "Виконано",
"IMAPSetupDialog_ValidationSuccess_Message": "Перевірка успішна",
"IMAPSetupDialog_SaveImapSuccess_Title": "Success",
"IMAPSetupDialog_SaveImapSuccess_Message": "IMAP settings saved successfuly.",
"IMAPSetupDialog_ValidationFailed_Title": "Не вдалося перевірити сервер IMAP.",
"IMAPSetupDialog_CertificateAllowanceRequired_Row0": "Цей сервер запитує SSL-рукостискання для продовження. Будь ласка, підтвердьте деталі сертифіката нижче.",
"IMAPSetupDialog_CertificateAllowanceRequired_Row1": "Дозвольте рукостискання для продовження налаштування вашого облікового запису.",
@@ -521,7 +519,7 @@
"SettingsCustomTheme_Title": "Користувацька тема",
"SettingsDeleteAccount_Description": "Видалити всі листи та облікові дані, пов'язані з цим обліковим записом.",
"SettingsDeleteAccount_Title": "Видалити цей обліковий запис",
"SettingsDeleteProtection_Description": "Should Wino ask you for confirmation every time you try to permanently delete a mail using Shift + Del keys?",
"SettingsDeleteProtection_Description": "Чи повинен Wino перепитувати Вас щоразу, коли Ви намагаєтесь назавжди видалити лист через комбінацію клавіш Shift + Del?",
"SettingsDeleteProtection_Title": "Захист від остаточного видалення",
"SettingsDiagnostics_Description": "Для розробників",
"SettingsDiagnostics_DiagnosticId_Description": "Поділіться цим ID з розробниками, коли попросять, щоб отримати допомогу щодо проблем, з якими Ви зіткнулися у Wino Mail.",
@@ -625,11 +623,6 @@
"SettingsShowPreviewText_Title": "Попередній перегляд тексту",
"SettingsShowSenderPictures_Description": "Приховувати/показувати аватарки відправників.",
"SettingsShowSenderPictures_Title": "Аватарки відправників",
"SettingsEnableGravatarAvatars_Title": "Gravatar",
"SettingsEnableGravatarAvatars_Description": "Use gravatar (if available) as sender picture",
"SettingsEnableFavicons_Title": "Domain icons (Favicons)",
"SettingsEnableFavicons_Description": "Use domain favicons (if available) as sender picture",
"SettingsMailList_ClearAvatarsCache_Button": "Clear cached avatars",
"SettingsSignature_AddCustomSignature_Button": "Додати підпис",
"SettingsSignature_AddCustomSignature_Title": "Додати користувацький підпис",
"SettingsSignature_DeleteSignature_Title": "Видалити підпис",
@@ -651,8 +644,6 @@
"SettingsThreads_Title": "Ланцюжки розмов",
"SettingsUnlinkAccounts_Description": "Видалити зв'язку між обліковими записами. Це не видалить самі облікові записи.",
"SettingsUnlinkAccounts_Title": "Відв'язати облікові записи",
"SettingsMailRendering_ActionLabels_Title": "Action labels",
"SettingsMailRendering_ActionLabels_Description": "Show action labels.",
"SignatureDeleteDialog_Message": "Ви дійсно бажаєте видалити підпис \"{0}\"?",
"SignatureDeleteDialog_Title": "Видалити підпис",
"SignatureEditorDialog_SignatureName_Placeholder": "Назвіть свій підпис",
@@ -698,9 +689,7 @@
"WinoUpgradeDescription": "Wino пропонує 3 облікові записи для початку безкоштовно. Якщо Вам потрібно більше 3 облікових записів, будь ласка, оновіться",
"WinoUpgradeMessage": "Оновити до необмеженої кількості облікових записів",
"WinoUpgradeRemainingAccountsMessage": "{0} з {1} безкоштовних облікових записів використано.",
"Yesterday": "Вчора",
"SettingsAppPreferences_EmailSyncInterval_Title": "Email sync interval",
"SettingsAppPreferences_EmailSyncInterval_Description": "Automatic email synchronization interval (minutes). This setting will be applied only after restarting Wino Mail."
"Yesterday": "Вчора"
}

View File

@@ -262,8 +262,6 @@
"IMAPSetupDialog_AccountType": "账户名称",
"IMAPSetupDialog_ValidationSuccess_Title": "成功",
"IMAPSetupDialog_ValidationSuccess_Message": "验证成功",
"IMAPSetupDialog_SaveImapSuccess_Title": "Success",
"IMAPSetupDialog_SaveImapSuccess_Message": "IMAP settings saved successfuly.",
"IMAPSetupDialog_ValidationFailed_Title": "IMAP 服务器验证失败。",
"IMAPSetupDialog_CertificateAllowanceRequired_Row0": "该服务器正在请求 SSL 握手以继续。请确认下方的证书详情。",
"IMAPSetupDialog_CertificateAllowanceRequired_Row1": "允许握手并继续设置账户。",
@@ -521,7 +519,7 @@
"SettingsCustomTheme_Title": "自定义主题",
"SettingsDeleteAccount_Description": "删除与此账户关联的所有电子邮件和凭据。",
"SettingsDeleteAccount_Title": "删除此账户",
"SettingsDeleteProtection_Description": "Should Wino ask you for confirmation every time you try to permanently delete a mail using Shift + Del keys?",
"SettingsDeleteProtection_Description": "每次您尝试使用 Shift + Del 键永久删除邮件时Wino 应该向您二次确认吗?",
"SettingsDeleteProtection_Title": "永久性删除保护",
"SettingsDiagnostics_Description": "开发者选项",
"SettingsDiagnostics_DiagnosticId_Description": "如需联系开发人员请求帮助,请提供此 ID。",
@@ -625,11 +623,6 @@
"SettingsShowPreviewText_Title": "显示预览文本",
"SettingsShowSenderPictures_Description": "隐藏/显示缩略图发件人图片。",
"SettingsShowSenderPictures_Title": "显示发件人头像",
"SettingsEnableGravatarAvatars_Title": "Gravatar",
"SettingsEnableGravatarAvatars_Description": "Use gravatar (if available) as sender picture",
"SettingsEnableFavicons_Title": "Domain icons (Favicons)",
"SettingsEnableFavicons_Description": "Use domain favicons (if available) as sender picture",
"SettingsMailList_ClearAvatarsCache_Button": "Clear cached avatars",
"SettingsSignature_AddCustomSignature_Button": "添加签名",
"SettingsSignature_AddCustomSignature_Title": "添加自定义签名",
"SettingsSignature_DeleteSignature_Title": "删除签名",
@@ -651,8 +644,6 @@
"SettingsThreads_Title": "邮件会话",
"SettingsUnlinkAccounts_Description": "删除账户之间的链接。这不会删除您的账户。",
"SettingsUnlinkAccounts_Title": "取消链接账户",
"SettingsMailRendering_ActionLabels_Title": "Action labels",
"SettingsMailRendering_ActionLabels_Description": "Show action labels.",
"SignatureDeleteDialog_Message": "确定要删除签名「{0}」吗?",
"SignatureDeleteDialog_Title": "删除签名",
"SignatureEditorDialog_SignatureName_Placeholder": "为签名命名",
@@ -698,9 +689,7 @@
"WinoUpgradeDescription": "Wino 免费使用 3 个邮件账户。如果您需要同时使用 3 个以上的账户,请升级。",
"WinoUpgradeMessage": "升级为无限账户数",
"WinoUpgradeRemainingAccountsMessage": "已使用 {0} 个免费账户,共 {1} 个。",
"Yesterday": "昨天",
"SettingsAppPreferences_EmailSyncInterval_Title": "Email sync interval",
"SettingsAppPreferences_EmailSyncInterval_Description": "Automatic email synchronization interval (minutes). This setting will be applied only after restarting Wino Mail."
"Yesterday": "昨天"
}

View File

@@ -59,7 +59,7 @@
<Setter Property="ChildrenTransitions">
<Setter.Value>
<TransitionCollection>
<EntranceThemeTransition IsStaggeringEnabled="False" />
<EntranceThemeTransition IsStaggeringEnabled="True" />
</TransitionCollection>
</Setter.Value>
</Setter>
@@ -96,19 +96,6 @@
</Setter.Value>
</Setter>
</Style>
<!-- Spacing between cards -->
<x:Double x:Key="SettingsCardSpacing">4</x:Double>
<!-- Style (inc. the correct spacing) of a section header -->
<Style
x:Key="SettingsSectionHeaderTextBlockStyle"
BasedOn="{StaticResource BodyStrongTextBlockStyle}"
TargetType="TextBlock">
<Style.Setters>
<Setter Property="Margin" Value="1,30,0,6" />
</Style.Setters>
</Style>
</ResourceDictionary>
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>

View File

@@ -25,7 +25,7 @@ public static class CoreUWPContainerSetup
services.AddSingleton<IPreferencesService, PreferencesService>();
services.AddSingleton<IThemeService, ThemeService>();
services.AddSingleton<IStatePersistanceService, StatePersistenceService>();
services.AddSingleton<IThumbnailService, ThumbnailService>();
services.AddSingleton<IDialogServiceBase, DialogServiceBase>();
services.AddTransient<IConfigurationService, ConfigurationService>();
services.AddTransient<IFileService, FileService>();

View File

@@ -23,6 +23,6 @@
<StackPanel Spacing="12">
<TextBlock x:Name="DialogDescription" TextWrapping="Wrap" />
<TextBox x:Name="FolderTextBox" Text="{x:Bind CurrentInput, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" />
<TextBox x:Name="FolderTextBox" Text="{x:Bind CurrentInput, Mode=TwoWay}" />
</StackPanel>
</ContentDialog>

View File

@@ -45,6 +45,7 @@ public class NativeAppService : INativeAppService
return _mimeMessagesFolder;
}
public async Task<string> GetEditorBundlePathAsync()
{
if (string.IsNullOrEmpty(_editorBundlePath))

View File

@@ -1,9 +1,7 @@
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Threading.Tasks;
using CommunityToolkit.Mvvm.Messaging;
using CommunityToolkit.WinUI.Notifications;
using Serilog;
using Windows.Data.Xml.Dom;
@@ -13,7 +11,7 @@ using Wino.Core.Domain.Entities.Mail;
using Wino.Core.Domain.Enums;
using Wino.Core.Domain.Interfaces;
using Wino.Core.Domain.Models.MailItem;
using Wino.Messaging.UI;
using Wino.Core.Services;
namespace Wino.Core.UWP.Services;
@@ -25,24 +23,16 @@ public class NotificationBuilder : INotificationBuilder
private readonly IAccountService _accountService;
private readonly IFolderService _folderService;
private readonly IMailService _mailService;
private readonly IThumbnailService _thumbnailService;
public NotificationBuilder(IUnderlyingThemeService underlyingThemeService,
IAccountService accountService,
IFolderService folderService,
IMailService mailService,
IThumbnailService thumbnailService)
IMailService mailService)
{
_underlyingThemeService = underlyingThemeService;
_accountService = accountService;
_folderService = folderService;
_mailService = mailService;
_thumbnailService = thumbnailService;
WeakReferenceMessenger.Default.Register<MailReadStatusChanged>(this, (r, msg) =>
{
RemoveNotification(msg.UniqueId);
});
}
public async Task CreateNotificationsAsync(Guid inboxFolderId, IEnumerable<IMailItem> downloadedMailItems)
@@ -88,25 +78,29 @@ public class NotificationBuilder : INotificationBuilder
foreach (var mailItem in validItems)
{
if (mailItem.IsRead)
{
// Remove the notification for a specific mail if it exists
ToastNotificationManager.History.Remove(mailItem.UniqueId.ToString());
continue;
}
var builder = new ToastContentBuilder();
builder.SetToastScenario(ToastScenario.Default);
var avatarThumbnail = await _thumbnailService.GetThumbnailAsync(mailItem.FromAddress, awaitLoad: true);
if (!string.IsNullOrEmpty(avatarThumbnail))
var host = ThumbnailService.GetHost(mailItem.FromAddress);
var knownTuple = ThumbnailService.CheckIsKnown(host);
bool isKnown = knownTuple.Item1;
host = knownTuple.Item2;
if (isKnown)
builder.AddAppLogoOverride(new System.Uri(ThumbnailService.GetKnownHostImage(host)), hintCrop: ToastGenericAppLogoCrop.Default);
else
{
var tempFile = await Windows.Storage.ApplicationData.Current.TemporaryFolder.CreateFileAsync($"{Guid.NewGuid()}.png", Windows.Storage.CreationCollisionOption.ReplaceExisting);
await using (var stream = await tempFile.OpenStreamForWriteAsync())
{
var bytes = Convert.FromBase64String(avatarThumbnail);
await stream.WriteAsync(bytes);
}
builder.AddAppLogoOverride(new Uri($"ms-appdata:///temp/{tempFile.Name}"), hintCrop: ToastGenericAppLogoCrop.Default);
// TODO: https://learn.microsoft.com/en-us/windows/apps/design/shell/tiles-and-notifications/adaptive-interactive-toasts?tabs=toolkit
// Follow official guides for icons/theme.
bool isOSDarkTheme = _underlyingThemeService.IsUnderlyingThemeDark();
string profileLogoName = isOSDarkTheme ? "profile-dark.png" : "profile-light.png";
builder.AddAppLogoOverride(new System.Uri($"ms-appx:///Assets/NotificationIcons/{profileLogoName}"), hintCrop: ToastGenericAppLogoCrop.Circle);
}
// Override system notification timetamp with received date of the mail.
@@ -120,16 +114,15 @@ public class NotificationBuilder : INotificationBuilder
builder.AddArgument(Constants.ToastMailUniqueIdKey, mailItem.UniqueId.ToString());
builder.AddArgument(Constants.ToastActionKey, MailOperation.Navigate);
builder.AddButton(GetMarkAsReadButton(mailItem.UniqueId));
builder.AddButton(GetMarkedAsRead(mailItem.UniqueId));
builder.AddButton(GetDeleteButton(mailItem.UniqueId));
builder.AddButton(GetArchiveButton(mailItem.UniqueId));
builder.AddButton(GetDismissButton());
builder.AddAudio(new ToastAudio()
{
Src = new Uri("ms-winsoundevent:Notification.Mail")
});
// Use UniqueId as tag to allow removal
builder.Show(toast => toast.Tag = mailItem.UniqueId.ToString());
builder.Show();
}
await UpdateTaskbarIconBadgeAsync();
@@ -146,14 +139,6 @@ public class NotificationBuilder : INotificationBuilder
.SetDismissActivation()
.SetImageUri(new Uri("ms-appx:///Assets/NotificationIcons/dismiss.png"));
private static ToastButton GetArchiveButton(Guid mailUniqueId)
=> new ToastButton()
.SetContent(Translator.MailOperation_Archive)
.SetImageUri(new Uri("ms-appx:///Assets/NotificationIcons/archive.png"))
.AddArgument(Constants.ToastMailUniqueIdKey, mailUniqueId.ToString())
.AddArgument(Constants.ToastActionKey, MailOperation.Archive)
.SetBackgroundActivation();
private ToastButton GetDeleteButton(Guid mailUniqueId)
=> new ToastButton()
.SetContent(Translator.MailOperation_Delete)
@@ -162,7 +147,7 @@ public class NotificationBuilder : INotificationBuilder
.AddArgument(Constants.ToastActionKey, MailOperation.SoftDelete)
.SetBackgroundActivation();
private static ToastButton GetMarkAsReadButton(Guid mailUniqueId)
private ToastButton GetMarkedAsRead(Guid mailUniqueId)
=> new ToastButton()
.SetContent(Translator.MailOperation_MarkAsRead)
.SetImageUri(new System.Uri("ms-appx:///Assets/NotificationIcons/markread.png"))
@@ -242,16 +227,4 @@ public class NotificationBuilder : INotificationBuilder
//await Task.CompletedTask;
}
public void RemoveNotification(Guid mailUniqueId)
{
try
{
ToastNotificationManager.History.Remove(mailUniqueId.ToString());
}
catch (Exception ex)
{
Log.Error(ex, $"Failed to remove notification for mail {mailUniqueId}");
}
}
}

View File

@@ -13,12 +13,17 @@ using Wino.Services;
namespace Wino.Core.UWP.Services;
public class PreferencesService(IConfigurationService configurationService) : ObservableObject, IPreferencesService
public class PreferencesService : ObservableObject, IPreferencesService
{
private readonly IConfigurationService _configurationService = configurationService;
private readonly IConfigurationService _configurationService;
public event EventHandler<string> PreferenceChanged;
public PreferencesService(IConfigurationService configurationService)
{
_configurationService = configurationService;
}
protected override void OnPropertyChanged(PropertyChangedEventArgs e)
{
base.OnPropertyChanged(e);
@@ -74,12 +79,6 @@ public class PreferencesService(IConfigurationService configurationService) : Ob
set => SetPropertyAndSave(nameof(IsMailListActionBarEnabled), value);
}
public bool IsShowActionLabelsEnabled
{
get => _configurationService.Get(nameof(IsShowActionLabelsEnabled), true);
set => SetPropertyAndSave(nameof(IsShowActionLabelsEnabled), value);
}
public bool IsShowSenderPicturesEnabled
{
get => _configurationService.Get(nameof(IsShowSenderPicturesEnabled), true);
@@ -176,18 +175,6 @@ public class PreferencesService(IConfigurationService configurationService) : Ob
set => SetPropertyAndSave(nameof(IsMailkitProtocolLoggerEnabled), value);
}
public bool IsGravatarEnabled
{
get => _configurationService.Get(nameof(IsGravatarEnabled), true);
set => SetPropertyAndSave(nameof(IsGravatarEnabled), value);
}
public bool IsFaviconEnabled
{
get => _configurationService.Get(nameof(IsFaviconEnabled), true);
set => SetPropertyAndSave(nameof(IsFaviconEnabled), value);
}
public Guid? StartupEntityId
{
get => _configurationService.Get<Guid?>(nameof(StartupEntityId), null);
@@ -290,12 +277,6 @@ public class PreferencesService(IConfigurationService configurationService) : Ob
set => SaveProperty(propertyName: nameof(WorkingDayEnd), value);
}
public int EmailSyncIntervalMinutes
{
get => _configurationService.Get(nameof(EmailSyncIntervalMinutes), 3);
set => SetPropertyAndSave(nameof(EmailSyncIntervalMinutes), value);
}
public CalendarSettings GetCurrentCalendarSettings()
{
var workingDays = GetDaysBetween(WorkingDayStart, WorkingDayEnd);

View File

@@ -5,6 +5,7 @@ using System.Threading.Tasks;
using Microsoft.Graphics.Canvas;
using Microsoft.Graphics.Canvas.Printing;
using Windows.Data.Pdf;
using Windows.Graphics.Display;
using Windows.Graphics.Printing;
using Windows.Graphics.Printing.OptionDetails;
using Windows.Storage.Streams;
@@ -135,6 +136,11 @@ public class PrintService : IPrintService
private async void OnDocumentTaskOptionsChanged(CanvasPrintDocument sender, CanvasPrintTaskOptionsChangedEventArgs args)
{
System.Diagnostics.Debug.WriteLine("[PrintService] OnDocumentTaskOptionsChanged starting...");
DisplayInformation di = DisplayInformation.GetForCurrentView();
System.Diagnostics.Debug.WriteLine($"[PrintService] DisplayInformation.RawPixelsPerViewPixel: {di.RawPixelsPerViewPixel}");
System.Diagnostics.Debug.WriteLine($"[PrintService] DisplayInformation.LogicalDpi: {di.LogicalDpi}");
var deferral = args.GetDeferral();
try
@@ -142,6 +148,10 @@ public class PrintService : IPrintService
await LoadPDFPageBitmapsAsync(sender);
var pageDesc = args.PrintTaskOptions.GetPageDescription(1);
System.Diagnostics.Debug.WriteLine($"[PrintService] pageDesc.PageSize.Width (DIPs): {pageDesc.PageSize.Width}");
System.Diagnostics.Debug.WriteLine($"[PrintService] pageDesc.PageSize.Height (DIPs): {pageDesc.PageSize.Height}");
System.Diagnostics.Debug.WriteLine($"[PrintService] pageDesc.DpiX: {pageDesc.DpiX}");
System.Diagnostics.Debug.WriteLine($"[PrintService] pageDesc.DpiY: {pageDesc.DpiY}");
var newPageSize = pageDesc.PageSize.ToVector2();
if (pageSize == newPageSize && pageCount != -1)
@@ -176,6 +186,10 @@ public class PrintService : IPrintService
// Calculate the page count
bitmapCount = bitmaps.Count;
pageCount = (int)Math.Ceiling(bitmapCount / (double)bitmapsPerPage);
System.Diagnostics.Debug.WriteLine($"[PrintService] Calculated columns: {columns}");
System.Diagnostics.Debug.WriteLine($"[PrintService] Calculated rows: {rows}");
System.Diagnostics.Debug.WriteLine($"[PrintService] Calculated bitmapsPerPage: {bitmapsPerPage}");
System.Diagnostics.Debug.WriteLine($"[PrintService] Calculated pageCount: {pageCount}");
sender.SetPageCount((uint)pageCount);
// Set the preview page to the one that has the item that was currently displayed in the last preview
@@ -185,11 +199,31 @@ public class PrintService : IPrintService
{
deferral.Complete();
}
System.Diagnostics.Debug.WriteLine("[PrintService] OnDocumentTaskOptionsChanged finished.");
}
private async Task LoadPDFPageBitmapsAsync(CanvasPrintDocument sender)
{
System.Diagnostics.Debug.WriteLine("[PrintService] LoadPDFPageBitmapsAsync starting...");
DisplayInformation displayInfo = DisplayInformation.GetForCurrentView();
float rawPixelsPerViewPixel = (float)displayInfo.RawPixelsPerViewPixel;
if (rawPixelsPerViewPixel == 0)
{
System.Diagnostics.Debug.WriteLine($"[PrintService] Warning: RawPixelsPerViewPixel was 0, defaulting to 1.0f");
rawPixelsPerViewPixel = 1.0f; // Sanity check
}
System.Diagnostics.Debug.WriteLine($"[PrintService] DisplayInformation.RawPixelsPerViewPixel: {rawPixelsPerViewPixel}");
System.Diagnostics.Debug.WriteLine($"[PrintService] DisplayInformation.LogicalDpi: {displayInfo.LogicalDpi}");
float printerDpi = sender.Dpi;
if (printerDpi == 0)
{
System.Diagnostics.Debug.WriteLine($"[PrintService] Warning: sender.Dpi (printerDpi) was 0, defaulting to 96.0f");
printerDpi = 96.0f; // Sanity check
}
System.Diagnostics.Debug.WriteLine($"[PrintService] sender.Dpi (CanvasPrintDocument.Dpi, used as PrinterDPI): {printerDpi}");
ClearBitmaps();
bitmaps ??= new List<CanvasBitmap>();
@@ -197,10 +231,39 @@ public class PrintService : IPrintService
for (int i = 0; i < pdfDocument.PageCount; i++)
{
var page = pdfDocument.GetPage((uint)i);
var stream = new InMemoryRandomAccessStream();
await page.RenderToStreamAsync(stream);
var bitmap = await CanvasBitmap.LoadAsync(sender, stream);
bitmaps.Add(bitmap);
System.Diagnostics.Debug.WriteLine($"[PrintService] Processing page.Index: {page.Index}");
System.Diagnostics.Debug.WriteLine($"[PrintService] page.Dimensions.MediaBox.Width (PDF points): {page.Dimensions.MediaBox.Width}");
System.Diagnostics.Debug.WriteLine($"[PrintService] page.Dimensions.MediaBox.Height (PDF points): {page.Dimensions.MediaBox.Height}");
double pageWidthInPoints = page.Dimensions.MediaBox.Width;
double pageHeightInPoints = page.Dimensions.MediaBox.Height;
double pageWidthInInches = pageWidthInPoints / 72.0;
double pageHeightInInches = pageHeightInPoints / 72.0;
// Calculate the desired pixel dimensions of the bitmap based on printer DPI
uint targetPixelWidth = (uint)(pageWidthInInches * printerDpi);
uint targetPixelHeight = (uint)(pageHeightInInches * printerDpi);
// Calculate DestinationWidth/Height for PdfPageRenderOptions in DIPs
PdfPageRenderOptions options = new PdfPageRenderOptions();
options.DestinationWidth = (uint)(targetPixelWidth / rawPixelsPerViewPixel);
options.DestinationHeight = (uint)(targetPixelHeight / rawPixelsPerViewPixel);
System.Diagnostics.Debug.WriteLine($"[PrintService] Page {i}, Calculated PdfPageRenderOptions.DestinationWidth (DIPs): {options.DestinationWidth}, DestinationHeight (DIPs): {options.DestinationHeight}");
System.Diagnostics.Debug.WriteLine($"[PrintService] Page {i}, TargetPixelWidth: {targetPixelWidth}, TargetPixelHeight: {targetPixelHeight}");
using (var stream = new InMemoryRandomAccessStream())
{
await page.RenderToStreamAsync(stream, options); // Use the options
var bitmap = await CanvasBitmap.LoadAsync(sender, stream);
System.Diagnostics.Debug.WriteLine($"[PrintService] bitmap.SizeInPixels.Width: {bitmap.SizeInPixels.Width}");
System.Diagnostics.Debug.WriteLine($"[PrintService] bitmap.SizeInPixels.Height: {bitmap.SizeInPixels.Height}");
System.Diagnostics.Debug.WriteLine($"[PrintService] bitmap.Dpi: {bitmap.Dpi}");
bitmaps.Add(bitmap);
}
}
largestBitmap = Vector2.Zero;
@@ -210,6 +273,7 @@ public class PrintService : IPrintService
largestBitmap.X = Math.Max(largestBitmap.X, (float)bitmap.Size.Width);
largestBitmap.Y = Math.Max(largestBitmap.Y, (float)bitmap.Size.Height);
}
System.Diagnostics.Debug.WriteLine("[PrintService] LoadPDFPageBitmapsAsync finished.");
}
@@ -262,4 +326,153 @@ public class PrintService : IPrintService
}
}
}
// --- START SIMULATION CODE ---
private async Task RunSimulationAsync(float simulatedRawPixelsPerViewPixel, string callingMethodName)
{
// --- Simulate LoadPDFPageBitmapsAsync ---
System.Diagnostics.Debug.WriteLine($"[PrintService] SIMULATING from {callingMethodName} for {simulatedRawPixelsPerViewPixel}");
System.Diagnostics.Debug.WriteLine("[PrintService] LoadPDFPageBitmapsAsync starting...");
// Mock DisplayInformation
float actualRawPixelsPerViewPixel = simulatedRawPixelsPerViewPixel; // Override
if (actualRawPixelsPerViewPixel == 0)
{
System.Diagnostics.Debug.WriteLine($"[PrintService] Warning: actualRawPixelsPerViewPixel was 0, defaulting to 1.0f");
actualRawPixelsPerViewPixel = 1.0f; // Sanity check
}
System.Diagnostics.Debug.WriteLine($"[PrintService] DisplayInformation.RawPixelsPerViewPixel: {actualRawPixelsPerViewPixel}");
// LogicalDpi is not directly used in calculations we are testing, so we can use a placeholder.
System.Diagnostics.Debug.WriteLine($"[PrintService] DisplayInformation.LogicalDpi: 96.0f (Simulated)");
// Mock CanvasPrintDocument sender for DPI
float printerDpi = 300.0f; // As per subtask
System.Diagnostics.Debug.WriteLine($"[PrintService] sender.Dpi (CanvasPrintDocument.Dpi, used as PrinterDPI): {printerDpi}");
// Clear any previous simulation state for bitmaps
// In a real scenario, ClearBitmaps() would be called. Here we just reset relevant fields.
this.bitmaps.Clear(); // Assuming 'bitmaps' is the List<CanvasBitmap>
this.largestBitmap = Vector2.Zero;
// Simulate pdfDocument.PageCount = 1 and loop once
int simulatedPageCount = 1;
for (int i = 0; i < simulatedPageCount; i++)
{
// Mock PdfPage
uint pageIndex = (uint)i;
double pageWidthInPoints = 612.0; // Letter size
double pageHeightInPoints = 792.0; // Letter size
System.Diagnostics.Debug.WriteLine($"[PrintService] Processing page.Index: {pageIndex}");
System.Diagnostics.Debug.WriteLine($"[PrintService] page.Dimensions.MediaBox.Width (PDF points): {pageWidthInPoints}");
System.Diagnostics.Debug.WriteLine($"[PrintService] page.Dimensions.MediaBox.Height (PDF points): {pageHeightInPoints}");
double pageWidthInInches = pageWidthInPoints / 72.0;
double pageHeightInInches = pageHeightInPoints / 72.0;
uint targetPixelWidth = (uint)(pageWidthInInches * printerDpi);
uint targetPixelHeight = (uint)(pageHeightInInches * printerDpi);
PdfPageRenderOptions options = new PdfPageRenderOptions();
options.DestinationWidth = (uint)(targetPixelWidth / actualRawPixelsPerViewPixel);
options.DestinationHeight = (uint)(targetPixelHeight / actualRawPixelsPerViewPixel);
System.Diagnostics.Debug.WriteLine($"[PrintService] Page {i}, Calculated PdfPageRenderOptions.DestinationWidth (DIPs): {options.DestinationWidth}, DestinationHeight (DIPs): {options.DestinationHeight}");
System.Diagnostics.Debug.WriteLine($"[PrintService] Page {i}, TargetPixelWidth: {targetPixelWidth}, TargetPixelHeight: {targetPixelHeight}");
// Mock CanvasBitmap properties (as we can't actually render)
uint mockBitmapSizeInPixelsWidth = targetPixelWidth;
uint mockBitmapSizeInPixelsHeight = targetPixelHeight;
float mockBitmapDpi = printerDpi;
System.Diagnostics.Debug.WriteLine($"[PrintService] bitmap.SizeInPixels.Width: {mockBitmapSizeInPixelsWidth} (Simulated)");
System.Diagnostics.Debug.WriteLine($"[PrintService] bitmap.SizeInPixels.Height: {mockBitmapSizeInPixelsHeight} (Simulated)");
System.Diagnostics.Debug.WriteLine($"[PrintService] bitmap.Dpi: {mockBitmapDpi} (Simulated)");
// Simulate adding to bitmaps list and tracking largest
// We don't add a real CanvasBitmap, just update what's needed for OnDocumentTaskOptionsChanged
this.largestBitmap.X = Math.Max(this.largestBitmap.X, mockBitmapSizeInPixelsWidth);
this.largestBitmap.Y = Math.Max(this.largestBitmap.Y, mockBitmapSizeInPixelsHeight);
// bitmaps.Add(null); // Not adding real bitmaps
}
this.bitmapCount = simulatedPageCount; // Set based on simulation
System.Diagnostics.Debug.WriteLine("[PrintService] LoadPDFPageBitmapsAsync finished.");
// --- Simulate OnDocumentTaskOptionsChanged ---
System.Diagnostics.Debug.WriteLine("[PrintService] OnDocumentTaskOptionsChanged starting...");
// DisplayInformation logs already done in LoadPDFPageBitmapsAsync simulation part
// Mock PageDescription (from PrintTaskOptions)
// For Letter paper (8.5x11 inches) at 300 DPI:
// Pixel size = (8.5*300) x (11*300) = 2550 x 3300 pixels
// DIP size = (PixelSize / rawPixelsPerViewPixel)
float pageDescPageSizeWidth = (2550.0f / actualRawPixelsPerViewPixel);
float pageDescPageSizeHeight = (3300.0f / actualRawPixelsPerViewPixel);
float pageDescDpiX = 300.0f;
float pageDescDpiY = 300.0f;
System.Diagnostics.Debug.WriteLine($"[PrintService] pageDesc.PageSize.Width (DIPs): {pageDescPageSizeWidth} (Simulated)");
System.Diagnostics.Debug.WriteLine($"[PrintService] pageDesc.PageSize.Height (DIPs): {pageDescPageSizeHeight} (Simulated)");
System.Diagnostics.Debug.WriteLine($"[PrintService] pageDesc.DpiX: {pageDescDpiX} (Simulated)");
System.Diagnostics.Debug.WriteLine($"[PrintService] pageDesc.DpiY: {pageDescDpiY} (Simulated)");
this.pageSize = new Vector2(pageDescPageSizeWidth, pageDescPageSizeHeight);
// sender.InvalidatePreview(); // Cannot call
// Calculate the new layout
var printablePageSize = this.pageSize * 0.9f; // Assuming default behavior
this.imagePadding = new Vector2(64, 64); // Default from class
this.cellSize = this.largestBitmap + this.imagePadding;
var cellsPerPage = printablePageSize / this.cellSize;
this.columns = Math.Max(1, (int)Math.Floor(cellsPerPage.X));
this.rows = Math.Max(1, (int)Math.Floor(cellsPerPage.Y));
this.bitmapsPerPage = this.columns * this.rows;
this.pageCount = (int)Math.Ceiling(this.bitmapCount / (double)this.bitmapsPerPage);
System.Diagnostics.Debug.WriteLine($"[PrintService] Calculated columns: {this.columns}");
System.Diagnostics.Debug.WriteLine($"[PrintService] Calculated rows: {this.rows}");
System.Diagnostics.Debug.WriteLine($"[PrintService] Calculated bitmapsPerPage: {this.bitmapsPerPage}");
System.Diagnostics.Debug.WriteLine($"[PrintService] Calculated pageCount: {this.pageCount}");
// sender.SetPageCount((uint)this.pageCount); // Cannot call
System.Diagnostics.Debug.WriteLine("[PrintService] OnDocumentTaskOptionsChanged finished.");
System.Diagnostics.Debug.WriteLine($"[PrintService] SIMULATION END for {simulatedRawPixelsPerViewPixel}");
System.Diagnostics.Debug.WriteLine("---"); // Separator
}
public async Task SimulatePrintScalingAsync()
{
// Temporarily store and clear global state that might interfere
var originalBitmaps = new List<CanvasBitmap>(this.bitmaps);
var originalLargestBitmap = this.largestBitmap;
var originalPageSize = this.pageSize;
var originalCellSize = this.cellSize;
int originalBitmapCount = this.bitmapCount;
int originalColumns = this.columns;
int originalRows = this.rows;
int originalBitmapsPerPage = this.bitmapsPerPage;
int originalPageCount = this.pageCount;
await RunSimulationAsync(1.0f, nameof(SimulatePrintScalingAsync));
await RunSimulationAsync(1.25f, nameof(SimulatePrintScalingAsync));
await RunSimulationAsync(1.5f, nameof(SimulatePrintScalingAsync));
// Restore original state if necessary, though for this task it's just about logs
this.bitmaps = originalBitmaps;
this.largestBitmap = originalLargestBitmap;
this.pageSize = originalPageSize;
this.cellSize = originalCellSize;
this.bitmapCount = originalBitmapCount;
this.columns = originalColumns;
this.rows = originalRows;
this.bitmapsPerPage = originalBitmapsPerPage;
this.pageCount = originalPageCount;
}
// --- END SIMULATION CODE ---
}

View File

@@ -1,198 +1,63 @@
using System;
using System.Collections.Concurrent;
using System.Collections.Generic;
using System.Linq;
using System.Net.Http;
using System.Net.Mail;
using System.Threading.Tasks;
using CommunityToolkit.Mvvm.Messaging;
using Gravatar;
using Windows.Networking.Connectivity;
using Wino.Core.Domain.Entities.Shared;
using Wino.Core.Domain.Interfaces;
using Wino.Messaging.UI;
using Wino.Services;
namespace Wino.Core.UWP.Services;
public class ThumbnailService(IPreferencesService preferencesService, IDatabaseService databaseService) : IThumbnailService
public static class ThumbnailService
{
private readonly IPreferencesService _preferencesService = preferencesService;
private readonly IDatabaseService _databaseService = databaseService;
private static readonly HttpClient _httpClient = new();
private bool _isInitialized = false;
private ConcurrentDictionary<string, (string graviton, string favicon)> _cache;
private readonly ConcurrentDictionary<string, Task> _requests = [];
private static readonly List<string> _excludedFaviconDomains = [
"gmail.com",
"outlook.com",
"hotmail.com",
"live.com",
"yahoo.com",
"icloud.com",
"aol.com",
"protonmail.com",
"zoho.com",
"mail.com",
"gmx.com",
"yandex.com",
"yandex.ru",
"tutanota.com",
"mail.ru",
"rediffmail.com"
];
public async ValueTask<string> GetThumbnailAsync(string email, bool awaitLoad = false)
private static string[] knownCompanies = new string[]
{
if (string.IsNullOrWhiteSpace(email))
return null;
"microsoft.com", "apple.com", "google.com", "steampowered.com", "airbnb.com", "youtube.com", "uber.com"
};
if (!_preferencesService.IsShowSenderPicturesEnabled)
return null;
public static bool IsKnown(string mailHost) => !string.IsNullOrEmpty(mailHost) && knownCompanies.Contains(mailHost);
if (!_isInitialized)
{
var thumbnailsList = await _databaseService.Connection.Table<Thumbnail>().ToListAsync();
_cache = new ConcurrentDictionary<string, (string graviton, string favicon)>(
thumbnailsList.ToDictionary(x => x.Domain, x => (x.Gravatar, x.Favicon)));
_isInitialized = true;
}
var sanitizedEmail = email.Trim().ToLowerInvariant();
var (gravatar, favicon) = await GetThumbnailInternal(sanitizedEmail, awaitLoad);
if (_preferencesService.IsGravatarEnabled && !string.IsNullOrEmpty(gravatar))
{
return gravatar;
}
if (_preferencesService.IsFaviconEnabled && !string.IsNullOrEmpty(favicon))
{
return favicon;
}
return null;
}
public async Task ClearCache()
public static string GetHost(string address)
{
_cache?.Clear();
_requests.Clear();
await _databaseService.Connection.DeleteAllAsync<Thumbnail>();
}
if (string.IsNullOrEmpty(address))
return string.Empty;
private async ValueTask<(string gravatar, string favicon)> GetThumbnailInternal(string email, bool awaitLoad)
{
if (_cache.TryGetValue(email, out var cached))
return cached;
// No network available, skip fetching Gravatar
// Do not cache it, since network can be available later
bool isInternetAvailable = GetIsInternetAvailable();
if (!isInternetAvailable)
return default;
if (!_requests.TryGetValue(email, out var request))
if (address.Contains('@'))
{
request = Task.Run(() => RequestNewThumbnail(email));
_requests[email] = request;
}
var splitted = address.Split('@');
if (awaitLoad)
{
await request;
_cache.TryGetValue(email, out cached);
return cached;
}
return default;
static bool GetIsInternetAvailable()
{
var connection = NetworkInformation.GetInternetConnectionProfile();
return connection != null && connection.GetNetworkConnectivityLevel() == NetworkConnectivityLevel.InternetAccess;
}
}
private async Task RequestNewThumbnail(string email)
{
var gravatarBase64 = await GetGravatarBase64(email);
var faviconBase64 = await GetFaviconBase64(email);
await _databaseService.Connection.InsertOrReplaceAsync(new Thumbnail
{
Domain = email,
Gravatar = gravatarBase64,
Favicon = faviconBase64,
LastUpdated = DateTime.UtcNow
});
_ = _cache.TryAdd(email, (gravatarBase64, faviconBase64));
WeakReferenceMessenger.Default.Send(new ThumbnailAdded(email));
}
private static async Task<string> GetGravatarBase64(string email)
{
try
{
var gravatarUrl = GravatarHelper.GetAvatarUrl(
email,
size: 128,
defaultValue: GravatarAvatarDefault.Blank,
withFileExtension: false).ToString().Replace("d=blank", "d=404");
var response = await _httpClient.GetAsync(gravatarUrl);
if (response.IsSuccessStatusCode)
if (splitted.Length >= 2 && !string.IsNullOrEmpty(splitted[1]))
{
var bytes = response.Content.ReadAsByteArrayAsync().Result;
return Convert.ToBase64String(bytes);
try
{
return new MailAddress(address).Host;
}
catch (Exception)
{
// TODO: Exceptions are ignored for now.
}
}
}
catch { }
return null;
}
private static async Task<string> GetFaviconBase64(string email)
{
try
{
var host = GetHost(email);
if (string.IsNullOrEmpty(host))
return null;
// Do not fetch favicon for specific default domains of major platforms
if (_excludedFaviconDomains.Contains(host, StringComparer.OrdinalIgnoreCase))
return null;
var primaryDomain = string.Join('.', host.Split('.')[^2..]);
var googleFaviconUrl = $"https://www.google.com/s2/favicons?sz=128&domain_url={primaryDomain}";
var response = await _httpClient.GetAsync(googleFaviconUrl);
if (response.IsSuccessStatusCode)
{
var bytes = response.Content.ReadAsByteArrayAsync().Result;
return Convert.ToBase64String(bytes);
}
}
catch { }
return null;
}
private static string GetHost(string email)
{
if (!string.IsNullOrEmpty(email) && email.Contains('@'))
{
var split = email.Split('@');
if (split.Length >= 2 && !string.IsNullOrEmpty(split[1]))
{
try { return new MailAddress(email).Host; } catch { }
}
}
return string.Empty;
}
public static Tuple<bool, string> CheckIsKnown(string host)
{
// Check known hosts.
// Apply company logo if available.
try
{
var last = host.Split('.');
if (last.Length > 2)
host = $"{last[last.Length - 2]}.{last[last.Length - 1]}";
}
catch (Exception)
{
return new Tuple<bool, string>(false, host);
}
return new Tuple<bool, string>(IsKnown(host), host);
}
public static string GetKnownHostImage(string host)
=> $"ms-appx:///Assets/Thumbnails/{host}.png";
}

View File

@@ -85,7 +85,6 @@
<Content Include="BackgroundImages\Snowflake.jpg" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="gravatar-dotnet" />
<PackageReference Include="Microsoft.Identity.Client" />
<PackageReference Include="Microsoft.UI.Xaml" />
<PackageReference Include="CommunityToolkit.Common" />

View File

@@ -40,7 +40,6 @@ public abstract class WinoApplication : Application, IRecipient<LanguageChanged>
protected IWinoServerConnectionManager<AppServiceConnection> AppServiceConnectionManager { get; }
public IThemeService ThemeService { get; }
public IUnderlyingThemeService UnderlyingThemeService { get; }
public IThumbnailService ThumbnailService { get; }
protected IDatabaseService DatabaseService { get; }
protected ITranslationService TranslationService { get; }
@@ -65,7 +64,6 @@ public abstract class WinoApplication : Application, IRecipient<LanguageChanged>
DatabaseService = Services.GetService<IDatabaseService>();
TranslationService = Services.GetService<ITranslationService>();
UnderlyingThemeService = Services.GetService<IUnderlyingThemeService>();
ThumbnailService = Services.GetService<IThumbnailService>();
// Make sure the paths are setup on app start.
AppConfiguration.ApplicationDataFolderPath = ApplicationData.Current.LocalFolder.Path;

View File

@@ -8,7 +8,6 @@
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.Identity.Client" />
<PackageReference Include="Sentry.Serilog" />
<PackageReference Include="System.Reactive" />
</ItemGroup>
<ItemGroup>

View File

@@ -26,7 +26,6 @@
<PackageReference Include="morelinq" />
<PackageReference Include="Nito.AsyncEx.Tasks" />
<PackageReference Include="NodaTime" />
<PackageReference Include="Sentry.Serilog" />
<PackageReference Include="SkiaSharp" />
<PackageReference Include="SqlKata" />
<PackageReference Include="System.Text.Encoding.CodePages" />

View File

@@ -18,6 +18,7 @@ public partial class AppPreferencesPageViewModel : MailBaseViewModel
[ObservableProperty]
private List<string> _appTerminationBehavior;
[ObservableProperty]
public partial List<string> SearchModes { get; set; }
@@ -26,18 +27,6 @@ public partial class AppPreferencesPageViewModel : MailBaseViewModel
[NotifyPropertyChangedFor(nameof(IsStartupBehaviorEnabled))]
private StartupBehaviorResult startupBehaviorResult;
private int _emailSyncIntervalMinutes;
public int EmailSyncIntervalMinutes
{
get => _emailSyncIntervalMinutes;
set
{
SetProperty(ref _emailSyncIntervalMinutes, value);
PreferencesService.EmailSyncIntervalMinutes = value;
}
}
public bool IsStartupBehaviorDisabled => !IsStartupBehaviorEnabled;
public bool IsStartupBehaviorEnabled => StartupBehaviorResult == StartupBehaviorResult.Enabled;
@@ -96,7 +85,6 @@ public partial class AppPreferencesPageViewModel : MailBaseViewModel
SelectedAppTerminationBehavior = _appTerminationBehavior[(int)PreferencesService.ServerTerminationBehavior];
SelectedDefaultSearchMode = SearchModes[(int)PreferencesService.DefaultSearchMode];
EmailSyncIntervalMinutes = PreferencesService.EmailSyncIntervalMinutes;
}
[RelayCommand]

View File

@@ -129,11 +129,11 @@ public class WinoMailCollection
private async Task HandleExistingThreadAsync(ObservableGroup<object, IMailItem> group, ThreadMailItemViewModel threadViewModel, MailCopy addedItem)
{
var existingGroupKey = GetGroupingKey(threadViewModel);
await ExecuteUIThread(() => { threadViewModel.AddMailItemViewModel(addedItem); });
var newGroupKey = GetGroupingKey(threadViewModel);
if (!existingGroupKey.Equals(newGroupKey))
{
await MoveThreadToNewGroupAsync(group, threadViewModel, newGroupKey);
@@ -294,25 +294,6 @@ public class WinoMailCollection
return null;
}
public void UpdateThumbnails(string address)
{
if (CoreDispatcher == null) return;
CoreDispatcher.ExecuteOnUIThread(() =>
{
foreach (var group in _mailItemSource)
{
foreach (var item in group)
{
if (item is MailItemViewModel mailItemViewModel && mailItemViewModel.MailCopy.FromAddress.Equals(address, StringComparison.OrdinalIgnoreCase))
{
mailItemViewModel.ThumbnailUpdatedEvent = !mailItemViewModel.ThumbnailUpdatedEvent;
}
}
}
});
}
/// <summary>
/// Fins the item container that updated mail copy belongs to and updates it.
/// </summary>

View File

@@ -1,17 +1,10 @@
using System;
using CommunityToolkit.Mvvm.ComponentModel;
using Wino.Core.Domain;
using Wino.Core.Domain;
using Wino.Core.Domain.Entities.Shared;
namespace Wino.Mail.ViewModels.Data;
public partial class AccountContactViewModel : ObservableObject
public class AccountContactViewModel : AccountContact
{
public string Address { get; set; }
public string Name { get; set; }
public string Base64ContactPicture { get; set; }
public bool IsRootContact { get; set; }
public AccountContactViewModel(AccountContact contact)
{
Address = contact.Address;
@@ -46,7 +39,4 @@ public partial class AccountContactViewModel : ObservableObject
/// Display name of the contact in a format: Name <Address>.
/// </summary>
public string DisplayName => Address == Name || string.IsNullOrWhiteSpace(Name) ? Address.ToLowerInvariant() : $"{Name} <{Address.ToLowerInvariant()}>";
[ObservableProperty]
public partial bool ThumbnailUpdatedEvent { get; set; }
}

View File

@@ -13,7 +13,7 @@ namespace Wino.Mail.ViewModels.Data;
public partial class MailItemViewModel(MailCopy mailCopy) : ObservableObject, IMailItem
{
[ObservableProperty]
public partial MailCopy MailCopy { get; set; } = mailCopy;
private MailCopy mailCopy = mailCopy;
public Guid UniqueId => ((IMailItem)MailCopy).UniqueId;
public string ThreadId => ((IMailItem)MailCopy).ThreadId;
@@ -23,13 +23,10 @@ public partial class MailItemViewModel(MailCopy mailCopy) : ObservableObject, IM
public string InReplyTo => ((IMailItem)MailCopy).InReplyTo;
[ObservableProperty]
public partial bool ThumbnailUpdatedEvent { get; set; } = false;
private bool isCustomFocused;
[ObservableProperty]
public partial bool IsCustomFocused { get; set; }
[ObservableProperty]
public partial bool IsSelected { get; set; }
private bool isSelected;
public bool IsFlagged
{

View File

@@ -98,13 +98,19 @@ public partial class EditAccountDetailsPageViewModel : MailBaseViewModel
Messenger.Send(new BackBreadcrumNavigationRequested());
}
[RelayCommand]
private Task SaveWithoutGoBackAsync()
{
return UpdateAccountAsync();
}
[RelayCommand]
private async Task ValidateImapSettingsAsync()
{
try
{
await _imapTestService.TestImapConnectionAsync(ServerInformation, true);
_mailDialogService.InfoBarMessage(Translator.IMAPSetupDialog_ValidationSuccess_Title, Translator.IMAPSetupDialog_ValidationSuccess_Message, Core.Domain.Enums.InfoBarMessageType.Success);
_mailDialogService.InfoBarMessage(Translator.IMAPSetupDialog_ValidationSuccess_Title, Translator.IMAPSetupDialog_ValidationSuccess_Message, Core.Domain.Enums.InfoBarMessageType.Success); ;
}
catch (Exception ex)
{
@@ -112,9 +118,12 @@ public partial class EditAccountDetailsPageViewModel : MailBaseViewModel
}
}
[RelayCommand]
private async Task UpdateCustomServerInformationAsync()
private Task UpdateAccountAsync()
{
Account.Name = AccountName;
Account.SenderName = SenderName;
Account.AccountColorHex = SelectedColor == null ? string.Empty : SelectedColor.Hex;
if (ServerInformation != null)
{
ServerInformation.IncomingAuthenticationMethod = AvailableAuthenticationMethods[SelectedIncomingServerAuthenticationMethodIndex].ImapAuthenticationMethod;
@@ -126,17 +135,6 @@ public partial class EditAccountDetailsPageViewModel : MailBaseViewModel
Account.ServerInformation = ServerInformation;
}
await _accountService.UpdateAccountCustomServerInformationAsync(Account.ServerInformation);
_mailDialogService.InfoBarMessage(Translator.IMAPSetupDialog_SaveImapSuccess_Title, Translator.IMAPSetupDialog_SaveImapSuccess_Message, Core.Domain.Enums.InfoBarMessageType.Success);
}
private Task UpdateAccountAsync()
{
Account.Name = AccountName;
Account.SenderName = SenderName;
Account.AccountColorHex = SelectedColor == null ? string.Empty : SelectedColor.Hex;
return _accountService.UpdateAccountAsync(Account);
}

View File

@@ -41,8 +41,7 @@ public partial class MailListPageViewModel : MailBaseViewModel,
IRecipient<AccountSynchronizationCompleted>,
IRecipient<NewMailSynchronizationRequested>,
IRecipient<AccountSynchronizerStateChanged>,
IRecipient<AccountCacheResetMessage>,
IRecipient<ThumbnailAdded>
IRecipient<AccountCacheResetMessage>
{
private bool isChangingFolder = false;
@@ -1141,6 +1140,4 @@ public partial class MailListPageViewModel : MailBaseViewModel,
});
}
}
public void Receive(ThumbnailAdded message) => MailCollection.UpdateThumbnails(message.Email);
}

View File

@@ -25,14 +25,12 @@ using Wino.Mail.ViewModels.Data;
using Wino.Mail.ViewModels.Messages;
using Wino.Messaging.Client.Mails;
using Wino.Messaging.Server;
using Wino.Messaging.UI;
using IMailService = Wino.Core.Domain.Interfaces.IMailService;
namespace Wino.Mail.ViewModels;
public partial class MailRenderingPageViewModel : MailBaseViewModel,
IRecipient<NewMailItemRenderingRequestedEvent>,
IRecipient<ThumbnailAdded>,
ITransferProgress // For listening IMAP message download progress.
{
private readonly IMailDialogService _dialogService;
@@ -790,27 +788,4 @@ public partial class MailRenderingPageViewModel : MailBaseViewModel,
Log.Error(ex, "Failed to render mail.");
}
}
public void Receive(ThumbnailAdded message)
{
UpdateThumbnails(ToItems, message.Email);
UpdateThumbnails(CcItems, message.Email);
UpdateThumbnails(BccItems, message.Email);
}
private void UpdateThumbnails(ObservableCollection<AccountContactViewModel> items, string email)
{
if (Dispatcher == null || items.Count == 0) return;
Dispatcher.ExecuteOnUIThread(() =>
{
foreach (var item in items)
{
if (item.Address.Equals(email, StringComparison.OrdinalIgnoreCase))
{
item.ThumbnailUpdatedEvent = !item.ThumbnailUpdatedEvent;
}
}
});
}
}

View File

@@ -1,19 +1,17 @@
using System;
using System.Collections.Generic;
using System.Threading.Tasks;
using CommunityToolkit.Mvvm.Input;
using Wino.Core.Domain;
using Wino.Core.Domain.Enums;
using Wino.Core.Domain.Interfaces;
namespace Wino.Mail.ViewModels;
public partial class MessageListPageViewModel : MailBaseViewModel
public class MessageListPageViewModel : MailBaseViewModel
{
public IPreferencesService PreferencesService { get; }
private readonly IThumbnailService _thumbnailService;
private int selectedMarkAsOptionIndex;
public int SelectedMarkAsOptionIndex
{
get => selectedMarkAsOptionIndex;
@@ -48,7 +46,9 @@ public partial class MessageListPageViewModel : MailBaseViewModel
];
#region Properties
private int leftHoverActionIndex;
public int LeftHoverActionIndex
{
get => leftHoverActionIndex;
@@ -61,7 +61,9 @@ public partial class MessageListPageViewModel : MailBaseViewModel
}
}
private int centerHoverActionIndex;
public int CenterHoverActionIndex
{
get => centerHoverActionIndex;
@@ -75,6 +77,7 @@ public partial class MessageListPageViewModel : MailBaseViewModel
}
private int rightHoverActionIndex;
public int RightHoverActionIndex
{
get => rightHoverActionIndex;
@@ -86,21 +89,18 @@ public partial class MessageListPageViewModel : MailBaseViewModel
}
}
}
#endregion
public MessageListPageViewModel(IPreferencesService preferencesService, IThumbnailService thumbnailService)
public MessageListPageViewModel(IMailDialogService dialogService,
IPreferencesService preferencesService)
{
PreferencesService = preferencesService;
_thumbnailService = thumbnailService;
leftHoverActionIndex = availableHoverActions.IndexOf(PreferencesService.LeftHoverAction);
centerHoverActionIndex = availableHoverActions.IndexOf(PreferencesService.CenterHoverAction);
rightHoverActionIndex = availableHoverActions.IndexOf(PreferencesService.RightHoverAction);
SelectedMarkAsOptionIndex = Array.IndexOf(Enum.GetValues<MailMarkAsOption>(), PreferencesService.MarkAsPreference);
}
[RelayCommand]
private async Task ClearAvatarsCacheAsync()
{
await _thumbnailService.ClearCache();
}
}

View File

@@ -9,7 +9,6 @@
<ItemGroup>
<PackageReference Include="EmailValidation" />
<PackageReference Include="Microsoft.Identity.Client" />
<PackageReference Include="Sentry.Serilog" />
<PackageReference Include="System.Reactive" />
</ItemGroup>
<ItemGroup>

View File

@@ -30,7 +30,6 @@
<DataTemplate x:Key="ClickableAccountMenuTemplate" x:DataType="menu:AccountMenuItem">
<controls:AccountNavigationItem
x:Name="AccountItem"
Height="50"
HorizontalContentAlignment="Stretch"
VerticalContentAlignment="Stretch"
BindingData="{x:Bind}"
@@ -58,12 +57,19 @@
Value="{x:Bind UnreadItemCount, Mode=OneWay}" />
</muxc:NavigationViewItem.InfoBadge>
<Grid>
<Grid
MaxHeight="70"
Margin="0,8"
RowSpacing="6">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="2" />
</Grid.RowDefinitions>
<StackPanel VerticalAlignment="Center">
<TextBlock
x:Name="AccountNameTextblock"
@@ -74,7 +80,8 @@
TextTrimming="CharacterEllipsis" />
<TextBlock
Foreground="{ThemeResource TextFillColorSecondaryBrush}"
FontSize="13"
FontWeight="{x:Bind helpers:XamlHelpers.GetFontWeightByChildSelectedState(IsSelected), Mode=OneWay}"
MaxLines="1"
Style="{StaticResource CaptionTextBlockStyle}"
Text="{x:Bind Parameter.Address, Mode=OneWay}"
@@ -83,6 +90,8 @@
<PathIcon
x:Name="AttentionIcon"
Grid.Row="0"
Grid.RowSpan="2"
Grid.Column="2"
HorizontalAlignment="Center"
VerticalAlignment="Center"
@@ -95,6 +104,7 @@
Grid.ColumnSpan="3"
Width="10"
Height="10"
Margin="0,8,0,0"
HorizontalAlignment="Right"
VerticalAlignment="Center"
Background="{ThemeResource AppBarItemBackgroundThemeBrush}"
@@ -159,7 +169,7 @@
<!-- Inbox or any other folders. -->
<DataTemplate x:Key="FolderMenuTemplate" x:DataType="menu:FolderMenuItem">
<coreControls:WinoNavigationViewItem
MinHeight="40"
MinHeight="30"
AllowDrop="True"
ContextRequested="MenuItemContextRequested"
DataContext="{x:Bind}"
@@ -190,7 +200,6 @@
<muxc:NavigationViewItem.Content>
<Grid
x:Name="FolderBackgroundGrid"
MaxHeight="36"
Padding="2"
VerticalAlignment="Center">
<Grid
@@ -252,7 +261,7 @@
<PathIcon Data="F1 M 8.613281 17.5 C 8.75 17.942709 8.945312 18.359375 9.199219 18.75 L 4.921875 18.75 C 4.433594 18.75 3.966471 18.650717 3.520508 18.452148 C 3.074544 18.25358 2.683919 17.986654 2.348633 17.651367 C 2.013346 17.31608 1.746419 16.925455 1.547852 16.479492 C 1.349284 16.033529 1.25 15.566406 1.25 15.078125 L 1.25 4.921875 C 1.25 4.433594 1.349284 3.966473 1.547852 3.520508 C 1.746419 3.074545 2.013346 2.68392 2.348633 2.348633 C 2.683919 2.013348 3.074544 1.74642 3.520508 1.547852 C 3.966471 1.349285 4.433594 1.25 4.921875 1.25 L 15.078125 1.25 C 15.566406 1.25 16.033527 1.349285 16.479492 1.547852 C 16.925455 1.74642 17.31608 2.013348 17.651367 2.348633 C 17.986652 2.68392 18.25358 3.074545 18.452148 3.520508 C 18.650715 3.966473 18.75 4.433594 18.75 4.921875 L 18.75 6.572266 C 18.580729 6.344402 18.390299 6.132813 18.178711 5.9375 C 17.967121 5.742188 17.740885 5.566407 17.5 5.410156 L 17.5 4.951172 C 17.5 4.625651 17.433268 4.314779 17.299805 4.018555 C 17.16634 3.722332 16.987305 3.461914 16.762695 3.237305 C 16.538086 3.012695 16.277668 2.83366 15.981445 2.700195 C 15.685221 2.566732 15.374349 2.5 15.048828 2.5 L 4.951172 2.5 C 4.619141 2.5 4.303385 2.568359 4.003906 2.705078 C 3.704427 2.841797 3.44401 3.02409 3.222656 3.251953 C 3.001302 3.479818 2.825521 3.745117 2.695312 4.047852 C 2.565104 4.350587 2.5 4.66797 2.5 5 L 13.310547 5 C 12.60091 5.266928 11.998697 5.683594 11.503906 6.25 L 2.5 6.25 L 2.5 15.048828 C 2.5 15.38737 2.568359 15.704753 2.705078 16.000977 C 2.841797 16.297201 3.024088 16.55599 3.251953 16.777344 C 3.479818 16.998697 3.745117 17.174479 4.047852 17.304688 C 4.350586 17.434896 4.667969 17.5 5 17.5 Z" />
</coreControls:WinoNavigationViewItem.Icon>
<Grid Height="50">
<Grid MinHeight="50">
<StackPanel VerticalAlignment="Center" Spacing="0">
<TextBlock
x:Name="AccountNameTextblock"

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 574 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

View File

@@ -1,28 +1,30 @@
using System.Collections;
using System.Collections.Specialized;
using System.Windows.Input;
using CommunityToolkit.WinUI;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Xaml.Interactivity;
using Windows.UI.Xaml;
using Windows.UI.Xaml.Controls;
using Windows.UI.Xaml.Controls.Primitives;
using Wino.Core.Domain.Interfaces;
using Wino.Controls;
using Wino.Core.Domain.Models.Menus;
using Wino.Core.UWP.Controls;
using Wino.Helpers;
namespace Wino.Behaviors;
public partial class BindableCommandBarBehavior : Behavior<CommandBar>
public class BindableCommandBarBehavior : Behavior<CommandBar>
{
private readonly IPreferencesService _preferencesService = App.Current.Services.GetService<IPreferencesService>();
public static readonly DependencyProperty PrimaryCommandsProperty = DependencyProperty.Register(
"PrimaryCommands", typeof(object), typeof(BindableCommandBarBehavior),
new PropertyMetadata(null, UpdateCommands));
[GeneratedDependencyProperty]
public partial ICommand ItemClickedCommand { get; set; }
public ICommand ItemClickedCommand
{
get { return (ICommand)GetValue(ItemClickedCommandProperty); }
set { SetValue(ItemClickedCommandProperty, value); }
}
public static readonly DependencyProperty ItemClickedCommandProperty = DependencyProperty.Register(nameof(ItemClickedCommand), typeof(ICommand), typeof(BindableCommandBarBehavior), new PropertyMetadata(null));
public object PrimaryCommands
{
@@ -81,7 +83,7 @@ public partial class BindableCommandBarBehavior : Behavior<CommandBar>
AssociatedObject.PrimaryCommands.Clear();
AssociatedObject.SecondaryCommands.Clear();
if (PrimaryCommands is not IEnumerable enumerable) return;
if (!(PrimaryCommands is IEnumerable enumerable)) return;
foreach (var command in enumerable)
{
@@ -96,26 +98,19 @@ public partial class BindableCommandBarBehavior : Behavior<CommandBar>
else
{
var label = XamlHelpers.GetOperationString(mailOperationMenuItem.Operation);
var labelPosition = string.IsNullOrWhiteSpace(label) || !_preferencesService.IsShowActionLabelsEnabled ?
CommandBarLabelPosition.Collapsed : CommandBarLabelPosition.Default;
menuItem = new AppBarButton
{
Width = double.NaN,
MinWidth = 40,
Icon = new WinoFontIcon() { Glyph = ControlConstants.WinoIconFontDictionary[XamlHelpers.GetWinoIconGlyph(mailOperationMenuItem.Operation)] },
Label = label,
LabelPosition = labelPosition,
LabelPosition = string.IsNullOrWhiteSpace(label) ? CommandBarLabelPosition.Collapsed : CommandBarLabelPosition.Default,
DataContext = mailOperationMenuItem,
};
if (!string.IsNullOrWhiteSpace(label))
ToolTip toolTip = new ToolTip
{
var toolTip = new ToolTip
{
Content = label
};
ToolTipService.SetToolTip((DependencyObject)menuItem, toolTip);
}
Content = label
};
ToolTipService.SetToolTip((DependencyObject)menuItem, toolTip);
((AppBarButton)menuItem).Click -= Button_Click;
((AppBarButton)menuItem).Click += Button_Click;
@@ -169,7 +164,7 @@ public partial class BindableCommandBarBehavior : Behavior<CommandBar>
private static void UpdateCommands(DependencyObject dependencyObject,
DependencyPropertyChangedEventArgs dependencyPropertyChangedEventArgs)
{
if (dependencyObject is not BindableCommandBarBehavior behavior) return;
if (!(dependencyObject is BindableCommandBarBehavior behavior)) return;
if (dependencyPropertyChangedEventArgs.OldValue is INotifyCollectionChanged oldList)
{

View File

@@ -43,6 +43,10 @@ public partial class AccountNavigationItem : WinoNavigationViewItem
_itemsRepeater = GetTemplateChild(PART_NavigationViewItemMenuItemsHost) as ItemsRepeater;
_selectionIndicator = GetTemplateChild(PART_SelectionIndicator) as Windows.UI.Xaml.Shapes.Rectangle;
if (_itemsRepeater == null) return;
(_itemsRepeater.Layout as StackLayout).Spacing = 0;
UpdateSelectionBorder();
}
@@ -56,6 +60,12 @@ public partial class AccountNavigationItem : WinoNavigationViewItem
{
if (_selectionIndicator == null) return;
// Adjsuting Margin in the styles are not possible due to the fact that we use the same tempalte for different types of menu items.
// Account templates listed under merged accounts will have Padding of 44. We must adopt to that.
bool hasParentMenuItem = BindingData is IAccountMenuItem accountMenuItem && accountMenuItem.ParentMenuItem != null;
_selectionIndicator.Margin = !hasParentMenuItem ? new Thickness(-44, 12, 0, 12) : new Thickness(-60, 12, -60, 12);
_selectionIndicator.Scale = IsActiveAccount ? new Vector3(1, 1, 1) : new Vector3(0, 0, 0);
_selectionIndicator.Visibility = IsActiveAccount ? Visibility.Visible : Visibility.Collapsed;
}

View File

@@ -5,14 +5,13 @@ using System.Text.RegularExpressions;
using System.Threading;
using System.Threading.Tasks;
using Fernandezja.ColorHashSharp;
using Microsoft.Extensions.DependencyInjection;
using Windows.UI;
using Windows.UI.Xaml;
using Windows.UI.Xaml.Controls;
using Windows.UI.Xaml.Media;
using Windows.UI.Xaml.Media.Imaging;
using Windows.UI.Xaml.Shapes;
using Wino.Core.Domain.Interfaces;
using Wino.Core.UWP.Services;
namespace Wino.Controls;
@@ -22,21 +21,12 @@ public partial class ImagePreviewControl : Control
private const string PART_InitialsTextBlock = "InitialsTextBlock";
private const string PART_KnownHostImage = "KnownHostImage";
private const string PART_Ellipse = "Ellipse";
private const string PART_FaviconSquircle = "FaviconSquircle";
private const string PART_FaviconImage = "FaviconImage";
#region Dependency Properties
public static readonly DependencyProperty FromNameProperty = DependencyProperty.Register(nameof(FromName), typeof(string), typeof(ImagePreviewControl), new PropertyMetadata(string.Empty, OnInformationChanged));
public static readonly DependencyProperty FromAddressProperty = DependencyProperty.Register(nameof(FromAddress), typeof(string), typeof(ImagePreviewControl), new PropertyMetadata(string.Empty, OnInformationChanged));
public static readonly DependencyProperty SenderContactPictureProperty = DependencyProperty.Register(nameof(SenderContactPicture), typeof(string), typeof(ImagePreviewControl), new PropertyMetadata(string.Empty, new PropertyChangedCallback(OnInformationChanged)));
public static readonly DependencyProperty ThumbnailUpdatedEventProperty = DependencyProperty.Register(nameof(ThumbnailUpdatedEvent), typeof(bool), typeof(ImagePreviewControl), new PropertyMetadata(false, new PropertyChangedCallback(OnInformationChanged)));
public bool ThumbnailUpdatedEvent
{
get { return (bool)GetValue(ThumbnailUpdatedEventProperty); }
set { SetValue(ThumbnailUpdatedEventProperty, value); }
}
public static readonly DependencyProperty FromNameProperty = DependencyProperty.Register(nameof(FromName), typeof(string), typeof(ImagePreviewControl), new PropertyMetadata(string.Empty, OnAddressInformationChanged));
public static readonly DependencyProperty FromAddressProperty = DependencyProperty.Register(nameof(FromAddress), typeof(string), typeof(ImagePreviewControl), new PropertyMetadata(string.Empty, OnAddressInformationChanged));
public static readonly DependencyProperty SenderContactPictureProperty = DependencyProperty.Register(nameof(SenderContactPicture), typeof(string), typeof(ImagePreviewControl), new PropertyMetadata(string.Empty, new PropertyChangedCallback(OnAddressInformationChanged)));
/// <summary>
/// Gets or sets base64 string of the sender contact picture.
@@ -65,8 +55,6 @@ public partial class ImagePreviewControl : Control
private Grid InitialsGrid;
private TextBlock InitialsTextblock;
private Image KnownHostImage;
private Border FaviconSquircle;
private Image FaviconImage;
private CancellationTokenSource contactPictureLoadingCancellationTokenSource;
public ImagePreviewControl()
@@ -82,13 +70,11 @@ public partial class ImagePreviewControl : Control
InitialsTextblock = GetTemplateChild(PART_InitialsTextBlock) as TextBlock;
KnownHostImage = GetTemplateChild(PART_KnownHostImage) as Image;
Ellipse = GetTemplateChild(PART_Ellipse) as Ellipse;
FaviconSquircle = GetTemplateChild(PART_FaviconSquircle) as Border;
FaviconImage = GetTemplateChild(PART_FaviconImage) as Image;
UpdateInformation();
}
private static void OnInformationChanged(DependencyObject obj, DependencyPropertyChangedEventArgs args)
private static void OnAddressInformationChanged(DependencyObject obj, DependencyPropertyChangedEventArgs args)
{
if (obj is ImagePreviewControl control)
control.UpdateInformation();
@@ -96,7 +82,7 @@ public partial class ImagePreviewControl : Control
private async void UpdateInformation()
{
if ((KnownHostImage == null && FaviconSquircle == null) || InitialsGrid == null || InitialsTextblock == null || (string.IsNullOrEmpty(FromName) && string.IsNullOrEmpty(FromAddress)))
if (KnownHostImage == null || InitialsGrid == null || InitialsTextblock == null || (string.IsNullOrEmpty(FromName) && string.IsNullOrEmpty(FromAddress)))
return;
// Cancel active image loading if exists.
@@ -105,100 +91,81 @@ public partial class ImagePreviewControl : Control
contactPictureLoadingCancellationTokenSource.Cancel();
}
string contactPicture = SenderContactPicture;
var host = ThumbnailService.GetHost(FromAddress);
var isAvatarThumbnail = false;
bool isKnownHost = false;
if (string.IsNullOrEmpty(contactPicture) && !string.IsNullOrEmpty(FromAddress))
if (!string.IsNullOrEmpty(host))
{
contactPicture = await App.Current.ThumbnailService.GetThumbnailAsync(FromAddress);
isAvatarThumbnail = true;
var tuple = ThumbnailService.CheckIsKnown(host);
isKnownHost = tuple.Item1;
host = tuple.Item2;
}
if (!string.IsNullOrEmpty(contactPicture))
if (isKnownHost)
{
if (isAvatarThumbnail && FaviconSquircle != null && FaviconImage != null)
{
// Show favicon in squircle
FaviconSquircle.Visibility = Visibility.Visible;
InitialsGrid.Visibility = Visibility.Collapsed;
KnownHostImage.Visibility = Visibility.Collapsed;
// Unrealize others.
var bitmapImage = await GetBitmapImageAsync(contactPicture);
KnownHostImage.Visibility = Visibility.Visible;
InitialsGrid.Visibility = Visibility.Collapsed;
if (bitmapImage != null)
{
FaviconImage.Source = bitmapImage;
}
}
else
// Apply company logo.
KnownHostImage.Source = new BitmapImage(new Uri(ThumbnailService.GetKnownHostImage(host)));
}
else
{
KnownHostImage.Visibility = Visibility.Collapsed;
InitialsGrid.Visibility = Visibility.Visible;
if (!string.IsNullOrEmpty(SenderContactPicture))
{
// Show normal avatar (tondo)
FaviconSquircle.Visibility = Visibility.Collapsed;
KnownHostImage.Visibility = Visibility.Collapsed;
InitialsGrid.Visibility = Visibility.Visible;
contactPictureLoadingCancellationTokenSource = new CancellationTokenSource();
try
{
var brush = await GetContactImageBrushAsync(contactPicture);
var brush = await GetContactImageBrushAsync();
if (brush != null)
if (!contactPictureLoadingCancellationTokenSource?.Token.IsCancellationRequested ?? false)
{
if (!contactPictureLoadingCancellationTokenSource?.Token.IsCancellationRequested ?? false)
{
Ellipse.Fill = brush;
InitialsTextblock.Text = string.Empty;
}
Ellipse.Fill = brush;
InitialsTextblock.Text = string.Empty;
}
}
catch (Exception)
{
// Log exception.
Debugger.Break();
}
}
}
else
{
FaviconSquircle.Visibility = Visibility.Collapsed;
KnownHostImage.Visibility = Visibility.Collapsed;
InitialsGrid.Visibility = Visibility.Visible;
else
{
var colorHash = new ColorHash();
var rgb = colorHash.Rgb(FromAddress);
var colorHash = new ColorHash();
var rgb = colorHash.Rgb(FromAddress);
Ellipse.Fill = new SolidColorBrush(Color.FromArgb(rgb.A, rgb.R, rgb.G, rgb.B));
InitialsTextblock.Text = ExtractInitialsFromName(FromName);
Ellipse.Fill = new SolidColorBrush(Color.FromArgb(rgb.A, rgb.R, rgb.G, rgb.B));
InitialsTextblock.Text = ExtractInitialsFromName(FromName);
}
}
}
private static async Task<ImageBrush> GetContactImageBrushAsync(string base64)
private async Task<ImageBrush> GetContactImageBrushAsync()
{
// Load the image from base64 string.
var bitmapImage = await GetBitmapImageAsync(base64);
var bitmapImage = new BitmapImage();
if (bitmapImage == null) return null;
var imageArray = Convert.FromBase64String(SenderContactPicture);
var imageStream = new MemoryStream(imageArray);
var randomAccessImageStream = imageStream.AsRandomAccessStream();
randomAccessImageStream.Seek(0);
await bitmapImage.SetSourceAsync(randomAccessImageStream);
return new ImageBrush() { ImageSource = bitmapImage };
}
private static async Task<BitmapImage> GetBitmapImageAsync(string base64)
{
try
{
var bitmapImage = new BitmapImage();
var imageArray = Convert.FromBase64String(base64);
var imageStream = new MemoryStream(imageArray);
var randomAccessImageStream = imageStream.AsRandomAccessStream();
randomAccessImageStream.Seek(0);
await bitmapImage.SetSourceAsync(randomAccessImageStream);
return bitmapImage;
}
catch (Exception) { }
return null;
}
public string ExtractInitialsFromName(string name)
{
// Change from name to from address in case of name doesn't exists.

View File

@@ -76,7 +76,6 @@
FromAddress="{x:Bind MailItem.FromAddress, Mode=OneWay}"
FromName="{x:Bind MailItem.FromName, Mode=OneWay}"
SenderContactPicture="{x:Bind MailItem.SenderContact.Base64ContactPicture}"
ThumbnailUpdatedEvent="{x:Bind IsThumbnailUpdated, Mode=OneWay}"
Visibility="{x:Bind IsAvatarVisible, Mode=OneWay}" />
<Grid

View File

@@ -1,7 +1,6 @@
using System.Linq;
using System.Numerics;
using System.Windows.Input;
using CommunityToolkit.WinUI;
using Windows.UI.Xaml;
using Windows.UI.Xaml.Controls;
using Wino.Core.Domain;
@@ -34,13 +33,6 @@ public sealed partial class MailItemDisplayInformationControl : UserControl
public static readonly DependencyProperty Prefer24HourTimeFormatProperty = DependencyProperty.Register(nameof(Prefer24HourTimeFormat), typeof(bool), typeof(MailItemDisplayInformationControl), new PropertyMetadata(false));
public static readonly DependencyProperty IsThreadExpanderVisibleProperty = DependencyProperty.Register(nameof(IsThreadExpanderVisible), typeof(bool), typeof(MailItemDisplayInformationControl), new PropertyMetadata(false));
public static readonly DependencyProperty IsThreadExpandedProperty = DependencyProperty.Register(nameof(IsThreadExpanded), typeof(bool), typeof(MailItemDisplayInformationControl), new PropertyMetadata(false));
public static readonly DependencyProperty IsThumbnailUpdatedProperty = DependencyProperty.Register(nameof(IsThumbnailUpdated), typeof(bool), typeof(MailItemDisplayInformationControl), new PropertyMetadata(false));
public bool IsThumbnailUpdated
{
get { return (bool)GetValue(IsThumbnailUpdatedProperty); }
set { SetValue(IsThumbnailUpdatedProperty, value); }
}
public bool IsThreadExpanded
{

View File

@@ -55,8 +55,7 @@
DefaultLabelPosition="Collapsed"
IsOpen="False">
<AppBarButton
Width="Auto"
MinWidth="40"
Width="48"
Click="{x:Bind WebViewEditor.ToggleEditorTheme}"
LabelPosition="Collapsed"
ToolTipService.ToolTip="Light Theme"
@@ -67,8 +66,7 @@
</AppBarButton>
<AppBarButton
Width="Auto"
MinWidth="40"
Width="48"
Click="{x:Bind WebViewEditor.ToggleEditorTheme}"
LabelPosition="Collapsed"
ToolTipService.ToolTip="Dark Theme"
@@ -81,8 +79,7 @@
<AppBarSeparator />
<AppBarToggleButton
Width="Auto"
MinWidth="40"
Width="48"
IsChecked="{x:Bind WebViewEditor.IsEditorBold, Mode=TwoWay}"
Label="Bold"
ToolTipService.ToolTip="Bold">
@@ -91,8 +88,7 @@
</AppBarToggleButton.Icon>
</AppBarToggleButton>
<AppBarToggleButton
Width="Auto"
MinWidth="40"
Width="48"
IsChecked="{x:Bind WebViewEditor.IsEditorItalic, Mode=TwoWay}"
Label="Italic"
ToolTipService.ToolTip="Italic">
@@ -101,8 +97,7 @@
</AppBarToggleButton.Icon>
</AppBarToggleButton>
<AppBarToggleButton
Width="Auto"
MinWidth="40"
Width="48"
IsChecked="{x:Bind WebViewEditor.IsEditorUnderline, Mode=TwoWay}"
Label="Underline"
ToolTipService.ToolTip="Underline">
@@ -111,8 +106,7 @@
</AppBarToggleButton.Icon>
</AppBarToggleButton>
<AppBarToggleButton
Width="Auto"
MinWidth="40"
Width="48"
IsChecked="{x:Bind WebViewEditor.IsEditorStrikethrough, Mode=TwoWay}"
Label="Stroke"
ToolTipService.ToolTip="Stroke">
@@ -122,8 +116,7 @@
</AppBarToggleButton>
<AppBarSeparator />
<AppBarToggleButton
Width="Auto"
MinWidth="40"
Width="48"
IsChecked="{x:Bind WebViewEditor.IsEditorUl, Mode=TwoWay}"
Label="Bullet List"
ToolTipService.ToolTip="Bullet List">
@@ -132,8 +125,7 @@
</AppBarToggleButton.Icon>
</AppBarToggleButton>
<AppBarToggleButton
Width="Auto"
MinWidth="40"
Width="48"
IsChecked="{x:Bind WebViewEditor.IsEditorOl, Mode=TwoWay}"
Label="Ordered List"
ToolTipService.ToolTip="Ordered List">
@@ -145,8 +137,7 @@
<AppBarSeparator />
<AppBarButton
Width="Auto"
MinWidth="40"
Width="48"
Click="{x:Bind WebViewEditor.EditorOutdentAsync}"
IsEnabled="{x:Bind WebViewEditor.IsEditorOutdentEnabled, Mode=OneWay}"
Label="Decrease Indent"
@@ -156,8 +147,7 @@
</AppBarButton.Icon>
</AppBarButton>
<AppBarButton
Width="Auto"
MinWidth="40"
Width="48"
Click="{x:Bind WebViewEditor.EditorIndentAsync}"
IsEnabled="{x:Bind WebViewEditor.IsEditorIndentEnabled, Mode=OneWay}"
Label="Increase Indent"
@@ -167,10 +157,7 @@
</AppBarButton.Icon>
</AppBarButton>
<AppBarElementContainer
Width="Auto"
MinWidth="40"
VerticalAlignment="Center">
<AppBarElementContainer VerticalAlignment="Center">
<ComboBox
Background="Transparent"
BorderBrush="Transparent"
@@ -214,8 +201,7 @@
</AppBarElementContainer>
<AppBarSeparator />
<AppBarButton
Width="Auto"
MinWidth="40"
Width="48"
Click="{x:Bind WebViewEditor.ShowImagePicker}"
Label="Add Image"
ToolTipService.ToolTip="{x:Bind domain:Translator.Photos}">
@@ -232,8 +218,7 @@
</AppBarButton.Content>
</AppBarButton>
<AppBarButton
Width="Auto"
MinWidth="40"
Width="48"
Click="{x:Bind WebViewEditor.ShowEmojiPicker}"
Label="Add Emoji"
ToolTipService.ToolTip="{x:Bind domain:Translator.Emoji}">
@@ -243,8 +228,7 @@
</AppBarButton>
<AppBarToggleButton
Width="Auto"
MinWidth="40"
Width="48"
IsChecked="{x:Bind WebViewEditor.IsEditorWebViewEditor, Mode=TwoWay}"
Label="Webview ToolBar"
ToolTipService.ToolTip="Webview ToolBar">

View File

@@ -1,4 +1,5 @@
using System;
using Windows.UI.Xaml;
using Windows.UI.Xaml.Controls;
using Wino.Core.Domain.Interfaces;
using Wino.Core.Domain.Models.Folders;
@@ -10,11 +11,18 @@ namespace Wino.MenuFlyouts;
public partial class WinoOperationFlyoutItem<TOperationMenuItem> : MenuFlyoutItem, IDisposable where TOperationMenuItem : IMenuOperation
{
private const double CustomHeight = 35;
public TOperationMenuItem Operation { get; set; }
Action<TOperationMenuItem> Clicked { get; set; }
public WinoOperationFlyoutItem(TOperationMenuItem operationMenuItem, Action<TOperationMenuItem> clicked)
{
Margin = new Thickness(4, 2, 4, 2);
CornerRadius = new CornerRadius(6, 6, 6, 6);
MinHeight = CustomHeight;
Operation = operationMenuItem;
IsEnabled = operationMenuItem.IsEnabled;

View File

@@ -28,27 +28,13 @@
Foreground="White" />
</Grid>
<!-- Squircle for favicon -->
<Border
x:Name="FaviconSquircle"
Width="{TemplateBinding Width}"
Height="{TemplateBinding Height}"
HorizontalAlignment="Center"
VerticalAlignment="Center"
Background="Transparent"
CornerRadius="6"
Visibility="Collapsed">
<Image x:Name="FaviconImage" Stretch="Fill" />
</Border>
<Image
x:Name="KnownHostImage"
Width="{TemplateBinding Width}"
Height="{TemplateBinding Height}"
HorizontalAlignment="Center"
VerticalAlignment="Center"
Stretch="UniformToFill"
Visibility="Collapsed" />
Stretch="UniformToFill" />
</Grid>
</ControlTemplate>
</Setter.Value>

View File

@@ -90,7 +90,6 @@
<Rectangle
x:Name="CustomSelectionIndicator"
Width="3"
Margin="-44,12,0,12"
HorizontalAlignment="Left"
Fill="{ThemeResource NavigationViewSelectionIndicatorForeground}"
Opacity="1"
@@ -112,7 +111,7 @@
x:Load="False"
Visibility="Collapsed">
<muxc:ItemsRepeater.Layout>
<muxc:StackLayout Orientation="Vertical" Spacing="0" />
<muxc:StackLayout Orientation="Vertical" />
</muxc:ItemsRepeater.Layout>
</muxc:ItemsRepeater>

View File

@@ -10,16 +10,11 @@
mc:Ignorable="d">
<ScrollViewer>
<StackPanel Spacing="{StaticResource SettingsCardSpacing}">
<StackPanel.ChildrenTransitions>
<TransitionCollection>
<RepositionThemeTransition IsStaggeringEnabled="False" />
</TransitionCollection>
</StackPanel.ChildrenTransitions>
<StackPanel Spacing="3">
<Image
Width="50"
Height="50"
Source="ms-appx:///Images/StoreLogo.png" />
Source="ms-appx:///Assets/StoreLogo.png" />
<TextBlock
Margin="0,6,0,4"
HorizontalAlignment="Center"
@@ -172,14 +167,9 @@
</controls:SettingsExpander.Items>
</controls:SettingsExpander>
<controls:SettingsCard Header="Wino Mail">
<controls:SettingsCard.HeaderIcon>
<BitmapIcon ShowAsMonochrome="False" UriSource="ms-appx:///Images/StoreLogo.png" />
</controls:SettingsCard.HeaderIcon>
<TextBlock Foreground="{ThemeResource TextFillColorSecondaryBrush}" IsTextSelectionEnabled="True">
<Run Text="{x:Bind domain:Translator.SettingsAboutVersion}" /><Run Text="{x:Bind ViewModel.VersionName}" />
</TextBlock>
</controls:SettingsCard>
<TextBlock Margin="0,0,4,0" HorizontalAlignment="Right">
<Run Text="{x:Bind domain:Translator.SettingsAboutVersion}" /><Run Text="{x:Bind ViewModel.VersionName}" />
</TextBlock>
</StackPanel>
</ScrollViewer>
</abstract:AboutPageAbstract>

View File

@@ -70,12 +70,6 @@
<ScrollViewer>
<StackPanel Spacing="4">
<StackPanel.ChildrenTransitions>
<TransitionCollection>
<RepositionThemeTransition IsStaggeringEnabled="False" />
</TransitionCollection>
</StackPanel.ChildrenTransitions>
<controls:SettingsCard
Command="{x:Bind ViewModel.EditAccountDetailsCommand}"
Description="{x:Bind domain:Translator.SettingsEditAccountDetails_Description}"

View File

@@ -190,8 +190,6 @@
IsDynamicOverflowEnabled="True"
OverflowButtonAlignment="Left">
<AppBarButton
Width="Auto"
MinWidth="40"
Click="{x:Bind WebViewEditor.ToggleEditorTheme}"
LabelPosition="Collapsed"
ToolTipService.ToolTip="Light Theme"
@@ -202,8 +200,6 @@
</AppBarButton>
<AppBarButton
Width="Auto"
MinWidth="40"
Click="{x:Bind WebViewEditor.ToggleEditorTheme}"
LabelPosition="Collapsed"
ToolTipService.ToolTip="Dark Theme"
@@ -227,38 +223,22 @@
</toolkit:TabbedCommandBar.PaneCustomContent>
<toolkit:TabbedCommandBar.MenuItems>
<toolkit:TabbedCommandBarItem DefaultLabelPosition="Collapsed" Header="{x:Bind domain:Translator.EditorToolbarOption_Format}">
<AppBarToggleButton
Width="Auto"
MinWidth="40"
IsChecked="{x:Bind WebViewEditor.IsEditorBold, Mode=TwoWay}"
Label="Bold">
<AppBarToggleButton IsChecked="{x:Bind WebViewEditor.IsEditorBold, Mode=TwoWay}" Label="Bold">
<AppBarToggleButton.Icon>
<PathIcon Data="{StaticResource BoldPathIcon}" />
</AppBarToggleButton.Icon>
</AppBarToggleButton>
<AppBarToggleButton
Width="Auto"
MinWidth="40"
IsChecked="{x:Bind WebViewEditor.IsEditorItalic, Mode=TwoWay}"
Label="Italic">
<AppBarToggleButton IsChecked="{x:Bind WebViewEditor.IsEditorItalic, Mode=TwoWay}" Label="Italic">
<AppBarToggleButton.Icon>
<PathIcon Data="{StaticResource ItalicPathIcon}" />
</AppBarToggleButton.Icon>
</AppBarToggleButton>
<AppBarToggleButton
Width="Auto"
MinWidth="40"
IsChecked="{x:Bind WebViewEditor.IsEditorUnderline, Mode=TwoWay}"
Label="Underline">
<AppBarToggleButton IsChecked="{x:Bind WebViewEditor.IsEditorUnderline, Mode=TwoWay}" Label="Underline">
<AppBarToggleButton.Icon>
<PathIcon Data="{StaticResource UnderlinePathIcon}" />
</AppBarToggleButton.Icon>
</AppBarToggleButton>
<AppBarToggleButton
Width="Auto"
MinWidth="40"
IsChecked="{x:Bind WebViewEditor.IsEditorStrikethrough, Mode=TwoWay}"
Label="Stroke">
<AppBarToggleButton IsChecked="{x:Bind WebViewEditor.IsEditorStrikethrough, Mode=TwoWay}" Label="Stroke">
<AppBarToggleButton.Icon>
<PathIcon Data="{StaticResource StrikePathIcon}" />
</AppBarToggleButton.Icon>
@@ -266,21 +246,13 @@
<AppBarSeparator />
<AppBarToggleButton
Width="Auto"
MinWidth="40"
IsChecked="{x:Bind WebViewEditor.IsEditorUl, Mode=TwoWay}"
Label="Bullet List">
<AppBarToggleButton IsChecked="{x:Bind WebViewEditor.IsEditorUl, Mode=TwoWay}" Label="Bullet List">
<AppBarToggleButton.Icon>
<PathIcon Data="{StaticResource BulletedListPathIcon}" />
</AppBarToggleButton.Icon>
</AppBarToggleButton>
<AppBarToggleButton
Width="Auto"
MinWidth="40"
IsChecked="{x:Bind WebViewEditor.IsEditorOl, Mode=TwoWay}"
Label="Ordered List">
<AppBarToggleButton IsChecked="{x:Bind WebViewEditor.IsEditorOl, Mode=TwoWay}" Label="Ordered List">
<AppBarToggleButton.Icon>
<PathIcon Data="{StaticResource OrderedListPathIcon}" />
</AppBarToggleButton.Icon>
@@ -289,8 +261,6 @@
<AppBarSeparator />
<AppBarButton
Width="Auto"
MinWidth="40"
Click="{x:Bind WebViewEditor.EditorOutdentAsync}"
IsEnabled="{x:Bind WebViewEditor.IsEditorOutdentEnabled, Mode=OneWay}"
Label="Outdent">
@@ -302,8 +272,6 @@
</AppBarButton>
<AppBarButton
Width="Auto"
MinWidth="40"
Click="{x:Bind WebViewEditor.EditorIndentAsync}"
IsEnabled="{x:Bind WebViewEditor.IsEditorIndentEnabled, Mode=OneWay}"
Label="Indent">
@@ -314,11 +282,7 @@
</AppBarButton.Content>
</AppBarButton>
<AppBarElementContainer
Width="Auto"
MinWidth="40"
HorizontalAlignment="Center"
VerticalAlignment="Center">
<AppBarElementContainer HorizontalAlignment="Center" VerticalAlignment="Center">
<ComboBox
x:Name="AlignmentListView"
VerticalAlignment="Center"
@@ -366,8 +330,6 @@
<AppBarSeparator />
<AppBarToggleButton
Width="Auto"
MinWidth="40"
IsChecked="{x:Bind WebViewEditor.IsEditorWebViewEditor, Mode=TwoWay}"
Label="{x:Bind domain:Translator.EditorTooltip_WebViewEditor}"
ToolTipService.ToolTip="{x:Bind domain:Translator.EditorTooltip_WebViewEditor}">

View File

@@ -52,7 +52,7 @@ public sealed partial class ComposePage : ComposePageAbstract,
if (e.NewFocusedElement == WebViewEditor)
{
await WebViewEditor.FocusEditorAsync(true);
await WebViewEditor.FocusEditorAsync(false);
}
}

View File

@@ -113,7 +113,6 @@
IsAvatarVisible="{Binding ElementName=root, Path=ViewModel.PreferencesService.IsShowSenderPicturesEnabled, Mode=OneWay}"
IsCustomFocused="{x:Bind IsCustomFocused, Mode=OneWay}"
IsHoverActionsEnabled="{Binding ElementName=root, Path=ViewModel.PreferencesService.IsHoverActionsEnabled, Mode=OneWay}"
IsThumbnailUpdated="{x:Bind ThumbnailUpdatedEvent, Mode=OneWay}"
LeftHoverAction="{Binding ElementName=root, Path=ViewModel.PreferencesService.LeftHoverAction, Mode=OneWay}"
MailItem="{x:Bind MailCopy, Mode=OneWay}"
Prefer24HourTimeFormat="{Binding ElementName=root, Path=ViewModel.PreferencesService.Prefer24HourTimeFormat, Mode=OneWay}"
@@ -137,7 +136,6 @@
IsAvatarVisible="{Binding ElementName=root, Path=ViewModel.PreferencesService.IsShowSenderPicturesEnabled, Mode=OneWay}"
IsCustomFocused="{x:Bind IsCustomFocused, Mode=OneWay}"
IsHoverActionsEnabled="{Binding ElementName=root, Path=ViewModel.PreferencesService.IsHoverActionsEnabled, Mode=OneWay}"
IsThumbnailUpdated="{x:Bind ThumbnailUpdatedEvent, Mode=OneWay}"
LeftHoverAction="{Binding ElementName=root, Path=ViewModel.PreferencesService.LeftHoverAction, Mode=OneWay}"
MailItem="{x:Bind MailCopy, Mode=OneWay}"
Prefer24HourTimeFormat="{Binding ElementName=root, Path=ViewModel.PreferencesService.Prefer24HourTimeFormat, Mode=OneWay}"

View File

@@ -46,8 +46,7 @@
Height="36"
FromAddress="{x:Bind Address}"
FromName="{x:Bind Name}"
SenderContactPicture="{x:Bind Base64ContactPicture}"
ThumbnailUpdatedEvent="{x:Bind ThumbnailUpdatedEvent, Mode=OneWay}" />
SenderContactPicture="{x:Bind Base64ContactPicture}" />
<TextBlock Grid.Column="1" Text="{x:Bind Name}" />
@@ -157,11 +156,6 @@
<RowDefinition Height="Auto" />
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<Grid.ChildrenTransitions>
<TransitionCollection>
<RepositionThemeTransition IsStaggeringEnabled="False" />
</TransitionCollection>
</Grid.ChildrenTransitions>
<Border
Background="{ThemeResource WinoContentZoneBackgroud}"

View File

@@ -51,13 +51,7 @@
</Page.Resources>
<ScrollViewer>
<StackPanel Spacing="{StaticResource SettingsCardSpacing}">
<StackPanel.ChildrenTransitions>
<TransitionCollection>
<RepositionThemeTransition IsStaggeringEnabled="False" />
</TransitionCollection>
</StackPanel.ChildrenTransitions>
<StackPanel Spacing="3">
<!-- Accent Color -->
<controls:SettingsExpander
Description="{x:Bind domain:Translator.SettingsAccentColor_Description}"

View File

@@ -7,11 +7,10 @@
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:domain="using:Wino.Core.Domain"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:muxc="using:Microsoft.UI.Xaml.Controls"
mc:Ignorable="d">
<ScrollViewer>
<StackPanel Spacing="{StaticResource SettingsCardSpacing}">
<StackPanel>
<controls:SettingsCard Description="{x:Bind domain:Translator.SettingsAppPreferences_StartupBehavior_Description}" Header="{x:Bind domain:Translator.SettingsAppPreferences_StartupBehavior_Title}">
<ToggleButton
x:Name="StartupEnabledToggleButton"
@@ -36,17 +35,6 @@
<PathIcon Data="F1 M 18.75 18.125 C 18.75 18.294271 18.68815 18.440756 18.564453 18.564453 C 18.440754 18.68815 18.29427 18.75 18.125 18.75 C 17.955729 18.75 17.809244 18.68815 17.685547 18.564453 L 12.519531 13.398438 C 11.907552 13.912761 11.22233 14.308269 10.463867 14.584961 C 9.705403 14.861654 8.925781 15 8.125 15 C 7.493489 15 6.884765 14.91862 6.298828 14.755859 C 5.712891 14.5931 5.166016 14.361979 4.658203 14.0625 C 4.150391 13.763021 3.686523 13.40332 3.266602 12.983398 C 2.84668 12.563477 2.486979 12.099609 2.1875 11.591797 C 1.888021 11.083984 1.656901 10.537109 1.494141 9.951172 C 1.33138 9.365234 1.25 8.756511 1.25 8.125 C 1.25 7.49349 1.33138 6.884766 1.494141 6.298828 C 1.656901 5.712891 1.888021 5.166016 2.1875 4.658203 C 2.486979 4.150391 2.84668 3.686523 3.266602 3.266602 C 3.686523 2.84668 4.150391 2.48698 4.658203 2.1875 C 5.166016 1.888021 5.712891 1.656902 6.298828 1.494141 C 6.884765 1.331381 7.493489 1.25 8.125 1.25 C 8.75651 1.25 9.365234 1.331381 9.951172 1.494141 C 10.537109 1.656902 11.083984 1.888021 11.591797 2.1875 C 12.099609 2.48698 12.563477 2.84668 12.983398 3.266602 C 13.40332 3.686523 13.763021 4.150391 14.0625 4.658203 C 14.361979 5.166016 14.593099 5.712891 14.755859 6.298828 C 14.918619 6.884766 14.999999 7.49349 15 8.125 C 14.999999 8.925781 14.861652 9.705404 14.584961 10.463867 C 14.308268 11.222331 13.91276 11.907553 13.398438 12.519531 L 18.564453 17.685547 C 18.68815 17.809244 18.75 17.955729 18.75 18.125 Z M 13.75 8.125 C 13.75 7.610678 13.683268 7.114258 13.549805 6.635742 C 13.416341 6.157227 13.227539 5.709636 12.983398 5.292969 C 12.739258 4.876303 12.444661 4.495443 12.099609 4.150391 C 11.754557 3.80534 11.373697 3.510742 10.957031 3.266602 C 10.540364 3.022461 10.092773 2.83366 9.614258 2.700195 C 9.135742 2.566732 8.639322 2.5 8.125 2.5 C 7.35026 2.5 6.621094 2.648113 5.9375 2.944336 C 5.253906 3.240561 4.658203 3.642578 4.150391 4.150391 C 3.642578 4.658204 3.24056 5.253907 2.944336 5.9375 C 2.648112 6.621095 2.5 7.350262 2.5 8.125 C 2.5 8.90625 2.646484 9.638672 2.939453 10.322266 C 3.232422 11.005859 3.632812 11.601562 4.140625 12.109375 C 4.648438 12.617188 5.244141 13.017578 5.927734 13.310547 C 6.611328 13.603516 7.34375 13.75 8.125 13.75 C 8.899739 13.75 9.628906 13.601889 10.3125 13.305664 C 10.996094 13.00944 11.591797 12.607422 12.099609 12.099609 C 12.607421 11.591797 13.009439 10.996094 13.305664 10.3125 C 13.601888 9.628906 13.75 8.89974 13.75 8.125 Z " />
</controls:SettingsCard.HeaderIcon>
</controls:SettingsCard>
<controls:SettingsCard Description="{x:Bind domain:Translator.SettingsAppPreferences_EmailSyncInterval_Description}" Header="{x:Bind domain:Translator.SettingsAppPreferences_EmailSyncInterval_Title}">
<muxc:NumberBox
Minimum="1"
PlaceholderText="3"
SpinButtonPlacementMode="Inline"
Value="{x:Bind ViewModel.EmailSyncIntervalMinutes, Mode=TwoWay}" />
<controls:SettingsCard.HeaderIcon>
<PathIcon Data="F1 M 0 9.375 C 0 8.509115 0.110677 7.677409 0.332031 6.879883 C 0.553385 6.082357 0.867513 5.335287 1.274414 4.638672 C 1.681315 3.942059 2.169596 3.30892 2.739258 2.739258 C 3.308919 2.169598 3.942057 1.681316 4.638672 1.274414 C 5.335286 0.867514 6.082356 0.553387 6.879883 0.332031 C 7.677409 0.110678 8.509114 0 9.375 0 C 10.234375 0 11.062825 0.112305 11.860352 0.336914 C 12.657877 0.561523 13.404947 0.877279 14.101562 1.28418 C 14.798176 1.691082 15.431314 2.179363 16.000977 2.749023 C 16.570637 3.318686 17.058918 3.951824 17.46582 4.648438 C 17.872721 5.345053 18.188477 6.092123 18.413086 6.889648 C 18.637695 7.687175 18.75 8.515625 18.75 9.375 C 18.75 10.240886 18.637695 11.072592 18.413086 11.870117 C 18.188477 12.667644 17.872721 13.413086 17.46582 14.106445 C 17.058918 14.799805 16.570637 15.431315 16.000977 16.000977 C 15.431314 16.570639 14.799804 17.05892 14.106445 17.46582 C 13.413085 17.872721 12.666015 18.188477 11.865234 18.413086 C 11.064453 18.637695 10.234375 18.75 9.375 18.75 C 8.509114 18.75 7.675781 18.639322 6.875 18.417969 C 6.074219 18.196615 5.327148 17.882486 4.633789 17.475586 C 3.94043 17.068686 3.308919 16.580404 2.739258 16.010742 C 2.169596 15.441081 1.681315 14.80957 1.274414 14.116211 C 0.867513 13.422852 0.553385 12.675781 0.332031 11.875 C 0.110677 11.074219 0 10.240886 0 9.375 Z M 17.5 9.375 C 17.5 8.626303 17.403971 7.905273 17.211914 7.211914 C 17.019855 6.518556 16.746418 5.87077 16.391602 5.268555 C 16.036783 4.666342 15.613606 4.119467 15.12207 3.62793 C 14.630533 3.136395 14.083658 2.713217 13.481445 2.358398 C 12.879231 2.003582 12.231445 1.730145 11.538086 1.538086 C 10.844727 1.346029 10.123697 1.25 9.375 1.25 C 8.626302 1.25 7.905273 1.346029 7.211914 1.538086 C 6.518555 1.730145 5.870768 2.003582 5.268555 2.358398 C 4.666341 2.713217 4.119466 3.136395 3.62793 3.62793 C 3.136393 4.119467 2.713216 4.666342 2.358398 5.268555 C 2.003581 5.87077 1.730143 6.518556 1.538086 7.211914 C 1.346029 7.905273 1.25 8.626303 1.25 9.375 C 1.25 10.123698 1.346029 10.844727 1.538086 11.538086 C 1.730143 12.231445 2.001953 12.879232 2.353516 13.481445 C 2.705078 14.083659 3.128255 14.632162 3.623047 15.126953 C 4.117838 15.621745 4.666341 16.044922 5.268555 16.396484 C 5.870768 16.748047 6.518555 17.019857 7.211914 17.211914 C 7.905273 17.403971 8.626302 17.5 9.375 17.5 C 10.123697 17.5 10.844727 17.403971 11.538086 17.211914 C 12.231445 17.019857 12.879231 16.748047 13.481445 16.396484 C 14.083658 16.044922 14.63216 15.621745 15.126953 15.126953 C 15.621744 14.632162 16.044922 14.083659 16.396484 13.481445 C 16.748047 12.879232 17.019855 12.231445 17.211914 11.538086 C 17.403971 10.844727 17.5 10.123698 17.5 9.375 Z M 9.375 10 C 9.205729 10 9.059244 9.938151 8.935547 9.814453 C 8.811849 9.690756 8.75 9.544271 8.75 9.375 L 8.75 4.375 C 8.75 4.20573 8.811849 4.059246 8.935547 3.935547 C 9.059244 3.81185 9.205729 3.75 9.375 3.75 C 9.544271 3.75 9.690755 3.81185 9.814453 3.935547 C 9.93815 4.059246 10 4.20573 10 4.375 L 10 8.75 L 13.125 8.75 C 13.294271 8.75 13.440755 8.81185 13.564453 8.935547 C 13.68815 9.059245 13.75 9.205729 13.75 9.375 C 13.75 9.544271 13.68815 9.690756 13.564453 9.814453 C 13.440755 9.938151 13.294271 10 13.125 10 Z " />
</controls:SettingsCard.HeaderIcon>
</controls:SettingsCard>
</StackPanel>
<VisualStateManager.VisualStateGroups>

View File

@@ -11,17 +11,11 @@
xmlns:helpers="using:Wino.Helpers"
xmlns:imapsetup="using:Wino.Views.ImapSetup"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:muxc="using:Microsoft.UI.Xaml.Controls"
xmlns:picker="using:Microsoft.UI.Xaml.Controls"
mc:Ignorable="d">
<ScrollViewer>
<StackPanel Spacing="{StaticResource SettingsCardSpacing}">
<StackPanel.ChildrenTransitions>
<TransitionCollection>
<RepositionThemeTransition IsStaggeringEnabled="False" />
</TransitionCollection>
</StackPanel.ChildrenTransitions>
<StackPanel Spacing="3">
<controls:SettingsExpander Description="{x:Bind domain:Translator.AccountDetailsPage_Description}" Header="{x:Bind domain:Translator.AccountDetailsPage_Title}">
<controls:SettingsExpander.HeaderIcon>
<SymbolIcon Symbol="Contact" />
@@ -118,7 +112,7 @@
Header="{x:Bind domain:Translator.IMAPSetupDialog_IncomingMailServer}"
Text="{x:Bind ViewModel.ServerInformation.IncomingServer, Mode=TwoWay}" />
<muxc:NumberBox
<picker:NumberBox
Grid.Row="2"
Header="{x:Bind domain:Translator.IMAPSetupDialog_IncomingMailServerPort}"
Maximum="65535"
@@ -169,7 +163,7 @@
Header="{x:Bind domain:Translator.IMAPSetupDialog_OutgoingMailServer}"
Text="{x:Bind ViewModel.ServerInformation.OutgoingServer, Mode=TwoWay}" />
<muxc:NumberBox
<picker:NumberBox
Grid.Row="2"
Grid.Column="2"
Header="{x:Bind domain:Translator.IMAPSetupDialog_OutgoingMailServerPort}"
@@ -215,13 +209,13 @@
Orientation="Horizontal"
Spacing="12">
<muxc:ProgressRing
Width="20"
Height="20"
<ProgressRing
Width="5"
Height="5"
IsActive="{x:Bind ViewModel.ValidateImapSettingsCommand.IsRunning, Mode=OneWay}" />
<Button Command="{x:Bind ViewModel.ValidateImapSettingsCommand}" Content="Test" />
<Button
Command="{x:Bind ViewModel.UpdateCustomServerInformationCommand}"
Command="{x:Bind ViewModel.SaveWithoutGoBackCommand}"
Content="{x:Bind domain:Translator.Buttons_Save}"
Style="{ThemeResource AccentButtonStyle}" />
</StackPanel>

View File

@@ -10,7 +10,7 @@
mc:Ignorable="d">
<ScrollViewer>
<StackPanel Spacing="{StaticResource SettingsCardSpacing}">
<StackPanel>
<controls:SettingsCard
CommandParameter="Language"
Description="{x:Bind domain:Translator.SettingsLanguage_Description}"

File diff suppressed because one or more lines are too long

View File

@@ -11,14 +11,8 @@
mc:Ignorable="d">
<ScrollViewer>
<StackPanel Spacing="{StaticResource SettingsCardSpacing}">
<StackPanel.ChildrenTransitions>
<TransitionCollection>
<RepositionThemeTransition IsStaggeringEnabled="False" />
</TransitionCollection>
</StackPanel.ChildrenTransitions>
<TextBlock Style="{StaticResource SettingsSectionHeaderTextBlockStyle}" Text="{x:Bind domain:Translator.SettingsReader_Title}" />
<StackPanel Spacing="4">
<TextBlock FontWeight="SemiBold" Text="{x:Bind domain:Translator.SettingsReader_Title}" />
<controls:SettingsExpander
Description="{x:Bind domain:Translator.SettingsReaderFontFamily_Description}"
Header="{x:Bind domain:Translator.SettingsReaderFont_Title}"
@@ -58,13 +52,6 @@
</controls:SettingsExpander.Items>
</controls:SettingsExpander>
<controls:SettingsCard Description="{x:Bind domain:Translator.SettingsMailRendering_ActionLabels_Description}" Header="{x:Bind domain:Translator.SettingsMailRendering_ActionLabels_Title}">
<controls:SettingsCard.HeaderIcon>
<PathIcon Data="F1 M 0 7.5 C 0 6.822917 0.169271 6.191406 0.507812 5.605469 C 0.839844 5.039062 1.289062 4.589844 1.855469 4.257812 C 2.441406 3.919271 3.072917 3.75 3.75 3.75 L 16.25 3.75 C 16.927082 3.75 17.558594 3.919271 18.144531 4.257812 C 18.710938 4.589844 19.160156 5.039062 19.492188 5.605469 C 19.830729 6.191406 20 6.822917 20 7.5 L 20 11.25 C 20 11.927084 19.830729 12.558594 19.492188 13.144531 C 19.160156 13.710938 18.710938 14.160156 18.144531 14.492188 C 17.558594 14.830729 16.927082 15 16.25 15 L 3.75 15 C 3.072917 15 2.441406 14.830729 1.855469 14.492188 C 1.289062 14.160156 0.839844 13.710938 0.507812 13.144531 C 0.169271 12.558594 0 11.927084 0 11.25 Z M 3.75 5 C 3.294271 5.000001 2.875977 5.112306 2.495117 5.336914 C 2.114258 5.561524 1.811523 5.864259 1.586914 6.245117 C 1.362305 6.625978 1.25 7.044271 1.25 7.5 L 1.25 11.25 C 1.25 11.705729 1.362305 12.124023 1.586914 12.504883 C 1.811523 12.885742 2.114258 13.188477 2.495117 13.413086 C 2.875977 13.637695 3.294271 13.75 3.75 13.75 L 16.25 13.75 C 16.705729 13.75 17.124023 13.637695 17.504883 13.413086 C 17.885742 13.188477 18.188477 12.885742 18.413086 12.504883 C 18.637695 12.124023 18.75 11.705729 18.75 11.25 L 18.75 7.5 C 18.75 7.044271 18.637695 6.625978 18.413086 6.245117 C 18.188477 5.864259 17.885742 5.561524 17.504883 5.336914 C 17.124023 5.112306 16.705729 5.000001 16.25 5 Z M 8.75 9.375 C 8.75 9.199219 8.810221 9.051107 8.930664 8.930664 C 9.051106 8.810222 9.199219 8.75 9.375 8.75 L 15 8.75 C 15.17578 8.75 15.323893 8.810222 15.444336 8.930664 C 15.564778 9.051107 15.625 9.199219 15.625 9.375 C 15.625 9.550781 15.564778 9.698894 15.444336 9.819336 C 15.323893 9.939779 15.17578 10 15 10 L 9.375 10 C 9.199219 10 9.051106 9.939779 8.930664 9.819336 C 8.810221 9.698894 8.75 9.550781 8.75 9.375 Z M 7.5 9.375 C 7.5 9.713542 7.415364 10.026042 7.246094 10.3125 C 7.076823 10.598959 6.848958 10.826823 6.5625 10.996094 C 6.276042 11.165365 5.963542 11.25 5.625 11.25 C 5.286458 11.25 4.973958 11.165365 4.6875 10.996094 C 4.401042 10.826823 4.173177 10.598959 4.003906 10.3125 C 3.834635 10.026042 3.75 9.713542 3.75 9.375 C 3.75 9.036459 3.834635 8.723959 4.003906 8.4375 C 4.173177 8.151042 4.401042 7.923178 4.6875 7.753906 C 4.973958 7.584636 5.286458 7.5 5.625 7.5 C 5.963542 7.5 6.276042 7.584636 6.5625 7.753906 C 6.848958 7.923178 7.076823 8.151042 7.246094 8.4375 C 7.415364 8.723959 7.5 9.036459 7.5 9.375 Z " />
</controls:SettingsCard.HeaderIcon>
<ToggleSwitch IsOn="{x:Bind ViewModel.PreferencesService.IsShowActionLabelsEnabled, Mode=TwoWay}" />
</controls:SettingsCard>
<controls:SettingsExpander Description="{x:Bind domain:Translator.SettingsExternalContent_Description}" Header="{x:Bind domain:Translator.SettingsExternalContent_Title}">
<controls:SettingsExpander.HeaderIcon>
<PathIcon Data="F1 M 4.023438 13.75 C 3.476562 13.75 2.958984 13.636068 2.470703 13.408203 C 1.982422 13.180339 1.554362 12.875977 1.186523 12.495117 C 0.818685 12.114258 0.528971 11.674805 0.317383 11.176758 C 0.105794 10.678711 0 10.159506 0 9.619141 C 0 9.065756 0.094401 8.535156 0.283203 8.027344 C 0.472005 7.519531 0.737305 7.068686 1.079102 6.674805 C 1.420898 6.280926 1.829427 5.961915 2.304688 5.717773 C 2.779948 5.473634 3.304036 5.338543 3.876953 5.3125 L 4.189453 5.302734 C 4.261067 4.501953 4.453125 3.776043 4.765625 3.125 C 5.078125 2.473959 5.488281 1.915691 5.996094 1.450195 C 6.503906 0.984701 7.097981 0.626629 7.77832 0.375977 C 8.458658 0.125326 9.199219 0 10 0 C 10.800781 0 11.541341 0.126953 12.22168 0.380859 C 12.902018 0.634766 13.496093 0.99284 14.003906 1.455078 C 14.511718 1.917318 14.921874 2.473959 15.234375 3.125 C 15.546874 3.776043 15.738932 4.501953 15.810547 5.302734 L 15.966797 5.302734 C 16.513672 5.302734 17.032877 5.416667 17.524414 5.644531 C 18.015949 5.872396 18.44401 6.176758 18.808594 6.557617 C 19.173176 6.938477 19.462891 7.379558 19.677734 7.880859 C 19.892578 8.382162 20 8.902995 20 9.443359 L 20 9.667969 C 20 9.700521 20 9.736328 20 9.775391 C 20 9.814453 19.996744 9.850261 19.990234 9.882812 C 19.573566 9.375 19.108072 8.932292 18.59375 8.554688 C 18.489582 8.248698 18.346354 7.972006 18.164062 7.724609 C 17.98177 7.477214 17.770182 7.267253 17.529297 7.094727 C 17.28841 6.922201 17.021484 6.788737 16.728516 6.694336 C 16.435547 6.599936 16.129557 6.552735 15.810547 6.552734 C 15.472005 6.552735 15.192057 6.446941 14.970703 6.235352 C 14.749349 6.023764 14.61263 5.755209 14.560547 5.429688 C 14.527994 5.195312 14.49056 4.967448 14.448242 4.746094 C 14.405924 4.52474 14.342447 4.300131 14.257812 4.072266 C 14.088541 3.603516 13.862304 3.193359 13.579102 2.841797 C 13.295897 2.490234 12.970377 2.195639 12.602539 1.958008 C 12.2347 1.720379 11.831055 1.542969 11.391602 1.425781 C 10.952148 1.308594 10.488281 1.25 10 1.25 C 9.511719 1.25 9.047852 1.308594 8.608398 1.425781 C 8.168945 1.542969 7.765299 1.71875 7.397461 1.953125 C 7.029622 2.1875 6.704102 2.480469 6.420898 2.832031 C 6.137695 3.183594 5.911458 3.59375 5.742188 4.0625 C 5.657552 4.290365 5.594075 4.514975 5.551758 4.736328 C 5.50944 4.957683 5.472005 5.188803 5.439453 5.429688 C 5.38737 5.813803 5.236002 6.097006 4.985352 6.279297 C 4.7347 6.46159 4.423828 6.552735 4.052734 6.552734 C 3.655599 6.552735 3.286133 6.635743 2.944336 6.801758 C 2.602539 6.967774 2.306315 7.189129 2.055664 7.46582 C 1.805013 7.742514 1.608073 8.059896 1.464844 8.417969 C 1.321615 8.776042 1.25 9.147136 1.25 9.53125 C 1.25 9.928386 1.321615 10.30599 1.464844 10.664062 C 1.608073 11.022136 1.806641 11.337891 2.060547 11.611328 C 2.314453 11.884766 2.61556 12.101237 2.963867 12.260742 C 3.312174 12.420248 3.691406 12.5 4.101562 12.5 L 7.431641 12.5 C 7.373047 12.708334 7.327474 12.916667 7.294922 13.125 C 7.26237 13.333334 7.236328 13.541667 7.216797 13.75 Z M 8.75 14.375 C 8.75 13.600261 8.898111 12.871094 9.194336 12.1875 C 9.49056 11.503906 9.892578 10.908203 10.400391 10.400391 C 10.908203 9.892578 11.503906 9.490561 12.1875 9.194336 C 12.871093 8.898112 13.60026 8.75 14.375 8.75 C 14.889322 8.75 15.385741 8.816732 15.864258 8.950195 C 16.342773 9.083659 16.790363 9.272461 17.207031 9.516602 C 17.623697 9.760742 18.004557 10.055339 18.349609 10.400391 C 18.69466 10.745443 18.989258 11.126303 19.233398 11.542969 C 19.477539 11.959636 19.66634 12.407227 19.799805 12.885742 C 19.933268 13.364258 20 13.860678 20 14.375 C 20 15.14974 19.851887 15.878906 19.555664 16.5625 C 19.259439 17.246094 18.857422 17.841797 18.349609 18.349609 C 17.841797 18.857422 17.246094 19.259439 16.5625 19.555664 C 15.878906 19.851889 15.149739 20 14.375 20 C 13.59375 20 12.861328 19.853516 12.177734 19.560547 C 11.494141 19.267578 10.898438 18.867188 10.390625 18.359375 C 9.882812 17.851562 9.482422 17.255859 9.189453 16.572266 C 8.896484 15.888672 8.75 15.15625 8.75 14.375 Z M 14.375 17.578125 C 14.570312 17.578125 14.736328 17.509766 14.873047 17.373047 L 17.373047 14.873047 C 17.509766 14.736328 17.578125 14.570312 17.578125 14.375 C 17.578125 14.179688 17.509766 14.013672 17.373047 13.876953 C 17.236328 13.740234 17.070312 13.671875 16.875 13.671875 C 16.679688 13.671875 16.513672 13.740234 16.376953 13.876953 L 15 15.253906 L 15 11.875 C 14.999999 11.705729 14.93815 11.559245 14.814453 11.435547 C 14.690755 11.31185 14.544271 11.25 14.375 11.25 C 14.205729 11.25 14.059244 11.31185 13.935547 11.435547 C 13.811849 11.559245 13.75 11.705729 13.75 11.875 L 13.75 15.253906 L 12.373047 13.876953 C 12.236328 13.740234 12.070312 13.671875 11.875 13.671875 C 11.679688 13.671875 11.513672 13.740234 11.376953 13.876953 C 11.240234 14.013672 11.171875 14.179688 11.171875 14.375 C 11.171875 14.570312 11.240234 14.736328 11.376953 14.873047 L 13.876953 17.373047 C 14.013672 17.509766 14.179688 17.578125 14.375 17.578125 Z " />
@@ -84,14 +71,17 @@
</controls:SettingsCard>
<controls:SettingsCard Header="{x:Bind domain:Translator.SettingsLoadPlaintextLinks_Title}">
<controls:SettingsCard.HeaderIcon>
<PathIcon Data="{StaticResource AddLinkPathIcon}" />
<PathIcon Data="{StaticResource AddLinkPathIcon}" />
</controls:SettingsCard.HeaderIcon>
<ToggleSwitch IsOn="{x:Bind ViewModel.PreferencesService.RenderPlaintextLinks, Mode=TwoWay}" />
</controls:SettingsCard>
</controls:SettingsExpander.Items>
</controls:SettingsExpander>
<TextBlock Style="{StaticResource SettingsSectionHeaderTextBlockStyle}" Text="{x:Bind domain:Translator.SettingsComposer_Title}" />
<TextBlock
Margin="0,20,0,0"
FontWeight="SemiBold"
Text="{x:Bind domain:Translator.SettingsComposer_Title}" />
<controls:SettingsExpander
Description="{x:Bind domain:Translator.SettingsComposerFontFamily_Description}"
Header="{x:Bind domain:Translator.SettingsComposerFont_Title}"
@@ -132,4 +122,4 @@
</controls:SettingsExpander>
</StackPanel>
</ScrollViewer>
</abstract:ReadComposePanePageAbstract>
</abstract:ReadComposePanePageAbstract>

View File

@@ -53,7 +53,7 @@
</Page.Resources>
<ScrollViewer>
<Grid>
<Grid RowSpacing="41">
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
@@ -69,8 +69,8 @@
<ToggleSwitch IsOn="{x:Bind ViewModel.IsSignatureEnabled, Mode=TwoWay}" />
</controls1:SettingsCard>
<StackPanel Grid.Row="1" Spacing="{StaticResource SettingsCardSpacing}">
<TextBlock Style="{StaticResource SettingsSectionHeaderTextBlockStyle}" Text="{x:Bind domain:Translator.SettingsSignature_SignatureDefaults}" />
<StackPanel Grid.Row="1" Spacing="4">
<TextBlock FontWeight="SemiBold" Text="{x:Bind domain:Translator.SettingsSignature_SignatureDefaults}" />
<controls1:SettingsCard
Header="{x:Bind domain:Translator.SettingsSignature_ForNewMessages_Title}"
IsActionIconVisible="False"
@@ -100,8 +100,8 @@
</controls1:SettingsCard>
</StackPanel>
<StackPanel Grid.Row="2" Spacing="{StaticResource SettingsCardSpacing}">
<TextBlock Style="{StaticResource SettingsSectionHeaderTextBlockStyle}" Text="{x:Bind domain:Translator.SettingsSignature_Signatures}" />
<StackPanel Grid.Row="2" Spacing="3">
<TextBlock FontWeight="SemiBold" Text="{x:Bind domain:Translator.SettingsSignature_Signatures}" />
<controls1:SettingsCard
Header="{x:Bind domain:Translator.SettingsSignature_AddCustomSignature_Title}"
IsActionIconVisible="False"

View File

@@ -26,13 +26,19 @@
</ItemGroup>
<ItemGroup>
<None Remove="Assets\EML\eml.png" />
<None Remove="Assets\NotificationIcons\archive.png" />
<None Remove="Assets\NotificationIcons\delete.png" />
<None Remove="Assets\NotificationIcons\dismiss.png" />
<None Remove="Assets\NotificationIcons\markread.png" />
<None Remove="Assets\NotificationIcons\profile-dark.png" />
<None Remove="Assets\NotificationIcons\profile-light.png" />
<None Remove="Assets\ReleaseNotes\1102.md" />
<None Remove="Assets\Thumbnails\airbnb.com.png" />
<None Remove="Assets\Thumbnails\apple.com.png" />
<None Remove="Assets\Thumbnails\google.com.png" />
<None Remove="Assets\Thumbnails\microsoft.com.png" />
<None Remove="Assets\Thumbnails\steampowered.com.png" />
<None Remove="Assets\Thumbnails\uber.com.png" />
<None Remove="Assets\Thumbnails\youtube.com.png" />
<None Remove="JS\editor.html" />
<None Remove="JS\editor.js" />
<None Remove="JS\global.css" />
@@ -45,13 +51,19 @@
</ItemGroup>
<ItemGroup>
<Content Include="Assets\EML\eml.png" />
<Content Include="Assets\NotificationIcons\archive.png" />
<Content Include="Assets\NotificationIcons\delete.png" />
<Content Include="Assets\NotificationIcons\dismiss.png" />
<Content Include="Assets\NotificationIcons\markread.png" />
<Content Include="Assets\NotificationIcons\profile-dark.png" />
<Content Include="Assets\NotificationIcons\profile-light.png" />
<Content Include="Assets\ReleaseNotes\1102.md" />
<Content Include="Assets\Thumbnails\airbnb.com.png" />
<Content Include="Assets\Thumbnails\apple.com.png" />
<Content Include="Assets\Thumbnails\google.com.png" />
<Content Include="Assets\Thumbnails\microsoft.com.png" />
<Content Include="Assets\Thumbnails\steampowered.com.png" />
<Content Include="Assets\Thumbnails\uber.com.png" />
<Content Include="Assets\Thumbnails\youtube.com.png" />
<Content Include="JS\editor.html" />
<Content Include="JS\editor.js" />
<Content Include="JS\global.css" />
@@ -83,7 +95,6 @@
<PackageReference Include="Microsoft.UI.Xaml" />
<PackageReference Include="Microsoft.Xaml.Behaviors.Uwp.Managed" />
<PackageReference Include="Nito.AsyncEx" />
<PackageReference Include="Sentry.Serilog" />
<PackageReference Include="sqlite-net-pcl" />
<PackageReference Include="Win2D.uwp" />

View File

@@ -1,5 +0,0 @@
using System;
namespace Wino.Messaging.UI;
public record MailReadStatusChanged(Guid UniqueId);

View File

@@ -1,4 +0,0 @@
using Wino.Core.Domain.Interfaces;
namespace Wino.Messaging.UI;
public record ThumbnailAdded(string Email): IUIMessage;

View File

@@ -79,7 +79,6 @@ public partial class App : Application
services.AddTransient<INotificationBuilder, NotificationBuilder>();
services.AddTransient<IUnderlyingThemeService, UnderlyingThemeService>();
services.AddSingleton<IApplicationConfiguration, ApplicationConfiguration>();
services.AddSingleton<IThumbnailService, ThumbnailService>();
// Register server message handler factory.
var serverMessageHandlerFactory = new ServerMessageHandlerFactory();

View File

@@ -47,16 +47,16 @@ public class ServerContext :
IRecipient<OnlineSearchRequested>,
IRecipient<AccountCacheResetMessage>
{
private const double MinimumSynchronizationIntervalMinutes = 1;
private readonly System.Timers.Timer _timer = new System.Timers.Timer();
private readonly System.Timers.Timer _timer;
private static object connectionLock = new object();
private AppServiceConnection connection = null;
private readonly IDatabaseService _databaseService;
private readonly IApplicationConfiguration _applicationFolderConfiguration;
private readonly ISynchronizerFactory _synchronizerFactory;
private readonly IServerMessageHandlerFactory _serverMessageHandlerFactory;
private readonly IAccountService _accountService;
private readonly IPreferencesService _preferencesService;
private readonly JsonSerializerOptions _jsonSerializerOptions = new JsonSerializerOptions
{
TypeInfoResolver = new ServerRequestTypeInfoResolver()
@@ -66,35 +66,21 @@ public class ServerContext :
IApplicationConfiguration applicationFolderConfiguration,
ISynchronizerFactory synchronizerFactory,
IServerMessageHandlerFactory serverMessageHandlerFactory,
IAccountService accountService,
IPreferencesService preferencesService)
IAccountService accountService)
{
_preferencesService = preferencesService;
// Setup timer for synchronization.
_timer = new System.Timers.Timer(1000 * 60 * 3); // 1 minute
_timer.Elapsed += SynchronizationTimerTriggered;
_preferencesService.PropertyChanged += PreferencesUpdated;
_databaseService = databaseService;
_applicationFolderConfiguration = applicationFolderConfiguration;
_synchronizerFactory = synchronizerFactory;
_serverMessageHandlerFactory = serverMessageHandlerFactory;
_accountService = accountService;
WeakReferenceMessenger.Default.RegisterAll(this);
// Setup timer for synchronization.
RestartSynchronizationTimer();
}
private void PreferencesUpdated(object sender, System.ComponentModel.PropertyChangedEventArgs e)
{
if (e.PropertyName == nameof(IPreferencesService.EmailSyncIntervalMinutes))
RestartSynchronizationTimer();
}
private void RestartSynchronizationTimer()
{
_timer.Stop();
// Ensure that the interval is at least 1 minute.
_timer.Interval = 1000 * 60 * Math.Max(MinimumSynchronizationIntervalMinutes, _preferencesService.EmailSyncIntervalMinutes);
_timer.Start();
}

View File

@@ -34,13 +34,11 @@
</Resource>
</ItemGroup>
<ItemGroup>
<PackageReference Include="CommunityToolkit.Mvvm" />
<PackageReference Include="gravatar-dotnet" />
<PackageReference Include="H.NotifyIcon.Wpf" />
<PackageReference Include="CommunityToolkit.WinUI.Notifications" />
<PackageReference Include="Microsoft.Identity.Client" />
<PackageReference Include="Sentry.Serilog" />
<PackageReference Include="System.Text.Encoding.CodePages" />
<PackageReference Include="CommunityToolkit.Mvvm" />
<PackageReference Include="H.NotifyIcon.Wpf" />
<PackageReference Include="CommunityToolkit.WinUI.Notifications" />
<PackageReference Include="Microsoft.Identity.Client" />
<PackageReference Include="System.Text.Encoding.CodePages" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\Wino.Authentication\Wino.Authentication.csproj" />

View File

@@ -408,11 +408,6 @@ public class AccountService : BaseDatabaseService, IAccountService
ReportUIChange(new AccountUpdatedMessage(account));
}
public async Task UpdateAccountCustomServerInformationAsync(CustomServerInformation customServerInformation)
{
await Connection.UpdateAsync(customServerInformation).ConfigureAwait(false);
}
public async Task UpdateAccountAliasesAsync(Guid accountId, List<MailAccountAlias> aliases)
{
// Delete existing ones.

View File

@@ -10,5 +10,5 @@ public class ApplicationConfiguration : IApplicationConfiguration
public string PublisherSharedFolderPath { get; set; }
public string ApplicationTempFolderPath { get; set; }
public string SentryDNS => "https://81365d32d74c6f223a0674a2fb7bade5@o4509722249134080.ingest.de.sentry.io/4509722259095632";
public string ApplicationInsightsInstrumentationKey => "a5a07c2f-6e24-4055-bfc9-88e87eef873a";
}

View File

@@ -57,8 +57,7 @@ public class DatabaseService : IDatabaseService
typeof(AccountCalendar),
typeof(CalendarEventAttendee),
typeof(CalendarItem),
typeof(Reminder),
typeof(Thumbnail)
typeof(Reminder)
);
}
}

View File

@@ -3,7 +3,6 @@ using System.Collections.Generic;
using System.Linq;
using System.Threading;
using System.Threading.Tasks;
using CommunityToolkit.Mvvm.Messaging;
using MimeKit;
using Serilog;
using SqlKata;
@@ -585,10 +584,6 @@ public class MailService : BaseDatabaseService, IMailService
if (item.IsRead == isRead) return false;
item.IsRead = isRead;
if (isRead && item.UniqueId != Guid.Empty)
{
WeakReferenceMessenger.Default.Send(new MailReadStatusChanged(item.UniqueId));
}
return true;
});

View File

@@ -0,0 +1,37 @@
using System;
using System.Collections.Generic;
using Microsoft.ApplicationInsights.Channel;
using Microsoft.ApplicationInsights.DataContracts;
using Serilog.Events;
using Serilog.Sinks.ApplicationInsights.TelemetryConverters;
namespace Wino.Services.Misc;
internal class WinoTelemetryConverter : EventTelemetryConverter
{
private readonly string _userDiagnosticId;
public WinoTelemetryConverter(string userDiagnosticId)
{
_userDiagnosticId = userDiagnosticId;
}
public override IEnumerable<ITelemetry> Convert(LogEvent logEvent, IFormatProvider formatProvider)
{
foreach (ITelemetry telemetry in base.Convert(logEvent, formatProvider))
{
// Assign diagnostic id as user id.
telemetry.Context.User.Id = _userDiagnosticId;
yield return telemetry;
}
}
public override void ForwardPropertiesToTelemetryProperties(LogEvent logEvent, ISupportProperties telemetryProperties, IFormatProvider formatProvider)
{
ForwardPropertiesToTelemetryProperties(logEvent, telemetryProperties, formatProvider,
includeLogLevel: true,
includeRenderedMessage: true,
includeMessageTemplate: false);
}
}

View File

@@ -9,18 +9,15 @@
<PackageReference Include="HtmlAgilityPack" />
<PackageReference Include="Ical.Net" />
<PackageReference Include="Microsoft.Extensions.DependencyInjection.Abstractions" />
<PackageReference Include="Sentry.Serilog" />
<PackageReference Include="Serilog" />
<PackageReference Include="Serilog.Sinks.Debug" />
<PackageReference Include="Serilog.Sinks.File" />
<PackageReference Include="Serilog.Exceptions" />
<PackageReference Include="Serilog.Sinks.ApplicationInsights" />
<PackageReference Include="SqlKata" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\Wino.Core.Domain\Wino.Core.Domain.csproj" />
<ProjectReference Include="..\Wino.Messages\Wino.Messaging.csproj" />
</ItemGroup>
<ItemGroup>
<Folder Include="Misc\" />
</ItemGroup>
</Project>

View File

@@ -1,9 +1,11 @@
using System.Collections.Generic;
using Sentry;
using Microsoft.ApplicationInsights;
using Microsoft.ApplicationInsights.Extensibility;
using Serilog;
using Serilog.Core;
using Serilog.Exceptions;
using Wino.Core.Domain.Interfaces;
using Wino.Services.Misc;
namespace Wino.Services;
@@ -11,12 +13,16 @@ public class WinoLogger : IWinoLogger
{
private readonly LoggingLevelSwitch _levelSwitch = new LoggingLevelSwitch();
private readonly IPreferencesService _preferencesService;
private readonly IApplicationConfiguration _applicationConfiguration;
private readonly TelemetryConfiguration _telemetryConfiguration;
public TelemetryClient TelemetryClient { get; private set; }
public WinoLogger(IPreferencesService preferencesService, IApplicationConfiguration applicationConfiguration)
{
_preferencesService = preferencesService;
_applicationConfiguration = applicationConfiguration;
_telemetryConfiguration = new TelemetryConfiguration(applicationConfiguration.ApplicationInsightsInstrumentationKey);
TelemetryClient = new TelemetryClient(_telemetryConfiguration);
RefreshLoggingLevel();
}
@@ -36,34 +42,13 @@ public class WinoLogger : IWinoLogger
// This call seems weird, but it is necessary to make sure the diagnostic id is set.
_preferencesService.DiagnosticId = _preferencesService.DiagnosticId;
// Initialize Sentry
SentrySdk.Init(options =>
{
options.Dsn = _applicationConfiguration.SentryDNS;
#if DEBUG
options.Debug = false;
#else
options.Debug = true;
#endif
options.AutoSessionTracking = true;
// Set user context
options.SetBeforeSend((sentryEvent, hint) =>
{
sentryEvent.User = new SentryUser
{
Id = _preferencesService.DiagnosticId
};
return sentryEvent;
});
});
var insightsTelemetryConverter = new WinoTelemetryConverter(_preferencesService.DiagnosticId);
Log.Logger = new LoggerConfiguration()
.MinimumLevel.ControlledBy(_levelSwitch)
.WriteTo.File(fullLogFilePath, retainedFileCountLimit: 3, rollOnFileSizeLimit: true, rollingInterval: RollingInterval.Day)
.WriteTo.Sentry(minimumBreadcrumbLevel: Serilog.Events.LogEventLevel.Information,
minimumEventLevel: Serilog.Events.LogEventLevel.Error)
.WriteTo.Debug()
.WriteTo.ApplicationInsights(TelemetryClient, insightsTelemetryConverter, restrictedToMinimumLevel: Serilog.Events.LogEventLevel.Error)
.Enrich.FromLogContext()
.Enrich.WithExceptionDetails()
.CreateLogger();
@@ -71,17 +56,8 @@ public class WinoLogger : IWinoLogger
public void TrackEvent(string eventName, Dictionary<string, string> properties = null)
{
SentrySdk.AddBreadcrumb(eventName, data: properties);
if (TelemetryClient == null) return;
SentrySdk.ConfigureScope(scope =>
{
if (properties != null)
{
foreach (var prop in properties)
{
scope.SetTag(prop.Key, prop.Value);
}
}
});
TelemetryClient.TrackEvent(eventName, properties);
}
}

Some files were not shown because too many files have changed in this diff Show More