Compare commits
66 Commits
feature/Im
...
fix/win2d-
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
a1463dfeb9 | ||
|
|
c4e561dee6 | ||
|
|
69bfe5b750 | ||
|
|
137b3dc2ea | ||
|
|
ea5f879181 | ||
|
|
25d5f34f68 | ||
|
|
c8a6df77ac | ||
|
|
7b6ac46b6a | ||
|
|
d77c648d54 | ||
|
|
c3f47c5fa1 | ||
|
|
f37a51b46f | ||
|
|
9feb3f35c3 | ||
|
|
5b44cf03ce | ||
|
|
86a6382463 | ||
|
|
df991a3829 | ||
|
|
f243c86b50 | ||
|
|
b77be0a5e9 | ||
|
|
83be587c1a | ||
|
|
c6048aea80 | ||
|
|
13b495b0f6 | ||
|
|
ac64c35efa | ||
|
|
127b58601f | ||
|
|
1f795b45e9 | ||
|
|
d26e35ee9a | ||
|
|
70e69e9dac | ||
|
|
3d88f4212d | ||
|
|
ad90a9c8f3 | ||
|
|
b43176764b | ||
|
|
77f24282e0 | ||
|
|
533f1f1102 | ||
|
|
92c5d8bd44 | ||
|
|
d754ecb486 | ||
|
|
b18987a95c | ||
|
|
0daec61f31 | ||
|
|
8ecf301eb8 | ||
|
|
6080646e89 | ||
|
|
970a521b66 | ||
|
|
9b5a92f942 | ||
|
|
c4e0f13d67 | ||
|
|
b6821746d0 | ||
|
|
b98fc91a99 | ||
|
|
bd7f7b867e | ||
|
|
32a3fea8d7 | ||
|
|
3561beab1d | ||
|
|
1d1fd52cae | ||
|
|
c4ba438150 | ||
|
|
37f0ee08b1 | ||
|
|
240b02c94e | ||
|
|
e8142ff3df | ||
|
|
832b363da7 | ||
|
|
cf8f1ecd67 | ||
|
|
ee5129830c | ||
|
|
9facfaffa8 | ||
|
|
31b859ba1a | ||
|
|
b0f5a24c30 | ||
|
|
b60b594e44 | ||
|
|
a8cee1016b | ||
|
|
b551af01fa | ||
|
|
b178869a8e | ||
|
|
8e1c60d5f0 | ||
|
|
71ea49439e | ||
|
|
9d0a2f6535 | ||
|
|
c091fffe90 | ||
|
|
7e05d05f94 | ||
|
|
bd5b51c62f | ||
|
|
1d5eb2eced |
@@ -1,65 +1,66 @@
|
||||
<Project>
|
||||
<PropertyGroup>
|
||||
<ManagePackageVersionsCentrally>true</ManagePackageVersionsCentrally>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<PackageVersion Include="ColorHashSharp" Version="1.0.0" />
|
||||
<PackageVersion Include="CommunityToolkit.Common" Version="8.4.0" />
|
||||
<PackageVersion Include="CommunityToolkit.Diagnostics" Version="8.4.0" />
|
||||
<PackageVersion Include="CommunityToolkit.Labs.Uwp.Controls.MarkdownTextBlock" Version="0.1.250206-build.2040" />
|
||||
<PackageVersion Include="CommunityToolkit.Labs.Uwp.DependencyPropertyGenerator" Version="0.1.250206-build.2040" />
|
||||
<PackageVersion Include="CommunityToolkit.Mvvm" Version="8.4.0" />
|
||||
<PackageVersion Include="CommunityToolkit.Uwp.Animations" Version="8.2.250129-preview2" />
|
||||
<PackageVersion Include="CommunityToolkit.Uwp.Behaviors" Version="8.2.250129-preview2" />
|
||||
<PackageVersion Include="CommunityToolkit.Uwp.Controls.Segmented" Version="8.2.250129-preview2" />
|
||||
<PackageVersion Include="CommunityToolkit.Uwp.Controls.SettingsControls" Version="8.2.250129-preview2" />
|
||||
<PackageVersion Include="CommunityToolkit.Uwp.Controls.Sizers" Version="8.2.250129-preview2" />
|
||||
<PackageVersion Include="CommunityToolkit.Uwp.Controls.TabbedCommandBar" Version="8.2.250129-preview2" />
|
||||
<PackageVersion Include="CommunityToolkit.Uwp.Controls.TokenizingTextBox" Version="8.2.250129-preview2" />
|
||||
<PackageVersion Include="CommunityToolkit.Uwp.Extensions" Version="8.2.250129-preview2" />
|
||||
<PackageVersion Include="EmailValidation" Version="1.2.0" />
|
||||
<PackageVersion Include="HtmlAgilityPack" Version="1.11.72" />
|
||||
<PackageVersion Include="Ical.Net" Version="4.3.1" />
|
||||
<PackageVersion Include="IsExternalInit" Version="1.0.3" />
|
||||
<PackageVersion Include="Microsoft.CodeAnalysis.Analyzers" Version="3.11.0" />
|
||||
<PackageVersion Include="Microsoft.CodeAnalysis.CSharp" Version="4.12.0" />
|
||||
<PackageVersion Include="Microsoft.Extensions.DependencyInjection" Version="9.0.2" />
|
||||
<PackageVersion Include="Microsoft.Extensions.DependencyInjection.Abstractions" Version="9.0.2" />
|
||||
<PackageVersion Include="Microsoft.Graph" Version="5.69.0" />
|
||||
<PackageVersion Include="Microsoft.Identity.Client" Version="4.68.0" />
|
||||
<PackageVersion Include="Microsoft.Identity.Client.Broker" Version="4.68.0" />
|
||||
<PackageVersion Include="Microsoft.Identity.Client.Extensions.Msal" Version="4.68.0" />
|
||||
<PackageVersion Include="Microsoft.NETCore.UniversalWindowsPlatform" Version="6.2.14" />
|
||||
<PackageVersion Include="Microsoft.UI.Xaml" Version="2.8.7" />
|
||||
<PackageVersion Include="Microsoft.Xaml.Behaviors.Uwp.Managed" Version="3.0.0" />
|
||||
<PackageVersion Include="MimeKit" Version="4.10.0" />
|
||||
<PackageVersion Include="morelinq" Version="4.4.0" />
|
||||
<PackageVersion Include="Nito.AsyncEx" Version="5.1.2" />
|
||||
<PackageVersion Include="Nito.AsyncEx.Tasks" Version="5.1.2" />
|
||||
<PackageVersion Include="NodaTime" Version="3.2.1" />
|
||||
<PackageVersion Include="Serilog" Version="4.2.0" />
|
||||
<PackageVersion Include="Serilog.Exceptions" Version="8.4.0" />
|
||||
<PackageVersion Include="Serilog.Sinks.Debug" Version="3.0.0" />
|
||||
<PackageVersion Include="Serilog.Sinks.File" Version="6.0.0" />
|
||||
<PackageVersion Include="Serilog.Sinks.ApplicationInsights" Version="4.0.0" />
|
||||
<PackageVersion Include="SkiaSharp" Version="3.116.1" />
|
||||
<PackageVersion Include="sqlite-net-pcl" Version="1.9.172" />
|
||||
<PackageVersion Include="SqlKata" Version="4.0.1" />
|
||||
<PackageVersion Include="System.Private.Uri" Version="4.3.2" />
|
||||
<PackageVersion Include="System.Text.Encoding.CodePages" Version="9.0.2" />
|
||||
<PackageVersion Include="System.Text.Json" Version="9.0.2" />
|
||||
<PackageVersion Include="Win2D.uwp" Version="1.28.2" />
|
||||
<PackageVersion Include="H.NotifyIcon.Wpf" Version="2.2.0" />
|
||||
<PackageVersion Include="CommunityToolkit.WinUI.Notifications" Version="7.1.2" />
|
||||
<PackageVersion Include="Google.Apis.Auth" Version="1.69.0" />
|
||||
<PackageVersion Include="Google.Apis.Calendar.v3" Version="1.69.0.3667" />
|
||||
<PackageVersion Include="Google.Apis.Gmail.v1" Version="1.68.0.3427" />
|
||||
<PackageVersion Include="Google.Apis.PeopleService.v1" Version="1.68.0.3359" />
|
||||
<PackageVersion Include="HtmlKit" Version="1.2.0" />
|
||||
<PackageVersion Include="MailKit" Version="4.10.0" />
|
||||
<PackageVersion Include="TimePeriodLibrary.NET" Version="2.1.5" />
|
||||
<PackageVersion Include="System.Reactive" Version="6.0.1" />
|
||||
<PackageVersion Include="Microsoft.Bcl.AsyncInterfaces" Version="9.0.2" />
|
||||
<PackageVersion Include="System.Text.Encodings.Web" Version="9.0.2" />
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
<PropertyGroup>
|
||||
<ManagePackageVersionsCentrally>true</ManagePackageVersionsCentrally>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<PackageVersion Include="ColorHashSharp" Version="1.0.0" />
|
||||
<PackageVersion Include="CommunityToolkit.Common" Version="8.4.0" />
|
||||
<PackageVersion Include="CommunityToolkit.Diagnostics" Version="8.4.0" />
|
||||
<PackageVersion Include="CommunityToolkit.Labs.Uwp.Controls.MarkdownTextBlock" Version="0.1.250206-build.2040" />
|
||||
<PackageVersion Include="CommunityToolkit.Labs.Uwp.DependencyPropertyGenerator" Version="0.1.250206-build.2040" />
|
||||
<PackageVersion Include="CommunityToolkit.Mvvm" Version="8.4.0" />
|
||||
<PackageVersion Include="CommunityToolkit.Uwp.Animations" Version="8.2.250402" />
|
||||
<PackageVersion Include="CommunityToolkit.Uwp.Behaviors" Version="8.2.250402" />
|
||||
<PackageVersion Include="CommunityToolkit.Uwp.Controls.Segmented" Version="8.2.250402" />
|
||||
<PackageVersion Include="CommunityToolkit.Uwp.Controls.SettingsControls" Version="8.2.250402" />
|
||||
<PackageVersion Include="CommunityToolkit.Uwp.Controls.Sizers" Version="8.2.250402" />
|
||||
<PackageVersion Include="CommunityToolkit.Uwp.Controls.TabbedCommandBar" Version="8.2.250402" />
|
||||
<PackageVersion Include="CommunityToolkit.Uwp.Controls.TokenizingTextBox" Version="8.2.250402" />
|
||||
<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="HtmlAgilityPack" Version="1.12.0" />
|
||||
<PackageVersion Include="Ical.Net" Version="4.3.1" />
|
||||
<PackageVersion Include="IsExternalInit" Version="1.0.3" />
|
||||
<PackageVersion Include="Microsoft.CodeAnalysis.Analyzers" Version="3.11.0" />
|
||||
<PackageVersion Include="Microsoft.CodeAnalysis.CSharp" Version="4.13.0" />
|
||||
<PackageVersion Include="Microsoft.Extensions.DependencyInjection" Version="9.0.4" />
|
||||
<PackageVersion Include="Microsoft.Extensions.DependencyInjection.Abstractions" Version="9.0.4" />
|
||||
<PackageVersion Include="Microsoft.Graph" Version="5.75.0" />
|
||||
<PackageVersion Include="Microsoft.Identity.Client" Version="4.70.1" />
|
||||
<PackageVersion Include="Microsoft.Identity.Client.Broker" Version="4.70.1" />
|
||||
<PackageVersion Include="Microsoft.Identity.Client.Extensions.Msal" Version="4.70.1" />
|
||||
<PackageVersion Include="Microsoft.NETCore.UniversalWindowsPlatform" Version="6.2.14" />
|
||||
<PackageVersion Include="Microsoft.UI.Xaml" Version="2.8.7" />
|
||||
<PackageVersion Include="Microsoft.Xaml.Behaviors.Uwp.Managed" Version="3.0.0" />
|
||||
<PackageVersion Include="MimeKit" Version="4.11.0" />
|
||||
<PackageVersion Include="morelinq" Version="4.4.0" />
|
||||
<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="Serilog" Version="4.2.0" />
|
||||
<PackageVersion Include="Serilog.Exceptions" Version="8.4.0" />
|
||||
<PackageVersion Include="Serilog.Sinks.Debug" Version="3.0.0" />
|
||||
<PackageVersion Include="Serilog.Sinks.File" Version="6.0.0" />
|
||||
<PackageVersion Include="Serilog.Sinks.ApplicationInsights" Version="4.0.0" />
|
||||
<PackageVersion Include="SkiaSharp" Version="3.116.1" />
|
||||
<PackageVersion Include="sqlite-net-pcl" Version="1.9.172" />
|
||||
<PackageVersion Include="SqlKata" Version="4.0.1" />
|
||||
<PackageVersion Include="System.Private.Uri" Version="4.3.2" />
|
||||
<PackageVersion Include="System.Text.Encoding.CodePages" Version="9.0.4" />
|
||||
<PackageVersion Include="System.Text.Json" Version="9.0.4" />
|
||||
<PackageVersion Include="Win2D.uwp" Version="1.28.2" />
|
||||
<PackageVersion Include="H.NotifyIcon.Wpf" Version="2.3.0" />
|
||||
<PackageVersion Include="CommunityToolkit.WinUI.Notifications" Version="7.1.2" />
|
||||
<PackageVersion Include="Google.Apis.Auth" Version="1.69.0" />
|
||||
<PackageVersion Include="Google.Apis.Calendar.v3" Version="1.69.0.3667" />
|
||||
<PackageVersion Include="Google.Apis.Gmail.v1" Version="1.68.0.3427" />
|
||||
<PackageVersion Include="Google.Apis.PeopleService.v1" Version="1.68.0.3359" />
|
||||
<PackageVersion Include="HtmlKit" Version="1.2.0" />
|
||||
<PackageVersion Include="MailKit" Version="4.11.0" />
|
||||
<PackageVersion Include="TimePeriodLibrary.NET" Version="2.1.6" />
|
||||
<PackageVersion Include="System.Reactive" Version="6.0.1" />
|
||||
<PackageVersion Include="Microsoft.Bcl.AsyncInterfaces" Version="9.0.4" />
|
||||
<PackageVersion Include="System.Text.Encodings.Web" Version="9.0.4" />
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
@@ -67,7 +67,8 @@ public class OutlookAuthenticator : BaseAuthenticator, IOutlookAuthenticator
|
||||
{
|
||||
await EnsureTokenCacheAttachedAsync();
|
||||
|
||||
var storedAccount = (await _publicClientApplication.GetAccountsAsync()).FirstOrDefault(a => a.Username == account.Address);
|
||||
var storedAccount = (await _publicClientApplication.GetAccountsAsync()).FirstOrDefault(
|
||||
a => string.Equals(a.Username?.Trim(), account.Address?.Trim(), StringComparison.OrdinalIgnoreCase));
|
||||
|
||||
if (storedAccount == null)
|
||||
return await GenerateTokenInformationAsync(account);
|
||||
@@ -107,7 +108,7 @@ public class OutlookAuthenticator : BaseAuthenticator, IOutlookAuthenticator
|
||||
|
||||
if (account?.Address != null && !account.Address.Equals(authResult.Account.Username, StringComparison.OrdinalIgnoreCase))
|
||||
{
|
||||
throw new AuthenticationException("Authenticated address does not match with your account address.");
|
||||
throw new AuthenticationException("Authenticated address does not match with your account address. If you are signing with a Office365, it is not officially supported yet.");
|
||||
}
|
||||
|
||||
return new TokenInformationEx(authResult.AccessToken, authResult.Account.Username);
|
||||
|
||||
|
Before Width: | Height: | Size: 1.4 KiB |
|
Before Width: | Height: | Size: 7.5 KiB |
|
Before Width: | Height: | Size: 2.9 KiB |
|
Before Width: | Height: | Size: 1.6 KiB |
|
Before Width: | Height: | Size: 1.2 KiB |
|
Before Width: | Height: | Size: 1.4 KiB |
|
Before Width: | Height: | Size: 3.1 KiB |
@@ -1,90 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
|
||||
<Package
|
||||
xmlns="http://schemas.microsoft.com/appx/manifest/foundation/windows10"
|
||||
xmlns:uap="http://schemas.microsoft.com/appx/manifest/uap/windows10"
|
||||
xmlns:desktop="http://schemas.microsoft.com/appx/manifest/desktop/windows10"
|
||||
xmlns:uap5="http://schemas.microsoft.com/appx/manifest/uap/windows10/5"
|
||||
xmlns:rescap="http://schemas.microsoft.com/appx/manifest/foundation/windows10/restrictedcapabilities"
|
||||
IgnorableNamespaces="uap rescap">
|
||||
|
||||
<Identity
|
||||
Name="58272BurakKSE.WinoCalendar"
|
||||
Publisher="CN=51FBDAF3-E212-4149-89A2-A2636B3BC911"
|
||||
Version="1.0.0.0" />
|
||||
|
||||
<Properties>
|
||||
<DisplayName>Wino Calendar</DisplayName>
|
||||
<PublisherDisplayName>Burak KÖSE</PublisherDisplayName>
|
||||
<Logo>Images\StoreLogo.png</Logo>
|
||||
</Properties>
|
||||
|
||||
<Dependencies>
|
||||
<TargetDeviceFamily Name="Windows.Universal" MinVersion="10.0.0.0" MaxVersionTested="10.0.0.0" />
|
||||
<TargetDeviceFamily Name="Windows.Desktop" MinVersion="10.0.14393.0" MaxVersionTested="10.0.14393.0" />
|
||||
</Dependencies>
|
||||
|
||||
<Resources>
|
||||
<Resource Language="x-generate"/>
|
||||
</Resources>
|
||||
|
||||
<Applications>
|
||||
<Application Id="App"
|
||||
Executable="$targetnametoken$.exe"
|
||||
EntryPoint="$targetentrypoint$">
|
||||
<uap:VisualElements
|
||||
DisplayName="Wino Calendar"
|
||||
Description="Wino.Calendar.Packaging"
|
||||
BackgroundColor="transparent"
|
||||
Square150x150Logo="Images\Square150x150Logo.png"
|
||||
Square44x44Logo="Images\Square44x44Logo.png">
|
||||
<uap:DefaultTile Wide310x150Logo="Images\Wide310x150Logo.png" />
|
||||
<uap:SplashScreen Image="Images\SplashScreen.png" />
|
||||
</uap:VisualElements>
|
||||
|
||||
<Extensions>
|
||||
<!-- Registration of full trust backend application. -->
|
||||
<uap:Extension Category="windows.appService">
|
||||
<uap:AppService Name="WinoInteropService" />
|
||||
</uap:Extension>
|
||||
|
||||
<!-- Protocol activation: Google OAuth -->
|
||||
<uap:Extension Category="windows.protocol">
|
||||
<uap:Protocol Name="google.pw.oauth2">
|
||||
<uap:DisplayName>Wino Google Authentication Protocol</uap:DisplayName>
|
||||
</uap:Protocol>
|
||||
</uap:Extension>
|
||||
|
||||
<!-- Protocol activation: Launch UWP app from Full Trust Process -->
|
||||
<uap:Extension Category="windows.protocol">
|
||||
<uap:Protocol Name="wino.calendar.launch">
|
||||
<uap:DisplayName>Wino Calendara Launcher Protocol</uap:DisplayName>
|
||||
</uap:Protocol>
|
||||
</uap:Extension>
|
||||
|
||||
<!-- Startup Task -->
|
||||
<uap5:Extension
|
||||
Category="windows.startupTask"
|
||||
Executable="Wino.Server\Wino.Server.exe"
|
||||
EntryPoint="Windows.FullTrustApplication">
|
||||
<uap5:StartupTask
|
||||
TaskId="WinoServer"
|
||||
Enabled="false"
|
||||
DisplayName="Wino Mail" />
|
||||
</uap5:Extension>
|
||||
|
||||
<desktop:Extension Category="windows.fullTrustProcess" Executable="Wino.Server\Wino.Server.exe">
|
||||
<desktop:FullTrustProcess>
|
||||
<desktop:ParameterGroup GroupId="WinoServer" Parameters="Calendar" />
|
||||
</desktop:FullTrustProcess>
|
||||
</desktop:Extension>
|
||||
</Extensions>
|
||||
</Application>
|
||||
</Applications>
|
||||
|
||||
<Capabilities>
|
||||
<Capability Name="internetClient" />
|
||||
<rescap:Capability Name="runFullTrust" />
|
||||
<rescap:Capability Name="confirmAppClose" />
|
||||
</Capabilities>
|
||||
</Package>
|
||||
@@ -1,77 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="15.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<PropertyGroup Condition="'$(VisualStudioVersion)' == '' or '$(VisualStudioVersion)' < '15.0'">
|
||||
<VisualStudioVersion>15.0</VisualStudioVersion>
|
||||
</PropertyGroup>
|
||||
<ItemGroup Label="ProjectConfigurations">
|
||||
<ProjectConfiguration Include="Debug|x86">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>x86</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|x86">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>x86</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug|x64">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|x64">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug|ARM64">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>ARM64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|ARM64">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>ARM64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug|AnyCPU">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>AnyCPU</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|AnyCPU">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>AnyCPU</Platform>
|
||||
</ProjectConfiguration>
|
||||
</ItemGroup>
|
||||
<PropertyGroup>
|
||||
<WapProjPath Condition="'$(WapProjPath)'==''">$(MSBuildExtensionsPath)\Microsoft\DesktopBridge\</WapProjPath>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(WapProjPath)\Microsoft.DesktopBridge.props" />
|
||||
<PropertyGroup>
|
||||
<ProjectGuid>7485b18c-f5ab-4abe-ba7f-05b6623c67c8</ProjectGuid>
|
||||
<TargetPlatformVersion>10.0.22621.0</TargetPlatformVersion>
|
||||
<TargetPlatformMinVersion>10.0.17763.0</TargetPlatformMinVersion>
|
||||
<DefaultLanguage>en-US</DefaultLanguage>
|
||||
<AppxPackageSigningEnabled>false</AppxPackageSigningEnabled>
|
||||
<NoWarn>$(NoWarn);NU1702</NoWarn>
|
||||
<EntryPointProjectUniqueName>..\Wino.Calendar\Wino.Calendar.csproj</EntryPointProjectUniqueName>
|
||||
<GenerateTemporaryStoreCertificate>True</GenerateTemporaryStoreCertificate>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<AppxManifest Include="Package.appxmanifest">
|
||||
<SubType>Designer</SubType>
|
||||
</AppxManifest>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Content Include="Images\SplashScreen.scale-200.png" />
|
||||
<Content Include="Images\LockScreenLogo.scale-200.png" />
|
||||
<Content Include="Images\Square150x150Logo.scale-200.png" />
|
||||
<Content Include="Images\Square44x44Logo.scale-200.png" />
|
||||
<Content Include="Images\Square44x44Logo.targetsize-24_altform-unplated.png" />
|
||||
<Content Include="Images\StoreLogo.png" />
|
||||
<Content Include="Images\Wide310x150Logo.scale-200.png" />
|
||||
<None Include="Package.StoreAssociation.xml" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(WapProjPath)\Microsoft.DesktopBridge.targets" />
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Microsoft.Windows.SDK.BuildTools" Version="10.0.26100.1742" PrivateAssets="all" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\Wino.Calendar\Wino.Calendar.csproj" />
|
||||
<ProjectReference Include="..\Wino.Server\Wino.Server.csproj" />
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
@@ -1,48 +1,37 @@
|
||||
using System.Threading.Tasks;
|
||||
using CommunityToolkit.Mvvm.Input;
|
||||
using CommunityToolkit.Mvvm.Input;
|
||||
using CommunityToolkit.Mvvm.Messaging;
|
||||
using Wino.Calendar.ViewModels.Interfaces;
|
||||
using Wino.Core.Domain;
|
||||
using Wino.Core.Domain.Enums;
|
||||
using Wino.Core.Domain.Interfaces;
|
||||
using Wino.Core.Domain.Models.Navigation;
|
||||
using Wino.Core.ViewModels;
|
||||
using Wino.Mail.ViewModels.Data;
|
||||
using Wino.Messaging.UI;
|
||||
using Wino.Messaging.Client.Navigation;
|
||||
|
||||
namespace Wino.Calendar.ViewModels
|
||||
namespace Wino.Calendar.ViewModels;
|
||||
|
||||
public partial class AccountDetailsPageViewModel : CalendarBaseViewModel
|
||||
{
|
||||
public partial class AccountDetailsPageViewModel : CalendarBaseViewModel
|
||||
private readonly IAccountService _accountService;
|
||||
|
||||
public AccountProviderDetailViewModel Account { get; private set; }
|
||||
public ICalendarDialogService CalendarDialogService { get; }
|
||||
public IAccountCalendarStateService AccountCalendarStateService { get; }
|
||||
|
||||
public AccountDetailsPageViewModel(ICalendarDialogService calendarDialogService, IAccountService accountService, IAccountCalendarStateService accountCalendarStateService)
|
||||
{
|
||||
private readonly IAccountService _accountService;
|
||||
CalendarDialogService = calendarDialogService;
|
||||
_accountService = accountService;
|
||||
AccountCalendarStateService = accountCalendarStateService;
|
||||
}
|
||||
|
||||
public AccountProviderDetailViewModel Account { get; private set; }
|
||||
public ICalendarDialogService CalendarDialogService { get; }
|
||||
public IAccountCalendarStateService AccountCalendarStateService { get; }
|
||||
[RelayCommand]
|
||||
private void EditAccountDetails()
|
||||
=> Messenger.Send(new BreadcrumbNavigationRequested(Translator.SettingsEditAccountDetails_Title, WinoPage.EditAccountDetailsPage, Account));
|
||||
|
||||
public AccountDetailsPageViewModel(ICalendarDialogService calendarDialogService, IAccountService accountService, IAccountCalendarStateService accountCalendarStateService)
|
||||
{
|
||||
CalendarDialogService = calendarDialogService;
|
||||
_accountService = accountService;
|
||||
AccountCalendarStateService = accountCalendarStateService;
|
||||
}
|
||||
|
||||
[RelayCommand]
|
||||
private async Task RenameAccount()
|
||||
{
|
||||
if (Account == null)
|
||||
return;
|
||||
|
||||
var updatedAccount = await CalendarDialogService.ShowEditAccountDialogAsync(Account.Account);
|
||||
|
||||
if (updatedAccount != null)
|
||||
{
|
||||
await _accountService.UpdateAccountAsync(updatedAccount);
|
||||
|
||||
ReportUIChange(new AccountUpdatedMessage(updatedAccount));
|
||||
}
|
||||
}
|
||||
|
||||
public override void OnNavigatedTo(NavigationMode mode, object parameters)
|
||||
{
|
||||
base.OnNavigatedTo(mode, parameters);
|
||||
}
|
||||
public override void OnNavigatedTo(NavigationMode mode, object parameters)
|
||||
{
|
||||
base.OnNavigatedTo(mode, parameters);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -13,135 +13,134 @@ using Wino.Core.Domain.Models.Synchronization;
|
||||
using Wino.Core.ViewModels;
|
||||
using Wino.Messaging.Server;
|
||||
|
||||
namespace Wino.Calendar.ViewModels
|
||||
namespace Wino.Calendar.ViewModels;
|
||||
|
||||
public partial class AccountManagementViewModel : AccountManagementPageViewModelBase
|
||||
{
|
||||
public partial class AccountManagementViewModel : AccountManagementPageViewModelBase
|
||||
private readonly IProviderService _providerService;
|
||||
|
||||
public AccountManagementViewModel(ICalendarDialogService dialogService,
|
||||
IWinoServerConnectionManager winoServerConnectionManager,
|
||||
INavigationService navigationService,
|
||||
IAccountService accountService,
|
||||
IProviderService providerService,
|
||||
IStoreManagementService storeManagementService,
|
||||
IAuthenticationProvider authenticationProvider,
|
||||
IPreferencesService preferencesService) : base(dialogService, winoServerConnectionManager, navigationService, accountService, providerService, storeManagementService, authenticationProvider, preferencesService)
|
||||
{
|
||||
private readonly IProviderService _providerService;
|
||||
CalendarDialogService = dialogService;
|
||||
_providerService = providerService;
|
||||
}
|
||||
|
||||
public AccountManagementViewModel(ICalendarDialogService dialogService,
|
||||
IWinoServerConnectionManager winoServerConnectionManager,
|
||||
INavigationService navigationService,
|
||||
IAccountService accountService,
|
||||
IProviderService providerService,
|
||||
IStoreManagementService storeManagementService,
|
||||
IAuthenticationProvider authenticationProvider,
|
||||
IPreferencesService preferencesService) : base(dialogService, winoServerConnectionManager, navigationService, accountService, providerService, storeManagementService, authenticationProvider, preferencesService)
|
||||
public ICalendarDialogService CalendarDialogService { get; }
|
||||
|
||||
public override async void OnNavigatedTo(NavigationMode mode, object parameters)
|
||||
{
|
||||
base.OnNavigatedTo(mode, parameters);
|
||||
|
||||
await InitializeAccountsAsync();
|
||||
}
|
||||
|
||||
public override async Task InitializeAccountsAsync()
|
||||
{
|
||||
Accounts.Clear();
|
||||
|
||||
var accounts = await AccountService.GetAccountsAsync().ConfigureAwait(false);
|
||||
|
||||
await ExecuteUIThread(() =>
|
||||
{
|
||||
CalendarDialogService = dialogService;
|
||||
_providerService = providerService;
|
||||
}
|
||||
|
||||
public ICalendarDialogService CalendarDialogService { get; }
|
||||
|
||||
public override async void OnNavigatedTo(NavigationMode mode, object parameters)
|
||||
{
|
||||
base.OnNavigatedTo(mode, parameters);
|
||||
|
||||
await InitializeAccountsAsync();
|
||||
}
|
||||
|
||||
public override async Task InitializeAccountsAsync()
|
||||
{
|
||||
Accounts.Clear();
|
||||
|
||||
var accounts = await AccountService.GetAccountsAsync().ConfigureAwait(false);
|
||||
|
||||
await ExecuteUIThread(() =>
|
||||
foreach (var account in accounts)
|
||||
{
|
||||
foreach (var account in accounts)
|
||||
{
|
||||
var accountDetails = GetAccountProviderDetails(account);
|
||||
var accountDetails = GetAccountProviderDetails(account);
|
||||
|
||||
Accounts.Add(accountDetails);
|
||||
}
|
||||
});
|
||||
|
||||
await ManageStorePurchasesAsync().ConfigureAwait(false);
|
||||
}
|
||||
|
||||
[RelayCommand]
|
||||
private async Task AddNewAccountAsync()
|
||||
{
|
||||
if (IsAccountCreationBlocked)
|
||||
{
|
||||
var isPurchaseClicked = await DialogService.ShowConfirmationDialogAsync(Translator.DialogMessage_AccountLimitMessage, Translator.DialogMessage_AccountLimitTitle, Translator.Buttons_Purchase);
|
||||
|
||||
if (!isPurchaseClicked) return;
|
||||
|
||||
await PurchaseUnlimitedAccountAsync();
|
||||
|
||||
return;
|
||||
Accounts.Add(accountDetails);
|
||||
}
|
||||
});
|
||||
|
||||
var availableProviders = _providerService.GetAvailableProviders();
|
||||
await ManageStorePurchasesAsync().ConfigureAwait(false);
|
||||
}
|
||||
|
||||
var accountCreationDialogResult = await DialogService.ShowAccountProviderSelectionDialogAsync(availableProviders);
|
||||
[RelayCommand]
|
||||
private async Task AddNewAccountAsync()
|
||||
{
|
||||
if (IsAccountCreationBlocked)
|
||||
{
|
||||
var isPurchaseClicked = await DialogService.ShowConfirmationDialogAsync(Translator.DialogMessage_AccountLimitMessage, Translator.DialogMessage_AccountLimitTitle, Translator.Buttons_Purchase);
|
||||
|
||||
if (accountCreationDialogResult == null) return;
|
||||
if (!isPurchaseClicked) return;
|
||||
|
||||
var accountCreationCancellationTokenSource = new CancellationTokenSource();
|
||||
var accountCreationDialog = CalendarDialogService.GetAccountCreationDialog(accountCreationDialogResult);
|
||||
await PurchaseUnlimitedAccountAsync();
|
||||
|
||||
accountCreationDialog.ShowDialog(accountCreationCancellationTokenSource);
|
||||
accountCreationDialog.State = AccountCreationDialogState.SigningIn;
|
||||
return;
|
||||
}
|
||||
|
||||
// For OAuth authentications, we just generate token and assign it to the MailAccount.
|
||||
var availableProviders = _providerService.GetAvailableProviders();
|
||||
|
||||
var createdAccount = new MailAccount()
|
||||
{
|
||||
ProviderType = accountCreationDialogResult.ProviderType,
|
||||
Name = accountCreationDialogResult.AccountName,
|
||||
Id = Guid.NewGuid()
|
||||
};
|
||||
var accountCreationDialogResult = await DialogService.ShowAccountProviderSelectionDialogAsync(availableProviders);
|
||||
|
||||
var tokenInformationResponse = await WinoServerConnectionManager
|
||||
.GetResponseAsync<TokenInformationEx, AuthorizationRequested>(new AuthorizationRequested(accountCreationDialogResult.ProviderType,
|
||||
createdAccount,
|
||||
createdAccount.ProviderType == MailProviderType.Gmail), accountCreationCancellationTokenSource.Token);
|
||||
if (accountCreationDialogResult == null) return;
|
||||
|
||||
if (accountCreationDialog.State == AccountCreationDialogState.Canceled)
|
||||
throw new AccountSetupCanceledException();
|
||||
var accountCreationCancellationTokenSource = new CancellationTokenSource();
|
||||
var accountCreationDialog = CalendarDialogService.GetAccountCreationDialog(accountCreationDialogResult);
|
||||
|
||||
tokenInformationResponse.ThrowIfFailed();
|
||||
await accountCreationDialog.ShowDialogAsync(accountCreationCancellationTokenSource);
|
||||
await Task.Delay(500);
|
||||
|
||||
await AccountService.CreateAccountAsync(createdAccount, null);
|
||||
// For OAuth authentications, we just generate token and assign it to the MailAccount.
|
||||
|
||||
// Sync profile information if supported.
|
||||
if (createdAccount.IsProfileInfoSyncSupported)
|
||||
{
|
||||
// Start profile information synchronization.
|
||||
// It's only available for Outlook and Gmail synchronizers.
|
||||
var createdAccount = new MailAccount()
|
||||
{
|
||||
ProviderType = accountCreationDialogResult.ProviderType,
|
||||
Name = accountCreationDialogResult.AccountName,
|
||||
Id = Guid.NewGuid()
|
||||
};
|
||||
|
||||
var profileSyncOptions = new MailSynchronizationOptions()
|
||||
{
|
||||
AccountId = createdAccount.Id,
|
||||
Type = MailSynchronizationType.UpdateProfile
|
||||
};
|
||||
var tokenInformationResponse = await WinoServerConnectionManager
|
||||
.GetResponseAsync<TokenInformationEx, AuthorizationRequested>(new AuthorizationRequested(accountCreationDialogResult.ProviderType,
|
||||
createdAccount,
|
||||
createdAccount.ProviderType == MailProviderType.Gmail), accountCreationCancellationTokenSource.Token);
|
||||
|
||||
var profileSynchronizationResponse = await WinoServerConnectionManager.GetResponseAsync<MailSynchronizationResult, NewMailSynchronizationRequested>(new NewMailSynchronizationRequested(profileSyncOptions, SynchronizationSource.Client));
|
||||
if (accountCreationDialog.State == AccountCreationDialogState.Canceled)
|
||||
throw new AccountSetupCanceledException();
|
||||
|
||||
var profileSynchronizationResult = profileSynchronizationResponse.Data;
|
||||
tokenInformationResponse.ThrowIfFailed();
|
||||
|
||||
if (profileSynchronizationResult.CompletedState != SynchronizationCompletedState.Success)
|
||||
throw new Exception(Translator.Exception_FailedToSynchronizeProfileInformation);
|
||||
await AccountService.CreateAccountAsync(createdAccount, null);
|
||||
|
||||
createdAccount.SenderName = profileSynchronizationResult.ProfileInformation.SenderName;
|
||||
createdAccount.Base64ProfilePictureData = profileSynchronizationResult.ProfileInformation.Base64ProfilePictureData;
|
||||
// Sync profile information if supported.
|
||||
if (createdAccount.IsProfileInfoSyncSupported)
|
||||
{
|
||||
// Start profile information synchronization.
|
||||
// It's only available for Outlook and Gmail synchronizers.
|
||||
|
||||
await AccountService.UpdateProfileInformationAsync(createdAccount.Id, profileSynchronizationResult.ProfileInformation);
|
||||
}
|
||||
|
||||
accountCreationDialog.State = AccountCreationDialogState.FetchingEvents;
|
||||
|
||||
// Start synchronizing events.
|
||||
var synchronizationOptions = new CalendarSynchronizationOptions()
|
||||
var profileSyncOptions = new MailSynchronizationOptions()
|
||||
{
|
||||
AccountId = createdAccount.Id,
|
||||
Type = CalendarSynchronizationType.CalendarMetadata
|
||||
Type = MailSynchronizationType.UpdateProfile
|
||||
};
|
||||
|
||||
var synchronizationResponse = await WinoServerConnectionManager.GetResponseAsync<CalendarSynchronizationResult, NewCalendarSynchronizationRequested>(new NewCalendarSynchronizationRequested(synchronizationOptions, SynchronizationSource.Client));
|
||||
var profileSynchronizationResponse = await WinoServerConnectionManager.GetResponseAsync<MailSynchronizationResult, NewMailSynchronizationRequested>(new NewMailSynchronizationRequested(profileSyncOptions, SynchronizationSource.Client));
|
||||
|
||||
var profileSynchronizationResult = profileSynchronizationResponse.Data;
|
||||
|
||||
if (profileSynchronizationResult.CompletedState != SynchronizationCompletedState.Success)
|
||||
throw new Exception(Translator.Exception_FailedToSynchronizeProfileInformation);
|
||||
|
||||
createdAccount.SenderName = profileSynchronizationResult.ProfileInformation.SenderName;
|
||||
createdAccount.Base64ProfilePictureData = profileSynchronizationResult.ProfileInformation.Base64ProfilePictureData;
|
||||
|
||||
await AccountService.UpdateProfileInformationAsync(createdAccount.Id, profileSynchronizationResult.ProfileInformation);
|
||||
}
|
||||
|
||||
accountCreationDialog.State = AccountCreationDialogState.FetchingEvents;
|
||||
|
||||
// Start synchronizing events.
|
||||
var synchronizationOptions = new CalendarSynchronizationOptions()
|
||||
{
|
||||
AccountId = createdAccount.Id,
|
||||
Type = CalendarSynchronizationType.CalendarMetadata
|
||||
};
|
||||
|
||||
var synchronizationResponse = await WinoServerConnectionManager.GetResponseAsync<CalendarSynchronizationResult, NewCalendarSynchronizationRequested>(new NewCalendarSynchronizationRequested(synchronizationOptions, SynchronizationSource.Client));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -21,347 +21,346 @@ using Wino.Messaging.Client.Calendar;
|
||||
using Wino.Messaging.Client.Navigation;
|
||||
using Wino.Messaging.Server;
|
||||
|
||||
namespace Wino.Calendar.ViewModels
|
||||
namespace Wino.Calendar.ViewModels;
|
||||
|
||||
public partial class AppShellViewModel : CalendarBaseViewModel,
|
||||
IRecipient<VisibleDateRangeChangedMessage>,
|
||||
IRecipient<CalendarEnableStatusChangedMessage>,
|
||||
IRecipient<NavigateManageAccountsRequested>,
|
||||
IRecipient<CalendarDisplayTypeChangedMessage>,
|
||||
IRecipient<DetailsPageStateChangedMessage>
|
||||
{
|
||||
public partial class AppShellViewModel : CalendarBaseViewModel,
|
||||
IRecipient<VisibleDateRangeChangedMessage>,
|
||||
IRecipient<CalendarEnableStatusChangedMessage>,
|
||||
IRecipient<NavigateManageAccountsRequested>,
|
||||
IRecipient<CalendarDisplayTypeChangedMessage>,
|
||||
IRecipient<DetailsPageStateChangedMessage>
|
||||
public IPreferencesService PreferencesService { get; }
|
||||
public IStatePersistanceService StatePersistenceService { get; }
|
||||
public IAccountCalendarStateService AccountCalendarStateService { get; }
|
||||
public INavigationService NavigationService { get; }
|
||||
public IWinoServerConnectionManager ServerConnectionManager { get; }
|
||||
|
||||
[ObservableProperty]
|
||||
private bool _isEventDetailsPageActive;
|
||||
|
||||
[ObservableProperty]
|
||||
private int _selectedMenuItemIndex = -1;
|
||||
|
||||
[ObservableProperty]
|
||||
private bool isCalendarEnabled;
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets the active connection status of the Wino server.
|
||||
/// </summary>
|
||||
[ObservableProperty]
|
||||
private WinoServerConnectionStatus activeConnectionStatus;
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets the display date of the calendar.
|
||||
/// </summary>
|
||||
[ObservableProperty]
|
||||
private DateTimeOffset _displayDate;
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets the highlighted range in the CalendarView and displayed date range in FlipView.
|
||||
/// </summary>
|
||||
[ObservableProperty]
|
||||
private DateRange highlightedDateRange;
|
||||
|
||||
[ObservableProperty]
|
||||
private ObservableRangeCollection<string> dateNavigationHeaderItems = [];
|
||||
|
||||
[ObservableProperty]
|
||||
private int _selectedDateNavigationHeaderIndex;
|
||||
|
||||
public bool IsVerticalCalendar => StatePersistenceService.CalendarDisplayType == CalendarDisplayType.Month;
|
||||
|
||||
// For updating account calendars asynchronously.
|
||||
private SemaphoreSlim _accountCalendarUpdateSemaphoreSlim = new(1);
|
||||
|
||||
public AppShellViewModel(IPreferencesService preferencesService,
|
||||
IStatePersistanceService statePersistanceService,
|
||||
IAccountService accountService,
|
||||
ICalendarService calendarService,
|
||||
IAccountCalendarStateService accountCalendarStateService,
|
||||
INavigationService navigationService,
|
||||
IWinoServerConnectionManager serverConnectionManager)
|
||||
{
|
||||
public IPreferencesService PreferencesService { get; }
|
||||
public IStatePersistanceService StatePersistenceService { get; }
|
||||
public IAccountCalendarStateService AccountCalendarStateService { get; }
|
||||
public INavigationService NavigationService { get; }
|
||||
public IWinoServerConnectionManager ServerConnectionManager { get; }
|
||||
_accountService = accountService;
|
||||
_calendarService = calendarService;
|
||||
|
||||
[ObservableProperty]
|
||||
private bool _isEventDetailsPageActive;
|
||||
AccountCalendarStateService = accountCalendarStateService;
|
||||
AccountCalendarStateService.AccountCalendarSelectionStateChanged += UpdateAccountCalendarRequested;
|
||||
AccountCalendarStateService.CollectiveAccountGroupSelectionStateChanged += AccountCalendarStateCollectivelyChanged;
|
||||
|
||||
[ObservableProperty]
|
||||
private int _selectedMenuItemIndex = -1;
|
||||
NavigationService = navigationService;
|
||||
ServerConnectionManager = serverConnectionManager;
|
||||
PreferencesService = preferencesService;
|
||||
|
||||
[ObservableProperty]
|
||||
private bool isCalendarEnabled;
|
||||
StatePersistenceService = statePersistanceService;
|
||||
StatePersistenceService.StatePropertyChanged += PrefefencesChanged;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets the active connection status of the Wino server.
|
||||
/// </summary>
|
||||
[ObservableProperty]
|
||||
private WinoServerConnectionStatus activeConnectionStatus;
|
||||
private void SelectedCalendarItemsChanged(object sender, System.Collections.Specialized.NotifyCollectionChangedEventArgs e)
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets the display date of the calendar.
|
||||
/// </summary>
|
||||
[ObservableProperty]
|
||||
private DateTimeOffset _displayDate;
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets the highlighted range in the CalendarView and displayed date range in FlipView.
|
||||
/// </summary>
|
||||
[ObservableProperty]
|
||||
private DateRange highlightedDateRange;
|
||||
|
||||
[ObservableProperty]
|
||||
private ObservableRangeCollection<string> dateNavigationHeaderItems = [];
|
||||
|
||||
[ObservableProperty]
|
||||
private int _selectedDateNavigationHeaderIndex;
|
||||
|
||||
public bool IsVerticalCalendar => StatePersistenceService.CalendarDisplayType == CalendarDisplayType.Month;
|
||||
|
||||
// For updating account calendars asynchronously.
|
||||
private SemaphoreSlim _accountCalendarUpdateSemaphoreSlim = new(1);
|
||||
|
||||
public AppShellViewModel(IPreferencesService preferencesService,
|
||||
IStatePersistanceService statePersistanceService,
|
||||
IAccountService accountService,
|
||||
ICalendarService calendarService,
|
||||
IAccountCalendarStateService accountCalendarStateService,
|
||||
INavigationService navigationService,
|
||||
IWinoServerConnectionManager serverConnectionManager)
|
||||
private void PrefefencesChanged(object sender, string e)
|
||||
{
|
||||
if (e == nameof(StatePersistenceService.CalendarDisplayType))
|
||||
{
|
||||
_accountService = accountService;
|
||||
_calendarService = calendarService;
|
||||
Messenger.Send(new CalendarDisplayTypeChangedMessage(StatePersistenceService.CalendarDisplayType));
|
||||
|
||||
AccountCalendarStateService = accountCalendarStateService;
|
||||
AccountCalendarStateService.AccountCalendarSelectionStateChanged += UpdateAccountCalendarRequested;
|
||||
AccountCalendarStateService.CollectiveAccountGroupSelectionStateChanged += AccountCalendarStateCollectivelyChanged;
|
||||
|
||||
NavigationService = navigationService;
|
||||
ServerConnectionManager = serverConnectionManager;
|
||||
PreferencesService = preferencesService;
|
||||
|
||||
StatePersistenceService = statePersistanceService;
|
||||
StatePersistenceService.StatePropertyChanged += PrefefencesChanged;
|
||||
// Change the calendar.
|
||||
DateClicked(new CalendarViewDayClickedEventArgs(GetDisplayTypeSwitchDate()));
|
||||
}
|
||||
}
|
||||
|
||||
private void SelectedCalendarItemsChanged(object sender, System.Collections.Specialized.NotifyCollectionChangedEventArgs e)
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
public override async void OnNavigatedTo(NavigationMode mode, object parameters)
|
||||
{
|
||||
base.OnNavigatedTo(mode, parameters);
|
||||
|
||||
private void PrefefencesChanged(object sender, string e)
|
||||
UpdateDateNavigationHeaderItems();
|
||||
|
||||
await InitializeAccountCalendarsAsync();
|
||||
|
||||
TodayClicked();
|
||||
}
|
||||
|
||||
private async void AccountCalendarStateCollectivelyChanged(object sender, GroupedAccountCalendarViewModel e)
|
||||
{
|
||||
// When using three-state checkbox, multiple accounts will be selected/unselected at the same time.
|
||||
// Reporting all these changes one by one to the UI is not efficient and may cause problems in the future.
|
||||
|
||||
// Update all calendar states at once.
|
||||
try
|
||||
{
|
||||
if (e == nameof(StatePersistenceService.CalendarDisplayType))
|
||||
await _accountCalendarUpdateSemaphoreSlim.WaitAsync();
|
||||
|
||||
foreach (var calendar in e.AccountCalendars)
|
||||
{
|
||||
Messenger.Send(new CalendarDisplayTypeChangedMessage(StatePersistenceService.CalendarDisplayType));
|
||||
|
||||
|
||||
// Change the calendar.
|
||||
DateClicked(new CalendarViewDayClickedEventArgs(GetDisplayTypeSwitchDate()));
|
||||
await _calendarService.UpdateAccountCalendarAsync(calendar.AccountCalendar).ConfigureAwait(false);
|
||||
}
|
||||
}
|
||||
|
||||
public override async void OnNavigatedTo(NavigationMode mode, object parameters)
|
||||
catch (Exception ex)
|
||||
{
|
||||
base.OnNavigatedTo(mode, parameters);
|
||||
|
||||
UpdateDateNavigationHeaderItems();
|
||||
|
||||
await InitializeAccountCalendarsAsync();
|
||||
|
||||
TodayClicked();
|
||||
Log.Error(ex, "Error while waiting for account calendar update semaphore.");
|
||||
}
|
||||
|
||||
private async void AccountCalendarStateCollectivelyChanged(object sender, GroupedAccountCalendarViewModel e)
|
||||
finally
|
||||
{
|
||||
// When using three-state checkbox, multiple accounts will be selected/unselected at the same time.
|
||||
// Reporting all these changes one by one to the UI is not efficient and may cause problems in the future.
|
||||
|
||||
// Update all calendar states at once.
|
||||
try
|
||||
{
|
||||
await _accountCalendarUpdateSemaphoreSlim.WaitAsync();
|
||||
|
||||
foreach (var calendar in e.AccountCalendars)
|
||||
{
|
||||
await _calendarService.UpdateAccountCalendarAsync(calendar.AccountCalendar).ConfigureAwait(false);
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
Log.Error(ex, "Error while waiting for account calendar update semaphore.");
|
||||
}
|
||||
finally
|
||||
{
|
||||
_accountCalendarUpdateSemaphoreSlim.Release();
|
||||
}
|
||||
_accountCalendarUpdateSemaphoreSlim.Release();
|
||||
}
|
||||
}
|
||||
|
||||
private async void UpdateAccountCalendarRequested(object sender, AccountCalendarViewModel e)
|
||||
=> await _calendarService.UpdateAccountCalendarAsync(e.AccountCalendar).ConfigureAwait(false);
|
||||
private async void UpdateAccountCalendarRequested(object sender, AccountCalendarViewModel e)
|
||||
=> await _calendarService.UpdateAccountCalendarAsync(e.AccountCalendar).ConfigureAwait(false);
|
||||
|
||||
private async Task InitializeAccountCalendarsAsync()
|
||||
private async Task InitializeAccountCalendarsAsync()
|
||||
{
|
||||
await Dispatcher.ExecuteOnUIThread(() => AccountCalendarStateService.ClearGroupedAccountCalendar());
|
||||
|
||||
var accounts = await _accountService.GetAccountsAsync().ConfigureAwait(false);
|
||||
|
||||
foreach (var account in accounts)
|
||||
{
|
||||
await Dispatcher.ExecuteOnUIThread(() => AccountCalendarStateService.ClearGroupedAccountCalendar());
|
||||
var accountCalendars = await _calendarService.GetAccountCalendarsAsync(account.Id).ConfigureAwait(false);
|
||||
var calendarViewModels = new List<AccountCalendarViewModel>();
|
||||
|
||||
var accounts = await _accountService.GetAccountsAsync().ConfigureAwait(false);
|
||||
|
||||
foreach (var account in accounts)
|
||||
foreach (var calendar in accountCalendars)
|
||||
{
|
||||
var accountCalendars = await _calendarService.GetAccountCalendarsAsync(account.Id).ConfigureAwait(false);
|
||||
var calendarViewModels = new List<AccountCalendarViewModel>();
|
||||
var calendarViewModel = new AccountCalendarViewModel(account, calendar);
|
||||
|
||||
foreach (var calendar in accountCalendars)
|
||||
{
|
||||
var calendarViewModel = new AccountCalendarViewModel(account, calendar);
|
||||
|
||||
calendarViewModels.Add(calendarViewModel);
|
||||
}
|
||||
|
||||
var groupedAccountCalendarViewModel = new GroupedAccountCalendarViewModel(account, calendarViewModels);
|
||||
|
||||
await Dispatcher.ExecuteOnUIThread(() =>
|
||||
{
|
||||
AccountCalendarStateService.AddGroupedAccountCalendar(groupedAccountCalendarViewModel);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
private void ForceNavigateCalendarDate()
|
||||
{
|
||||
if (SelectedMenuItemIndex == -1)
|
||||
{
|
||||
var args = new CalendarPageNavigationArgs()
|
||||
{
|
||||
NavigationDate = _navigationDate ?? DateTime.Now.Date
|
||||
};
|
||||
|
||||
// Already on calendar. Just navigate.
|
||||
NavigationService.Navigate(WinoPage.CalendarPage, args);
|
||||
|
||||
_navigationDate = null;
|
||||
}
|
||||
else
|
||||
{
|
||||
SelectedMenuItemIndex = -1;
|
||||
}
|
||||
}
|
||||
|
||||
partial void OnSelectedMenuItemIndexChanged(int oldValue, int newValue)
|
||||
{
|
||||
switch (newValue)
|
||||
{
|
||||
case -1:
|
||||
ForceNavigateCalendarDate();
|
||||
break;
|
||||
case 0:
|
||||
NavigationService.Navigate(WinoPage.ManageAccountsPage);
|
||||
break;
|
||||
case 1:
|
||||
NavigationService.Navigate(WinoPage.SettingsPage);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
[RelayCommand]
|
||||
private async Task Sync()
|
||||
{
|
||||
// Sync all calendars.
|
||||
var accounts = await _accountService.GetAccountsAsync().ConfigureAwait(false);
|
||||
|
||||
foreach (var account in accounts)
|
||||
{
|
||||
var t = new NewCalendarSynchronizationRequested(new CalendarSynchronizationOptions()
|
||||
{
|
||||
AccountId = account.Id,
|
||||
Type = CalendarSynchronizationType.CalendarMetadata
|
||||
}, SynchronizationSource.Client);
|
||||
|
||||
Messenger.Send(t);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// When calendar type switches, we need to navigate to the most ideal date.
|
||||
/// This method returns that date.
|
||||
/// </summary>
|
||||
private DateTime GetDisplayTypeSwitchDate()
|
||||
{
|
||||
var settings = PreferencesService.GetCurrentCalendarSettings();
|
||||
switch (StatePersistenceService.CalendarDisplayType)
|
||||
{
|
||||
case CalendarDisplayType.Day:
|
||||
if (HighlightedDateRange.IsInRange(DateTime.Now)) return DateTime.Now.Date;
|
||||
|
||||
return HighlightedDateRange.StartDate;
|
||||
case CalendarDisplayType.Week:
|
||||
if (HighlightedDateRange == null || HighlightedDateRange.IsInRange(DateTime.Now))
|
||||
{
|
||||
return DateTime.Now.Date.GetWeekStartDateForDate(settings.FirstDayOfWeek);
|
||||
}
|
||||
|
||||
return HighlightedDateRange.StartDate.GetWeekStartDateForDate(settings.FirstDayOfWeek);
|
||||
case CalendarDisplayType.WorkWeek:
|
||||
break;
|
||||
case CalendarDisplayType.Month:
|
||||
break;
|
||||
case CalendarDisplayType.Year:
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
calendarViewModels.Add(calendarViewModel);
|
||||
}
|
||||
|
||||
return DateTime.Today.Date;
|
||||
}
|
||||
var groupedAccountCalendarViewModel = new GroupedAccountCalendarViewModel(account, calendarViewModels);
|
||||
|
||||
private DateTime? _navigationDate;
|
||||
private readonly IAccountService _accountService;
|
||||
private readonly ICalendarService _calendarService;
|
||||
|
||||
#region Commands
|
||||
|
||||
[RelayCommand]
|
||||
private void TodayClicked()
|
||||
{
|
||||
_navigationDate = DateTime.Now.Date;
|
||||
|
||||
ForceNavigateCalendarDate();
|
||||
}
|
||||
|
||||
[RelayCommand]
|
||||
public void ManageAccounts() => NavigationService.Navigate(WinoPage.AccountManagementPage);
|
||||
|
||||
[RelayCommand]
|
||||
private Task ReconnectServerAsync() => ServerConnectionManager.ConnectAsync();
|
||||
|
||||
[RelayCommand]
|
||||
private void DateClicked(CalendarViewDayClickedEventArgs clickedDateArgs)
|
||||
{
|
||||
_navigationDate = clickedDateArgs.ClickedDate;
|
||||
|
||||
ForceNavigateCalendarDate();
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
public void Receive(VisibleDateRangeChangedMessage message) => HighlightedDateRange = message.DateRange;
|
||||
|
||||
/// <summary>
|
||||
/// Sets the header navigation items based on visible date range and calendar type.
|
||||
/// </summary>
|
||||
private void UpdateDateNavigationHeaderItems()
|
||||
{
|
||||
DateNavigationHeaderItems.Clear();
|
||||
|
||||
// TODO: From settings
|
||||
var testInfo = new CultureInfo("en-US");
|
||||
|
||||
switch (StatePersistenceService.CalendarDisplayType)
|
||||
await Dispatcher.ExecuteOnUIThread(() =>
|
||||
{
|
||||
case CalendarDisplayType.Day:
|
||||
case CalendarDisplayType.Week:
|
||||
case CalendarDisplayType.WorkWeek:
|
||||
case CalendarDisplayType.Month:
|
||||
DateNavigationHeaderItems.ReplaceRange(testInfo.DateTimeFormat.MonthNames);
|
||||
break;
|
||||
case CalendarDisplayType.Year:
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
SetDateNavigationHeaderItems();
|
||||
}
|
||||
|
||||
partial void OnHighlightedDateRangeChanged(DateRange value) => SetDateNavigationHeaderItems();
|
||||
|
||||
private void SetDateNavigationHeaderItems()
|
||||
{
|
||||
if (HighlightedDateRange == null) return;
|
||||
|
||||
if (DateNavigationHeaderItems.Count == 0)
|
||||
{
|
||||
UpdateDateNavigationHeaderItems();
|
||||
}
|
||||
|
||||
// TODO: Year view
|
||||
var monthIndex = HighlightedDateRange.GetMostVisibleMonthIndex();
|
||||
|
||||
SelectedDateNavigationHeaderIndex = Math.Max(monthIndex - 1, -1);
|
||||
}
|
||||
|
||||
public async void Receive(CalendarEnableStatusChangedMessage message)
|
||||
=> await ExecuteUIThread(() => IsCalendarEnabled = message.IsEnabled);
|
||||
|
||||
public void Receive(NavigateManageAccountsRequested message) => SelectedMenuItemIndex = 1;
|
||||
|
||||
public void Receive(CalendarDisplayTypeChangedMessage message) => OnPropertyChanged(nameof(IsVerticalCalendar));
|
||||
|
||||
public async void Receive(DetailsPageStateChangedMessage message)
|
||||
{
|
||||
await ExecuteUIThread(() =>
|
||||
{
|
||||
IsEventDetailsPageActive = message.IsActivated;
|
||||
|
||||
// TODO: This is for Wino Mail. Generalize this later on.
|
||||
StatePersistenceService.IsReaderNarrowed = message.IsActivated;
|
||||
StatePersistenceService.IsReadingMail = message.IsActivated;
|
||||
AccountCalendarStateService.AddGroupedAccountCalendar(groupedAccountCalendarViewModel);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
private void ForceNavigateCalendarDate()
|
||||
{
|
||||
if (SelectedMenuItemIndex == -1)
|
||||
{
|
||||
var args = new CalendarPageNavigationArgs()
|
||||
{
|
||||
NavigationDate = _navigationDate ?? DateTime.Now.Date
|
||||
};
|
||||
|
||||
// Already on calendar. Just navigate.
|
||||
NavigationService.Navigate(WinoPage.CalendarPage, args);
|
||||
|
||||
_navigationDate = null;
|
||||
}
|
||||
else
|
||||
{
|
||||
SelectedMenuItemIndex = -1;
|
||||
}
|
||||
}
|
||||
|
||||
partial void OnSelectedMenuItemIndexChanged(int oldValue, int newValue)
|
||||
{
|
||||
switch (newValue)
|
||||
{
|
||||
case -1:
|
||||
ForceNavigateCalendarDate();
|
||||
break;
|
||||
case 0:
|
||||
NavigationService.Navigate(WinoPage.ManageAccountsPage);
|
||||
break;
|
||||
case 1:
|
||||
NavigationService.Navigate(WinoPage.SettingsPage);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
[RelayCommand]
|
||||
private async Task Sync()
|
||||
{
|
||||
// Sync all calendars.
|
||||
var accounts = await _accountService.GetAccountsAsync().ConfigureAwait(false);
|
||||
|
||||
foreach (var account in accounts)
|
||||
{
|
||||
var t = new NewCalendarSynchronizationRequested(new CalendarSynchronizationOptions()
|
||||
{
|
||||
AccountId = account.Id,
|
||||
Type = CalendarSynchronizationType.CalendarMetadata
|
||||
}, SynchronizationSource.Client);
|
||||
|
||||
Messenger.Send(t);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// When calendar type switches, we need to navigate to the most ideal date.
|
||||
/// This method returns that date.
|
||||
/// </summary>
|
||||
private DateTime GetDisplayTypeSwitchDate()
|
||||
{
|
||||
var settings = PreferencesService.GetCurrentCalendarSettings();
|
||||
switch (StatePersistenceService.CalendarDisplayType)
|
||||
{
|
||||
case CalendarDisplayType.Day:
|
||||
if (HighlightedDateRange.IsInRange(DateTime.Now)) return DateTime.Now.Date;
|
||||
|
||||
return HighlightedDateRange.StartDate;
|
||||
case CalendarDisplayType.Week:
|
||||
if (HighlightedDateRange == null || HighlightedDateRange.IsInRange(DateTime.Now))
|
||||
{
|
||||
return DateTime.Now.Date.GetWeekStartDateForDate(settings.FirstDayOfWeek);
|
||||
}
|
||||
|
||||
return HighlightedDateRange.StartDate.GetWeekStartDateForDate(settings.FirstDayOfWeek);
|
||||
case CalendarDisplayType.WorkWeek:
|
||||
break;
|
||||
case CalendarDisplayType.Month:
|
||||
break;
|
||||
case CalendarDisplayType.Year:
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
return DateTime.Today.Date;
|
||||
}
|
||||
|
||||
private DateTime? _navigationDate;
|
||||
private readonly IAccountService _accountService;
|
||||
private readonly ICalendarService _calendarService;
|
||||
|
||||
#region Commands
|
||||
|
||||
[RelayCommand]
|
||||
private void TodayClicked()
|
||||
{
|
||||
_navigationDate = DateTime.Now.Date;
|
||||
|
||||
ForceNavigateCalendarDate();
|
||||
}
|
||||
|
||||
[RelayCommand]
|
||||
public void ManageAccounts() => NavigationService.Navigate(WinoPage.AccountManagementPage);
|
||||
|
||||
[RelayCommand]
|
||||
private Task ReconnectServerAsync() => ServerConnectionManager.ConnectAsync();
|
||||
|
||||
[RelayCommand]
|
||||
private void DateClicked(CalendarViewDayClickedEventArgs clickedDateArgs)
|
||||
{
|
||||
_navigationDate = clickedDateArgs.ClickedDate;
|
||||
|
||||
ForceNavigateCalendarDate();
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
public void Receive(VisibleDateRangeChangedMessage message) => HighlightedDateRange = message.DateRange;
|
||||
|
||||
/// <summary>
|
||||
/// Sets the header navigation items based on visible date range and calendar type.
|
||||
/// </summary>
|
||||
private void UpdateDateNavigationHeaderItems()
|
||||
{
|
||||
DateNavigationHeaderItems.Clear();
|
||||
|
||||
// TODO: From settings
|
||||
var testInfo = new CultureInfo("en-US");
|
||||
|
||||
switch (StatePersistenceService.CalendarDisplayType)
|
||||
{
|
||||
case CalendarDisplayType.Day:
|
||||
case CalendarDisplayType.Week:
|
||||
case CalendarDisplayType.WorkWeek:
|
||||
case CalendarDisplayType.Month:
|
||||
DateNavigationHeaderItems.ReplaceRange(testInfo.DateTimeFormat.MonthNames);
|
||||
break;
|
||||
case CalendarDisplayType.Year:
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
SetDateNavigationHeaderItems();
|
||||
}
|
||||
|
||||
partial void OnHighlightedDateRangeChanged(DateRange value) => SetDateNavigationHeaderItems();
|
||||
|
||||
private void SetDateNavigationHeaderItems()
|
||||
{
|
||||
if (HighlightedDateRange == null) return;
|
||||
|
||||
if (DateNavigationHeaderItems.Count == 0)
|
||||
{
|
||||
UpdateDateNavigationHeaderItems();
|
||||
}
|
||||
|
||||
// TODO: Year view
|
||||
var monthIndex = HighlightedDateRange.GetMostVisibleMonthIndex();
|
||||
|
||||
SelectedDateNavigationHeaderIndex = Math.Max(monthIndex - 1, -1);
|
||||
}
|
||||
|
||||
public async void Receive(CalendarEnableStatusChangedMessage message)
|
||||
=> await ExecuteUIThread(() => IsCalendarEnabled = message.IsEnabled);
|
||||
|
||||
public void Receive(NavigateManageAccountsRequested message) => SelectedMenuItemIndex = 1;
|
||||
|
||||
public void Receive(CalendarDisplayTypeChangedMessage message) => OnPropertyChanged(nameof(IsVerticalCalendar));
|
||||
|
||||
public async void Receive(DetailsPageStateChangedMessage message)
|
||||
{
|
||||
await ExecuteUIThread(() =>
|
||||
{
|
||||
IsEventDetailsPageActive = message.IsActivated;
|
||||
|
||||
// TODO: This is for Wino Mail. Generalize this later on.
|
||||
StatePersistenceService.IsReaderNarrowed = message.IsActivated;
|
||||
StatePersistenceService.IsReadingMail = message.IsActivated;
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
@@ -8,120 +8,119 @@ using Wino.Core.Domain.Translations;
|
||||
using Wino.Core.ViewModels;
|
||||
using Wino.Messaging.Client.Calendar;
|
||||
|
||||
namespace Wino.Calendar.ViewModels
|
||||
namespace Wino.Calendar.ViewModels;
|
||||
|
||||
public partial class CalendarSettingsPageViewModel : CalendarBaseViewModel
|
||||
{
|
||||
public partial class CalendarSettingsPageViewModel : CalendarBaseViewModel
|
||||
[ObservableProperty]
|
||||
private double _cellHourHeight;
|
||||
|
||||
[ObservableProperty]
|
||||
private int _selectedFirstDayOfWeekIndex;
|
||||
|
||||
[ObservableProperty]
|
||||
private bool _is24HourHeaders;
|
||||
|
||||
[ObservableProperty]
|
||||
private TimeSpan _workingHourStart;
|
||||
|
||||
[ObservableProperty]
|
||||
private TimeSpan _workingHourEnd;
|
||||
|
||||
[ObservableProperty]
|
||||
private List<string> _dayNames = [];
|
||||
|
||||
[ObservableProperty]
|
||||
private int _workingDayStartIndex;
|
||||
|
||||
[ObservableProperty]
|
||||
private int _workingDayEndIndex;
|
||||
|
||||
public IPreferencesService PreferencesService { get; }
|
||||
|
||||
private readonly bool _isLoaded = false;
|
||||
|
||||
public CalendarSettingsPageViewModel(IPreferencesService preferencesService)
|
||||
{
|
||||
[ObservableProperty]
|
||||
private double _cellHourHeight;
|
||||
PreferencesService = preferencesService;
|
||||
|
||||
[ObservableProperty]
|
||||
private int _selectedFirstDayOfWeekIndex;
|
||||
var currentLanguageLanguageCode = WinoTranslationDictionary.GetLanguageFileNameRelativePath(preferencesService.CurrentLanguage);
|
||||
|
||||
[ObservableProperty]
|
||||
private bool _is24HourHeaders;
|
||||
var cultureInfo = new CultureInfo(currentLanguageLanguageCode);
|
||||
|
||||
[ObservableProperty]
|
||||
private TimeSpan _workingHourStart;
|
||||
|
||||
[ObservableProperty]
|
||||
private TimeSpan _workingHourEnd;
|
||||
|
||||
[ObservableProperty]
|
||||
private List<string> _dayNames = [];
|
||||
|
||||
[ObservableProperty]
|
||||
private int _workingDayStartIndex;
|
||||
|
||||
[ObservableProperty]
|
||||
private int _workingDayEndIndex;
|
||||
|
||||
public IPreferencesService PreferencesService { get; }
|
||||
|
||||
private readonly bool _isLoaded = false;
|
||||
|
||||
public CalendarSettingsPageViewModel(IPreferencesService preferencesService)
|
||||
// Populate the day names list
|
||||
for (var i = 0; i < 7; i++)
|
||||
{
|
||||
PreferencesService = preferencesService;
|
||||
|
||||
var currentLanguageLanguageCode = WinoTranslationDictionary.GetLanguageFileNameRelativePath(preferencesService.CurrentLanguage);
|
||||
|
||||
var cultureInfo = new CultureInfo(currentLanguageLanguageCode);
|
||||
|
||||
// Populate the day names list
|
||||
for (var i = 0; i < 7; i++)
|
||||
{
|
||||
_dayNames.Add(cultureInfo.DateTimeFormat.DayNames[i]);
|
||||
}
|
||||
|
||||
var cultureFirstDayName = cultureInfo.DateTimeFormat.GetDayName(preferencesService.FirstDayOfWeek);
|
||||
|
||||
_selectedFirstDayOfWeekIndex = _dayNames.IndexOf(cultureFirstDayName);
|
||||
_is24HourHeaders = preferencesService.Prefer24HourTimeFormat;
|
||||
_workingHourStart = preferencesService.WorkingHourStart;
|
||||
_workingHourEnd = preferencesService.WorkingHourEnd;
|
||||
_cellHourHeight = preferencesService.HourHeight;
|
||||
|
||||
_workingDayStartIndex = _dayNames.IndexOf(cultureInfo.DateTimeFormat.GetDayName(preferencesService.WorkingDayStart));
|
||||
_workingDayEndIndex = _dayNames.IndexOf(cultureInfo.DateTimeFormat.GetDayName(preferencesService.WorkingDayEnd));
|
||||
|
||||
_isLoaded = true;
|
||||
_dayNames.Add(cultureInfo.DateTimeFormat.DayNames[i]);
|
||||
}
|
||||
|
||||
partial void OnCellHourHeightChanged(double oldValue, double newValue) => SaveSettings();
|
||||
partial void OnIs24HourHeadersChanged(bool value) => SaveSettings();
|
||||
partial void OnSelectedFirstDayOfWeekIndexChanged(int value) => SaveSettings();
|
||||
partial void OnWorkingHourStartChanged(TimeSpan value) => SaveSettings();
|
||||
partial void OnWorkingHourEndChanged(TimeSpan value) => SaveSettings();
|
||||
partial void OnWorkingDayStartIndexChanged(int value) => SaveSettings();
|
||||
partial void OnWorkingDayEndIndexChanged(int value) => SaveSettings();
|
||||
var cultureFirstDayName = cultureInfo.DateTimeFormat.GetDayName(preferencesService.FirstDayOfWeek);
|
||||
|
||||
public void SaveSettings()
|
||||
_selectedFirstDayOfWeekIndex = _dayNames.IndexOf(cultureFirstDayName);
|
||||
_is24HourHeaders = preferencesService.Prefer24HourTimeFormat;
|
||||
_workingHourStart = preferencesService.WorkingHourStart;
|
||||
_workingHourEnd = preferencesService.WorkingHourEnd;
|
||||
_cellHourHeight = preferencesService.HourHeight;
|
||||
|
||||
_workingDayStartIndex = _dayNames.IndexOf(cultureInfo.DateTimeFormat.GetDayName(preferencesService.WorkingDayStart));
|
||||
_workingDayEndIndex = _dayNames.IndexOf(cultureInfo.DateTimeFormat.GetDayName(preferencesService.WorkingDayEnd));
|
||||
|
||||
_isLoaded = true;
|
||||
}
|
||||
|
||||
partial void OnCellHourHeightChanged(double oldValue, double newValue) => SaveSettings();
|
||||
partial void OnIs24HourHeadersChanged(bool value) => SaveSettings();
|
||||
partial void OnSelectedFirstDayOfWeekIndexChanged(int value) => SaveSettings();
|
||||
partial void OnWorkingHourStartChanged(TimeSpan value) => SaveSettings();
|
||||
partial void OnWorkingHourEndChanged(TimeSpan value) => SaveSettings();
|
||||
partial void OnWorkingDayStartIndexChanged(int value) => SaveSettings();
|
||||
partial void OnWorkingDayEndIndexChanged(int value) => SaveSettings();
|
||||
|
||||
public void SaveSettings()
|
||||
{
|
||||
if (!_isLoaded) return;
|
||||
|
||||
PreferencesService.FirstDayOfWeek = SelectedFirstDayOfWeekIndex switch
|
||||
{
|
||||
if (!_isLoaded) return;
|
||||
0 => DayOfWeek.Sunday,
|
||||
1 => DayOfWeek.Monday,
|
||||
2 => DayOfWeek.Tuesday,
|
||||
3 => DayOfWeek.Wednesday,
|
||||
4 => DayOfWeek.Thursday,
|
||||
5 => DayOfWeek.Friday,
|
||||
6 => DayOfWeek.Saturday,
|
||||
_ => throw new ArgumentOutOfRangeException()
|
||||
};
|
||||
|
||||
PreferencesService.FirstDayOfWeek = SelectedFirstDayOfWeekIndex switch
|
||||
{
|
||||
0 => DayOfWeek.Sunday,
|
||||
1 => DayOfWeek.Monday,
|
||||
2 => DayOfWeek.Tuesday,
|
||||
3 => DayOfWeek.Wednesday,
|
||||
4 => DayOfWeek.Thursday,
|
||||
5 => DayOfWeek.Friday,
|
||||
6 => DayOfWeek.Saturday,
|
||||
_ => throw new ArgumentOutOfRangeException()
|
||||
};
|
||||
PreferencesService.WorkingDayStart = WorkingDayStartIndex switch
|
||||
{
|
||||
0 => DayOfWeek.Sunday,
|
||||
1 => DayOfWeek.Monday,
|
||||
2 => DayOfWeek.Tuesday,
|
||||
3 => DayOfWeek.Wednesday,
|
||||
4 => DayOfWeek.Thursday,
|
||||
5 => DayOfWeek.Friday,
|
||||
6 => DayOfWeek.Saturday,
|
||||
_ => throw new ArgumentOutOfRangeException()
|
||||
};
|
||||
|
||||
PreferencesService.WorkingDayStart = WorkingDayStartIndex switch
|
||||
{
|
||||
0 => DayOfWeek.Sunday,
|
||||
1 => DayOfWeek.Monday,
|
||||
2 => DayOfWeek.Tuesday,
|
||||
3 => DayOfWeek.Wednesday,
|
||||
4 => DayOfWeek.Thursday,
|
||||
5 => DayOfWeek.Friday,
|
||||
6 => DayOfWeek.Saturday,
|
||||
_ => throw new ArgumentOutOfRangeException()
|
||||
};
|
||||
PreferencesService.WorkingDayEnd = WorkingDayEndIndex switch
|
||||
{
|
||||
0 => DayOfWeek.Sunday,
|
||||
1 => DayOfWeek.Monday,
|
||||
2 => DayOfWeek.Tuesday,
|
||||
3 => DayOfWeek.Wednesday,
|
||||
4 => DayOfWeek.Thursday,
|
||||
5 => DayOfWeek.Friday,
|
||||
6 => DayOfWeek.Saturday,
|
||||
_ => throw new ArgumentOutOfRangeException()
|
||||
};
|
||||
|
||||
PreferencesService.WorkingDayEnd = WorkingDayEndIndex switch
|
||||
{
|
||||
0 => DayOfWeek.Sunday,
|
||||
1 => DayOfWeek.Monday,
|
||||
2 => DayOfWeek.Tuesday,
|
||||
3 => DayOfWeek.Wednesday,
|
||||
4 => DayOfWeek.Thursday,
|
||||
5 => DayOfWeek.Friday,
|
||||
6 => DayOfWeek.Saturday,
|
||||
_ => throw new ArgumentOutOfRangeException()
|
||||
};
|
||||
PreferencesService.Prefer24HourTimeFormat = Is24HourHeaders;
|
||||
PreferencesService.WorkingHourStart = WorkingHourStart;
|
||||
PreferencesService.WorkingHourEnd = WorkingHourEnd;
|
||||
PreferencesService.HourHeight = CellHourHeight;
|
||||
|
||||
PreferencesService.Prefer24HourTimeFormat = Is24HourHeaders;
|
||||
PreferencesService.WorkingHourStart = WorkingHourStart;
|
||||
PreferencesService.WorkingHourEnd = WorkingHourEnd;
|
||||
PreferencesService.HourHeight = CellHourHeight;
|
||||
|
||||
Messenger.Send(new CalendarSettingsUpdatedMessage());
|
||||
}
|
||||
Messenger.Send(new CalendarSettingsUpdatedMessage());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,13 +1,12 @@
|
||||
using Microsoft.Extensions.DependencyInjection;
|
||||
using Wino.Core;
|
||||
|
||||
namespace Wino.Calendar.ViewModels
|
||||
namespace Wino.Calendar.ViewModels;
|
||||
|
||||
public static class CalendarViewModelContainerSetup
|
||||
{
|
||||
public static class CalendarViewModelContainerSetup
|
||||
public static void RegisterCalendarViewModelServices(this IServiceCollection services)
|
||||
{
|
||||
public static void RegisterCalendarViewModelServices(this IServiceCollection services)
|
||||
{
|
||||
services.RegisterCoreServices();
|
||||
}
|
||||
services.RegisterCoreServices();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4,67 +4,66 @@ using Wino.Core.Domain.Entities.Calendar;
|
||||
using Wino.Core.Domain.Entities.Shared;
|
||||
using Wino.Core.Domain.Interfaces;
|
||||
|
||||
namespace Wino.Calendar.ViewModels.Data
|
||||
namespace Wino.Calendar.ViewModels.Data;
|
||||
|
||||
public partial class AccountCalendarViewModel : ObservableObject, IAccountCalendar
|
||||
{
|
||||
public partial class AccountCalendarViewModel : ObservableObject, IAccountCalendar
|
||||
public MailAccount Account { get; }
|
||||
public AccountCalendar AccountCalendar { get; }
|
||||
|
||||
public AccountCalendarViewModel(MailAccount account, AccountCalendar accountCalendar)
|
||||
{
|
||||
public MailAccount Account { get; }
|
||||
public AccountCalendar AccountCalendar { get; }
|
||||
Account = account;
|
||||
AccountCalendar = accountCalendar;
|
||||
|
||||
public AccountCalendarViewModel(MailAccount account, AccountCalendar accountCalendar)
|
||||
{
|
||||
Account = account;
|
||||
AccountCalendar = accountCalendar;
|
||||
|
||||
IsChecked = accountCalendar.IsExtended;
|
||||
}
|
||||
|
||||
[ObservableProperty]
|
||||
private bool _isChecked;
|
||||
|
||||
partial void OnIsCheckedChanged(bool value) => IsExtended = value;
|
||||
|
||||
public string Name
|
||||
{
|
||||
get => AccountCalendar.Name;
|
||||
set => SetProperty(AccountCalendar.Name, value, AccountCalendar, (u, n) => u.Name = n);
|
||||
}
|
||||
|
||||
public string TextColorHex
|
||||
{
|
||||
get => AccountCalendar.TextColorHex;
|
||||
set => SetProperty(AccountCalendar.TextColorHex, value, AccountCalendar, (u, t) => u.TextColorHex = t);
|
||||
}
|
||||
|
||||
public string BackgroundColorHex
|
||||
{
|
||||
get => AccountCalendar.BackgroundColorHex;
|
||||
set => SetProperty(AccountCalendar.BackgroundColorHex, value, AccountCalendar, (u, b) => u.BackgroundColorHex = b);
|
||||
}
|
||||
|
||||
public bool IsExtended
|
||||
{
|
||||
get => AccountCalendar.IsExtended;
|
||||
set => SetProperty(AccountCalendar.IsExtended, value, AccountCalendar, (u, i) => u.IsExtended = i);
|
||||
}
|
||||
|
||||
public bool IsPrimary
|
||||
{
|
||||
get => AccountCalendar.IsPrimary;
|
||||
set => SetProperty(AccountCalendar.IsPrimary, value, AccountCalendar, (u, i) => u.IsPrimary = i);
|
||||
}
|
||||
|
||||
public Guid AccountId
|
||||
{
|
||||
get => AccountCalendar.AccountId;
|
||||
set => SetProperty(AccountCalendar.AccountId, value, AccountCalendar, (u, a) => u.AccountId = a);
|
||||
}
|
||||
|
||||
public string RemoteCalendarId
|
||||
{
|
||||
get => AccountCalendar.RemoteCalendarId;
|
||||
set => SetProperty(AccountCalendar.RemoteCalendarId, value, AccountCalendar, (u, r) => u.RemoteCalendarId = r);
|
||||
}
|
||||
public Guid Id { get => ((IAccountCalendar)AccountCalendar).Id; set => ((IAccountCalendar)AccountCalendar).Id = value; }
|
||||
IsChecked = accountCalendar.IsExtended;
|
||||
}
|
||||
|
||||
[ObservableProperty]
|
||||
private bool _isChecked;
|
||||
|
||||
partial void OnIsCheckedChanged(bool value) => IsExtended = value;
|
||||
|
||||
public string Name
|
||||
{
|
||||
get => AccountCalendar.Name;
|
||||
set => SetProperty(AccountCalendar.Name, value, AccountCalendar, (u, n) => u.Name = n);
|
||||
}
|
||||
|
||||
public string TextColorHex
|
||||
{
|
||||
get => AccountCalendar.TextColorHex;
|
||||
set => SetProperty(AccountCalendar.TextColorHex, value, AccountCalendar, (u, t) => u.TextColorHex = t);
|
||||
}
|
||||
|
||||
public string BackgroundColorHex
|
||||
{
|
||||
get => AccountCalendar.BackgroundColorHex;
|
||||
set => SetProperty(AccountCalendar.BackgroundColorHex, value, AccountCalendar, (u, b) => u.BackgroundColorHex = b);
|
||||
}
|
||||
|
||||
public bool IsExtended
|
||||
{
|
||||
get => AccountCalendar.IsExtended;
|
||||
set => SetProperty(AccountCalendar.IsExtended, value, AccountCalendar, (u, i) => u.IsExtended = i);
|
||||
}
|
||||
|
||||
public bool IsPrimary
|
||||
{
|
||||
get => AccountCalendar.IsPrimary;
|
||||
set => SetProperty(AccountCalendar.IsPrimary, value, AccountCalendar, (u, i) => u.IsPrimary = i);
|
||||
}
|
||||
|
||||
public Guid AccountId
|
||||
{
|
||||
get => AccountCalendar.AccountId;
|
||||
set => SetProperty(AccountCalendar.AccountId, value, AccountCalendar, (u, a) => u.AccountId = a);
|
||||
}
|
||||
|
||||
public string RemoteCalendarId
|
||||
{
|
||||
get => AccountCalendar.RemoteCalendarId;
|
||||
set => SetProperty(AccountCalendar.RemoteCalendarId, value, AccountCalendar, (u, r) => u.RemoteCalendarId = r);
|
||||
}
|
||||
public Guid Id { get => ((IAccountCalendar)AccountCalendar).Id; set => ((IAccountCalendar)AccountCalendar).Id = value; }
|
||||
}
|
||||
|
||||
@@ -5,42 +5,41 @@ using Itenso.TimePeriod;
|
||||
using Wino.Core.Domain.Entities.Calendar;
|
||||
using Wino.Core.Domain.Interfaces;
|
||||
|
||||
namespace Wino.Calendar.ViewModels.Data
|
||||
namespace Wino.Calendar.ViewModels.Data;
|
||||
|
||||
public partial class CalendarItemViewModel : ObservableObject, ICalendarItem, ICalendarItemViewModel
|
||||
{
|
||||
public partial class CalendarItemViewModel : ObservableObject, ICalendarItem, ICalendarItemViewModel
|
||||
public CalendarItem CalendarItem { get; }
|
||||
|
||||
public string Title => CalendarItem.Title;
|
||||
|
||||
public Guid Id => CalendarItem.Id;
|
||||
|
||||
public IAccountCalendar AssignedCalendar => CalendarItem.AssignedCalendar;
|
||||
|
||||
public DateTime StartDate { get => CalendarItem.StartDate; set => CalendarItem.StartDate = value; }
|
||||
|
||||
public DateTime EndDate => CalendarItem.EndDate;
|
||||
|
||||
public double DurationInSeconds { get => CalendarItem.DurationInSeconds; set => CalendarItem.DurationInSeconds = value; }
|
||||
|
||||
public ITimePeriod Period => CalendarItem.Period;
|
||||
|
||||
public bool IsAllDayEvent => CalendarItem.IsAllDayEvent;
|
||||
public bool IsMultiDayEvent => CalendarItem.IsMultiDayEvent;
|
||||
public bool IsRecurringEvent => CalendarItem.IsRecurringEvent;
|
||||
public bool IsRecurringChild => CalendarItem.IsRecurringChild;
|
||||
public bool IsRecurringParent => CalendarItem.IsRecurringParent;
|
||||
|
||||
[ObservableProperty]
|
||||
private bool _isSelected;
|
||||
|
||||
public ObservableCollection<CalendarEventAttendee> Attendees { get; } = new ObservableCollection<CalendarEventAttendee>();
|
||||
|
||||
public CalendarItemViewModel(CalendarItem calendarItem)
|
||||
{
|
||||
public CalendarItem CalendarItem { get; }
|
||||
|
||||
public string Title => CalendarItem.Title;
|
||||
|
||||
public Guid Id => CalendarItem.Id;
|
||||
|
||||
public IAccountCalendar AssignedCalendar => CalendarItem.AssignedCalendar;
|
||||
|
||||
public DateTime StartDate { get => CalendarItem.StartDate; set => CalendarItem.StartDate = value; }
|
||||
|
||||
public DateTime EndDate => CalendarItem.EndDate;
|
||||
|
||||
public double DurationInSeconds { get => CalendarItem.DurationInSeconds; set => CalendarItem.DurationInSeconds = value; }
|
||||
|
||||
public ITimePeriod Period => CalendarItem.Period;
|
||||
|
||||
public bool IsAllDayEvent => CalendarItem.IsAllDayEvent;
|
||||
public bool IsMultiDayEvent => CalendarItem.IsMultiDayEvent;
|
||||
public bool IsRecurringEvent => CalendarItem.IsRecurringEvent;
|
||||
public bool IsRecurringChild => CalendarItem.IsRecurringChild;
|
||||
public bool IsRecurringParent => CalendarItem.IsRecurringParent;
|
||||
|
||||
[ObservableProperty]
|
||||
private bool _isSelected;
|
||||
|
||||
public ObservableCollection<CalendarEventAttendee> Attendees { get; } = new ObservableCollection<CalendarEventAttendee>();
|
||||
|
||||
public CalendarItemViewModel(CalendarItem calendarItem)
|
||||
{
|
||||
CalendarItem = calendarItem;
|
||||
}
|
||||
|
||||
public override string ToString() => CalendarItem.Title;
|
||||
CalendarItem = calendarItem;
|
||||
}
|
||||
|
||||
public override string ToString() => CalendarItem.Title;
|
||||
}
|
||||
|
||||
@@ -6,141 +6,140 @@ using System.Linq;
|
||||
using CommunityToolkit.Mvvm.ComponentModel;
|
||||
using Wino.Core.Domain.Entities.Shared;
|
||||
|
||||
namespace Wino.Calendar.ViewModels.Data
|
||||
namespace Wino.Calendar.ViewModels.Data;
|
||||
|
||||
public partial class GroupedAccountCalendarViewModel : ObservableObject
|
||||
{
|
||||
public partial class GroupedAccountCalendarViewModel : ObservableObject
|
||||
public event EventHandler CollectiveSelectionStateChanged;
|
||||
public event EventHandler<AccountCalendarViewModel> CalendarSelectionStateChanged;
|
||||
|
||||
public MailAccount Account { get; }
|
||||
public ObservableCollection<AccountCalendarViewModel> AccountCalendars { get; }
|
||||
|
||||
public GroupedAccountCalendarViewModel(MailAccount account, IEnumerable<AccountCalendarViewModel> calendarViewModels)
|
||||
{
|
||||
public event EventHandler CollectiveSelectionStateChanged;
|
||||
public event EventHandler<AccountCalendarViewModel> CalendarSelectionStateChanged;
|
||||
Account = account;
|
||||
AccountCalendars = new ObservableCollection<AccountCalendarViewModel>(calendarViewModels);
|
||||
|
||||
public MailAccount Account { get; }
|
||||
public ObservableCollection<AccountCalendarViewModel> AccountCalendars { get; }
|
||||
ManageIsCheckedState();
|
||||
|
||||
public GroupedAccountCalendarViewModel(MailAccount account, IEnumerable<AccountCalendarViewModel> calendarViewModels)
|
||||
foreach (var calendarViewModel in calendarViewModels)
|
||||
{
|
||||
Account = account;
|
||||
AccountCalendars = new ObservableCollection<AccountCalendarViewModel>(calendarViewModels);
|
||||
|
||||
ManageIsCheckedState();
|
||||
|
||||
foreach (var calendarViewModel in calendarViewModels)
|
||||
{
|
||||
calendarViewModel.PropertyChanged += CalendarPropertyChanged;
|
||||
}
|
||||
|
||||
AccountCalendars.CollectionChanged += CalendarListUpdated;
|
||||
calendarViewModel.PropertyChanged += CalendarPropertyChanged;
|
||||
}
|
||||
|
||||
private void CalendarListUpdated(object sender, System.Collections.Specialized.NotifyCollectionChangedEventArgs e)
|
||||
AccountCalendars.CollectionChanged += CalendarListUpdated;
|
||||
}
|
||||
|
||||
private void CalendarListUpdated(object sender, System.Collections.Specialized.NotifyCollectionChangedEventArgs e)
|
||||
{
|
||||
if (e.Action == NotifyCollectionChangedAction.Add)
|
||||
{
|
||||
if (e.Action == NotifyCollectionChangedAction.Add)
|
||||
foreach (AccountCalendarViewModel calendar in e.NewItems)
|
||||
{
|
||||
foreach (AccountCalendarViewModel calendar in e.NewItems)
|
||||
{
|
||||
calendar.PropertyChanged += CalendarPropertyChanged;
|
||||
}
|
||||
}
|
||||
else if (e.Action == NotifyCollectionChangedAction.Remove)
|
||||
{
|
||||
foreach (AccountCalendarViewModel calendar in e.OldItems)
|
||||
{
|
||||
calendar.PropertyChanged -= CalendarPropertyChanged;
|
||||
}
|
||||
}
|
||||
else if (e.Action == NotifyCollectionChangedAction.Reset)
|
||||
{
|
||||
foreach (AccountCalendarViewModel calendar in e.OldItems)
|
||||
{
|
||||
calendar.PropertyChanged -= CalendarPropertyChanged;
|
||||
}
|
||||
calendar.PropertyChanged += CalendarPropertyChanged;
|
||||
}
|
||||
}
|
||||
|
||||
private void CalendarPropertyChanged(object sender, System.ComponentModel.PropertyChangedEventArgs e)
|
||||
else if (e.Action == NotifyCollectionChangedAction.Remove)
|
||||
{
|
||||
if (sender is AccountCalendarViewModel viewModel)
|
||||
foreach (AccountCalendarViewModel calendar in e.OldItems)
|
||||
{
|
||||
if (e.PropertyName == nameof(AccountCalendarViewModel.IsChecked))
|
||||
{
|
||||
ManageIsCheckedState();
|
||||
UpdateCalendarCheckedState(viewModel, viewModel.IsChecked, true);
|
||||
}
|
||||
calendar.PropertyChanged -= CalendarPropertyChanged;
|
||||
}
|
||||
}
|
||||
|
||||
[ObservableProperty]
|
||||
private bool _isExpanded = true;
|
||||
|
||||
[ObservableProperty]
|
||||
private bool? isCheckedState = true;
|
||||
|
||||
private bool _isExternalPropChangeBlocked = false;
|
||||
|
||||
private void ManageIsCheckedState()
|
||||
else if (e.Action == NotifyCollectionChangedAction.Reset)
|
||||
{
|
||||
if (_isExternalPropChangeBlocked) return;
|
||||
|
||||
_isExternalPropChangeBlocked = true;
|
||||
|
||||
if (AccountCalendars.All(c => c.IsChecked))
|
||||
foreach (AccountCalendarViewModel calendar in e.OldItems)
|
||||
{
|
||||
IsCheckedState = true;
|
||||
calendar.PropertyChanged -= CalendarPropertyChanged;
|
||||
}
|
||||
else if (AccountCalendars.All(c => !c.IsChecked))
|
||||
{
|
||||
IsCheckedState = false;
|
||||
}
|
||||
else
|
||||
{
|
||||
IsCheckedState = null;
|
||||
}
|
||||
|
||||
_isExternalPropChangeBlocked = false;
|
||||
}
|
||||
|
||||
partial void OnIsCheckedStateChanged(bool? newValue)
|
||||
{
|
||||
if (_isExternalPropChangeBlocked) return;
|
||||
|
||||
// Update is triggered by user on the three-state checkbox.
|
||||
// We should not report all changes one by one.
|
||||
|
||||
_isExternalPropChangeBlocked = true;
|
||||
|
||||
if (newValue == null)
|
||||
{
|
||||
// Only primary calendars must be checked.
|
||||
|
||||
foreach (var calendar in AccountCalendars)
|
||||
{
|
||||
UpdateCalendarCheckedState(calendar, calendar.IsPrimary);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
foreach (var calendar in AccountCalendars)
|
||||
{
|
||||
UpdateCalendarCheckedState(calendar, newValue.GetValueOrDefault());
|
||||
}
|
||||
}
|
||||
|
||||
_isExternalPropChangeBlocked = false;
|
||||
|
||||
CollectiveSelectionStateChanged?.Invoke(this, EventArgs.Empty);
|
||||
}
|
||||
|
||||
private void UpdateCalendarCheckedState(AccountCalendarViewModel accountCalendarViewModel, bool newValue, bool ignoreValueCheck = false)
|
||||
{
|
||||
var currentValue = accountCalendarViewModel.IsChecked;
|
||||
|
||||
if (currentValue == newValue && !ignoreValueCheck) return;
|
||||
|
||||
accountCalendarViewModel.IsChecked = newValue;
|
||||
|
||||
// No need to report.
|
||||
if (_isExternalPropChangeBlocked == true) return;
|
||||
|
||||
CalendarSelectionStateChanged?.Invoke(this, accountCalendarViewModel);
|
||||
}
|
||||
}
|
||||
|
||||
private void CalendarPropertyChanged(object sender, System.ComponentModel.PropertyChangedEventArgs e)
|
||||
{
|
||||
if (sender is AccountCalendarViewModel viewModel)
|
||||
{
|
||||
if (e.PropertyName == nameof(AccountCalendarViewModel.IsChecked))
|
||||
{
|
||||
ManageIsCheckedState();
|
||||
UpdateCalendarCheckedState(viewModel, viewModel.IsChecked, true);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
[ObservableProperty]
|
||||
private bool _isExpanded = true;
|
||||
|
||||
[ObservableProperty]
|
||||
private bool? isCheckedState = true;
|
||||
|
||||
private bool _isExternalPropChangeBlocked = false;
|
||||
|
||||
private void ManageIsCheckedState()
|
||||
{
|
||||
if (_isExternalPropChangeBlocked) return;
|
||||
|
||||
_isExternalPropChangeBlocked = true;
|
||||
|
||||
if (AccountCalendars.All(c => c.IsChecked))
|
||||
{
|
||||
IsCheckedState = true;
|
||||
}
|
||||
else if (AccountCalendars.All(c => !c.IsChecked))
|
||||
{
|
||||
IsCheckedState = false;
|
||||
}
|
||||
else
|
||||
{
|
||||
IsCheckedState = null;
|
||||
}
|
||||
|
||||
_isExternalPropChangeBlocked = false;
|
||||
}
|
||||
|
||||
partial void OnIsCheckedStateChanged(bool? newValue)
|
||||
{
|
||||
if (_isExternalPropChangeBlocked) return;
|
||||
|
||||
// Update is triggered by user on the three-state checkbox.
|
||||
// We should not report all changes one by one.
|
||||
|
||||
_isExternalPropChangeBlocked = true;
|
||||
|
||||
if (newValue == null)
|
||||
{
|
||||
// Only primary calendars must be checked.
|
||||
|
||||
foreach (var calendar in AccountCalendars)
|
||||
{
|
||||
UpdateCalendarCheckedState(calendar, calendar.IsPrimary);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
foreach (var calendar in AccountCalendars)
|
||||
{
|
||||
UpdateCalendarCheckedState(calendar, newValue.GetValueOrDefault());
|
||||
}
|
||||
}
|
||||
|
||||
_isExternalPropChangeBlocked = false;
|
||||
|
||||
CollectiveSelectionStateChanged?.Invoke(this, EventArgs.Empty);
|
||||
}
|
||||
|
||||
private void UpdateCalendarCheckedState(AccountCalendarViewModel accountCalendarViewModel, bool newValue, bool ignoreValueCheck = false)
|
||||
{
|
||||
var currentValue = accountCalendarViewModel.IsChecked;
|
||||
|
||||
if (currentValue == newValue && !ignoreValueCheck) return;
|
||||
|
||||
accountCalendarViewModel.IsChecked = newValue;
|
||||
|
||||
// No need to report.
|
||||
if (_isExternalPropChangeBlocked == true) return;
|
||||
|
||||
CalendarSelectionStateChanged?.Invoke(this, accountCalendarViewModel);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -12,105 +12,104 @@ using Wino.Core.Domain.Models.Navigation;
|
||||
using Wino.Core.ViewModels;
|
||||
using Wino.Messaging.Client.Calendar;
|
||||
|
||||
namespace Wino.Calendar.ViewModels
|
||||
namespace Wino.Calendar.ViewModels;
|
||||
|
||||
public partial class EventDetailsPageViewModel : CalendarBaseViewModel
|
||||
{
|
||||
public partial class EventDetailsPageViewModel : CalendarBaseViewModel
|
||||
private readonly ICalendarService _calendarService;
|
||||
private readonly INativeAppService _nativeAppService;
|
||||
private readonly IPreferencesService _preferencesService;
|
||||
|
||||
public CalendarSettings CurrentSettings { get; }
|
||||
|
||||
#region Details
|
||||
|
||||
[ObservableProperty]
|
||||
[NotifyPropertyChangedFor(nameof(CanViewSeries))]
|
||||
private CalendarItemViewModel _currentEvent;
|
||||
|
||||
[ObservableProperty]
|
||||
private CalendarItemViewModel _seriesParent;
|
||||
|
||||
public bool CanViewSeries => CurrentEvent?.IsRecurringChild ?? false;
|
||||
|
||||
#endregion
|
||||
|
||||
public EventDetailsPageViewModel(ICalendarService calendarService, INativeAppService nativeAppService, IPreferencesService preferencesService)
|
||||
{
|
||||
private readonly ICalendarService _calendarService;
|
||||
private readonly INativeAppService _nativeAppService;
|
||||
private readonly IPreferencesService _preferencesService;
|
||||
_calendarService = calendarService;
|
||||
_nativeAppService = nativeAppService;
|
||||
_preferencesService = preferencesService;
|
||||
|
||||
public CalendarSettings CurrentSettings { get; }
|
||||
CurrentSettings = _preferencesService.GetCurrentCalendarSettings();
|
||||
}
|
||||
|
||||
#region Details
|
||||
public override async void OnNavigatedTo(NavigationMode mode, object parameters)
|
||||
{
|
||||
base.OnNavigatedTo(mode, parameters);
|
||||
|
||||
[ObservableProperty]
|
||||
[NotifyPropertyChangedFor(nameof(CanViewSeries))]
|
||||
private CalendarItemViewModel _currentEvent;
|
||||
Messenger.Send(new DetailsPageStateChangedMessage(true));
|
||||
|
||||
[ObservableProperty]
|
||||
private CalendarItemViewModel _seriesParent;
|
||||
if (parameters == null || parameters is not CalendarItemTarget args)
|
||||
return;
|
||||
|
||||
public bool CanViewSeries => CurrentEvent?.IsRecurringChild ?? false;
|
||||
await LoadCalendarItemTargetAsync(args);
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
public EventDetailsPageViewModel(ICalendarService calendarService, INativeAppService nativeAppService, IPreferencesService preferencesService)
|
||||
private async Task LoadCalendarItemTargetAsync(CalendarItemTarget target)
|
||||
{
|
||||
try
|
||||
{
|
||||
_calendarService = calendarService;
|
||||
_nativeAppService = nativeAppService;
|
||||
_preferencesService = preferencesService;
|
||||
var currentEventItem = await _calendarService.GetCalendarItemTargetAsync(target);
|
||||
|
||||
CurrentSettings = _preferencesService.GetCurrentCalendarSettings();
|
||||
}
|
||||
|
||||
public override async void OnNavigatedTo(NavigationMode mode, object parameters)
|
||||
{
|
||||
base.OnNavigatedTo(mode, parameters);
|
||||
|
||||
Messenger.Send(new DetailsPageStateChangedMessage(true));
|
||||
|
||||
if (parameters == null || parameters is not CalendarItemTarget args)
|
||||
if (currentEventItem == null)
|
||||
return;
|
||||
|
||||
await LoadCalendarItemTargetAsync(args);
|
||||
}
|
||||
CurrentEvent = new CalendarItemViewModel(currentEventItem);
|
||||
|
||||
private async Task LoadCalendarItemTargetAsync(CalendarItemTarget target)
|
||||
{
|
||||
try
|
||||
var attendees = await _calendarService.GetAttendeesAsync(currentEventItem.EventTrackingId);
|
||||
|
||||
foreach (var item in attendees)
|
||||
{
|
||||
var currentEventItem = await _calendarService.GetCalendarItemTargetAsync(target);
|
||||
|
||||
if (currentEventItem == null)
|
||||
return;
|
||||
|
||||
CurrentEvent = new CalendarItemViewModel(currentEventItem);
|
||||
|
||||
var attendees = await _calendarService.GetAttendeesAsync(currentEventItem.EventTrackingId);
|
||||
|
||||
foreach (var item in attendees)
|
||||
{
|
||||
CurrentEvent.Attendees.Add(item);
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
Debug.WriteLine(ex.Message);
|
||||
CurrentEvent.Attendees.Add(item);
|
||||
}
|
||||
}
|
||||
|
||||
public override void OnNavigatedFrom(NavigationMode mode, object parameters)
|
||||
catch (Exception ex)
|
||||
{
|
||||
base.OnNavigatedFrom(mode, parameters);
|
||||
|
||||
Messenger.Send(new DetailsPageStateChangedMessage(false));
|
||||
}
|
||||
|
||||
[RelayCommand]
|
||||
private async Task SaveAsync()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
[RelayCommand]
|
||||
private async Task DeleteAsync()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
[RelayCommand]
|
||||
private Task JoinOnline()
|
||||
{
|
||||
if (CurrentEvent == null || string.IsNullOrEmpty(CurrentEvent.CalendarItem.HtmlLink)) return Task.CompletedTask;
|
||||
|
||||
return _nativeAppService.LaunchUriAsync(new Uri(CurrentEvent.CalendarItem.HtmlLink));
|
||||
}
|
||||
|
||||
[RelayCommand]
|
||||
private async Task Respond(CalendarItemStatus status)
|
||||
{
|
||||
if (CurrentEvent == null) return;
|
||||
Debug.WriteLine(ex.Message);
|
||||
}
|
||||
}
|
||||
|
||||
public override void OnNavigatedFrom(NavigationMode mode, object parameters)
|
||||
{
|
||||
base.OnNavigatedFrom(mode, parameters);
|
||||
|
||||
Messenger.Send(new DetailsPageStateChangedMessage(false));
|
||||
}
|
||||
|
||||
[RelayCommand]
|
||||
private async Task SaveAsync()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
[RelayCommand]
|
||||
private async Task DeleteAsync()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
[RelayCommand]
|
||||
private Task JoinOnline()
|
||||
{
|
||||
if (CurrentEvent == null || string.IsNullOrEmpty(CurrentEvent.CalendarItem.HtmlLink)) return Task.CompletedTask;
|
||||
|
||||
return _nativeAppService.LaunchUriAsync(new Uri(CurrentEvent.CalendarItem.HtmlLink));
|
||||
}
|
||||
|
||||
[RelayCommand]
|
||||
private async Task Respond(CalendarItemStatus status)
|
||||
{
|
||||
if (CurrentEvent == null) return;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -6,26 +6,25 @@ using System.Linq;
|
||||
using Wino.Calendar.ViewModels.Data;
|
||||
using Wino.Core.Domain.Entities.Shared;
|
||||
|
||||
namespace Wino.Calendar.ViewModels.Interfaces
|
||||
namespace Wino.Calendar.ViewModels.Interfaces;
|
||||
|
||||
public interface IAccountCalendarStateService : INotifyPropertyChanged
|
||||
{
|
||||
public interface IAccountCalendarStateService : INotifyPropertyChanged
|
||||
{
|
||||
ReadOnlyObservableCollection<GroupedAccountCalendarViewModel> GroupedAccountCalendars { get; }
|
||||
ReadOnlyObservableCollection<GroupedAccountCalendarViewModel> GroupedAccountCalendars { get; }
|
||||
|
||||
event EventHandler<GroupedAccountCalendarViewModel> CollectiveAccountGroupSelectionStateChanged;
|
||||
event EventHandler<AccountCalendarViewModel> AccountCalendarSelectionStateChanged;
|
||||
event EventHandler<GroupedAccountCalendarViewModel> CollectiveAccountGroupSelectionStateChanged;
|
||||
event EventHandler<AccountCalendarViewModel> AccountCalendarSelectionStateChanged;
|
||||
|
||||
public void AddGroupedAccountCalendar(GroupedAccountCalendarViewModel groupedAccountCalendar);
|
||||
public void RemoveGroupedAccountCalendar(GroupedAccountCalendarViewModel groupedAccountCalendar);
|
||||
public void ClearGroupedAccountCalendar();
|
||||
public void AddGroupedAccountCalendar(GroupedAccountCalendarViewModel groupedAccountCalendar);
|
||||
public void RemoveGroupedAccountCalendar(GroupedAccountCalendarViewModel groupedAccountCalendar);
|
||||
public void ClearGroupedAccountCalendar();
|
||||
|
||||
public void AddAccountCalendar(AccountCalendarViewModel accountCalendar);
|
||||
public void RemoveAccountCalendar(AccountCalendarViewModel accountCalendar);
|
||||
public void AddAccountCalendar(AccountCalendarViewModel accountCalendar);
|
||||
public void RemoveAccountCalendar(AccountCalendarViewModel accountCalendar);
|
||||
|
||||
/// <summary>
|
||||
/// Enumeration of currently selected calendars.
|
||||
/// </summary>
|
||||
IEnumerable<AccountCalendarViewModel> ActiveCalendars { get; }
|
||||
IEnumerable<IGrouping<MailAccount, AccountCalendarViewModel>> GroupedAccountCalendarsEnumerable { get; }
|
||||
}
|
||||
/// <summary>
|
||||
/// Enumeration of currently selected calendars.
|
||||
/// </summary>
|
||||
IEnumerable<AccountCalendarViewModel> ActiveCalendars { get; }
|
||||
IEnumerable<IGrouping<MailAccount, AccountCalendarViewModel>> GroupedAccountCalendarsEnumerable { get; }
|
||||
}
|
||||
|
||||
@@ -1,14 +1,13 @@
|
||||
using Wino.Calendar.ViewModels.Data;
|
||||
|
||||
namespace Wino.Calendar.ViewModels.Messages
|
||||
{
|
||||
public class CalendarItemDoubleTappedMessage
|
||||
{
|
||||
public CalendarItemDoubleTappedMessage(CalendarItemViewModel calendarItemViewModel)
|
||||
{
|
||||
CalendarItemViewModel = calendarItemViewModel;
|
||||
}
|
||||
namespace Wino.Calendar.ViewModels.Messages;
|
||||
|
||||
public CalendarItemViewModel CalendarItemViewModel { get; }
|
||||
public class CalendarItemDoubleTappedMessage
|
||||
{
|
||||
public CalendarItemDoubleTappedMessage(CalendarItemViewModel calendarItemViewModel)
|
||||
{
|
||||
CalendarItemViewModel = calendarItemViewModel;
|
||||
}
|
||||
|
||||
public CalendarItemViewModel CalendarItemViewModel { get; }
|
||||
}
|
||||
|
||||
@@ -1,14 +1,13 @@
|
||||
using Wino.Calendar.ViewModels.Data;
|
||||
|
||||
namespace Wino.Calendar.ViewModels.Messages
|
||||
{
|
||||
public class CalendarItemRightTappedMessage
|
||||
{
|
||||
public CalendarItemRightTappedMessage(CalendarItemViewModel calendarItemViewModel)
|
||||
{
|
||||
CalendarItemViewModel = calendarItemViewModel;
|
||||
}
|
||||
namespace Wino.Calendar.ViewModels.Messages;
|
||||
|
||||
public CalendarItemViewModel CalendarItemViewModel { get; }
|
||||
public class CalendarItemRightTappedMessage
|
||||
{
|
||||
public CalendarItemRightTappedMessage(CalendarItemViewModel calendarItemViewModel)
|
||||
{
|
||||
CalendarItemViewModel = calendarItemViewModel;
|
||||
}
|
||||
|
||||
public CalendarItemViewModel CalendarItemViewModel { get; }
|
||||
}
|
||||
|
||||
@@ -1,17 +1,16 @@
|
||||
using Wino.Calendar.ViewModels.Data;
|
||||
using Wino.Core.Domain.Models.Calendar;
|
||||
|
||||
namespace Wino.Calendar.ViewModels.Messages
|
||||
{
|
||||
public class CalendarItemTappedMessage
|
||||
{
|
||||
public CalendarItemTappedMessage(CalendarItemViewModel calendarItemViewModel, CalendarDayModel clickedPeriod)
|
||||
{
|
||||
CalendarItemViewModel = calendarItemViewModel;
|
||||
ClickedPeriod = clickedPeriod;
|
||||
}
|
||||
namespace Wino.Calendar.ViewModels.Messages;
|
||||
|
||||
public CalendarItemViewModel CalendarItemViewModel { get; }
|
||||
public CalendarDayModel ClickedPeriod { get; }
|
||||
public class CalendarItemTappedMessage
|
||||
{
|
||||
public CalendarItemTappedMessage(CalendarItemViewModel calendarItemViewModel, CalendarDayModel clickedPeriod)
|
||||
{
|
||||
CalendarItemViewModel = calendarItemViewModel;
|
||||
ClickedPeriod = clickedPeriod;
|
||||
}
|
||||
|
||||
public CalendarItemViewModel CalendarItemViewModel { get; }
|
||||
public CalendarDayModel ClickedPeriod { get; }
|
||||
}
|
||||
|
||||
@@ -1,15 +1,13 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFramework>netstandard2.0</TargetFramework>
|
||||
<LangVersion>12</LangVersion>
|
||||
<Platforms>AnyCPU;x64;x86</Platforms>
|
||||
<TargetFramework>net9.0</TargetFramework>
|
||||
<Platforms>x86;x64;arm64</Platforms>
|
||||
<RuntimeIdentifiers>win-x86;win-x64;win-arm64</RuntimeIdentifiers>
|
||||
<AccelerateBuildsInVisualStudio>true</AccelerateBuildsInVisualStudio>
|
||||
<ProduceReferenceAssembly>true</ProduceReferenceAssembly>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="TimePeriodLibrary.NET" Version="2.1.5" />
|
||||
<PackageReference Include="TimePeriodLibrary.NET" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
|
||||
@@ -6,19 +6,18 @@ using Windows.UI.Xaml.Media.Animation;
|
||||
using Wino.Activation;
|
||||
using Wino.Calendar.Views;
|
||||
|
||||
namespace Wino.Calendar.Activation
|
||||
namespace Wino.Calendar.Activation;
|
||||
|
||||
public class DefaultActivationHandler : ActivationHandler<IActivatedEventArgs>
|
||||
{
|
||||
public class DefaultActivationHandler : ActivationHandler<IActivatedEventArgs>
|
||||
protected override Task HandleInternalAsync(IActivatedEventArgs args)
|
||||
{
|
||||
protected override Task HandleInternalAsync(IActivatedEventArgs args)
|
||||
{
|
||||
(Window.Current.Content as Frame).Navigate(typeof(AppShell), null, new DrillInNavigationTransitionInfo());
|
||||
(Window.Current.Content as Frame).Navigate(typeof(AppShell), null, new DrillInNavigationTransitionInfo());
|
||||
|
||||
return Task.CompletedTask;
|
||||
}
|
||||
|
||||
// Only navigate if Frame content doesn't exist.
|
||||
protected override bool CanHandleInternal(IActivatedEventArgs args)
|
||||
=> (Window.Current?.Content as Frame)?.Content == null;
|
||||
return Task.CompletedTask;
|
||||
}
|
||||
|
||||
// Only navigate if Frame content doesn't exist.
|
||||
protected override bool CanHandleInternal(IActivatedEventArgs args)
|
||||
=> (Window.Current?.Content as Frame)?.Content == null;
|
||||
}
|
||||
|
||||
@@ -24,141 +24,136 @@ using Wino.Messaging.Client.Connection;
|
||||
using Wino.Messaging.Server;
|
||||
using Wino.Services;
|
||||
|
||||
namespace Wino.Calendar
|
||||
namespace Wino.Calendar;
|
||||
|
||||
public sealed partial class App : WinoApplication, IRecipient<NewCalendarSynchronizationRequested>
|
||||
{
|
||||
public sealed partial class App : WinoApplication, IRecipient<NewCalendarSynchronizationRequested>
|
||||
private BackgroundTaskDeferral connectionBackgroundTaskDeferral;
|
||||
|
||||
public App()
|
||||
{
|
||||
public override string AppCenterKey => "dfdad6ab-95f9-44cc-9112-45ec6730c49e";
|
||||
InitializeComponent();
|
||||
WeakReferenceMessenger.Default.Register<NewCalendarSynchronizationRequested>(this);
|
||||
}
|
||||
|
||||
private BackgroundTaskDeferral connectionBackgroundTaskDeferral;
|
||||
private BackgroundTaskDeferral toastActionBackgroundTaskDeferral;
|
||||
public override IServiceProvider ConfigureServices()
|
||||
{
|
||||
var services = new ServiceCollection();
|
||||
|
||||
public App()
|
||||
services.RegisterSharedServices();
|
||||
services.RegisterCalendarViewModelServices();
|
||||
services.RegisterCoreUWPServices();
|
||||
services.RegisterCoreViewModels();
|
||||
|
||||
RegisterUWPServices(services);
|
||||
RegisterViewModels(services);
|
||||
RegisterActivationHandlers(services);
|
||||
|
||||
return services.BuildServiceProvider();
|
||||
}
|
||||
|
||||
#region Dependency Injection
|
||||
|
||||
private void RegisterActivationHandlers(IServiceCollection services)
|
||||
{
|
||||
//services.AddTransient<ProtocolActivationHandler>();
|
||||
//services.AddTransient<ToastNotificationActivationHandler>();
|
||||
//services.AddTransient<FileActivationHandler>();
|
||||
}
|
||||
|
||||
private void RegisterUWPServices(IServiceCollection services)
|
||||
{
|
||||
services.AddSingleton<INavigationService, NavigationService>();
|
||||
services.AddSingleton<ICalendarDialogService, DialogService>();
|
||||
services.AddTransient<ISettingsBuilderService, SettingsBuilderService>();
|
||||
services.AddTransient<IProviderService, ProviderService>();
|
||||
services.AddSingleton<IAuthenticatorConfig, CalendarAuthenticatorConfig>();
|
||||
services.AddSingleton<IAccountCalendarStateService, AccountCalendarStateService>();
|
||||
}
|
||||
|
||||
private void RegisterViewModels(IServiceCollection services)
|
||||
{
|
||||
services.AddSingleton(typeof(AppShellViewModel));
|
||||
services.AddSingleton(typeof(CalendarPageViewModel));
|
||||
services.AddTransient(typeof(CalendarSettingsPageViewModel));
|
||||
services.AddTransient(typeof(AccountManagementViewModel));
|
||||
services.AddTransient(typeof(PersonalizationPageViewModel));
|
||||
services.AddTransient(typeof(AccountDetailsPageViewModel));
|
||||
services.AddTransient(typeof(EventDetailsPageViewModel));
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
protected override void OnApplicationCloseRequested(object sender, SystemNavigationCloseRequestedPreviewEventArgs e)
|
||||
{
|
||||
// TODO: Check server running.
|
||||
}
|
||||
|
||||
protected override async void OnLaunched(LaunchActivatedEventArgs args)
|
||||
{
|
||||
LogActivation($"OnLaunched -> {args.GetType().Name}, Kind -> {args.Kind}, PreviousExecutionState -> {args.PreviousExecutionState}, IsPrelaunch -> {args.PrelaunchActivated}");
|
||||
|
||||
if (!args.PrelaunchActivated)
|
||||
{
|
||||
InitializeComponent();
|
||||
|
||||
WeakReferenceMessenger.Default.Register(this);
|
||||
await ActivateWinoAsync(args);
|
||||
}
|
||||
}
|
||||
|
||||
public override IServiceProvider ConfigureServices()
|
||||
protected override IEnumerable<ActivationHandler> GetActivationHandlers()
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
protected override ActivationHandler<IActivatedEventArgs> GetDefaultActivationHandler()
|
||||
=> new DefaultActivationHandler();
|
||||
|
||||
protected override void OnBackgroundActivated(BackgroundActivatedEventArgs args)
|
||||
{
|
||||
base.OnBackgroundActivated(args);
|
||||
|
||||
if (args.TaskInstance.TriggerDetails is AppServiceTriggerDetails appServiceTriggerDetails)
|
||||
{
|
||||
var services = new ServiceCollection();
|
||||
LogActivation("OnBackgroundActivated -> AppServiceTriggerDetails received.");
|
||||
|
||||
services.RegisterSharedServices();
|
||||
services.RegisterCalendarViewModelServices();
|
||||
services.RegisterCoreUWPServices();
|
||||
services.RegisterCoreViewModels();
|
||||
|
||||
RegisterUWPServices(services);
|
||||
RegisterViewModels(services);
|
||||
RegisterActivationHandlers(services);
|
||||
|
||||
return services.BuildServiceProvider();
|
||||
}
|
||||
|
||||
#region Dependency Injection
|
||||
|
||||
private void RegisterActivationHandlers(IServiceCollection services)
|
||||
{
|
||||
//services.AddTransient<ProtocolActivationHandler>();
|
||||
//services.AddTransient<ToastNotificationActivationHandler>();
|
||||
//services.AddTransient<FileActivationHandler>();
|
||||
}
|
||||
|
||||
private void RegisterUWPServices(IServiceCollection services)
|
||||
{
|
||||
services.AddSingleton<INavigationService, NavigationService>();
|
||||
services.AddSingleton<ICalendarDialogService, DialogService>();
|
||||
services.AddTransient<ISettingsBuilderService, SettingsBuilderService>();
|
||||
services.AddTransient<IProviderService, ProviderService>();
|
||||
services.AddSingleton<IAuthenticatorConfig, CalendarAuthenticatorConfig>();
|
||||
services.AddSingleton<IAccountCalendarStateService, AccountCalendarStateService>();
|
||||
}
|
||||
|
||||
private void RegisterViewModels(IServiceCollection services)
|
||||
{
|
||||
services.AddSingleton(typeof(AppShellViewModel));
|
||||
services.AddSingleton(typeof(CalendarPageViewModel));
|
||||
services.AddTransient(typeof(CalendarSettingsPageViewModel));
|
||||
services.AddTransient(typeof(AccountManagementViewModel));
|
||||
services.AddTransient(typeof(PersonalizationPageViewModel));
|
||||
services.AddTransient(typeof(AccountDetailsPageViewModel));
|
||||
services.AddTransient(typeof(EventDetailsPageViewModel));
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
protected override void OnApplicationCloseRequested(object sender, SystemNavigationCloseRequestedPreviewEventArgs e)
|
||||
{
|
||||
// TODO: Check server running.
|
||||
}
|
||||
|
||||
protected override async void OnLaunched(LaunchActivatedEventArgs args)
|
||||
{
|
||||
LogActivation($"OnLaunched -> {args.GetType().Name}, Kind -> {args.Kind}, PreviousExecutionState -> {args.PreviousExecutionState}, IsPrelaunch -> {args.PrelaunchActivated}");
|
||||
|
||||
if (!args.PrelaunchActivated)
|
||||
// Only accept connections from callers in the same package
|
||||
if (appServiceTriggerDetails.CallerPackageFamilyName == Package.Current.Id.FamilyName)
|
||||
{
|
||||
await ActivateWinoAsync(args);
|
||||
}
|
||||
}
|
||||
// Connection established from the fulltrust process
|
||||
|
||||
protected override IEnumerable<ActivationHandler> GetActivationHandlers()
|
||||
{
|
||||
return null;
|
||||
}
|
||||
connectionBackgroundTaskDeferral = args.TaskInstance.GetDeferral();
|
||||
args.TaskInstance.Canceled += OnConnectionBackgroundTaskCanceled;
|
||||
|
||||
protected override ActivationHandler<IActivatedEventArgs> GetDefaultActivationHandler()
|
||||
=> new DefaultActivationHandler();
|
||||
AppServiceConnectionManager.Connection = appServiceTriggerDetails.AppServiceConnection;
|
||||
|
||||
protected override void OnBackgroundActivated(BackgroundActivatedEventArgs args)
|
||||
{
|
||||
base.OnBackgroundActivated(args);
|
||||
|
||||
if (args.TaskInstance.TriggerDetails is AppServiceTriggerDetails appServiceTriggerDetails)
|
||||
{
|
||||
LogActivation("OnBackgroundActivated -> AppServiceTriggerDetails received.");
|
||||
|
||||
// Only accept connections from callers in the same package
|
||||
if (appServiceTriggerDetails.CallerPackageFamilyName == Package.Current.Id.FamilyName)
|
||||
{
|
||||
// Connection established from the fulltrust process
|
||||
|
||||
connectionBackgroundTaskDeferral = args.TaskInstance.GetDeferral();
|
||||
args.TaskInstance.Canceled += OnConnectionBackgroundTaskCanceled;
|
||||
|
||||
AppServiceConnectionManager.Connection = appServiceTriggerDetails.AppServiceConnection;
|
||||
|
||||
WeakReferenceMessenger.Default.Send(new WinoServerConnectionEstablished());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public void OnConnectionBackgroundTaskCanceled(IBackgroundTaskInstance sender, BackgroundTaskCancellationReason reason)
|
||||
{
|
||||
sender.Canceled -= OnConnectionBackgroundTaskCanceled;
|
||||
|
||||
Log.Information($"Server connection background task was canceled. Reason: {reason}");
|
||||
|
||||
connectionBackgroundTaskDeferral?.Complete();
|
||||
connectionBackgroundTaskDeferral = null;
|
||||
|
||||
AppServiceConnectionManager.Connection = null;
|
||||
}
|
||||
|
||||
public async void Receive(NewCalendarSynchronizationRequested message)
|
||||
{
|
||||
try
|
||||
{
|
||||
var synchronizationResultResponse = await AppServiceConnectionManager.GetResponseAsync<CalendarSynchronizationResult, NewCalendarSynchronizationRequested>(message);
|
||||
synchronizationResultResponse.ThrowIfFailed();
|
||||
}
|
||||
catch (WinoServerException serverException)
|
||||
{
|
||||
var dialogService = Services.GetService<ICalendarDialogService>();
|
||||
|
||||
dialogService.InfoBarMessage(Translator.Info_SyncFailedTitle, serverException.Message, InfoBarMessageType.Error);
|
||||
WeakReferenceMessenger.Default.Send(new WinoServerConnectionEstablished());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public void OnConnectionBackgroundTaskCanceled(IBackgroundTaskInstance sender, BackgroundTaskCancellationReason reason)
|
||||
{
|
||||
sender.Canceled -= OnConnectionBackgroundTaskCanceled;
|
||||
|
||||
Log.Information($"Server connection background task was canceled. Reason: {reason}");
|
||||
|
||||
connectionBackgroundTaskDeferral?.Complete();
|
||||
connectionBackgroundTaskDeferral = null;
|
||||
|
||||
AppServiceConnectionManager.Connection = null;
|
||||
}
|
||||
|
||||
public async void Receive(NewCalendarSynchronizationRequested message)
|
||||
{
|
||||
try
|
||||
{
|
||||
var synchronizationResultResponse = await AppServiceConnectionManager.GetResponseAsync<CalendarSynchronizationResult, NewCalendarSynchronizationRequested>(message);
|
||||
synchronizationResultResponse.ThrowIfFailed();
|
||||
}
|
||||
catch (WinoServerException serverException)
|
||||
{
|
||||
var dialogService = Services.GetService<ICalendarDialogService>();
|
||||
|
||||
dialogService.InfoBarMessage(Translator.Info_SyncFailedTitle, serverException.Message, InfoBarMessageType.Error);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,41 +1,40 @@
|
||||
using System;
|
||||
using Windows.Foundation;
|
||||
|
||||
namespace Wino.Calendar.Args
|
||||
namespace Wino.Calendar.Args;
|
||||
|
||||
/// <summary>
|
||||
/// When a new timeline cell is selected.
|
||||
/// </summary>
|
||||
public class TimelineCellSelectedArgs : EventArgs
|
||||
{
|
||||
/// <summary>
|
||||
/// When a new timeline cell is selected.
|
||||
/// </summary>
|
||||
public class TimelineCellSelectedArgs : EventArgs
|
||||
public TimelineCellSelectedArgs(DateTime clickedDate, Point canvasPoint, Point positionerPoint, Size cellSize)
|
||||
{
|
||||
public TimelineCellSelectedArgs(DateTime clickedDate, Point canvasPoint, Point positionerPoint, Size cellSize)
|
||||
{
|
||||
ClickedDate = clickedDate;
|
||||
CanvasPoint = canvasPoint;
|
||||
PositionerPoint = positionerPoint;
|
||||
CellSize = cellSize;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Clicked date and time information for the cell.
|
||||
/// </summary>
|
||||
public DateTime ClickedDate { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Position relative to the cell drawing part of the canvas.
|
||||
/// Used to detect clicked cell from the position.
|
||||
/// </summary>
|
||||
public Point CanvasPoint { get; }
|
||||
|
||||
/// <summary>
|
||||
/// Position relative to the main root positioner element of the drawing canvas.
|
||||
/// Used to show the create event dialog teaching tip in correct position.
|
||||
/// </summary>
|
||||
public Point PositionerPoint { get; }
|
||||
|
||||
/// <summary>
|
||||
/// Size of the cell.
|
||||
/// </summary>
|
||||
public Size CellSize { get; }
|
||||
ClickedDate = clickedDate;
|
||||
CanvasPoint = canvasPoint;
|
||||
PositionerPoint = positionerPoint;
|
||||
CellSize = cellSize;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Clicked date and time information for the cell.
|
||||
/// </summary>
|
||||
public DateTime ClickedDate { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Position relative to the cell drawing part of the canvas.
|
||||
/// Used to detect clicked cell from the position.
|
||||
/// </summary>
|
||||
public Point CanvasPoint { get; }
|
||||
|
||||
/// <summary>
|
||||
/// Position relative to the main root positioner element of the drawing canvas.
|
||||
/// Used to show the create event dialog teaching tip in correct position.
|
||||
/// </summary>
|
||||
public Point PositionerPoint { get; }
|
||||
|
||||
/// <summary>
|
||||
/// Size of the cell.
|
||||
/// </summary>
|
||||
public Size CellSize { get; }
|
||||
}
|
||||
|
||||
@@ -1,9 +1,8 @@
|
||||
using System;
|
||||
|
||||
namespace Wino.Calendar.Args
|
||||
{
|
||||
/// <summary>
|
||||
/// When selected timeline cell is unselected.
|
||||
/// </summary>
|
||||
public class TimelineCellUnselectedArgs : EventArgs { }
|
||||
}
|
||||
namespace Wino.Calendar.Args;
|
||||
|
||||
/// <summary>
|
||||
/// When selected timeline cell is unselected.
|
||||
/// </summary>
|
||||
public class TimelineCellUnselectedArgs : EventArgs { }
|
||||
|
||||
@@ -2,30 +2,29 @@
|
||||
using Windows.UI.Xaml;
|
||||
using Wino.Calendar.ViewModels.Data;
|
||||
|
||||
namespace Wino.Calendar.Controls
|
||||
namespace Wino.Calendar.Controls;
|
||||
|
||||
public partial class CalendarItemCommandBarFlyout : CommandBarFlyout
|
||||
{
|
||||
public class CalendarItemCommandBarFlyout : CommandBarFlyout
|
||||
public static readonly DependencyProperty ItemProperty = DependencyProperty.Register(nameof(Item), typeof(CalendarItemViewModel), typeof(CalendarItemCommandBarFlyout), new PropertyMetadata(null, new PropertyChangedCallback(OnItemChanged)));
|
||||
|
||||
public CalendarItemViewModel Item
|
||||
{
|
||||
public static readonly DependencyProperty ItemProperty = DependencyProperty.Register(nameof(Item), typeof(CalendarItemViewModel), typeof(CalendarItemCommandBarFlyout), new PropertyMetadata(null, new PropertyChangedCallback(OnItemChanged)));
|
||||
get { return (CalendarItemViewModel)GetValue(ItemProperty); }
|
||||
set { SetValue(ItemProperty, value); }
|
||||
}
|
||||
|
||||
public CalendarItemViewModel Item
|
||||
|
||||
private static void OnItemChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
|
||||
{
|
||||
if (d is CalendarItemCommandBarFlyout flyout)
|
||||
{
|
||||
get { return (CalendarItemViewModel)GetValue(ItemProperty); }
|
||||
set { SetValue(ItemProperty, value); }
|
||||
}
|
||||
|
||||
|
||||
private static void OnItemChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
|
||||
{
|
||||
if (d is CalendarItemCommandBarFlyout flyout)
|
||||
{
|
||||
flyout.UpdateMenuItems();
|
||||
}
|
||||
}
|
||||
|
||||
private void UpdateMenuItems()
|
||||
{
|
||||
|
||||
flyout.UpdateMenuItems();
|
||||
}
|
||||
}
|
||||
|
||||
private void UpdateMenuItems()
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -9,190 +9,189 @@ using Wino.Calendar.ViewModels.Messages;
|
||||
using Wino.Core.Domain;
|
||||
using Wino.Core.Domain.Models.Calendar;
|
||||
|
||||
namespace Wino.Calendar.Controls
|
||||
namespace Wino.Calendar.Controls;
|
||||
|
||||
public sealed partial class CalendarItemControl : UserControl
|
||||
{
|
||||
public sealed partial class CalendarItemControl : UserControl
|
||||
// Single tap has a delay to report double taps properly.
|
||||
private bool isSingleTap = false;
|
||||
|
||||
public static readonly DependencyProperty CalendarItemProperty = DependencyProperty.Register(nameof(CalendarItem), typeof(CalendarItemViewModel), typeof(CalendarItemControl), new PropertyMetadata(null, new PropertyChangedCallback(OnCalendarItemChanged)));
|
||||
public static readonly DependencyProperty IsDraggingProperty = DependencyProperty.Register(nameof(IsDragging), typeof(bool), typeof(CalendarItemControl), new PropertyMetadata(false));
|
||||
public static readonly DependencyProperty IsCustomEventAreaProperty = DependencyProperty.Register(nameof(IsCustomEventArea), typeof(bool), typeof(CalendarItemControl), new PropertyMetadata(false));
|
||||
public static readonly DependencyProperty CalendarItemTitleProperty = DependencyProperty.Register(nameof(CalendarItemTitle), typeof(string), typeof(CalendarItemControl), new PropertyMetadata(string.Empty));
|
||||
public static readonly DependencyProperty DisplayingDateProperty = DependencyProperty.Register(nameof(DisplayingDate), typeof(CalendarDayModel), typeof(CalendarItemControl), new PropertyMetadata(null, new PropertyChangedCallback(OnDisplayDateChanged)));
|
||||
|
||||
/// <summary>
|
||||
/// Whether the control is displaying as regular event or all-multi day area in the day control.
|
||||
/// </summary>
|
||||
public bool IsCustomEventArea
|
||||
{
|
||||
// Single tap has a delay to report double taps properly.
|
||||
private bool isSingleTap = false;
|
||||
get { return (bool)GetValue(IsCustomEventAreaProperty); }
|
||||
set { SetValue(IsCustomEventAreaProperty, value); }
|
||||
}
|
||||
|
||||
public static readonly DependencyProperty CalendarItemProperty = DependencyProperty.Register(nameof(CalendarItem), typeof(CalendarItemViewModel), typeof(CalendarItemControl), new PropertyMetadata(null, new PropertyChangedCallback(OnCalendarItemChanged)));
|
||||
public static readonly DependencyProperty IsDraggingProperty = DependencyProperty.Register(nameof(IsDragging), typeof(bool), typeof(CalendarItemControl), new PropertyMetadata(false));
|
||||
public static readonly DependencyProperty IsCustomEventAreaProperty = DependencyProperty.Register(nameof(IsCustomEventArea), typeof(bool), typeof(CalendarItemControl), new PropertyMetadata(false));
|
||||
public static readonly DependencyProperty CalendarItemTitleProperty = DependencyProperty.Register(nameof(CalendarItemTitle), typeof(string), typeof(CalendarItemControl), new PropertyMetadata(string.Empty));
|
||||
public static readonly DependencyProperty DisplayingDateProperty = DependencyProperty.Register(nameof(DisplayingDate), typeof(CalendarDayModel), typeof(CalendarItemControl), new PropertyMetadata(null, new PropertyChangedCallback(OnDisplayDateChanged)));
|
||||
/// <summary>
|
||||
/// Day that the calendar item is rendered at.
|
||||
/// It's needed for title manipulation and some other adjustments later on.
|
||||
/// </summary>
|
||||
public CalendarDayModel DisplayingDate
|
||||
{
|
||||
get { return (CalendarDayModel)GetValue(DisplayingDateProperty); }
|
||||
set { SetValue(DisplayingDateProperty, value); }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Whether the control is displaying as regular event or all-multi day area in the day control.
|
||||
/// </summary>
|
||||
public bool IsCustomEventArea
|
||||
public string CalendarItemTitle
|
||||
{
|
||||
get { return (string)GetValue(CalendarItemTitleProperty); }
|
||||
set { SetValue(CalendarItemTitleProperty, value); }
|
||||
}
|
||||
|
||||
public CalendarItemViewModel CalendarItem
|
||||
{
|
||||
get { return (CalendarItemViewModel)GetValue(CalendarItemProperty); }
|
||||
set { SetValue(CalendarItemProperty, value); }
|
||||
}
|
||||
|
||||
public bool IsDragging
|
||||
{
|
||||
get { return (bool)GetValue(IsDraggingProperty); }
|
||||
set { SetValue(IsDraggingProperty, value); }
|
||||
}
|
||||
|
||||
public CalendarItemControl()
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
|
||||
private static void OnDisplayDateChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
|
||||
{
|
||||
if (d is CalendarItemControl control)
|
||||
{
|
||||
get { return (bool)GetValue(IsCustomEventAreaProperty); }
|
||||
set { SetValue(IsCustomEventAreaProperty, value); }
|
||||
control.UpdateControlVisuals();
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Day that the calendar item is rendered at.
|
||||
/// It's needed for title manipulation and some other adjustments later on.
|
||||
/// </summary>
|
||||
public CalendarDayModel DisplayingDate
|
||||
private static void OnCalendarItemChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
|
||||
{
|
||||
if (d is CalendarItemControl control)
|
||||
{
|
||||
get { return (CalendarDayModel)GetValue(DisplayingDateProperty); }
|
||||
set { SetValue(DisplayingDateProperty, value); }
|
||||
control.UpdateControlVisuals();
|
||||
}
|
||||
}
|
||||
|
||||
public string CalendarItemTitle
|
||||
{
|
||||
get { return (string)GetValue(CalendarItemTitleProperty); }
|
||||
set { SetValue(CalendarItemTitleProperty, value); }
|
||||
}
|
||||
private void UpdateControlVisuals()
|
||||
{
|
||||
// Depending on the calendar item's duration and attributes, we might need to change the display title.
|
||||
// 1. Multi-Day events should display the start date and end date.
|
||||
// 2. Multi-Day events that occupy the whole day just shows 'all day'.
|
||||
// 3. Other events should display the title.
|
||||
|
||||
public CalendarItemViewModel CalendarItem
|
||||
{
|
||||
get { return (CalendarItemViewModel)GetValue(CalendarItemProperty); }
|
||||
set { SetValue(CalendarItemProperty, value); }
|
||||
}
|
||||
if (CalendarItem == null) return;
|
||||
if (DisplayingDate == null) return;
|
||||
|
||||
public bool IsDragging
|
||||
if (CalendarItem.IsMultiDayEvent)
|
||||
{
|
||||
get { return (bool)GetValue(IsDraggingProperty); }
|
||||
set { SetValue(IsDraggingProperty, value); }
|
||||
}
|
||||
// Multi day events are divided into 3 categories:
|
||||
// 1. All day events
|
||||
// 2. Events that started after the period.
|
||||
// 3. Events that started before the period and finishes within the period.
|
||||
|
||||
public CalendarItemControl()
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
var periodRelation = CalendarItem.Period.GetRelation(DisplayingDate.Period);
|
||||
|
||||
private static void OnDisplayDateChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
|
||||
{
|
||||
if (d is CalendarItemControl control)
|
||||
if (periodRelation == Itenso.TimePeriod.PeriodRelation.StartInside ||
|
||||
periodRelation == PeriodRelation.EnclosingStartTouching)
|
||||
{
|
||||
control.UpdateControlVisuals();
|
||||
// hour -> title
|
||||
CalendarItemTitle = $"{DisplayingDate.CalendarRenderOptions.CalendarSettings.GetTimeString(CalendarItem.StartDate.TimeOfDay)} -> {CalendarItem.Title}";
|
||||
}
|
||||
}
|
||||
|
||||
private static void OnCalendarItemChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
|
||||
{
|
||||
if (d is CalendarItemControl control)
|
||||
else if (
|
||||
periodRelation == PeriodRelation.EndInside ||
|
||||
periodRelation == PeriodRelation.EnclosingEndTouching)
|
||||
{
|
||||
control.UpdateControlVisuals();
|
||||
// title <- hour
|
||||
CalendarItemTitle = $"{CalendarItem.Title} <- {DisplayingDate.CalendarRenderOptions.CalendarSettings.GetTimeString(CalendarItem.EndDate.TimeOfDay)}";
|
||||
}
|
||||
}
|
||||
|
||||
private void UpdateControlVisuals()
|
||||
{
|
||||
// Depending on the calendar item's duration and attributes, we might need to change the display title.
|
||||
// 1. Multi-Day events should display the start date and end date.
|
||||
// 2. Multi-Day events that occupy the whole day just shows 'all day'.
|
||||
// 3. Other events should display the title.
|
||||
|
||||
if (CalendarItem == null) return;
|
||||
if (DisplayingDate == null) return;
|
||||
|
||||
if (CalendarItem.IsMultiDayEvent)
|
||||
else if (periodRelation == PeriodRelation.Enclosing)
|
||||
{
|
||||
// Multi day events are divided into 3 categories:
|
||||
// 1. All day events
|
||||
// 2. Events that started after the period.
|
||||
// 3. Events that started before the period and finishes within the period.
|
||||
// This event goes all day and it's multi-day.
|
||||
// Item must be hidden in the calendar but displayed on the custom area at the top.
|
||||
|
||||
var periodRelation = CalendarItem.Period.GetRelation(DisplayingDate.Period);
|
||||
|
||||
if (periodRelation == Itenso.TimePeriod.PeriodRelation.StartInside ||
|
||||
periodRelation == PeriodRelation.EnclosingStartTouching)
|
||||
{
|
||||
// hour -> title
|
||||
CalendarItemTitle = $"{DisplayingDate.CalendarRenderOptions.CalendarSettings.GetTimeString(CalendarItem.StartDate.TimeOfDay)} -> {CalendarItem.Title}";
|
||||
}
|
||||
else if (
|
||||
periodRelation == PeriodRelation.EndInside ||
|
||||
periodRelation == PeriodRelation.EnclosingEndTouching)
|
||||
{
|
||||
// title <- hour
|
||||
CalendarItemTitle = $"{CalendarItem.Title} <- {DisplayingDate.CalendarRenderOptions.CalendarSettings.GetTimeString(CalendarItem.EndDate.TimeOfDay)}";
|
||||
}
|
||||
else if (periodRelation == PeriodRelation.Enclosing)
|
||||
{
|
||||
// This event goes all day and it's multi-day.
|
||||
// Item must be hidden in the calendar but displayed on the custom area at the top.
|
||||
|
||||
CalendarItemTitle = $"{Translator.CalendarItemAllDay} {CalendarItem.Title}";
|
||||
}
|
||||
else
|
||||
{
|
||||
// Not expected, but there it is.
|
||||
CalendarItemTitle = CalendarItem.Title;
|
||||
}
|
||||
|
||||
// Debug.WriteLine($"{CalendarItem.Title} Period relation with {DisplayingDate.Period.ToString()}: {periodRelation}");
|
||||
CalendarItemTitle = $"{Translator.CalendarItemAllDay} {CalendarItem.Title}";
|
||||
}
|
||||
else
|
||||
{
|
||||
// Not expected, but there it is.
|
||||
CalendarItemTitle = CalendarItem.Title;
|
||||
}
|
||||
|
||||
UpdateVisualStates();
|
||||
// Debug.WriteLine($"{CalendarItem.Title} Period relation with {DisplayingDate.Period.ToString()}: {periodRelation}");
|
||||
}
|
||||
else
|
||||
{
|
||||
CalendarItemTitle = CalendarItem.Title;
|
||||
}
|
||||
|
||||
private void UpdateVisualStates()
|
||||
{
|
||||
if (CalendarItem == null) return;
|
||||
UpdateVisualStates();
|
||||
}
|
||||
|
||||
if (CalendarItem.IsAllDayEvent)
|
||||
private void UpdateVisualStates()
|
||||
{
|
||||
if (CalendarItem == null) return;
|
||||
|
||||
if (CalendarItem.IsAllDayEvent)
|
||||
{
|
||||
VisualStateManager.GoToState(this, "AllDayEvent", true);
|
||||
}
|
||||
else if (CalendarItem.IsMultiDayEvent)
|
||||
{
|
||||
if (IsCustomEventArea)
|
||||
{
|
||||
VisualStateManager.GoToState(this, "AllDayEvent", true);
|
||||
}
|
||||
else if (CalendarItem.IsMultiDayEvent)
|
||||
{
|
||||
if (IsCustomEventArea)
|
||||
{
|
||||
VisualStateManager.GoToState(this, "CustomAreaMultiDayEvent", true);
|
||||
}
|
||||
else
|
||||
{
|
||||
// Hide it.
|
||||
VisualStateManager.GoToState(this, "MultiDayEvent", true);
|
||||
}
|
||||
VisualStateManager.GoToState(this, "CustomAreaMultiDayEvent", true);
|
||||
}
|
||||
else
|
||||
{
|
||||
VisualStateManager.GoToState(this, "RegularEvent", true);
|
||||
// Hide it.
|
||||
VisualStateManager.GoToState(this, "MultiDayEvent", true);
|
||||
}
|
||||
}
|
||||
|
||||
private void ControlDragStarting(UIElement sender, DragStartingEventArgs args) => IsDragging = true;
|
||||
|
||||
private void ControlDropped(UIElement sender, DropCompletedEventArgs args) => IsDragging = false;
|
||||
|
||||
private async void ControlTapped(object sender, TappedRoutedEventArgs e)
|
||||
else
|
||||
{
|
||||
if (CalendarItem == null) return;
|
||||
|
||||
isSingleTap = true;
|
||||
|
||||
await Task.Delay(100);
|
||||
|
||||
if (isSingleTap)
|
||||
{
|
||||
WeakReferenceMessenger.Default.Send(new CalendarItemTappedMessage(CalendarItem, DisplayingDate));
|
||||
}
|
||||
}
|
||||
|
||||
private void ControlDoubleTapped(object sender, DoubleTappedRoutedEventArgs e)
|
||||
{
|
||||
if (CalendarItem == null) return;
|
||||
|
||||
isSingleTap = false;
|
||||
|
||||
WeakReferenceMessenger.Default.Send(new CalendarItemDoubleTappedMessage(CalendarItem));
|
||||
}
|
||||
|
||||
private void ControlRightTapped(object sender, RightTappedRoutedEventArgs e)
|
||||
{
|
||||
if (CalendarItem == null) return;
|
||||
|
||||
WeakReferenceMessenger.Default.Send(new CalendarItemRightTappedMessage(CalendarItem));
|
||||
VisualStateManager.GoToState(this, "RegularEvent", true);
|
||||
}
|
||||
}
|
||||
|
||||
private void ControlDragStarting(UIElement sender, DragStartingEventArgs args) => IsDragging = true;
|
||||
|
||||
private void ControlDropped(UIElement sender, DropCompletedEventArgs args) => IsDragging = false;
|
||||
|
||||
private async void ControlTapped(object sender, TappedRoutedEventArgs e)
|
||||
{
|
||||
if (CalendarItem == null) return;
|
||||
|
||||
isSingleTap = true;
|
||||
|
||||
await Task.Delay(100);
|
||||
|
||||
if (isSingleTap)
|
||||
{
|
||||
WeakReferenceMessenger.Default.Send(new CalendarItemTappedMessage(CalendarItem, DisplayingDate));
|
||||
}
|
||||
}
|
||||
|
||||
private void ControlDoubleTapped(object sender, DoubleTappedRoutedEventArgs e)
|
||||
{
|
||||
if (CalendarItem == null) return;
|
||||
|
||||
isSingleTap = false;
|
||||
|
||||
WeakReferenceMessenger.Default.Send(new CalendarItemDoubleTappedMessage(CalendarItem));
|
||||
}
|
||||
|
||||
private void ControlRightTapped(object sender, RightTappedRoutedEventArgs e)
|
||||
{
|
||||
if (CalendarItem == null) return;
|
||||
|
||||
WeakReferenceMessenger.Default.Send(new CalendarItemRightTappedMessage(CalendarItem));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,43 +1,42 @@
|
||||
using Windows.UI.Xaml.Automation.Peers;
|
||||
using Windows.UI.Xaml.Controls;
|
||||
|
||||
namespace Wino.Calendar.Controls
|
||||
namespace Wino.Calendar.Controls;
|
||||
|
||||
/// <summary>
|
||||
/// FlipView that hides the navigation buttons and exposes methods to navigate to the next and previous items with animations.
|
||||
/// </summary>
|
||||
public partial class CustomCalendarFlipView : FlipView
|
||||
{
|
||||
/// <summary>
|
||||
/// FlipView that hides the navigation buttons and exposes methods to navigate to the next and previous items with animations.
|
||||
/// </summary>
|
||||
public class CustomCalendarFlipView : FlipView
|
||||
private const string PART_PreviousButton = "PreviousButtonHorizontal";
|
||||
private const string PART_NextButton = "NextButtonHorizontal";
|
||||
|
||||
private Button PreviousButton;
|
||||
private Button NextButton;
|
||||
|
||||
protected override void OnApplyTemplate()
|
||||
{
|
||||
private const string PART_PreviousButton = "PreviousButtonHorizontal";
|
||||
private const string PART_NextButton = "NextButtonHorizontal";
|
||||
base.OnApplyTemplate();
|
||||
|
||||
private Button PreviousButton;
|
||||
private Button NextButton;
|
||||
PreviousButton = GetTemplateChild(PART_PreviousButton) as Button;
|
||||
NextButton = GetTemplateChild(PART_NextButton) as Button;
|
||||
|
||||
protected override void OnApplyTemplate()
|
||||
{
|
||||
base.OnApplyTemplate();
|
||||
// Hide navigation buttons
|
||||
PreviousButton.Opacity = NextButton.Opacity = 0;
|
||||
PreviousButton.IsHitTestVisible = NextButton.IsHitTestVisible = false;
|
||||
|
||||
PreviousButton = GetTemplateChild(PART_PreviousButton) as Button;
|
||||
NextButton = GetTemplateChild(PART_NextButton) as Button;
|
||||
var t = FindName("ScrollingHost");
|
||||
}
|
||||
|
||||
// Hide navigation buttons
|
||||
PreviousButton.Opacity = NextButton.Opacity = 0;
|
||||
PreviousButton.IsHitTestVisible = NextButton.IsHitTestVisible = false;
|
||||
public void GoPreviousFlip()
|
||||
{
|
||||
var backPeer = new ButtonAutomationPeer(PreviousButton);
|
||||
backPeer.Invoke();
|
||||
}
|
||||
|
||||
var t = FindName("ScrollingHost");
|
||||
}
|
||||
|
||||
public void GoPreviousFlip()
|
||||
{
|
||||
var backPeer = new ButtonAutomationPeer(PreviousButton);
|
||||
backPeer.Invoke();
|
||||
}
|
||||
|
||||
public void GoNextFlip()
|
||||
{
|
||||
var nextPeer = new ButtonAutomationPeer(NextButton);
|
||||
nextPeer.Invoke();
|
||||
}
|
||||
public void GoNextFlip()
|
||||
{
|
||||
var nextPeer = new ButtonAutomationPeer(NextButton);
|
||||
nextPeer.Invoke();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3,76 +3,75 @@ using Windows.UI.Xaml;
|
||||
using Windows.UI.Xaml.Controls;
|
||||
using Wino.Core.Domain.Models.Calendar;
|
||||
|
||||
namespace Wino.Calendar.Controls
|
||||
namespace Wino.Calendar.Controls;
|
||||
|
||||
public partial class DayColumnControl : Control
|
||||
{
|
||||
public class DayColumnControl : Control
|
||||
private const string PART_HeaderDateDayText = nameof(PART_HeaderDateDayText);
|
||||
private const string PART_IsTodayBorder = nameof(PART_IsTodayBorder);
|
||||
private const string PART_ColumnHeaderText = nameof(PART_ColumnHeaderText);
|
||||
|
||||
private const string PART_AllDayItemsControl = nameof(PART_AllDayItemsControl);
|
||||
|
||||
private const string TodayState = nameof(TodayState);
|
||||
private const string NotTodayState = nameof(NotTodayState);
|
||||
|
||||
private TextBlock HeaderDateDayText;
|
||||
private TextBlock ColumnHeaderText;
|
||||
private Border IsTodayBorder;
|
||||
private ItemsControl AllDayItemsControl;
|
||||
|
||||
public CalendarDayModel DayModel
|
||||
{
|
||||
private const string PART_HeaderDateDayText = nameof(PART_HeaderDateDayText);
|
||||
private const string PART_IsTodayBorder = nameof(PART_IsTodayBorder);
|
||||
private const string PART_ColumnHeaderText = nameof(PART_ColumnHeaderText);
|
||||
get { return (CalendarDayModel)GetValue(DayModelProperty); }
|
||||
set { SetValue(DayModelProperty, value); }
|
||||
}
|
||||
|
||||
private const string PART_AllDayItemsControl = nameof(PART_AllDayItemsControl);
|
||||
public static readonly DependencyProperty DayModelProperty = DependencyProperty.Register(nameof(DayModel), typeof(CalendarDayModel), typeof(DayColumnControl), new PropertyMetadata(null, new PropertyChangedCallback(OnRenderingPropertiesChanged)));
|
||||
|
||||
private const string TodayState = nameof(TodayState);
|
||||
private const string NotTodayState = nameof(NotTodayState);
|
||||
public DayColumnControl()
|
||||
{
|
||||
DefaultStyleKey = typeof(DayColumnControl);
|
||||
}
|
||||
|
||||
private TextBlock HeaderDateDayText;
|
||||
private TextBlock ColumnHeaderText;
|
||||
private Border IsTodayBorder;
|
||||
private ItemsControl AllDayItemsControl;
|
||||
protected override void OnApplyTemplate()
|
||||
{
|
||||
base.OnApplyTemplate();
|
||||
|
||||
public CalendarDayModel DayModel
|
||||
HeaderDateDayText = GetTemplateChild(PART_HeaderDateDayText) as TextBlock;
|
||||
ColumnHeaderText = GetTemplateChild(PART_ColumnHeaderText) as TextBlock;
|
||||
IsTodayBorder = GetTemplateChild(PART_IsTodayBorder) as Border;
|
||||
AllDayItemsControl = GetTemplateChild(PART_AllDayItemsControl) as ItemsControl;
|
||||
|
||||
UpdateValues();
|
||||
}
|
||||
|
||||
private static void OnRenderingPropertiesChanged(DependencyObject control, DependencyPropertyChangedEventArgs e)
|
||||
{
|
||||
if (control is DayColumnControl columnControl)
|
||||
{
|
||||
get { return (CalendarDayModel)GetValue(DayModelProperty); }
|
||||
set { SetValue(DayModelProperty, value); }
|
||||
}
|
||||
|
||||
public static readonly DependencyProperty DayModelProperty = DependencyProperty.Register(nameof(DayModel), typeof(CalendarDayModel), typeof(DayColumnControl), new PropertyMetadata(null, new PropertyChangedCallback(OnRenderingPropertiesChanged)));
|
||||
|
||||
public DayColumnControl()
|
||||
{
|
||||
DefaultStyleKey = typeof(DayColumnControl);
|
||||
}
|
||||
|
||||
protected override void OnApplyTemplate()
|
||||
{
|
||||
base.OnApplyTemplate();
|
||||
|
||||
HeaderDateDayText = GetTemplateChild(PART_HeaderDateDayText) as TextBlock;
|
||||
ColumnHeaderText = GetTemplateChild(PART_ColumnHeaderText) as TextBlock;
|
||||
IsTodayBorder = GetTemplateChild(PART_IsTodayBorder) as Border;
|
||||
AllDayItemsControl = GetTemplateChild(PART_AllDayItemsControl) as ItemsControl;
|
||||
|
||||
UpdateValues();
|
||||
}
|
||||
|
||||
private static void OnRenderingPropertiesChanged(DependencyObject control, DependencyPropertyChangedEventArgs e)
|
||||
{
|
||||
if (control is DayColumnControl columnControl)
|
||||
{
|
||||
columnControl.UpdateValues();
|
||||
}
|
||||
}
|
||||
|
||||
private void UpdateValues()
|
||||
{
|
||||
if (HeaderDateDayText == null || IsTodayBorder == null || DayModel == null) return;
|
||||
|
||||
HeaderDateDayText.Text = DayModel.RepresentingDate.Day.ToString();
|
||||
|
||||
// Monthly template does not use it.
|
||||
if (ColumnHeaderText != null)
|
||||
{
|
||||
ColumnHeaderText.Text = DayModel.RepresentingDate.ToString("dddd", DayModel.CalendarRenderOptions.CalendarSettings.CultureInfo);
|
||||
}
|
||||
|
||||
AllDayItemsControl.ItemsSource = DayModel.EventsCollection.AllDayEvents;
|
||||
|
||||
bool isToday = DayModel.RepresentingDate.Date == DateTime.Now.Date;
|
||||
|
||||
VisualStateManager.GoToState(this, isToday ? TodayState : NotTodayState, false);
|
||||
|
||||
UpdateLayout();
|
||||
columnControl.UpdateValues();
|
||||
}
|
||||
}
|
||||
|
||||
private void UpdateValues()
|
||||
{
|
||||
if (HeaderDateDayText == null || IsTodayBorder == null || DayModel == null) return;
|
||||
|
||||
HeaderDateDayText.Text = DayModel.RepresentingDate.Day.ToString();
|
||||
|
||||
// Monthly template does not use it.
|
||||
if (ColumnHeaderText != null)
|
||||
{
|
||||
ColumnHeaderText.Text = DayModel.RepresentingDate.ToString("dddd", DayModel.CalendarRenderOptions.CalendarSettings.CultureInfo);
|
||||
}
|
||||
|
||||
AllDayItemsControl.ItemsSource = DayModel.EventsCollection.AllDayEvents;
|
||||
|
||||
bool isToday = DayModel.RepresentingDate.Date == DateTime.Now.Date;
|
||||
|
||||
VisualStateManager.GoToState(this, isToday ? TodayState : NotTodayState, false);
|
||||
|
||||
UpdateLayout();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3,55 +3,54 @@ using Windows.UI.Xaml;
|
||||
using Windows.UI.Xaml.Controls;
|
||||
using Wino.Core.Domain.Enums;
|
||||
|
||||
namespace Wino.Calendar.Controls
|
||||
namespace Wino.Calendar.Controls;
|
||||
|
||||
public partial class DayHeaderControl : Control
|
||||
{
|
||||
public class DayHeaderControl : Control
|
||||
private const string PART_DayHeaderTextBlock = nameof(PART_DayHeaderTextBlock);
|
||||
private TextBlock HeaderTextblock;
|
||||
|
||||
public DayHeaderDisplayType DisplayType
|
||||
{
|
||||
private const string PART_DayHeaderTextBlock = nameof(PART_DayHeaderTextBlock);
|
||||
private TextBlock HeaderTextblock;
|
||||
get { return (DayHeaderDisplayType)GetValue(DisplayTypeProperty); }
|
||||
set { SetValue(DisplayTypeProperty, value); }
|
||||
}
|
||||
|
||||
public DayHeaderDisplayType DisplayType
|
||||
public DateTime Date
|
||||
{
|
||||
get { return (DateTime)GetValue(DateProperty); }
|
||||
set { SetValue(DateProperty, value); }
|
||||
}
|
||||
|
||||
public static readonly DependencyProperty DateProperty = DependencyProperty.Register(nameof(Date), typeof(DateTime), typeof(DayHeaderControl), new PropertyMetadata(default(DateTime), new PropertyChangedCallback(OnHeaderPropertyChanged)));
|
||||
public static readonly DependencyProperty DisplayTypeProperty = DependencyProperty.Register(nameof(DisplayType), typeof(DayHeaderDisplayType), typeof(DayHeaderControl), new PropertyMetadata(DayHeaderDisplayType.TwentyFourHour, new PropertyChangedCallback(OnHeaderPropertyChanged)));
|
||||
|
||||
public DayHeaderControl()
|
||||
{
|
||||
DefaultStyleKey = typeof(DayHeaderControl);
|
||||
}
|
||||
|
||||
protected override void OnApplyTemplate()
|
||||
{
|
||||
base.OnApplyTemplate();
|
||||
|
||||
HeaderTextblock = GetTemplateChild(PART_DayHeaderTextBlock) as TextBlock;
|
||||
UpdateHeaderText();
|
||||
}
|
||||
|
||||
private static void OnHeaderPropertyChanged(DependencyObject control, DependencyPropertyChangedEventArgs e)
|
||||
{
|
||||
if (control is DayHeaderControl headerControl)
|
||||
{
|
||||
get { return (DayHeaderDisplayType)GetValue(DisplayTypeProperty); }
|
||||
set { SetValue(DisplayTypeProperty, value); }
|
||||
headerControl.UpdateHeaderText();
|
||||
}
|
||||
}
|
||||
|
||||
public DateTime Date
|
||||
private void UpdateHeaderText()
|
||||
{
|
||||
if (HeaderTextblock != null)
|
||||
{
|
||||
get { return (DateTime)GetValue(DateProperty); }
|
||||
set { SetValue(DateProperty, value); }
|
||||
}
|
||||
|
||||
public static readonly DependencyProperty DateProperty = DependencyProperty.Register(nameof(Date), typeof(DateTime), typeof(DayHeaderControl), new PropertyMetadata(default(DateTime), new PropertyChangedCallback(OnHeaderPropertyChanged)));
|
||||
public static readonly DependencyProperty DisplayTypeProperty = DependencyProperty.Register(nameof(DisplayType), typeof(DayHeaderDisplayType), typeof(DayHeaderControl), new PropertyMetadata(DayHeaderDisplayType.TwentyFourHour, new PropertyChangedCallback(OnHeaderPropertyChanged)));
|
||||
|
||||
public DayHeaderControl()
|
||||
{
|
||||
DefaultStyleKey = typeof(DayHeaderControl);
|
||||
}
|
||||
|
||||
protected override void OnApplyTemplate()
|
||||
{
|
||||
base.OnApplyTemplate();
|
||||
|
||||
HeaderTextblock = GetTemplateChild(PART_DayHeaderTextBlock) as TextBlock;
|
||||
UpdateHeaderText();
|
||||
}
|
||||
|
||||
private static void OnHeaderPropertyChanged(DependencyObject control, DependencyPropertyChangedEventArgs e)
|
||||
{
|
||||
if (control is DayHeaderControl headerControl)
|
||||
{
|
||||
headerControl.UpdateHeaderText();
|
||||
}
|
||||
}
|
||||
|
||||
private void UpdateHeaderText()
|
||||
{
|
||||
if (HeaderTextblock != null)
|
||||
{
|
||||
HeaderTextblock.Text = DisplayType == DayHeaderDisplayType.TwelveHour ? Date.ToString("h tt") : Date.ToString("HH:mm");
|
||||
}
|
||||
HeaderTextblock.Text = DisplayType == DayHeaderDisplayType.TwelveHour ? Date.ToString("h tt") : Date.ToString("HH:mm");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -10,291 +10,290 @@ using Wino.Core.Domain.Enums;
|
||||
using Wino.Core.Domain.Models.Calendar;
|
||||
using Wino.Helpers;
|
||||
|
||||
namespace Wino.Calendar.Controls
|
||||
namespace Wino.Calendar.Controls;
|
||||
|
||||
public partial class WinoCalendarControl : Control
|
||||
{
|
||||
public class WinoCalendarControl : Control
|
||||
private const string PART_WinoFlipView = nameof(PART_WinoFlipView);
|
||||
private const string PART_IdleGrid = nameof(PART_IdleGrid);
|
||||
|
||||
public event EventHandler<TimelineCellSelectedArgs> TimelineCellSelected;
|
||||
public event EventHandler<TimelineCellUnselectedArgs> TimelineCellUnselected;
|
||||
|
||||
public event EventHandler ScrollPositionChanging;
|
||||
|
||||
#region Dependency Properties
|
||||
|
||||
public static readonly DependencyProperty DayRangesProperty = DependencyProperty.Register(nameof(DayRanges), typeof(ObservableCollection<DayRangeRenderModel>), typeof(WinoCalendarControl), new PropertyMetadata(null));
|
||||
public static readonly DependencyProperty SelectedFlipViewIndexProperty = DependencyProperty.Register(nameof(SelectedFlipViewIndex), typeof(int), typeof(WinoCalendarControl), new PropertyMetadata(-1));
|
||||
public static readonly DependencyProperty SelectedFlipViewDayRangeProperty = DependencyProperty.Register(nameof(SelectedFlipViewDayRange), typeof(DayRangeRenderModel), typeof(WinoCalendarControl), new PropertyMetadata(null));
|
||||
public static readonly DependencyProperty ActiveCanvasProperty = DependencyProperty.Register(nameof(ActiveCanvas), typeof(WinoDayTimelineCanvas), typeof(WinoCalendarControl), new PropertyMetadata(null, new PropertyChangedCallback(OnActiveCanvasChanged)));
|
||||
public static readonly DependencyProperty IsFlipIdleProperty = DependencyProperty.Register(nameof(IsFlipIdle), typeof(bool), typeof(WinoCalendarControl), new PropertyMetadata(true, new PropertyChangedCallback(OnIdleStateChanged)));
|
||||
public static readonly DependencyProperty ActiveScrollViewerProperty = DependencyProperty.Register(nameof(ActiveScrollViewer), typeof(ScrollViewer), typeof(WinoCalendarControl), new PropertyMetadata(null, new PropertyChangedCallback(OnActiveVerticalScrollViewerChanged)));
|
||||
|
||||
public static readonly DependencyProperty VerticalItemsPanelTemplateProperty = DependencyProperty.Register(nameof(VerticalItemsPanelTemplate), typeof(ItemsPanelTemplate), typeof(WinoCalendarControl), new PropertyMetadata(null, new PropertyChangedCallback(OnCalendarOrientationPropertiesUpdated)));
|
||||
public static readonly DependencyProperty HorizontalItemsPanelTemplateProperty = DependencyProperty.Register(nameof(HorizontalItemsPanelTemplate), typeof(ItemsPanelTemplate), typeof(WinoCalendarControl), new PropertyMetadata(null, new PropertyChangedCallback(OnCalendarOrientationPropertiesUpdated)));
|
||||
public static readonly DependencyProperty OrientationProperty = DependencyProperty.Register(nameof(Orientation), typeof(CalendarOrientation), typeof(WinoCalendarControl), new PropertyMetadata(CalendarOrientation.Horizontal, new PropertyChangedCallback(OnCalendarOrientationPropertiesUpdated)));
|
||||
public static readonly DependencyProperty DisplayTypeProperty = DependencyProperty.Register(nameof(DisplayType), typeof(CalendarDisplayType), typeof(WinoCalendarControl), new PropertyMetadata(CalendarDisplayType.Day));
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets the day-week-month-year display type.
|
||||
/// Orientation is not determined by this property, but Orientation property.
|
||||
/// This property is used to determine the template to use for the calendar.
|
||||
/// </summary>
|
||||
public CalendarDisplayType DisplayType
|
||||
{
|
||||
private const string PART_WinoFlipView = nameof(PART_WinoFlipView);
|
||||
private const string PART_IdleGrid = nameof(PART_IdleGrid);
|
||||
get { return (CalendarDisplayType)GetValue(DisplayTypeProperty); }
|
||||
set { SetValue(DisplayTypeProperty, value); }
|
||||
}
|
||||
|
||||
public event EventHandler<TimelineCellSelectedArgs> TimelineCellSelected;
|
||||
public event EventHandler<TimelineCellUnselectedArgs> TimelineCellUnselected;
|
||||
public CalendarOrientation Orientation
|
||||
{
|
||||
get { return (CalendarOrientation)GetValue(OrientationProperty); }
|
||||
set { SetValue(OrientationProperty, value); }
|
||||
}
|
||||
|
||||
public event EventHandler ScrollPositionChanging;
|
||||
public ItemsPanelTemplate VerticalItemsPanelTemplate
|
||||
{
|
||||
get { return (ItemsPanelTemplate)GetValue(VerticalItemsPanelTemplateProperty); }
|
||||
set { SetValue(VerticalItemsPanelTemplateProperty, value); }
|
||||
}
|
||||
|
||||
#region Dependency Properties
|
||||
public ItemsPanelTemplate HorizontalItemsPanelTemplate
|
||||
{
|
||||
get { return (ItemsPanelTemplate)GetValue(HorizontalItemsPanelTemplateProperty); }
|
||||
set { SetValue(HorizontalItemsPanelTemplateProperty, value); }
|
||||
}
|
||||
|
||||
public static readonly DependencyProperty DayRangesProperty = DependencyProperty.Register(nameof(DayRanges), typeof(ObservableCollection<DayRangeRenderModel>), typeof(WinoCalendarControl), new PropertyMetadata(null));
|
||||
public static readonly DependencyProperty SelectedFlipViewIndexProperty = DependencyProperty.Register(nameof(SelectedFlipViewIndex), typeof(int), typeof(WinoCalendarControl), new PropertyMetadata(-1));
|
||||
public static readonly DependencyProperty SelectedFlipViewDayRangeProperty = DependencyProperty.Register(nameof(SelectedFlipViewDayRange), typeof(DayRangeRenderModel), typeof(WinoCalendarControl), new PropertyMetadata(null));
|
||||
public static readonly DependencyProperty ActiveCanvasProperty = DependencyProperty.Register(nameof(ActiveCanvas), typeof(WinoDayTimelineCanvas), typeof(WinoCalendarControl), new PropertyMetadata(null, new PropertyChangedCallback(OnActiveCanvasChanged)));
|
||||
public static readonly DependencyProperty IsFlipIdleProperty = DependencyProperty.Register(nameof(IsFlipIdle), typeof(bool), typeof(WinoCalendarControl), new PropertyMetadata(true, new PropertyChangedCallback(OnIdleStateChanged)));
|
||||
public static readonly DependencyProperty ActiveScrollViewerProperty = DependencyProperty.Register(nameof(ActiveScrollViewer), typeof(ScrollViewer), typeof(WinoCalendarControl), new PropertyMetadata(null, new PropertyChangedCallback(OnActiveVerticalScrollViewerChanged)));
|
||||
public DayRangeRenderModel SelectedFlipViewDayRange
|
||||
{
|
||||
get { return (DayRangeRenderModel)GetValue(SelectedFlipViewDayRangeProperty); }
|
||||
set { SetValue(SelectedFlipViewDayRangeProperty, value); }
|
||||
}
|
||||
|
||||
public static readonly DependencyProperty VerticalItemsPanelTemplateProperty = DependencyProperty.Register(nameof(VerticalItemsPanelTemplate), typeof(ItemsPanelTemplate), typeof(WinoCalendarControl), new PropertyMetadata(null, new PropertyChangedCallback(OnCalendarOrientationPropertiesUpdated)));
|
||||
public static readonly DependencyProperty HorizontalItemsPanelTemplateProperty = DependencyProperty.Register(nameof(HorizontalItemsPanelTemplate), typeof(ItemsPanelTemplate), typeof(WinoCalendarControl), new PropertyMetadata(null, new PropertyChangedCallback(OnCalendarOrientationPropertiesUpdated)));
|
||||
public static readonly DependencyProperty OrientationProperty = DependencyProperty.Register(nameof(Orientation), typeof(CalendarOrientation), typeof(WinoCalendarControl), new PropertyMetadata(CalendarOrientation.Horizontal, new PropertyChangedCallback(OnCalendarOrientationPropertiesUpdated)));
|
||||
public static readonly DependencyProperty DisplayTypeProperty = DependencyProperty.Register(nameof(DisplayType), typeof(CalendarDisplayType), typeof(WinoCalendarControl), new PropertyMetadata(CalendarDisplayType.Day));
|
||||
public ScrollViewer ActiveScrollViewer
|
||||
{
|
||||
get { return (ScrollViewer)GetValue(ActiveScrollViewerProperty); }
|
||||
set { SetValue(ActiveScrollViewerProperty, value); }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets the day-week-month-year display type.
|
||||
/// Orientation is not determined by this property, but Orientation property.
|
||||
/// This property is used to determine the template to use for the calendar.
|
||||
/// </summary>
|
||||
public CalendarDisplayType DisplayType
|
||||
public WinoDayTimelineCanvas ActiveCanvas
|
||||
{
|
||||
get { return (WinoDayTimelineCanvas)GetValue(ActiveCanvasProperty); }
|
||||
set { SetValue(ActiveCanvasProperty, value); }
|
||||
}
|
||||
|
||||
public bool IsFlipIdle
|
||||
{
|
||||
get { return (bool)GetValue(IsFlipIdleProperty); }
|
||||
set { SetValue(IsFlipIdleProperty, value); }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets the collection of day ranges to render.
|
||||
/// Each day range usually represents a week, but it may support other ranges.
|
||||
/// </summary>
|
||||
public ObservableCollection<DayRangeRenderModel> DayRanges
|
||||
{
|
||||
get { return (ObservableCollection<DayRangeRenderModel>)GetValue(DayRangesProperty); }
|
||||
set { SetValue(DayRangesProperty, value); }
|
||||
}
|
||||
|
||||
public int SelectedFlipViewIndex
|
||||
{
|
||||
get { return (int)GetValue(SelectedFlipViewIndexProperty); }
|
||||
set { SetValue(SelectedFlipViewIndexProperty, value); }
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
private WinoCalendarFlipView InternalFlipView;
|
||||
private Grid IdleGrid;
|
||||
|
||||
public WinoCalendarControl()
|
||||
{
|
||||
DefaultStyleKey = typeof(WinoCalendarControl);
|
||||
SizeChanged += CalendarSizeChanged;
|
||||
}
|
||||
|
||||
private static void OnCalendarOrientationPropertiesUpdated(DependencyObject calendar, DependencyPropertyChangedEventArgs e)
|
||||
{
|
||||
if (calendar is WinoCalendarControl control)
|
||||
{
|
||||
get { return (CalendarDisplayType)GetValue(DisplayTypeProperty); }
|
||||
set { SetValue(DisplayTypeProperty, value); }
|
||||
}
|
||||
|
||||
public CalendarOrientation Orientation
|
||||
{
|
||||
get { return (CalendarOrientation)GetValue(OrientationProperty); }
|
||||
set { SetValue(OrientationProperty, value); }
|
||||
}
|
||||
|
||||
public ItemsPanelTemplate VerticalItemsPanelTemplate
|
||||
{
|
||||
get { return (ItemsPanelTemplate)GetValue(VerticalItemsPanelTemplateProperty); }
|
||||
set { SetValue(VerticalItemsPanelTemplateProperty, value); }
|
||||
}
|
||||
|
||||
public ItemsPanelTemplate HorizontalItemsPanelTemplate
|
||||
{
|
||||
get { return (ItemsPanelTemplate)GetValue(HorizontalItemsPanelTemplateProperty); }
|
||||
set { SetValue(HorizontalItemsPanelTemplateProperty, value); }
|
||||
}
|
||||
|
||||
public DayRangeRenderModel SelectedFlipViewDayRange
|
||||
{
|
||||
get { return (DayRangeRenderModel)GetValue(SelectedFlipViewDayRangeProperty); }
|
||||
set { SetValue(SelectedFlipViewDayRangeProperty, value); }
|
||||
}
|
||||
|
||||
public ScrollViewer ActiveScrollViewer
|
||||
{
|
||||
get { return (ScrollViewer)GetValue(ActiveScrollViewerProperty); }
|
||||
set { SetValue(ActiveScrollViewerProperty, value); }
|
||||
}
|
||||
|
||||
public WinoDayTimelineCanvas ActiveCanvas
|
||||
{
|
||||
get { return (WinoDayTimelineCanvas)GetValue(ActiveCanvasProperty); }
|
||||
set { SetValue(ActiveCanvasProperty, value); }
|
||||
}
|
||||
|
||||
public bool IsFlipIdle
|
||||
{
|
||||
get { return (bool)GetValue(IsFlipIdleProperty); }
|
||||
set { SetValue(IsFlipIdleProperty, value); }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets the collection of day ranges to render.
|
||||
/// Each day range usually represents a week, but it may support other ranges.
|
||||
/// </summary>
|
||||
public ObservableCollection<DayRangeRenderModel> DayRanges
|
||||
{
|
||||
get { return (ObservableCollection<DayRangeRenderModel>)GetValue(DayRangesProperty); }
|
||||
set { SetValue(DayRangesProperty, value); }
|
||||
}
|
||||
|
||||
public int SelectedFlipViewIndex
|
||||
{
|
||||
get { return (int)GetValue(SelectedFlipViewIndexProperty); }
|
||||
set { SetValue(SelectedFlipViewIndexProperty, value); }
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
private WinoCalendarFlipView InternalFlipView;
|
||||
private Grid IdleGrid;
|
||||
|
||||
public WinoCalendarControl()
|
||||
{
|
||||
DefaultStyleKey = typeof(WinoCalendarControl);
|
||||
SizeChanged += CalendarSizeChanged;
|
||||
}
|
||||
|
||||
private static void OnCalendarOrientationPropertiesUpdated(DependencyObject calendar, DependencyPropertyChangedEventArgs e)
|
||||
{
|
||||
if (calendar is WinoCalendarControl control)
|
||||
{
|
||||
control.ManageCalendarOrientation();
|
||||
}
|
||||
}
|
||||
|
||||
private static void OnIdleStateChanged(DependencyObject calendar, DependencyPropertyChangedEventArgs e)
|
||||
{
|
||||
if (calendar is WinoCalendarControl calendarControl)
|
||||
{
|
||||
calendarControl.UpdateIdleState();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
private static void OnActiveVerticalScrollViewerChanged(DependencyObject calendar, DependencyPropertyChangedEventArgs e)
|
||||
{
|
||||
if (calendar is WinoCalendarControl calendarControl)
|
||||
{
|
||||
if (e.OldValue is ScrollViewer oldScrollViewer)
|
||||
{
|
||||
calendarControl.DeregisterScrollChanges(oldScrollViewer);
|
||||
}
|
||||
|
||||
if (e.NewValue is ScrollViewer newScrollViewer)
|
||||
{
|
||||
calendarControl.RegisterScrollChanges(newScrollViewer);
|
||||
}
|
||||
|
||||
calendarControl.ManageHighlightedDateRange();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
private static void OnActiveCanvasChanged(DependencyObject calendar, DependencyPropertyChangedEventArgs e)
|
||||
{
|
||||
if (calendar is WinoCalendarControl calendarControl)
|
||||
{
|
||||
if (e.OldValue is WinoDayTimelineCanvas oldCanvas)
|
||||
{
|
||||
// Dismiss any selection on the old canvas.
|
||||
calendarControl.DeregisterCanvas(oldCanvas);
|
||||
}
|
||||
|
||||
if (e.NewValue is WinoDayTimelineCanvas newCanvas)
|
||||
{
|
||||
calendarControl.RegisterCanvas(newCanvas);
|
||||
}
|
||||
|
||||
calendarControl.ManageHighlightedDateRange();
|
||||
}
|
||||
}
|
||||
|
||||
private void ManageCalendarOrientation()
|
||||
{
|
||||
if (InternalFlipView == null || HorizontalItemsPanelTemplate == null || VerticalItemsPanelTemplate == null) return;
|
||||
|
||||
InternalFlipView.ItemsPanel = Orientation == CalendarOrientation.Horizontal ? HorizontalItemsPanelTemplate : VerticalItemsPanelTemplate;
|
||||
}
|
||||
|
||||
private void ManageHighlightedDateRange()
|
||||
=> SelectedFlipViewDayRange = InternalFlipView.SelectedItem as DayRangeRenderModel;
|
||||
|
||||
private void DeregisterCanvas(WinoDayTimelineCanvas canvas)
|
||||
{
|
||||
if (canvas == null) return;
|
||||
|
||||
canvas.SelectedDateTime = null;
|
||||
canvas.TimelineCellSelected -= ActiveTimelineCellSelected;
|
||||
canvas.TimelineCellUnselected -= ActiveTimelineCellUnselected;
|
||||
}
|
||||
|
||||
private void RegisterCanvas(WinoDayTimelineCanvas canvas)
|
||||
{
|
||||
if (canvas == null) return;
|
||||
|
||||
canvas.SelectedDateTime = null;
|
||||
canvas.TimelineCellSelected += ActiveTimelineCellSelected;
|
||||
canvas.TimelineCellUnselected += ActiveTimelineCellUnselected;
|
||||
}
|
||||
|
||||
private void RegisterScrollChanges(ScrollViewer scrollViewer)
|
||||
{
|
||||
if (scrollViewer == null) return;
|
||||
|
||||
scrollViewer.ViewChanging += ScrollViewChanging;
|
||||
}
|
||||
|
||||
private void DeregisterScrollChanges(ScrollViewer scrollViewer)
|
||||
{
|
||||
if (scrollViewer == null) return;
|
||||
|
||||
scrollViewer.ViewChanging -= ScrollViewChanging;
|
||||
}
|
||||
|
||||
private void ScrollViewChanging(object sender, ScrollViewerViewChangingEventArgs e)
|
||||
=> ScrollPositionChanging?.Invoke(this, EventArgs.Empty);
|
||||
|
||||
private void CalendarSizeChanged(object sender, SizeChangedEventArgs e)
|
||||
{
|
||||
if (ActiveCanvas == null) return;
|
||||
|
||||
ActiveCanvas.SelectedDateTime = null;
|
||||
}
|
||||
|
||||
protected override void OnApplyTemplate()
|
||||
{
|
||||
base.OnApplyTemplate();
|
||||
|
||||
InternalFlipView = GetTemplateChild(PART_WinoFlipView) as WinoCalendarFlipView;
|
||||
IdleGrid = GetTemplateChild(PART_IdleGrid) as Grid;
|
||||
|
||||
UpdateIdleState();
|
||||
ManageCalendarOrientation();
|
||||
}
|
||||
|
||||
private void UpdateIdleState()
|
||||
{
|
||||
InternalFlipView.Opacity = IsFlipIdle ? 0 : 1;
|
||||
IdleGrid.Visibility = IsFlipIdle ? Visibility.Visible : Visibility.Collapsed;
|
||||
}
|
||||
|
||||
private void ActiveTimelineCellUnselected(object sender, TimelineCellUnselectedArgs e)
|
||||
=> TimelineCellUnselected?.Invoke(this, e);
|
||||
|
||||
private void ActiveTimelineCellSelected(object sender, TimelineCellSelectedArgs e)
|
||||
=> TimelineCellSelected?.Invoke(this, e);
|
||||
|
||||
public void NavigateToDay(DateTime dateTime) => InternalFlipView.NavigateToDay(dateTime);
|
||||
|
||||
public async void NavigateToHour(TimeSpan timeSpan)
|
||||
{
|
||||
if (ActiveScrollViewer == null) return;
|
||||
|
||||
// Total height of the FlipViewItem is the same as vertical ScrollViewer to position day headers.
|
||||
|
||||
await Task.Yield();
|
||||
await Dispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.High, () =>
|
||||
{
|
||||
double hourHeght = 60;
|
||||
double totalHeight = ActiveScrollViewer.ScrollableHeight;
|
||||
double scrollPosition = timeSpan.TotalHours * hourHeght;
|
||||
|
||||
ActiveScrollViewer.ChangeView(null, scrollPosition, null, disableAnimation: false);
|
||||
});
|
||||
}
|
||||
public void ResetTimelineSelection()
|
||||
{
|
||||
if (ActiveCanvas == null) return;
|
||||
|
||||
ActiveCanvas.SelectedDateTime = null;
|
||||
}
|
||||
|
||||
public void GoNextRange()
|
||||
{
|
||||
if (InternalFlipView == null) return;
|
||||
|
||||
InternalFlipView.GoNextFlip();
|
||||
}
|
||||
|
||||
public void GoPreviousRange()
|
||||
{
|
||||
if (InternalFlipView == null) return;
|
||||
|
||||
InternalFlipView.GoPreviousFlip();
|
||||
}
|
||||
|
||||
public void UnselectActiveTimelineCell()
|
||||
{
|
||||
if (ActiveCanvas == null) return;
|
||||
|
||||
ActiveCanvas.SelectedDateTime = null;
|
||||
}
|
||||
|
||||
public CalendarItemControl GetCalendarItemControl(CalendarItemViewModel calendarItemViewModel)
|
||||
{
|
||||
return this.FindDescendants<CalendarItemControl>().FirstOrDefault(a => a.CalendarItem == calendarItemViewModel);
|
||||
control.ManageCalendarOrientation();
|
||||
}
|
||||
}
|
||||
|
||||
private static void OnIdleStateChanged(DependencyObject calendar, DependencyPropertyChangedEventArgs e)
|
||||
{
|
||||
if (calendar is WinoCalendarControl calendarControl)
|
||||
{
|
||||
calendarControl.UpdateIdleState();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
private static void OnActiveVerticalScrollViewerChanged(DependencyObject calendar, DependencyPropertyChangedEventArgs e)
|
||||
{
|
||||
if (calendar is WinoCalendarControl calendarControl)
|
||||
{
|
||||
if (e.OldValue is ScrollViewer oldScrollViewer)
|
||||
{
|
||||
calendarControl.DeregisterScrollChanges(oldScrollViewer);
|
||||
}
|
||||
|
||||
if (e.NewValue is ScrollViewer newScrollViewer)
|
||||
{
|
||||
calendarControl.RegisterScrollChanges(newScrollViewer);
|
||||
}
|
||||
|
||||
calendarControl.ManageHighlightedDateRange();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
private static void OnActiveCanvasChanged(DependencyObject calendar, DependencyPropertyChangedEventArgs e)
|
||||
{
|
||||
if (calendar is WinoCalendarControl calendarControl)
|
||||
{
|
||||
if (e.OldValue is WinoDayTimelineCanvas oldCanvas)
|
||||
{
|
||||
// Dismiss any selection on the old canvas.
|
||||
calendarControl.DeregisterCanvas(oldCanvas);
|
||||
}
|
||||
|
||||
if (e.NewValue is WinoDayTimelineCanvas newCanvas)
|
||||
{
|
||||
calendarControl.RegisterCanvas(newCanvas);
|
||||
}
|
||||
|
||||
calendarControl.ManageHighlightedDateRange();
|
||||
}
|
||||
}
|
||||
|
||||
private void ManageCalendarOrientation()
|
||||
{
|
||||
if (InternalFlipView == null || HorizontalItemsPanelTemplate == null || VerticalItemsPanelTemplate == null) return;
|
||||
|
||||
InternalFlipView.ItemsPanel = Orientation == CalendarOrientation.Horizontal ? HorizontalItemsPanelTemplate : VerticalItemsPanelTemplate;
|
||||
}
|
||||
|
||||
private void ManageHighlightedDateRange()
|
||||
=> SelectedFlipViewDayRange = InternalFlipView.SelectedItem as DayRangeRenderModel;
|
||||
|
||||
private void DeregisterCanvas(WinoDayTimelineCanvas canvas)
|
||||
{
|
||||
if (canvas == null) return;
|
||||
|
||||
canvas.SelectedDateTime = null;
|
||||
canvas.TimelineCellSelected -= ActiveTimelineCellSelected;
|
||||
canvas.TimelineCellUnselected -= ActiveTimelineCellUnselected;
|
||||
}
|
||||
|
||||
private void RegisterCanvas(WinoDayTimelineCanvas canvas)
|
||||
{
|
||||
if (canvas == null) return;
|
||||
|
||||
canvas.SelectedDateTime = null;
|
||||
canvas.TimelineCellSelected += ActiveTimelineCellSelected;
|
||||
canvas.TimelineCellUnselected += ActiveTimelineCellUnselected;
|
||||
}
|
||||
|
||||
private void RegisterScrollChanges(ScrollViewer scrollViewer)
|
||||
{
|
||||
if (scrollViewer == null) return;
|
||||
|
||||
scrollViewer.ViewChanging += ScrollViewChanging;
|
||||
}
|
||||
|
||||
private void DeregisterScrollChanges(ScrollViewer scrollViewer)
|
||||
{
|
||||
if (scrollViewer == null) return;
|
||||
|
||||
scrollViewer.ViewChanging -= ScrollViewChanging;
|
||||
}
|
||||
|
||||
private void ScrollViewChanging(object sender, ScrollViewerViewChangingEventArgs e)
|
||||
=> ScrollPositionChanging?.Invoke(this, EventArgs.Empty);
|
||||
|
||||
private void CalendarSizeChanged(object sender, SizeChangedEventArgs e)
|
||||
{
|
||||
if (ActiveCanvas == null) return;
|
||||
|
||||
ActiveCanvas.SelectedDateTime = null;
|
||||
}
|
||||
|
||||
protected override void OnApplyTemplate()
|
||||
{
|
||||
base.OnApplyTemplate();
|
||||
|
||||
InternalFlipView = GetTemplateChild(PART_WinoFlipView) as WinoCalendarFlipView;
|
||||
IdleGrid = GetTemplateChild(PART_IdleGrid) as Grid;
|
||||
|
||||
UpdateIdleState();
|
||||
ManageCalendarOrientation();
|
||||
}
|
||||
|
||||
private void UpdateIdleState()
|
||||
{
|
||||
InternalFlipView.Opacity = IsFlipIdle ? 0 : 1;
|
||||
IdleGrid.Visibility = IsFlipIdle ? Visibility.Visible : Visibility.Collapsed;
|
||||
}
|
||||
|
||||
private void ActiveTimelineCellUnselected(object sender, TimelineCellUnselectedArgs e)
|
||||
=> TimelineCellUnselected?.Invoke(this, e);
|
||||
|
||||
private void ActiveTimelineCellSelected(object sender, TimelineCellSelectedArgs e)
|
||||
=> TimelineCellSelected?.Invoke(this, e);
|
||||
|
||||
public void NavigateToDay(DateTime dateTime) => InternalFlipView.NavigateToDay(dateTime);
|
||||
|
||||
public async void NavigateToHour(TimeSpan timeSpan)
|
||||
{
|
||||
if (ActiveScrollViewer == null) return;
|
||||
|
||||
// Total height of the FlipViewItem is the same as vertical ScrollViewer to position day headers.
|
||||
|
||||
await Task.Yield();
|
||||
await Dispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.High, () =>
|
||||
{
|
||||
double hourHeght = 60;
|
||||
double totalHeight = ActiveScrollViewer.ScrollableHeight;
|
||||
double scrollPosition = timeSpan.TotalHours * hourHeght;
|
||||
|
||||
ActiveScrollViewer.ChangeView(null, scrollPosition, null, disableAnimation: false);
|
||||
});
|
||||
}
|
||||
public void ResetTimelineSelection()
|
||||
{
|
||||
if (ActiveCanvas == null) return;
|
||||
|
||||
ActiveCanvas.SelectedDateTime = null;
|
||||
}
|
||||
|
||||
public void GoNextRange()
|
||||
{
|
||||
if (InternalFlipView == null) return;
|
||||
|
||||
InternalFlipView.GoNextFlip();
|
||||
}
|
||||
|
||||
public void GoPreviousRange()
|
||||
{
|
||||
if (InternalFlipView == null) return;
|
||||
|
||||
InternalFlipView.GoPreviousFlip();
|
||||
}
|
||||
|
||||
public void UnselectActiveTimelineCell()
|
||||
{
|
||||
if (ActiveCanvas == null) return;
|
||||
|
||||
ActiveCanvas.SelectedDateTime = null;
|
||||
}
|
||||
|
||||
public CalendarItemControl GetCalendarItemControl(CalendarItemViewModel calendarItemViewModel)
|
||||
{
|
||||
return this.FindDescendants<CalendarItemControl>().FirstOrDefault(a => a.CalendarItem == calendarItemViewModel);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -8,179 +8,178 @@ using Windows.UI.Xaml.Controls;
|
||||
using Wino.Core.Domain.Collections;
|
||||
using Wino.Core.Domain.Models.Calendar;
|
||||
|
||||
namespace Wino.Calendar.Controls
|
||||
namespace Wino.Calendar.Controls;
|
||||
|
||||
public partial class WinoCalendarFlipView : CustomCalendarFlipView
|
||||
{
|
||||
public class WinoCalendarFlipView : CustomCalendarFlipView
|
||||
public static readonly DependencyProperty IsIdleProperty = DependencyProperty.Register(nameof(IsIdle), typeof(bool), typeof(WinoCalendarFlipView), new PropertyMetadata(true));
|
||||
public static readonly DependencyProperty ActiveCanvasProperty = DependencyProperty.Register(nameof(ActiveCanvas), typeof(WinoDayTimelineCanvas), typeof(WinoCalendarFlipView), new PropertyMetadata(null));
|
||||
public static readonly DependencyProperty ActiveVerticalScrollViewerProperty = DependencyProperty.Register(nameof(ActiveVerticalScrollViewer), typeof(ScrollViewer), typeof(WinoCalendarFlipView), new PropertyMetadata(null));
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets the active canvas that is currently displayed in the flip view.
|
||||
/// Each day-range of flip view item has a canvas that displays the day timeline.
|
||||
/// </summary>
|
||||
public WinoDayTimelineCanvas ActiveCanvas
|
||||
{
|
||||
public static readonly DependencyProperty IsIdleProperty = DependencyProperty.Register(nameof(IsIdle), typeof(bool), typeof(WinoCalendarFlipView), new PropertyMetadata(true));
|
||||
public static readonly DependencyProperty ActiveCanvasProperty = DependencyProperty.Register(nameof(ActiveCanvas), typeof(WinoDayTimelineCanvas), typeof(WinoCalendarFlipView), new PropertyMetadata(null));
|
||||
public static readonly DependencyProperty ActiveVerticalScrollViewerProperty = DependencyProperty.Register(nameof(ActiveVerticalScrollViewer), typeof(ScrollViewer), typeof(WinoCalendarFlipView), new PropertyMetadata(null));
|
||||
get { return (WinoDayTimelineCanvas)GetValue(ActiveCanvasProperty); }
|
||||
set { SetValue(ActiveCanvasProperty, value); }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets the active canvas that is currently displayed in the flip view.
|
||||
/// Each day-range of flip view item has a canvas that displays the day timeline.
|
||||
/// </summary>
|
||||
public WinoDayTimelineCanvas ActiveCanvas
|
||||
/// <summary>
|
||||
/// Gets or sets the scroll viewer that is currently active in the flip view.
|
||||
/// It's the vertical scroll that scrolls the timeline only, not the header part that belongs
|
||||
/// to parent FlipView control.
|
||||
/// </summary>
|
||||
public ScrollViewer ActiveVerticalScrollViewer
|
||||
{
|
||||
get { return (ScrollViewer)GetValue(ActiveVerticalScrollViewerProperty); }
|
||||
set { SetValue(ActiveVerticalScrollViewerProperty, value); }
|
||||
}
|
||||
|
||||
public bool IsIdle
|
||||
{
|
||||
get { return (bool)GetValue(IsIdleProperty); }
|
||||
set { SetValue(IsIdleProperty, value); }
|
||||
}
|
||||
|
||||
public WinoCalendarFlipView()
|
||||
{
|
||||
RegisterPropertyChangedCallback(SelectedIndexProperty, new DependencyPropertyChangedCallback(OnSelectedIndexUpdated));
|
||||
RegisterPropertyChangedCallback(ItemsSourceProperty, new DependencyPropertyChangedCallback(OnItemsSourceChanged));
|
||||
}
|
||||
|
||||
private static void OnItemsSourceChanged(DependencyObject d, DependencyProperty e)
|
||||
{
|
||||
if (d is WinoCalendarFlipView flipView)
|
||||
{
|
||||
get { return (WinoDayTimelineCanvas)GetValue(ActiveCanvasProperty); }
|
||||
set { SetValue(ActiveCanvasProperty, value); }
|
||||
flipView.RegisterItemsSourceChange();
|
||||
}
|
||||
}
|
||||
|
||||
private static void OnSelectedIndexUpdated(DependencyObject d, DependencyProperty e)
|
||||
{
|
||||
if (d is WinoCalendarFlipView flipView)
|
||||
{
|
||||
flipView.UpdateActiveCanvas();
|
||||
flipView.UpdateActiveScrollViewer();
|
||||
}
|
||||
}
|
||||
|
||||
private void RegisterItemsSourceChange()
|
||||
{
|
||||
if (GetItemsSource() is INotifyCollectionChanged notifyCollectionChanged)
|
||||
{
|
||||
notifyCollectionChanged.CollectionChanged += ItemsSourceUpdated;
|
||||
}
|
||||
}
|
||||
|
||||
private void ItemsSourceUpdated(object sender, NotifyCollectionChangedEventArgs e)
|
||||
{
|
||||
IsIdle = e.Action == NotifyCollectionChangedAction.Reset || e.Action == NotifyCollectionChangedAction.Replace;
|
||||
}
|
||||
|
||||
private async Task<FlipViewItem> GetCurrentFlipViewItem()
|
||||
{
|
||||
// TODO: Refactor this mechanism by listening to PrepareContainerForItemOverride and Loaded events together.
|
||||
while (ContainerFromIndex(SelectedIndex) == null)
|
||||
{
|
||||
await Task.Delay(100);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets the scroll viewer that is currently active in the flip view.
|
||||
/// It's the vertical scroll that scrolls the timeline only, not the header part that belongs
|
||||
/// to parent FlipView control.
|
||||
/// </summary>
|
||||
public ScrollViewer ActiveVerticalScrollViewer
|
||||
{
|
||||
get { return (ScrollViewer)GetValue(ActiveVerticalScrollViewerProperty); }
|
||||
set { SetValue(ActiveVerticalScrollViewerProperty, value); }
|
||||
}
|
||||
return ContainerFromIndex(SelectedIndex) as FlipViewItem;
|
||||
|
||||
public bool IsIdle
|
||||
{
|
||||
get { return (bool)GetValue(IsIdleProperty); }
|
||||
set { SetValue(IsIdleProperty, value); }
|
||||
}
|
||||
|
||||
public WinoCalendarFlipView()
|
||||
{
|
||||
RegisterPropertyChangedCallback(SelectedIndexProperty, new DependencyPropertyChangedCallback(OnSelectedIndexUpdated));
|
||||
RegisterPropertyChangedCallback(ItemsSourceProperty, new DependencyPropertyChangedCallback(OnItemsSourceChanged));
|
||||
}
|
||||
}
|
||||
|
||||
private static void OnItemsSourceChanged(DependencyObject d, DependencyProperty e)
|
||||
private void UpdateActiveScrollViewer()
|
||||
{
|
||||
if (SelectedIndex < 0)
|
||||
ActiveVerticalScrollViewer = null;
|
||||
else
|
||||
{
|
||||
if (d is WinoCalendarFlipView flipView)
|
||||
GetCurrentFlipViewItem().ContinueWith(task =>
|
||||
{
|
||||
flipView.RegisterItemsSourceChange();
|
||||
}
|
||||
}
|
||||
|
||||
private static void OnSelectedIndexUpdated(DependencyObject d, DependencyProperty e)
|
||||
{
|
||||
if (d is WinoCalendarFlipView flipView)
|
||||
{
|
||||
flipView.UpdateActiveCanvas();
|
||||
flipView.UpdateActiveScrollViewer();
|
||||
}
|
||||
}
|
||||
|
||||
private void RegisterItemsSourceChange()
|
||||
{
|
||||
if (GetItemsSource() is INotifyCollectionChanged notifyCollectionChanged)
|
||||
{
|
||||
notifyCollectionChanged.CollectionChanged += ItemsSourceUpdated;
|
||||
}
|
||||
}
|
||||
|
||||
private void ItemsSourceUpdated(object sender, NotifyCollectionChangedEventArgs e)
|
||||
{
|
||||
IsIdle = e.Action == NotifyCollectionChangedAction.Reset || e.Action == NotifyCollectionChangedAction.Replace;
|
||||
}
|
||||
|
||||
private async Task<FlipViewItem> GetCurrentFlipViewItem()
|
||||
{
|
||||
// TODO: Refactor this mechanism by listening to PrepareContainerForItemOverride and Loaded events together.
|
||||
while (ContainerFromIndex(SelectedIndex) == null)
|
||||
{
|
||||
await Task.Delay(100);
|
||||
}
|
||||
|
||||
return ContainerFromIndex(SelectedIndex) as FlipViewItem;
|
||||
|
||||
|
||||
}
|
||||
|
||||
private void UpdateActiveScrollViewer()
|
||||
{
|
||||
if (SelectedIndex < 0)
|
||||
ActiveVerticalScrollViewer = null;
|
||||
else
|
||||
{
|
||||
GetCurrentFlipViewItem().ContinueWith(task =>
|
||||
if (task.IsCompletedSuccessfully)
|
||||
{
|
||||
if (task.IsCompletedSuccessfully)
|
||||
var flipViewItem = task.Result;
|
||||
|
||||
_ = Dispatcher.TryRunAsync(Windows.UI.Core.CoreDispatcherPriority.Normal, () =>
|
||||
{
|
||||
var flipViewItem = task.Result;
|
||||
|
||||
_ = Dispatcher.TryRunAsync(Windows.UI.Core.CoreDispatcherPriority.Normal, () =>
|
||||
{
|
||||
ActiveVerticalScrollViewer = flipViewItem.FindDescendant<ScrollViewer>();
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
public void UpdateActiveCanvas()
|
||||
{
|
||||
if (SelectedIndex < 0)
|
||||
ActiveCanvas = null;
|
||||
else
|
||||
{
|
||||
GetCurrentFlipViewItem().ContinueWith(task =>
|
||||
{
|
||||
if (task.IsCompletedSuccessfully)
|
||||
{
|
||||
var flipViewItem = task.Result;
|
||||
|
||||
_ = Dispatcher.TryRunAsync(Windows.UI.Core.CoreDispatcherPriority.Normal, () =>
|
||||
{
|
||||
ActiveCanvas = flipViewItem.FindDescendant<WinoDayTimelineCanvas>();
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Navigates to the specified date in the calendar.
|
||||
/// </summary>
|
||||
/// <param name="dateTime">Date to navigate.</param>
|
||||
public async void NavigateToDay(DateTime dateTime)
|
||||
{
|
||||
await Task.Yield();
|
||||
|
||||
await Dispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.High, () =>
|
||||
{
|
||||
// Find the day range that contains the date.
|
||||
var dayRange = GetItemsSource()?.FirstOrDefault(a => a.CalendarDays.Any(b => b.RepresentingDate.Date == dateTime.Date));
|
||||
|
||||
if (dayRange != null)
|
||||
{
|
||||
var navigationItemIndex = GetItemsSource().IndexOf(dayRange);
|
||||
|
||||
if (Math.Abs(navigationItemIndex - SelectedIndex) > 4)
|
||||
{
|
||||
// Difference between dates are high.
|
||||
// No need to animate this much, just go without animating.
|
||||
|
||||
SelectedIndex = navigationItemIndex;
|
||||
}
|
||||
else
|
||||
{
|
||||
// Until we reach the day in the flip, simulate next-prev button clicks.
|
||||
// This will make sure the FlipView animations are triggered.
|
||||
// Setting SelectedIndex directly doesn't trigger the animations.
|
||||
|
||||
while (SelectedIndex != navigationItemIndex)
|
||||
{
|
||||
if (SelectedIndex > navigationItemIndex)
|
||||
{
|
||||
GoPreviousFlip();
|
||||
}
|
||||
else
|
||||
{
|
||||
GoNextFlip();
|
||||
}
|
||||
}
|
||||
}
|
||||
ActiveVerticalScrollViewer = flipViewItem.FindDescendant<ScrollViewer>();
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
private ObservableRangeCollection<DayRangeRenderModel> GetItemsSource()
|
||||
=> ItemsSource as ObservableRangeCollection<DayRangeRenderModel>;
|
||||
}
|
||||
|
||||
public void UpdateActiveCanvas()
|
||||
{
|
||||
if (SelectedIndex < 0)
|
||||
ActiveCanvas = null;
|
||||
else
|
||||
{
|
||||
GetCurrentFlipViewItem().ContinueWith(task =>
|
||||
{
|
||||
if (task.IsCompletedSuccessfully)
|
||||
{
|
||||
var flipViewItem = task.Result;
|
||||
|
||||
_ = Dispatcher.TryRunAsync(Windows.UI.Core.CoreDispatcherPriority.Normal, () =>
|
||||
{
|
||||
ActiveCanvas = flipViewItem.FindDescendant<WinoDayTimelineCanvas>();
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Navigates to the specified date in the calendar.
|
||||
/// </summary>
|
||||
/// <param name="dateTime">Date to navigate.</param>
|
||||
public async void NavigateToDay(DateTime dateTime)
|
||||
{
|
||||
await Task.Yield();
|
||||
|
||||
await Dispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.High, () =>
|
||||
{
|
||||
// Find the day range that contains the date.
|
||||
var dayRange = GetItemsSource()?.FirstOrDefault(a => a.CalendarDays.Any(b => b.RepresentingDate.Date == dateTime.Date));
|
||||
|
||||
if (dayRange != null)
|
||||
{
|
||||
var navigationItemIndex = GetItemsSource().IndexOf(dayRange);
|
||||
|
||||
if (Math.Abs(navigationItemIndex - SelectedIndex) > 4)
|
||||
{
|
||||
// Difference between dates are high.
|
||||
// No need to animate this much, just go without animating.
|
||||
|
||||
SelectedIndex = navigationItemIndex;
|
||||
}
|
||||
else
|
||||
{
|
||||
// Until we reach the day in the flip, simulate next-prev button clicks.
|
||||
// This will make sure the FlipView animations are triggered.
|
||||
// Setting SelectedIndex directly doesn't trigger the animations.
|
||||
|
||||
while (SelectedIndex != navigationItemIndex)
|
||||
{
|
||||
if (SelectedIndex > navigationItemIndex)
|
||||
{
|
||||
GoPreviousFlip();
|
||||
}
|
||||
else
|
||||
{
|
||||
GoNextFlip();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
private ObservableRangeCollection<DayRangeRenderModel> GetItemsSource()
|
||||
=> ItemsSource as ObservableRangeCollection<DayRangeRenderModel>;
|
||||
}
|
||||
|
||||
@@ -11,284 +11,283 @@ using Wino.Calendar.Models;
|
||||
using Wino.Calendar.ViewModels.Data;
|
||||
using Wino.Core.Domain.Interfaces;
|
||||
|
||||
namespace Wino.Calendar.Controls
|
||||
namespace Wino.Calendar.Controls;
|
||||
|
||||
public partial class WinoCalendarPanel : Panel
|
||||
{
|
||||
public class WinoCalendarPanel : Panel
|
||||
private const double LastItemRightExtraMargin = 12d;
|
||||
|
||||
// Store each ICalendarItem measurements by their Id.
|
||||
private readonly Dictionary<ICalendarItem, CalendarItemMeasurement> _measurements = new Dictionary<ICalendarItem, CalendarItemMeasurement>();
|
||||
|
||||
public static readonly DependencyProperty EventItemMarginProperty = DependencyProperty.Register(nameof(EventItemMargin), typeof(Thickness), typeof(WinoCalendarPanel), new PropertyMetadata(new Thickness(0, 0, 0, 0)));
|
||||
public static readonly DependencyProperty HourHeightProperty = DependencyProperty.Register(nameof(HourHeight), typeof(double), typeof(WinoCalendarPanel), new PropertyMetadata(0d));
|
||||
public static readonly DependencyProperty PeriodProperty = DependencyProperty.Register(nameof(Period), typeof(ITimePeriod), typeof(WinoCalendarPanel), new PropertyMetadata(null));
|
||||
|
||||
public ITimePeriod Period
|
||||
{
|
||||
private const double LastItemRightExtraMargin = 12d;
|
||||
get { return (ITimePeriod)GetValue(PeriodProperty); }
|
||||
set { SetValue(PeriodProperty, value); }
|
||||
}
|
||||
|
||||
// Store each ICalendarItem measurements by their Id.
|
||||
private readonly Dictionary<ICalendarItem, CalendarItemMeasurement> _measurements = new Dictionary<ICalendarItem, CalendarItemMeasurement>();
|
||||
public double HourHeight
|
||||
{
|
||||
get { return (double)GetValue(HourHeightProperty); }
|
||||
set { SetValue(HourHeightProperty, value); }
|
||||
}
|
||||
|
||||
public static readonly DependencyProperty EventItemMarginProperty = DependencyProperty.Register(nameof(EventItemMargin), typeof(Thickness), typeof(WinoCalendarPanel), new PropertyMetadata(new Thickness(0, 0, 0, 0)));
|
||||
public static readonly DependencyProperty HourHeightProperty = DependencyProperty.Register(nameof(HourHeight), typeof(double), typeof(WinoCalendarPanel), new PropertyMetadata(0d));
|
||||
public static readonly DependencyProperty PeriodProperty = DependencyProperty.Register(nameof(Period), typeof(ITimePeriod), typeof(WinoCalendarPanel), new PropertyMetadata(null));
|
||||
public Thickness EventItemMargin
|
||||
{
|
||||
get { return (Thickness)GetValue(EventItemMarginProperty); }
|
||||
set { SetValue(EventItemMarginProperty, value); }
|
||||
}
|
||||
|
||||
public ITimePeriod Period
|
||||
private void ResetMeasurements() => _measurements.Clear();
|
||||
|
||||
private double GetChildTopMargin(ICalendarItem calendarItemViewModel, double availableHeight)
|
||||
{
|
||||
var childStart = calendarItemViewModel.StartDate;
|
||||
|
||||
if (childStart <= Period.Start)
|
||||
{
|
||||
get { return (ITimePeriod)GetValue(PeriodProperty); }
|
||||
set { SetValue(PeriodProperty, value); }
|
||||
// Event started before or exactly at the periods tart. This might be a multi-day event.
|
||||
// We can simply consider event must not have a top margin.
|
||||
|
||||
return 0d;
|
||||
}
|
||||
|
||||
public double HourHeight
|
||||
double minutesFromStart = (childStart - Period.Start).TotalMinutes;
|
||||
return (minutesFromStart / 1440) * availableHeight;
|
||||
}
|
||||
|
||||
private double GetChildWidth(CalendarItemMeasurement calendarItemMeasurement, double availableWidth)
|
||||
{
|
||||
return (calendarItemMeasurement.Right - calendarItemMeasurement.Left) * availableWidth;
|
||||
}
|
||||
|
||||
private double GetChildLeftMargin(CalendarItemMeasurement calendarItemMeasurement, double availableWidth)
|
||||
=> availableWidth * calendarItemMeasurement.Left;
|
||||
|
||||
private double GetChildHeight(ICalendarItem child)
|
||||
{
|
||||
// All day events are not measured.
|
||||
if (child.IsAllDayEvent) return 0;
|
||||
|
||||
double childDurationInMinutes = 0d;
|
||||
double availableHeight = HourHeight * 24;
|
||||
|
||||
var periodRelation = child.Period.GetRelation(Period);
|
||||
|
||||
// Debug.WriteLine($"Render relation of {child.Title} ({child.Period.Start} - {child.Period.End}) is {periodRelation} with {Period.Start.Day}");
|
||||
|
||||
if (!child.IsMultiDayEvent)
|
||||
{
|
||||
get { return (double)GetValue(HourHeightProperty); }
|
||||
set { SetValue(HourHeightProperty, value); }
|
||||
childDurationInMinutes = child.Period.Duration.TotalMinutes;
|
||||
}
|
||||
else
|
||||
{
|
||||
// Multi-day event.
|
||||
// Check how many of the event falls into the current period.
|
||||
childDurationInMinutes = (child.Period.End - Period.Start).TotalMinutes;
|
||||
}
|
||||
|
||||
public Thickness EventItemMargin
|
||||
return (childDurationInMinutes / 1440) * availableHeight;
|
||||
}
|
||||
|
||||
protected override Size MeasureOverride(Size availableSize)
|
||||
{
|
||||
ResetMeasurements();
|
||||
return base.MeasureOverride(availableSize);
|
||||
}
|
||||
|
||||
protected override Size ArrangeOverride(Size finalSize)
|
||||
{
|
||||
if (Period == null || HourHeight == 0d) return finalSize;
|
||||
|
||||
// Measure/arrange each child height and width.
|
||||
// This is a vertical calendar. Therefore the height of each child is the duration of the event.
|
||||
// Children weights for left and right will be saved if they don't exist.
|
||||
// This is important because we don't want to measure the weights again.
|
||||
// They don't change until new event is added or removed.
|
||||
// Width of the each child may depend on the rectangle packing algorithm.
|
||||
// Children are first categorized into columns. Then each column is shifted to the left until
|
||||
// no overlap occurs. The width of each child is calculated based on the number of columns it spans.
|
||||
|
||||
double availableHeight = finalSize.Height;
|
||||
double availableWidth = finalSize.Width;
|
||||
|
||||
var calendarControls = Children.Cast<ContentPresenter>();
|
||||
|
||||
if (!calendarControls.Any()) return base.ArrangeOverride(finalSize);
|
||||
|
||||
var events = calendarControls.Select(a => a.Content as CalendarItemViewModel);
|
||||
|
||||
LayoutEvents(events);
|
||||
|
||||
foreach (var control in calendarControls)
|
||||
{
|
||||
get { return (Thickness)GetValue(EventItemMarginProperty); }
|
||||
set { SetValue(EventItemMarginProperty, value); }
|
||||
}
|
||||
// We can't arrange this child.
|
||||
if (!(control.Content is ICalendarItem child)) continue;
|
||||
|
||||
private void ResetMeasurements() => _measurements.Clear();
|
||||
bool isHorizontallyLastItem = false;
|
||||
|
||||
private double GetChildTopMargin(ICalendarItem calendarItemViewModel, double availableHeight)
|
||||
{
|
||||
var childStart = calendarItemViewModel.StartDate;
|
||||
double childWidth = 0,
|
||||
childHeight = Math.Max(0, GetChildHeight(child)),
|
||||
childTop = Math.Max(0, GetChildTopMargin(child, availableHeight)),
|
||||
childLeft = 0;
|
||||
|
||||
if (childStart <= Period.Start)
|
||||
{
|
||||
// Event started before or exactly at the periods tart. This might be a multi-day event.
|
||||
// We can simply consider event must not have a top margin.
|
||||
// No need to measure anything here.
|
||||
if (childHeight == 0) continue;
|
||||
|
||||
return 0d;
|
||||
}
|
||||
|
||||
double minutesFromStart = (childStart - Period.Start).TotalMinutes;
|
||||
return (minutesFromStart / 1440) * availableHeight;
|
||||
}
|
||||
|
||||
private double GetChildWidth(CalendarItemMeasurement calendarItemMeasurement, double availableWidth)
|
||||
{
|
||||
return (calendarItemMeasurement.Right - calendarItemMeasurement.Left) * availableWidth;
|
||||
}
|
||||
|
||||
private double GetChildLeftMargin(CalendarItemMeasurement calendarItemMeasurement, double availableWidth)
|
||||
=> availableWidth * calendarItemMeasurement.Left;
|
||||
|
||||
private double GetChildHeight(ICalendarItem child)
|
||||
{
|
||||
// All day events are not measured.
|
||||
if (child.IsAllDayEvent) return 0;
|
||||
|
||||
double childDurationInMinutes = 0d;
|
||||
double availableHeight = HourHeight * 24;
|
||||
|
||||
var periodRelation = child.Period.GetRelation(Period);
|
||||
|
||||
// Debug.WriteLine($"Render relation of {child.Title} ({child.Period.Start} - {child.Period.End}) is {periodRelation} with {Period.Start.Day}");
|
||||
|
||||
if (!child.IsMultiDayEvent)
|
||||
{
|
||||
childDurationInMinutes = child.Period.Duration.TotalMinutes;
|
||||
}
|
||||
else
|
||||
if (!_measurements.ContainsKey(child))
|
||||
{
|
||||
// Multi-day event.
|
||||
// Check how many of the event falls into the current period.
|
||||
childDurationInMinutes = (child.Period.End - Period.Start).TotalMinutes;
|
||||
}
|
||||
|
||||
return (childDurationInMinutes / 1440) * availableHeight;
|
||||
}
|
||||
|
||||
protected override Size MeasureOverride(Size availableSize)
|
||||
{
|
||||
ResetMeasurements();
|
||||
return base.MeasureOverride(availableSize);
|
||||
}
|
||||
|
||||
protected override Size ArrangeOverride(Size finalSize)
|
||||
{
|
||||
if (Period == null || HourHeight == 0d) return finalSize;
|
||||
|
||||
// Measure/arrange each child height and width.
|
||||
// This is a vertical calendar. Therefore the height of each child is the duration of the event.
|
||||
// Children weights for left and right will be saved if they don't exist.
|
||||
// This is important because we don't want to measure the weights again.
|
||||
// They don't change until new event is added or removed.
|
||||
// Width of the each child may depend on the rectangle packing algorithm.
|
||||
// Children are first categorized into columns. Then each column is shifted to the left until
|
||||
// no overlap occurs. The width of each child is calculated based on the number of columns it spans.
|
||||
|
||||
double availableHeight = finalSize.Height;
|
||||
double availableWidth = finalSize.Width;
|
||||
|
||||
var calendarControls = Children.Cast<ContentPresenter>();
|
||||
|
||||
if (!calendarControls.Any()) return base.ArrangeOverride(finalSize);
|
||||
|
||||
var events = calendarControls.Select(a => a.Content as CalendarItemViewModel);
|
||||
|
||||
LayoutEvents(events);
|
||||
|
||||
foreach (var control in calendarControls)
|
||||
{
|
||||
// We can't arrange this child.
|
||||
if (!(control.Content is ICalendarItem child)) continue;
|
||||
|
||||
bool isHorizontallyLastItem = false;
|
||||
|
||||
double childWidth = 0,
|
||||
childHeight = Math.Max(0, GetChildHeight(child)),
|
||||
childTop = Math.Max(0, GetChildTopMargin(child, availableHeight)),
|
||||
childLeft = 0;
|
||||
|
||||
// No need to measure anything here.
|
||||
if (childHeight == 0) continue;
|
||||
|
||||
if (!_measurements.ContainsKey(child))
|
||||
{
|
||||
// Multi-day event.
|
||||
|
||||
childLeft = 0;
|
||||
childWidth = availableWidth;
|
||||
}
|
||||
else
|
||||
{
|
||||
var childMeasurement = _measurements[child];
|
||||
|
||||
childWidth = Math.Max(0, GetChildWidth(childMeasurement, finalSize.Width));
|
||||
childLeft = Math.Max(0, GetChildLeftMargin(childMeasurement, availableWidth));
|
||||
|
||||
isHorizontallyLastItem = childMeasurement.Right == 1;
|
||||
}
|
||||
|
||||
// Add additional right margin to items that falls on the right edge of the panel.
|
||||
double extraRightMargin = 0;
|
||||
|
||||
// Multi-day events don't have any margin and their hit test is disabled.
|
||||
if (!child.IsMultiDayEvent)
|
||||
{
|
||||
// Max of 5% of the width or 20px max.
|
||||
extraRightMargin = isHorizontallyLastItem ? Math.Max(LastItemRightExtraMargin, finalSize.Width * 5 / 100) : 0;
|
||||
}
|
||||
|
||||
if (childWidth < 0) childWidth = 1;
|
||||
|
||||
// Regular events must have 2px margin
|
||||
if (!child.IsMultiDayEvent && !child.IsAllDayEvent)
|
||||
{
|
||||
childLeft += 2;
|
||||
childTop += 2;
|
||||
childHeight -= 2;
|
||||
childWidth -= 2;
|
||||
}
|
||||
|
||||
var arrangementRect = new Rect(childLeft + EventItemMargin.Left, childTop + EventItemMargin.Top, Math.Max(childWidth - extraRightMargin, 1), childHeight);
|
||||
|
||||
// Make sure measured size will fit in the arranged box.
|
||||
var measureSize = arrangementRect.ToSize();
|
||||
control.Measure(measureSize);
|
||||
control.Arrange(arrangementRect);
|
||||
|
||||
//Debug.WriteLine($"{child.Title}, Measured: {measureSize}, Arranged: {arrangementRect}");
|
||||
}
|
||||
|
||||
|
||||
return finalSize;
|
||||
}
|
||||
|
||||
#region ColumSpanning and Packing Algorithm
|
||||
|
||||
private void AddOrUpdateMeasurement(ICalendarItem calendarItem, CalendarItemMeasurement measurement)
|
||||
{
|
||||
if (_measurements.ContainsKey(calendarItem))
|
||||
{
|
||||
_measurements[calendarItem] = measurement;
|
||||
childLeft = 0;
|
||||
childWidth = availableWidth;
|
||||
}
|
||||
else
|
||||
{
|
||||
_measurements.Add(calendarItem, measurement);
|
||||
var childMeasurement = _measurements[child];
|
||||
|
||||
childWidth = Math.Max(0, GetChildWidth(childMeasurement, finalSize.Width));
|
||||
childLeft = Math.Max(0, GetChildLeftMargin(childMeasurement, availableWidth));
|
||||
|
||||
isHorizontallyLastItem = childMeasurement.Right == 1;
|
||||
}
|
||||
|
||||
// Add additional right margin to items that falls on the right edge of the panel.
|
||||
double extraRightMargin = 0;
|
||||
|
||||
// Multi-day events don't have any margin and their hit test is disabled.
|
||||
if (!child.IsMultiDayEvent)
|
||||
{
|
||||
// Max of 5% of the width or 20px max.
|
||||
extraRightMargin = isHorizontallyLastItem ? Math.Max(LastItemRightExtraMargin, finalSize.Width * 5 / 100) : 0;
|
||||
}
|
||||
|
||||
if (childWidth < 0) childWidth = 1;
|
||||
|
||||
// Regular events must have 2px margin
|
||||
if (!child.IsMultiDayEvent && !child.IsAllDayEvent)
|
||||
{
|
||||
childLeft += 2;
|
||||
childTop += 2;
|
||||
childHeight -= 2;
|
||||
childWidth -= 2;
|
||||
}
|
||||
|
||||
var arrangementRect = new Rect(childLeft + EventItemMargin.Left, childTop + EventItemMargin.Top, Math.Max(childWidth - extraRightMargin, 1), childHeight);
|
||||
|
||||
// Make sure measured size will fit in the arranged box.
|
||||
var measureSize = arrangementRect.ToSize();
|
||||
control.Measure(measureSize);
|
||||
control.Arrange(arrangementRect);
|
||||
|
||||
//Debug.WriteLine($"{child.Title}, Measured: {measureSize}, Arranged: {arrangementRect}");
|
||||
}
|
||||
|
||||
// Pick the left and right positions of each event, such that there are no overlap.
|
||||
private void LayoutEvents(IEnumerable<ICalendarItem> events)
|
||||
|
||||
return finalSize;
|
||||
}
|
||||
|
||||
#region ColumSpanning and Packing Algorithm
|
||||
|
||||
private void AddOrUpdateMeasurement(ICalendarItem calendarItem, CalendarItemMeasurement measurement)
|
||||
{
|
||||
if (_measurements.ContainsKey(calendarItem))
|
||||
{
|
||||
var columns = new List<List<ICalendarItem>>();
|
||||
DateTime? lastEventEnding = null;
|
||||
_measurements[calendarItem] = measurement;
|
||||
}
|
||||
else
|
||||
{
|
||||
_measurements.Add(calendarItem, measurement);
|
||||
}
|
||||
}
|
||||
|
||||
foreach (var ev in events.OrderBy(ev => ev.StartDate).ThenBy(ev => ev.EndDate))
|
||||
{
|
||||
// Multi-day events are not measured.
|
||||
if (ev.IsMultiDayEvent) continue;
|
||||
// Pick the left and right positions of each event, such that there are no overlap.
|
||||
private void LayoutEvents(IEnumerable<ICalendarItem> events)
|
||||
{
|
||||
var columns = new List<List<ICalendarItem>>();
|
||||
DateTime? lastEventEnding = null;
|
||||
|
||||
if (ev.Period.Start >= lastEventEnding)
|
||||
{
|
||||
PackEvents(columns);
|
||||
columns.Clear();
|
||||
lastEventEnding = null;
|
||||
}
|
||||
foreach (var ev in events.OrderBy(ev => ev.StartDate).ThenBy(ev => ev.EndDate))
|
||||
{
|
||||
// Multi-day events are not measured.
|
||||
if (ev.IsMultiDayEvent) continue;
|
||||
|
||||
bool placed = false;
|
||||
|
||||
foreach (var col in columns)
|
||||
{
|
||||
if (!col.Last().Period.OverlapsWith(ev.Period))
|
||||
{
|
||||
col.Add(ev);
|
||||
placed = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (!placed)
|
||||
{
|
||||
columns.Add(new List<ICalendarItem> { ev });
|
||||
}
|
||||
if (lastEventEnding == null || ev.Period.End > lastEventEnding.Value)
|
||||
{
|
||||
lastEventEnding = ev.Period.End;
|
||||
}
|
||||
}
|
||||
if (columns.Count > 0)
|
||||
if (ev.Period.Start >= lastEventEnding)
|
||||
{
|
||||
PackEvents(columns);
|
||||
columns.Clear();
|
||||
lastEventEnding = null;
|
||||
}
|
||||
}
|
||||
|
||||
// Set the left and right positions for each event in the connected group.
|
||||
private void PackEvents(List<List<ICalendarItem>> columns)
|
||||
{
|
||||
float numColumns = columns.Count;
|
||||
int iColumn = 0;
|
||||
bool placed = false;
|
||||
|
||||
foreach (var col in columns)
|
||||
{
|
||||
foreach (var ev in col)
|
||||
if (!col.Last().Period.OverlapsWith(ev.Period))
|
||||
{
|
||||
int colSpan = ExpandEvent(ev, iColumn, columns);
|
||||
|
||||
var leftWeight = iColumn / numColumns;
|
||||
var rightWeight = (iColumn + colSpan) / numColumns;
|
||||
|
||||
AddOrUpdateMeasurement(ev, new CalendarItemMeasurement(leftWeight, rightWeight));
|
||||
col.Add(ev);
|
||||
placed = true;
|
||||
break;
|
||||
}
|
||||
|
||||
iColumn++;
|
||||
}
|
||||
}
|
||||
|
||||
// Checks how many columns the event can expand into, without colliding with other events.
|
||||
private int ExpandEvent(ICalendarItem ev, int iColumn, List<List<ICalendarItem>> columns)
|
||||
{
|
||||
int colSpan = 1;
|
||||
|
||||
foreach (var col in columns.Skip(iColumn + 1))
|
||||
if (!placed)
|
||||
{
|
||||
foreach (var ev1 in col)
|
||||
{
|
||||
if (ev1.Period.OverlapsWith(ev.Period)) return colSpan;
|
||||
}
|
||||
columns.Add(new List<ICalendarItem> { ev });
|
||||
}
|
||||
if (lastEventEnding == null || ev.Period.End > lastEventEnding.Value)
|
||||
{
|
||||
lastEventEnding = ev.Period.End;
|
||||
}
|
||||
}
|
||||
if (columns.Count > 0)
|
||||
{
|
||||
PackEvents(columns);
|
||||
}
|
||||
}
|
||||
|
||||
colSpan++;
|
||||
// Set the left and right positions for each event in the connected group.
|
||||
private void PackEvents(List<List<ICalendarItem>> columns)
|
||||
{
|
||||
float numColumns = columns.Count;
|
||||
int iColumn = 0;
|
||||
|
||||
foreach (var col in columns)
|
||||
{
|
||||
foreach (var ev in col)
|
||||
{
|
||||
int colSpan = ExpandEvent(ev, iColumn, columns);
|
||||
|
||||
var leftWeight = iColumn / numColumns;
|
||||
var rightWeight = (iColumn + colSpan) / numColumns;
|
||||
|
||||
AddOrUpdateMeasurement(ev, new CalendarItemMeasurement(leftWeight, rightWeight));
|
||||
}
|
||||
|
||||
return colSpan;
|
||||
iColumn++;
|
||||
}
|
||||
}
|
||||
|
||||
// Checks how many columns the event can expand into, without colliding with other events.
|
||||
private int ExpandEvent(ICalendarItem ev, int iColumn, List<List<ICalendarItem>> columns)
|
||||
{
|
||||
int colSpan = 1;
|
||||
|
||||
foreach (var col in columns.Skip(iColumn + 1))
|
||||
{
|
||||
foreach (var ev1 in col)
|
||||
{
|
||||
if (ev1.Period.OverlapsWith(ev.Period)) return colSpan;
|
||||
}
|
||||
|
||||
colSpan++;
|
||||
}
|
||||
|
||||
#endregion
|
||||
return colSpan;
|
||||
}
|
||||
|
||||
#endregion
|
||||
}
|
||||
|
||||
@@ -4,89 +4,88 @@ using Windows.UI.Xaml;
|
||||
using Windows.UI.Xaml.Controls;
|
||||
using Wino.Core.Domain.Enums;
|
||||
|
||||
namespace Wino.Calendar.Controls
|
||||
namespace Wino.Calendar.Controls;
|
||||
|
||||
public partial class WinoCalendarTypeSelectorControl : Control
|
||||
{
|
||||
public class WinoCalendarTypeSelectorControl : Control
|
||||
private const string PART_TodayButton = nameof(PART_TodayButton);
|
||||
private const string PART_DayToggle = nameof(PART_DayToggle);
|
||||
private const string PART_WeekToggle = nameof(PART_WeekToggle);
|
||||
private const string PART_MonthToggle = nameof(PART_MonthToggle);
|
||||
private const string PART_YearToggle = nameof(PART_YearToggle);
|
||||
|
||||
public static readonly DependencyProperty SelectedTypeProperty = DependencyProperty.Register(nameof(SelectedType), typeof(CalendarDisplayType), typeof(WinoCalendarTypeSelectorControl), new PropertyMetadata(CalendarDisplayType.Week));
|
||||
public static readonly DependencyProperty DisplayDayCountProperty = DependencyProperty.Register(nameof(DisplayDayCount), typeof(int), typeof(WinoCalendarTypeSelectorControl), new PropertyMetadata(0));
|
||||
public static readonly DependencyProperty TodayClickedCommandProperty = DependencyProperty.Register(nameof(TodayClickedCommand), typeof(ICommand), typeof(WinoCalendarTypeSelectorControl), new PropertyMetadata(null));
|
||||
|
||||
public ICommand TodayClickedCommand
|
||||
{
|
||||
private const string PART_TodayButton = nameof(PART_TodayButton);
|
||||
private const string PART_DayToggle = nameof(PART_DayToggle);
|
||||
private const string PART_WeekToggle = nameof(PART_WeekToggle);
|
||||
private const string PART_MonthToggle = nameof(PART_MonthToggle);
|
||||
private const string PART_YearToggle = nameof(PART_YearToggle);
|
||||
get { return (ICommand)GetValue(TodayClickedCommandProperty); }
|
||||
set { SetValue(TodayClickedCommandProperty, value); }
|
||||
}
|
||||
|
||||
public static readonly DependencyProperty SelectedTypeProperty = DependencyProperty.Register(nameof(SelectedType), typeof(CalendarDisplayType), typeof(WinoCalendarTypeSelectorControl), new PropertyMetadata(CalendarDisplayType.Week));
|
||||
public static readonly DependencyProperty DisplayDayCountProperty = DependencyProperty.Register(nameof(DisplayDayCount), typeof(int), typeof(WinoCalendarTypeSelectorControl), new PropertyMetadata(0));
|
||||
public static readonly DependencyProperty TodayClickedCommandProperty = DependencyProperty.Register(nameof(TodayClickedCommand), typeof(ICommand), typeof(WinoCalendarTypeSelectorControl), new PropertyMetadata(null));
|
||||
public CalendarDisplayType SelectedType
|
||||
{
|
||||
get { return (CalendarDisplayType)GetValue(SelectedTypeProperty); }
|
||||
set { SetValue(SelectedTypeProperty, value); }
|
||||
}
|
||||
|
||||
public ICommand TodayClickedCommand
|
||||
{
|
||||
get { return (ICommand)GetValue(TodayClickedCommandProperty); }
|
||||
set { SetValue(TodayClickedCommandProperty, value); }
|
||||
}
|
||||
public int DisplayDayCount
|
||||
{
|
||||
get { return (int)GetValue(DisplayDayCountProperty); }
|
||||
set { SetValue(DisplayDayCountProperty, value); }
|
||||
}
|
||||
|
||||
public CalendarDisplayType SelectedType
|
||||
{
|
||||
get { return (CalendarDisplayType)GetValue(SelectedTypeProperty); }
|
||||
set { SetValue(SelectedTypeProperty, value); }
|
||||
}
|
||||
private AppBarButton _todayButton;
|
||||
private AppBarToggleButton _dayToggle;
|
||||
private AppBarToggleButton _weekToggle;
|
||||
private AppBarToggleButton _monthToggle;
|
||||
private AppBarToggleButton _yearToggle;
|
||||
|
||||
public int DisplayDayCount
|
||||
{
|
||||
get { return (int)GetValue(DisplayDayCountProperty); }
|
||||
set { SetValue(DisplayDayCountProperty, value); }
|
||||
}
|
||||
public WinoCalendarTypeSelectorControl()
|
||||
{
|
||||
DefaultStyleKey = typeof(WinoCalendarTypeSelectorControl);
|
||||
}
|
||||
|
||||
private AppBarButton _todayButton;
|
||||
private AppBarToggleButton _dayToggle;
|
||||
private AppBarToggleButton _weekToggle;
|
||||
private AppBarToggleButton _monthToggle;
|
||||
private AppBarToggleButton _yearToggle;
|
||||
protected override void OnApplyTemplate()
|
||||
{
|
||||
base.OnApplyTemplate();
|
||||
|
||||
public WinoCalendarTypeSelectorControl()
|
||||
{
|
||||
DefaultStyleKey = typeof(WinoCalendarTypeSelectorControl);
|
||||
}
|
||||
_todayButton = GetTemplateChild(PART_TodayButton) as AppBarButton;
|
||||
_dayToggle = GetTemplateChild(PART_DayToggle) as AppBarToggleButton;
|
||||
_weekToggle = GetTemplateChild(PART_WeekToggle) as AppBarToggleButton;
|
||||
_monthToggle = GetTemplateChild(PART_MonthToggle) as AppBarToggleButton;
|
||||
_yearToggle = GetTemplateChild(PART_YearToggle) as AppBarToggleButton;
|
||||
|
||||
protected override void OnApplyTemplate()
|
||||
{
|
||||
base.OnApplyTemplate();
|
||||
Guard.IsNotNull(_todayButton, nameof(_todayButton));
|
||||
Guard.IsNotNull(_dayToggle, nameof(_dayToggle));
|
||||
Guard.IsNotNull(_weekToggle, nameof(_weekToggle));
|
||||
Guard.IsNotNull(_monthToggle, nameof(_monthToggle));
|
||||
Guard.IsNotNull(_yearToggle, nameof(_yearToggle));
|
||||
|
||||
_todayButton = GetTemplateChild(PART_TodayButton) as AppBarButton;
|
||||
_dayToggle = GetTemplateChild(PART_DayToggle) as AppBarToggleButton;
|
||||
_weekToggle = GetTemplateChild(PART_WeekToggle) as AppBarToggleButton;
|
||||
_monthToggle = GetTemplateChild(PART_MonthToggle) as AppBarToggleButton;
|
||||
_yearToggle = GetTemplateChild(PART_YearToggle) as AppBarToggleButton;
|
||||
_todayButton.Click += TodayClicked;
|
||||
|
||||
Guard.IsNotNull(_todayButton, nameof(_todayButton));
|
||||
Guard.IsNotNull(_dayToggle, nameof(_dayToggle));
|
||||
Guard.IsNotNull(_weekToggle, nameof(_weekToggle));
|
||||
Guard.IsNotNull(_monthToggle, nameof(_monthToggle));
|
||||
Guard.IsNotNull(_yearToggle, nameof(_yearToggle));
|
||||
_dayToggle.Click += (s, e) => { SetSelectedType(CalendarDisplayType.Day); };
|
||||
_weekToggle.Click += (s, e) => { SetSelectedType(CalendarDisplayType.Week); };
|
||||
_monthToggle.Click += (s, e) => { SetSelectedType(CalendarDisplayType.Month); };
|
||||
_yearToggle.Click += (s, e) => { SetSelectedType(CalendarDisplayType.Year); };
|
||||
|
||||
_todayButton.Click += TodayClicked;
|
||||
UpdateToggleButtonStates();
|
||||
}
|
||||
|
||||
_dayToggle.Click += (s, e) => { SetSelectedType(CalendarDisplayType.Day); };
|
||||
_weekToggle.Click += (s, e) => { SetSelectedType(CalendarDisplayType.Week); };
|
||||
_monthToggle.Click += (s, e) => { SetSelectedType(CalendarDisplayType.Month); };
|
||||
_yearToggle.Click += (s, e) => { SetSelectedType(CalendarDisplayType.Year); };
|
||||
private void TodayClicked(object sender, RoutedEventArgs e) => TodayClickedCommand?.Execute(null);
|
||||
|
||||
UpdateToggleButtonStates();
|
||||
}
|
||||
private void SetSelectedType(CalendarDisplayType type)
|
||||
{
|
||||
SelectedType = type;
|
||||
UpdateToggleButtonStates();
|
||||
}
|
||||
|
||||
private void TodayClicked(object sender, RoutedEventArgs e) => TodayClickedCommand?.Execute(null);
|
||||
|
||||
private void SetSelectedType(CalendarDisplayType type)
|
||||
{
|
||||
SelectedType = type;
|
||||
UpdateToggleButtonStates();
|
||||
}
|
||||
|
||||
private void UpdateToggleButtonStates()
|
||||
{
|
||||
_dayToggle.IsChecked = SelectedType == CalendarDisplayType.Day;
|
||||
_weekToggle.IsChecked = SelectedType == CalendarDisplayType.Week;
|
||||
_monthToggle.IsChecked = SelectedType == CalendarDisplayType.Month;
|
||||
_yearToggle.IsChecked = SelectedType == CalendarDisplayType.Year;
|
||||
}
|
||||
private void UpdateToggleButtonStates()
|
||||
{
|
||||
_dayToggle.IsChecked = SelectedType == CalendarDisplayType.Day;
|
||||
_weekToggle.IsChecked = SelectedType == CalendarDisplayType.Week;
|
||||
_monthToggle.IsChecked = SelectedType == CalendarDisplayType.Month;
|
||||
_yearToggle.IsChecked = SelectedType == CalendarDisplayType.Year;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -8,140 +8,139 @@ using Windows.UI.Xaml.Media;
|
||||
using Wino.Core.Domain.Models.Calendar;
|
||||
using Wino.Helpers;
|
||||
|
||||
namespace Wino.Calendar.Controls
|
||||
namespace Wino.Calendar.Controls;
|
||||
|
||||
public partial class WinoCalendarView : Control
|
||||
{
|
||||
public class WinoCalendarView : Control
|
||||
private const string PART_DayViewItemBorder = nameof(PART_DayViewItemBorder);
|
||||
private const string PART_CalendarView = nameof(PART_CalendarView);
|
||||
|
||||
public static readonly DependencyProperty HighlightedDateRangeProperty = DependencyProperty.Register(nameof(HighlightedDateRange), typeof(DateRange), typeof(WinoCalendarView), new PropertyMetadata(null, new PropertyChangedCallback(OnHighlightedDateRangeChanged)));
|
||||
public static readonly DependencyProperty VisibleDateBackgroundProperty = DependencyProperty.Register(nameof(VisibleDateBackground), typeof(Brush), typeof(WinoCalendarView), new PropertyMetadata(null, new PropertyChangedCallback(OnPropertiesChanged)));
|
||||
public static readonly DependencyProperty DateClickedCommandProperty = DependencyProperty.Register(nameof(DateClickedCommand), typeof(ICommand), typeof(WinoCalendarView), new PropertyMetadata(null));
|
||||
public static readonly DependencyProperty TodayBackgroundColorProperty = DependencyProperty.Register(nameof(TodayBackgroundColor), typeof(Color), typeof(WinoCalendarView), new PropertyMetadata(null));
|
||||
|
||||
public Color TodayBackgroundColor
|
||||
{
|
||||
private const string PART_DayViewItemBorder = nameof(PART_DayViewItemBorder);
|
||||
private const string PART_CalendarView = nameof(PART_CalendarView);
|
||||
get { return (Color)GetValue(TodayBackgroundColorProperty); }
|
||||
set { SetValue(TodayBackgroundColorProperty, value); }
|
||||
}
|
||||
|
||||
public static readonly DependencyProperty HighlightedDateRangeProperty = DependencyProperty.Register(nameof(HighlightedDateRange), typeof(DateRange), typeof(WinoCalendarView), new PropertyMetadata(null, new PropertyChangedCallback(OnHighlightedDateRangeChanged)));
|
||||
public static readonly DependencyProperty VisibleDateBackgroundProperty = DependencyProperty.Register(nameof(VisibleDateBackground), typeof(Brush), typeof(WinoCalendarView), new PropertyMetadata(null, new PropertyChangedCallback(OnPropertiesChanged)));
|
||||
public static readonly DependencyProperty DateClickedCommandProperty = DependencyProperty.Register(nameof(DateClickedCommand), typeof(ICommand), typeof(WinoCalendarView), new PropertyMetadata(null));
|
||||
public static readonly DependencyProperty TodayBackgroundColorProperty = DependencyProperty.Register(nameof(TodayBackgroundColor), typeof(Color), typeof(WinoCalendarView), new PropertyMetadata(null));
|
||||
/// <summary>
|
||||
/// Gets or sets the command to execute when a date is picked.
|
||||
/// Unused.
|
||||
/// </summary>
|
||||
public ICommand DateClickedCommand
|
||||
{
|
||||
get { return (ICommand)GetValue(DateClickedCommandProperty); }
|
||||
set { SetValue(DateClickedCommandProperty, value); }
|
||||
}
|
||||
|
||||
public Color TodayBackgroundColor
|
||||
/// <summary>
|
||||
/// Gets or sets the highlighted range of dates.
|
||||
/// </summary>
|
||||
public DateRange HighlightedDateRange
|
||||
{
|
||||
get { return (DateRange)GetValue(HighlightedDateRangeProperty); }
|
||||
set { SetValue(HighlightedDateRangeProperty, value); }
|
||||
}
|
||||
|
||||
public Brush VisibleDateBackground
|
||||
{
|
||||
get { return (Brush)GetValue(VisibleDateBackgroundProperty); }
|
||||
set { SetValue(VisibleDateBackgroundProperty, value); }
|
||||
}
|
||||
|
||||
|
||||
|
||||
private CalendarView CalendarView;
|
||||
|
||||
public WinoCalendarView()
|
||||
{
|
||||
DefaultStyleKey = typeof(WinoCalendarView);
|
||||
}
|
||||
|
||||
protected override void OnApplyTemplate()
|
||||
{
|
||||
base.OnApplyTemplate();
|
||||
|
||||
CalendarView = GetTemplateChild(PART_CalendarView) as CalendarView;
|
||||
|
||||
Guard.IsNotNull(CalendarView, nameof(CalendarView));
|
||||
|
||||
CalendarView.SelectedDatesChanged -= InternalCalendarViewSelectionChanged;
|
||||
CalendarView.SelectedDatesChanged += InternalCalendarViewSelectionChanged;
|
||||
|
||||
// TODO: Should come from settings.
|
||||
CalendarView.FirstDayOfWeek = Windows.Globalization.DayOfWeek.Monday;
|
||||
|
||||
// Everytime display mode changes, update the visible date range backgrounds.
|
||||
// If users go back from year -> month -> day, we need to update the visible date range backgrounds.
|
||||
|
||||
CalendarView.RegisterPropertyChangedCallback(CalendarView.DisplayModeProperty, (s, e) => UpdateVisibleDateRangeBackgrounds());
|
||||
}
|
||||
|
||||
private void InternalCalendarViewSelectionChanged(CalendarView sender, CalendarViewSelectedDatesChangedEventArgs args)
|
||||
{
|
||||
if (args.AddedDates?.Count > 0)
|
||||
{
|
||||
get { return (Color)GetValue(TodayBackgroundColorProperty); }
|
||||
set { SetValue(TodayBackgroundColorProperty, value); }
|
||||
var clickedDate = args.AddedDates[0].Date;
|
||||
SetInnerDisplayDate(clickedDate);
|
||||
|
||||
var clickArgs = new CalendarViewDayClickedEventArgs(clickedDate);
|
||||
DateClickedCommand?.Execute(clickArgs);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets the command to execute when a date is picked.
|
||||
/// Unused.
|
||||
/// </summary>
|
||||
public ICommand DateClickedCommand
|
||||
// Reset selection, we don't show selected dates but react to them.
|
||||
CalendarView.SelectedDates.Clear();
|
||||
}
|
||||
|
||||
private static void OnPropertiesChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
|
||||
{
|
||||
if (d is WinoCalendarView control)
|
||||
{
|
||||
get { return (ICommand)GetValue(DateClickedCommandProperty); }
|
||||
set { SetValue(DateClickedCommandProperty, value); }
|
||||
control.UpdateVisibleDateRangeBackgrounds();
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets the highlighted range of dates.
|
||||
/// </summary>
|
||||
public DateRange HighlightedDateRange
|
||||
private void SetInnerDisplayDate(DateTime dateTime) => CalendarView?.SetDisplayDate(dateTime);
|
||||
|
||||
// Changing selected dates will trigger the selection changed event.
|
||||
// It will behave like user clicked the date.
|
||||
public void GoToDay(DateTime dateTime) => CalendarView.SelectedDates.Add(dateTime);
|
||||
|
||||
private static void OnHighlightedDateRangeChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
|
||||
{
|
||||
if (d is WinoCalendarView control)
|
||||
{
|
||||
get { return (DateRange)GetValue(HighlightedDateRangeProperty); }
|
||||
set { SetValue(HighlightedDateRangeProperty, value); }
|
||||
control.SetInnerDisplayDate(control.HighlightedDateRange.StartDate);
|
||||
control.UpdateVisibleDateRangeBackgrounds();
|
||||
}
|
||||
}
|
||||
|
||||
public Brush VisibleDateBackground
|
||||
public void UpdateVisibleDateRangeBackgrounds()
|
||||
{
|
||||
if (HighlightedDateRange == null || VisibleDateBackground == null || TodayBackgroundColor == null || CalendarView == null) return;
|
||||
|
||||
var markDateCalendarDayItems = WinoVisualTreeHelper.FindDescendants<CalendarViewDayItem>(CalendarView);
|
||||
|
||||
foreach (var calendarDayItem in markDateCalendarDayItems)
|
||||
{
|
||||
get { return (Brush)GetValue(VisibleDateBackgroundProperty); }
|
||||
set { SetValue(VisibleDateBackgroundProperty, value); }
|
||||
}
|
||||
var border = WinoVisualTreeHelper.GetChildObject<Border>(calendarDayItem, PART_DayViewItemBorder);
|
||||
|
||||
if (border == null) return;
|
||||
|
||||
|
||||
private CalendarView CalendarView;
|
||||
|
||||
public WinoCalendarView()
|
||||
{
|
||||
DefaultStyleKey = typeof(WinoCalendarView);
|
||||
}
|
||||
|
||||
protected override void OnApplyTemplate()
|
||||
{
|
||||
base.OnApplyTemplate();
|
||||
|
||||
CalendarView = GetTemplateChild(PART_CalendarView) as CalendarView;
|
||||
|
||||
Guard.IsNotNull(CalendarView, nameof(CalendarView));
|
||||
|
||||
CalendarView.SelectedDatesChanged -= InternalCalendarViewSelectionChanged;
|
||||
CalendarView.SelectedDatesChanged += InternalCalendarViewSelectionChanged;
|
||||
|
||||
// TODO: Should come from settings.
|
||||
CalendarView.FirstDayOfWeek = Windows.Globalization.DayOfWeek.Monday;
|
||||
|
||||
// Everytime display mode changes, update the visible date range backgrounds.
|
||||
// If users go back from year -> month -> day, we need to update the visible date range backgrounds.
|
||||
|
||||
CalendarView.RegisterPropertyChangedCallback(CalendarView.DisplayModeProperty, (s, e) => UpdateVisibleDateRangeBackgrounds());
|
||||
}
|
||||
|
||||
private void InternalCalendarViewSelectionChanged(CalendarView sender, CalendarViewSelectedDatesChangedEventArgs args)
|
||||
{
|
||||
if (args.AddedDates?.Count > 0)
|
||||
if (calendarDayItem.Date.Date == DateTime.Today.Date)
|
||||
{
|
||||
var clickedDate = args.AddedDates[0].Date;
|
||||
SetInnerDisplayDate(clickedDate);
|
||||
|
||||
var clickArgs = new CalendarViewDayClickedEventArgs(clickedDate);
|
||||
DateClickedCommand?.Execute(clickArgs);
|
||||
border.Background = new SolidColorBrush(TodayBackgroundColor);
|
||||
}
|
||||
|
||||
// Reset selection, we don't show selected dates but react to them.
|
||||
CalendarView.SelectedDates.Clear();
|
||||
}
|
||||
|
||||
private static void OnPropertiesChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
|
||||
{
|
||||
if (d is WinoCalendarView control)
|
||||
else if (calendarDayItem.Date.Date >= HighlightedDateRange.StartDate.Date && calendarDayItem.Date.Date < HighlightedDateRange.EndDate.Date)
|
||||
{
|
||||
control.UpdateVisibleDateRangeBackgrounds();
|
||||
border.Background = VisibleDateBackground;
|
||||
}
|
||||
}
|
||||
|
||||
private void SetInnerDisplayDate(DateTime dateTime) => CalendarView?.SetDisplayDate(dateTime);
|
||||
|
||||
// Changing selected dates will trigger the selection changed event.
|
||||
// It will behave like user clicked the date.
|
||||
public void GoToDay(DateTime dateTime) => CalendarView.SelectedDates.Add(dateTime);
|
||||
|
||||
private static void OnHighlightedDateRangeChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
|
||||
{
|
||||
if (d is WinoCalendarView control)
|
||||
else
|
||||
{
|
||||
control.SetInnerDisplayDate(control.HighlightedDateRange.StartDate);
|
||||
control.UpdateVisibleDateRangeBackgrounds();
|
||||
}
|
||||
}
|
||||
|
||||
public void UpdateVisibleDateRangeBackgrounds()
|
||||
{
|
||||
if (HighlightedDateRange == null || VisibleDateBackground == null || TodayBackgroundColor == null || CalendarView == null) return;
|
||||
|
||||
var markDateCalendarDayItems = WinoVisualTreeHelper.FindDescendants<CalendarViewDayItem>(CalendarView);
|
||||
|
||||
foreach (var calendarDayItem in markDateCalendarDayItems)
|
||||
{
|
||||
var border = WinoVisualTreeHelper.GetChildObject<Border>(calendarDayItem, PART_DayViewItemBorder);
|
||||
|
||||
if (border == null) return;
|
||||
|
||||
if (calendarDayItem.Date.Date == DateTime.Today.Date)
|
||||
{
|
||||
border.Background = new SolidColorBrush(TodayBackgroundColor);
|
||||
}
|
||||
else if (calendarDayItem.Date.Date >= HighlightedDateRange.StartDate.Date && calendarDayItem.Date.Date < HighlightedDateRange.EndDate.Date)
|
||||
{
|
||||
border.Background = VisibleDateBackground;
|
||||
}
|
||||
else
|
||||
{
|
||||
border.Background = null;
|
||||
}
|
||||
border.Background = null;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -10,269 +10,268 @@ using Windows.UI.Xaml.Media;
|
||||
using Wino.Calendar.Args;
|
||||
using Wino.Core.Domain.Models.Calendar;
|
||||
|
||||
namespace Wino.Calendar.Controls
|
||||
namespace Wino.Calendar.Controls;
|
||||
|
||||
public partial class WinoDayTimelineCanvas : Control, IDisposable
|
||||
{
|
||||
public class WinoDayTimelineCanvas : Control, IDisposable
|
||||
public event EventHandler<TimelineCellSelectedArgs> TimelineCellSelected;
|
||||
public event EventHandler<TimelineCellUnselectedArgs> TimelineCellUnselected;
|
||||
|
||||
private const string PART_InternalCanvas = nameof(PART_InternalCanvas);
|
||||
private CanvasControl Canvas;
|
||||
|
||||
public static readonly DependencyProperty RenderOptionsProperty = DependencyProperty.Register(nameof(RenderOptions), typeof(CalendarRenderOptions), typeof(WinoDayTimelineCanvas), new PropertyMetadata(null, new PropertyChangedCallback(OnRenderingPropertiesChanged)));
|
||||
public static readonly DependencyProperty SeperatorColorProperty = DependencyProperty.Register(nameof(SeperatorColor), typeof(SolidColorBrush), typeof(WinoDayTimelineCanvas), new PropertyMetadata(null, new PropertyChangedCallback(OnRenderingPropertiesChanged)));
|
||||
public static readonly DependencyProperty HalfHourSeperatorColorProperty = DependencyProperty.Register(nameof(HalfHourSeperatorColor), typeof(SolidColorBrush), typeof(WinoDayTimelineCanvas), new PropertyMetadata(null, new PropertyChangedCallback(OnRenderingPropertiesChanged)));
|
||||
public static readonly DependencyProperty SelectedCellBackgroundBrushProperty = DependencyProperty.Register(nameof(SelectedCellBackgroundBrush), typeof(SolidColorBrush), typeof(WinoDayTimelineCanvas), new PropertyMetadata(null, new PropertyChangedCallback(OnRenderingPropertiesChanged)));
|
||||
public static readonly DependencyProperty WorkingHourCellBackgroundColorProperty = DependencyProperty.Register(nameof(WorkingHourCellBackgroundColor), typeof(SolidColorBrush), typeof(WinoDayTimelineCanvas), new PropertyMetadata(null, new PropertyChangedCallback(OnRenderingPropertiesChanged)));
|
||||
public static readonly DependencyProperty SelectedDateTimeProperty = DependencyProperty.Register(nameof(SelectedDateTime), typeof(DateTime?), typeof(WinoDayTimelineCanvas), new PropertyMetadata(null, new PropertyChangedCallback(OnSelectedDateTimeChanged)));
|
||||
public static readonly DependencyProperty PositionerUIElementProperty = DependencyProperty.Register(nameof(PositionerUIElement), typeof(UIElement), typeof(WinoDayTimelineCanvas), new PropertyMetadata(null));
|
||||
|
||||
public UIElement PositionerUIElement
|
||||
{
|
||||
public event EventHandler<TimelineCellSelectedArgs> TimelineCellSelected;
|
||||
public event EventHandler<TimelineCellUnselectedArgs> TimelineCellUnselected;
|
||||
get { return (UIElement)GetValue(PositionerUIElementProperty); }
|
||||
set { SetValue(PositionerUIElementProperty, value); }
|
||||
}
|
||||
|
||||
private const string PART_InternalCanvas = nameof(PART_InternalCanvas);
|
||||
private CanvasControl Canvas;
|
||||
public CalendarRenderOptions RenderOptions
|
||||
{
|
||||
get { return (CalendarRenderOptions)GetValue(RenderOptionsProperty); }
|
||||
set { SetValue(RenderOptionsProperty, value); }
|
||||
}
|
||||
|
||||
public static readonly DependencyProperty RenderOptionsProperty = DependencyProperty.Register(nameof(RenderOptions), typeof(CalendarRenderOptions), typeof(WinoDayTimelineCanvas), new PropertyMetadata(null, new PropertyChangedCallback(OnRenderingPropertiesChanged)));
|
||||
public static readonly DependencyProperty SeperatorColorProperty = DependencyProperty.Register(nameof(SeperatorColor), typeof(SolidColorBrush), typeof(WinoDayTimelineCanvas), new PropertyMetadata(null, new PropertyChangedCallback(OnRenderingPropertiesChanged)));
|
||||
public static readonly DependencyProperty HalfHourSeperatorColorProperty = DependencyProperty.Register(nameof(HalfHourSeperatorColor), typeof(SolidColorBrush), typeof(WinoDayTimelineCanvas), new PropertyMetadata(null, new PropertyChangedCallback(OnRenderingPropertiesChanged)));
|
||||
public static readonly DependencyProperty SelectedCellBackgroundBrushProperty = DependencyProperty.Register(nameof(SelectedCellBackgroundBrush), typeof(SolidColorBrush), typeof(WinoDayTimelineCanvas), new PropertyMetadata(null, new PropertyChangedCallback(OnRenderingPropertiesChanged)));
|
||||
public static readonly DependencyProperty WorkingHourCellBackgroundColorProperty = DependencyProperty.Register(nameof(WorkingHourCellBackgroundColor), typeof(SolidColorBrush), typeof(WinoDayTimelineCanvas), new PropertyMetadata(null, new PropertyChangedCallback(OnRenderingPropertiesChanged)));
|
||||
public static readonly DependencyProperty SelectedDateTimeProperty = DependencyProperty.Register(nameof(SelectedDateTime), typeof(DateTime?), typeof(WinoDayTimelineCanvas), new PropertyMetadata(null, new PropertyChangedCallback(OnSelectedDateTimeChanged)));
|
||||
public static readonly DependencyProperty PositionerUIElementProperty = DependencyProperty.Register(nameof(PositionerUIElement), typeof(UIElement), typeof(WinoDayTimelineCanvas), new PropertyMetadata(null));
|
||||
public SolidColorBrush HalfHourSeperatorColor
|
||||
{
|
||||
get { return (SolidColorBrush)GetValue(HalfHourSeperatorColorProperty); }
|
||||
set { SetValue(HalfHourSeperatorColorProperty, value); }
|
||||
}
|
||||
|
||||
public UIElement PositionerUIElement
|
||||
public SolidColorBrush SeperatorColor
|
||||
{
|
||||
get { return (SolidColorBrush)GetValue(SeperatorColorProperty); }
|
||||
set { SetValue(SeperatorColorProperty, value); }
|
||||
}
|
||||
|
||||
public SolidColorBrush WorkingHourCellBackgroundColor
|
||||
{
|
||||
get { return (SolidColorBrush)GetValue(WorkingHourCellBackgroundColorProperty); }
|
||||
set { SetValue(WorkingHourCellBackgroundColorProperty, value); }
|
||||
}
|
||||
|
||||
public SolidColorBrush SelectedCellBackgroundBrush
|
||||
{
|
||||
get { return (SolidColorBrush)GetValue(SelectedCellBackgroundBrushProperty); }
|
||||
set { SetValue(SelectedCellBackgroundBrushProperty, value); }
|
||||
}
|
||||
|
||||
public DateTime? SelectedDateTime
|
||||
{
|
||||
get { return (DateTime?)GetValue(SelectedDateTimeProperty); }
|
||||
set { SetValue(SelectedDateTimeProperty, value); }
|
||||
}
|
||||
|
||||
protected override void OnApplyTemplate()
|
||||
{
|
||||
base.OnApplyTemplate();
|
||||
|
||||
Canvas = GetTemplateChild(PART_InternalCanvas) as CanvasControl;
|
||||
|
||||
// TODO: These will leak. Dispose them properly when needed.
|
||||
Canvas.Draw += OnCanvasDraw;
|
||||
Canvas.PointerPressed += OnCanvasPointerPressed;
|
||||
|
||||
ForceDraw();
|
||||
}
|
||||
|
||||
private static void OnSelectedDateTimeChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
|
||||
{
|
||||
if (d is WinoDayTimelineCanvas control)
|
||||
{
|
||||
get { return (UIElement)GetValue(PositionerUIElementProperty); }
|
||||
set { SetValue(PositionerUIElementProperty, value); }
|
||||
}
|
||||
|
||||
public CalendarRenderOptions RenderOptions
|
||||
{
|
||||
get { return (CalendarRenderOptions)GetValue(RenderOptionsProperty); }
|
||||
set { SetValue(RenderOptionsProperty, value); }
|
||||
}
|
||||
|
||||
public SolidColorBrush HalfHourSeperatorColor
|
||||
{
|
||||
get { return (SolidColorBrush)GetValue(HalfHourSeperatorColorProperty); }
|
||||
set { SetValue(HalfHourSeperatorColorProperty, value); }
|
||||
}
|
||||
|
||||
public SolidColorBrush SeperatorColor
|
||||
{
|
||||
get { return (SolidColorBrush)GetValue(SeperatorColorProperty); }
|
||||
set { SetValue(SeperatorColorProperty, value); }
|
||||
}
|
||||
|
||||
public SolidColorBrush WorkingHourCellBackgroundColor
|
||||
{
|
||||
get { return (SolidColorBrush)GetValue(WorkingHourCellBackgroundColorProperty); }
|
||||
set { SetValue(WorkingHourCellBackgroundColorProperty, value); }
|
||||
}
|
||||
|
||||
public SolidColorBrush SelectedCellBackgroundBrush
|
||||
{
|
||||
get { return (SolidColorBrush)GetValue(SelectedCellBackgroundBrushProperty); }
|
||||
set { SetValue(SelectedCellBackgroundBrushProperty, value); }
|
||||
}
|
||||
|
||||
public DateTime? SelectedDateTime
|
||||
{
|
||||
get { return (DateTime?)GetValue(SelectedDateTimeProperty); }
|
||||
set { SetValue(SelectedDateTimeProperty, value); }
|
||||
}
|
||||
|
||||
protected override void OnApplyTemplate()
|
||||
{
|
||||
base.OnApplyTemplate();
|
||||
|
||||
Canvas = GetTemplateChild(PART_InternalCanvas) as CanvasControl;
|
||||
|
||||
// TODO: These will leak. Dispose them properly when needed.
|
||||
Canvas.Draw += OnCanvasDraw;
|
||||
Canvas.PointerPressed += OnCanvasPointerPressed;
|
||||
|
||||
ForceDraw();
|
||||
}
|
||||
|
||||
private static void OnSelectedDateTimeChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
|
||||
{
|
||||
if (d is WinoDayTimelineCanvas control)
|
||||
if (e.OldValue != null && e.NewValue == null)
|
||||
{
|
||||
if (e.OldValue != null && e.NewValue == null)
|
||||
{
|
||||
control.RaiseCellUnselected();
|
||||
}
|
||||
|
||||
control.ForceDraw();
|
||||
}
|
||||
}
|
||||
|
||||
private void RaiseCellUnselected()
|
||||
{
|
||||
TimelineCellUnselected?.Invoke(this, new TimelineCellUnselectedArgs());
|
||||
}
|
||||
|
||||
private void OnCanvasPointerPressed(object sender, Windows.UI.Xaml.Input.PointerRoutedEventArgs e)
|
||||
{
|
||||
if (RenderOptions == null) return;
|
||||
|
||||
var hourHeight = RenderOptions.CalendarSettings.HourHeight;
|
||||
|
||||
// When users click to cell we need to find the day, hour and minutes (first 30 minutes or second 30 minutes) that it represents on the timeline.
|
||||
|
||||
PointerPoint positionerRootPoint = e.GetCurrentPoint(PositionerUIElement);
|
||||
PointerPoint canvasPointerPoint = e.GetCurrentPoint(Canvas);
|
||||
|
||||
Point touchPoint = canvasPointerPoint.Position;
|
||||
|
||||
var singleDayWidth = (Canvas.ActualWidth / RenderOptions.TotalDayCount);
|
||||
|
||||
int day = (int)(touchPoint.X / singleDayWidth);
|
||||
int hour = (int)(touchPoint.Y / hourHeight);
|
||||
|
||||
bool isSecondHalf = touchPoint.Y % hourHeight > (hourHeight / 2);
|
||||
|
||||
var diffX = positionerRootPoint.Position.X - touchPoint.X;
|
||||
var diffY = positionerRootPoint.Position.Y - touchPoint.Y;
|
||||
|
||||
var cellStartRelativePositionX = diffX + (day * singleDayWidth);
|
||||
var cellEndRelativePositionX = cellStartRelativePositionX + singleDayWidth;
|
||||
|
||||
var cellStartRelativePositionY = diffY + (hour * hourHeight) + (isSecondHalf ? hourHeight / 2 : 0);
|
||||
var cellEndRelativePositionY = cellStartRelativePositionY + (isSecondHalf ? (hourHeight / 2) : hourHeight);
|
||||
|
||||
var cellSize = new Size(cellEndRelativePositionX - cellStartRelativePositionX, hourHeight / 2);
|
||||
var positionerPoint = new Point(cellStartRelativePositionX, cellStartRelativePositionY);
|
||||
|
||||
var clickedDateTime = RenderOptions.DateRange.StartDate.AddDays(day).AddHours(hour).AddMinutes(isSecondHalf ? 30 : 0);
|
||||
|
||||
// If there is already a selected date, in order to mimic the popup behavior, we need to dismiss the previous selection first.
|
||||
// Next click will be a new selection.
|
||||
|
||||
// Raise the events directly here instead of DP to not lose pointer position.
|
||||
if (clickedDateTime == SelectedDateTime || SelectedDateTime != null)
|
||||
{
|
||||
SelectedDateTime = null;
|
||||
}
|
||||
else
|
||||
{
|
||||
SelectedDateTime = clickedDateTime;
|
||||
TimelineCellSelected?.Invoke(this, new TimelineCellSelectedArgs(clickedDateTime, touchPoint, positionerPoint, cellSize));
|
||||
control.RaiseCellUnselected();
|
||||
}
|
||||
|
||||
Debug.WriteLine($"Clicked: {clickedDateTime}");
|
||||
}
|
||||
|
||||
public WinoDayTimelineCanvas()
|
||||
{
|
||||
DefaultStyleKey = typeof(WinoDayTimelineCanvas);
|
||||
}
|
||||
|
||||
private static void OnRenderingPropertiesChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
|
||||
{
|
||||
if (d is WinoDayTimelineCanvas control)
|
||||
{
|
||||
control.ForceDraw();
|
||||
}
|
||||
}
|
||||
|
||||
private void ForceDraw() => Canvas?.Invalidate();
|
||||
|
||||
private bool CanDrawTimeline()
|
||||
{
|
||||
return RenderOptions != null
|
||||
&& Canvas != null
|
||||
&& Canvas.ReadyToDraw
|
||||
&& WorkingHourCellBackgroundColor != null
|
||||
&& SeperatorColor != null
|
||||
&& HalfHourSeperatorColor != null
|
||||
&& SelectedCellBackgroundBrush != null;
|
||||
}
|
||||
|
||||
private void OnCanvasDraw(CanvasControl sender, CanvasDrawEventArgs args)
|
||||
{
|
||||
if (!CanDrawTimeline()) return;
|
||||
|
||||
int hours = 24;
|
||||
|
||||
double canvasWidth = Canvas.ActualWidth;
|
||||
double canvasHeight = Canvas.ActualHeight;
|
||||
|
||||
if (canvasWidth == 0 || canvasHeight == 0) return;
|
||||
|
||||
// Calculate the width of each rectangle (1 day column)
|
||||
// Equal distribution of the whole width.
|
||||
double rectWidth = canvasWidth / RenderOptions.TotalDayCount;
|
||||
|
||||
// Calculate the height of each rectangle (1 hour row)
|
||||
double rectHeight = RenderOptions.CalendarSettings.HourHeight;
|
||||
|
||||
// Define stroke and fill colors
|
||||
var strokeColor = SeperatorColor.Color;
|
||||
float strokeThickness = 0.5f;
|
||||
|
||||
for (int day = 0; day < RenderOptions.TotalDayCount; day++)
|
||||
{
|
||||
var currentDay = RenderOptions.DateRange.StartDate.AddDays(day);
|
||||
|
||||
bool isWorkingDay = RenderOptions.CalendarSettings.WorkingDays.Contains(currentDay.DayOfWeek);
|
||||
|
||||
// Loop through each hour (rows)
|
||||
for (int hour = 0; hour < hours; hour++)
|
||||
{
|
||||
var renderTime = TimeSpan.FromHours(hour);
|
||||
|
||||
var representingDateTime = currentDay.AddHours(hour);
|
||||
|
||||
// Calculate the position and size of the rectangle
|
||||
double x = day * rectWidth;
|
||||
double y = hour * rectHeight;
|
||||
|
||||
var rectangle = new Rect(x, y, rectWidth, rectHeight);
|
||||
|
||||
// Draw the rectangle border.
|
||||
// This is the main rectangle.
|
||||
args.DrawingSession.DrawRectangle(rectangle, strokeColor, strokeThickness);
|
||||
|
||||
// Fill another rectangle with the working hour background color
|
||||
// This rectangle must be placed with -1 margin to prevent invisible borders of the main rectangle.
|
||||
if (isWorkingDay && renderTime >= RenderOptions.CalendarSettings.WorkingHourStart && renderTime <= RenderOptions.CalendarSettings.WorkingHourEnd)
|
||||
{
|
||||
var backgroundRectangle = new Rect(x + 1, y + 1, rectWidth - 1, rectHeight - 1);
|
||||
|
||||
args.DrawingSession.DrawRectangle(backgroundRectangle, strokeColor, strokeThickness);
|
||||
args.DrawingSession.FillRectangle(backgroundRectangle, WorkingHourCellBackgroundColor.Color);
|
||||
}
|
||||
|
||||
// Draw a line in the center of the rectangle for representing half hours.
|
||||
double lineY = y + rectHeight / 2;
|
||||
|
||||
args.DrawingSession.DrawLine((float)x, (float)lineY, (float)(x + rectWidth), (float)lineY, HalfHourSeperatorColor.Color, strokeThickness, new CanvasStrokeStyle()
|
||||
{
|
||||
DashStyle = CanvasDashStyle.Dot
|
||||
});
|
||||
}
|
||||
|
||||
// Draw selected item background color for the date if possible.
|
||||
if (SelectedDateTime != null)
|
||||
{
|
||||
var selectedDateTime = SelectedDateTime.Value;
|
||||
if (selectedDateTime.Date == currentDay.Date)
|
||||
{
|
||||
var selectionRectHeight = rectHeight / 2;
|
||||
var selectedY = selectedDateTime.Hour * rectHeight + (selectedDateTime.Minute / 60) * rectHeight;
|
||||
|
||||
// Second half of the hour is selected.
|
||||
if (selectedDateTime.TimeOfDay.Minutes == 30)
|
||||
{
|
||||
selectedY += rectHeight / 2;
|
||||
}
|
||||
|
||||
var selectedRectangle = new Rect(day * rectWidth, selectedY, rectWidth, selectionRectHeight);
|
||||
args.DrawingSession.FillRectangle(selectedRectangle, SelectedCellBackgroundBrush.Color);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public void Dispose()
|
||||
{
|
||||
if (Canvas == null) return;
|
||||
|
||||
Canvas.Draw -= OnCanvasDraw;
|
||||
Canvas.PointerPressed -= OnCanvasPointerPressed;
|
||||
Canvas.RemoveFromVisualTree();
|
||||
|
||||
Canvas = null;
|
||||
control.ForceDraw();
|
||||
}
|
||||
}
|
||||
|
||||
private void RaiseCellUnselected()
|
||||
{
|
||||
TimelineCellUnselected?.Invoke(this, new TimelineCellUnselectedArgs());
|
||||
}
|
||||
|
||||
private void OnCanvasPointerPressed(object sender, Windows.UI.Xaml.Input.PointerRoutedEventArgs e)
|
||||
{
|
||||
if (RenderOptions == null) return;
|
||||
|
||||
var hourHeight = RenderOptions.CalendarSettings.HourHeight;
|
||||
|
||||
// When users click to cell we need to find the day, hour and minutes (first 30 minutes or second 30 minutes) that it represents on the timeline.
|
||||
|
||||
PointerPoint positionerRootPoint = e.GetCurrentPoint(PositionerUIElement);
|
||||
PointerPoint canvasPointerPoint = e.GetCurrentPoint(Canvas);
|
||||
|
||||
Point touchPoint = canvasPointerPoint.Position;
|
||||
|
||||
var singleDayWidth = (Canvas.ActualWidth / RenderOptions.TotalDayCount);
|
||||
|
||||
int day = (int)(touchPoint.X / singleDayWidth);
|
||||
int hour = (int)(touchPoint.Y / hourHeight);
|
||||
|
||||
bool isSecondHalf = touchPoint.Y % hourHeight > (hourHeight / 2);
|
||||
|
||||
var diffX = positionerRootPoint.Position.X - touchPoint.X;
|
||||
var diffY = positionerRootPoint.Position.Y - touchPoint.Y;
|
||||
|
||||
var cellStartRelativePositionX = diffX + (day * singleDayWidth);
|
||||
var cellEndRelativePositionX = cellStartRelativePositionX + singleDayWidth;
|
||||
|
||||
var cellStartRelativePositionY = diffY + (hour * hourHeight) + (isSecondHalf ? hourHeight / 2 : 0);
|
||||
var cellEndRelativePositionY = cellStartRelativePositionY + (isSecondHalf ? (hourHeight / 2) : hourHeight);
|
||||
|
||||
var cellSize = new Size(cellEndRelativePositionX - cellStartRelativePositionX, hourHeight / 2);
|
||||
var positionerPoint = new Point(cellStartRelativePositionX, cellStartRelativePositionY);
|
||||
|
||||
var clickedDateTime = RenderOptions.DateRange.StartDate.AddDays(day).AddHours(hour).AddMinutes(isSecondHalf ? 30 : 0);
|
||||
|
||||
// If there is already a selected date, in order to mimic the popup behavior, we need to dismiss the previous selection first.
|
||||
// Next click will be a new selection.
|
||||
|
||||
// Raise the events directly here instead of DP to not lose pointer position.
|
||||
if (clickedDateTime == SelectedDateTime || SelectedDateTime != null)
|
||||
{
|
||||
SelectedDateTime = null;
|
||||
}
|
||||
else
|
||||
{
|
||||
SelectedDateTime = clickedDateTime;
|
||||
TimelineCellSelected?.Invoke(this, new TimelineCellSelectedArgs(clickedDateTime, touchPoint, positionerPoint, cellSize));
|
||||
}
|
||||
|
||||
Debug.WriteLine($"Clicked: {clickedDateTime}");
|
||||
}
|
||||
|
||||
public WinoDayTimelineCanvas()
|
||||
{
|
||||
DefaultStyleKey = typeof(WinoDayTimelineCanvas);
|
||||
}
|
||||
|
||||
private static void OnRenderingPropertiesChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
|
||||
{
|
||||
if (d is WinoDayTimelineCanvas control)
|
||||
{
|
||||
control.ForceDraw();
|
||||
}
|
||||
}
|
||||
|
||||
private void ForceDraw() => Canvas?.Invalidate();
|
||||
|
||||
private bool CanDrawTimeline()
|
||||
{
|
||||
return RenderOptions != null
|
||||
&& Canvas != null
|
||||
&& Canvas.ReadyToDraw
|
||||
&& WorkingHourCellBackgroundColor != null
|
||||
&& SeperatorColor != null
|
||||
&& HalfHourSeperatorColor != null
|
||||
&& SelectedCellBackgroundBrush != null;
|
||||
}
|
||||
|
||||
private void OnCanvasDraw(CanvasControl sender, CanvasDrawEventArgs args)
|
||||
{
|
||||
if (!CanDrawTimeline()) return;
|
||||
|
||||
int hours = 24;
|
||||
|
||||
double canvasWidth = Canvas.ActualWidth;
|
||||
double canvasHeight = Canvas.ActualHeight;
|
||||
|
||||
if (canvasWidth == 0 || canvasHeight == 0) return;
|
||||
|
||||
// Calculate the width of each rectangle (1 day column)
|
||||
// Equal distribution of the whole width.
|
||||
double rectWidth = canvasWidth / RenderOptions.TotalDayCount;
|
||||
|
||||
// Calculate the height of each rectangle (1 hour row)
|
||||
double rectHeight = RenderOptions.CalendarSettings.HourHeight;
|
||||
|
||||
// Define stroke and fill colors
|
||||
var strokeColor = SeperatorColor.Color;
|
||||
float strokeThickness = 0.5f;
|
||||
|
||||
for (int day = 0; day < RenderOptions.TotalDayCount; day++)
|
||||
{
|
||||
var currentDay = RenderOptions.DateRange.StartDate.AddDays(day);
|
||||
|
||||
bool isWorkingDay = RenderOptions.CalendarSettings.WorkingDays.Contains(currentDay.DayOfWeek);
|
||||
|
||||
// Loop through each hour (rows)
|
||||
for (int hour = 0; hour < hours; hour++)
|
||||
{
|
||||
var renderTime = TimeSpan.FromHours(hour);
|
||||
|
||||
var representingDateTime = currentDay.AddHours(hour);
|
||||
|
||||
// Calculate the position and size of the rectangle
|
||||
double x = day * rectWidth;
|
||||
double y = hour * rectHeight;
|
||||
|
||||
var rectangle = new Rect(x, y, rectWidth, rectHeight);
|
||||
|
||||
// Draw the rectangle border.
|
||||
// This is the main rectangle.
|
||||
args.DrawingSession.DrawRectangle(rectangle, strokeColor, strokeThickness);
|
||||
|
||||
// Fill another rectangle with the working hour background color
|
||||
// This rectangle must be placed with -1 margin to prevent invisible borders of the main rectangle.
|
||||
if (isWorkingDay && renderTime >= RenderOptions.CalendarSettings.WorkingHourStart && renderTime <= RenderOptions.CalendarSettings.WorkingHourEnd)
|
||||
{
|
||||
var backgroundRectangle = new Rect(x + 1, y + 1, rectWidth - 1, rectHeight - 1);
|
||||
|
||||
args.DrawingSession.DrawRectangle(backgroundRectangle, strokeColor, strokeThickness);
|
||||
args.DrawingSession.FillRectangle(backgroundRectangle, WorkingHourCellBackgroundColor.Color);
|
||||
}
|
||||
|
||||
// Draw a line in the center of the rectangle for representing half hours.
|
||||
double lineY = y + rectHeight / 2;
|
||||
|
||||
args.DrawingSession.DrawLine((float)x, (float)lineY, (float)(x + rectWidth), (float)lineY, HalfHourSeperatorColor.Color, strokeThickness, new CanvasStrokeStyle()
|
||||
{
|
||||
DashStyle = CanvasDashStyle.Dot
|
||||
});
|
||||
}
|
||||
|
||||
// Draw selected item background color for the date if possible.
|
||||
if (SelectedDateTime != null)
|
||||
{
|
||||
var selectedDateTime = SelectedDateTime.Value;
|
||||
if (selectedDateTime.Date == currentDay.Date)
|
||||
{
|
||||
var selectionRectHeight = rectHeight / 2;
|
||||
var selectedY = selectedDateTime.Hour * rectHeight + (selectedDateTime.Minute / 60) * rectHeight;
|
||||
|
||||
// Second half of the hour is selected.
|
||||
if (selectedDateTime.TimeOfDay.Minutes == 30)
|
||||
{
|
||||
selectedY += rectHeight / 2;
|
||||
}
|
||||
|
||||
var selectedRectangle = new Rect(day * rectWidth, selectedY, rectWidth, selectionRectHeight);
|
||||
args.DrawingSession.FillRectangle(selectedRectangle, SelectedCellBackgroundBrush.Color);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public void Dispose()
|
||||
{
|
||||
if (Canvas == null) return;
|
||||
|
||||
Canvas.Draw -= OnCanvasDraw;
|
||||
Canvas.PointerPressed -= OnCanvasPointerPressed;
|
||||
Canvas.RemoveFromVisualTree();
|
||||
|
||||
Canvas = null;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -10,98 +10,97 @@ using Wino.Core.Domain.Enums;
|
||||
using Wino.Core.Domain.Models.Calendar;
|
||||
using Wino.Helpers;
|
||||
|
||||
namespace Wino.Calendar.Helpers
|
||||
namespace Wino.Calendar.Helpers;
|
||||
|
||||
public static class CalendarXamlHelpers
|
||||
{
|
||||
public static class CalendarXamlHelpers
|
||||
public static CalendarItemViewModel GetFirstAllDayEvent(CalendarEventCollection collection)
|
||||
=> (CalendarItemViewModel)collection.AllDayEvents.FirstOrDefault();
|
||||
|
||||
/// <summary>
|
||||
/// Returns full date + duration info in Event Details page details title.
|
||||
/// </summary>
|
||||
public static string GetEventDetailsDateString(CalendarItemViewModel calendarItemViewModel, CalendarSettings settings)
|
||||
{
|
||||
public static CalendarItemViewModel GetFirstAllDayEvent(CalendarEventCollection collection)
|
||||
=> (CalendarItemViewModel)collection.AllDayEvents.FirstOrDefault();
|
||||
if (calendarItemViewModel == null || settings == null) return string.Empty;
|
||||
|
||||
/// <summary>
|
||||
/// Returns full date + duration info in Event Details page details title.
|
||||
/// </summary>
|
||||
public static string GetEventDetailsDateString(CalendarItemViewModel calendarItemViewModel, CalendarSettings settings)
|
||||
var start = calendarItemViewModel.Period.Start;
|
||||
var end = calendarItemViewModel.Period.End;
|
||||
|
||||
string timeFormat = settings.DayHeaderDisplayType == DayHeaderDisplayType.TwelveHour ? "h:mm tt" : "HH:mm";
|
||||
string dateFormat = settings.DayHeaderDisplayType == DayHeaderDisplayType.TwelveHour ? "dddd, dd MMMM h:mm tt" : "dddd, dd MMMM HH:mm";
|
||||
|
||||
if (calendarItemViewModel.IsMultiDayEvent)
|
||||
{
|
||||
if (calendarItemViewModel == null || settings == null) return string.Empty;
|
||||
|
||||
var start = calendarItemViewModel.Period.Start;
|
||||
var end = calendarItemViewModel.Period.End;
|
||||
|
||||
string timeFormat = settings.DayHeaderDisplayType == DayHeaderDisplayType.TwelveHour ? "h:mm tt" : "HH:mm";
|
||||
string dateFormat = settings.DayHeaderDisplayType == DayHeaderDisplayType.TwelveHour ? "dddd, dd MMMM h:mm tt" : "dddd, dd MMMM HH:mm";
|
||||
|
||||
if (calendarItemViewModel.IsMultiDayEvent)
|
||||
{
|
||||
return $"{start.ToString($"dd MMMM ddd {timeFormat}", settings.CultureInfo)} - {end.ToString($"dd MMMM ddd {timeFormat}", settings.CultureInfo)}";
|
||||
}
|
||||
else
|
||||
{
|
||||
return $"{start.ToString(dateFormat, settings.CultureInfo)} - {end.ToString(timeFormat, settings.CultureInfo)}";
|
||||
}
|
||||
return $"{start.ToString($"dd MMMM ddd {timeFormat}", settings.CultureInfo)} - {end.ToString($"dd MMMM ddd {timeFormat}", settings.CultureInfo)}";
|
||||
}
|
||||
|
||||
public static string GetRecurrenceString(CalendarItemViewModel calendarItemViewModel)
|
||||
else
|
||||
{
|
||||
if (calendarItemViewModel == null || !calendarItemViewModel.IsRecurringChild) return string.Empty;
|
||||
|
||||
// Parse recurrence rules
|
||||
var calendarEvent = new CalendarEvent
|
||||
{
|
||||
Start = new CalDateTime(calendarItemViewModel.StartDate),
|
||||
End = new CalDateTime(calendarItemViewModel.EndDate),
|
||||
};
|
||||
|
||||
var recurrenceLines = Regex.Split(calendarItemViewModel.CalendarItem.Recurrence, Constants.CalendarEventRecurrenceRuleSeperator);
|
||||
|
||||
foreach (var line in recurrenceLines)
|
||||
{
|
||||
calendarEvent.RecurrenceRules.Add(new RecurrencePattern(line));
|
||||
}
|
||||
|
||||
if (calendarEvent.RecurrenceRules == null || !calendarEvent.RecurrenceRules.Any())
|
||||
{
|
||||
return "No recurrence pattern.";
|
||||
}
|
||||
|
||||
var recurrenceRule = calendarEvent.RecurrenceRules.First();
|
||||
var daysOfWeek = string.Join(", ", recurrenceRule.ByDay.Select(day => day.DayOfWeek.ToString()));
|
||||
string timeZone = calendarEvent.DtStart.TzId ?? "UTC";
|
||||
|
||||
return $"Every {daysOfWeek}, effective {calendarEvent.DtStart.Value.ToShortDateString()} " +
|
||||
$"from {calendarEvent.DtStart.Value.ToShortTimeString()} to {calendarEvent.DtEnd.Value.ToShortTimeString()} " +
|
||||
$"{timeZone}.";
|
||||
}
|
||||
|
||||
public static string GetDetailsPopupDurationString(CalendarItemViewModel calendarItemViewModel, CalendarSettings settings)
|
||||
{
|
||||
if (calendarItemViewModel == null || settings == null) return string.Empty;
|
||||
|
||||
// Single event in a day.
|
||||
if (!calendarItemViewModel.IsAllDayEvent && !calendarItemViewModel.IsMultiDayEvent)
|
||||
{
|
||||
return $"{calendarItemViewModel.Period.Start.ToString("d", settings.CultureInfo)} {settings.GetTimeString(calendarItemViewModel.Period.Duration)}";
|
||||
}
|
||||
else if (calendarItemViewModel.IsMultiDayEvent)
|
||||
{
|
||||
return $"{calendarItemViewModel.Period.Start.ToString("d", settings.CultureInfo)} - {calendarItemViewModel.Period.End.ToString("d", settings.CultureInfo)}";
|
||||
}
|
||||
else
|
||||
{
|
||||
// All day event.
|
||||
return $"{calendarItemViewModel.Period.Start.ToString("d", settings.CultureInfo)} ({Translator.CalendarItemAllDay})";
|
||||
}
|
||||
}
|
||||
|
||||
public static PopupPlacementMode GetDesiredPlacementModeForEventsDetailsPopup(
|
||||
CalendarItemViewModel calendarItemViewModel,
|
||||
CalendarDisplayType calendarDisplayType)
|
||||
{
|
||||
if (calendarItemViewModel == null) return PopupPlacementMode.Auto;
|
||||
|
||||
// All and/or multi day events always go to the top of the screen.
|
||||
if (calendarItemViewModel.IsAllDayEvent || calendarItemViewModel.IsMultiDayEvent) return PopupPlacementMode.Bottom;
|
||||
|
||||
return XamlHelpers.GetPlaccementModeForCalendarType(calendarDisplayType);
|
||||
return $"{start.ToString(dateFormat, settings.CultureInfo)} - {end.ToString(timeFormat, settings.CultureInfo)}";
|
||||
}
|
||||
}
|
||||
|
||||
public static string GetRecurrenceString(CalendarItemViewModel calendarItemViewModel)
|
||||
{
|
||||
if (calendarItemViewModel == null || !calendarItemViewModel.IsRecurringChild) return string.Empty;
|
||||
|
||||
// Parse recurrence rules
|
||||
var calendarEvent = new CalendarEvent
|
||||
{
|
||||
Start = new CalDateTime(calendarItemViewModel.StartDate),
|
||||
End = new CalDateTime(calendarItemViewModel.EndDate),
|
||||
};
|
||||
|
||||
var recurrenceLines = Regex.Split(calendarItemViewModel.CalendarItem.Recurrence, Constants.CalendarEventRecurrenceRuleSeperator);
|
||||
|
||||
foreach (var line in recurrenceLines)
|
||||
{
|
||||
calendarEvent.RecurrenceRules.Add(new RecurrencePattern(line));
|
||||
}
|
||||
|
||||
if (calendarEvent.RecurrenceRules == null || !calendarEvent.RecurrenceRules.Any())
|
||||
{
|
||||
return "No recurrence pattern.";
|
||||
}
|
||||
|
||||
var recurrenceRule = calendarEvent.RecurrenceRules.First();
|
||||
var daysOfWeek = string.Join(", ", recurrenceRule.ByDay.Select(day => day.DayOfWeek.ToString()));
|
||||
string timeZone = calendarEvent.DtStart.TzId ?? "UTC";
|
||||
|
||||
return $"Every {daysOfWeek}, effective {calendarEvent.DtStart.Value.ToShortDateString()} " +
|
||||
$"from {calendarEvent.DtStart.Value.ToShortTimeString()} to {calendarEvent.DtEnd.Value.ToShortTimeString()} " +
|
||||
$"{timeZone}.";
|
||||
}
|
||||
|
||||
public static string GetDetailsPopupDurationString(CalendarItemViewModel calendarItemViewModel, CalendarSettings settings)
|
||||
{
|
||||
if (calendarItemViewModel == null || settings == null) return string.Empty;
|
||||
|
||||
// Single event in a day.
|
||||
if (!calendarItemViewModel.IsAllDayEvent && !calendarItemViewModel.IsMultiDayEvent)
|
||||
{
|
||||
return $"{calendarItemViewModel.Period.Start.ToString("d", settings.CultureInfo)} {settings.GetTimeString(calendarItemViewModel.Period.Duration)}";
|
||||
}
|
||||
else if (calendarItemViewModel.IsMultiDayEvent)
|
||||
{
|
||||
return $"{calendarItemViewModel.Period.Start.ToString("d", settings.CultureInfo)} - {calendarItemViewModel.Period.End.ToString("d", settings.CultureInfo)}";
|
||||
}
|
||||
else
|
||||
{
|
||||
// All day event.
|
||||
return $"{calendarItemViewModel.Period.Start.ToString("d", settings.CultureInfo)} ({Translator.CalendarItemAllDay})";
|
||||
}
|
||||
}
|
||||
|
||||
public static PopupPlacementMode GetDesiredPlacementModeForEventsDetailsPopup(
|
||||
CalendarItemViewModel calendarItemViewModel,
|
||||
CalendarDisplayType calendarDisplayType)
|
||||
{
|
||||
if (calendarItemViewModel == null) return PopupPlacementMode.Auto;
|
||||
|
||||
// All and/or multi day events always go to the top of the screen.
|
||||
if (calendarItemViewModel.IsAllDayEvent || calendarItemViewModel.IsMultiDayEvent) return PopupPlacementMode.Bottom;
|
||||
|
||||
return XamlHelpers.GetPlaccementModeForCalendarType(calendarDisplayType);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -15,16 +15,15 @@ using Windows.UI.Xaml.Navigation;
|
||||
|
||||
// The Blank Page item template is documented at https://go.microsoft.com/fwlink/?LinkId=402352&clcid=0x409
|
||||
|
||||
namespace Wino.Calendar
|
||||
namespace Wino.Calendar;
|
||||
|
||||
/// <summary>
|
||||
/// An empty page that can be used on its own or navigated to within a Frame.
|
||||
/// </summary>
|
||||
public sealed partial class MainPage : Page
|
||||
{
|
||||
/// <summary>
|
||||
/// An empty page that can be used on its own or navigated to within a Frame.
|
||||
/// </summary>
|
||||
public sealed partial class MainPage : Page
|
||||
public MainPage()
|
||||
{
|
||||
public MainPage()
|
||||
{
|
||||
this.InitializeComponent();
|
||||
}
|
||||
this.InitializeComponent();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,17 +1,16 @@
|
||||
namespace Wino.Calendar.Models
|
||||
namespace Wino.Calendar.Models;
|
||||
|
||||
public struct CalendarItemMeasurement
|
||||
{
|
||||
public struct CalendarItemMeasurement
|
||||
// Where to start?
|
||||
public double Left { get; set; }
|
||||
|
||||
// Extend until where?
|
||||
public double Right { get; set; }
|
||||
|
||||
public CalendarItemMeasurement(double left, double right)
|
||||
{
|
||||
// Where to start?
|
||||
public double Left { get; set; }
|
||||
|
||||
// Extend until where?
|
||||
public double Right { get; set; }
|
||||
|
||||
public CalendarItemMeasurement(double left, double right)
|
||||
{
|
||||
Left = left;
|
||||
Right = right;
|
||||
}
|
||||
Left = left;
|
||||
Right = right;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -8,6 +8,11 @@
|
||||
xmlns:uap="http://schemas.microsoft.com/appx/manifest/uap/windows10"
|
||||
IgnorableNamespaces="uap mp">
|
||||
|
||||
<Identity
|
||||
Name="58272BurakKSE.WinoCalendar"
|
||||
Publisher="CN=51FBDAF3-E212-4149-89A2-A2636B3BC911"
|
||||
Version="1.0.15.0" />
|
||||
|
||||
<!-- Publisher Cache Folders -->
|
||||
<Extensions>
|
||||
<Extension Category="windows.publisherCacheFolders">
|
||||
@@ -16,13 +21,8 @@
|
||||
</PublisherCacheFolders>
|
||||
</Extension>
|
||||
</Extensions>
|
||||
|
||||
<Identity
|
||||
Name="58272BurakKSE.WinoCalendar"
|
||||
Publisher="CN=51FBDAF3-E212-4149-89A2-A2636B3BC911"
|
||||
Version="1.0.15.0" />
|
||||
|
||||
<mp:PhoneIdentity PhoneProductId="f047b7dd-96ec-4d54-a862-9321e271e449" PhonePublisherId="00000000-0000-0000-0000-000000000000"/>
|
||||
<mp:PhoneIdentity PhoneProductId="f047b7dd-96ec-4d54-a862-9321e271e449" PhonePublisherId="00000000-0000-0000-0000-000000000000"/>
|
||||
|
||||
<Properties>
|
||||
<DisplayName>Wino Calendar</DisplayName>
|
||||
|
||||
@@ -1,29 +0,0 @@
|
||||
using System.Reflection;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
// General Information about an assembly is controlled through the following
|
||||
// set of attributes. Change these attribute values to modify the information
|
||||
// associated with an assembly.
|
||||
[assembly: AssemblyTitle("Wino.Calendar")]
|
||||
[assembly: AssemblyDescription("")]
|
||||
[assembly: AssemblyConfiguration("")]
|
||||
[assembly: AssemblyCompany("")]
|
||||
[assembly: AssemblyProduct("Wino.Calendar")]
|
||||
[assembly: AssemblyCopyright("Copyright © 2023")]
|
||||
[assembly: AssemblyTrademark("")]
|
||||
[assembly: AssemblyCulture("")]
|
||||
|
||||
// Version information for an assembly consists of the following four values:
|
||||
//
|
||||
// Major Version
|
||||
// Minor Version
|
||||
// Build Number
|
||||
// Revision
|
||||
//
|
||||
// You can specify all the values or you can default the Build and Revision Numbers
|
||||
// by using the '*' as shown below:
|
||||
// [assembly: AssemblyVersion("1.0.*")]
|
||||
[assembly: AssemblyVersion("1.0.0.0")]
|
||||
[assembly: AssemblyFileVersion("1.0.0.0")]
|
||||
[assembly: ComVisible(false)]
|
||||
@@ -1,44 +0,0 @@
|
||||
<!--
|
||||
This file contains Runtime Directives used by .NET Native. The defaults here are suitable for most
|
||||
developers. However, you can modify these parameters to modify the behavior of the .NET Native
|
||||
optimizer.
|
||||
|
||||
Runtime Directives are documented at https://go.microsoft.com/fwlink/?LinkID=391919
|
||||
|
||||
To fully enable reflection for App1.MyClass and all of its public/private members
|
||||
<Type Name="App1.MyClass" Dynamic="Required All"/>
|
||||
|
||||
To enable dynamic creation of the specific instantiation of AppClass<T> over System.Int32
|
||||
<TypeInstantiation Name="App1.AppClass" Arguments="System.Int32" Activate="Required Public" />
|
||||
|
||||
Using the Namespace directive to apply reflection policy to all the types in a particular namespace
|
||||
<Namespace Name="DataClasses.ViewModels" Serialize="All" />
|
||||
-->
|
||||
|
||||
<Directives xmlns="http://schemas.microsoft.com/netfx/2013/01/metadata">
|
||||
<Application>
|
||||
<!--
|
||||
An Assembly element with Name="*Application*" applies to all assemblies in
|
||||
the application package. The asterisks are not wildcards.
|
||||
-->
|
||||
<Assembly Name="*Application*" Dynamic="Required All" />
|
||||
|
||||
<!-- Reduce memory footprint when building with Microsoft.Graph -->
|
||||
|
||||
<Assembly Name="Microsoft.Graph" Serialize="Excluded" />
|
||||
|
||||
<Assembly Name="Microsoft.Kiota.Abstractions" Dynamic="Public" />
|
||||
<Assembly Name="Microsoft.Kiota.Authentication.Azure" Dynamic="Public" />
|
||||
<Assembly Name="Microsoft.Kiota.Http.HttpClientLibrary" Dynamic="Public" />
|
||||
<Assembly Name="Microsoft.Kiota.Serialization.Form" Dynamic="Public" />
|
||||
<Assembly Name="Microsoft.Kiota.Serialization.Json" Dynamic="Public" />
|
||||
<Assembly Name="Microsoft.Kiota.Serialization.Multipart" Dynamic="Public" />
|
||||
|
||||
<!-- Add your application specific runtime directives here. -->
|
||||
<Type Name="Windows.Foundation.TypedEventHandler{Microsoft.UI.Xaml.Controls.NavigationView,Microsoft.UI.Xaml.Controls.NavigationViewItemInvokedEventArgs}" MarshalObject="Public" />
|
||||
|
||||
<Type Name="Microsoft.UI.Xaml.Controls.NavigationView">
|
||||
<Event Name="ItemInvoked" Dynamic="Required"/>
|
||||
</Type>
|
||||
</Application>
|
||||
</Directives>
|
||||
7
Wino.Calendar/Properties/launchSettings.json
Normal file
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"profiles": {
|
||||
"Wino.Calendar": {
|
||||
"commandName": "MsixPackage"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -2,21 +2,20 @@
|
||||
using Windows.UI.Xaml.Controls;
|
||||
using Wino.Calendar.ViewModels.Data;
|
||||
|
||||
namespace Wino.Calendar.Selectors
|
||||
namespace Wino.Calendar.Selectors;
|
||||
|
||||
public partial class CustomAreaCalendarItemSelector : DataTemplateSelector
|
||||
{
|
||||
public class CustomAreaCalendarItemSelector : DataTemplateSelector
|
||||
public DataTemplate AllDayTemplate { get; set; }
|
||||
public DataTemplate MultiDayTemplate { get; set; }
|
||||
|
||||
protected override DataTemplate SelectTemplateCore(object item, DependencyObject container)
|
||||
{
|
||||
public DataTemplate AllDayTemplate { get; set; }
|
||||
public DataTemplate MultiDayTemplate { get; set; }
|
||||
|
||||
protected override DataTemplate SelectTemplateCore(object item, DependencyObject container)
|
||||
if (item is CalendarItemViewModel calendarItemViewModel)
|
||||
{
|
||||
if (item is CalendarItemViewModel calendarItemViewModel)
|
||||
{
|
||||
return calendarItemViewModel.IsMultiDayEvent ? MultiDayTemplate : AllDayTemplate;
|
||||
}
|
||||
|
||||
return base.SelectTemplateCore(item, container);
|
||||
return calendarItemViewModel.IsMultiDayEvent ? MultiDayTemplate : AllDayTemplate;
|
||||
}
|
||||
|
||||
return base.SelectTemplateCore(item, container);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,33 +2,32 @@
|
||||
using Windows.UI.Xaml.Controls;
|
||||
using Wino.Core.Domain.Enums;
|
||||
|
||||
namespace Wino.Calendar.Selectors
|
||||
namespace Wino.Calendar.Selectors;
|
||||
|
||||
public partial class WinoCalendarItemTemplateSelector : DataTemplateSelector
|
||||
{
|
||||
public class WinoCalendarItemTemplateSelector : DataTemplateSelector
|
||||
public CalendarDisplayType DisplayType { get; set; }
|
||||
|
||||
public DataTemplate DayWeekWorkWeekTemplate { get; set; }
|
||||
public DataTemplate MonthlyTemplate { get; set; }
|
||||
|
||||
|
||||
protected override DataTemplate SelectTemplateCore(object item, DependencyObject container)
|
||||
{
|
||||
public CalendarDisplayType DisplayType { get; set; }
|
||||
|
||||
public DataTemplate DayWeekWorkWeekTemplate { get; set; }
|
||||
public DataTemplate MonthlyTemplate { get; set; }
|
||||
|
||||
|
||||
protected override DataTemplate SelectTemplateCore(object item, DependencyObject container)
|
||||
switch (DisplayType)
|
||||
{
|
||||
switch (DisplayType)
|
||||
{
|
||||
case CalendarDisplayType.Day:
|
||||
case CalendarDisplayType.Week:
|
||||
case CalendarDisplayType.WorkWeek:
|
||||
return DayWeekWorkWeekTemplate;
|
||||
case CalendarDisplayType.Month:
|
||||
return MonthlyTemplate;
|
||||
case CalendarDisplayType.Year:
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
return base.SelectTemplateCore(item, container);
|
||||
case CalendarDisplayType.Day:
|
||||
case CalendarDisplayType.Week:
|
||||
case CalendarDisplayType.WorkWeek:
|
||||
return DayWeekWorkWeekTemplate;
|
||||
case CalendarDisplayType.Month:
|
||||
return MonthlyTemplate;
|
||||
case CalendarDisplayType.Year:
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
return base.SelectTemplateCore(item, container);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -7,108 +7,107 @@ using Wino.Calendar.ViewModels.Data;
|
||||
using Wino.Calendar.ViewModels.Interfaces;
|
||||
using Wino.Core.Domain.Entities.Shared;
|
||||
|
||||
namespace Wino.Calendar.Services
|
||||
namespace Wino.Calendar.Services;
|
||||
|
||||
/// <summary>
|
||||
/// Encapsulated state manager for collectively managing the state of account calendars.
|
||||
/// Callers must react to the events to update their state only from this service.
|
||||
/// </summary>
|
||||
public partial class AccountCalendarStateService : ObservableObject, IAccountCalendarStateService
|
||||
{
|
||||
/// <summary>
|
||||
/// Encapsulated state manager for collectively managing the state of account calendars.
|
||||
/// Callers must react to the events to update their state only from this service.
|
||||
/// </summary>
|
||||
public partial class AccountCalendarStateService : ObservableObject, IAccountCalendarStateService
|
||||
public event EventHandler<GroupedAccountCalendarViewModel> CollectiveAccountGroupSelectionStateChanged;
|
||||
public event EventHandler<AccountCalendarViewModel> AccountCalendarSelectionStateChanged;
|
||||
|
||||
[ObservableProperty]
|
||||
public partial ReadOnlyObservableCollection<GroupedAccountCalendarViewModel> GroupedAccountCalendars { get; set; }
|
||||
|
||||
private ObservableCollection<GroupedAccountCalendarViewModel> _internalGroupedAccountCalendars = new ObservableCollection<GroupedAccountCalendarViewModel>();
|
||||
|
||||
public IEnumerable<AccountCalendarViewModel> ActiveCalendars
|
||||
{
|
||||
public event EventHandler<GroupedAccountCalendarViewModel> CollectiveAccountGroupSelectionStateChanged;
|
||||
public event EventHandler<AccountCalendarViewModel> AccountCalendarSelectionStateChanged;
|
||||
|
||||
[ObservableProperty]
|
||||
private ReadOnlyObservableCollection<GroupedAccountCalendarViewModel> groupedAccountCalendars;
|
||||
|
||||
private ObservableCollection<GroupedAccountCalendarViewModel> _internalGroupedAccountCalendars = new ObservableCollection<GroupedAccountCalendarViewModel>();
|
||||
|
||||
public IEnumerable<AccountCalendarViewModel> ActiveCalendars
|
||||
get
|
||||
{
|
||||
get
|
||||
{
|
||||
return GroupedAccountCalendars
|
||||
.SelectMany(a => a.AccountCalendars)
|
||||
.Where(b => b.IsChecked);
|
||||
}
|
||||
return GroupedAccountCalendars
|
||||
.SelectMany(a => a.AccountCalendars)
|
||||
.Where(b => b.IsChecked);
|
||||
}
|
||||
}
|
||||
|
||||
public IEnumerable<IGrouping<MailAccount, AccountCalendarViewModel>> GroupedAccountCalendarsEnumerable
|
||||
public IEnumerable<IGrouping<MailAccount, AccountCalendarViewModel>> GroupedAccountCalendarsEnumerable
|
||||
{
|
||||
get
|
||||
{
|
||||
get
|
||||
{
|
||||
return GroupedAccountCalendars
|
||||
.Select(a => a.AccountCalendars)
|
||||
.SelectMany(b => b)
|
||||
.GroupBy(c => c.Account);
|
||||
}
|
||||
return GroupedAccountCalendars
|
||||
.Select(a => a.AccountCalendars)
|
||||
.SelectMany(b => b)
|
||||
.GroupBy(c => c.Account);
|
||||
}
|
||||
}
|
||||
|
||||
public AccountCalendarStateService()
|
||||
public AccountCalendarStateService()
|
||||
{
|
||||
GroupedAccountCalendars = new ReadOnlyObservableCollection<GroupedAccountCalendarViewModel>(_internalGroupedAccountCalendars);
|
||||
}
|
||||
|
||||
private void SingleGroupCalendarCollectiveStateChanged(object sender, EventArgs e)
|
||||
=> CollectiveAccountGroupSelectionStateChanged?.Invoke(this, sender as GroupedAccountCalendarViewModel);
|
||||
|
||||
private void SingleCalendarSelectionStateChanged(object sender, AccountCalendarViewModel e)
|
||||
=> AccountCalendarSelectionStateChanged?.Invoke(this, e);
|
||||
|
||||
public void AddGroupedAccountCalendar(GroupedAccountCalendarViewModel groupedAccountCalendar)
|
||||
{
|
||||
groupedAccountCalendar.CalendarSelectionStateChanged += SingleCalendarSelectionStateChanged;
|
||||
groupedAccountCalendar.CollectiveSelectionStateChanged += SingleGroupCalendarCollectiveStateChanged;
|
||||
|
||||
_internalGroupedAccountCalendars.Add(groupedAccountCalendar);
|
||||
}
|
||||
|
||||
public void RemoveGroupedAccountCalendar(GroupedAccountCalendarViewModel groupedAccountCalendar)
|
||||
{
|
||||
groupedAccountCalendar.CalendarSelectionStateChanged -= SingleCalendarSelectionStateChanged;
|
||||
groupedAccountCalendar.CollectiveSelectionStateChanged -= SingleGroupCalendarCollectiveStateChanged;
|
||||
|
||||
_internalGroupedAccountCalendars.Remove(groupedAccountCalendar);
|
||||
}
|
||||
|
||||
public void ClearGroupedAccountCalendar()
|
||||
{
|
||||
foreach (var groupedAccountCalendar in _internalGroupedAccountCalendars)
|
||||
{
|
||||
GroupedAccountCalendars = new ReadOnlyObservableCollection<GroupedAccountCalendarViewModel>(_internalGroupedAccountCalendars);
|
||||
RemoveGroupedAccountCalendar(groupedAccountCalendar);
|
||||
}
|
||||
}
|
||||
|
||||
private void SingleGroupCalendarCollectiveStateChanged(object sender, EventArgs e)
|
||||
=> CollectiveAccountGroupSelectionStateChanged?.Invoke(this, sender as GroupedAccountCalendarViewModel);
|
||||
public void AddAccountCalendar(AccountCalendarViewModel accountCalendar)
|
||||
{
|
||||
// Find the group that this calendar belongs to.
|
||||
var group = _internalGroupedAccountCalendars.FirstOrDefault(g => g.Account.Id == accountCalendar.Account.Id);
|
||||
|
||||
private void SingleCalendarSelectionStateChanged(object sender, AccountCalendarViewModel e)
|
||||
=> AccountCalendarSelectionStateChanged?.Invoke(this, e);
|
||||
|
||||
public void AddGroupedAccountCalendar(GroupedAccountCalendarViewModel groupedAccountCalendar)
|
||||
if (group == null)
|
||||
{
|
||||
groupedAccountCalendar.CalendarSelectionStateChanged += SingleCalendarSelectionStateChanged;
|
||||
groupedAccountCalendar.CollectiveSelectionStateChanged += SingleGroupCalendarCollectiveStateChanged;
|
||||
|
||||
_internalGroupedAccountCalendars.Add(groupedAccountCalendar);
|
||||
// If the group doesn't exist, create it.
|
||||
group = new GroupedAccountCalendarViewModel(accountCalendar.Account, new[] { accountCalendar });
|
||||
AddGroupedAccountCalendar(group);
|
||||
}
|
||||
|
||||
public void RemoveGroupedAccountCalendar(GroupedAccountCalendarViewModel groupedAccountCalendar)
|
||||
else
|
||||
{
|
||||
groupedAccountCalendar.CalendarSelectionStateChanged -= SingleCalendarSelectionStateChanged;
|
||||
groupedAccountCalendar.CollectiveSelectionStateChanged -= SingleGroupCalendarCollectiveStateChanged;
|
||||
|
||||
_internalGroupedAccountCalendars.Remove(groupedAccountCalendar);
|
||||
group.AccountCalendars.Add(accountCalendar);
|
||||
}
|
||||
}
|
||||
|
||||
public void ClearGroupedAccountCalendar()
|
||||
public void RemoveAccountCalendar(AccountCalendarViewModel accountCalendar)
|
||||
{
|
||||
var group = _internalGroupedAccountCalendars.FirstOrDefault(g => g.Account.Id == accountCalendar.Account.Id);
|
||||
|
||||
// We don't expect but just in case.
|
||||
if (group == null) return;
|
||||
|
||||
group.AccountCalendars.Remove(accountCalendar);
|
||||
|
||||
if (group.AccountCalendars.Count == 0)
|
||||
{
|
||||
foreach (var groupedAccountCalendar in _internalGroupedAccountCalendars)
|
||||
{
|
||||
RemoveGroupedAccountCalendar(groupedAccountCalendar);
|
||||
}
|
||||
}
|
||||
|
||||
public void AddAccountCalendar(AccountCalendarViewModel accountCalendar)
|
||||
{
|
||||
// Find the group that this calendar belongs to.
|
||||
var group = _internalGroupedAccountCalendars.FirstOrDefault(g => g.Account.Id == accountCalendar.Account.Id);
|
||||
|
||||
if (group == null)
|
||||
{
|
||||
// If the group doesn't exist, create it.
|
||||
group = new GroupedAccountCalendarViewModel(accountCalendar.Account, new[] { accountCalendar });
|
||||
AddGroupedAccountCalendar(group);
|
||||
}
|
||||
else
|
||||
{
|
||||
group.AccountCalendars.Add(accountCalendar);
|
||||
}
|
||||
}
|
||||
|
||||
public void RemoveAccountCalendar(AccountCalendarViewModel accountCalendar)
|
||||
{
|
||||
var group = _internalGroupedAccountCalendars.FirstOrDefault(g => g.Account.Id == accountCalendar.Account.Id);
|
||||
|
||||
// We don't expect but just in case.
|
||||
if (group == null) return;
|
||||
|
||||
group.AccountCalendars.Remove(accountCalendar);
|
||||
|
||||
if (group.AccountCalendars.Count == 0)
|
||||
{
|
||||
RemoveGroupedAccountCalendar(group);
|
||||
}
|
||||
RemoveGroupedAccountCalendar(group);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,14 +2,13 @@
|
||||
using Wino.Core.Domain.Interfaces;
|
||||
using Wino.Core.UWP.Services;
|
||||
|
||||
namespace Wino.Calendar.Services
|
||||
namespace Wino.Calendar.Services;
|
||||
|
||||
public class DialogService : DialogServiceBase, ICalendarDialogService
|
||||
{
|
||||
public class DialogService : DialogServiceBase, ICalendarDialogService
|
||||
public DialogService(IThemeService themeService,
|
||||
IConfigurationService configurationService,
|
||||
IApplicationResourceManager<ResourceDictionary> applicationResourceManager) : base(themeService, configurationService, applicationResourceManager)
|
||||
{
|
||||
public DialogService(IThemeService themeService,
|
||||
IConfigurationService configurationService,
|
||||
IApplicationResourceManager<ResourceDictionary> applicationResourceManager) : base(themeService, configurationService, applicationResourceManager)
|
||||
{
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -10,54 +10,53 @@ using Wino.Core.Domain.Models.Navigation;
|
||||
using Wino.Core.UWP.Services;
|
||||
using Wino.Views;
|
||||
|
||||
namespace Wino.Calendar.Services
|
||||
namespace Wino.Calendar.Services;
|
||||
|
||||
public class NavigationService : NavigationServiceBase, INavigationService
|
||||
{
|
||||
public class NavigationService : NavigationServiceBase, INavigationService
|
||||
public Type GetPageType(WinoPage winoPage)
|
||||
{
|
||||
public Type GetPageType(WinoPage winoPage)
|
||||
return winoPage switch
|
||||
{
|
||||
return winoPage switch
|
||||
{
|
||||
WinoPage.CalendarPage => typeof(CalendarPage),
|
||||
WinoPage.SettingsPage => typeof(SettingsPage),
|
||||
WinoPage.CalendarSettingsPage => typeof(CalendarSettingsPage),
|
||||
WinoPage.AccountManagementPage => typeof(AccountManagementPage),
|
||||
WinoPage.ManageAccountsPage => typeof(ManageAccountsPage),
|
||||
WinoPage.PersonalizationPage => typeof(PersonalizationPage),
|
||||
WinoPage.AccountDetailsPage => typeof(AccountDetailsPage),
|
||||
WinoPage.EventDetailsPage => typeof(EventDetailsPage),
|
||||
_ => throw new Exception("Page is not implemented yet."),
|
||||
};
|
||||
}
|
||||
WinoPage.CalendarPage => typeof(CalendarPage),
|
||||
WinoPage.SettingsPage => typeof(SettingsPage),
|
||||
WinoPage.CalendarSettingsPage => typeof(CalendarSettingsPage),
|
||||
WinoPage.AccountManagementPage => typeof(AccountManagementPage),
|
||||
WinoPage.ManageAccountsPage => typeof(ManageAccountsPage),
|
||||
WinoPage.PersonalizationPage => typeof(PersonalizationPage),
|
||||
WinoPage.AccountDetailsPage => typeof(AccountDetailsPage),
|
||||
WinoPage.EventDetailsPage => typeof(EventDetailsPage),
|
||||
_ => throw new Exception("Page is not implemented yet."),
|
||||
};
|
||||
}
|
||||
|
||||
public void GoBack()
|
||||
public void GoBack()
|
||||
{
|
||||
if (Window.Current.Content is Frame appFrame && appFrame.Content is AppShell shellPage)
|
||||
{
|
||||
if (Window.Current.Content is Frame appFrame && appFrame.Content is AppShell shellPage)
|
||||
{
|
||||
var shellFrame = shellPage.GetShellFrame();
|
||||
var shellFrame = shellPage.GetShellFrame();
|
||||
|
||||
if (shellFrame.CanGoBack)
|
||||
{
|
||||
shellFrame.GoBack();
|
||||
}
|
||||
if (shellFrame.CanGoBack)
|
||||
{
|
||||
shellFrame.GoBack();
|
||||
}
|
||||
}
|
||||
|
||||
public bool Navigate(WinoPage page, object parameter = null, NavigationReferenceFrame frame = NavigationReferenceFrame.ShellFrame, NavigationTransitionType transition = NavigationTransitionType.None)
|
||||
{
|
||||
// All navigations are performed on shell frame for calendar.
|
||||
|
||||
if (Window.Current.Content is Frame appFrame && appFrame.Content is AppShell shellPage)
|
||||
{
|
||||
var shellFrame = shellPage.GetShellFrame();
|
||||
|
||||
var pageType = GetPageType(page);
|
||||
|
||||
shellFrame.Navigate(pageType, parameter);
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
public bool Navigate(WinoPage page, object parameter = null, NavigationReferenceFrame frame = NavigationReferenceFrame.ShellFrame, NavigationTransitionType transition = NavigationTransitionType.None)
|
||||
{
|
||||
// All navigations are performed on shell frame for calendar.
|
||||
|
||||
if (Window.Current.Content is Frame appFrame && appFrame.Content is AppShell shellPage)
|
||||
{
|
||||
var shellFrame = shellPage.GetShellFrame();
|
||||
|
||||
var pageType = GetPageType(page);
|
||||
|
||||
shellFrame.Navigate(pageType, parameter);
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4,33 +4,32 @@ using Wino.Core.Domain.Enums;
|
||||
using Wino.Core.Domain.Interfaces;
|
||||
using Wino.Core.Domain.Models.Accounts;
|
||||
|
||||
namespace Wino.Calendar.Services
|
||||
namespace Wino.Calendar.Services;
|
||||
|
||||
public class ProviderService : IProviderService
|
||||
{
|
||||
public class ProviderService : IProviderService
|
||||
public IProviderDetail GetProviderDetail(MailProviderType type)
|
||||
{
|
||||
public IProviderDetail GetProviderDetail(MailProviderType type)
|
||||
{
|
||||
var details = GetAvailableProviders();
|
||||
var details = GetAvailableProviders();
|
||||
|
||||
return details.FirstOrDefault(a => a.Type == type);
|
||||
return details.FirstOrDefault(a => a.Type == type);
|
||||
}
|
||||
|
||||
public List<IProviderDetail> GetAvailableProviders()
|
||||
{
|
||||
var providerList = new List<IProviderDetail>();
|
||||
|
||||
var providers = new MailProviderType[]
|
||||
{
|
||||
MailProviderType.Outlook,
|
||||
MailProviderType.Gmail
|
||||
};
|
||||
|
||||
foreach (var type in providers)
|
||||
{
|
||||
providerList.Add(new ProviderDetail(type, SpecialImapProvider.None));
|
||||
}
|
||||
|
||||
public List<IProviderDetail> GetAvailableProviders()
|
||||
{
|
||||
var providerList = new List<IProviderDetail>();
|
||||
|
||||
var providers = new MailProviderType[]
|
||||
{
|
||||
MailProviderType.Outlook,
|
||||
MailProviderType.Gmail
|
||||
};
|
||||
|
||||
foreach (var type in providers)
|
||||
{
|
||||
providerList.Add(new ProviderDetail(type, SpecialImapProvider.None));
|
||||
}
|
||||
|
||||
return providerList;
|
||||
}
|
||||
return providerList;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,12 +1,11 @@
|
||||
using Windows.UI.Xaml;
|
||||
|
||||
namespace Wino.Calendar.Styles
|
||||
namespace Wino.Calendar.Styles;
|
||||
|
||||
public sealed partial class WinoCalendarResources : ResourceDictionary
|
||||
{
|
||||
public sealed partial class WinoCalendarResources : ResourceDictionary
|
||||
public WinoCalendarResources()
|
||||
{
|
||||
public WinoCalendarResources()
|
||||
{
|
||||
this.InitializeComponent();
|
||||
}
|
||||
this.InitializeComponent();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
using Wino.Calendar.ViewModels;
|
||||
using Wino.Core.UWP;
|
||||
|
||||
namespace Wino.Calendar.Views.Abstract
|
||||
{
|
||||
public abstract class AccountDetailsPageAbstract : BasePage<AccountDetailsPageViewModel> { }
|
||||
}
|
||||
namespace Wino.Calendar.Views.Abstract;
|
||||
|
||||
public abstract class AccountDetailsPageAbstract : BasePage<AccountDetailsPageViewModel> { }
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
using Wino.Calendar.ViewModels;
|
||||
using Wino.Core.UWP;
|
||||
|
||||
namespace Wino.Calendar.Views.Abstract
|
||||
{
|
||||
public class AccountManagementPageAbstract : BasePage<AccountManagementViewModel> { }
|
||||
}
|
||||
namespace Wino.Calendar.Views.Abstract;
|
||||
|
||||
public partial class AccountManagementPageAbstract : BasePage<AccountManagementViewModel> { }
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
using Wino.Calendar.ViewModels;
|
||||
using Wino.Core.UWP;
|
||||
|
||||
namespace Wino.Calendar.Views.Abstract
|
||||
{
|
||||
public abstract class AppShellAbstract : BasePage<AppShellViewModel> { }
|
||||
}
|
||||
namespace Wino.Calendar.Views.Abstract;
|
||||
|
||||
public abstract class AppShellAbstract : BasePage<AppShellViewModel> { }
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
using Wino.Calendar.ViewModels;
|
||||
using Wino.Core.UWP;
|
||||
|
||||
namespace Wino.Calendar.Views.Abstract
|
||||
{
|
||||
public abstract class CalendarPageAbstract : BasePage<CalendarPageViewModel> { }
|
||||
}
|
||||
namespace Wino.Calendar.Views.Abstract;
|
||||
|
||||
public abstract class CalendarPageAbstract : BasePage<CalendarPageViewModel> { }
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
using Wino.Calendar.ViewModels;
|
||||
using Wino.Core.UWP;
|
||||
|
||||
namespace Wino.Calendar.Views.Abstract
|
||||
{
|
||||
public abstract class CalendarSettingsPageAbstract : BasePage<CalendarSettingsPageViewModel> { }
|
||||
}
|
||||
namespace Wino.Calendar.Views.Abstract;
|
||||
|
||||
public abstract class CalendarSettingsPageAbstract : BasePage<CalendarSettingsPageViewModel> { }
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
using Wino.Calendar.ViewModels;
|
||||
using Wino.Core.UWP;
|
||||
|
||||
namespace Wino.Calendar.Views.Abstract
|
||||
{
|
||||
public abstract class EventDetailsPageAbstract : BasePage<EventDetailsPageViewModel> { }
|
||||
}
|
||||
namespace Wino.Calendar.Views.Abstract;
|
||||
|
||||
public abstract class EventDetailsPageAbstract : BasePage<EventDetailsPageViewModel> { }
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
using Wino.Core.UWP;
|
||||
using Wino.Core.ViewModels;
|
||||
|
||||
namespace Wino.Calendar.Views.Abstract
|
||||
{
|
||||
public class PersonalizationPageAbstract : BasePage<PersonalizationPageViewModel> { }
|
||||
}
|
||||
namespace Wino.Calendar.Views.Abstract;
|
||||
|
||||
public partial class PersonalizationPageAbstract : BasePage<PersonalizationPageViewModel> { }
|
||||
|
||||
@@ -1,12 +1,11 @@
|
||||
using Wino.Calendar.Views.Abstract;
|
||||
|
||||
namespace Wino.Calendar.Views.Account
|
||||
namespace Wino.Calendar.Views.Account;
|
||||
|
||||
public sealed partial class AccountManagementPage : AccountManagementPageAbstract
|
||||
{
|
||||
public sealed partial class AccountManagementPage : AccountManagementPageAbstract
|
||||
public AccountManagementPage()
|
||||
{
|
||||
public AccountManagementPage()
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
InitializeComponent();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -5,50 +5,49 @@ using Wino.Calendar.Views.Abstract;
|
||||
using Wino.Core.UWP;
|
||||
using Wino.Messaging.Client.Calendar;
|
||||
|
||||
namespace Wino.Calendar.Views
|
||||
namespace Wino.Calendar.Views;
|
||||
|
||||
public sealed partial class AppShell : AppShellAbstract,
|
||||
IRecipient<CalendarDisplayTypeChangedMessage>
|
||||
{
|
||||
public sealed partial class AppShell : AppShellAbstract,
|
||||
IRecipient<CalendarDisplayTypeChangedMessage>
|
||||
private const string STATE_HorizontalCalendar = "HorizontalCalendar";
|
||||
private const string STATE_VerticalCalendar = "VerticalCalendar";
|
||||
|
||||
public Frame GetShellFrame() => ShellFrame;
|
||||
|
||||
public AppShell()
|
||||
{
|
||||
private const string STATE_HorizontalCalendar = "HorizontalCalendar";
|
||||
private const string STATE_VerticalCalendar = "VerticalCalendar";
|
||||
InitializeComponent();
|
||||
|
||||
public Frame GetShellFrame() => ShellFrame;
|
||||
|
||||
public AppShell()
|
||||
{
|
||||
InitializeComponent();
|
||||
|
||||
Window.Current.SetTitleBar(DragArea);
|
||||
ManageCalendarDisplayType();
|
||||
}
|
||||
|
||||
private void ManageCalendarDisplayType()
|
||||
{
|
||||
// Go to different states based on the display type.
|
||||
if (ViewModel.IsVerticalCalendar)
|
||||
{
|
||||
VisualStateManager.GoToState(this, STATE_VerticalCalendar, false);
|
||||
}
|
||||
else
|
||||
{
|
||||
VisualStateManager.GoToState(this, STATE_HorizontalCalendar, false);
|
||||
}
|
||||
}
|
||||
|
||||
private void PreviousDateClicked(object sender, RoutedEventArgs e) => WeakReferenceMessenger.Default.Send(new GoPreviousDateRequestedMessage());
|
||||
|
||||
private void NextDateClicked(object sender, RoutedEventArgs e) => WeakReferenceMessenger.Default.Send(new GoNextDateRequestedMessage());
|
||||
|
||||
public void Receive(CalendarDisplayTypeChangedMessage message)
|
||||
{
|
||||
ManageCalendarDisplayType();
|
||||
}
|
||||
|
||||
private void ShellFrameContentNavigated(object sender, Windows.UI.Xaml.Navigation.NavigationEventArgs e)
|
||||
=> RealAppBar.ShellFrameContent = (e.Content as BasePage).ShellContent;
|
||||
|
||||
private void AppBarBackButtonClicked(Core.UWP.Controls.WinoAppTitleBar sender, RoutedEventArgs args)
|
||||
=> ViewModel.NavigationService.GoBack();
|
||||
Window.Current.SetTitleBar(DragArea);
|
||||
ManageCalendarDisplayType();
|
||||
}
|
||||
|
||||
private void ManageCalendarDisplayType()
|
||||
{
|
||||
// Go to different states based on the display type.
|
||||
if (ViewModel.IsVerticalCalendar)
|
||||
{
|
||||
VisualStateManager.GoToState(this, STATE_VerticalCalendar, false);
|
||||
}
|
||||
else
|
||||
{
|
||||
VisualStateManager.GoToState(this, STATE_HorizontalCalendar, false);
|
||||
}
|
||||
}
|
||||
|
||||
private void PreviousDateClicked(object sender, RoutedEventArgs e) => WeakReferenceMessenger.Default.Send(new GoPreviousDateRequestedMessage());
|
||||
|
||||
private void NextDateClicked(object sender, RoutedEventArgs e) => WeakReferenceMessenger.Default.Send(new GoNextDateRequestedMessage());
|
||||
|
||||
public void Receive(CalendarDisplayTypeChangedMessage message)
|
||||
{
|
||||
ManageCalendarDisplayType();
|
||||
}
|
||||
|
||||
private void ShellFrameContentNavigated(object sender, Windows.UI.Xaml.Navigation.NavigationEventArgs e)
|
||||
=> RealAppBar.ShellFrameContent = (e.Content as BasePage).ShellContent;
|
||||
|
||||
private void AppBarBackButtonClicked(Core.UWP.Controls.WinoAppTitleBar sender, RoutedEventArgs args)
|
||||
=> ViewModel.NavigationService.GoBack();
|
||||
}
|
||||
|
||||
@@ -9,153 +9,152 @@ using Wino.Core.Domain.Enums;
|
||||
using Wino.Core.Domain.Models.Calendar;
|
||||
using Wino.Messaging.Client.Calendar;
|
||||
|
||||
namespace Wino.Calendar.Views
|
||||
namespace Wino.Calendar.Views;
|
||||
|
||||
public sealed partial class CalendarPage : CalendarPageAbstract,
|
||||
IRecipient<ScrollToDateMessage>,
|
||||
IRecipient<ScrollToHourMessage>,
|
||||
IRecipient<GoNextDateRequestedMessage>,
|
||||
IRecipient<GoPreviousDateRequestedMessage>
|
||||
{
|
||||
public sealed partial class CalendarPage : CalendarPageAbstract,
|
||||
IRecipient<ScrollToDateMessage>,
|
||||
IRecipient<ScrollToHourMessage>,
|
||||
IRecipient<GoNextDateRequestedMessage>,
|
||||
IRecipient<GoPreviousDateRequestedMessage>
|
||||
private const int PopupDialogOffset = 12;
|
||||
|
||||
public CalendarPage()
|
||||
{
|
||||
private const int PopupDialogOffset = 12;
|
||||
InitializeComponent();
|
||||
NavigationCacheMode = NavigationCacheMode.Enabled;
|
||||
|
||||
public CalendarPage()
|
||||
ViewModel.DetailsShowCalendarItemChanged += CalendarItemDetailContextChanged;
|
||||
}
|
||||
|
||||
private void CalendarItemDetailContextChanged(object sender, EventArgs e)
|
||||
{
|
||||
if (ViewModel.DisplayDetailsCalendarItemViewModel != null)
|
||||
{
|
||||
InitializeComponent();
|
||||
NavigationCacheMode = NavigationCacheMode.Enabled;
|
||||
var control = CalendarControl.GetCalendarItemControl(ViewModel.DisplayDetailsCalendarItemViewModel);
|
||||
|
||||
ViewModel.DetailsShowCalendarItemChanged += CalendarItemDetailContextChanged;
|
||||
}
|
||||
|
||||
private void CalendarItemDetailContextChanged(object sender, EventArgs e)
|
||||
{
|
||||
if (ViewModel.DisplayDetailsCalendarItemViewModel != null)
|
||||
if (control != null)
|
||||
{
|
||||
var control = CalendarControl.GetCalendarItemControl(ViewModel.DisplayDetailsCalendarItemViewModel);
|
||||
|
||||
if (control != null)
|
||||
{
|
||||
EventDetailsPopup.PlacementTarget = control;
|
||||
}
|
||||
EventDetailsPopup.PlacementTarget = control;
|
||||
}
|
||||
}
|
||||
|
||||
public void Receive(ScrollToHourMessage message) => CalendarControl.NavigateToHour(message.TimeSpan);
|
||||
public void Receive(ScrollToDateMessage message) => CalendarControl.NavigateToDay(message.Date);
|
||||
public void Receive(GoNextDateRequestedMessage message) => CalendarControl.GoNextRange();
|
||||
public void Receive(GoPreviousDateRequestedMessage message) => CalendarControl.GoPreviousRange();
|
||||
|
||||
protected override void OnNavigatedTo(NavigationEventArgs e)
|
||||
{
|
||||
base.OnNavigatedTo(e);
|
||||
|
||||
if (e.NavigationMode == NavigationMode.Back) return;
|
||||
|
||||
if (e.Parameter is CalendarPageNavigationArgs args)
|
||||
{
|
||||
if (args.RequestDefaultNavigation)
|
||||
{
|
||||
// Go today.
|
||||
WeakReferenceMessenger.Default.Send(new LoadCalendarMessage(DateTime.Now.Date, CalendarInitInitiative.App));
|
||||
}
|
||||
else
|
||||
{
|
||||
// Go specified date.
|
||||
WeakReferenceMessenger.Default.Send(new LoadCalendarMessage(args.NavigationDate, CalendarInitInitiative.User));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void CellSelected(object sender, TimelineCellSelectedArgs e)
|
||||
{
|
||||
// Dismiss event details if exists and cancel the selection.
|
||||
// This is to prevent the event details from being displayed when the user clicks somewhere else.
|
||||
|
||||
if (EventDetailsPopup.IsOpen)
|
||||
{
|
||||
CalendarControl.UnselectActiveTimelineCell();
|
||||
ViewModel.DisplayDetailsCalendarItemViewModel = null;
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
ViewModel.SelectedQuickEventDate = e.ClickedDate;
|
||||
|
||||
TeachingTipPositionerGrid.Width = e.CellSize.Width;
|
||||
TeachingTipPositionerGrid.Height = e.CellSize.Height;
|
||||
|
||||
Canvas.SetLeft(TeachingTipPositionerGrid, e.PositionerPoint.X);
|
||||
Canvas.SetTop(TeachingTipPositionerGrid, e.PositionerPoint.Y);
|
||||
|
||||
// Adjust the start and end time in the flyout.
|
||||
var startTime = ViewModel.SelectedQuickEventDate.Value.TimeOfDay;
|
||||
var endTime = startTime.Add(TimeSpan.FromMinutes(30));
|
||||
|
||||
ViewModel.SelectQuickEventTimeRange(startTime, endTime);
|
||||
|
||||
QuickEventPopupDialog.IsOpen = true;
|
||||
}
|
||||
|
||||
private void CellUnselected(object sender, TimelineCellUnselectedArgs e)
|
||||
{
|
||||
QuickEventPopupDialog.IsOpen = false;
|
||||
}
|
||||
|
||||
private void QuickEventAccountSelectorSelectionChanged(object sender, SelectionChangedEventArgs e)
|
||||
{
|
||||
QuickEventAccountSelectorFlyout.Hide();
|
||||
}
|
||||
|
||||
private void QuickEventPopupClosed(object sender, object e)
|
||||
{
|
||||
// Reset the timeline selection when the tip is closed.
|
||||
CalendarControl.ResetTimelineSelection();
|
||||
}
|
||||
|
||||
private void PopupPlacementChanged(object sender, object e)
|
||||
{
|
||||
if (sender is Popup senderPopup)
|
||||
{
|
||||
// When the quick event Popup is positioned for different calendar types,
|
||||
// we must adjust the offset to make sure the tip is not hidden and has nice
|
||||
// spacing from the cell.
|
||||
|
||||
switch (senderPopup.ActualPlacement)
|
||||
{
|
||||
case PopupPlacementMode.Top:
|
||||
senderPopup.VerticalOffset = PopupDialogOffset * -1;
|
||||
break;
|
||||
case PopupPlacementMode.Bottom:
|
||||
senderPopup.VerticalOffset = PopupDialogOffset;
|
||||
break;
|
||||
case PopupPlacementMode.Left:
|
||||
senderPopup.HorizontalOffset = PopupDialogOffset * -1;
|
||||
break;
|
||||
case PopupPlacementMode.Right:
|
||||
senderPopup.HorizontalOffset = PopupDialogOffset;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
private void StartTimeDurationSubmitted(ComboBox sender, ComboBoxTextSubmittedEventArgs args)
|
||||
=> ViewModel.SelectedStartTimeString = args.Text;
|
||||
|
||||
private void EndTimeDurationSubmitted(ComboBox sender, ComboBoxTextSubmittedEventArgs args)
|
||||
=> ViewModel.SelectedEndTimeString = args.Text;
|
||||
|
||||
private void EventDetailsPopupClosed(object sender, object e)
|
||||
{
|
||||
ViewModel.DisplayDetailsCalendarItemViewModel = null;
|
||||
}
|
||||
|
||||
private void CalendarScrolling(object sender, EventArgs e)
|
||||
{
|
||||
// In case of scrolling, we must dismiss the event details dialog.
|
||||
ViewModel.DisplayDetailsCalendarItemViewModel = null;
|
||||
}
|
||||
}
|
||||
|
||||
public void Receive(ScrollToHourMessage message) => CalendarControl.NavigateToHour(message.TimeSpan);
|
||||
public void Receive(ScrollToDateMessage message) => CalendarControl.NavigateToDay(message.Date);
|
||||
public void Receive(GoNextDateRequestedMessage message) => CalendarControl.GoNextRange();
|
||||
public void Receive(GoPreviousDateRequestedMessage message) => CalendarControl.GoPreviousRange();
|
||||
|
||||
protected override void OnNavigatedTo(NavigationEventArgs e)
|
||||
{
|
||||
base.OnNavigatedTo(e);
|
||||
|
||||
if (e.NavigationMode == NavigationMode.Back) return;
|
||||
|
||||
if (e.Parameter is CalendarPageNavigationArgs args)
|
||||
{
|
||||
if (args.RequestDefaultNavigation)
|
||||
{
|
||||
// Go today.
|
||||
WeakReferenceMessenger.Default.Send(new LoadCalendarMessage(DateTime.Now.Date, CalendarInitInitiative.App));
|
||||
}
|
||||
else
|
||||
{
|
||||
// Go specified date.
|
||||
WeakReferenceMessenger.Default.Send(new LoadCalendarMessage(args.NavigationDate, CalendarInitInitiative.User));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void CellSelected(object sender, TimelineCellSelectedArgs e)
|
||||
{
|
||||
// Dismiss event details if exists and cancel the selection.
|
||||
// This is to prevent the event details from being displayed when the user clicks somewhere else.
|
||||
|
||||
if (EventDetailsPopup.IsOpen)
|
||||
{
|
||||
CalendarControl.UnselectActiveTimelineCell();
|
||||
ViewModel.DisplayDetailsCalendarItemViewModel = null;
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
ViewModel.SelectedQuickEventDate = e.ClickedDate;
|
||||
|
||||
TeachingTipPositionerGrid.Width = e.CellSize.Width;
|
||||
TeachingTipPositionerGrid.Height = e.CellSize.Height;
|
||||
|
||||
Canvas.SetLeft(TeachingTipPositionerGrid, e.PositionerPoint.X);
|
||||
Canvas.SetTop(TeachingTipPositionerGrid, e.PositionerPoint.Y);
|
||||
|
||||
// Adjust the start and end time in the flyout.
|
||||
var startTime = ViewModel.SelectedQuickEventDate.Value.TimeOfDay;
|
||||
var endTime = startTime.Add(TimeSpan.FromMinutes(30));
|
||||
|
||||
ViewModel.SelectQuickEventTimeRange(startTime, endTime);
|
||||
|
||||
QuickEventPopupDialog.IsOpen = true;
|
||||
}
|
||||
|
||||
private void CellUnselected(object sender, TimelineCellUnselectedArgs e)
|
||||
{
|
||||
QuickEventPopupDialog.IsOpen = false;
|
||||
}
|
||||
|
||||
private void QuickEventAccountSelectorSelectionChanged(object sender, SelectionChangedEventArgs e)
|
||||
{
|
||||
QuickEventAccountSelectorFlyout.Hide();
|
||||
}
|
||||
|
||||
private void QuickEventPopupClosed(object sender, object e)
|
||||
{
|
||||
// Reset the timeline selection when the tip is closed.
|
||||
CalendarControl.ResetTimelineSelection();
|
||||
}
|
||||
|
||||
private void PopupPlacementChanged(object sender, object e)
|
||||
{
|
||||
if (sender is Popup senderPopup)
|
||||
{
|
||||
// When the quick event Popup is positioned for different calendar types,
|
||||
// we must adjust the offset to make sure the tip is not hidden and has nice
|
||||
// spacing from the cell.
|
||||
|
||||
switch (senderPopup.ActualPlacement)
|
||||
{
|
||||
case PopupPlacementMode.Top:
|
||||
senderPopup.VerticalOffset = PopupDialogOffset * -1;
|
||||
break;
|
||||
case PopupPlacementMode.Bottom:
|
||||
senderPopup.VerticalOffset = PopupDialogOffset;
|
||||
break;
|
||||
case PopupPlacementMode.Left:
|
||||
senderPopup.HorizontalOffset = PopupDialogOffset * -1;
|
||||
break;
|
||||
case PopupPlacementMode.Right:
|
||||
senderPopup.HorizontalOffset = PopupDialogOffset;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
private void StartTimeDurationSubmitted(ComboBox sender, ComboBoxTextSubmittedEventArgs args)
|
||||
=> ViewModel.SelectedStartTimeString = args.Text;
|
||||
|
||||
private void EndTimeDurationSubmitted(ComboBox sender, ComboBoxTextSubmittedEventArgs args)
|
||||
=> ViewModel.SelectedEndTimeString = args.Text;
|
||||
|
||||
private void EventDetailsPopupClosed(object sender, object e)
|
||||
{
|
||||
ViewModel.DisplayDetailsCalendarItemViewModel = null;
|
||||
}
|
||||
|
||||
private void CalendarScrolling(object sender, EventArgs e)
|
||||
{
|
||||
// In case of scrolling, we must dismiss the event details dialog.
|
||||
ViewModel.DisplayDetailsCalendarItemViewModel = null;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,13 +1,12 @@
|
||||
|
||||
using Wino.Calendar.Views.Abstract;
|
||||
|
||||
namespace Wino.Calendar.Views
|
||||
namespace Wino.Calendar.Views;
|
||||
|
||||
public sealed partial class EventDetailsPage : EventDetailsPageAbstract
|
||||
{
|
||||
public sealed partial class EventDetailsPage : EventDetailsPageAbstract
|
||||
public EventDetailsPage()
|
||||
{
|
||||
public EventDetailsPage()
|
||||
{
|
||||
this.InitializeComponent();
|
||||
}
|
||||
this.InitializeComponent();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -20,7 +20,7 @@
|
||||
<controls:SettingsCard.HeaderIcon>
|
||||
<PathIcon Data="F1 M 10 0.625 C 10 0.45573 10.061849 0.309246 10.185547 0.185547 C 10.309244 0.06185 10.455729 0 10.625 0 L 15.625 0 C 15.79427 0 15.940754 0.06185 16.064453 0.185547 C 16.18815 0.309246 16.25 0.45573 16.25 0.625 C 16.25 0.794271 16.18815 0.940756 16.064453 1.064453 C 15.940754 1.188152 15.79427 1.25 15.625 1.25 L 13.75 1.25 L 13.75 18.75 L 15.625 18.75 C 15.79427 18.75 15.940754 18.81185 16.064453 18.935547 C 16.18815 19.059244 16.25 19.205729 16.25 19.375 C 16.25 19.544271 16.18815 19.690756 16.064453 19.814453 C 15.940754 19.93815 15.79427 20 15.625 20 L 10.625 20 C 10.455729 20 10.309244 19.93815 10.185547 19.814453 C 10.061849 19.690756 10 19.544271 10 19.375 C 10 19.205729 10.061849 19.059244 10.185547 18.935547 C 10.309244 18.81185 10.455729 18.75 10.625 18.75 L 12.5 18.75 L 12.5 1.25 L 10.625 1.25 C 10.455729 1.25 10.309244 1.188152 10.185547 1.064453 C 10.061849 0.940756 10 0.794271 10 0.625 Z M 0 6.25 C 0 5.735678 0.097656 5.250651 0.292969 4.794922 C 0.488281 4.339193 0.756836 3.94043 1.098633 3.598633 C 1.44043 3.256836 1.837565 2.988281 2.290039 2.792969 C 2.742513 2.597656 3.229167 2.5 3.75 2.5 L 11.25 2.5 L 11.25 3.75 L 3.75 3.75 C 3.404948 3.75 3.081055 3.815105 2.77832 3.945312 C 2.475586 4.075521 2.210286 4.254558 1.982422 4.482422 C 1.754557 4.710287 1.575521 4.975587 1.445312 5.27832 C 1.315104 5.581056 1.25 5.904949 1.25 6.25 L 1.25 13.75 C 1.25 14.095053 1.315104 14.418945 1.445312 14.72168 C 1.575521 15.024414 1.754557 15.289714 1.982422 15.517578 C 2.210286 15.745443 2.475586 15.924479 2.77832 16.054688 C 3.081055 16.184896 3.404948 16.25 3.75 16.25 L 11.25 16.25 L 11.25 17.5 L 3.75 17.5 C 3.229167 17.5 2.742513 17.402344 2.290039 17.207031 C 1.837565 17.011719 1.44043 16.743164 1.098633 16.401367 C 0.756836 16.05957 0.488281 15.662436 0.292969 15.209961 C 0.097656 14.757487 0 14.270834 0 13.75 Z M 15 3.75 L 15 2.5 L 16.25 2.5 C 16.764322 2.5 17.249348 2.597656 17.705078 2.792969 C 18.160807 2.988281 18.55957 3.256836 18.901367 3.598633 C 19.243164 3.94043 19.511719 4.339193 19.707031 4.794922 C 19.902344 5.250651 20 5.735678 20 6.25 L 20 13.75 C 20 14.270834 19.902344 14.757487 19.707031 15.209961 C 19.511719 15.662436 19.243164 16.05957 18.901367 16.401367 C 18.55957 16.743164 18.160807 17.011719 17.705078 17.207031 C 17.249348 17.402344 16.764322 17.5 16.25 17.5 L 15 17.5 L 15 16.25 L 16.25 16.25 C 16.595051 16.25 16.918945 16.184896 17.22168 16.054688 C 17.524414 15.924479 17.789713 15.745443 18.017578 15.517578 C 18.245441 15.289714 18.424479 15.024414 18.554688 14.72168 C 18.684895 14.418945 18.75 14.095053 18.75 13.75 L 18.75 6.25 C 18.75 5.904949 18.684895 5.581056 18.554688 5.27832 C 18.424479 4.975587 18.245441 4.710287 18.017578 4.482422 C 17.789713 4.254558 17.524414 4.075521 17.22168 3.945312 C 16.918945 3.815105 16.595051 3.75 16.25 3.75 Z M 7.441406 5.361328 C 7.389323 5.250651 7.312825 5.162761 7.211914 5.097656 C 7.111002 5.032553 6.998697 5.000001 6.875 5 C 6.751302 5.000001 6.638997 5.032553 6.538086 5.097656 C 6.437174 5.162761 6.360677 5.250651 6.308594 5.361328 L 2.871094 12.861328 C 2.799479 13.017578 2.792969 13.177084 2.851562 13.339844 C 2.910156 13.502604 3.017578 13.619792 3.173828 13.691406 C 3.330078 13.763021 3.489583 13.769531 3.652344 13.710938 C 3.815104 13.652344 3.932292 13.544922 4.003906 13.388672 L 4.84375 11.5625 L 8.896484 11.5625 L 8.90625 11.5625 L 9.746094 13.388672 C 9.817708 13.544922 9.934896 13.652344 10.097656 13.710938 C 10.260416 13.769531 10.419922 13.763021 10.576172 13.691406 C 10.732422 13.619792 10.839844 13.502604 10.898438 13.339844 C 10.957031 13.177084 10.950521 13.017578 10.878906 12.861328 Z M 5.410156 10.3125 L 6.875 7.128906 L 8.339844 10.3125 Z " />
|
||||
</controls:SettingsCard.HeaderIcon>
|
||||
<Button Command="{x:Bind ViewModel.RenameAccountCommand}" Content="{x:Bind domain:Translator.FolderOperation_Rename}" />
|
||||
<Button Command="{x:Bind ViewModel.EditAccountDetailsCommand}" Content="{x:Bind domain:Translator.FolderOperation_Rename}" />
|
||||
</controls:SettingsCard>
|
||||
|
||||
<!-- TODO -->
|
||||
|
||||
@@ -1,12 +1,11 @@
|
||||
using Wino.Calendar.Views.Abstract;
|
||||
|
||||
namespace Wino.Calendar.Views.Settings
|
||||
namespace Wino.Calendar.Views.Settings;
|
||||
|
||||
public sealed partial class AccountDetailsPage : AccountDetailsPageAbstract
|
||||
{
|
||||
public sealed partial class AccountDetailsPage : AccountDetailsPageAbstract
|
||||
public AccountDetailsPage()
|
||||
{
|
||||
public AccountDetailsPage()
|
||||
{
|
||||
this.InitializeComponent();
|
||||
}
|
||||
this.InitializeComponent();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,13 +1,12 @@
|
||||
using Wino.Calendar.Views.Abstract;
|
||||
|
||||
|
||||
namespace Wino.Calendar.Views.Settings
|
||||
namespace Wino.Calendar.Views.Settings;
|
||||
|
||||
public sealed partial class CalendarSettingsPage : CalendarSettingsPageAbstract
|
||||
{
|
||||
public sealed partial class CalendarSettingsPage : CalendarSettingsPageAbstract
|
||||
public CalendarSettingsPage()
|
||||
{
|
||||
public CalendarSettingsPage()
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
InitializeComponent();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,12 +1,11 @@
|
||||
using Wino.Calendar.Views.Abstract;
|
||||
|
||||
namespace Wino.Calendar.Views.Settings
|
||||
namespace Wino.Calendar.Views.Settings;
|
||||
|
||||
public sealed partial class PersonalizationPage : PersonalizationPageAbstract
|
||||
{
|
||||
public sealed partial class PersonalizationPage : PersonalizationPageAbstract
|
||||
public PersonalizationPage()
|
||||
{
|
||||
public PersonalizationPage()
|
||||
{
|
||||
this.InitializeComponent();
|
||||
}
|
||||
this.InitializeComponent();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,184 +1,31 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="15.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
|
||||
<PropertyGroup>
|
||||
<LangVersion>8.0</LangVersion>
|
||||
<RestoreProjectStyle>PackageReference</RestoreProjectStyle>
|
||||
<!-- UWP WAM Authentication on Xbox needs this. -->
|
||||
<UseDotNetNativeSharedAssemblyFrameworkPackage>false</UseDotNetNativeSharedAssemblyFrameworkPackage>
|
||||
<PackageCertificateThumbprint>
|
||||
</PackageCertificateThumbprint>
|
||||
<PackageCertificateKeyFile>Wino.Mail_TemporaryKey.pfx</PackageCertificateKeyFile>
|
||||
<GenerateAppInstallerFile>False</GenerateAppInstallerFile>
|
||||
<AppxPackageSigningTimestampDigestAlgorithm>SHA256</AppxPackageSigningTimestampDigestAlgorithm>
|
||||
<AppxAutoIncrementPackageRevision>True</AppxAutoIncrementPackageRevision>
|
||||
<AppxSymbolPackageEnabled>False</AppxSymbolPackageEnabled>
|
||||
<GenerateTestArtifacts>True</GenerateTestArtifacts>
|
||||
<AppxBundle>Always</AppxBundle>
|
||||
<AppxBundlePlatforms>x64</AppxBundlePlatforms>
|
||||
<HoursBetweenUpdateChecks>0</HoursBetweenUpdateChecks>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup>
|
||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||
<Platform Condition=" '$(Platform)' == '' ">x86</Platform>
|
||||
<ProjectGuid>{600F4979-DB7E-409D-B7DA-B60BE4C55C35}</ProjectGuid>
|
||||
<OutputType>AppContainerExe</OutputType>
|
||||
<AppDesignerFolder>Properties</AppDesignerFolder>
|
||||
<RootNamespace>Wino.Calendar</RootNamespace>
|
||||
<AssemblyName>Wino.Calendar</AssemblyName>
|
||||
<DefaultLanguage>en-US</DefaultLanguage>
|
||||
<TargetPlatformIdentifier>UAP</TargetPlatformIdentifier>
|
||||
<TargetPlatformVersion Condition=" '$(TargetPlatformVersion)' == '' ">10.0.22621.0</TargetPlatformVersion>
|
||||
<TargetPlatformMinVersion>10.0.17763.0</TargetPlatformMinVersion>
|
||||
<MinimumVisualStudioVersion>14</MinimumVisualStudioVersion>
|
||||
<FileAlignment>512</FileAlignment>
|
||||
<ProjectTypeGuids>{A5A43C5B-DE2A-4C0C-9213-0A381AF9435A};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
|
||||
<WindowsXamlEnableOverview>true</WindowsXamlEnableOverview>
|
||||
<AppxPackageSigningEnabled>True</AppxPackageSigningEnabled>
|
||||
<GenerateTemporaryStoreCertificate>True</GenerateTemporaryStoreCertificate>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x86'">
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<OutputPath>bin\x86\Debug\</OutputPath>
|
||||
<DefineConstants>DEBUG;TRACE;NETFX_CORE;WINDOWS_UWP</DefineConstants>
|
||||
<NoWarn>;2008</NoWarn>
|
||||
<DebugType>full</DebugType>
|
||||
<PlatformTarget>x86</PlatformTarget>
|
||||
<UseVSHostingProcess>false</UseVSHostingProcess>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<Prefer32Bit>true</Prefer32Bit>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x86'">
|
||||
<OutputPath>bin\x86\Release\</OutputPath>
|
||||
<DefineConstants>TRACE;NETFX_CORE;WINDOWS_UWP</DefineConstants>
|
||||
<Optimize>true</Optimize>
|
||||
<NoWarn>;2008</NoWarn>
|
||||
<DebugType>pdbonly</DebugType>
|
||||
<PlatformTarget>x86</PlatformTarget>
|
||||
<UseVSHostingProcess>false</UseVSHostingProcess>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<Prefer32Bit>true</Prefer32Bit>
|
||||
<UseDotNetNativeToolchain>true</UseDotNetNativeToolchain>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|ARM64'">
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<OutputPath>bin\ARM64\Debug\</OutputPath>
|
||||
<DefineConstants>DEBUG;TRACE;NETFX_CORE;WINDOWS_UWP</DefineConstants>
|
||||
<NoWarn>;2008</NoWarn>
|
||||
<DebugType>full</DebugType>
|
||||
<PlatformTarget>ARM64</PlatformTarget>
|
||||
<UseVSHostingProcess>false</UseVSHostingProcess>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<Prefer32Bit>true</Prefer32Bit>
|
||||
<UseDotNetNativeToolchain>true</UseDotNetNativeToolchain>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|ARM64'">
|
||||
<OutputPath>bin\ARM64\Release\</OutputPath>
|
||||
<DefineConstants>TRACE;NETFX_CORE;WINDOWS_UWP</DefineConstants>
|
||||
<Optimize>true</Optimize>
|
||||
<NoWarn>;2008</NoWarn>
|
||||
<DebugType>pdbonly</DebugType>
|
||||
<PlatformTarget>ARM64</PlatformTarget>
|
||||
<UseVSHostingProcess>false</UseVSHostingProcess>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<Prefer32Bit>true</Prefer32Bit>
|
||||
<UseDotNetNativeToolchain>true</UseDotNetNativeToolchain>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x64'">
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<OutputPath>bin\x64\Debug\</OutputPath>
|
||||
<DefineConstants>DEBUG;TRACE;NETFX_CORE;WINDOWS_UWP</DefineConstants>
|
||||
<NoWarn>;2008</NoWarn>
|
||||
<DebugType>full</DebugType>
|
||||
<PlatformTarget>x64</PlatformTarget>
|
||||
<UseVSHostingProcess>false</UseVSHostingProcess>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<Prefer32Bit>true</Prefer32Bit>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x64'">
|
||||
<OutputPath>bin\x64\Release\</OutputPath>
|
||||
<DefineConstants>TRACE;NETFX_CORE;WINDOWS_UWP</DefineConstants>
|
||||
<Optimize>true</Optimize>
|
||||
<NoWarn>;2008</NoWarn>
|
||||
<DebugType>pdbonly</DebugType>
|
||||
<PlatformTarget>x64</PlatformTarget>
|
||||
<UseVSHostingProcess>false</UseVSHostingProcess>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<!-- .NET Native Shit -->
|
||||
<UseDotNetNativeToolchain>true</UseDotNetNativeToolchain>
|
||||
<UseDotNetNativeSharedAssemblyFrameworkPackage>false</UseDotNetNativeSharedAssemblyFrameworkPackage>
|
||||
<Use64BitCompiler>true</Use64BitCompiler>
|
||||
<OutOfProcPDB>true</OutOfProcPDB>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="Activation\DefaultActivationHandler.cs" />
|
||||
<Compile Include="App.xaml.cs">
|
||||
<DependentUpon>App.xaml</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Args\TimelineCellSelectedArgs.cs" />
|
||||
<Compile Include="Args\TimelineCellUnselectedArgs.cs" />
|
||||
<Compile Include="Controls\CalendarItemCommandBarFlyout.cs" />
|
||||
<Compile Include="Controls\CalendarItemControl.xaml.cs">
|
||||
<DependentUpon>CalendarItemControl.xaml</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Controls\CustomCalendarFlipView.cs" />
|
||||
<Compile Include="Controls\DayColumnControl.cs" />
|
||||
<Compile Include="Controls\DayHeaderControl.cs" />
|
||||
<Compile Include="Controls\WinoCalendarControl.cs" />
|
||||
<Compile Include="Controls\WinoCalendarFlipView.cs" />
|
||||
<Compile Include="Controls\WinoCalendarPanel.cs" />
|
||||
<Compile Include="Controls\WinoCalendarTypeSelectorControl.cs" />
|
||||
<Compile Include="Controls\WinoCalendarView.cs" />
|
||||
<Compile Include="Controls\WinoDayTimelineCanvas.cs" />
|
||||
<Compile Include="Helpers\CalendarXamlHelpers.cs" />
|
||||
<Compile Include="MainPage.xaml.cs">
|
||||
<DependentUpon>MainPage.xaml</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Models\CalendarItemMeasurement.cs" />
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
<Compile Include="Selectors\CustomAreaCalendarItemSelector.cs" />
|
||||
<Compile Include="Selectors\WinoCalendarItemTemplateSelector.cs" />
|
||||
<Compile Include="Services\AccountCalendarStateService.cs" />
|
||||
<Compile Include="Services\CalendarAuthenticatorConfig.cs" />
|
||||
<Compile Include="Services\DialogService.cs" />
|
||||
<Compile Include="Services\NavigationService.cs" />
|
||||
<Compile Include="Services\ProviderService.cs" />
|
||||
<Compile Include="Services\SettingsBuilderService.cs" />
|
||||
<Compile Include="Styles\WinoCalendarResources.xaml.cs" />
|
||||
<Compile Include="Views\Abstract\AccountDetailsPageAbstract.cs" />
|
||||
<Compile Include="Views\Abstract\AccountManagementPageAbstract.cs" />
|
||||
<Compile Include="Views\Abstract\AppShellAbstract.cs" />
|
||||
<Compile Include="Views\Abstract\CalendarPageAbstract.cs" />
|
||||
<Compile Include="Views\Abstract\CalendarSettingsPageAbstract.cs" />
|
||||
<Compile Include="Views\Abstract\EventDetailsPageAbstract.cs" />
|
||||
<Compile Include="Views\Abstract\PersonalizationPageAbstract.cs" />
|
||||
<Compile Include="Views\Account\AccountManagementPage.xaml.cs">
|
||||
<DependentUpon>AccountManagementPage.xaml</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Views\AppShell.xaml.cs">
|
||||
<DependentUpon>AppShell.xaml</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Views\CalendarPage.xaml.cs">
|
||||
<DependentUpon>CalendarPage.xaml</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Views\EventDetailsPage.xaml.cs">
|
||||
<DependentUpon>EventDetailsPage.xaml</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Views\Settings\AccountDetailsPage.xaml.cs">
|
||||
<DependentUpon>AccountDetailsPage.xaml</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Views\Settings\CalendarSettingsPage.xaml.cs">
|
||||
<DependentUpon>CalendarSettingsPage.xaml</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Views\Settings\PersonalizationPage.xaml.cs">
|
||||
<DependentUpon>PersonalizationPage.xaml</DependentUpon>
|
||||
</Compile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<AppxManifest Include="Package.appxmanifest">
|
||||
<SubType>Designer</SubType>
|
||||
</AppxManifest>
|
||||
</ItemGroup>
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
<PropertyGroup>
|
||||
<OutputType>WinExe</OutputType>
|
||||
<TargetFramework>net9.0-windows10.0.26100.0</TargetFramework>
|
||||
<TargetPlatformMinVersion>10.0.18362.0</TargetPlatformMinVersion>
|
||||
<UseUwp>true</UseUwp>
|
||||
<Platforms>x86;x64;arm64</Platforms>
|
||||
<RuntimeIdentifiers>win-x86;win-x64;win-arm64</RuntimeIdentifiers>
|
||||
<DefaultLanguage>en-US</DefaultLanguage>
|
||||
<!--<PublishAot>true</PublishAot>-->
|
||||
<PublishProfile>win-$(Platform).pubxml</PublishProfile>
|
||||
<DisableRuntimeMarshalling>true</DisableRuntimeMarshalling>
|
||||
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
|
||||
<GenerateAppInstallerFile>True</GenerateAppInstallerFile>
|
||||
<AppxPackageSigningEnabled>True</AppxPackageSigningEnabled>
|
||||
<AppxPackageSigningTimestampDigestAlgorithm>SHA256</AppxPackageSigningTimestampDigestAlgorithm>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<Compile Remove="BundleArtifacts\**" />
|
||||
<EmbeddedResource Remove="BundleArtifacts\**" />
|
||||
<None Remove="BundleArtifacts\**" />
|
||||
<Page Remove="BundleArtifacts\**" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<PRIResource Remove="BundleArtifacts\**" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<None Include="Package.StoreAssociation.xml" />
|
||||
<Content Include="Assets\LargeTile.scale-100.png" />
|
||||
@@ -226,7 +73,6 @@
|
||||
<Content Include="Assets\Wide310x150Logo.scale-125.png" />
|
||||
<Content Include="Assets\Wide310x150Logo.scale-150.png" />
|
||||
<Content Include="Assets\Wide310x150Logo.scale-400.png" />
|
||||
<Content Include="Properties\Default.rd.xml" />
|
||||
<Content Include="Assets\LockScreenLogo.scale-200.png" />
|
||||
<Content Include="Assets\SplashScreen.scale-200.png" />
|
||||
<Content Include="Assets\Square150x150Logo.scale-200.png" />
|
||||
@@ -235,120 +81,18 @@
|
||||
<Content Include="Assets\Wide310x150Logo.scale-200.png" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ApplicationDefinition Include="App.xaml">
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
<SubType>Designer</SubType>
|
||||
</ApplicationDefinition>
|
||||
<Page Include="Controls\CalendarItemControl.xaml">
|
||||
<SubType>Designer</SubType>
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
</Page>
|
||||
<Page Include="MainPage.xaml">
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
<SubType>Designer</SubType>
|
||||
</Page>
|
||||
<Page Include="Styles\CalendarThemeResources.xaml">
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
<SubType>Designer</SubType>
|
||||
</Page>
|
||||
<Page Include="Styles\DayHeaderControl.xaml">
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
<SubType>Designer</SubType>
|
||||
</Page>
|
||||
<Page Include="Styles\WinoCalendarResources.xaml">
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
<SubType>Designer</SubType>
|
||||
</Page>
|
||||
<Page Include="Styles\WinoCalendarTypeSelectorControl.xaml">
|
||||
<SubType>Designer</SubType>
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
</Page>
|
||||
<Page Include="Styles\WinoCalendarView.xaml">
|
||||
<SubType>Designer</SubType>
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
</Page>
|
||||
<Page Include="Styles\WinoDayTimelineCanvas.xaml">
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
<SubType>Designer</SubType>
|
||||
</Page>
|
||||
<Page Include="Views\Account\AccountManagementPage.xaml">
|
||||
<SubType>Designer</SubType>
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
</Page>
|
||||
<Page Include="Views\AppShell.xaml">
|
||||
<SubType>Designer</SubType>
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
</Page>
|
||||
<Page Include="Views\CalendarPage.xaml">
|
||||
<SubType>Designer</SubType>
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
</Page>
|
||||
<Page Include="Views\EventDetailsPage.xaml">
|
||||
<SubType>Designer</SubType>
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
</Page>
|
||||
<Page Include="Views\Settings\AccountDetailsPage.xaml">
|
||||
<SubType>Designer</SubType>
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
</Page>
|
||||
<Page Include="Views\Settings\CalendarSettingsPage.xaml">
|
||||
<SubType>Designer</SubType>
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
</Page>
|
||||
<Page Include="Views\Settings\PersonalizationPage.xaml">
|
||||
<SubType>Designer</SubType>
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
</Page>
|
||||
<PackageReference Include="CommunityToolkit.Uwp.Controls.Primitives" />
|
||||
<PackageReference Include="Microsoft.Identity.Client" />
|
||||
<PackageReference Include="Microsoft.NETCore.UniversalWindowsPlatform" />
|
||||
<PackageReference Include="Win2D.uwp" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<PackageReference Include="CommunityToolkit.Uwp.Controls.Primitives">
|
||||
<Version>8.1.240916</Version>
|
||||
</PackageReference>
|
||||
<PackageReference Include="Microsoft.Identity.Client">
|
||||
<Version>4.66.2</Version>
|
||||
</PackageReference>
|
||||
<PackageReference Include="Microsoft.NETCore.UniversalWindowsPlatform">
|
||||
<Version>6.2.14</Version>
|
||||
</PackageReference>
|
||||
<PackageReference Include="Win2D.uwp">
|
||||
<Version>1.28.1</Version>
|
||||
</PackageReference>
|
||||
<ProjectReference Include="..\Wino.Authentication\Wino.Authentication.csproj" />
|
||||
<ProjectReference Include="..\Wino.Calendar.ViewModels\Wino.Calendar.ViewModels.csproj" />
|
||||
<ProjectReference Include="..\Wino.Core.Domain\Wino.Core.Domain.csproj" />
|
||||
<ProjectReference Include="..\Wino.Core.UWP\Wino.Core.UWP.csproj" />
|
||||
<ProjectReference Include="..\Wino.Core.ViewModels\Wino.Core.ViewModels.csproj" />
|
||||
<ProjectReference Include="..\Wino.Messages\Wino.Messaging.csproj" />
|
||||
<ProjectReference Include="..\Wino.Services\Wino.Services.csproj" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\Wino.Calendar.ViewModels\Wino.Calendar.ViewModels.csproj">
|
||||
<Project>{039affa8-c1cc-4e3b-8a31-6814d7557f74}</Project>
|
||||
<Name>Wino.Calendar.ViewModels</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\Wino.Core.Domain\Wino.Core.Domain.csproj">
|
||||
<Project>{cf3312e5-5da0-4867-9945-49ea7598af1f}</Project>
|
||||
<Name>Wino.Core.Domain</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\Wino.Core.UWP\Wino.Core.UWP.csproj">
|
||||
<Project>{395f19ba-1e42-495c-9db5-1a6f537fccb8}</Project>
|
||||
<Name>Wino.Core.UWP</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\Wino.Core.ViewModels\Wino.Core.ViewModels.csproj">
|
||||
<Project>{53723ae8-7e7e-4d54-adab-0a6033255cc8}</Project>
|
||||
<Name>Wino.Core.ViewModels</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\Wino.Messages\Wino.Messaging.csproj">
|
||||
<Project>{0c307d7e-256f-448c-8265-5622a812fbcc}</Project>
|
||||
<Name>Wino.Messaging</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\Wino.Services\Wino.Services.csproj">
|
||||
<Project>{bba49030-7277-48cf-b2fe-3d01cb6b6c81}</Project>
|
||||
<Name>Wino.Services</Name>
|
||||
</ProjectReference>
|
||||
</ItemGroup>
|
||||
<PropertyGroup Condition=" '$(VisualStudioVersion)' == '' or '$(VisualStudioVersion)' < '14.0' ">
|
||||
<VisualStudioVersion>14.0</VisualStudioVersion>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(MSBuildExtensionsPath)\Microsoft\WindowsXaml\v$(VisualStudioVersion)\Microsoft.Windows.UI.Xaml.CSharp.targets" />
|
||||
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
|
||||
Other similar extension points exist, see Microsoft.Common.targets.
|
||||
<Target Name="BeforeBuild">
|
||||
</Target>
|
||||
<Target Name="AfterBuild">
|
||||
</Target>
|
||||
-->
|
||||
</Project>
|
||||
7
Wino.Core.Domain/Enums/AccountCacheResetReason.cs
Normal file
@@ -0,0 +1,7 @@
|
||||
namespace Wino.Core.Domain.Enums;
|
||||
|
||||
public enum AccountCacheResetReason
|
||||
{
|
||||
AccountRemoval,
|
||||
ExpiredCache
|
||||
}
|
||||
7
Wino.Core.Domain/Enums/InvalidMoveTargetReason.cs
Normal file
@@ -0,0 +1,7 @@
|
||||
namespace Wino.Core.Domain.Enums;
|
||||
|
||||
public enum InvalidMoveTargetReason
|
||||
{
|
||||
NonMoveTarget, // This folder does not allow moving mails.
|
||||
MultipleAccounts // Multiple mails from different accounts cannot be moved.
|
||||
}
|
||||
@@ -25,7 +25,7 @@ public enum WinoPage
|
||||
AppPreferencesPage,
|
||||
SettingOptionsPage,
|
||||
AliasManagementPage,
|
||||
|
||||
EditAccountDetailsPage,
|
||||
// Calendar
|
||||
CalendarPage,
|
||||
CalendarSettingsPage,
|
||||
|
||||
@@ -0,0 +1,3 @@
|
||||
namespace Wino.Core.Domain.Exceptions;
|
||||
|
||||
public class GmailServiceDisabledException : System.Exception { }
|
||||
@@ -20,7 +20,7 @@ public class ImapClientPoolException : Exception
|
||||
ProtocolLog = protocolLog;
|
||||
}
|
||||
|
||||
public ImapClientPoolException(Exception innerException, string protocolLog) : base(Translator.Exception_ImapClientPoolFailed, innerException)
|
||||
public ImapClientPoolException(Exception innerException, string protocolLog) : base(innerException.Message, innerException)
|
||||
{
|
||||
ProtocolLog = protocolLog;
|
||||
}
|
||||
|
||||
@@ -1,5 +1,9 @@
|
||||
using System;
|
||||
using Wino.Core.Domain.Enums;
|
||||
|
||||
namespace Wino.Core.Domain.Exceptions;
|
||||
|
||||
public class InvalidMoveTargetException : Exception { }
|
||||
public class InvalidMoveTargetException(InvalidMoveTargetReason reason) : Exception
|
||||
{
|
||||
public InvalidMoveTargetReason Reason { get; } = reason;
|
||||
}
|
||||
|
||||
@@ -3,6 +3,7 @@ using System.Collections.Generic;
|
||||
using System.Threading.Tasks;
|
||||
using Wino.Core.Domain.Entities.Mail;
|
||||
using Wino.Core.Domain.Entities.Shared;
|
||||
using Wino.Core.Domain.Enums;
|
||||
using Wino.Core.Domain.Models.Accounts;
|
||||
|
||||
namespace Wino.Core.Domain.Interfaces;
|
||||
@@ -61,15 +62,6 @@ public interface IAccountService
|
||||
/// <param name="accountId">Account id to remove from</param>
|
||||
Task ClearAccountAttentionAsync(Guid accountId);
|
||||
|
||||
/// <summary>
|
||||
/// Updates the account synchronization identifier.
|
||||
/// For example: Gmail uses this identifier to keep track of the last synchronization.
|
||||
/// Update is ignored for Gmail if the new identifier is older than the current one.
|
||||
/// </summary>
|
||||
/// <param name="newIdentifier">Identifier to update</param>
|
||||
/// <returns>Current account synchronization modifier.</returns>
|
||||
Task<string> UpdateSynchronizationIdentifierAsync(Guid accountId, string newIdentifier);
|
||||
|
||||
/// <summary>
|
||||
/// Renames the merged inbox with the given id.
|
||||
/// </summary>
|
||||
@@ -156,4 +148,26 @@ public interface IAccountService
|
||||
/// <returns>Primary alias for the account.</returns>
|
||||
Task<MailAccountAlias> GetPrimaryAccountAliasAsync(Guid accountId);
|
||||
Task<bool> IsAccountFocusedEnabledAsync(Guid accountId);
|
||||
|
||||
/// <summary>
|
||||
/// Deletes mail cache in the database for the given account.
|
||||
/// </summary>
|
||||
/// <param name="accountId">Account id.</param>
|
||||
/// <param name="AccountCacheResetReason">Reason for the cache reset.</param>
|
||||
Task DeleteAccountMailCacheAsync(Guid accountId, AccountCacheResetReason accountCacheResetReason);
|
||||
|
||||
/// <summary>
|
||||
/// Updates the synchronization identifier for a specific account asynchronously.
|
||||
/// </summary>
|
||||
/// <param name="accountId">Identifies the account for which the synchronization identifier is being updated.</param>
|
||||
/// <param name="syncIdentifier">Represents the new synchronization identifier to be set for the specified account.</param>
|
||||
Task<string> UpdateSyncIdentifierRawAsync(Guid accountId, string syncIdentifier);
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Gets whether the notifications are enabled for the given account id.
|
||||
/// </summary>
|
||||
/// <param name="accountId">Account id.</param>
|
||||
/// <returns>Whether the notifications should be created after sync or not.</returns>
|
||||
Task<bool> IsNotificationsEnabled(Guid accountId);
|
||||
}
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Threading.Tasks;
|
||||
using Wino.Core.Domain.Entities.Shared;
|
||||
using Wino.Core.Domain.Enums;
|
||||
using Wino.Core.Domain.Models.Accounts;
|
||||
using Wino.Core.Domain.Models.Common;
|
||||
@@ -17,7 +16,6 @@ public interface IDialogServiceBase
|
||||
void InfoBarMessage(string title, string message, InfoBarMessageType messageType);
|
||||
void InfoBarMessage(string title, string message, InfoBarMessageType messageType, string actionButtonText, Action action);
|
||||
void ShowNotSupportedMessage();
|
||||
Task<MailAccount> ShowEditAccountDialogAsync(MailAccount account);
|
||||
Task<string> ShowTextInputDialogAsync(string currentInput, string dialogTitle, string dialogDescription, string primaryButtonText);
|
||||
Task<bool> ShowWinoCustomMessageDialogAsync(string title,
|
||||
string description,
|
||||
|
||||
@@ -13,4 +13,5 @@ public interface IImapSynchronizer
|
||||
Task<List<NewMailItemPackage>> CreateNewMailPackagesAsync(ImapMessageCreationPackage message, MailItemFolder assignedFolder, CancellationToken cancellationToken = default);
|
||||
Task StartIdleClientAsync();
|
||||
Task StopIdleClientAsync();
|
||||
Task PreWarmClientPoolAsync();
|
||||
}
|
||||
|
||||
@@ -17,16 +17,24 @@ public interface IImapSynchronizerStrategy
|
||||
/// <param name="synchronizer">Imap synchronizer that downloads messages.</param>
|
||||
/// <param name="cancellationToken">Cancellation token.</param>
|
||||
/// <returns>List of new downloaded message ids that don't exist locally.</returns>
|
||||
Task<List<string>> HandleSynchronizationAsync(IImapClient client, MailItemFolder folder, IImapSynchronizer synchronizer, CancellationToken cancellationToken = default);
|
||||
Task<List<string>> HandleSynchronizationAsync(IImapClient client,
|
||||
MailItemFolder folder,
|
||||
IImapSynchronizer synchronizer,
|
||||
CancellationToken cancellationToken = default);
|
||||
|
||||
/// <summary>
|
||||
/// Downloads given set of messages from the folder.
|
||||
/// Folder is expected to be opened and synchronizer is connected.
|
||||
/// </summary>
|
||||
/// <param name="synchronizer">Synchronizer that performs the action.</param>
|
||||
/// <param name="folder">Remote folder to download messages from.</param>
|
||||
/// <param name="remoteFolder">Remote folder to download messages from.</param>
|
||||
/// <param name="localFolder">Local folder to assign mails to.</param>
|
||||
/// <param name="uniqueIdSet">Set of message uniqueids.</param>
|
||||
/// <param name="cancellationToken">Cancellation token.</param>
|
||||
Task DownloadMessagesAsync(IImapSynchronizer synchronizer, IMailFolder folder, UniqueIdSet uniqueIdSet, CancellationToken cancellationToken = default);
|
||||
Task DownloadMessagesAsync(IImapSynchronizer synchronizer,
|
||||
IMailFolder remoteFolder,
|
||||
MailItemFolder localFolder,
|
||||
UniqueIdSet uniqueIdSet,
|
||||
CancellationToken cancellationToken = default);
|
||||
}
|
||||
|
||||
|
||||
@@ -18,9 +18,13 @@ public interface IMailService
|
||||
/// Returns the single mail item with the given mail copy id.
|
||||
/// Caution: This method is not safe. Use other overrides.
|
||||
/// </summary>
|
||||
/// <param name="mailCopyId"></param>
|
||||
/// <returns></returns>
|
||||
Task<MailCopy> GetSingleMailItemAsync(string mailCopyId);
|
||||
|
||||
/// <summary>
|
||||
/// Returns the multiple mail item with the given mail copy ids.
|
||||
/// Caution: This method is not safe. Use other overrides.
|
||||
/// </summary>
|
||||
Task<List<MailCopy>> GetMailItemsAsync(IEnumerable<string> mailCopyIds);
|
||||
Task<List<IMailItem>> FetchMailsAsync(MailListInitializationOptions options, CancellationToken cancellationToken = default);
|
||||
|
||||
/// <summary>
|
||||
@@ -88,6 +92,15 @@ public interface IMailService
|
||||
/// <param name="mailCopyId">Native mail id of the message.</param>
|
||||
Task<bool> IsMailExistsAsync(string mailCopyId);
|
||||
|
||||
/// <summary>
|
||||
/// Checks whether the given mail copy ids exists in the database.
|
||||
/// Safely used for Outlook to prevent downloading the same mail twice.
|
||||
/// For Gmail, it should be avoided since one mail may belong to multiple folders.
|
||||
/// </summary>
|
||||
/// <param name="mailCopyIds">Native mail id of the messages.</param>
|
||||
/// <returns>List of Mail ids that already exists in the database.</returns>
|
||||
Task<List<string>> AreMailsExistsAsync(IEnumerable<string> mailCopyIds);
|
||||
|
||||
/// <summary>
|
||||
/// Returns all mails for given folder id.
|
||||
/// </summary>
|
||||
@@ -135,4 +148,18 @@ public interface IMailService
|
||||
/// <param name="package">Mail creation package.</param>
|
||||
/// <returns></returns>
|
||||
Task CreateMailRawAsync(MailAccount account, MailItemFolder mailItemFolder, NewMailItemPackage package);
|
||||
|
||||
/// <summary>
|
||||
/// Checks whether the account has any draft mail locally.
|
||||
/// </summary>
|
||||
/// <param name="accountId">Account id.</param>
|
||||
Task<bool> HasAccountAnyDraftAsync(Guid accountId);
|
||||
|
||||
/// <summary>
|
||||
/// Compares the ids returned from online search result for Archive folder against the local database.
|
||||
/// </summary>
|
||||
/// <param name="archiveFolderId">Archive folder id.</param>
|
||||
/// <param name="onlineArchiveMailIds">Retrieved MailCopy ids from search result.</param>
|
||||
/// <returns>Result model that contains added and removed mail copy ids.</returns>
|
||||
Task<GmailArchiveComparisonResult> GetGmailArchiveComparisonResultAsync(Guid archiveFolderId, List<string> onlineArchiveMailIds);
|
||||
}
|
||||
|
||||
@@ -66,4 +66,10 @@ public interface IMimeFileService
|
||||
/// <param name="mimeLocalPath">File path that physical MimeMessage is located.</param>
|
||||
/// <param name="options">Rendering options</param>
|
||||
MailRenderModel GetMailRenderModel(MimeMessage message, string mimeLocalPath, MailRenderingOptions options = null);
|
||||
|
||||
/// <summary>
|
||||
/// Deletes every file in the mime cache for the given account.
|
||||
/// </summary>
|
||||
/// <param name="accountId">Account id.</param>
|
||||
Task DeleteUserMimeCacheAsync(Guid accountId);
|
||||
}
|
||||
|
||||
@@ -14,7 +14,7 @@ public interface IThemeService : IInitializeAsync
|
||||
Task<List<AppThemeBase>> GetAvailableThemesAsync();
|
||||
Task<CustomThemeMetadata> CreateNewCustomThemeAsync(string themeName, string accentColor, byte[] wallpaperData);
|
||||
Task<List<CustomThemeMetadata>> GetCurrentCustomThemesAsync();
|
||||
|
||||
List<string> GetAvailableAccountColors();
|
||||
Task ApplyCustomThemeAsync(bool isInitializing);
|
||||
|
||||
// Settings
|
||||
|
||||
@@ -56,6 +56,12 @@ public partial class AccountMenuItem : MenuItemBase<MailAccount, MenuItemBase<IM
|
||||
set => SetProperty(Parameter.Base64ProfilePictureData, value, Parameter, (u, n) => u.Base64ProfilePictureData = n);
|
||||
}
|
||||
|
||||
public string AccountColorHex
|
||||
{
|
||||
get => Parameter.AccountColorHex;
|
||||
set => SetProperty(Parameter.AccountColorHex, value, Parameter, (u, n) => u.AccountColorHex = n);
|
||||
}
|
||||
|
||||
public IEnumerable<MailAccount> HoldingAccounts => new List<MailAccount> { Parameter };
|
||||
|
||||
public AccountMenuItem(MailAccount account, IMenuItem parent = null) : base(account, account.Id, parent)
|
||||
@@ -66,9 +72,11 @@ public partial class AccountMenuItem : MenuItemBase<MailAccount, MenuItemBase<IM
|
||||
public void UpdateAccount(MailAccount account)
|
||||
{
|
||||
Parameter = account;
|
||||
AccountName = account.Name;
|
||||
AttentionReason = account.AttentionReason;
|
||||
Base64ProfilePicture = account.Base64ProfilePictureData;
|
||||
|
||||
OnPropertyChanged(nameof(AccountName));
|
||||
OnPropertyChanged(nameof(Base64ProfilePicture));
|
||||
OnPropertyChanged(nameof(AccountColorHex));
|
||||
OnPropertyChanged(nameof(IsAttentionRequired));
|
||||
|
||||
if (SubMenuItems == null) return;
|
||||
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using CommunityToolkit.Mvvm.ComponentModel;
|
||||
using Wino.Core.Domain;
|
||||
using Wino.Core.Domain.Entities.Shared;
|
||||
using Wino.Core.Domain.Enums;
|
||||
using Wino.Core.Domain.Interfaces;
|
||||
@@ -32,6 +31,8 @@ public partial class FolderMenuItem : MenuItemBase<IMailItemFolder, FolderMenuIt
|
||||
return Translator.MoreFolderNameOverride;
|
||||
else if (Parameter.SpecialFolderType == SpecialFolderType.Category)
|
||||
return Translator.CategoriesFolderNameOverride;
|
||||
else if (Parameter.SpecialFolderType == SpecialFolderType.Archive && ParentAccount.ProviderType == MailProviderType.Gmail)
|
||||
return Translator.GmailArchiveFolderNameOverride;
|
||||
else
|
||||
return Parameter.FolderName;
|
||||
}
|
||||
|
||||
@@ -2,4 +2,4 @@
|
||||
|
||||
namespace Wino.Core.Domain.Models.Accounts;
|
||||
|
||||
public record AccountCreationDialogResult(MailProviderType ProviderType, string AccountName, SpecialImapProviderDetails SpecialImapProviderDetails);
|
||||
public record AccountCreationDialogResult(MailProviderType ProviderType, string AccountName, SpecialImapProviderDetails SpecialImapProviderDetails, string AccountColorHex);
|
||||
|
||||
@@ -10,4 +10,4 @@ namespace Wino.Core.Domain.Models;
|
||||
[JsonSerializable(typeof(CustomThemeMetadata))]
|
||||
[JsonSerializable(typeof(WebViewMessage))]
|
||||
[JsonSerializable(typeof(List<ImageInfo>))]
|
||||
public partial class DomainModelsJsonContext: JsonSerializerContext;
|
||||
public partial class DomainModelsJsonContext : JsonSerializerContext;
|
||||
|
||||
@@ -0,0 +1,8 @@
|
||||
namespace Wino.Core.Domain.Models.MailItem;
|
||||
|
||||
/// <summary>
|
||||
/// Comparison result of the Gmail archive.
|
||||
/// </summary>
|
||||
/// <param name="Added">Mail copy ids to be added to Archive.</param>
|
||||
/// <param name="Removed">Mail copy ids to be removed from Archive.</param>
|
||||
public record GmailArchiveComparisonResult(string[] Added, string[] Removed);
|
||||
695
Wino.Core.Domain/Translations/bg_BG/resources.json
Normal file
@@ -0,0 +1,695 @@
|
||||
{
|
||||
"AccountAlias_Column_Alias": "Псевдоним",
|
||||
"AccountAlias_Column_IsPrimaryAlias": "Основен",
|
||||
"AccountAlias_Column_Verified": "Потвърден",
|
||||
"AccountAlias_Disclaimer_FirstLine": "Wino може да импортира псевдоними само за вашите акаунти в Gmail.",
|
||||
"AccountAlias_Disclaimer_SecondLine": "Ако искате да използвате псевдоними за акаунта си в Outlook или IMAP, добавете ги сами.",
|
||||
"AccountCacheReset_Title": "Нулиране на кеша на акаунта",
|
||||
"AccountCacheReset_Message": "Този акаунт изисква пълна ресинхронизация, за да продължи да работи. Моля, изчакайте, докато Wino ресинхронизира съобщенията ви...",
|
||||
"AccountContactNameYou": "Вие",
|
||||
"AccountCreationDialog_Completed": "всичко е готово",
|
||||
"AccountCreationDialog_FetchingEvents": "Извличане на събитията от календара.",
|
||||
"AccountCreationDialog_FetchingProfileInformation": "Извличане на данните за профила.",
|
||||
"AccountCreationDialog_GoogleAuthHelpClipboardText_Row0": "Ако браузърът ви не се е стартирал автоматично, за да завърши удостоверяването:",
|
||||
"AccountCreationDialog_GoogleAuthHelpClipboardText_Row1": "1) Щракнете върху бутона по-долу, за да копирате адреса за удостоверяване",
|
||||
"AccountCreationDialog_GoogleAuthHelpClipboardText_Row2": "2) Стартирайте уеб браузъра си (Edge, Chrome, Firefox и др.)",
|
||||
"AccountCreationDialog_GoogleAuthHelpClipboardText_Row3": "3) Поставете копирания адрес и отидете на уебсайта, за да завършите удостоверяването ръчно.",
|
||||
"AccountCreationDialog_Initializing": "инициализиране",
|
||||
"AccountCreationDialog_PreparingFolders": "В момента получаваме информация за папките.",
|
||||
"AccountCreationDialog_SigninIn": "Информацията за акаунта се запазва.",
|
||||
"AccountEditDialog_Message": "Име на акаунта",
|
||||
"AccountEditDialog_Title": "Редактиране на акаунта",
|
||||
"AccountPickerDialog_Title": "Изберете акаунт",
|
||||
"AccountSettingsDialog_AccountName": "Име на подателя",
|
||||
"AccountSettingsDialog_AccountNamePlaceholder": "напр. Иван Иванов",
|
||||
"AccountDetailsPage_Title": "Информация за акаунта",
|
||||
"AccountDetailsPage_Description": "Променете името на акаунта в Wino и задайте желаното име на изпращача.",
|
||||
"AccountDetailsPage_ColorPicker_Title": "Цвят на акаунта",
|
||||
"AccountDetailsPage_ColorPicker_Description": "Задайте цвят на акаунта, за да оцветите символа му в списъка.",
|
||||
"AddHyperlink": "Добавяне",
|
||||
"AppCloseBackgroundSynchronizationWarningTitle": "Синхронизация на заден план",
|
||||
"AppCloseStartupLaunchDisabledWarningMessageFirstLine": "Приложението не е настроено да се стартира при стартиране на Windows.",
|
||||
"AppCloseStartupLaunchDisabledWarningMessageSecondLine": "Това ще доведе до пропускане на известия при рестартиране на компютъра.",
|
||||
"AppCloseStartupLaunchDisabledWarningMessageThirdLine": "Искате ли да отидете на страницата с настройки на приложението, за да я активирате?",
|
||||
"AppCloseTerminateBehaviorWarningMessageFirstLine": "Прекратявате Wino Mail и поведението му при затваряне на приложението е настроено на „Прекратяване“.",
|
||||
"AppCloseTerminateBehaviorWarningMessageSecondLine": "Това ще спре всички фонови синхронизации и известия.",
|
||||
"AppCloseTerminateBehaviorWarningMessageThirdLine": "Искате ли да отидете в Предпочитания за приложението, за да настроите Wino Mail да работи минимизиран или във фонов режим?",
|
||||
"AutoDiscoveryProgressMessage": "Търсене на настройки на пощата...",
|
||||
"BasicIMAPSetupDialog_AdvancedConfiguration": "Разширено конфигуриране",
|
||||
"BasicIMAPSetupDialog_CredentialLocalMessage": "Вашите идентификационни данни се съхраняват само локално на вашия компютър.",
|
||||
"BasicIMAPSetupDialog_Description": "Някои акаунти изискват допълнителни стъпки за влизане",
|
||||
"BasicIMAPSetupDialog_DisplayName": "Показвано име",
|
||||
"BasicIMAPSetupDialog_DisplayNamePlaceholder": "напр. Иван Иванов",
|
||||
"BasicIMAPSetupDialog_LearnMore": "Научете повече",
|
||||
"BasicIMAPSetupDialog_MailAddress": "Адрес на имейл",
|
||||
"BasicIMAPSetupDialog_MailAddressPlaceholder": "ivanivanov@mail.com",
|
||||
"BasicIMAPSetupDialog_Password": "Парола",
|
||||
"BasicIMAPSetupDialog_Title": "IMAP акаунт",
|
||||
"Busy": "Зает",
|
||||
"Buttons_AddAccount": "Добавяне на акаунт",
|
||||
"Buttons_AddNewAlias": "Добавяне на нов псевдоним",
|
||||
"Buttons_Allow": "Позволяване",
|
||||
"Buttons_ApplyTheme": "Прилагане на темата",
|
||||
"Buttons_Browse": "Преглед",
|
||||
"Buttons_Cancel": "Отказ",
|
||||
"Buttons_Close": "Затваряне",
|
||||
"Buttons_Copy": "Копиране",
|
||||
"Buttons_Create": "Създаване",
|
||||
"Buttons_CreateAccount": "Създаване на акаунт",
|
||||
"Buttons_Delete": "Изтриване",
|
||||
"Buttons_Deny": "Отказване",
|
||||
"Buttons_Discard": "Отхвърляне",
|
||||
"Buttons_Edit": "Редактиране",
|
||||
"Buttons_EnableImageRendering": "Активиране",
|
||||
"Buttons_Multiselect": "Избор на няколко",
|
||||
"Buttons_No": "Не",
|
||||
"Buttons_Open": "Отваряне",
|
||||
"Buttons_Purchase": "Купете",
|
||||
"Buttons_RateWino": "Оценете Wino",
|
||||
"Buttons_Reset": "Нулиране",
|
||||
"Buttons_Save": "Запазване",
|
||||
"Buttons_SaveConfiguration": "Запазване на конфигурацията",
|
||||
"Buttons_Send": "Изпращане",
|
||||
"Buttons_Share": "Споделяне",
|
||||
"Buttons_SignIn": "Вход",
|
||||
"Buttons_Sync": "Синхронизиране",
|
||||
"Buttons_SyncAliases": "Синхронизиране на псевдонимите",
|
||||
"Buttons_TryAgain": "Нов опит",
|
||||
"Buttons_Yes": "Да",
|
||||
"CalendarAllDayEventSummary": "целодневни събития",
|
||||
"CalendarDisplayOptions_Color": "Цвят",
|
||||
"CalendarDisplayOptions_Expand": "Разширяване",
|
||||
"CalendarItem_DetailsPopup_JoinOnline": "Присъединяване онлайн",
|
||||
"CalendarItem_DetailsPopup_ViewEventButton": "Преглед на събитието",
|
||||
"CalendarItem_DetailsPopup_ViewSeriesButton": "Преглед на сериите",
|
||||
"CalendarItemAllDay": "цял ден",
|
||||
"CategoriesFolderNameOverride": "Категории",
|
||||
"Center": "Център",
|
||||
"ClipboardTextCopied_Message": "{0} е копирано в клипборда.",
|
||||
"ClipboardTextCopied_Title": "Копирано",
|
||||
"ClipboardTextCopyFailed_Message": "Неуспешно копиране на {0} в клипборда.",
|
||||
"ComingSoon": "Очаквайте скоро...",
|
||||
"ComposerAttachmentsDragDropAttach_Message": "Прикачване",
|
||||
"ComposerAttachmentsDropZone_Message": "Пуснете файловете си тук",
|
||||
"ComposerFrom": "От: ",
|
||||
"ComposerImagesDropZone_Message": "Пуснете изображенията си тук",
|
||||
"ComposerSubject": "Тема: ",
|
||||
"ComposerTo": "До: ",
|
||||
"ComposerToPlaceholder": "натиснете Enter, за да въведете адреси",
|
||||
"CreateAccountAliasDialog_AliasAddress": "Адрес",
|
||||
"CreateAccountAliasDialog_AliasAddressPlaceholder": "напр. support@mydomain.com",
|
||||
"CreateAccountAliasDialog_Description": "Уверете се, че вашият изходящ сървър позволява изпращането на имейли от този псевдоним.",
|
||||
"CreateAccountAliasDialog_ReplyToAddress": "Адрес за отговор",
|
||||
"CreateAccountAliasDialog_ReplyToAddressPlaceholder": "admin@mydomain.com",
|
||||
"CreateAccountAliasDialog_Title": "Създаване на псевдоним на акаунта",
|
||||
"CustomThemeBuilder_AccentColorDescription": "Задайте персонализиран цвят на акцента, ако желаете. Ако не изберете цвят, ще се използва акцентиращият цвят на Windows.",
|
||||
"CustomThemeBuilder_AccentColorTitle": "Акцентиращ цвят",
|
||||
"CustomThemeBuilder_PickColor": "Избор",
|
||||
"CustomThemeBuilder_ThemeNameDescription": "Уникално име за вашата персонализирана тема.",
|
||||
"CustomThemeBuilder_ThemeNameTitle": "Име на темата",
|
||||
"CustomThemeBuilder_Title": "Изграждане на персонализирана тема",
|
||||
"CustomThemeBuilder_WallpaperDescription": "Задаване на персонализиран тапет за Wino",
|
||||
"CustomThemeBuilder_WallpaperTitle": "Задаване на персонализиран тапет",
|
||||
"Dialog_DontAskAgain": "Не питайте отново",
|
||||
"DialogMessage_AccountLimitMessage": "Достигнали сте лимита за създаване на акаунти.\nИскате ли да закупите добавката „Неограничен акаунт“, за да продължите?",
|
||||
"DialogMessage_AccountLimitTitle": "Достигнат е лимита на акаунтите",
|
||||
"DialogMessage_AliasCreatedMessage": "Новият псевдоним е създаден успешно.",
|
||||
"DialogMessage_AliasCreatedTitle": "Създаден е нов псевдоним",
|
||||
"DialogMessage_AliasExistsMessage": "Този псевдоним вече се използва.",
|
||||
"DialogMessage_AliasExistsTitle": "Съществуващ псевдоним",
|
||||
"DialogMessage_AliasNotSelectedMessage": "Трябва да изберете псевдоним, преди да изпратите съобщение.",
|
||||
"DialogMessage_AliasNotSelectedTitle": "Липсващ псевдоним",
|
||||
"DialogMessage_CantDeleteRootAliasMessage": "Основният псевдоним не може да бъде изтрит. Това е основната ви самоличност, свързана с настройката на профила ви.",
|
||||
"DialogMessage_CantDeleteRootAliasTitle": "Не може да се изтрие псевдонимът",
|
||||
"DialogMessage_CleanupFolderMessage": "Искате ли да изтриете окончателно всички писма в тази папка?",
|
||||
"DialogMessage_CleanupFolderTitle": "Почистване на папката",
|
||||
"DialogMessage_ComposerMissingRecipientMessage": "Съобщението няма получател.",
|
||||
"DialogMessage_ComposerValidationFailedTitle": "Валидирането е неуспешно",
|
||||
"DialogMessage_CreateLinkedAccountMessage": "Дайте име на тази нова връзка. Акаунтите ще бъдат обединени под това име.",
|
||||
"DialogMessage_CreateLinkedAccountTitle": "Име на връзката с акаунта",
|
||||
"DialogMessage_DeleteAccountConfirmationMessage": "Изтриване на {0}?",
|
||||
"DialogMessage_DeleteAccountConfirmationTitle": "Всички данни, свързани с този акаунт, ще бъдат изтрити от диска за постоянно.",
|
||||
"DialogMessage_DiscardDraftConfirmationMessage": "Тази чернова ще бъде отхвърлена. Искате ли да продължите?",
|
||||
"DialogMessage_DiscardDraftConfirmationTitle": "Отхвърляне на черновата",
|
||||
"DialogMessage_EmptySubjectConfirmation": "Липсваща тема",
|
||||
"DialogMessage_EmptySubjectConfirmationMessage": "Съобщението няма тема. Искате ли да продължите?",
|
||||
"DialogMessage_EnableStartupLaunchDeniedMessage": "Можете да активирате автоматично стартиране от Настройки -> Предпочитания за приложението.",
|
||||
"DialogMessage_EnableStartupLaunchMessage": "Позволете на Wino Mail да се стартира автоматично минимизиран при стартиране на Windows, за да не пропускате никакви известия.\n\nИскате ли да разрешите автоматичното стартиране?",
|
||||
"DialogMessage_EnableStartupLaunchTitle": "Активиране на автоматичното стартиране",
|
||||
"DialogMessage_HardDeleteConfirmationMessage": "Окончателно изтриване",
|
||||
"DialogMessage_HardDeleteConfirmationTitle": "Съобщението/ята ще бъдат изтрити за постоянно. Искате ли да продължите?",
|
||||
"DialogMessage_InvalidAliasMessage": "Този псевдоним не е валиден. Уверете се, че всички адреси от псевдонима са валидни имейл адреси.",
|
||||
"DialogMessage_InvalidAliasTitle": "Невалиден псевдоним",
|
||||
"DialogMessage_NoAccountsForCreateMailMessage": "Нямате акаунти, от които да създадете съобщение.",
|
||||
"DialogMessage_NoAccountsForCreateMailTitle": "Липсва акаунт",
|
||||
"DialogMessage_PrintingFailedMessage": "Неуспешно отпечатване на този имейл. Резултат: {0}",
|
||||
"DialogMessage_PrintingFailedTitle": "Неуспешно",
|
||||
"DialogMessage_PrintingSuccessMessage": "Имейлът се изпраща към принтера.",
|
||||
"DialogMessage_PrintingSuccessTitle": "Успешно",
|
||||
"DialogMessage_RenameFolderMessage": "Въведете ново име за тази папка",
|
||||
"DialogMessage_RenameFolderTitle": "Преименуване на папката",
|
||||
"DialogMessage_RenameLinkedAccountsMessage": "Въведете ново име за свързания акаунт",
|
||||
"DialogMessage_RenameLinkedAccountsTitle": "Преименуване на свързания акаунт",
|
||||
"DialogMessage_UnlinkAccountsConfirmationMessage": "Тази операция няма да доведе до изтриване на акаунтите ви, а само до прекъсване на връзката към споделените папки. Искате ли да продължите?",
|
||||
"DialogMessage_UnlinkAccountsConfirmationTitle": "Премахване на връзката между акаунтите",
|
||||
"DialogMessage_UnsubscribeConfirmationGoToWebsiteConfirmButton": "Към уебсайта",
|
||||
"DialogMessage_UnsubscribeConfirmationGoToWebsiteMessage": "За да спрете да получавате съобщения от {0}, отидете на техния уебсайт, за да се отпишете.",
|
||||
"DialogMessage_UnsubscribeConfirmationMailtoMessage": "Искате ли да спрете да получавате съобщения от {0}? Wino ще се откаже от абонамента вместо вас, като изпрати имейл от вашия имейл акаунт до {1}.",
|
||||
"DialogMessage_UnsubscribeConfirmationOneClickMessage": "Искате ли да спрете да получавате съобщения от {0}?",
|
||||
"DialogMessage_UnsubscribeConfirmationTitle": "Отписване",
|
||||
"DiscordChannelDisclaimerMessage": "Wino няма собствен сървър в Discord, но специалният канал 'wino-mail' се хоства на сървъра „Developer Sanctuary“.\nЗа да получавате актуализации за Wino, моля, присъединете се към сървъра Developer Sanctuary и следвайте канала „wino-mail“ в „Community Projects“.\n\nЩе бъдете пренасочени към URL адреса на сървъра, тъй като Discord не поддържа покани за канали.",
|
||||
"DiscordChannelDisclaimerTitle": "Важна информация за Discord",
|
||||
"Draft": "Чернова",
|
||||
"DragMoveToFolderCaption": "Преместване в {0}",
|
||||
"EditorToolbarOption_Draw": "Рисуване",
|
||||
"EditorToolbarOption_Format": "Форматиране",
|
||||
"EditorToolbarOption_Insert": "Вмъкване",
|
||||
"EditorToolbarOption_None": "Няма",
|
||||
"EditorToolbarOption_Options": "Опции",
|
||||
"EditorTooltip_WebViewEditor": "Използване на редактор в уеб изглед",
|
||||
"ElementTheme_Dark": "Тъмен режим",
|
||||
"ElementTheme_Default": "Използване на системната настройка",
|
||||
"ElementTheme_Light": "Светъл режим",
|
||||
"Emoji": "Емотикони",
|
||||
"Error_FailedToSetupSystemFolders_Title": "Неуспешна настройка на системните папки",
|
||||
"Exception_AuthenticationCanceled": "Удостоверяването е отменено",
|
||||
"Exception_CustomThemeExists": "Тази тема вече съществува.",
|
||||
"Exception_CustomThemeMissingName": "Трябва да посочите име.",
|
||||
"Exception_CustomThemeMissingWallpaper": "Трябва да предоставите персонализирано фоново изображение.",
|
||||
"Exception_FailedToSynchronizeAliases": "Неуспешно синхронизиране на псевдонимите",
|
||||
"Exception_FailedToSynchronizeFolders": "Неуспешно синхронизиране на папките",
|
||||
"Exception_FailedToSynchronizeProfileInformation": "Неуспешно синхронизиране на информацията за профила",
|
||||
"Exception_GoogleAuthCallbackNull": "Callback uri е празенl при активиране.",
|
||||
"Exception_GoogleAuthCorruptedCode": "Повреден отговор за упълномощаване.",
|
||||
"Exception_GoogleAuthError": "Грешка при оторизацията на OAuth: {0}",
|
||||
"Exception_GoogleAuthInvalidResponse": "Получена заявка с невалидно състояние ({0})",
|
||||
"Exception_GoogleAuthorizationCodeExchangeFailed": "Обменът на код за упълномощаване е неуспешен.",
|
||||
"Exception_ImapAutoDiscoveryFailed": "Не могат да се намерят настройките на пощенската кутия.",
|
||||
"Exception_ImapClientPoolFailed": "IMAP Client Pool се провали.",
|
||||
"Exception_InboxNotAvailable": "Не може да се настроят папките на акаунта.",
|
||||
"Exception_InvalidSystemFolderConfiguration": "Конфигурацията на системната папка не е валидна. Проверете конфигурацията и опитайте отново.",
|
||||
"Exception_InvalidMultiAccountMoveTarget": "Не можете да премествате няколко елемента, които принадлежат на различни акаунти, в свързан акаунт.",
|
||||
"Exception_MailProcessing": "Тази поща все още се обработва. Моля, опитайте отново след няколко секунди.",
|
||||
"Exception_MissingAlias": "За този акаунт не съществува първичен псевдоним. Създаването на чернова е неуспешно.",
|
||||
"Exception_NullAssignedAccount": "Присвоеният акаунт е нулев",
|
||||
"Exception_NullAssignedFolder": "Присвоената папка е нулева",
|
||||
"Exception_SynchronizerFailureHTTP": "Обработката на отговора е неуспешна с грешка HTTP код {0}",
|
||||
"Exception_TokenGenerationFailed": "Неуспешно генериране на токен",
|
||||
"Exception_TokenInfoRetrivalFailed": "Не се получи информация за токена.",
|
||||
"Exception_UnknowErrorDuringAuthentication": "Възникна неизвестна грешка по време на удостоверяването",
|
||||
"Exception_UnsupportedAction": "Действието {0} не е внедрено в процесора за обработка на заявки",
|
||||
"Exception_UnsupportedProvider": "Този доставчик не се поддържа.",
|
||||
"Exception_UnsupportedSynchronizerOperation": "Тази операция не се поддържа за {0}",
|
||||
"Exception_UserCancelSystemFolderSetupDialog": "Диалогът за конфигуриране на системната папка е отменен от потребителя.",
|
||||
"Exception_WinoServerException": "Сървърът на Wino е неуспешен.",
|
||||
"Files": "Файлове",
|
||||
"FilteringOption_All": "Всички",
|
||||
"FilteringOption_Files": "Съдържа файлове",
|
||||
"FilteringOption_Flagged": "Отбелязани",
|
||||
"FilteringOption_Unread": "Непрочетени",
|
||||
"Focused": "На фокус",
|
||||
"FolderOperation_CreateSubFolder": "Създаване на подпапка",
|
||||
"FolderOperation_Delete": "Изтриване",
|
||||
"FolderOperation_DontSync": "Да не се синхронизира тази папка",
|
||||
"FolderOperation_Empty": "Изпразване на тази папка",
|
||||
"FolderOperation_MarkAllAsRead": "Маркиране на всички като прочетени",
|
||||
"FolderOperation_Move": "Преместване",
|
||||
"FolderOperation_None": "Няма",
|
||||
"FolderOperation_Pin": "Фиксиране",
|
||||
"FolderOperation_Rename": "Преименуване",
|
||||
"FolderOperation_Unpin": "Освобождаване",
|
||||
"GeneralTitle_Error": "Грешка",
|
||||
"GeneralTitle_Info": "Информация",
|
||||
"GeneralTitle_Warning": "Внимание",
|
||||
"GmailServiceDisabled_Title": "Грешка в Gmail",
|
||||
"GmailServiceDisabled_Message": "Вашият акаунт в Google Workspace изглежда е деактивиран за услугата Gmail. Моля, свържете се с вашия администратор, за да активира услугата Gmail за вашия акаунт.",
|
||||
"GmailArchiveFolderNameOverride": "Архив",
|
||||
"HoverActionOption_Archive": "Архивиране",
|
||||
"HoverActionOption_Delete": "Изтриване",
|
||||
"HoverActionOption_MoveJunk": "Преместване в Нежелани",
|
||||
"HoverActionOption_ToggleFlag": "Отбелязване / Без отбелязване",
|
||||
"HoverActionOption_ToggleRead": "Прочетено / Непрочетено",
|
||||
"ImageRenderingDisabled": "Показването на изображения е деактивирано за това съобщение.",
|
||||
"ImapAdvancedSetupDialog_AuthenticationMethod": "Метод за удостоверяване",
|
||||
"ImapAdvancedSetupDialog_ConnectionSecurity": "Сигурност на връзката",
|
||||
"IMAPAdvancedSetupDialog_ValidationAuthMethodRequired": "Изисква се метод за удостоверяване",
|
||||
"IMAPAdvancedSetupDialog_ValidationConnectionSecurityRequired": "Изисква се тип сигурност на връзката",
|
||||
"IMAPAdvancedSetupDialog_ValidationDisplayNameRequired": "Изисква се показвано име",
|
||||
"IMAPAdvancedSetupDialog_ValidationEmailInvalid": "Моля, въведете валиден имейл адрес",
|
||||
"IMAPAdvancedSetupDialog_ValidationEmailRequired": "Изисква се имейл адрес",
|
||||
"IMAPAdvancedSetupDialog_ValidationErrorTitle": "Моля, проверете следното:",
|
||||
"IMAPAdvancedSetupDialog_ValidationIncomingPortInvalid": "Входящият порт трябва да е между 1-65535",
|
||||
"IMAPAdvancedSetupDialog_ValidationIncomingPortRequired": "Изисква се порт на входящия сървър",
|
||||
"IMAPAdvancedSetupDialog_ValidationIncomingServerRequired": "Изисква се адрес на входящия сървър",
|
||||
"IMAPAdvancedSetupDialog_ValidationOutgoingPasswordRequired": "Изисква се парола на изходящия сървър",
|
||||
"IMAPAdvancedSetupDialog_ValidationOutgoingPortInvalid": "Изходящият порт трябва да е между 1-65535",
|
||||
"IMAPAdvancedSetupDialog_ValidationOutgoingPortRequired": "Изисква се порт на изходящия сървър",
|
||||
"IMAPAdvancedSetupDialog_ValidationOutgoingServerRequired": "Изисква се адрес на изходящия сървър",
|
||||
"IMAPAdvancedSetupDialog_ValidationOutgoingUsernameRequired": "Изисква се потребителско име на изходящия сървър",
|
||||
"IMAPAdvancedSetupDialog_ValidationPasswordRequired": "Изисква се парола",
|
||||
"IMAPAdvancedSetupDialog_ValidationUsernameRequired": "Изисква се потребителско име",
|
||||
"ImapAuthenticationMethod_Auto": "Автоматично",
|
||||
"ImapAuthenticationMethod_CramMD5": "CRAM-MD5",
|
||||
"ImapAuthenticationMethod_DigestMD5": "DIGEST-MD5",
|
||||
"ImapAuthenticationMethod_EncryptedPassword": "Криптирана парола",
|
||||
"ImapAuthenticationMethod_None": "Без удостоверяване",
|
||||
"ImapAuthenticationMethod_Ntlm": "NTLM",
|
||||
"ImapAuthenticationMethod_Plain": "Нормална парола",
|
||||
"ImapConnectionSecurity_Auto": "Автоматично",
|
||||
"ImapConnectionSecurity_None": "Няма",
|
||||
"ImapConnectionSecurity_SslTls": "SSL/TLS",
|
||||
"ImapConnectionSecurity_StartTls": "STARTTLS",
|
||||
"IMAPSetupDialog_AccountType": "Тип на акаунта",
|
||||
"IMAPSetupDialog_ValidationSuccess_Title": "Успешно",
|
||||
"IMAPSetupDialog_ValidationSuccess_Message": "Успешно валидиране",
|
||||
"IMAPSetupDialog_ValidationFailed_Title": "Неуспешно валидиране на IMAP сървъра.",
|
||||
"IMAPSetupDialog_CertificateAllowanceRequired_Row0": "Този сървър изисква установяване на защитена SSL връзка, за да продължи. Моля, потвърдете данните за сертификата по-долу.",
|
||||
"IMAPSetupDialog_CertificateAllowanceRequired_Row1": "Разрешете защитената връзка, за да продължите да настройвате акаунта си.",
|
||||
"IMAPSetupDialog_CertificateDenied": "Потребителят не е разрешил защитената връзка със сертификата.",
|
||||
"IMAPSetupDialog_CertificateIssuer": "Издател",
|
||||
"IMAPSetupDialog_CertificateSubject": "Тема",
|
||||
"IMAPSetupDialog_CertificateValidFrom": "Валиден от",
|
||||
"IMAPSetupDialog_CertificateValidTo": "Валиден до",
|
||||
"IMAPSetupDialog_CertificateView": "Преглед на сертификата",
|
||||
"IMAPSetupDialog_ConnectionFailedMessage": "Връзката с IMAP е неуспешна.",
|
||||
"IMAPSetupDialog_ConnectionFailedTitle": "Връзката е неуспешна",
|
||||
"IMAPSetupDialog_DisplayName": "Показвано име",
|
||||
"IMAPSetupDialog_DisplayNamePlaceholder": "напр. Иван Иванов",
|
||||
"IMAPSetupDialog_IncomingMailServer": "Сървър за входяща поща",
|
||||
"IMAPSetupDialog_IncomingMailServerPort": "Порт",
|
||||
"IMAPSetupDialog_IMAPSettings": "Настройки на IMAP сървъра",
|
||||
"IMAPSetupDialog_SMTPSettings": "Настройки на SMTP сървъра",
|
||||
"IMAPSetupDialog_MailAddress": "Имейл адрес",
|
||||
"IMAPSetupDialog_MailAddressPlaceholder": "nyakoy@primer.com",
|
||||
"IMAPSetupDialog_OutgoingMailServer": "Сървър за изходяща поща (SMTP)",
|
||||
"IMAPSetupDialog_OutgoingMailServerPassword": "Парола на изходящия сървър",
|
||||
"IMAPSetupDialog_OutgoingMailServerPort": "Порт",
|
||||
"IMAPSetupDialog_OutgoingMailServerRequireAuthentication": "Изходящият сървър изисква удостоверяване",
|
||||
"IMAPSetupDialog_OutgoingMailServerUsername": "Потребителско име на изходящия сървър",
|
||||
"IMAPSetupDialog_Password": "Парола",
|
||||
"IMAPSetupDialog_RequireSSLForIncomingMail": "Изисква SSL за входящата поща",
|
||||
"IMAPSetupDialog_RequireSSLForOutgoingMail": "Изисква SSL за изходящата поща",
|
||||
"IMAPSetupDialog_Title": "Разширено конфигуриране на IMAP",
|
||||
"IMAPSetupDialog_Username": "Потребител",
|
||||
"IMAPSetupDialog_UsernamePlaceholder": "ivanivanov, ivanivanov@primer.com, domain/ivanivanov",
|
||||
"IMAPSetupDialog_UseSameConfig": "Използване на същото потребителско име и парола за изпращане на имейли",
|
||||
"Info_AccountCreatedMessage": "{0} е създаден",
|
||||
"Info_AccountCreatedTitle": "Създаване на акаунт",
|
||||
"Info_AccountCreationFailedTitle": "Неуспешно създаване на акаунт",
|
||||
"Info_AccountDeletedMessage": "{0} е изтрит успешно.",
|
||||
"Info_AccountDeletedTitle": "Акаунтът е изтрит",
|
||||
"Info_AccountIssueFixFailedTitle": "Неуспешно",
|
||||
"Info_AccountIssueFixSuccessMessage": "Отстранени са всички проблеми с акаунтите.",
|
||||
"Info_AccountIssueFixSuccessTitle": "Успешно",
|
||||
"Info_AttachmentOpenFailedMessage": "Не може да се отвори този прикачен файл.",
|
||||
"Info_AttachmentOpenFailedTitle": "Неуспешно",
|
||||
"Info_AttachmentSaveFailedMessage": "Не може да се запази този прикачен файл.",
|
||||
"Info_AttachmentSaveFailedTitle": "Неуспешно",
|
||||
"Info_AttachmentSaveSuccessMessage": "Прикаченият файл е запазен.",
|
||||
"Info_AttachmentSaveSuccessTitle": "Запазен прикачен файл",
|
||||
"Info_BackgroundExecutionDeniedMessage": "Изпълнението на приложението на заден план е отказано. Това може да повлияе на синхронизацията на заден план и известията в реално време.",
|
||||
"Info_BackgroundExecutionDeniedTitle": "Отказано изпълнение на задан план",
|
||||
"Info_BackgroundExecutionUnknownErrorMessage": "Възникна неизвестно изключение при регистриране на синхронизатора на заден план.",
|
||||
"Info_BackgroundExecutionUnknownErrorTitle": "Неуспешно изпълнение на заден план",
|
||||
"Info_CantDeletePrimaryAliasMessage": "Основният псевдоним не може да бъде изтрит. Моля, променете псевдонима си, преди да изтриете този",
|
||||
"Info_ComposerMissingMIMEMessage": "MIME файлът не можа да се намери. Синхронизирането може да помогне.",
|
||||
"Info_ComposerMissingMIMETitle": "Неуспешно",
|
||||
"Info_ContactExistsMessage": "Този контакт вече е в списъка с получатели.",
|
||||
"Info_ContactExistsTitle": "Контактът съществува",
|
||||
"Info_DraftFolderMissingMessage": "За този акаунт липсва папка Чернови. Моля, проверете настройките на акаунта си.",
|
||||
"Info_DraftFolderMissingTitle": "Липсва папка Чернови",
|
||||
"Info_FailedToOpenFileMessage": "Файлът може да бъде премахнат от диска.",
|
||||
"Info_FailedToOpenFileTitle": "Неуспешно стартиране на файла.",
|
||||
"Info_FileLaunchFailedTitle": "Неуспешно стартиране на файла",
|
||||
"Info_InvalidAddressMessage": "„{0}“ не е валиден имейл адрес.",
|
||||
"Info_InvalidAddressTitle": "Невалиден адрес",
|
||||
"Info_InvalidMoveTargetMessage": "Не можете да преместите избраните писма в тази папка.",
|
||||
"Info_InvalidMoveTargetTitle": "Невалидна цел за преместване",
|
||||
"Info_LogsNotFoundMessage": "Няма дневници за споделяне.",
|
||||
"Info_LogsNotFoundTitle": "Дневниците не са намерени",
|
||||
"Info_LogsSavedMessage": "{0} се запазва в избраната папка.",
|
||||
"Info_LogsSavedTitle": "Запазено",
|
||||
"Info_MailListSizeResetSuccessMessage": "Размерът на пощенския списък е нулиран.",
|
||||
"Info_MailRenderingFailedMessage": "Тази поща е повредена или не може да бъде отворена.\n{0}",
|
||||
"Info_MailRenderingFailedTitle": "Неуспешно визуализиране",
|
||||
"Info_MessageCorruptedMessage": "Това съобщение е повредено.",
|
||||
"Info_MessageCorruptedTitle": "Грешка",
|
||||
"Info_MissingFolderMessage": "{0} не съществува за този акаунт.",
|
||||
"Info_MissingFolderTitle": "Липсваща папка",
|
||||
"Info_PDFSaveFailedTitle": "Неуспешно записване на PDF файл",
|
||||
"Info_PDFSaveSuccessMessage": "PDF файлът е записан в {0}",
|
||||
"Info_PDFSaveSuccessTitle": "Успешно",
|
||||
"Info_PurchaseExistsMessage": "Изглежда, че този продукт вече е бил закупен преди.",
|
||||
"Info_PurchaseExistsTitle": "Съществуващ продукт",
|
||||
"Info_PurchaseThankYouMessage": "Благодарим ви",
|
||||
"Info_PurchaseThankYouTitle": "Покупката е успешна",
|
||||
"Info_RequestCreationFailedTitle": "Неуспешно създаване на заявки",
|
||||
"Info_ReviewNetworkErrorMessage": "Имаше мрежов проблем с прегледа ви.",
|
||||
"Info_ReviewNetworkErrorTitle": "Мрежов проблем",
|
||||
"Info_ReviewNewMessage": "Оценяваме всички отзиви. Благодарим ви за прегледа!",
|
||||
"Info_ReviewSuccessTitle": "Благодарим ви",
|
||||
"Info_ReviewUnknownErrorMessage": "Имаше неизвестен проблем с прегледа ви. ({0})",
|
||||
"Info_ReviewUnknownErrorTitle": "Неизвестна грешка",
|
||||
"Info_ReviewUpdatedMessage": "Благодарим ви за актуализирания преглед.",
|
||||
"Info_SignatureDisabledMessage": "Деактивиран подпис за този акаунт",
|
||||
"Info_SignatureDisabledTitle": "Успешно",
|
||||
"Info_SignatureSavedMessage": "Новият подпис се запазва",
|
||||
"Info_SignatureSavedTitle": "Успешно",
|
||||
"Info_SyncCanceledMessage": "Отменено",
|
||||
"Info_SyncCanceledTitle": "Синхронизиране",
|
||||
"Info_SyncFailedTitle": "Неуспешна синхронизация",
|
||||
"Info_UnsubscribeErrorMessage": "Неуспешно отписване",
|
||||
"Info_UnsubscribeLinkInvalidMessage": "Тази връзка за отписване е невалидна. Неуспешно отписване от списъка.",
|
||||
"Info_UnsubscribeLinkInvalidTitle": "Невалиден Uri за отписване",
|
||||
"Info_UnsubscribeSuccessMessage": "Успешно се отписахте от {0}.",
|
||||
"Info_UnsupportedFunctionalityDescription": "Тази функционалност все още не е реализирана.",
|
||||
"Info_UnsupportedFunctionalityTitle": "Не се поддържа",
|
||||
"InfoBarAction_Enable": "Активиране",
|
||||
"InfoBarMessage_SynchronizationDisabledFolder": "Синхронизирането на тази папка е деактивирано.",
|
||||
"InfoBarTitle_SynchronizationDisabledFolder": "Изключена папка",
|
||||
"Justify": "Двустранно",
|
||||
"Left": "Ляво",
|
||||
"Link": "Връзка",
|
||||
"LinkedAccountsCreatePolicyMessage": "Трябва да имате поне 2 акаунта, за да създадете връзка.\nВръзката ще бъде премахната при запазване.",
|
||||
"LinkedAccountsTitle": "Свързани акаунти",
|
||||
"MailItemNoSubject": "Без тема",
|
||||
"MailOperation_AlwaysMoveFocused": "Винаги да се преместват в На фокус",
|
||||
"MailOperation_AlwaysMoveOther": "Винаги да се преместват в Други",
|
||||
"MailOperation_Archive": "Архивиране",
|
||||
"MailOperation_ClearFlag": "Без отбелязване",
|
||||
"MailOperation_DarkEditor": "Тъмна",
|
||||
"MailOperation_Delete": "Изтриване",
|
||||
"MailOperation_ExportPDF": "Експортиране в PDF",
|
||||
"MailOperation_Find": "Намиране",
|
||||
"MailOperation_Forward": "Препращане",
|
||||
"MailOperation_Ignore": "Игнориране",
|
||||
"MailOperation_LightEditor": "Светла",
|
||||
"MailOperation_MarkAsJunk": "Маркиране като нежелано",
|
||||
"MailOperation_MarkAsRead": "Маркиране като прочетено",
|
||||
"MailOperation_MarkAsUnread": "Маркиране като непрочетено",
|
||||
"MailOperation_MarkNotJunk": "Не е нежелано",
|
||||
"MailOperation_Move": "Преместване",
|
||||
"MailOperation_MoveFocused": "Преместване в На фокус",
|
||||
"MailOperation_MoveJunk": "Преместване в Нежелани",
|
||||
"MailOperation_MoveOther": "Преместване в Други",
|
||||
"MailOperation_Navigate": "Отиване",
|
||||
"MailOperation_Print": "Отпечатване",
|
||||
"MailOperation_Reply": "Отговор",
|
||||
"MailOperation_ReplyAll": "Отговор на всички",
|
||||
"MailOperation_SaveAs": "Запазване като",
|
||||
"MailOperation_SetFlag": "Отбелязване",
|
||||
"MailOperation_Unarchive": "Разархивиране",
|
||||
"MailOperation_ViewMessageSource": "Преглед на изходния код",
|
||||
"MailOperation_Zoom": "Мащаб",
|
||||
"MailsSelected": "{0} избран(и) елемент(и)",
|
||||
"MarkFlagUnflag": "Отбелязано/Без отбелязване",
|
||||
"MarkReadUnread": "Маркиране като прочетено/непрочетено",
|
||||
"MenuManageAccounts": "Управление на акаунтите",
|
||||
"MenuMergedAccountItemAccountsSuffix": " акаунти",
|
||||
"MenuNewMail": "Нов имейл",
|
||||
"MenuRate": "Оценете Wino",
|
||||
"MenuSettings": "Настройки",
|
||||
"MergedAccountCommonFolderArchive": "Архив",
|
||||
"MergedAccountCommonFolderDraft": "Чернова",
|
||||
"MergedAccountCommonFolderInbox": "Входящи",
|
||||
"MergedAccountCommonFolderJunk": "Нежелани",
|
||||
"MergedAccountCommonFolderSent": "Изпратени",
|
||||
"MergedAccountCommonFolderTrash": "Изтрити",
|
||||
"MergedAccountsAvailableAccountsTitle": "Налични акаунти",
|
||||
"MessageSourceDialog_Title": "Източник на съобщението",
|
||||
"More": "Още",
|
||||
"MoreFolderNameOverride": "Още",
|
||||
"MoveMailDialog_InvalidFolderMessage": "{0} не е валидна папка за тази поща.",
|
||||
"MoveMailDialog_Title": "Изберете папка",
|
||||
"NewAccountDialog_AccountName": "Име на акаунта",
|
||||
"NewAccountDialog_AccountNameDefaultValue": "Личен",
|
||||
"NewAccountDialog_AccountNamePlaceholder": "напр. Лична поща",
|
||||
"NewAccountDialog_Title": "Добавяне на нов акаунт",
|
||||
"NoMailSelected": "Не е избрано съобщение",
|
||||
"NoMessageCrieteria": "Няма съобщения, които да отговарят на критериите ви за търсене",
|
||||
"NoMessageEmptyFolder": "Тази папка е празна",
|
||||
"Notifications_MultipleNotificationsMessage": "Имате {0} нови съобщения.",
|
||||
"Notifications_MultipleNotificationsTitle": "Нов имейл",
|
||||
"Notifications_WinoUpdatedMessage": "Вижте новата версия {0}",
|
||||
"Notifications_WinoUpdatedTitle": "Wino Mail е актуализиран.",
|
||||
"OnlineSearchFailed_Message": "Неуспешно търсене\n{0}\n\nПоказване на офлайн имейли.",
|
||||
"OnlineSearchTry_Line1": "Не можете да намерите това, което търсите?",
|
||||
"OnlineSearchTry_Line2": "Опитайте онлайн търсене.",
|
||||
"Other": "Друго",
|
||||
"PaneLengthOption_Default": "По подразбиране",
|
||||
"PaneLengthOption_ExtraLarge": "Много голям",
|
||||
"PaneLengthOption_Large": "Голям",
|
||||
"PaneLengthOption_Medium": "Среден",
|
||||
"PaneLengthOption_Micro": "Много малък",
|
||||
"PaneLengthOption_Small": "Малък",
|
||||
"Photos": "Снимки",
|
||||
"PreparingFoldersMessage": "Подготовка на папките",
|
||||
"ProtocolLogAvailable_Message": "Протоколните дневници са достъпни за диагностика.",
|
||||
"ProviderDetail_Gmail_Description": "Акаунт в Google",
|
||||
"ProviderDetail_iCloud_Description": "Акаунт в Apple iCloud",
|
||||
"ProviderDetail_iCloud_Title": "iCloud",
|
||||
"ProviderDetail_IMAP_Description": "Потребителски IMAP/SMTP сървър",
|
||||
"ProviderDetail_IMAP_Title": "IMAP сървър",
|
||||
"ProviderDetail_Yahoo_Description": "Акаунт в Yahoo",
|
||||
"ProviderDetail_Yahoo_Title": "Yahoo Mail",
|
||||
"QuickEventDialog_EventName": "Име на събитието",
|
||||
"QuickEventDialog_IsAllDay": "Цял ден",
|
||||
"QuickEventDialog_Location": "Местоположение",
|
||||
"QuickEventDialog_RemindMe": "Напомнете ми",
|
||||
"QuickEventDialogMoreDetailsButtonText": "Повече подробности",
|
||||
"Reader_SaveAllAttachmentButtonText": "Запазване на всички прикачени файлове",
|
||||
"Results": "Резултати",
|
||||
"Right": "Дясно",
|
||||
"SearchBarPlaceholder": "Търсене",
|
||||
"SearchingIn": "Търсене в",
|
||||
"SearchPivotName": "Резултати",
|
||||
"SettingConfigureSpecialFolders_Button": "Конфигуриране",
|
||||
"SettingsEditAccountDetails_IMAPConfiguration_Title": "Конфигурация на IMAP/SMTP",
|
||||
"SettingsEditAccountDetails_IMAPConfiguration_Description": "Променете настройките на входящия/изходящия сървър.",
|
||||
"SettingsAbout_Description": "Научете повече за Wino.",
|
||||
"SettingsAbout_Title": "За приложението",
|
||||
"SettingsAboutGithub_Description": "Към хранилището на GitHub за проследяване на проблеми.",
|
||||
"SettingsAboutGithub_Title": "GitHub",
|
||||
"SettingsAboutVersion": "Версия ",
|
||||
"SettingsAboutWinoDescription": "Лек пощенски клиент за семейства устройства с Windows.",
|
||||
"SettingsAccentColor_Description": "Промяна на цвета на акцента в приложението",
|
||||
"SettingsAccentColor_Title": "Цвят на акцента",
|
||||
"SettingsAccentColor_UseWindowsAccentColor": "Използване на акцентния цвят на Windows",
|
||||
"SettingsAccountManagementAppendMessage_Description": "Създаване на копие на съобщението в папка „Изпратени“ след изпращане на черновата. Включете това, ако не виждате писмата си след изпращането им в папка „Изпратени“.",
|
||||
"SettingsAccountManagementAppendMessage_Title": "Добавяне на съобщенията в папка „Изпратени“",
|
||||
"SettingsAccountName_Description": "Промяна на името на акаунта.",
|
||||
"SettingsAccountName_Title": "Име на акаунта",
|
||||
"SettingsApplicationTheme_Description": "Персонализирайте Wino с различни потребителски теми за приложението, които ви харесват.",
|
||||
"SettingsApplicationTheme_Title": "Тема на приложението",
|
||||
"SettingsAppPreferences_CloseBehavior_Description": "Какво да се случи, когато затворите приложението?",
|
||||
"SettingsAppPreferences_CloseBehavior_Title": "Поведение при затваряне на приложението",
|
||||
"SettingsAppPreferences_Description": "Общи настройки / предпочитания за Wino Mail.",
|
||||
"SettingsAppPreferences_SearchMode_Description": "Задайте дали Wino да проверява първо получените писма при търсене или да попита вашия пощенски сървър онлайн. Местното търсене винаги е по-бързо и винаги можете да направите онлайн търсене, ако вашата поща не е в резултатите.",
|
||||
"SettingsAppPreferences_SearchMode_Local": "Локално",
|
||||
"SettingsAppPreferences_SearchMode_Online": "Онлайн",
|
||||
"SettingsAppPreferences_SearchMode_Title": "Режим на търсене по подразбиране",
|
||||
"SettingsAppPreferences_ServerBackgroundingMode_Invisible_Description": "Wino Mail ще продължи да работи на заден план. Ще бъдете уведомявани за пристигането на нови имейли.",
|
||||
"SettingsAppPreferences_ServerBackgroundingMode_Invisible_Title": "Работа на заден план",
|
||||
"SettingsAppPreferences_ServerBackgroundingMode_MinimizeTray_Description": "Wino Mail ще продължи да работи в системната област. Можете да го стартирате, като щракнете върху иконата. Ще бъдете уведомявани при пристигането на нови имейли.",
|
||||
"SettingsAppPreferences_ServerBackgroundingMode_MinimizeTray_Title": "Минимизиране в системната област",
|
||||
"SettingsAppPreferences_ServerBackgroundingMode_Terminate_Description": "Wino Mail няма да продължи да работи никъде. Няма да бъдете уведомявани за пристигането на нови имейли. Стартирайте отново Wino Mail, за да продължите синхронизирането на пощата.",
|
||||
"SettingsAppPreferences_ServerBackgroundingMode_Terminate_Title": "Прекратяване",
|
||||
"SettingsAppPreferences_StartupBehavior_Description": "Позволете на Wino Mail да се стартира минимизиран при стартиране на Windows. Винаги разрешавайте да получава известия.",
|
||||
"SettingsAppPreferences_StartupBehavior_Disable": "Деактивиране",
|
||||
"SettingsAppPreferences_StartupBehavior_Disabled": "Wino Mail няма да се стартира при стартиране на Windows. Това ще доведе до пропускане на известия при рестартиране на компютъра.",
|
||||
"SettingsAppPreferences_StartupBehavior_DisabledByPolicy": "Вашият администратор или групови политики са забранили стартирането на приложения при начално стартиране. Поради това Wino Mail не може да бъде настроен да се стартира при стартиране на Windows.",
|
||||
"SettingsAppPreferences_StartupBehavior_DisabledByUser": "Моля, отидете в Мениджър на задачите -> раздел Автоматично стартиращи се приложения, за да разрешите на Wino Mail да се стартира при стартиране на Windows.",
|
||||
"SettingsAppPreferences_StartupBehavior_Enable": "Активиране",
|
||||
"SettingsAppPreferences_StartupBehavior_Enabled": "Wino Mail е настроен успешно да се стартира на заден план при стартиране на Windows.",
|
||||
"SettingsAppPreferences_StartupBehavior_FatalError": "Възникна фатална грешка при промяна на режима на стартиране на Wino Mail.",
|
||||
"SettingsAppPreferences_StartupBehavior_Title": "Стартиране в минимизиран вид при стартиране на Windows",
|
||||
"SettingsAppPreferences_Title": "Предпочитания за приложението",
|
||||
"SettingsAutoSelectNextItem_Description": "Избиране на следващия елемент, след като изтриете или преместите имейл.",
|
||||
"SettingsAutoSelectNextItem_Title": "Автоматично избиране на следващия елемент",
|
||||
"SettingsAvailableThemes_Description": "Изберете тема от собствената колекция на Wino по ваш вкус или приложете свои собствени теми.",
|
||||
"SettingsAvailableThemes_Title": "Налични теми",
|
||||
"SettingsCalendarSettings_Description": "Променете първия ден от седмицата, височината на часовата клетка и други...",
|
||||
"SettingsCalendarSettings_Title": "Настройки на календара",
|
||||
"SettingsComposer_Title": "Съставяне",
|
||||
"SettingsComposerFont_Title": "Шрифт по подразбиране за съставяне",
|
||||
"SettingsComposerFontFamily_Description": "Промяна на шрифтовото семейство и размера на шрифта по подразбиране за съставяне на имейли.",
|
||||
"SettingsConfigureSpecialFolders_Description": "Задаване на папки със специални функции. Папки като Архив, Входящи и Чернови са от съществено значение за правилното функциониране на Wino.",
|
||||
"SettingsConfigureSpecialFolders_Title": "Конфигуриране на системните папки",
|
||||
"SettingsCustomTheme_Description": "Създайте своя собствена тема с персонализиран тапет и цвят на акцента.",
|
||||
"SettingsCustomTheme_Title": "Потребителска тема",
|
||||
"SettingsDeleteAccount_Description": "Изтриване на всички имейли и идентификационни данни, свързани с този акаунт.",
|
||||
"SettingsDeleteAccount_Title": "Изтриване на този акаунт",
|
||||
"SettingsDeleteProtection_Description": "Трябва ли Wino да ви пита за потвърждение всеки път, когато се опитвате да изтриете окончателно имейл с клавишите Shift + Del?",
|
||||
"SettingsDeleteProtection_Title": "Защита от окончателно изтриване",
|
||||
"SettingsDiagnostics_Description": "За разработчици",
|
||||
"SettingsDiagnostics_DiagnosticId_Description": "Споделете този идентификационен номер с разработчиците, когато ви помолят, за да получите помощ за проблемите, с които се сблъсквате в Wino Mail.",
|
||||
"SettingsDiagnostics_DiagnosticId_Title": "Идентификатор за диагностика",
|
||||
"SettingsDiagnostics_Title": "Диагностика",
|
||||
"SettingsDiscord_Description": "Получавайте редовно актуализации за разработката, включвайте се в обсъждания на пътната карта и предоставяйте обратна връзка.",
|
||||
"SettingsDiscord_Title": "Канал в Discord",
|
||||
"SettingsEditLinkedInbox_Description": "Добавяне/премахване на акаунти, преименуване или прекъсване на връзката между акаунтите.",
|
||||
"SettingsEditLinkedInbox_Title": "Редактиране на свързаната входяща поща",
|
||||
"SettingsElementTheme_Description": "Избор на тема на Windows за Wino",
|
||||
"SettingsElementTheme_Title": "Цветови режим",
|
||||
"SettingsElementThemeSelectionDisabled": "Изборът на цветови режим е забранен, когато е избрана тема на приложението, различна от тази по подразбиране.",
|
||||
"SettingsEnableHoverActions_Title": "Активиране на действията при поставяне на курсора",
|
||||
"SettingsEnableIMAPLogs_Description": "Активирайте тази опция, за да предоставите подробна информация за проблемите със свързаността на IMAP, които сте имали по време на настройката на IMAP сървъра.",
|
||||
"SettingsEnableIMAPLogs_Title": "Активиране на дневниците на IMAP протокола",
|
||||
"SettingsEnableLogs_Description": "Може да ми трябват дневниците за сривове, за да диагностицирам проблемите, които сте открили в GitHub. Нито един от дневниците няма да разкрие публично вашите идентификационни данни или чувствителна информация.",
|
||||
"SettingsEnableLogs_Title": "Активиране на дневниците",
|
||||
"SettingsEnableSignature": "Активиране на подписа",
|
||||
"SettingsExpandOnStartup_Description": "Задайте дали Wino да разгръща папките на този акаунт при стартиране.",
|
||||
"SettingsExpandOnStartup_Title": "Разгръщане на менюто при стартиране",
|
||||
"SettingsExternalContent_Description": "Управление на настройките за външно съдържание при визуализиране на имейли.",
|
||||
"SettingsExternalContent_Title": "Външно съдържание",
|
||||
"SettingsFocusedInbox_Description": "Задайте дали входящата поща да бъде разделена на две като На фокус - Други.",
|
||||
"SettingsFocusedInbox_Title": "Входящи на фокус",
|
||||
"SettingsFolderMenuStyle_Description": "Промяна на това дали папките на акаунта трябва да са вложени в менюто на акаунта или не. Изключете тази опция, ако ви харесва старата система на менютата в Поща на Windows",
|
||||
"SettingsFolderMenuStyle_Title": "Създаване на вложени папки",
|
||||
"SettingsFolderOptions_Description": "Промяна настройките на отделните папки, като например разрешаване/забрана на синхронизацията или показване/скриване на значката за непрочетените.",
|
||||
"SettingsFolderOptions_Title": "Конфигурация на папките",
|
||||
"SettingsFolderSync_Description": "Активиране или деактивиране синхронизирането на определени папки.",
|
||||
"SettingsFolderSync_Title": "Синхронизиране на папките",
|
||||
"SettingsFontFamily_Title": "Семейство шрифтове",
|
||||
"SettingsFontPreview_Title": "Преглед",
|
||||
"SettingsFontSize_Title": "Размер на шрифта",
|
||||
"SettingsHoverActionCenter": "Централно действие",
|
||||
"SettingsHoverActionLeft": "Ляво действие",
|
||||
"SettingsHoverActionRight": "Дясно действие",
|
||||
"SettingsHoverActions_Description": "Изберете 3 действия, които да се показват при преминаване с курсора над имейлите.",
|
||||
"SettingsHoverActions_Title": "Действия при преминаване с мишката",
|
||||
"SettingsLanguage_Description": "Промяна на езика за показване на Wino.",
|
||||
"SettingsLanguage_Title": "Език на показване",
|
||||
"SettingsLanguageTime_Description": "Език на показване на Wino, предпочитан формат на часа.",
|
||||
"SettingsLanguageTime_Title": "Език и формат на часа",
|
||||
"SettingsLinkAccounts_Description": "Сливане на няколко акаунта в един. Виждайте имейлите заедно в една входяща кутия.",
|
||||
"SettingsLinkAccounts_Title": "Създаване на свързани акаунти",
|
||||
"SettingsLinkedAccountsSave_Description": "Промяна на текущото свързване с новите акаунти.",
|
||||
"SettingsLinkedAccountsSave_Title": "Запазване на промените",
|
||||
"SettingsLoadImages_Title": "Автоматично зареждане на изображенията",
|
||||
"SettingsLoadPlaintextLinks_Title": "Конвертиране на обикновените текстови връзки в такива, върху които може да се клика",
|
||||
"SettingsLoadStyles_Title": "Автоматично зареждане на стиловете",
|
||||
"SettingsMailListActionBar_Description": "Скриване/показване на лентата за действия в горната част на списъка със съобщения.",
|
||||
"SettingsMailListActionBar_Title": "Показване на действията в списъка с имейлите",
|
||||
"SettingsMailSpacing_Description": "Настройте отстоянието между имейлите.",
|
||||
"SettingsMailSpacing_Title": "Интервал между имейлите",
|
||||
"SettingsManageAccountSettings_Description": "Известия, подписи, синхронизация и други настройки за всеки акаунт.",
|
||||
"SettingsManageAccountSettings_Title": "Управление на настройките на акаунта",
|
||||
"SettingsManageAliases_Description": "Вижте псевдонимите на имейлите, назначени за този акаунт, актуализирайте ги или ги изтрийте.",
|
||||
"SettingsManageAliases_Title": "Псевдоними",
|
||||
"SettingsEditAccountDetails_Title": "Редактиране на данните на акаунта",
|
||||
"SettingsEditAccountDetails_Description": "Променете името на акаунта, името на подателя и задайте нов цвят, ако желаете.",
|
||||
"SettingsManageLink_Description": "Преместете елементите, за да добавите нова връзка или да премахнете съществуваща връзка.",
|
||||
"SettingsManageLink_Title": "Управление на връзката",
|
||||
"SettingsMarkAsRead_Description": "Променете какво трябва да се случи с избрания елемент.",
|
||||
"SettingsMarkAsRead_DontChange": "Да не се маркира автоматично елемента като прочетен",
|
||||
"SettingsMarkAsRead_SecondsToWait": "Секунди за изчакване: ",
|
||||
"SettingsMarkAsRead_Timer": "При преглед в прозореца за четене",
|
||||
"SettingsMarkAsRead_Title": "Маркиране на елемента като прочетен",
|
||||
"SettingsMarkAsRead_WhenSelected": "Когато е избран",
|
||||
"SettingsMessageList_Description": "Променете начина на организиране на съобщенията в списъка с имейли.",
|
||||
"SettingsMessageList_Title": "Списък със съобщения",
|
||||
"SettingsNoAccountSetupMessage": "Все още не сте настроили никакви акаунти.",
|
||||
"SettingsNotifications_Description": "Включване или изключване на известията за този акаунт.",
|
||||
"SettingsNotifications_Title": "Известия",
|
||||
"SettingsNotificationsAndTaskbar_Description": "Променете дали да се показват известия и значка в лентата на задачите за този акаунт.",
|
||||
"SettingsNotificationsAndTaskbar_Title": "Известия и лента на задачите",
|
||||
"SettingsOptions_Title": "Настройки",
|
||||
"SettingsPaneLengthReset_Description": "Възстановете първоначалния размер на списъка с имейли, ако имате проблеми с него.",
|
||||
"SettingsPaneLengthReset_Title": "Възстановяване размера на списъка с имейли",
|
||||
"SettingsPaypal_Description": "Покажете много повече любов ❤️ Всички дарения са добре дошли.",
|
||||
"SettingsPaypal_Title": "Дарете чрез PayPal",
|
||||
"SettingsPersonalization_Description": "Променете външния вид на Wino, както ви харесва.",
|
||||
"SettingsPersonalization_Title": "Персонализация",
|
||||
"SettingsPersonalizationMailDisplayCompactMode": "Компактен режим",
|
||||
"SettingsPersonalizationMailDisplayMediumMode": "Среден режим",
|
||||
"SettingsPersonalizationMailDisplaySpaciousMode": "Просторен режим",
|
||||
"SettingsPrefer24HourClock_Description": "Часовете на получената поща ще се показват в 24-часов формат вместо в 12-часов (AM/PM)",
|
||||
"SettingsPrefer24HourClock_Title": "Показване на часовете в 24-часов формат",
|
||||
"SettingsPrivacyPolicy_Description": "Прегледайте политиката за поверителност.",
|
||||
"SettingsPrivacyPolicy_Title": "Политика за поверителност",
|
||||
"SettingsReadComposePane_Description": "Шрифтове, външно съдържание.",
|
||||
"SettingsReadComposePane_Title": "Четене и съставяне",
|
||||
"SettingsReader_Title": "Четене",
|
||||
"SettingsReaderFont_Title": "Шрифт по подразбиране за четене",
|
||||
"SettingsReaderFontFamily_Description": "Променете шрифтовото семейство и размера на шрифта по подразбиране за четене на имейли.",
|
||||
"SettingsRenameMergeAccount_Description": "Променете показваното име на свързаните акаунти.",
|
||||
"SettingsRenameMergeAccount_Title": "Преименуване",
|
||||
"SettingsReorderAccounts_Description": "Променете реда на акаунтите в списъка с акаунти.",
|
||||
"SettingsReorderAccounts_Title": "Пренареждане на акаунтите",
|
||||
"SettingsSemanticZoom_Description": "Това ще ви позволи да кликнете върху заглавията в списъка със съобщения и да преминете към определена дата",
|
||||
"SettingsSemanticZoom_Title": "Семантично увеличение за заглавия с дати",
|
||||
"SettingsShowPreviewText_Description": "Скриване/показване на текста за визуализация.",
|
||||
"SettingsShowPreviewText_Title": "Показване визуализация на текста",
|
||||
"SettingsShowSenderPictures_Description": "Скриване/показване на миниатюрите на снимките на изпращача.",
|
||||
"SettingsShowSenderPictures_Title": "Показване на аватарите на подателите",
|
||||
"SettingsSignature_AddCustomSignature_Button": "Добавяне на подпис",
|
||||
"SettingsSignature_AddCustomSignature_Title": "Добавяне на персонализиран подпис",
|
||||
"SettingsSignature_DeleteSignature_Title": "Изтриване на подписа",
|
||||
"SettingsSignature_Description": "Управление на подписите на акаунтите",
|
||||
"SettingsSignature_EditSignature_Title": "Редактиране на подписа",
|
||||
"SettingsSignature_ForFollowingMessages_Title": "За отговори/препратки",
|
||||
"SettingsSignature_ForNewMessages_Title": "За нови съобщения",
|
||||
"SettingsSignature_NoneSignatureName": "Няма",
|
||||
"SettingsSignature_SignatureDefaults": "Параметри на подписа по подразбиране",
|
||||
"SettingsSignature_Signatures": "Подписи",
|
||||
"SettingsSignature_Title": "Подпис",
|
||||
"SettingsStartupItem_Description": "Основен елемент от акаунта за зареждане на Входящи при стартиране.",
|
||||
"SettingsStartupItem_Title": "Елемент за стартиране",
|
||||
"SettingsStore_Description": "Покажете малко любов ❤️",
|
||||
"SettingsStore_Title": "Оценете ни в магазина",
|
||||
"SettingsTaskbarBadge_Description": "Показване броя на непрочетените писма в иконата в лентата на задачите.",
|
||||
"SettingsTaskbarBadge_Title": "Значка на лентата на задачите",
|
||||
"SettingsThreads_Description": "Организиране на съобщенията в разговори.",
|
||||
"SettingsThreads_Title": "Групиране в разговори",
|
||||
"SettingsUnlinkAccounts_Description": "Премахване на връзката между акаунтите. Това няма да доведе до изтриване на акаунтите ви.",
|
||||
"SettingsUnlinkAccounts_Title": "Премахване на връзката между акаунтите",
|
||||
"SignatureDeleteDialog_Message": "Наистина ли искате да изтриете подписа „{0}“?",
|
||||
"SignatureDeleteDialog_Title": "Изтриване на подписа",
|
||||
"SignatureEditorDialog_SignatureName_Placeholder": "Име на вашия подпис",
|
||||
"SignatureEditorDialog_SignatureName_TitleEdit": "Текущо име на подписа: {0}",
|
||||
"SignatureEditorDialog_SignatureName_TitleNew": "Име на подписа",
|
||||
"SignatureEditorDialog_Title": "Редактор на подписи",
|
||||
"SortingOption_Date": "по дата",
|
||||
"SortingOption_Name": "по име",
|
||||
"StoreRatingDialog_MessageFirstLine": "Всички отзиви се оценяват и ще направят Wino много по-добър в бъдеще. Искате ли да оцените Wino в Microsoft Store?",
|
||||
"StoreRatingDialog_MessageSecondLine": "Искате ли да оцените Wino Mail в Microsoft Store?",
|
||||
"StoreRatingDialog_Title": "Wino ви харесва?",
|
||||
"SynchronizationFolderReport_Failed": "неуспешна синхронизация",
|
||||
"SynchronizationFolderReport_Success": "актуални",
|
||||
"SystemFolderConfigDialog_ArchiveFolderDescription": "Архивираните съобщения ще бъдат преместени тук.",
|
||||
"SystemFolderConfigDialog_ArchiveFolderHeader": "Папка Архив",
|
||||
"SystemFolderConfigDialog_DeletedFolderDescription": "Изтритите съобщения ще бъдат преместени тук.",
|
||||
"SystemFolderConfigDialog_DeletedFolderHeader": "Изтрита папка",
|
||||
"SystemFolderConfigDialog_DraftFolderDescription": "Новите писма/отговори ще бъдат създавани тук.",
|
||||
"SystemFolderConfigDialog_DraftFolderHeader": "Папка Чернови",
|
||||
"SystemFolderConfigDialog_JunkFolderDescription": "Всички спам/нежелани имейли ще бъдат тук.",
|
||||
"SystemFolderConfigDialog_JunkFolderHeader": "Папка за нежелана поща/спам",
|
||||
"SystemFolderConfigDialog_MessageFirstLine": "Този IMAP сървър не поддържа разширението SPECIAL-USE, поради което Wino не може да настрои правилно системните папки.",
|
||||
"SystemFolderConfigDialog_MessageSecondLine": "Моля, изберете подходящите папки за конкретни функционалности.",
|
||||
"SystemFolderConfigDialog_SentFolderDescription": "Папка, в която ще се съхраняват изпратените съобщения.",
|
||||
"SystemFolderConfigDialog_SentFolderHeader": "Папка Изпратени",
|
||||
"SystemFolderConfigDialog_Title": "Конфигуриране на системните папки",
|
||||
"SystemFolderConfigDialogValidation_DuplicateSystemFolders": "Някои от системните папки се използват повече от веднъж в конфигурацията.",
|
||||
"SystemFolderConfigDialogValidation_InboxSelected": "Не можете да присвоите папка Входящи към друга системна папка.",
|
||||
"SystemFolderConfigSetupSuccess_Message": "Системните папки са успешно конфигурирани.",
|
||||
"SystemFolderConfigSetupSuccess_Title": "Настройка на системните папки",
|
||||
"TestingImapConnectionMessage": "Тестване на връзката със сървъра...",
|
||||
"TitleBarServerDisconnectedButton_Description": "Wino е изключен от мрежата. Щракнете върху Повторно свързване, за да възстановите връзката.",
|
||||
"TitleBarServerDisconnectedButton_Title": "няма връзка",
|
||||
"TitleBarServerReconnectButton_Title": "повторно свързване",
|
||||
"TitleBarServerReconnectingButton_Title": "свързване",
|
||||
"Today": "Днес",
|
||||
"UnknownAddress": "неизвестен адрес",
|
||||
"UnknownDateHeader": "Неизвестна дата",
|
||||
"UnknownGroupAddress": "неизвестен адрес на пощенската група",
|
||||
"UnknownSender": "Неизвестен подател",
|
||||
"Unsubscribe": "Отписване",
|
||||
"ViewContactDetails": "Вижте подробностите",
|
||||
"WinoUpgradeDescription": "Wino предлага 3 безплатни акаунта за начало. Ако имате нужда от повече от 3 акаунта, моля, надстройте",
|
||||
"WinoUpgradeMessage": "Надграждане до неограничен брой акаунти",
|
||||
"WinoUpgradeRemainingAccountsMessage": "Използвани са {0} от {1} безплатни акаунта.",
|
||||
"Yesterday": "Вчера"
|
||||
}
|
||||
|
||||
|
||||
@@ -1,29 +1,40 @@
|
||||
{
|
||||
"AccountAlias_Column_Alias": "Alias",
|
||||
"AccountAlias_Column_IsPrimaryAlias": "Primary",
|
||||
"AccountAlias_Column_Verified": "Verified",
|
||||
"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": "all done",
|
||||
"AccountCreationDialog_Initializing": "initializing",
|
||||
"AccountCreationDialog_PreparingFolders": "We are getting folder information at the moment.",
|
||||
"AccountCreationDialog_SigninIn": "Account information is being saved.",
|
||||
"AccountCreationDialog_FetchingProfileInformation": "Fetching profile details.",
|
||||
"AccountCreationDialog_FetchingEvents": "Fetching calendar events.",
|
||||
"AccountCreationDialog_FetchingProfileInformation": "Fetching profile details.",
|
||||
"AccountCreationDialog_GoogleAuthHelpClipboardText_Row0": "If your browser did not launch automatically to complete authentication:",
|
||||
"AccountCreationDialog_GoogleAuthHelpClipboardText_Row1": "1) Click the button below to copy the authentication address",
|
||||
"AccountCreationDialog_GoogleAuthHelpClipboardText_Row2": "2) Launch your web browser (Edge, Chrome, Firefox etc...)",
|
||||
"AccountCreationDialog_GoogleAuthHelpClipboardText_Row3": "3) Paste the copied address and go to the website to complete authentication manually.",
|
||||
"AccountCreationDialog_Initializing": "initializing",
|
||||
"AccountCreationDialog_PreparingFolders": "We are getting folder information at the moment.",
|
||||
"AccountCreationDialog_SigninIn": "Account information is being saved.",
|
||||
"AccountEditDialog_Message": "Account Name",
|
||||
"AccountEditDialog_Title": "Edit Account",
|
||||
"AccountPickerDialog_Title": "Pick an account",
|
||||
"AccountSettingsDialog_AccountName": "Sender Display Name",
|
||||
"AccountSettingsDialog_AccountNamePlaceholder": "eg. John Doe",
|
||||
"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": "Assign a new account color to colorize its symbol in the list.",
|
||||
"AddHyperlink": "Add",
|
||||
"AccountContactNameYou": "You",
|
||||
"AutoDiscoveryProgressMessage": "Searching for mail settings...",
|
||||
"AppCloseBackgroundSynchronizationWarningTitle": "Background Synchronization",
|
||||
"AppCloseTerminateBehaviorWarningMessageFirstLine": "You are terminating Wino Mail and your app close behavior is set to 'Terminate'.",
|
||||
"AppCloseTerminateBehaviorWarningMessageSecondLine": "This will stop all background synchronizations and notifications.",
|
||||
"AppCloseTerminateBehaviorWarningMessageThirdLine": "Do you want to go to App Preferences to set Wino Mail to run minimized or in the background?",
|
||||
"AppCloseStartupLaunchDisabledWarningMessageFirstLine": "Application has not been set to launch on Windows startup.",
|
||||
"AppCloseStartupLaunchDisabledWarningMessageSecondLine": "This will cause you to miss notifications when you restart your computer.",
|
||||
"AppCloseStartupLaunchDisabledWarningMessageThirdLine": "Do you want to go to App Preferences page to enable it?",
|
||||
"AppCloseTerminateBehaviorWarningMessageFirstLine": "You are terminating Wino Mail and your app close behavior is set to 'Terminate'.",
|
||||
"AppCloseTerminateBehaviorWarningMessageSecondLine": "This will stop all background synchronizations and notifications.",
|
||||
"AppCloseTerminateBehaviorWarningMessageThirdLine": "Do you want to go to App Preferences to set Wino Mail to run minimized or in the background?",
|
||||
"AutoDiscoveryProgressMessage": "Searching for mail settings...",
|
||||
"BasicIMAPSetupDialog_AdvancedConfiguration": "Advanced Configuration",
|
||||
"BasicIMAPSetupDialog_CredentialLocalMessage": "Your credentials will only be stored locally on your computer.",
|
||||
"BasicIMAPSetupDialog_Description": "Some accounts require additional steps to sign in",
|
||||
@@ -34,48 +45,63 @@
|
||||
"BasicIMAPSetupDialog_MailAddressPlaceholder": "johndoe@fabrikam.com",
|
||||
"BasicIMAPSetupDialog_Password": "Password",
|
||||
"BasicIMAPSetupDialog_Title": "IMAP Account",
|
||||
"Busy": "Busy",
|
||||
"Buttons_AddAccount": "Add Account",
|
||||
"Buttons_AddNewAlias": "Add New Alias",
|
||||
"Buttons_Allow": "Allow",
|
||||
"Buttons_Deny": "Deny",
|
||||
"Buttons_SyncAliases": "Synchronize Aliases",
|
||||
"Buttons_ApplyTheme": "Apply Theme",
|
||||
"Buttons_Browse": "Browse",
|
||||
"Buttons_Cancel": "Cancel",
|
||||
"Buttons_Close": "Close",
|
||||
"Buttons_Copy": "Copy",
|
||||
"Buttons_Create": "Create",
|
||||
"Buttons_CreateAccount": "Create Account",
|
||||
"Buttons_Copy": "Copy",
|
||||
"Buttons_Delete": "Delete",
|
||||
"Buttons_Edit": "Edit",
|
||||
"Buttons_Deny": "Deny",
|
||||
"Buttons_Discard": "Discard",
|
||||
"Buttons_Edit": "Edit",
|
||||
"Buttons_EnableImageRendering": "Enable",
|
||||
"Buttons_Multiselect": "Select Multiple",
|
||||
"Buttons_No": "No",
|
||||
"Buttons_Open": "Open",
|
||||
"Buttons_Purchase": "Purchase",
|
||||
"Buttons_RateWino": "Rate Wino",
|
||||
"Buttons_Reset": "Reset",
|
||||
"Buttons_Save": "Save",
|
||||
"Buttons_SaveConfiguration": "Save Configuration",
|
||||
"Buttons_Send": "Send",
|
||||
"Buttons_Share": "Share",
|
||||
"Buttons_SignIn": "Sign In",
|
||||
"Buttons_Sync": "Synchronize",
|
||||
"Buttons_SyncAliases": "Synchronize Aliases",
|
||||
"Buttons_TryAgain": "Try Again",
|
||||
"Buttons_Yes": "Yes",
|
||||
"Buttons_Reset": "Reset",
|
||||
"Buttons_Send": "Send",
|
||||
"Buttons_Sync": "Synchronize",
|
||||
"Buttons_Multiselect": "Select Multiple",
|
||||
"CalendarAllDayEventSummary": "all-day events",
|
||||
"CalendarDisplayOptions_Color": "Color",
|
||||
"CalendarDisplayOptions_Expand": "Expand",
|
||||
"CalendarItem_DetailsPopup_JoinOnline": "Join online",
|
||||
"CalendarItem_DetailsPopup_ViewEventButton": "View event",
|
||||
"CalendarItem_DetailsPopup_ViewSeriesButton": "View series",
|
||||
"CalendarItemAllDay": "all day",
|
||||
"CategoriesFolderNameOverride": "Categories",
|
||||
"Center": "Center",
|
||||
"ComingSoon": "Coming soon...",
|
||||
"ComposerFrom": "From: ",
|
||||
"ComposerSubject": "Subject: ",
|
||||
"ComposerTo": "To: ",
|
||||
"ClipboardTextCopied_Message": "{0} copied to clipboard.",
|
||||
"ClipboardTextCopied_Title": "Copied",
|
||||
"ClipboardTextCopyFailed_Message": "Failed to copy {0} to clipboard.",
|
||||
"ComposerToPlaceholder": "click enter to input addresses",
|
||||
"ComposerAttachmentsDropZone_Message": "Drop your files here",
|
||||
"ComposerImagesDropZone_Message": "Drop your images here",
|
||||
"ComingSoon": "Coming soon...",
|
||||
"ComposerAttachmentsDragDropAttach_Message": "Attach",
|
||||
"ComposerAttachmentsDropZone_Message": "Drop your files here",
|
||||
"ComposerFrom": "From: ",
|
||||
"ComposerImagesDropZone_Message": "Drop your images here",
|
||||
"ComposerSubject": "Subject: ",
|
||||
"ComposerTo": "To: ",
|
||||
"ComposerToPlaceholder": "click enter to input addresses",
|
||||
"CreateAccountAliasDialog_AliasAddress": "Address",
|
||||
"CreateAccountAliasDialog_AliasAddressPlaceholder": "eg. support@mydomain.com",
|
||||
"CreateAccountAliasDialog_Description": "Make sure your outgoing server allows sending mails from this alias.",
|
||||
"CreateAccountAliasDialog_ReplyToAddress": "Reply-To Address",
|
||||
"CreateAccountAliasDialog_ReplyToAddressPlaceholder": "admin@mydomain.com",
|
||||
"CreateAccountAliasDialog_Title": "Create Account Alias",
|
||||
"CustomThemeBuilder_AccentColorDescription": "Set custom accent color if you wish. Not selecting a color will use your Windows accent color.",
|
||||
"CustomThemeBuilder_AccentColorTitle": "Accent color",
|
||||
"CustomThemeBuilder_PickColor": "Pick",
|
||||
@@ -84,70 +110,57 @@
|
||||
"CustomThemeBuilder_Title": "Custom Theme Builder",
|
||||
"CustomThemeBuilder_WallpaperDescription": "Set a custom wallpaper for Wino",
|
||||
"CustomThemeBuilder_WallpaperTitle": "Set custom wallpaper",
|
||||
"Dialog_DontAskAgain": "Don't ask again",
|
||||
"DialogMessage_AccountLimitMessage": "You have reached the account creation limit.\nWould you like to purchase 'Unlimited Account' add-on to continue?",
|
||||
"DialogMessage_AccountLimitTitle": "Account Limit Reached",
|
||||
"DialogMessage_AliasNotSelectedTitle": "Missing Alias",
|
||||
"DialogMessage_AliasNotSelectedMessage": "You must select an alias before sending a message.",
|
||||
"DialogMessage_AliasExistsTitle": "Existing Alias",
|
||||
"DialogMessage_AliasExistsMessage": "This alias is already in use.",
|
||||
"DialogMessage_InvalidAliasTitle": "Invalid Alias",
|
||||
"DialogMessage_InvalidAliasMessage": "This alias is not valid. Make sure all addresses of the alias are valid e-mail addresses.",
|
||||
"DialogMessage_CantDeleteRootAliasTitle": "Can't Delete Alias",
|
||||
"DialogMessage_CantDeleteRootAliasMessage": "Root alias can't be deleted. This is your main identity associated with your account setup.",
|
||||
"DialogMessage_AliasCreatedTitle": "Created New Alias",
|
||||
"DialogMessage_AliasCreatedMessage": "New alias is succesfully created.",
|
||||
"DialogMessage_AliasCreatedTitle": "Created New Alias",
|
||||
"DialogMessage_AliasExistsMessage": "This alias is already in use.",
|
||||
"DialogMessage_AliasExistsTitle": "Existing Alias",
|
||||
"DialogMessage_AliasNotSelectedMessage": "You must select an alias before sending a message.",
|
||||
"DialogMessage_AliasNotSelectedTitle": "Missing Alias",
|
||||
"DialogMessage_CantDeleteRootAliasMessage": "Root alias can't be deleted. This is your main identity associated with your account setup.",
|
||||
"DialogMessage_CantDeleteRootAliasTitle": "Can't Delete Alias",
|
||||
"DialogMessage_CleanupFolderMessage": "Do you want to permanently delete all the mails in this folder?",
|
||||
"DialogMessage_CleanupFolderTitle": "Cleanup Folder",
|
||||
"DialogMessage_ComposerMissingRecipientMessage": "Message has no recipient.",
|
||||
"DialogMessage_ComposerValidationFailedTitle": "Validation Failed",
|
||||
"DialogMessage_CreateLinkedAccountMessage": "Give this new link a name. Accounts will be merged under this name.",
|
||||
"DialogMessage_CreateLinkedAccountTitle": "Account Link Name",
|
||||
"DialogMessage_PrintingFailedMessage": "Failed to print this mail. Result: {0}",
|
||||
"DialogMessage_PrintingFailedTitle": "Failed",
|
||||
"DialogMessage_PrintingSuccessTitle": "Success",
|
||||
"DialogMessage_PrintingSuccessMessage": "Mail is sent to printer.",
|
||||
"DialogMessage_DeleteAccountConfirmationMessage": "Delete {0}?",
|
||||
"DialogMessage_DeleteAccountConfirmationTitle": "All data associated with this account will be deleted from disk permanently.",
|
||||
"DialogMessage_DiscardDraftConfirmationMessage": "This draft will be discarded. Do you want to continue?",
|
||||
"DialogMessage_DiscardDraftConfirmationTitle": "Discard Draft",
|
||||
"DialogMessage_EmptySubjectConfirmation": "Missing Subject",
|
||||
"DialogMessage_EmptySubjectConfirmationMessage": "Message has no subject. Do you want to continue?",
|
||||
"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": "Enable Startup Launch",
|
||||
"DialogMessage_HardDeleteConfirmationMessage": "Permanent Delete",
|
||||
"DialogMessage_HardDeleteConfirmationTitle": "Message(s) will be permanently deleted. Do you want to continue?",
|
||||
"DialogMessage_InvalidAliasMessage": "This alias is not valid. Make sure all addresses of the alias are valid e-mail addresses.",
|
||||
"DialogMessage_InvalidAliasTitle": "Invalid Alias",
|
||||
"DialogMessage_NoAccountsForCreateMailMessage": "You don't have any accounts to create message from.",
|
||||
"DialogMessage_NoAccountsForCreateMailTitle": "Account Missing",
|
||||
"DialogMessage_PrintingFailedMessage": "Failed to print this mail. Result: {0}",
|
||||
"DialogMessage_PrintingFailedTitle": "Failed",
|
||||
"DialogMessage_PrintingSuccessMessage": "Mail is sent to printer.",
|
||||
"DialogMessage_PrintingSuccessTitle": "Success",
|
||||
"DialogMessage_RenameFolderMessage": "Enter new name for this folder",
|
||||
"DialogMessage_RenameFolderTitle": "Rename Folder",
|
||||
"DialogMessage_RenameLinkedAccountsMessage": "Enter new name for linked account",
|
||||
"DialogMessage_RenameLinkedAccountsTitle": "Rename Linked Account",
|
||||
"DialogMessage_UnlinkAccountsConfirmationMessage": "This operation will not delete your accounts but only break the link for shared folder connections. Do you want to continue?",
|
||||
"DialogMessage_UnlinkAccountsConfirmationTitle": "Unlink Accounts",
|
||||
"DialogMessage_EmptySubjectConfirmation": "Missing Subject",
|
||||
"DialogMessage_EmptySubjectConfirmationMessage": "Message has no subject. Do you want to continue?",
|
||||
"DialogMessage_RenameFolderTitle": "Rename Folder",
|
||||
"DialogMessage_RenameFolderMessage": "Enter new name for this folder",
|
||||
"DialogMessage_UnsubscribeConfirmationTitle": "Unsubscribe",
|
||||
"DialogMessage_UnsubscribeConfirmationOneClickMessage": "Do you want to stop getting messages from {0}?",
|
||||
"DialogMessage_UnsubscribeConfirmationGoToWebsiteMessage": "To stop getting messages from {0}, go to their website to unsubscribe.",
|
||||
"DialogMessage_UnsubscribeConfirmationGoToWebsiteConfirmButton": "Go to website",
|
||||
"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_EnableStartupLaunchTitle": "Enable Startup Launch",
|
||||
"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_EnableStartupLaunchDeniedMessage": "You can enable startup launch from Settings -> App Preferences.",
|
||||
"Dialog_DontAskAgain": "Don't ask again",
|
||||
"CalendarAllDayEventSummary": "all-day events",
|
||||
"CalendarItemAllDay": "all day",
|
||||
"CalendarItem_DetailsPopup_JoinOnline": "Join online",
|
||||
"CalendarItem_DetailsPopup_ViewEventButton": "View event",
|
||||
"CalendarItem_DetailsPopup_ViewSeriesButton": "View series",
|
||||
"CalendarDisplayOptions_Expand": "Expand",
|
||||
"CalendarDisplayOptions_Color": "Color",
|
||||
"CreateAccountAliasDialog_Title": "Create Account Alias",
|
||||
"CreateAccountAliasDialog_Description": "Make sure your outgoing server allows sending mails from this alias.",
|
||||
"CreateAccountAliasDialog_AliasAddress": "Address",
|
||||
"CreateAccountAliasDialog_AliasAddressPlaceholder": "eg. support@mydomain.com",
|
||||
"CreateAccountAliasDialog_ReplyToAddress": "Reply-To Address",
|
||||
"CreateAccountAliasDialog_ReplyToAddressPlaceholder": "admin@mydomain.com",
|
||||
"DialogMessage_UnsubscribeConfirmationOneClickMessage": "Do you want to stop getting messages from {0}?",
|
||||
"DialogMessage_UnsubscribeConfirmationTitle": "Unsubscribe",
|
||||
"DiscordChannelDisclaimerMessage": "Wino doesn't have it's own Discord server, but special 'wino-mail' channel is hosted at 'Developer Sanctuary' server.\nTo get the updates about Wino please join Developer Sanctuary server and follow 'wino-mail' channel under 'Community Projects'\n\nYou will be directed to server URL since Discord doesn't support channel invites.",
|
||||
"DiscordChannelDisclaimerTitle": "Important Discord Information",
|
||||
"Draft": "Draft",
|
||||
"Busy": "Busy",
|
||||
"DragMoveToFolderCaption": "Move to {0}",
|
||||
"EditorToolbarOption_Draw": "Draw",
|
||||
"EditorToolbarOption_Format": "Format",
|
||||
"EditorToolbarOption_Insert": "Insert",
|
||||
@@ -158,24 +171,26 @@
|
||||
"ElementTheme_Default": "Use system setting",
|
||||
"ElementTheme_Light": "Light mode",
|
||||
"Emoji": "Emoji",
|
||||
"Exception_WinoServerException": "Wino server failed.",
|
||||
"Exception_MailProcessing": "This mail is still being processed. Please try again after few seconds.",
|
||||
"Exception_ImapAutoDiscoveryFailed": "Couldn't find mailbox settings.",
|
||||
"Exception_ImapClientPoolFailed": "IMAP Client Pool failed.",
|
||||
"Error_FailedToSetupSystemFolders_Title": "Failed to setup system folders",
|
||||
"Exception_AuthenticationCanceled": "Authentication canceled",
|
||||
"Exception_CustomThemeExists": "This theme already exists.",
|
||||
"Exception_CustomThemeMissingName": "You must provide a name.",
|
||||
"Exception_CustomThemeMissingWallpaper": "You must provide a custom background image.",
|
||||
"Exception_FailedToSynchronizeFolders": "Failed to synchronize folders",
|
||||
"Exception_FailedToSynchronizeAliases": "Failed to synchronize aliases",
|
||||
"Exception_MissingAlias": "Primary alias does not exist for this account. Creating draft failed.",
|
||||
"Exception_FailedToSynchronizeFolders": "Failed to synchronize folders",
|
||||
"Exception_FailedToSynchronizeProfileInformation": "Failed to synchronize profile information",
|
||||
"Exception_GoogleAuthCallbackNull": "Callback uri is null on activation.",
|
||||
"Exception_GoogleAuthCorruptedCode": "Corrupted authorization response.",
|
||||
"Exception_GoogleAuthError": "OAuth authorization error: {0}",
|
||||
"Exception_GoogleAuthInvalidResponse": "Received request with invalid state ({0})",
|
||||
"Exception_GoogleAuthorizationCodeExchangeFailed": "Authorization code exchange failed.",
|
||||
"Exception_ImapAutoDiscoveryFailed": "Couldn't find mailbox settings.",
|
||||
"Exception_ImapClientPoolFailed": "IMAP Client Pool failed.",
|
||||
"Exception_InboxNotAvailable": "Couldn't setup account folders.",
|
||||
"Exception_InvalidSystemFolderConfiguration": "System folder configuration is not valid. Check configuration and try again.",
|
||||
"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": "Assigned account is null",
|
||||
"Exception_NullAssignedFolder": "Assigned folder is null",
|
||||
"Exception_SynchronizerFailureHTTP": "Response handling failed with error HTTP code {0}",
|
||||
@@ -186,12 +201,12 @@
|
||||
"Exception_UnsupportedProvider": "This provider is not supported.",
|
||||
"Exception_UnsupportedSynchronizerOperation": "This operation is not supported for {0}",
|
||||
"Exception_UserCancelSystemFolderSetupDialog": "User canceled system folder config dialog.",
|
||||
"Exception_InboxNotAvailable": "Couldn't setup account folders.",
|
||||
"Exception_WinoServerException": "Wino server failed.",
|
||||
"Files": "Files",
|
||||
"FilteringOption_All": "All",
|
||||
"FilteringOption_Files": "Has files",
|
||||
"FilteringOption_Flagged": "Flagged",
|
||||
"FilteringOption_Unread": "Unread",
|
||||
"FilteringOption_Files": "Has files",
|
||||
"Focused": "Focused",
|
||||
"FolderOperation_CreateSubFolder": "Create sub folder",
|
||||
"FolderOperation_Delete": "Delete",
|
||||
@@ -199,27 +214,71 @@
|
||||
"FolderOperation_Empty": "Empty this folder",
|
||||
"FolderOperation_MarkAllAsRead": "Mark all as read",
|
||||
"FolderOperation_Move": "Move",
|
||||
"DragMoveToFolderCaption": "Move to {0}",
|
||||
"FolderOperation_None": "None",
|
||||
"FolderOperation_Pin": "Pin",
|
||||
"FolderOperation_Rename": "Rename",
|
||||
"FolderOperation_Unpin": "Unpin",
|
||||
"GeneralTitle_Error": "Error",
|
||||
"GeneralTitle_Info": "Information",
|
||||
"GeneralTitle_Warning": "Warning",
|
||||
"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": "Archive",
|
||||
"HoverActionOption_Delete": "Delete",
|
||||
"HoverActionOption_MoveJunk": "Move to Junk",
|
||||
"HoverActionOption_ToggleFlag": "Flag / Unflag",
|
||||
"HoverActionOption_ToggleRead": "Read / Unread",
|
||||
"MergedAccountCommonFolderInbox": "Inbox",
|
||||
"MergedAccountCommonFolderSent": "Sent",
|
||||
"MergedAccountCommonFolderDraft": "Draft",
|
||||
"MergedAccountCommonFolderJunk": "Junk",
|
||||
"MergedAccountCommonFolderTrash": "Deleted",
|
||||
"MergedAccountCommonFolderArchive": "Archive",
|
||||
"ImageRenderingDisabled": "Image rendering is disabled for this message.",
|
||||
"ImapAdvancedSetupDialog_AuthenticationMethod": "Authentication method",
|
||||
"ImapAdvancedSetupDialog_ConnectionSecurity": "Connection security",
|
||||
"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": "Auto",
|
||||
"ImapAuthenticationMethod_CramMD5": "CRAM-MD5",
|
||||
"ImapAuthenticationMethod_DigestMD5": "DIGEST-MD5",
|
||||
"ImapAuthenticationMethod_EncryptedPassword": "Encrypted password",
|
||||
"ImapAuthenticationMethod_None": "No authentication",
|
||||
"ImapAuthenticationMethod_Ntlm": "NTLM",
|
||||
"ImapAuthenticationMethod_Plain": "Normal password",
|
||||
"ImapConnectionSecurity_Auto": "Auto",
|
||||
"ImapConnectionSecurity_None": "None",
|
||||
"ImapConnectionSecurity_SslTls": "SSL/TLS",
|
||||
"ImapConnectionSecurity_StartTls": "STARTTLS",
|
||||
"IMAPSetupDialog_AccountType": "Account type",
|
||||
"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": "Subject",
|
||||
"IMAPSetupDialog_CertificateValidFrom": "Valid from",
|
||||
"IMAPSetupDialog_CertificateValidTo": "Valid to",
|
||||
"IMAPSetupDialog_CertificateView": "View Certificate",
|
||||
"IMAPSetupDialog_ConnectionFailedMessage": "IMAP connection failed.",
|
||||
"IMAPSetupDialog_ConnectionFailedTitle": "Connection Failed",
|
||||
"IMAPSetupDialog_DisplayName": "Display Name",
|
||||
"IMAPSetupDialog_DisplayNamePlaceholder": "eg. John Doe",
|
||||
"IMAPSetupDialog_IncomingMailServer": "Incoming mail server",
|
||||
"IMAPSetupDialog_IncomingMailServerPort": "Port",
|
||||
"IMAPSetupDialog_IMAPSettings": "IMAP Server Settings",
|
||||
"IMAPSetupDialog_SMTPSettings": "SMTP Server Settings",
|
||||
"IMAPSetupDialog_MailAddress": "Email address",
|
||||
"IMAPSetupDialog_MailAddressPlaceholder": "someone@example.com",
|
||||
"IMAPSetupDialog_OutgoingMailServer": "Outgoing (SMTP) mail server",
|
||||
@@ -231,26 +290,9 @@
|
||||
"IMAPSetupDialog_RequireSSLForIncomingMail": "Require SSL for incoming email",
|
||||
"IMAPSetupDialog_RequireSSLForOutgoingMail": "Require SSL for outgoing email",
|
||||
"IMAPSetupDialog_Title": "Advanced IMAP Configuration",
|
||||
"IMAPSetupDialog_UseSameConfig": "Use the same username and password for sending email",
|
||||
"IMAPSetupDialog_Username": "Username",
|
||||
"IMAPSetupDialog_UsernamePlaceholder": "johndoe, johndoe@fabrikam.com, domain/johndoe",
|
||||
"IMAPSetupDialog_ConnectionFailedTitle": "Connection Failed",
|
||||
"IMAPSetupDialog_ConnectionFailedMessage": "IMAP connection 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_CertificateIssuer": "Issuer",
|
||||
"IMAPSetupDialog_CertificateSubject": "Subject",
|
||||
"IMAPSetupDialog_CertificateValidFrom": "Valid from",
|
||||
"IMAPSetupDialog_CertificateValidTo": "Valid to",
|
||||
"IMAPSetupDialog_CertificateDenied": "User didn't authorize the handshake with the certificate.",
|
||||
"IMAPSetupDialog_CertificateView": "View Certificate",
|
||||
"ImageRenderingDisabled": "Image rendering is disabled for this message.",
|
||||
"InfoBarAction_Enable": "Enable",
|
||||
"InfoBarMessage_SynchronizationDisabledFolder": "This folder is disabled for synchronization.",
|
||||
"InfoBarTitle_SynchronizationDisabledFolder": "Disabled Folder",
|
||||
"GeneralTitle_Error": "Error",
|
||||
"GeneralTitle_Warning": "Warning",
|
||||
"GeneralTitle_Info": "Information",
|
||||
"IMAPSetupDialog_UseSameConfig": "Use the same username and password for sending email",
|
||||
"Info_AccountCreatedMessage": "{0} is created",
|
||||
"Info_AccountCreatedTitle": "Account Creation",
|
||||
"Info_AccountCreationFailedTitle": "Account Creation Failed",
|
||||
@@ -269,14 +311,15 @@
|
||||
"Info_BackgroundExecutionDeniedTitle": "Denied Background Execution",
|
||||
"Info_BackgroundExecutionUnknownErrorMessage": "Unknown exception occurred when registering background synchronizer.",
|
||||
"Info_BackgroundExecutionUnknownErrorTitle": "Background Execution Failure",
|
||||
"Info_FailedToOpenFileTitle": "Failed to launch file.",
|
||||
"Info_FailedToOpenFileMessage": "File might be removed from the disk.",
|
||||
"Info_CantDeletePrimaryAliasMessage": "Primary alias can't be deleted. Please change your alias before deleting this one",
|
||||
"Info_ComposerMissingMIMEMessage": "Couldn't locate the MIME file. Synchronizing may help.",
|
||||
"Info_ComposerMissingMIMETitle": "Failed",
|
||||
"Info_ContactExistsMessage": "This contact is already in the recipient list.",
|
||||
"Info_ContactExistsTitle": "Contact Exists",
|
||||
"Info_DraftFolderMissingMessage": "Draft folder is missing for this account. Please check your account settings.",
|
||||
"Info_DraftFolderMissingTitle": "Missing Draft Folder",
|
||||
"Info_FailedToOpenFileMessage": "File might be removed from the disk.",
|
||||
"Info_FailedToOpenFileTitle": "Failed to launch file.",
|
||||
"Info_FileLaunchFailedTitle": "Failed to launch file",
|
||||
"Info_InvalidAddressMessage": "'{0}' is not a valid e-mail address.",
|
||||
"Info_InvalidAddressTitle": "Invalid Address",
|
||||
@@ -286,15 +329,16 @@
|
||||
"Info_LogsNotFoundTitle": "Logs Not Found",
|
||||
"Info_LogsSavedMessage": "{0} is saved to selected folder.",
|
||||
"Info_LogsSavedTitle": "Saved",
|
||||
"Info_MailListSizeResetSuccessMessage": "The Mail List size has been reset.",
|
||||
"Info_MailRenderingFailedMessage": "This mail is corrupted or can't be opened.\n{0}",
|
||||
"Info_MailRenderingFailedTitle": "Render Failed",
|
||||
"Info_MessageCorruptedMessage": "This message is corrupted.",
|
||||
"Info_MessageCorruptedTitle": "Error",
|
||||
"Info_MissingFolderMessage": "{0} doesn't exist for this account.",
|
||||
"Info_MissingFolderTitle": "Missing Folder",
|
||||
"Info_PDFSaveSuccessTitle": "Success",
|
||||
"Info_PDFSaveFailedTitle": "Failed to save PDF file",
|
||||
"Info_PDFSaveSuccessMessage": "PDF file is saved to {0}",
|
||||
"Info_PDFSaveSuccessTitle": "Success",
|
||||
"Info_PurchaseExistsMessage": "Looks like this product has already been purchased before.",
|
||||
"Info_PurchaseExistsTitle": "Existing Product",
|
||||
"Info_PurchaseThankYouMessage": "Thank You",
|
||||
@@ -314,32 +358,21 @@
|
||||
"Info_SyncCanceledMessage": "Canceled",
|
||||
"Info_SyncCanceledTitle": "Synchronization",
|
||||
"Info_SyncFailedTitle": "Synchronization Failed",
|
||||
"Info_UnsubscribeErrorMessage": "Failed to unsubscribe",
|
||||
"Info_UnsubscribeLinkInvalidMessage": "This unsubscribe link is invalid. Failed to unsubscribe from the list.",
|
||||
"Info_UnsubscribeLinkInvalidTitle": "Invalid Unsubscribe Uri",
|
||||
"Info_UnsubscribeSuccessMessage": "Successfully unsubscribed from {0}.",
|
||||
"Info_UnsupportedFunctionalityDescription": "This functionality is not implemented yet.",
|
||||
"Info_UnsupportedFunctionalityTitle": "Unsupported",
|
||||
"Info_UnsubscribeLinkInvalidTitle": "Invalid Unsubscribe Uri",
|
||||
"Info_UnsubscribeLinkInvalidMessage": "This unsubscribe link is invalid. Failed to unsubscribe from the list.",
|
||||
"Info_UnsubscribeSuccessMessage": "Successfully unsubscribed from {0}.",
|
||||
"Info_UnsubscribeErrorMessage": "Failed to unsubscribe",
|
||||
"Info_CantDeletePrimaryAliasMessage": "Primary alias can't be deleted. Please change your alias before deleting this one",
|
||||
"Info_MailListSizeResetSuccessMessage": "The Mail List size has been reset.",
|
||||
"ImapAdvancedSetupDialog_AuthenticationMethod": "Authentication method",
|
||||
"ImapAdvancedSetupDialog_ConnectionSecurity": "Connection security",
|
||||
"ImapAuthenticationMethod_Auto": "Auto",
|
||||
"ImapAuthenticationMethod_CramMD5": "CRAM-MD5",
|
||||
"ImapAuthenticationMethod_DigestMD5": "DIGEST-MD5",
|
||||
"ImapAuthenticationMethod_None": "No authentication",
|
||||
"ImapAuthenticationMethod_Plain": "Normal password",
|
||||
"ImapAuthenticationMethod_EncryptedPassword": "Encrypted password",
|
||||
"ImapAuthenticationMethod_Ntlm": "NTLM",
|
||||
"ImapConnectionSecurity_None": "None",
|
||||
"ImapConnectionSecurity_SslTls": "SSL/TLS",
|
||||
"ImapConnectionSecurity_StartTls": "STARTTLS",
|
||||
"ImapConnectionSecurity_Auto": "Auto",
|
||||
"InfoBarAction_Enable": "Enable",
|
||||
"InfoBarMessage_SynchronizationDisabledFolder": "This folder is disabled for synchronization.",
|
||||
"InfoBarTitle_SynchronizationDisabledFolder": "Disabled Folder",
|
||||
"Justify": "Justify",
|
||||
"Left": "Left",
|
||||
"Link": "Link",
|
||||
"LinkedAccountsCreatePolicyMessage": "you must have at least 2 accounts to create link\nlink will be removed on save",
|
||||
"LinkedAccountsTitle": "Linked Accounts",
|
||||
"MailItemNoSubject": "No subject",
|
||||
"MailOperation_AlwaysMoveFocused": "Always Move to Focused",
|
||||
"MailOperation_AlwaysMoveOther": "Always Move to Other",
|
||||
"MailOperation_Archive": "Archive",
|
||||
@@ -366,25 +399,32 @@
|
||||
"MailOperation_SaveAs": "Save As",
|
||||
"MailOperation_SetFlag": "Set flag",
|
||||
"MailOperation_Unarchive": "Unarchive",
|
||||
"MailOperation_Zoom": "Zoom",
|
||||
"MailOperation_ViewMessageSource": "View message source",
|
||||
"MailOperation_Zoom": "Zoom",
|
||||
"MailsSelected": "{0} item(s) selected",
|
||||
"MarkFlagUnflag": "Mark as flagged/unflagged",
|
||||
"MarkReadUnread": "Mark as read/unread",
|
||||
"MenuManageAccounts": "Manage Accounts",
|
||||
"MenuNewMail": "New Mail",
|
||||
"MenuMergedAccountItemAccountsSuffix": " accounts",
|
||||
"MenuNewMail": "New Mail",
|
||||
"MenuRate": "Rate Wino",
|
||||
"MenuSettings": "Settings",
|
||||
"MergedAccountCommonFolderArchive": "Archive",
|
||||
"MergedAccountCommonFolderDraft": "Draft",
|
||||
"MergedAccountCommonFolderInbox": "Inbox",
|
||||
"MergedAccountCommonFolderJunk": "Junk",
|
||||
"MergedAccountCommonFolderSent": "Sent",
|
||||
"MergedAccountCommonFolderTrash": "Deleted",
|
||||
"MergedAccountsAvailableAccountsTitle": "Available Accounts",
|
||||
"MessageSourceDialog_Title": "Message source",
|
||||
"More": "More",
|
||||
"MoreFolderNameOverride": "More",
|
||||
"MoveMailDialog_InvalidFolderMessage": "{0} is not a valid folder for this mail.",
|
||||
"MoveMailDialog_Title": "Pick a folder",
|
||||
"NewAccountDialog_AccountName": "Account Name",
|
||||
"NewAccountDialog_AccountNameDefaultValue": "Personal",
|
||||
"NewAccountDialog_AccountNamePlaceholder": "eg. Personal Mail",
|
||||
"NewAccountDialog_Title": "Add New Account",
|
||||
"MessageSourceDialog_Title": "Message source",
|
||||
"NoMailSelected": "No message selected",
|
||||
"NoMessageCrieteria": "No messages match your search criteria",
|
||||
"NoMessageEmptyFolder": "This folder is empty",
|
||||
@@ -392,6 +432,9 @@
|
||||
"Notifications_MultipleNotificationsTitle": "New Mail",
|
||||
"Notifications_WinoUpdatedMessage": "Checkout new version {0}",
|
||||
"Notifications_WinoUpdatedTitle": "Wino Mail has been updated.",
|
||||
"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": "Other",
|
||||
"PaneLengthOption_Default": "Default",
|
||||
"PaneLengthOption_ExtraLarge": "Extra Large",
|
||||
@@ -401,64 +444,94 @@
|
||||
"PaneLengthOption_Small": "Small",
|
||||
"Photos": "Photos",
|
||||
"PreparingFoldersMessage": "Preparing folders",
|
||||
"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": "Custom IMAP/SMTP server",
|
||||
"ProviderDetail_IMAP_Title": "IMAP Server",
|
||||
"ProviderDetail_Yahoo_Title": "Yahoo Mail",
|
||||
"ProviderDetail_Yahoo_Description": "Yahoo Account",
|
||||
"ProviderDetail_iCloud_Title": "iCloud",
|
||||
"ProviderDetail_iCloud_Description": "Apple iCloud Account",
|
||||
"ProtocolLogAvailable_Message": "Protocol logs are available for diagnostics.",
|
||||
"ProviderDetail_Yahoo_Title": "Yahoo Mail",
|
||||
"QuickEventDialog_EventName": "Event name",
|
||||
"QuickEventDialog_IsAllDay": "All day",
|
||||
"QuickEventDialog_Location": "Location",
|
||||
"QuickEventDialog_RemindMe": "Remind me",
|
||||
"QuickEventDialogMoreDetailsButtonText": "More details",
|
||||
"Reader_SaveAllAttachmentButtonText": "Save all attachments",
|
||||
"Results": "Results",
|
||||
"Right": "Right",
|
||||
"Reader_SaveAllAttachmentButtonText": "Save all attachments",
|
||||
"SynchronizationFolderReport_Success": "up to date",
|
||||
"SynchronizationFolderReport_Failed": "synchronization is failed",
|
||||
"SearchBarPlaceholder": "Search",
|
||||
"SearchingIn": "Searching in",
|
||||
"SearchPivotName": "Results",
|
||||
"SettingsAboutGithub_Description": "Go to issue tracker GitHub repository.",
|
||||
"SettingsAboutGithub_Title": "GitHub",
|
||||
"SettingsAccountManagementAppendMessage_Title": "Append messages to Sent folder",
|
||||
"SettingsAccountManagementAppendMessage_Description": "Create a copy of the message in Sent folder after the draft is sent. Enable this if you don't see your mails after you sent them in Sent folder.",
|
||||
"SettingsEditLinkedInbox_Title": "Edit Linked Inbox",
|
||||
"SettingsEditLinkedInbox_Description": "Add / remove accounts, rename or break the link between accounts.",
|
||||
"SettingsAboutVersion": "Version ",
|
||||
"SettingsAboutWinoDescription": "Lightweight mail client for Windows device families.",
|
||||
"SettingConfigureSpecialFolders_Button": "Configure",
|
||||
"SettingsEditAccountDetails_IMAPConfiguration_Title": "IMAP/SMTP Configuration",
|
||||
"SettingsEditAccountDetails_IMAPConfiguration_Description": "Change your incoming/outgoing server settings.",
|
||||
"SettingsAbout_Description": "Learn more about Wino.",
|
||||
"SettingsAbout_Title": "About",
|
||||
"SettingsAboutGithub_Description": "Go to issue tracker GitHub repository.",
|
||||
"SettingsAboutGithub_Title": "GitHub",
|
||||
"SettingsAboutVersion": "Version ",
|
||||
"SettingsAboutWinoDescription": "Lightweight mail client for Windows device families.",
|
||||
"SettingsAccentColor_Description": "Change application's accent color",
|
||||
"SettingsAccentColor_Title": "Accent Color",
|
||||
"SettingsAccentColor_UseWindowsAccentColor": "Use my Windows accent color",
|
||||
"SettingsAccountManagementAppendMessage_Description": "Create a copy of the message in Sent folder after the draft is sent. Enable this if you don't see your mails after you sent them in Sent folder.",
|
||||
"SettingsAccountManagementAppendMessage_Title": "Append messages to Sent folder",
|
||||
"SettingsAccountName_Description": "Change the name of the account.",
|
||||
"SettingsAccountName_Title": "Account Name",
|
||||
"SettingsApplicationTheme_Description": "Personalize Wino with different custom application themes for your like.",
|
||||
"SettingsApplicationTheme_Title": "Application Theme",
|
||||
"SettingsAppPreferences_CloseBehavior_Description": "What should happen when you close the app?",
|
||||
"SettingsAppPreferences_CloseBehavior_Title": "Application close behavior",
|
||||
"SettingsAppPreferences_Description": "General settings / preferences for Wino Mail.",
|
||||
"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": "Default search mode",
|
||||
"SettingsAppPreferences_ServerBackgroundingMode_Invisible_Description": "Wino Mail will keep running in the background. You will be notified as new mails arrive.",
|
||||
"SettingsAppPreferences_ServerBackgroundingMode_Invisible_Title": "Run in the background",
|
||||
"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": "Minimize to system tray",
|
||||
"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": "Terminate",
|
||||
"SettingsAppPreferences_StartupBehavior_Description": "Allow Wino Mail to launch minimized when Windows starts. Always allow it to receive notifications.",
|
||||
"SettingsAppPreferences_StartupBehavior_Disable": "Disable",
|
||||
"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": "Enable",
|
||||
"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 minimized on Windows startup",
|
||||
"SettingsAppPreferences_Title": "App Preferences",
|
||||
"SettingsAutoSelectNextItem_Description": "Select the next item after you delete or move a mail.",
|
||||
"SettingsAutoSelectNextItem_Title": "Auto select next item",
|
||||
"SettingsAvailableThemes_Description": "Select a theme from Wino's own collection for your taste or apply your own themes.",
|
||||
"SettingsAvailableThemes_Title": "Available Themes",
|
||||
"SettingsAutoSelectNextItem_Title": "Auto select next item",
|
||||
"SettingsAutoSelectNextItem_Description": "Select the next item after you delete or move a mail.",
|
||||
"SettingsCalendarSettings_Title": "Calendar Settings",
|
||||
"SettingsCalendarSettings_Description": "Change first day of week, hour cell height and more...",
|
||||
"SettingsCalendarSettings_Title": "Calendar Settings",
|
||||
"SettingsComposer_Title": "Composer",
|
||||
"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": "Create your own custom theme with custom wallpaper and accent color.",
|
||||
"SettingsCustomTheme_Title": "Custom Theme",
|
||||
"SettingsConfigureSpecialFolders_Title": "Configure System Folders",
|
||||
"SettingsConfigureSpecialFolders_Description": "Set folders with special functions. Folders such as Archive, Inbox, and Drafts are essential for Wino to function properly.",
|
||||
"SettingConfigureSpecialFolders_Button": "Configure",
|
||||
"Error_FailedToSetupSystemFolders_Title": "Failed to setup system folders",
|
||||
"SettingsDeleteAccount_Description": "Delete all e-mails and credentials associated with this account.",
|
||||
"SettingsDeleteAccount_Title": "Delete this account",
|
||||
"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.",
|
||||
"SettingsDiagnostics_DiagnosticId_Title": "Diagnostic ID",
|
||||
"SettingsDiagnostics_Title": "Diagnostics",
|
||||
"SettingsDiagnostics_DiagnosticId_Title": "Diagnostic Id",
|
||||
"SettingsDiagnostics_DiagnosticId_Description": "Share this Id with the developers when asked to get help for the issues you experience in Wino Mail.",
|
||||
"SettingsDiscord_Description": "Get regular development updates, join roadmap discussions and provide feedback.",
|
||||
"SettingsDiscord_Title": "Discord Channel",
|
||||
"SettingsElementThemeSelectionDisabled": "Element theme selection is disabled when application theme is selected other than Default.",
|
||||
"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",
|
||||
@@ -471,12 +544,15 @@
|
||||
"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",
|
||||
"SettingsFolderOptions_Title": "Folder Configuration",
|
||||
"SettingsFolderOptions_Description": "Change individual folder settings like enable/disable sync or show/hide unread badge.",
|
||||
"SettingsManageAliases_Title": "Aliases",
|
||||
"SettingsManageAliases_Description": "See e-mail aliases assigned for this account, update or delete them.",
|
||||
"SettingsFontFamily_Title": "Font Family",
|
||||
"SettingsFontPreview_Title": "Preview",
|
||||
"SettingsFontSize_Title": "Font Size",
|
||||
"SettingsHoverActionCenter": "Center Action",
|
||||
"SettingsHoverActionLeft": "Left Action",
|
||||
"SettingsHoverActionRight": "Right Action",
|
||||
@@ -484,44 +560,25 @@
|
||||
"SettingsHoverActions_Title": "Hover Actions",
|
||||
"SettingsLanguage_Description": "Change display language for Wino.",
|
||||
"SettingsLanguage_Title": "Display Language",
|
||||
"SettingsLanguageTime_Title": "Language & Time",
|
||||
"SettingsLanguageTime_Description": "Wino display language, preferred time format.",
|
||||
"CategoriesFolderNameOverride": "Categories",
|
||||
"AccountAlias_Column_Verified": "Verified",
|
||||
"AccountAlias_Column_Alias": "Alias",
|
||||
"AccountAlias_Column_IsPrimaryAlias": "Primary",
|
||||
"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.",
|
||||
"MoreFolderNameOverride": "More",
|
||||
"SettingsOptions_Title": "Settings",
|
||||
"SettingsLanguageTime_Title": "Language & Time",
|
||||
"SettingsLinkAccounts_Description": "Merge multiple accounts into one. See mails from one Inbox together.",
|
||||
"SettingsLinkAccounts_Title": "Create Linked Accounts",
|
||||
"SettingsLinkedAccountsSave_Description": "Modify the current link with the new accounts.",
|
||||
"SettingsLinkedAccountsSave_Title": "Save Changes",
|
||||
"SettingsLoadImages_Title": "Load images automatically",
|
||||
"SettingsLoadStyles_Title": "Load styles automatically",
|
||||
"SettingsLoadPlaintextLinks_Title": "Convert plaintext links to clickable links",
|
||||
"SettingsLoadStyles_Title": "Load styles automatically",
|
||||
"SettingsMailListActionBar_Description": "Hide/show action bar at top of message list.",
|
||||
"SettingsMailListActionBar_Title": "Show mail list actions",
|
||||
"SettingsMailSpacing_Description": "Adjust the spacing for listing mails.",
|
||||
"SettingsMailSpacing_Title": "Mail Spacing",
|
||||
"SettingsFolderMenuStyle_Title": "Create Nested Folders",
|
||||
"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",
|
||||
"SettingsManageAccountSettings_Description": "Notifications, signatures, synchronization and other settings per account.",
|
||||
"SettingsManageAccountSettings_Title": "Manage Account Settings",
|
||||
"SettingsAppPreferences_Title": "App Preferences",
|
||||
"SettingsAppPreferences_Description": "General settings / preferences for Wino Mail.",
|
||||
"SettingsAppPreferences_CloseBehavior_Title": "Application close behavior",
|
||||
"SettingsAppPreferences_CloseBehavior_Description": "What should happen when you close the app?",
|
||||
"SettingsAppPreferences_StartupBehavior_Title": "Start minimized on Windows startup",
|
||||
"SettingsAppPreferences_StartupBehavior_Description": "Allow Wino Mail to launch minimized when Windows starts. Always allow it to receive notifications.",
|
||||
"SettingsAppPreferences_StartupBehavior_Enabled": "Wino Mail successfully set to be launched in the background on Windows startup.",
|
||||
"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_FatalError": "Fatal error occurred while changing the startup mode for Wino Mail.",
|
||||
"SettingsAppPreferences_StartupBehavior_Enable": "Enable",
|
||||
"SettingsAppPreferences_StartupBehavior_Disable": "Disable",
|
||||
"SettingsReorderAccounts_Title": "Reorder Accounts",
|
||||
"SettingsReorderAccounts_Description": "Change the order of accounts in the account list.",
|
||||
"SettingsManageAliases_Description": "See e-mail aliases assigned for this account, update or delete them.",
|
||||
"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.",
|
||||
@@ -535,59 +592,71 @@
|
||||
"SettingsNoAccountSetupMessage": "You didn't setup any accounts yet.",
|
||||
"SettingsNotifications_Description": "Turn on or off notifications for this account.",
|
||||
"SettingsNotifications_Title": "Notifications",
|
||||
"SettingsNotificationsAndTaskbar_Title": "Notifications & Taskbar",
|
||||
"SettingsTaskbarBadge_Title": "Taskbar Badge",
|
||||
"SettingsTaskbarBadge_Description": "Include unread mail count in taskbar icon.",
|
||||
"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",
|
||||
"SettingsPersonalization_Description": "Change appearance of Wino as you like.",
|
||||
"SettingsPersonalization_Title": "Personalization",
|
||||
"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",
|
||||
"SettingsReader_Title": "Reader",
|
||||
"SettingsComposer_Title": "Composer",
|
||||
"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.",
|
||||
"SettingsFontFamily_Title": "Font Family",
|
||||
"SettingsFontSize_Title": "Font Size",
|
||||
"SettingsFontPreview_Title": "Preview",
|
||||
"SettingsComposerFont_Title": "Default Composer Font",
|
||||
"SettingsComposerFontFamily_Description": "Change the default font family and font size for composing 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",
|
||||
"SettingsPrefer24HourClock_Title": "Display Clock Format in 24 Hours",
|
||||
"SettingsPrefer24HourClock_Description": "Mail recieve times will be displayed in 24 hour format instead of 12 (AM/PM)",
|
||||
"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",
|
||||
"SettingsMailListActionBar_Description": "Hide/show action bar at top of message list.",
|
||||
"SettingsMailListActionBar_Title": "Show mail list actions",
|
||||
"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.",
|
||||
@@ -601,11 +670,15 @@
|
||||
"SystemFolderConfigDialog_SentFolderDescription": "Folder that sent messages will be stored.",
|
||||
"SystemFolderConfigDialog_SentFolderHeader": "Sent Folder",
|
||||
"SystemFolderConfigDialog_Title": "Configure System Folders",
|
||||
"SystemFolderConfigDialogValidation_InboxSelected": "You can't assign Inbox folder to any other system folder.",
|
||||
"SystemFolderConfigDialogValidation_DuplicateSystemFolders": "Some of the system folders are used more than once in the configuration.",
|
||||
"SystemFolderConfigSetupSuccess_Title": "System Folders Setup",
|
||||
"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",
|
||||
@@ -616,37 +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",
|
||||
"SignatureEditorDialog_Title": "Signature Editor",
|
||||
"SignatureEditorDialog_SignatureName_Placeholder": "Name your signature",
|
||||
"SignatureEditorDialog_SignatureName_TitleNew": "Signature name",
|
||||
"SignatureEditorDialog_SignatureName_TitleEdit": "Current signature name: {0}",
|
||||
"SignatureDeleteDialog_Title": "Delete signature",
|
||||
"SignatureDeleteDialog_Message": "Are you sure you want to delete \"{0}\" signature?",
|
||||
"SettingsSignature_ForNewMessages_Title": "For New Messages",
|
||||
"SettingsSignature_ForFollowingMessages_Title": "For Replies/Forwards",
|
||||
"SettingsSignature_SignatureDefaults": "Signature defaults",
|
||||
"SettingsSignature_Signatures": "Signatures",
|
||||
"SettingsSignature_AddCustomSignature_Title": "Add custom signature",
|
||||
"SettingsSignature_AddCustomSignature_Button": "Add signature",
|
||||
"SettingsSignature_EditSignature_Title": "Edit signature",
|
||||
"SettingsSignature_DeleteSignature_Title": "Delete signature",
|
||||
"SettingsSignature_NoneSignatureName": "None",
|
||||
"SettingsAppPreferences_ServerBackgroundingMode_MinimizeTray_Title": "Minimize to system tray",
|
||||
"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_Invisible_Title": "Run in the background",
|
||||
"SettingsAppPreferences_ServerBackgroundingMode_Invisible_Description": "Wino Mail will keep running in the background. You will be notified as new mails arrive.",
|
||||
"SettingsAppPreferences_ServerBackgroundingMode_Terminate_Title": "Terminate",
|
||||
"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.",
|
||||
"TitleBarServerDisconnectedButton_Title": "no connection",
|
||||
"TitleBarServerDisconnectedButton_Description": "Wino is disconnected from the network. Click reconnect to restore connection.",
|
||||
"TitleBarServerReconnectButton_Title": "reconnect",
|
||||
"TitleBarServerReconnectingButton_Title": "connecting",
|
||||
"MailItemNoSubject": "No subject",
|
||||
"QuickEventDialogMoreDetailsButtonText": "More details",
|
||||
"QuickEventDialog_RemindMe": "Remind me",
|
||||
"QuickEventDialog_Location": "Location",
|
||||
"QuickEventDialog_EventName": "Event name",
|
||||
"QuickEventDialog_IsAllDay": "All day"
|
||||
"Yesterday": "Yesterday"
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -1,29 +1,40 @@
|
||||
{
|
||||
"AccountAlias_Column_Alias": "Alias",
|
||||
"AccountAlias_Column_IsPrimaryAlias": "Primary",
|
||||
"AccountAlias_Column_Verified": "Verified",
|
||||
"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": "Vy",
|
||||
"AccountCreationDialog_Completed": "hotovo",
|
||||
"AccountCreationDialog_Initializing": "inicializace",
|
||||
"AccountCreationDialog_PreparingFolders": "Stahování informací o složkách.",
|
||||
"AccountCreationDialog_SigninIn": "Probíhá ukládání informací o účtu.",
|
||||
"AccountCreationDialog_FetchingProfileInformation": "Fetching profile details.",
|
||||
"AccountCreationDialog_FetchingEvents": "Fetching calendar events.",
|
||||
"AccountCreationDialog_FetchingProfileInformation": "Fetching profile details.",
|
||||
"AccountCreationDialog_GoogleAuthHelpClipboardText_Row0": "If your browser did not launch automatically to complete authentication:",
|
||||
"AccountCreationDialog_GoogleAuthHelpClipboardText_Row1": "1) Click the button below to copy the authentication address",
|
||||
"AccountCreationDialog_GoogleAuthHelpClipboardText_Row2": "2) Launch your web browser (Edge, Chrome, Firefox etc...)",
|
||||
"AccountCreationDialog_GoogleAuthHelpClipboardText_Row3": "3) Paste the copied address and go to the website to complete authentication manually.",
|
||||
"AccountCreationDialog_Initializing": "inicializace",
|
||||
"AccountCreationDialog_PreparingFolders": "Stahování informací o složkách.",
|
||||
"AccountCreationDialog_SigninIn": "Probíhá ukládání informací o účtu.",
|
||||
"AccountEditDialog_Message": "Název účtu",
|
||||
"AccountEditDialog_Title": "Upravit účet",
|
||||
"AccountPickerDialog_Title": "Vybrat účet",
|
||||
"AccountSettingsDialog_AccountName": "Jméno odesílatele",
|
||||
"AccountSettingsDialog_AccountNamePlaceholder": "např. Jan Novák",
|
||||
"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": "Assign a new account color to colorize its symbol in the list.",
|
||||
"AddHyperlink": "Přidat",
|
||||
"AccountContactNameYou": "You",
|
||||
"AutoDiscoveryProgressMessage": "Vyhledávání v nastaveních mailu...",
|
||||
"AppCloseBackgroundSynchronizationWarningTitle": "Background Synchronization",
|
||||
"AppCloseTerminateBehaviorWarningMessageFirstLine": "You are terminating Wino Mail and your app close behavior is set to 'Terminate'.",
|
||||
"AppCloseTerminateBehaviorWarningMessageSecondLine": "This will stop all background synchronizations and notifications.",
|
||||
"AppCloseTerminateBehaviorWarningMessageThirdLine": "Do you want to go to App Preferences to set Wino Mail to run minimized or in the background?",
|
||||
"AppCloseBackgroundSynchronizationWarningTitle": "Synchronizace na pozadí",
|
||||
"AppCloseStartupLaunchDisabledWarningMessageFirstLine": "Application has not been set to launch on Windows startup.",
|
||||
"AppCloseStartupLaunchDisabledWarningMessageSecondLine": "This will cause you to miss notifications when you restart your computer.",
|
||||
"AppCloseStartupLaunchDisabledWarningMessageThirdLine": "Do you want to go to App Preferences page to enable it?",
|
||||
"AppCloseTerminateBehaviorWarningMessageFirstLine": "You are terminating Wino Mail and your app close behavior is set to 'Terminate'.",
|
||||
"AppCloseTerminateBehaviorWarningMessageSecondLine": "This will stop all background synchronizations and notifications.",
|
||||
"AppCloseTerminateBehaviorWarningMessageThirdLine": "Do you want to go to App Preferences to set Wino Mail to run minimized or in the background?",
|
||||
"AutoDiscoveryProgressMessage": "Vyhledávání v nastaveních mailu...",
|
||||
"BasicIMAPSetupDialog_AdvancedConfiguration": "Pokročilá nastavení",
|
||||
"BasicIMAPSetupDialog_CredentialLocalMessage": "Vaše nastavení budou uložena pouze lokálně na vašem počítači.",
|
||||
"BasicIMAPSetupDialog_Description": "Některé účty vyžadují další kroky k přihlášení",
|
||||
@@ -34,48 +45,63 @@
|
||||
"BasicIMAPSetupDialog_MailAddressPlaceholder": "jan.novak@seznam.cz",
|
||||
"BasicIMAPSetupDialog_Password": "Heslo",
|
||||
"BasicIMAPSetupDialog_Title": "IMAP účet",
|
||||
"Busy": "Busy",
|
||||
"Buttons_AddAccount": "Přidat účet",
|
||||
"Buttons_AddNewAlias": "Add New Alias",
|
||||
"Buttons_Allow": "Allow",
|
||||
"Buttons_Deny": "Deny",
|
||||
"Buttons_SyncAliases": "Synchronize Aliases",
|
||||
"Buttons_Allow": "Povolit",
|
||||
"Buttons_ApplyTheme": "Použít motiv",
|
||||
"Buttons_Browse": "Procházet",
|
||||
"Buttons_Cancel": "Zrušit",
|
||||
"Buttons_Close": "Zavřít",
|
||||
"Buttons_Copy": "Kopírovat",
|
||||
"Buttons_Create": "Vytvořit",
|
||||
"Buttons_CreateAccount": "Vytvořit účet",
|
||||
"Buttons_Copy": "Kopírovat",
|
||||
"Buttons_Delete": "Smazat",
|
||||
"Buttons_Edit": "Upravit",
|
||||
"Buttons_Deny": "Deny",
|
||||
"Buttons_Discard": "Zahodit",
|
||||
"Buttons_Edit": "Upravit",
|
||||
"Buttons_EnableImageRendering": "Povolit",
|
||||
"Buttons_Multiselect": "Select Multiple",
|
||||
"Buttons_No": "Ne",
|
||||
"Buttons_Open": "Otevřít",
|
||||
"Buttons_Purchase": "Koupit",
|
||||
"Buttons_RateWino": "Ohodnotit Wino",
|
||||
"Buttons_Reset": "Reset",
|
||||
"Buttons_Save": "Uložit",
|
||||
"Buttons_SaveConfiguration": "Uložit nastavení",
|
||||
"Buttons_Send": "Send",
|
||||
"Buttons_Share": "Sdílet",
|
||||
"Buttons_SignIn": "Přihlásit se",
|
||||
"Buttons_Sync": "Synchronizovat",
|
||||
"Buttons_SyncAliases": "Synchronize Aliases",
|
||||
"Buttons_TryAgain": "Zkusit znovu",
|
||||
"Buttons_Yes": "Ano",
|
||||
"Buttons_Reset": "Reset",
|
||||
"Buttons_Send": "Send",
|
||||
"Buttons_Sync": "Synchronize",
|
||||
"Buttons_Multiselect": "Select Multiple",
|
||||
"CalendarAllDayEventSummary": "all-day events",
|
||||
"CalendarDisplayOptions_Color": "Color",
|
||||
"CalendarDisplayOptions_Expand": "Expand",
|
||||
"CalendarItem_DetailsPopup_JoinOnline": "Join online",
|
||||
"CalendarItem_DetailsPopup_ViewEventButton": "View event",
|
||||
"CalendarItem_DetailsPopup_ViewSeriesButton": "View series",
|
||||
"CalendarItemAllDay": "all day",
|
||||
"CategoriesFolderNameOverride": "Kategorie",
|
||||
"Center": "Nastřed",
|
||||
"ComingSoon": "Již brzy...",
|
||||
"ComposerFrom": "Od: ",
|
||||
"ComposerSubject": "Předmět: ",
|
||||
"ComposerTo": "Komu: ",
|
||||
"ClipboardTextCopied_Message": "\"{0}\" zkopírováno do schránky.",
|
||||
"ClipboardTextCopied_Title": "Zkopírováno",
|
||||
"ClipboardTextCopyFailed_Message": "Nepodařilo se zkopírovat \"{0}\" do schránky.",
|
||||
"ComposerToPlaceholder": "pro vložení adresy zmáčkni Enter",
|
||||
"ComposerAttachmentsDropZone_Message": "Sem přetáhněte soubory",
|
||||
"ComposerImagesDropZone_Message": "Drop your images here",
|
||||
"ComingSoon": "Již brzy...",
|
||||
"ComposerAttachmentsDragDropAttach_Message": "Přiložit",
|
||||
"ComposerAttachmentsDropZone_Message": "Sem přetáhněte soubory",
|
||||
"ComposerFrom": "Od: ",
|
||||
"ComposerImagesDropZone_Message": "Drop your images here",
|
||||
"ComposerSubject": "Předmět: ",
|
||||
"ComposerTo": "Komu: ",
|
||||
"ComposerToPlaceholder": "pro vložení adresy zmáčkni Enter",
|
||||
"CreateAccountAliasDialog_AliasAddress": "Address",
|
||||
"CreateAccountAliasDialog_AliasAddressPlaceholder": "eg. support@mydomain.com",
|
||||
"CreateAccountAliasDialog_Description": "Make sure your outgoing server allows sending mails from this alias.",
|
||||
"CreateAccountAliasDialog_ReplyToAddress": "Odpověď na adresu",
|
||||
"CreateAccountAliasDialog_ReplyToAddressPlaceholder": "admin@mydomain.com",
|
||||
"CreateAccountAliasDialog_Title": "Vytvořit Alias účtu",
|
||||
"CustomThemeBuilder_AccentColorDescription": "Pokud chcete, můžete si nastavit barevný tón. Jinak se použije se výchozí barevný tón Windows.",
|
||||
"CustomThemeBuilder_AccentColorTitle": "Barevný tón",
|
||||
"CustomThemeBuilder_PickColor": "Vybrat",
|
||||
@@ -84,70 +110,57 @@
|
||||
"CustomThemeBuilder_Title": "Nástroj na vytvoření vlastního motivu",
|
||||
"CustomThemeBuilder_WallpaperDescription": "Nastav vlastní pozadí pro Wino",
|
||||
"CustomThemeBuilder_WallpaperTitle": "Nastav vlastní pozadí",
|
||||
"Dialog_DontAskAgain": "Příště se neptat",
|
||||
"DialogMessage_AccountLimitMessage": "Dosáhli jste limitu vytvořených účtů. Chcete si zakoupit doplněk \"Neomezený účet\", aby jste mohli pokračovat?",
|
||||
"DialogMessage_AccountLimitTitle": "Dosažen limit počtu účtú",
|
||||
"DialogMessage_AliasNotSelectedTitle": "Missing Alias",
|
||||
"DialogMessage_AliasNotSelectedMessage": "You must select an alias before sending a message.",
|
||||
"DialogMessage_AliasExistsTitle": "Existing Alias",
|
||||
"DialogMessage_AliasExistsMessage": "This alias is already in use.",
|
||||
"DialogMessage_InvalidAliasTitle": "Invalid Alias",
|
||||
"DialogMessage_InvalidAliasMessage": "This alias is not valid. Make sure all addresses of the alias are valid e-mail addresses.",
|
||||
"DialogMessage_CantDeleteRootAliasTitle": "Can't Delete Alias",
|
||||
"DialogMessage_CantDeleteRootAliasMessage": "Root alias can't be deleted. This is your main identity associated with your account setup.",
|
||||
"DialogMessage_AliasCreatedTitle": "Created New Alias",
|
||||
"DialogMessage_AliasCreatedMessage": "New alias is succesfully created.",
|
||||
"DialogMessage_AliasCreatedTitle": "Created New Alias",
|
||||
"DialogMessage_AliasExistsMessage": "This alias is already in use.",
|
||||
"DialogMessage_AliasExistsTitle": "Existing Alias",
|
||||
"DialogMessage_AliasNotSelectedMessage": "You must select an alias before sending a message.",
|
||||
"DialogMessage_AliasNotSelectedTitle": "Missing Alias",
|
||||
"DialogMessage_CantDeleteRootAliasMessage": "Root alias can't be deleted. This is your main identity associated with your account setup.",
|
||||
"DialogMessage_CantDeleteRootAliasTitle": "Can't Delete Alias",
|
||||
"DialogMessage_CleanupFolderMessage": "Přejete si trvale smazat všechny maily v této složce?",
|
||||
"DialogMessage_CleanupFolderTitle": "Vyprázdnit složku",
|
||||
"DialogMessage_ComposerMissingRecipientMessage": "Zpráva nemá žádného příjemce.",
|
||||
"DialogMessage_ComposerValidationFailedTitle": "Ověření se nezdařilo",
|
||||
"DialogMessage_CreateLinkedAccountMessage": "Dejte tomuto novému propojení název. Účty budou propojeny pod tímto názvem.",
|
||||
"DialogMessage_CreateLinkedAccountTitle": "Název propojeného účtu",
|
||||
"DialogMessage_PrintingFailedMessage": "Failed to print this mail. Result: {0}",
|
||||
"DialogMessage_PrintingFailedTitle": "Failed",
|
||||
"DialogMessage_PrintingSuccessTitle": "Success",
|
||||
"DialogMessage_PrintingSuccessMessage": "Mail is sent to printer.",
|
||||
"DialogMessage_DeleteAccountConfirmationMessage": "Odstranit {0}?",
|
||||
"DialogMessage_DeleteAccountConfirmationTitle": "Všechna data spojená s tímto účtem budou trvale smazána z disku.",
|
||||
"DialogMessage_DiscardDraftConfirmationMessage": "Tento koncept bude zahozen. Chcete pokračovat?",
|
||||
"DialogMessage_DiscardDraftConfirmationTitle": "Zahodit koncept",
|
||||
"DialogMessage_EmptySubjectConfirmation": "Chybějící Předmět",
|
||||
"DialogMessage_EmptySubjectConfirmationMessage": "Zpráva nemá Předmět. Chcete pokračovat?",
|
||||
"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": "Enable Startup Launch",
|
||||
"DialogMessage_HardDeleteConfirmationMessage": "Trvalé smazání",
|
||||
"DialogMessage_HardDeleteConfirmationTitle": "Zpráva(y) bude trvale odstraněna. Chcete pokračovat?",
|
||||
"DialogMessage_InvalidAliasMessage": "This alias is not valid. Make sure all addresses of the alias are valid e-mail addresses.",
|
||||
"DialogMessage_InvalidAliasTitle": "Invalid Alias",
|
||||
"DialogMessage_NoAccountsForCreateMailMessage": "Nemáte žádný účet pro vytvoření zprávy.",
|
||||
"DialogMessage_NoAccountsForCreateMailTitle": "Chybějící účet",
|
||||
"DialogMessage_PrintingFailedMessage": "Failed to print this mail. Result: {0}",
|
||||
"DialogMessage_PrintingFailedTitle": "Failed",
|
||||
"DialogMessage_PrintingSuccessMessage": "Mail is sent to printer.",
|
||||
"DialogMessage_PrintingSuccessTitle": "Success",
|
||||
"DialogMessage_RenameFolderMessage": "Enter new name for this folder",
|
||||
"DialogMessage_RenameFolderTitle": "Rename Folder",
|
||||
"DialogMessage_RenameLinkedAccountsMessage": "Zadejte nový název pro propojený účet",
|
||||
"DialogMessage_RenameLinkedAccountsTitle": "Přejmenovat propojený účet",
|
||||
"DialogMessage_UnlinkAccountsConfirmationMessage": "Tato operace neodstraní vaše mailové účty, ale pouze zruší jejich propojení. Chcete pokračovat?",
|
||||
"DialogMessage_UnlinkAccountsConfirmationTitle": "Rozpojit účty",
|
||||
"DialogMessage_EmptySubjectConfirmation": "Missing Subject",
|
||||
"DialogMessage_EmptySubjectConfirmationMessage": "Zpráva nemá Předmět. Chcete pokračovat?",
|
||||
"DialogMessage_RenameFolderTitle": "Rename Folder",
|
||||
"DialogMessage_RenameFolderMessage": "Enter new name for this folder",
|
||||
"DialogMessage_UnsubscribeConfirmationTitle": "Odhlásit",
|
||||
"DialogMessage_UnsubscribeConfirmationOneClickMessage": "Chcete přestat dostávat zprávy od {0}?",
|
||||
"DialogMessage_UnsubscribeConfirmationGoToWebsiteMessage": "Chcete-li přestat dostávat zprávy od {0}, přejděte na jejich webové stránky a odhlašte se.",
|
||||
"DialogMessage_UnsubscribeConfirmationGoToWebsiteConfirmButton": "Přejít na web",
|
||||
"DialogMessage_UnsubscribeConfirmationGoToWebsiteMessage": "Chcete-li přestat dostávat zprávy od {0}, přejděte na jejich webové stránky a odhlašte se.",
|
||||
"DialogMessage_UnsubscribeConfirmationMailtoMessage": "Chcete přestat dostávat zprávy od {0}? Wino se za vás odhlásí zasláním e-mailu z Vašeho e-mailového účtu na {1}.",
|
||||
"DialogMessage_EnableStartupLaunchTitle": "Enable Startup Launch",
|
||||
"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_EnableStartupLaunchDeniedMessage": "You can enable startup launch from Settings -> App Preferences.",
|
||||
"Dialog_DontAskAgain": "Příště se neptat",
|
||||
"CalendarAllDayEventSummary": "all-day events",
|
||||
"CalendarItemAllDay": "all day",
|
||||
"CalendarItem_DetailsPopup_JoinOnline": "Join online",
|
||||
"CalendarItem_DetailsPopup_ViewEventButton": "View event",
|
||||
"CalendarItem_DetailsPopup_ViewSeriesButton": "View series",
|
||||
"CalendarDisplayOptions_Expand": "Expand",
|
||||
"CalendarDisplayOptions_Color": "Color",
|
||||
"CreateAccountAliasDialog_Title": "Create Account Alias",
|
||||
"CreateAccountAliasDialog_Description": "Make sure your outgoing server allows sending mails from this alias.",
|
||||
"CreateAccountAliasDialog_AliasAddress": "Address",
|
||||
"CreateAccountAliasDialog_AliasAddressPlaceholder": "eg. support@mydomain.com",
|
||||
"CreateAccountAliasDialog_ReplyToAddress": "Reply-To Address",
|
||||
"CreateAccountAliasDialog_ReplyToAddressPlaceholder": "admin@mydomain.com",
|
||||
"DialogMessage_UnsubscribeConfirmationOneClickMessage": "Chcete přestat dostávat zprávy od {0}?",
|
||||
"DialogMessage_UnsubscribeConfirmationTitle": "Odhlásit",
|
||||
"DiscordChannelDisclaimerMessage": "Wino nemá vlastní Discord server, ale speciální kanál 'wino-mail' je hostován na serveru 'Developer Sanctuary'.\nChcete-li získat informace o Winu, připojte se k vývojářskému serveru a sledujte 'wino-mail' kanál v rámci 'Community Projects'. \n\nBudete přesměrováni na stránku serveru 'Developer Sanctuary', protože Discord nepodporuje pozvánky přímo do kanálů.",
|
||||
"DiscordChannelDisclaimerTitle": "Důležité Discord informace",
|
||||
"Draft": "Koncept",
|
||||
"Busy": "Busy",
|
||||
"DragMoveToFolderCaption": "Přesunout do {0}",
|
||||
"EditorToolbarOption_Draw": "Nakreslit",
|
||||
"EditorToolbarOption_Format": "Formátovat",
|
||||
"EditorToolbarOption_Insert": "Vložit",
|
||||
@@ -158,24 +171,26 @@
|
||||
"ElementTheme_Default": "Použít nastavení systému",
|
||||
"ElementTheme_Light": "Světlý režim",
|
||||
"Emoji": "Emoji",
|
||||
"Exception_WinoServerException": "Wino server failed.",
|
||||
"Exception_MailProcessing": "This mail is still being processed. Please try again after few seconds.",
|
||||
"Exception_ImapAutoDiscoveryFailed": "Nastavení poštovní schránky se nepodařilo najít.",
|
||||
"Exception_ImapClientPoolFailed": "IMAP Client Pool selhal.",
|
||||
"Error_FailedToSetupSystemFolders_Title": "Nastavení systémových složek se nezdařilo",
|
||||
"Exception_AuthenticationCanceled": "Ověřování bylo zrušeno",
|
||||
"Exception_CustomThemeExists": "Tento motiv už existuje.",
|
||||
"Exception_CustomThemeMissingName": "Musíte zadat název.",
|
||||
"Exception_CustomThemeMissingWallpaper": "Musíte zadat vlastní obrázek pozadí.",
|
||||
"Exception_FailedToSynchronizeFolders": "Synchronizace složek se nezdařila",
|
||||
"Exception_FailedToSynchronizeAliases": "Failed to synchronize aliases",
|
||||
"Exception_MissingAlias": "Primary alias does not exist for this account. Creating draft failed.",
|
||||
"Exception_FailedToSynchronizeFolders": "Synchronizace složek se nezdařila",
|
||||
"Exception_FailedToSynchronizeProfileInformation": "Failed to synchronize profile information",
|
||||
"Exception_GoogleAuthCallbackNull": "Callback uri je při aktivaci null.",
|
||||
"Exception_GoogleAuthCorruptedCode": "Odpověď z autorizačního serveru je chybná.",
|
||||
"Exception_GoogleAuthError": "Chyba autorizace OAuth: {0}",
|
||||
"Exception_GoogleAuthInvalidResponse": "Přijata chybová odpověď ({0})",
|
||||
"Exception_GoogleAuthorizationCodeExchangeFailed": "Ověření autorizačního kódu selhalo.",
|
||||
"Exception_ImapAutoDiscoveryFailed": "Nastavení poštovní schránky se nepodařilo najít.",
|
||||
"Exception_ImapClientPoolFailed": "IMAP Client Pool selhal.",
|
||||
"Exception_InboxNotAvailable": "Nelze nastavit složky účtu.",
|
||||
"Exception_InvalidSystemFolderConfiguration": "Konfigurace systémové složky není správná. Zkontrolujte konfiguraci a zkuste to znovu.",
|
||||
"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": "Přiřazený účet je \"null\"",
|
||||
"Exception_NullAssignedFolder": "Přiřazená složka je \"null\"",
|
||||
"Exception_SynchronizerFailureHTTP": "Zpracování odpovědi se nezdařilo. HTTP kód chyby: {0}",
|
||||
@@ -186,12 +201,12 @@
|
||||
"Exception_UnsupportedProvider": "Tento poskytovatel není podporován.",
|
||||
"Exception_UnsupportedSynchronizerOperation": "Tato operace není podporována pro {0}",
|
||||
"Exception_UserCancelSystemFolderSetupDialog": "Uživatel zrušil dialogové okno s konfigurací systémové složky.",
|
||||
"Exception_InboxNotAvailable": "Nelze nastavit složky účtu.",
|
||||
"Exception_WinoServerException": "Wino server failed.",
|
||||
"Files": "Soubory",
|
||||
"FilteringOption_All": "Všechny",
|
||||
"FilteringOption_Files": "Obsahuje soubory",
|
||||
"FilteringOption_Flagged": "Označené",
|
||||
"FilteringOption_Unread": "Nepřečtené",
|
||||
"FilteringOption_Files": "Obsahuje soubory",
|
||||
"Focused": "Důležité",
|
||||
"FolderOperation_CreateSubFolder": "Vytvořit podsložku",
|
||||
"FolderOperation_Delete": "Odstranit",
|
||||
@@ -199,27 +214,71 @@
|
||||
"FolderOperation_Empty": "Vyprázdnit tuto složku",
|
||||
"FolderOperation_MarkAllAsRead": "Označit vše jako přečtené",
|
||||
"FolderOperation_Move": "Přesunout",
|
||||
"DragMoveToFolderCaption": "Přesunout do {0}",
|
||||
"FolderOperation_None": "Žádné",
|
||||
"FolderOperation_Pin": "Připnout",
|
||||
"FolderOperation_Rename": "Přejmenovat",
|
||||
"FolderOperation_Unpin": "Odepnout",
|
||||
"GeneralTitle_Error": "Chyba",
|
||||
"GeneralTitle_Info": "Informace",
|
||||
"GeneralTitle_Warning": "Upozornění",
|
||||
"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": "Archivovat",
|
||||
"HoverActionOption_Delete": "Smazat",
|
||||
"HoverActionOption_MoveJunk": "Přesunout do Koše",
|
||||
"HoverActionOption_ToggleFlag": "Označit / Zrušit označení",
|
||||
"HoverActionOption_ToggleRead": "Přečtené / Nepřečtené",
|
||||
"MergedAccountCommonFolderInbox": "Doručená pošta",
|
||||
"MergedAccountCommonFolderSent": "Odesláno",
|
||||
"MergedAccountCommonFolderDraft": "Koncepty",
|
||||
"MergedAccountCommonFolderJunk": "Nevyžádaná pošta",
|
||||
"MergedAccountCommonFolderTrash": "Koš",
|
||||
"MergedAccountCommonFolderArchive": "Archív",
|
||||
"ImageRenderingDisabled": "Vykreslování obrázků je pro tuto zprávu zakázáno.",
|
||||
"ImapAdvancedSetupDialog_AuthenticationMethod": "Způsob ověření",
|
||||
"ImapAdvancedSetupDialog_ConnectionSecurity": "Zabezpečení připojení",
|
||||
"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": "Auto",
|
||||
"ImapAuthenticationMethod_CramMD5": "CRAM-MD5",
|
||||
"ImapAuthenticationMethod_DigestMD5": "DIGEST-MD5",
|
||||
"ImapAuthenticationMethod_EncryptedPassword": "Zašifrované heslo",
|
||||
"ImapAuthenticationMethod_None": "Žádné ověření",
|
||||
"ImapAuthenticationMethod_Ntlm": "NTLM",
|
||||
"ImapAuthenticationMethod_Plain": "Normální heslo",
|
||||
"ImapConnectionSecurity_Auto": "Auto",
|
||||
"ImapConnectionSecurity_None": "Žádné",
|
||||
"ImapConnectionSecurity_SslTls": "SSL/TLS",
|
||||
"ImapConnectionSecurity_StartTls": "STARTTLS",
|
||||
"IMAPSetupDialog_AccountType": "Typ účtu",
|
||||
"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": "Subject",
|
||||
"IMAPSetupDialog_CertificateValidFrom": "Valid from",
|
||||
"IMAPSetupDialog_CertificateValidTo": "Valid to",
|
||||
"IMAPSetupDialog_CertificateView": "View Certificate",
|
||||
"IMAPSetupDialog_ConnectionFailedMessage": "Připojení IMAP se nezdařilo.",
|
||||
"IMAPSetupDialog_ConnectionFailedTitle": "Připojení se nezdařilo",
|
||||
"IMAPSetupDialog_DisplayName": "Zobrazované jméno",
|
||||
"IMAPSetupDialog_DisplayNamePlaceholder": "např. Jan Novák",
|
||||
"IMAPSetupDialog_IncomingMailServer": "Server příchozí pošty",
|
||||
"IMAPSetupDialog_IncomingMailServerPort": "Port",
|
||||
"IMAPSetupDialog_IMAPSettings": "IMAP Server Settings",
|
||||
"IMAPSetupDialog_SMTPSettings": "SMTP Server Settings",
|
||||
"IMAPSetupDialog_MailAddress": "E-mailová adresa",
|
||||
"IMAPSetupDialog_MailAddressPlaceholder": "jan.novák@seznam.cz",
|
||||
"IMAPSetupDialog_OutgoingMailServer": "Server odchozí pošty (SMTP)",
|
||||
@@ -231,26 +290,9 @@
|
||||
"IMAPSetupDialog_RequireSSLForIncomingMail": "Vyžadovat SSL pro příchozí e-mail",
|
||||
"IMAPSetupDialog_RequireSSLForOutgoingMail": "Vyžadovat SSL pro odchozí e-mail",
|
||||
"IMAPSetupDialog_Title": "Pokročilé nastavení IMAP",
|
||||
"IMAPSetupDialog_UseSameConfig": "Použít stejné uživatelské jméno a heslo pro odesílání e-mailu",
|
||||
"IMAPSetupDialog_Username": "Uživatelské jméno",
|
||||
"IMAPSetupDialog_UsernamePlaceholder": "jan.novak, jan.novak@seznam.cz",
|
||||
"IMAPSetupDialog_ConnectionFailedTitle": "Připojení se nezdařilo",
|
||||
"IMAPSetupDialog_ConnectionFailedMessage": "Připojení IMAP se nezdařilo.",
|
||||
"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_CertificateIssuer": "Issuer",
|
||||
"IMAPSetupDialog_CertificateSubject": "Subject",
|
||||
"IMAPSetupDialog_CertificateValidFrom": "Valid from",
|
||||
"IMAPSetupDialog_CertificateValidTo": "Valid to",
|
||||
"IMAPSetupDialog_CertificateDenied": "User didn't authorize the handshake with the certificate.",
|
||||
"IMAPSetupDialog_CertificateView": "View Certificate",
|
||||
"ImageRenderingDisabled": "Vykreslování obrázků je pro tuto zprávu zakázáno.",
|
||||
"InfoBarAction_Enable": "Zapnout",
|
||||
"InfoBarMessage_SynchronizationDisabledFolder": "Synchronizace této složky je vypnuta.",
|
||||
"InfoBarTitle_SynchronizationDisabledFolder": "Synchronizace složky vypnuta",
|
||||
"GeneralTitle_Error": "Chyba",
|
||||
"GeneralTitle_Warning": "Upozornění",
|
||||
"GeneralTitle_Info": "Informace",
|
||||
"IMAPSetupDialog_UseSameConfig": "Použít stejné uživatelské jméno a heslo pro odesílání e-mailu",
|
||||
"Info_AccountCreatedMessage": "{0} je vytvořen",
|
||||
"Info_AccountCreatedTitle": "Vytvoření účtu",
|
||||
"Info_AccountCreationFailedTitle": "Vytvoření účtu selhalo",
|
||||
@@ -269,14 +311,15 @@
|
||||
"Info_BackgroundExecutionDeniedTitle": "Zakázané spuštění na pozadí",
|
||||
"Info_BackgroundExecutionUnknownErrorMessage": "Při registraci procesu synchronizace na pozadí došlo k neznámé výjimce.",
|
||||
"Info_BackgroundExecutionUnknownErrorTitle": "Chyba procesu na pozadí",
|
||||
"Info_FailedToOpenFileTitle": "Failed to launch file.",
|
||||
"Info_FailedToOpenFileMessage": "File might be removed from the disk.",
|
||||
"Info_CantDeletePrimaryAliasMessage": "Primary alias can't be deleted. Please change your alias before deleting this one",
|
||||
"Info_ComposerMissingMIMEMessage": "Nelze zjistit MIME typ souboru. Synchronizace může pomoci.",
|
||||
"Info_ComposerMissingMIMETitle": "Chyba",
|
||||
"Info_ContactExistsMessage": "Tento kontakt je již v seznamu příjemců.",
|
||||
"Info_ContactExistsTitle": "Kontakt existuje",
|
||||
"Info_DraftFolderMissingMessage": "Složka Koncepty pro tento účet chybí. Zkontrolujte prosím nastavení účtu.",
|
||||
"Info_DraftFolderMissingTitle": "Chybí složka Koncepty",
|
||||
"Info_FailedToOpenFileMessage": "File might be removed from the disk.",
|
||||
"Info_FailedToOpenFileTitle": "Failed to launch file.",
|
||||
"Info_FileLaunchFailedTitle": "Spuštění souboru se nezdařilo",
|
||||
"Info_InvalidAddressMessage": "'{0}' není platná e-mailová adresa.",
|
||||
"Info_InvalidAddressTitle": "Neplatná adresa",
|
||||
@@ -286,15 +329,16 @@
|
||||
"Info_LogsNotFoundTitle": "Logy nenalezeny",
|
||||
"Info_LogsSavedMessage": "{0} je uložen do vybrané složky.",
|
||||
"Info_LogsSavedTitle": "Uloženo",
|
||||
"Info_MailListSizeResetSuccessMessage": "The Mail List size has been reset.",
|
||||
"Info_MailRenderingFailedMessage": "Tento e-mail je poškozený nebo nelze otevřít.\n{0}",
|
||||
"Info_MailRenderingFailedTitle": "Vykreslení selhalo",
|
||||
"Info_MessageCorruptedMessage": "Tato zpráva je poškozena.",
|
||||
"Info_MessageCorruptedTitle": "Chyba",
|
||||
"Info_MissingFolderMessage": "{0} neexistuje pro tento účet.",
|
||||
"Info_MissingFolderTitle": "Chybějící složka",
|
||||
"Info_PDFSaveSuccessTitle": "Hotovo",
|
||||
"Info_PDFSaveFailedTitle": "Uložení PDF souboru se nezdařilo",
|
||||
"Info_PDFSaveSuccessMessage": "PDF soubor je uložen do {0}",
|
||||
"Info_PDFSaveSuccessTitle": "Hotovo",
|
||||
"Info_PurchaseExistsMessage": "Vypadá to, že tento produkt byl již zakoupen.",
|
||||
"Info_PurchaseExistsTitle": "Stávající produkt",
|
||||
"Info_PurchaseThankYouMessage": "Děkujeme",
|
||||
@@ -314,32 +358,21 @@
|
||||
"Info_SyncCanceledMessage": "Zrušeno",
|
||||
"Info_SyncCanceledTitle": "Synchronizace",
|
||||
"Info_SyncFailedTitle": "Synchronizace se nezdařila",
|
||||
"Info_UnsubscribeErrorMessage": "Nepodařilo se odhlásit odběr",
|
||||
"Info_UnsubscribeLinkInvalidMessage": "Tento odkaz pro odhlášení je neplatný. Nepodařilo se odhlásit automatizované zasílání e-mailu.",
|
||||
"Info_UnsubscribeLinkInvalidTitle": "Neplatná URI pro odhlášení mailu",
|
||||
"Info_UnsubscribeSuccessMessage": "Odběr {0} byl úspěšně odhlášen.",
|
||||
"Info_UnsupportedFunctionalityDescription": "Tato funkce zatím není implementována.",
|
||||
"Info_UnsupportedFunctionalityTitle": "Nepodporováno",
|
||||
"Info_UnsubscribeLinkInvalidTitle": "Neplatná URI pro odhlášení mailu",
|
||||
"Info_UnsubscribeLinkInvalidMessage": "Tento odkaz pro odhlášení je neplatný. Nepodařilo se odhlásit automatizované zasílání e-mailu.",
|
||||
"Info_UnsubscribeSuccessMessage": "Odběr {0} byl úspěšně odhlášen.",
|
||||
"Info_UnsubscribeErrorMessage": "Nepodařilo se odhlásit odběr",
|
||||
"Info_CantDeletePrimaryAliasMessage": "Primary alias can't be deleted. Please change your alias before deleting this one",
|
||||
"Info_MailListSizeResetSuccessMessage": "The Mail List size has been reset.",
|
||||
"ImapAdvancedSetupDialog_AuthenticationMethod": "Způsob ověření",
|
||||
"ImapAdvancedSetupDialog_ConnectionSecurity": "Zabezpečení připojení",
|
||||
"ImapAuthenticationMethod_Auto": "Auto",
|
||||
"ImapAuthenticationMethod_CramMD5": "CRAM-MD5",
|
||||
"ImapAuthenticationMethod_DigestMD5": "DIGEST-MD5",
|
||||
"ImapAuthenticationMethod_None": "Žádné ověření",
|
||||
"ImapAuthenticationMethod_Plain": "Normální heslo",
|
||||
"ImapAuthenticationMethod_EncryptedPassword": "Zašifrované heslo",
|
||||
"ImapAuthenticationMethod_Ntlm": "NTLM",
|
||||
"ImapConnectionSecurity_None": "Žádné",
|
||||
"ImapConnectionSecurity_SslTls": "SSL/TLS",
|
||||
"ImapConnectionSecurity_StartTls": "STARTTLS",
|
||||
"ImapConnectionSecurity_Auto": "Auto",
|
||||
"InfoBarAction_Enable": "Zapnout",
|
||||
"InfoBarMessage_SynchronizationDisabledFolder": "Synchronizace této složky je vypnuta.",
|
||||
"InfoBarTitle_SynchronizationDisabledFolder": "Synchronizace složky vypnuta",
|
||||
"Justify": "Do bloku",
|
||||
"Left": "Zleva",
|
||||
"Link": "Odkaz",
|
||||
"LinkedAccountsCreatePolicyMessage": "musíte mít alespoň 2 účty, abyste vytvořili propojení\npropojení bude odstraněno po uložení",
|
||||
"LinkedAccountsTitle": "Propojené účty",
|
||||
"MailItemNoSubject": "No subject",
|
||||
"MailOperation_AlwaysMoveFocused": "Vždy přesunout do složky \"Důležité\"",
|
||||
"MailOperation_AlwaysMoveOther": "Vždy se přesunout do složky \"Ostatní\"",
|
||||
"MailOperation_Archive": "Archivovat",
|
||||
@@ -366,25 +399,32 @@
|
||||
"MailOperation_SaveAs": "Uložit jako…",
|
||||
"MailOperation_SetFlag": "Označit vlajkou",
|
||||
"MailOperation_Unarchive": "Odarchivovat",
|
||||
"MailOperation_Zoom": "Přiblížit",
|
||||
"MailOperation_ViewMessageSource": "View message source",
|
||||
"MailOperation_Zoom": "Přiblížit",
|
||||
"MailsSelected": "Vybráno {0} položek",
|
||||
"MarkFlagUnflag": "Označit / Zrušit označení vlajkou",
|
||||
"MarkReadUnread": "Označit jako přečtené/nepřečtené",
|
||||
"MenuManageAccounts": "Nastavení účtů",
|
||||
"MenuNewMail": "Nový e-mail",
|
||||
"MenuMergedAccountItemAccountsSuffix": " účty",
|
||||
"MenuNewMail": "Nový e-mail",
|
||||
"MenuRate": "Ohodnotit Wino",
|
||||
"MenuSettings": "Nastavení",
|
||||
"MergedAccountCommonFolderArchive": "Archív",
|
||||
"MergedAccountCommonFolderDraft": "Koncepty",
|
||||
"MergedAccountCommonFolderInbox": "Doručená pošta",
|
||||
"MergedAccountCommonFolderJunk": "Nevyžádaná pošta",
|
||||
"MergedAccountCommonFolderSent": "Odesláno",
|
||||
"MergedAccountCommonFolderTrash": "Koš",
|
||||
"MergedAccountsAvailableAccountsTitle": "Dostupné účty",
|
||||
"MessageSourceDialog_Title": "Message source",
|
||||
"More": "Více",
|
||||
"MoreFolderNameOverride": "Více",
|
||||
"MoveMailDialog_InvalidFolderMessage": "{0} není platná složka pro tento e-mail.",
|
||||
"MoveMailDialog_Title": "Vyberte složku",
|
||||
"NewAccountDialog_AccountName": "Název účtu",
|
||||
"NewAccountDialog_AccountNameDefaultValue": "Osobní",
|
||||
"NewAccountDialog_AccountNamePlaceholder": "např. Osobní účet",
|
||||
"NewAccountDialog_Title": "Přidat nový účet",
|
||||
"MessageSourceDialog_Title": "Message source",
|
||||
"NoMailSelected": "Nebyly vybrány žádné zprávy",
|
||||
"NoMessageCrieteria": "Žádná zpráva neodpovídá kritériím vyhledávání",
|
||||
"NoMessageEmptyFolder": "Tato složka je prázdná",
|
||||
@@ -392,6 +432,9 @@
|
||||
"Notifications_MultipleNotificationsTitle": "New Mail",
|
||||
"Notifications_WinoUpdatedMessage": "Vyzkoušejte novou verzi {0}",
|
||||
"Notifications_WinoUpdatedTitle": "Wino Mail byl aktualizován.",
|
||||
"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": "Ostatní",
|
||||
"PaneLengthOption_Default": "Výchozí",
|
||||
"PaneLengthOption_ExtraLarge": "Extra velké",
|
||||
@@ -401,64 +444,94 @@
|
||||
"PaneLengthOption_Small": "Malé",
|
||||
"Photos": "Fotky",
|
||||
"PreparingFoldersMessage": "Připravování složek",
|
||||
"ProtocolLogAvailable_Message": "Protokoly jsou k dispozici pro diagnostiku.",
|
||||
"ProviderDetail_Gmail_Description": "Google účet",
|
||||
"ProviderDetail_iCloud_Description": "Apple iCloud Account",
|
||||
"ProviderDetail_iCloud_Title": "iCloud",
|
||||
"ProviderDetail_IMAP_Description": "Vlastní IMAP/SMTP server",
|
||||
"ProviderDetail_IMAP_Title": "IMAP server",
|
||||
"ProviderDetail_Yahoo_Title": "Yahoo Mail",
|
||||
"ProviderDetail_Yahoo_Description": "Yahoo Account",
|
||||
"ProviderDetail_iCloud_Title": "iCloud",
|
||||
"ProviderDetail_iCloud_Description": "Apple iCloud Account",
|
||||
"ProtocolLogAvailable_Message": "Protokoly jsou k dispozici pro diagnostiku.",
|
||||
"ProviderDetail_Yahoo_Title": "Yahoo Mail",
|
||||
"QuickEventDialog_EventName": "Event name",
|
||||
"QuickEventDialog_IsAllDay": "All day",
|
||||
"QuickEventDialog_Location": "Location",
|
||||
"QuickEventDialog_RemindMe": "Remind me",
|
||||
"QuickEventDialogMoreDetailsButtonText": "More details",
|
||||
"Reader_SaveAllAttachmentButtonText": "Save all attachments",
|
||||
"Results": "Výsledky",
|
||||
"Right": "Vpravo",
|
||||
"Reader_SaveAllAttachmentButtonText": "Save all attachments",
|
||||
"SynchronizationFolderReport_Success": "Aktuální",
|
||||
"SynchronizationFolderReport_Failed": "Synchronizace se nezdařila.",
|
||||
"SearchBarPlaceholder": "Vyhledávaný výraz",
|
||||
"SearchingIn": "Vyhledávání v",
|
||||
"SearchPivotName": "Výsledky",
|
||||
"SettingsAboutGithub_Description": "Přejít na seznam chyb na GitHub.",
|
||||
"SettingsAboutGithub_Title": "GitHub",
|
||||
"SettingsAccountManagementAppendMessage_Title": "Přidat zprávy do složky Odeslané",
|
||||
"SettingsAccountManagementAppendMessage_Description": "Vytvořit kopii zprávy ve složce \"Odeslané\" po odeslání konceptu. Povolte tuto možnost, pokud nevidíte své e-maily po odeslání ve složky \"Odeslané\".",
|
||||
"SettingsEditLinkedInbox_Title": "Upravit propojený účet",
|
||||
"SettingsEditLinkedInbox_Description": "Přidat / odebrat účty, přejmenovat nebo zrušit propojení mezi účty.",
|
||||
"SettingsAboutVersion": "Verze ",
|
||||
"SettingsAboutWinoDescription": "Lehký e-mailový klient pro systém Windows.",
|
||||
"SettingConfigureSpecialFolders_Button": "Nastavit",
|
||||
"SettingsEditAccountDetails_IMAPConfiguration_Title": "IMAP/SMTP Configuration",
|
||||
"SettingsEditAccountDetails_IMAPConfiguration_Description": "Change your incoming/outgoing server settings.",
|
||||
"SettingsAbout_Description": "Zjistěte více o Wino.",
|
||||
"SettingsAbout_Title": "O aplikaci",
|
||||
"SettingsAboutGithub_Description": "Přejít na seznam chyb na GitHub.",
|
||||
"SettingsAboutGithub_Title": "GitHub",
|
||||
"SettingsAboutVersion": "Verze ",
|
||||
"SettingsAboutWinoDescription": "Lehký e-mailový klient pro systém Windows.",
|
||||
"SettingsAccentColor_Description": "Změna barevného tónu aplikace",
|
||||
"SettingsAccentColor_Title": "Barevný tón",
|
||||
"SettingsAccentColor_UseWindowsAccentColor": "Použít barevný tón mých Windows",
|
||||
"SettingsAccountManagementAppendMessage_Description": "Vytvořit kopii zprávy ve složce \"Odeslané\" po odeslání konceptu. Povolte tuto možnost, pokud nevidíte své e-maily po odeslání ve složky \"Odeslané\".",
|
||||
"SettingsAccountManagementAppendMessage_Title": "Přidat zprávy do složky Odeslané",
|
||||
"SettingsAccountName_Description": "Změnit název účtu",
|
||||
"SettingsAccountName_Title": "Název účtu",
|
||||
"SettingsApplicationTheme_Description": "Přizpůsobte si Wino různými motivy dle vaší libosti.",
|
||||
"SettingsApplicationTheme_Title": "Motiv aplikace",
|
||||
"SettingsAppPreferences_CloseBehavior_Description": "What should happen when you close the app?",
|
||||
"SettingsAppPreferences_CloseBehavior_Title": "Application close behavior",
|
||||
"SettingsAppPreferences_Description": "General settings / preferences for Wino Mail.",
|
||||
"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": "Default search mode",
|
||||
"SettingsAppPreferences_ServerBackgroundingMode_Invisible_Description": "Wino Mail will keep running in the background. You will be notified as new mails arrive.",
|
||||
"SettingsAppPreferences_ServerBackgroundingMode_Invisible_Title": "Run in the background",
|
||||
"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": "Minimize to system tray",
|
||||
"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": "Terminate",
|
||||
"SettingsAppPreferences_StartupBehavior_Description": "Allow Wino Mail to launch minimized when Windows starts. Always allow it to receive notifications.",
|
||||
"SettingsAppPreferences_StartupBehavior_Disable": "Disable",
|
||||
"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": "Enable",
|
||||
"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 minimized on Windows startup",
|
||||
"SettingsAppPreferences_Title": "App Preferences",
|
||||
"SettingsAutoSelectNextItem_Description": "Vyberat další položku poté, co se odstraní nebo přesune vybraný e-mail.",
|
||||
"SettingsAutoSelectNextItem_Title": "Automaticky vybrat další položku",
|
||||
"SettingsAvailableThemes_Description": "Vyberte si šablonu ze sbírky Wino dle vaší libosti nebo použijte vlastní motiv.",
|
||||
"SettingsAvailableThemes_Title": "Dostupné motivy",
|
||||
"SettingsAutoSelectNextItem_Title": "Automaticky vybrat další položku",
|
||||
"SettingsAutoSelectNextItem_Description": "Vyberat další položku poté, co se odstraní nebo přesune vybraný e-mail.",
|
||||
"SettingsCalendarSettings_Title": "Calendar Settings",
|
||||
"SettingsCalendarSettings_Description": "Change first day of week, hour cell height and more...",
|
||||
"SettingsCalendarSettings_Title": "Calendar Settings",
|
||||
"SettingsComposer_Title": "Composer",
|
||||
"SettingsComposerFont_Title": "Výchozí písmo editoru",
|
||||
"SettingsComposerFontFamily_Description": "Změna výchozího fontu a jeho velikosti pro editor e-mailu",
|
||||
"SettingsConfigureSpecialFolders_Description": "Nastavte složky se speciálními funkcemi. Složky jako Archív, Doručená pošta a Koncepty jsou nezbytné pro správné fungování Wina.",
|
||||
"SettingsConfigureSpecialFolders_Title": "Nastavit systémové složky",
|
||||
"SettingsCustomTheme_Description": "Vytvořte si vlastní motiv s vlastním pozadím a barevným tónem.",
|
||||
"SettingsCustomTheme_Title": "Vlastní motiv",
|
||||
"SettingsConfigureSpecialFolders_Title": "Nastavit systémové složky",
|
||||
"SettingsConfigureSpecialFolders_Description": "Nastavte složky se speciálními funkcemi. Složky jako Archív, Doručená pošta a Koncepty jsou nezbytné pro správné fungování Wina.",
|
||||
"SettingConfigureSpecialFolders_Button": "Nastavit",
|
||||
"Error_FailedToSetupSystemFolders_Title": "Nastavení systémových složek se nezdařilo",
|
||||
"SettingsDeleteAccount_Description": "Odstranit všechny e-maily a přihlašovací údaje spojené s tímto účtem.",
|
||||
"SettingsDeleteAccount_Title": "Smazat tento účet",
|
||||
"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.",
|
||||
"SettingsDiagnostics_DiagnosticId_Title": "Diagnostic ID",
|
||||
"SettingsDiagnostics_Title": "Diagnostika",
|
||||
"SettingsDiagnostics_DiagnosticId_Title": "Diagnostic Id",
|
||||
"SettingsDiagnostics_DiagnosticId_Description": "Share this Id with the developers when asked to get help for the issues you experience in Wino Mail.",
|
||||
"SettingsDiscord_Description": "Získejte pravidelné aktualizace z vývoje, připojte se k diskusím o rozvoji aplikace a poskytněte zpětnou vazbu.",
|
||||
"SettingsDiscord_Title": "Discord kanál",
|
||||
"SettingsElementThemeSelectionDisabled": "Výběr motivu prvku je zakázán, pokud je vybrán jiný motiv aplikace než výchozí.",
|
||||
"SettingsEditLinkedInbox_Description": "Přidat / odebrat účty, přejmenovat nebo zrušit propojení mezi účty.",
|
||||
"SettingsEditLinkedInbox_Title": "Upravit propojený účet",
|
||||
"SettingsElementTheme_Description": "Vyberte motiv Windows pro Wino",
|
||||
"SettingsElementTheme_Title": "Motiv prvku",
|
||||
"SettingsElementThemeSelectionDisabled": "Výběr motivu prvku je zakázán, pokud je vybrán jiný motiv aplikace než výchozí.",
|
||||
"SettingsEnableHoverActions_Title": "Povolit akce při přejetí myší",
|
||||
"SettingsEnableIMAPLogs_Description": "Povolte pro poskytnutí podrobností o problémech s připojením IMAP, které jste měli během nastavení serveru IMAP.",
|
||||
"SettingsEnableIMAPLogs_Title": "Povolit logy protokolu IMAP",
|
||||
@@ -471,12 +544,15 @@
|
||||
"SettingsExternalContent_Title": "Externí obsah",
|
||||
"SettingsFocusedInbox_Description": "Nastavte, zda by měla být doručená pošta rozdělena do dvou jako \"Důležité\" - \"Ostatní\".",
|
||||
"SettingsFocusedInbox_Title": "Doporučené",
|
||||
"SettingsFolderMenuStyle_Description": "Změnit, zda by složky účtu měly být vnořeny uvnitř nabídky účtu či nikoli. Vypněte tento režim, pokud se vám líbí starý systém menu Windows Mail",
|
||||
"SettingsFolderMenuStyle_Title": "Zapnout vnořené složky",
|
||||
"SettingsFolderOptions_Description": "Změnit nastavení jednotlivých složek, například povolit/zakázat synchronizaci, nebo zobrazit/skrýt počet nepřečtených e-mailů.",
|
||||
"SettingsFolderOptions_Title": "Nastavení složky",
|
||||
"SettingsFolderSync_Description": "Povolit nebo zakázat konkrétní složky pro synchronizaci.",
|
||||
"SettingsFolderSync_Title": "Synchronizace složek",
|
||||
"SettingsFolderOptions_Title": "Nastavení složky",
|
||||
"SettingsFolderOptions_Description": "Změnit nastavení jednotlivých složek, například povolit/zakázat synchronizaci, nebo zobrazit/skrýt počet nepřečtených e-mailů.",
|
||||
"SettingsManageAliases_Title": "Aliases",
|
||||
"SettingsManageAliases_Description": "See e-mail aliases assigned for this account, update or delete them.",
|
||||
"SettingsFontFamily_Title": "Font",
|
||||
"SettingsFontPreview_Title": "Náhled",
|
||||
"SettingsFontSize_Title": "Velikost",
|
||||
"SettingsHoverActionCenter": "Prostřední akce",
|
||||
"SettingsHoverActionLeft": "Levá akce",
|
||||
"SettingsHoverActionRight": "Pravá akce",
|
||||
@@ -484,44 +560,25 @@
|
||||
"SettingsHoverActions_Title": "Akce při přejetí myší",
|
||||
"SettingsLanguage_Description": "Změnit jazyk aplikace pro Wino.",
|
||||
"SettingsLanguage_Title": "Jazyk aplikace",
|
||||
"SettingsLanguageTime_Title": "Jazyk & čas",
|
||||
"SettingsLanguageTime_Description": "Jazyk aplikace Wino, preferovaný formát času.",
|
||||
"CategoriesFolderNameOverride": "Kategorie",
|
||||
"AccountAlias_Column_Verified": "Verified",
|
||||
"AccountAlias_Column_Alias": "Alias",
|
||||
"AccountAlias_Column_IsPrimaryAlias": "Primary",
|
||||
"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.",
|
||||
"MoreFolderNameOverride": "Více",
|
||||
"SettingsOptions_Title": "Nastavení",
|
||||
"SettingsLanguageTime_Title": "Jazyk & čas",
|
||||
"SettingsLinkAccounts_Description": "Sloučit více účtů do jednoho. Podívejte se na e-maily v jedné složce \"Doručená pošta\" společně.",
|
||||
"SettingsLinkAccounts_Title": "Vytvořit propojené účty",
|
||||
"SettingsLinkedAccountsSave_Description": "Změnit aktuální propojení s novými účty.",
|
||||
"SettingsLinkedAccountsSave_Title": "Uložit změny",
|
||||
"SettingsLoadImages_Title": "Automaticky načítat obrázky",
|
||||
"SettingsLoadStyles_Title": "Automaticky načítat styly",
|
||||
"SettingsLoadPlaintextLinks_Title": "Convert plaintext links to clickable links",
|
||||
"SettingsLoadStyles_Title": "Automaticky načítat styly",
|
||||
"SettingsMailListActionBar_Description": "Hide/show action bar at top of message list.",
|
||||
"SettingsMailListActionBar_Title": "Show mail list actions",
|
||||
"SettingsMailSpacing_Description": "Přizpůsobit rozestupy položek v seznamu e-mailů.",
|
||||
"SettingsMailSpacing_Title": "Rozestupy e-mailů",
|
||||
"SettingsFolderMenuStyle_Title": "Zapnout vnořené složky",
|
||||
"SettingsFolderMenuStyle_Description": "Změnit, zda by složky účtu měly být vnořeny uvnitř nabídky účtu či nikoli. Vypněte tento režim, pokud se vám líbí starý systém menu Windows Mail",
|
||||
"SettingsManageAccountSettings_Description": "Oznámení, podpisy, synchronizace a další nastavení pro jednotlivé účty.",
|
||||
"SettingsManageAccountSettings_Title": "Správa nastavení účtů",
|
||||
"SettingsAppPreferences_Title": "App Preferences",
|
||||
"SettingsAppPreferences_Description": "General settings / preferences for Wino Mail.",
|
||||
"SettingsAppPreferences_CloseBehavior_Title": "Application close behavior",
|
||||
"SettingsAppPreferences_CloseBehavior_Description": "What should happen when you close the app?",
|
||||
"SettingsAppPreferences_StartupBehavior_Title": "Start minimized on Windows startup",
|
||||
"SettingsAppPreferences_StartupBehavior_Description": "Allow Wino Mail to launch minimized when Windows starts. Always allow it to receive notifications.",
|
||||
"SettingsAppPreferences_StartupBehavior_Enabled": "Wino Mail successfully set to be launched in the background on Windows startup.",
|
||||
"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_FatalError": "Fatal error occurred while changing the startup mode for Wino Mail.",
|
||||
"SettingsAppPreferences_StartupBehavior_Enable": "Enable",
|
||||
"SettingsAppPreferences_StartupBehavior_Disable": "Disable",
|
||||
"SettingsReorderAccounts_Title": "Změna pořadí účtů",
|
||||
"SettingsReorderAccounts_Description": "Change the order of accounts in the account list.",
|
||||
"SettingsManageAliases_Description": "See e-mail aliases assigned for this account, update or delete them.",
|
||||
"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": "Přesunout položky pro přidání nového propojení účtů nebo odstranění již existujícího.",
|
||||
"SettingsManageLink_Title": "Spravovat propojení",
|
||||
"SettingsMarkAsRead_Description": "Změnit, co by se mělo stát s vybranou položkou.",
|
||||
@@ -535,59 +592,71 @@
|
||||
"SettingsNoAccountSetupMessage": "Zatím jste nenastavili žádný účet.",
|
||||
"SettingsNotifications_Description": "Zapnout nebo vypnout oznámení pro tento účet.",
|
||||
"SettingsNotifications_Title": "Oznámení",
|
||||
"SettingsNotificationsAndTaskbar_Title": "Notifications & Taskbar",
|
||||
"SettingsTaskbarBadge_Title": "Taskbar Badge",
|
||||
"SettingsTaskbarBadge_Description": "Include unread mail count in taskbar icon.",
|
||||
"SettingsNotificationsAndTaskbar_Description": "Change whether notifications should be displayed and taskbar badge for this account.",
|
||||
"SettingsNotificationsAndTaskbar_Title": "Notifications & Taskbar",
|
||||
"SettingsOptions_Title": "Nastavení",
|
||||
"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": "Ukažte mnohem více lásky ❤️ Všechny dary jsou vítany.",
|
||||
"SettingsPaypal_Title": "Přispět přes PayPal",
|
||||
"SettingsPersonalization_Description": "Změňte vzhled Wino, jak se vám líbí.",
|
||||
"SettingsPersonalization_Title": "Přizpůsobení",
|
||||
"SettingsPersonalizationMailDisplayCompactMode": "Kompaktní režim",
|
||||
"SettingsPersonalizationMailDisplayMediumMode": "Střední režim",
|
||||
"SettingsPersonalizationMailDisplaySpaciousMode": "Prostorový režim",
|
||||
"SettingsPersonalization_Description": "Změňte vzhled Wino, jak se vám líbí.",
|
||||
"SettingsPersonalization_Title": "Přizpůsobení",
|
||||
"SettingsPrefer24HourClock_Description": "Čas přijetí pošty bude zobrazen ve 24-hodinovém formátu času, namísto 12-hodinového (AM/PM)",
|
||||
"SettingsPrefer24HourClock_Title": "Zobrazit 24-hodinový formát času",
|
||||
"SettingsPrivacyPolicy_Description": "Zkontrolujte zásady ochrany osobních údajů.",
|
||||
"SettingsPrivacyPolicy_Title": "Zásady ochrany osobních údajů",
|
||||
"SettingsReader_Title": "Reader",
|
||||
"SettingsComposer_Title": "Composer",
|
||||
"SettingsReadComposePane_Description": "Fonts, external content.",
|
||||
"SettingsReadComposePane_Title": "Reader & Composer",
|
||||
"SettingsReader_Title": "Reader",
|
||||
"SettingsReaderFont_Title": "Výchozí font pro vykreslení e-mailu",
|
||||
"SettingsReaderFontFamily_Description": "Změna výchozího fontu a jeho velikosti pro vykreslení e-mailu",
|
||||
"SettingsFontFamily_Title": "Font",
|
||||
"SettingsFontSize_Title": "Velikost",
|
||||
"SettingsFontPreview_Title": "Náhled",
|
||||
"SettingsComposerFont_Title": "Výchozí písmo editoru",
|
||||
"SettingsComposerFontFamily_Description": "Změna výchozího fontu a jeho velikosti pro editor e-mailu",
|
||||
"SettingsRenameMergeAccount_Description": "Změnit zobrazený název propojených účtů.",
|
||||
"SettingsRenameMergeAccount_Title": "Přejmenovat",
|
||||
"SettingsReorderAccounts_Description": "Change the order of accounts in the account list.",
|
||||
"SettingsReorderAccounts_Title": "Změna pořadí účtů",
|
||||
"SettingsSemanticZoom_Description": "Toto vám umožní kliknout na hlavičky v seznamu zpráv a přejít na konkrétní datum",
|
||||
"SettingsSemanticZoom_Title": "Sémanické přiblížení pro záhlaví data",
|
||||
"SettingsShowPreviewText_Description": "Hide/show the preview text.",
|
||||
"SettingsShowPreviewText_Title": "Zobrazit náhled textu",
|
||||
"SettingsShowSenderPictures_Description": "Skrýt/zobrazit náhled obrázku odesílatele.",
|
||||
"SettingsShowSenderPictures_Title": "Zobrazit avatary odesílatele",
|
||||
"SettingsPrefer24HourClock_Title": "Zobrazit 24-hodinový formát času",
|
||||
"SettingsPrefer24HourClock_Description": "Čas přijetí pošty bude zobrazen ve 24-hodinovém formátu času, namísto 12-hodinového (AM/PM)",
|
||||
"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": "Podpis",
|
||||
"SettingsStartupItem_Description": "Primární účet zobrazený po startu",
|
||||
"SettingsStartupItem_Title": "Primární účet",
|
||||
"SettingsStore_Description": "Ukaž trochu lásky ❤️",
|
||||
"SettingsStore_Title": "Ohodnotit v obchodě",
|
||||
"SettingsTaskbarBadge_Description": "Include unread mail count in taskbar icon.",
|
||||
"SettingsTaskbarBadge_Title": "Taskbar Badge",
|
||||
"SettingsThreads_Description": "Uspořádat zprávy do konverzačních vláken.",
|
||||
"SettingsThreads_Title": "Vlákna konverzací",
|
||||
"SettingsMailListActionBar_Description": "Hide/show action bar at top of message list.",
|
||||
"SettingsMailListActionBar_Title": "Show mail list actions",
|
||||
"SettingsUnlinkAccounts_Description": "Remove the link between accounts. his will not delete your accounts.",
|
||||
"SettingsUnlinkAccounts_Title": "Rozpojit účty",
|
||||
"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": "podle data",
|
||||
"SortingOption_Name": "podle jména",
|
||||
"StoreRatingDialog_MessageFirstLine": "Veškerá zpětná vazba se cení a v bude mít vliv na zlepšení aplikace Wino. Chcete Wino ohodnotit v Microsoft Store?",
|
||||
"StoreRatingDialog_MessageSecondLine": "Chcete ohodnotit Wino Mail v Microsoft Store?",
|
||||
"StoreRatingDialog_Title": "Líbí se vám Wino?",
|
||||
"SynchronizationFolderReport_Failed": "Synchronizace se nezdařila.",
|
||||
"SynchronizationFolderReport_Success": "Aktuální",
|
||||
"SystemFolderConfigDialog_ArchiveFolderDescription": "Archivované zprávy budou přesunuty do zde.",
|
||||
"SystemFolderConfigDialog_ArchiveFolderHeader": "složka \"Archív\"",
|
||||
"SystemFolderConfigDialog_DeletedFolderDescription": "Smazané zprávy budou přesunuty zde.",
|
||||
@@ -601,11 +670,15 @@
|
||||
"SystemFolderConfigDialog_SentFolderDescription": "Zprávy, které byly odeslány, skončí zde. ",
|
||||
"SystemFolderConfigDialog_SentFolderHeader": "složka \"Odeslané\"",
|
||||
"SystemFolderConfigDialog_Title": "Nastavit systémové složky",
|
||||
"SystemFolderConfigDialogValidation_InboxSelected": "Složku Doručená pošta nelze přiřadit k žádné jiné systémové složce.",
|
||||
"SystemFolderConfigDialogValidation_DuplicateSystemFolders": "Některé ze systémových složek se v konfiguraci používají více než jednou.",
|
||||
"SystemFolderConfigSetupSuccess_Title": "Nastavení systémových složek",
|
||||
"SystemFolderConfigDialogValidation_InboxSelected": "Složku Doručená pošta nelze přiřadit k žádné jiné systémové složce.",
|
||||
"SystemFolderConfigSetupSuccess_Message": "Systémové složky jsou úspěšně nakonfigurovány.",
|
||||
"SystemFolderConfigSetupSuccess_Title": "Nastavení systémových složek",
|
||||
"TestingImapConnectionMessage": "Testuji připojení k serveru...",
|
||||
"TitleBarServerDisconnectedButton_Description": "Wino is disconnected from the network. Click reconnect to restore connection.",
|
||||
"TitleBarServerDisconnectedButton_Title": "no connection",
|
||||
"TitleBarServerReconnectButton_Title": "reconnect",
|
||||
"TitleBarServerReconnectingButton_Title": "connecting",
|
||||
"Today": "Dnes",
|
||||
"UnknownAddress": "neznámá adresa",
|
||||
"UnknownDateHeader": "Neznámé datum",
|
||||
@@ -616,37 +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",
|
||||
"SignatureEditorDialog_Title": "Signature Editor",
|
||||
"SignatureEditorDialog_SignatureName_Placeholder": "Name your signature",
|
||||
"SignatureEditorDialog_SignatureName_TitleNew": "Signature name",
|
||||
"SignatureEditorDialog_SignatureName_TitleEdit": "Current signature name: {0}",
|
||||
"SignatureDeleteDialog_Title": "Delete signature",
|
||||
"SignatureDeleteDialog_Message": "Are you sure you want to delete \"{0}\" signature?",
|
||||
"SettingsSignature_ForNewMessages_Title": "For New Messages",
|
||||
"SettingsSignature_ForFollowingMessages_Title": "For Replies/Forwards",
|
||||
"SettingsSignature_SignatureDefaults": "Signature defaults",
|
||||
"SettingsSignature_Signatures": "Signatures",
|
||||
"SettingsSignature_AddCustomSignature_Title": "Add custom signature",
|
||||
"SettingsSignature_AddCustomSignature_Button": "Add signature",
|
||||
"SettingsSignature_EditSignature_Title": "Edit signature",
|
||||
"SettingsSignature_DeleteSignature_Title": "Delete signature",
|
||||
"SettingsSignature_NoneSignatureName": "None",
|
||||
"SettingsAppPreferences_ServerBackgroundingMode_MinimizeTray_Title": "Minimize to system tray",
|
||||
"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_Invisible_Title": "Run in the background",
|
||||
"SettingsAppPreferences_ServerBackgroundingMode_Invisible_Description": "Wino Mail will keep running in the background. You will be notified as new mails arrive.",
|
||||
"SettingsAppPreferences_ServerBackgroundingMode_Terminate_Title": "Terminate",
|
||||
"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.",
|
||||
"TitleBarServerDisconnectedButton_Title": "no connection",
|
||||
"TitleBarServerDisconnectedButton_Description": "Wino is disconnected from the network. Click reconnect to restore connection.",
|
||||
"TitleBarServerReconnectButton_Title": "reconnect",
|
||||
"TitleBarServerReconnectingButton_Title": "connecting",
|
||||
"MailItemNoSubject": "No subject",
|
||||
"QuickEventDialogMoreDetailsButtonText": "More details",
|
||||
"QuickEventDialog_RemindMe": "Remind me",
|
||||
"QuickEventDialog_Location": "Location",
|
||||
"QuickEventDialog_EventName": "Event name",
|
||||
"QuickEventDialog_IsAllDay": "All day"
|
||||
"Yesterday": "Včera"
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -1,29 +1,40 @@
|
||||
{
|
||||
"AccountAlias_Column_Alias": "Alias",
|
||||
"AccountAlias_Column_IsPrimaryAlias": "Primary",
|
||||
"AccountAlias_Column_Verified": "Verified",
|
||||
"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": "all done",
|
||||
"AccountCreationDialog_Initializing": "initializing",
|
||||
"AccountCreationDialog_PreparingFolders": "We are getting folder information at the moment.",
|
||||
"AccountCreationDialog_SigninIn": "Account information is being saved.",
|
||||
"AccountCreationDialog_FetchingProfileInformation": "Fetching profile details.",
|
||||
"AccountCreationDialog_FetchingEvents": "Fetching calendar events.",
|
||||
"AccountCreationDialog_FetchingProfileInformation": "Fetching profile details.",
|
||||
"AccountCreationDialog_GoogleAuthHelpClipboardText_Row0": "If your browser did not launch automatically to complete authentication:",
|
||||
"AccountCreationDialog_GoogleAuthHelpClipboardText_Row1": "1) Click the button below to copy the authentication address",
|
||||
"AccountCreationDialog_GoogleAuthHelpClipboardText_Row2": "2) Launch your web browser (Edge, Chrome, Firefox etc...)",
|
||||
"AccountCreationDialog_GoogleAuthHelpClipboardText_Row3": "3) Paste the copied address and go to the website to complete authentication manually.",
|
||||
"AccountCreationDialog_Initializing": "initializing",
|
||||
"AccountCreationDialog_PreparingFolders": "We are getting folder information at the moment.",
|
||||
"AccountCreationDialog_SigninIn": "Account information is being saved.",
|
||||
"AccountEditDialog_Message": "Account Name",
|
||||
"AccountEditDialog_Title": "Edit Account",
|
||||
"AccountPickerDialog_Title": "Pick an account",
|
||||
"AccountSettingsDialog_AccountName": "Sender Display Name",
|
||||
"AccountSettingsDialog_AccountNamePlaceholder": "eg. John Doe",
|
||||
"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": "Assign a new account color to colorize its symbol in the list.",
|
||||
"AddHyperlink": "Add",
|
||||
"AccountContactNameYou": "You",
|
||||
"AutoDiscoveryProgressMessage": "Searching for mail settings...",
|
||||
"AppCloseBackgroundSynchronizationWarningTitle": "Background Synchronization",
|
||||
"AppCloseTerminateBehaviorWarningMessageFirstLine": "You are terminating Wino Mail and your app close behavior is set to 'Terminate'.",
|
||||
"AppCloseTerminateBehaviorWarningMessageSecondLine": "This will stop all background synchronizations and notifications.",
|
||||
"AppCloseTerminateBehaviorWarningMessageThirdLine": "Do you want to go to App Preferences to set Wino Mail to run minimized or in the background?",
|
||||
"AppCloseStartupLaunchDisabledWarningMessageFirstLine": "Application has not been set to launch on Windows startup.",
|
||||
"AppCloseStartupLaunchDisabledWarningMessageSecondLine": "This will cause you to miss notifications when you restart your computer.",
|
||||
"AppCloseStartupLaunchDisabledWarningMessageThirdLine": "Do you want to go to App Preferences page to enable it?",
|
||||
"AppCloseTerminateBehaviorWarningMessageFirstLine": "You are terminating Wino Mail and your app close behavior is set to 'Terminate'.",
|
||||
"AppCloseTerminateBehaviorWarningMessageSecondLine": "This will stop all background synchronizations and notifications.",
|
||||
"AppCloseTerminateBehaviorWarningMessageThirdLine": "Do you want to go to App Preferences to set Wino Mail to run minimized or in the background?",
|
||||
"AutoDiscoveryProgressMessage": "Searching for mail settings...",
|
||||
"BasicIMAPSetupDialog_AdvancedConfiguration": "Advanced Configuration",
|
||||
"BasicIMAPSetupDialog_CredentialLocalMessage": "Your credentials will only be stored locally on your computer.",
|
||||
"BasicIMAPSetupDialog_Description": "Some accounts require additional steps to sign in",
|
||||
@@ -34,48 +45,63 @@
|
||||
"BasicIMAPSetupDialog_MailAddressPlaceholder": "johndoe@fabrikam.com",
|
||||
"BasicIMAPSetupDialog_Password": "Password",
|
||||
"BasicIMAPSetupDialog_Title": "IMAP Account",
|
||||
"Busy": "Busy",
|
||||
"Buttons_AddAccount": "Add Account",
|
||||
"Buttons_AddNewAlias": "Add New Alias",
|
||||
"Buttons_Allow": "Allow",
|
||||
"Buttons_Deny": "Deny",
|
||||
"Buttons_SyncAliases": "Synchronize Aliases",
|
||||
"Buttons_ApplyTheme": "Apply Theme",
|
||||
"Buttons_Browse": "Browse",
|
||||
"Buttons_Cancel": "Cancel",
|
||||
"Buttons_Close": "Close",
|
||||
"Buttons_Copy": "Copy",
|
||||
"Buttons_Create": "Create",
|
||||
"Buttons_CreateAccount": "Create Account",
|
||||
"Buttons_Copy": "Copy",
|
||||
"Buttons_Delete": "Delete",
|
||||
"Buttons_Edit": "Edit",
|
||||
"Buttons_Deny": "Deny",
|
||||
"Buttons_Discard": "Discard",
|
||||
"Buttons_Edit": "Edit",
|
||||
"Buttons_EnableImageRendering": "Enable",
|
||||
"Buttons_Multiselect": "Select Multiple",
|
||||
"Buttons_No": "No",
|
||||
"Buttons_Open": "Open",
|
||||
"Buttons_Purchase": "Purchase",
|
||||
"Buttons_RateWino": "Rate Wino",
|
||||
"Buttons_Reset": "Reset",
|
||||
"Buttons_Save": "Save",
|
||||
"Buttons_SaveConfiguration": "Save Configuration",
|
||||
"Buttons_Send": "Send",
|
||||
"Buttons_Share": "Share",
|
||||
"Buttons_SignIn": "Sign In",
|
||||
"Buttons_Sync": "Synchronize",
|
||||
"Buttons_SyncAliases": "Synchronize Aliases",
|
||||
"Buttons_TryAgain": "Try Again",
|
||||
"Buttons_Yes": "Yes",
|
||||
"Buttons_Reset": "Reset",
|
||||
"Buttons_Send": "Send",
|
||||
"Buttons_Sync": "Synchronize",
|
||||
"Buttons_Multiselect": "Select Multiple",
|
||||
"CalendarAllDayEventSummary": "all-day events",
|
||||
"CalendarDisplayOptions_Color": "Color",
|
||||
"CalendarDisplayOptions_Expand": "Expand",
|
||||
"CalendarItem_DetailsPopup_JoinOnline": "Join online",
|
||||
"CalendarItem_DetailsPopup_ViewEventButton": "View event",
|
||||
"CalendarItem_DetailsPopup_ViewSeriesButton": "View series",
|
||||
"CalendarItemAllDay": "all day",
|
||||
"CategoriesFolderNameOverride": "Categories",
|
||||
"Center": "Center",
|
||||
"ComingSoon": "Coming soon...",
|
||||
"ComposerFrom": "From: ",
|
||||
"ComposerSubject": "Subject: ",
|
||||
"ComposerTo": "To: ",
|
||||
"ClipboardTextCopied_Message": "{0} copied to clipboard.",
|
||||
"ClipboardTextCopied_Title": "Copied",
|
||||
"ClipboardTextCopyFailed_Message": "Failed to copy {0} to clipboard.",
|
||||
"ComposerToPlaceholder": "click enter to input addresses",
|
||||
"ComposerAttachmentsDropZone_Message": "Drop your files here",
|
||||
"ComposerImagesDropZone_Message": "Drop your images here",
|
||||
"ComingSoon": "Coming soon...",
|
||||
"ComposerAttachmentsDragDropAttach_Message": "Attach",
|
||||
"ComposerAttachmentsDropZone_Message": "Drop your files here",
|
||||
"ComposerFrom": "From: ",
|
||||
"ComposerImagesDropZone_Message": "Drop your images here",
|
||||
"ComposerSubject": "Subject: ",
|
||||
"ComposerTo": "To: ",
|
||||
"ComposerToPlaceholder": "click enter to input addresses",
|
||||
"CreateAccountAliasDialog_AliasAddress": "Address",
|
||||
"CreateAccountAliasDialog_AliasAddressPlaceholder": "eg. support@mydomain.com",
|
||||
"CreateAccountAliasDialog_Description": "Make sure your outgoing server allows sending mails from this alias.",
|
||||
"CreateAccountAliasDialog_ReplyToAddress": "Reply-To Address",
|
||||
"CreateAccountAliasDialog_ReplyToAddressPlaceholder": "admin@mydomain.com",
|
||||
"CreateAccountAliasDialog_Title": "Create Account Alias",
|
||||
"CustomThemeBuilder_AccentColorDescription": "Set custom accent color if you wish. Not selecting a color will use your Windows accent color.",
|
||||
"CustomThemeBuilder_AccentColorTitle": "Accent color",
|
||||
"CustomThemeBuilder_PickColor": "Pick",
|
||||
@@ -84,70 +110,57 @@
|
||||
"CustomThemeBuilder_Title": "Custom Theme Builder",
|
||||
"CustomThemeBuilder_WallpaperDescription": "Set a custom wallpaper for Wino",
|
||||
"CustomThemeBuilder_WallpaperTitle": "Set custom wallpaper",
|
||||
"Dialog_DontAskAgain": "Don't ask again",
|
||||
"DialogMessage_AccountLimitMessage": "You have reached the account creation limit.\nWould you like to purchase 'Unlimited Account' add-on to continue?",
|
||||
"DialogMessage_AccountLimitTitle": "Account Limit Reached",
|
||||
"DialogMessage_AliasNotSelectedTitle": "Missing Alias",
|
||||
"DialogMessage_AliasNotSelectedMessage": "You must select an alias before sending a message.",
|
||||
"DialogMessage_AliasExistsTitle": "Existing Alias",
|
||||
"DialogMessage_AliasExistsMessage": "This alias is already in use.",
|
||||
"DialogMessage_InvalidAliasTitle": "Invalid Alias",
|
||||
"DialogMessage_InvalidAliasMessage": "This alias is not valid. Make sure all addresses of the alias are valid e-mail addresses.",
|
||||
"DialogMessage_CantDeleteRootAliasTitle": "Can't Delete Alias",
|
||||
"DialogMessage_CantDeleteRootAliasMessage": "Root alias can't be deleted. This is your main identity associated with your account setup.",
|
||||
"DialogMessage_AliasCreatedTitle": "Created New Alias",
|
||||
"DialogMessage_AliasCreatedMessage": "New alias is succesfully created.",
|
||||
"DialogMessage_AliasCreatedTitle": "Created New Alias",
|
||||
"DialogMessage_AliasExistsMessage": "This alias is already in use.",
|
||||
"DialogMessage_AliasExistsTitle": "Existing Alias",
|
||||
"DialogMessage_AliasNotSelectedMessage": "You must select an alias before sending a message.",
|
||||
"DialogMessage_AliasNotSelectedTitle": "Missing Alias",
|
||||
"DialogMessage_CantDeleteRootAliasMessage": "Root alias can't be deleted. This is your main identity associated with your account setup.",
|
||||
"DialogMessage_CantDeleteRootAliasTitle": "Can't Delete Alias",
|
||||
"DialogMessage_CleanupFolderMessage": "Do you want to permanently delete all the mails in this folder?",
|
||||
"DialogMessage_CleanupFolderTitle": "Cleanup Folder",
|
||||
"DialogMessage_ComposerMissingRecipientMessage": "Message has no recipient.",
|
||||
"DialogMessage_ComposerValidationFailedTitle": "Validation Failed",
|
||||
"DialogMessage_CreateLinkedAccountMessage": "Give this new link a name. Accounts will be merged under this name.",
|
||||
"DialogMessage_CreateLinkedAccountTitle": "Account Link Name",
|
||||
"DialogMessage_PrintingFailedMessage": "Failed to print this mail. Result: {0}",
|
||||
"DialogMessage_PrintingFailedTitle": "Failed",
|
||||
"DialogMessage_PrintingSuccessTitle": "Success",
|
||||
"DialogMessage_PrintingSuccessMessage": "Mail is sent to printer.",
|
||||
"DialogMessage_DeleteAccountConfirmationMessage": "Delete {0}?",
|
||||
"DialogMessage_DeleteAccountConfirmationTitle": "All data associated with this account will be deleted from disk permanently.",
|
||||
"DialogMessage_DiscardDraftConfirmationMessage": "This draft will be discarded. Do you want to continue?",
|
||||
"DialogMessage_DiscardDraftConfirmationTitle": "Discard Draft",
|
||||
"DialogMessage_EmptySubjectConfirmation": "Missing Subject",
|
||||
"DialogMessage_EmptySubjectConfirmationMessage": "Message has no subject. Do you want to continue?",
|
||||
"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": "Enable Startup Launch",
|
||||
"DialogMessage_HardDeleteConfirmationMessage": "Permanent Delete",
|
||||
"DialogMessage_HardDeleteConfirmationTitle": "Message(s) will be permanently deleted. Do you want to continue?",
|
||||
"DialogMessage_InvalidAliasMessage": "This alias is not valid. Make sure all addresses of the alias are valid e-mail addresses.",
|
||||
"DialogMessage_InvalidAliasTitle": "Invalid Alias",
|
||||
"DialogMessage_NoAccountsForCreateMailMessage": "You don't have any accounts to create message from.",
|
||||
"DialogMessage_NoAccountsForCreateMailTitle": "Account Missing",
|
||||
"DialogMessage_PrintingFailedMessage": "Failed to print this mail. Result: {0}",
|
||||
"DialogMessage_PrintingFailedTitle": "Failed",
|
||||
"DialogMessage_PrintingSuccessMessage": "Mail is sent to printer.",
|
||||
"DialogMessage_PrintingSuccessTitle": "Success",
|
||||
"DialogMessage_RenameFolderMessage": "Enter new name for this folder",
|
||||
"DialogMessage_RenameFolderTitle": "Rename Folder",
|
||||
"DialogMessage_RenameLinkedAccountsMessage": "Enter new name for linked account",
|
||||
"DialogMessage_RenameLinkedAccountsTitle": "Rename Linked Account",
|
||||
"DialogMessage_UnlinkAccountsConfirmationMessage": "This operation will not delete your accounts but only break the link for shared folder connections. Do you want to continue?",
|
||||
"DialogMessage_UnlinkAccountsConfirmationTitle": "Unlink Accounts",
|
||||
"DialogMessage_EmptySubjectConfirmation": "Missing Subject",
|
||||
"DialogMessage_EmptySubjectConfirmationMessage": "Message has no subject. Do you want to continue?",
|
||||
"DialogMessage_RenameFolderTitle": "Rename Folder",
|
||||
"DialogMessage_RenameFolderMessage": "Enter new name for this folder",
|
||||
"DialogMessage_UnsubscribeConfirmationTitle": "Unsubscribe",
|
||||
"DialogMessage_UnsubscribeConfirmationOneClickMessage": "Do you want to stop getting messages from {0}?",
|
||||
"DialogMessage_UnsubscribeConfirmationGoToWebsiteMessage": "To stop getting messages from {0}, go to their website to unsubscribe.",
|
||||
"DialogMessage_UnsubscribeConfirmationGoToWebsiteConfirmButton": "Go to website",
|
||||
"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_EnableStartupLaunchTitle": "Enable Startup Launch",
|
||||
"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_EnableStartupLaunchDeniedMessage": "You can enable startup launch from Settings -> App Preferences.",
|
||||
"Dialog_DontAskAgain": "Don't ask again",
|
||||
"CalendarAllDayEventSummary": "all-day events",
|
||||
"CalendarItemAllDay": "all day",
|
||||
"CalendarItem_DetailsPopup_JoinOnline": "Join online",
|
||||
"CalendarItem_DetailsPopup_ViewEventButton": "View event",
|
||||
"CalendarItem_DetailsPopup_ViewSeriesButton": "View series",
|
||||
"CalendarDisplayOptions_Expand": "Expand",
|
||||
"CalendarDisplayOptions_Color": "Color",
|
||||
"CreateAccountAliasDialog_Title": "Create Account Alias",
|
||||
"CreateAccountAliasDialog_Description": "Make sure your outgoing server allows sending mails from this alias.",
|
||||
"CreateAccountAliasDialog_AliasAddress": "Address",
|
||||
"CreateAccountAliasDialog_AliasAddressPlaceholder": "eg. support@mydomain.com",
|
||||
"CreateAccountAliasDialog_ReplyToAddress": "Reply-To Address",
|
||||
"CreateAccountAliasDialog_ReplyToAddressPlaceholder": "admin@mydomain.com",
|
||||
"DialogMessage_UnsubscribeConfirmationOneClickMessage": "Do you want to stop getting messages from {0}?",
|
||||
"DialogMessage_UnsubscribeConfirmationTitle": "Unsubscribe",
|
||||
"DiscordChannelDisclaimerMessage": "Wino doesn't have it's own Discord server, but special 'wino-mail' channel is hosted at 'Developer Sanctuary' server.\nTo get the updates about Wino please join Developer Sanctuary server and follow 'wino-mail' channel under 'Community Projects'\n\nYou will be directed to server URL since Discord doesn't support channel invites.",
|
||||
"DiscordChannelDisclaimerTitle": "Important Discord Information",
|
||||
"Draft": "Draft",
|
||||
"Busy": "Busy",
|
||||
"DragMoveToFolderCaption": "Move to {0}",
|
||||
"EditorToolbarOption_Draw": "Draw",
|
||||
"EditorToolbarOption_Format": "Format",
|
||||
"EditorToolbarOption_Insert": "Insert",
|
||||
@@ -158,24 +171,26 @@
|
||||
"ElementTheme_Default": "Use system setting",
|
||||
"ElementTheme_Light": "Light mode",
|
||||
"Emoji": "Emoji",
|
||||
"Exception_WinoServerException": "Wino server failed.",
|
||||
"Exception_MailProcessing": "This mail is still being processed. Please try again after few seconds.",
|
||||
"Exception_ImapAutoDiscoveryFailed": "Couldn't find mailbox settings.",
|
||||
"Exception_ImapClientPoolFailed": "IMAP Client Pool failed.",
|
||||
"Error_FailedToSetupSystemFolders_Title": "Failed to setup system folders",
|
||||
"Exception_AuthenticationCanceled": "Authentication canceled",
|
||||
"Exception_CustomThemeExists": "This theme already exists.",
|
||||
"Exception_CustomThemeMissingName": "You must provide a name.",
|
||||
"Exception_CustomThemeMissingWallpaper": "You must provide a custom background image.",
|
||||
"Exception_FailedToSynchronizeFolders": "Failed to synchronize folders",
|
||||
"Exception_FailedToSynchronizeAliases": "Failed to synchronize aliases",
|
||||
"Exception_MissingAlias": "Primary alias does not exist for this account. Creating draft failed.",
|
||||
"Exception_FailedToSynchronizeFolders": "Failed to synchronize folders",
|
||||
"Exception_FailedToSynchronizeProfileInformation": "Failed to synchronize profile information",
|
||||
"Exception_GoogleAuthCallbackNull": "Callback uri is null on activation.",
|
||||
"Exception_GoogleAuthCorruptedCode": "Corrupted authorization response.",
|
||||
"Exception_GoogleAuthError": "OAuth authorization error: {0}",
|
||||
"Exception_GoogleAuthInvalidResponse": "Received request with invalid state ({0})",
|
||||
"Exception_GoogleAuthorizationCodeExchangeFailed": "Authorization code exchange failed.",
|
||||
"Exception_ImapAutoDiscoveryFailed": "Couldn't find mailbox settings.",
|
||||
"Exception_ImapClientPoolFailed": "IMAP Client Pool failed.",
|
||||
"Exception_InboxNotAvailable": "Couldn't setup account folders.",
|
||||
"Exception_InvalidSystemFolderConfiguration": "System folder configuration is not valid. Check configuration and try again.",
|
||||
"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": "Assigned account is null",
|
||||
"Exception_NullAssignedFolder": "Assigned folder is null",
|
||||
"Exception_SynchronizerFailureHTTP": "Response handling failed with error HTTP code {0}",
|
||||
@@ -186,12 +201,12 @@
|
||||
"Exception_UnsupportedProvider": "This provider is not supported.",
|
||||
"Exception_UnsupportedSynchronizerOperation": "This operation is not supported for {0}",
|
||||
"Exception_UserCancelSystemFolderSetupDialog": "User canceled system folder config dialog.",
|
||||
"Exception_InboxNotAvailable": "Couldn't setup account folders.",
|
||||
"Exception_WinoServerException": "Wino server failed.",
|
||||
"Files": "Files",
|
||||
"FilteringOption_All": "All",
|
||||
"FilteringOption_Files": "Has files",
|
||||
"FilteringOption_Flagged": "Flagged",
|
||||
"FilteringOption_Unread": "Unread",
|
||||
"FilteringOption_Files": "Has files",
|
||||
"Focused": "Focused",
|
||||
"FolderOperation_CreateSubFolder": "Create sub folder",
|
||||
"FolderOperation_Delete": "Delete",
|
||||
@@ -199,27 +214,71 @@
|
||||
"FolderOperation_Empty": "Empty this folder",
|
||||
"FolderOperation_MarkAllAsRead": "Mark all as read",
|
||||
"FolderOperation_Move": "Move",
|
||||
"DragMoveToFolderCaption": "Move to {0}",
|
||||
"FolderOperation_None": "None",
|
||||
"FolderOperation_Pin": "Pin",
|
||||
"FolderOperation_Rename": "Rename",
|
||||
"FolderOperation_Unpin": "Unpin",
|
||||
"GeneralTitle_Error": "Error",
|
||||
"GeneralTitle_Info": "Information",
|
||||
"GeneralTitle_Warning": "Warning",
|
||||
"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": "Archive",
|
||||
"HoverActionOption_Delete": "Delete",
|
||||
"HoverActionOption_MoveJunk": "Move to Junk",
|
||||
"HoverActionOption_ToggleFlag": "Flag / Unflag",
|
||||
"HoverActionOption_ToggleRead": "Read / Unread",
|
||||
"MergedAccountCommonFolderInbox": "Inbox",
|
||||
"MergedAccountCommonFolderSent": "Sent",
|
||||
"MergedAccountCommonFolderDraft": "Draft",
|
||||
"MergedAccountCommonFolderJunk": "Junk",
|
||||
"MergedAccountCommonFolderTrash": "Deleted",
|
||||
"MergedAccountCommonFolderArchive": "Archive",
|
||||
"ImageRenderingDisabled": "Image rendering is disabled for this message.",
|
||||
"ImapAdvancedSetupDialog_AuthenticationMethod": "Authentication method",
|
||||
"ImapAdvancedSetupDialog_ConnectionSecurity": "Connection security",
|
||||
"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": "Auto",
|
||||
"ImapAuthenticationMethod_CramMD5": "CRAM-MD5",
|
||||
"ImapAuthenticationMethod_DigestMD5": "DIGEST-MD5",
|
||||
"ImapAuthenticationMethod_EncryptedPassword": "Encrypted password",
|
||||
"ImapAuthenticationMethod_None": "No authentication",
|
||||
"ImapAuthenticationMethod_Ntlm": "NTLM",
|
||||
"ImapAuthenticationMethod_Plain": "Normal password",
|
||||
"ImapConnectionSecurity_Auto": "Auto",
|
||||
"ImapConnectionSecurity_None": "None",
|
||||
"ImapConnectionSecurity_SslTls": "SSL/TLS",
|
||||
"ImapConnectionSecurity_StartTls": "STARTTLS",
|
||||
"IMAPSetupDialog_AccountType": "Account type",
|
||||
"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": "Subject",
|
||||
"IMAPSetupDialog_CertificateValidFrom": "Valid from",
|
||||
"IMAPSetupDialog_CertificateValidTo": "Valid to",
|
||||
"IMAPSetupDialog_CertificateView": "View Certificate",
|
||||
"IMAPSetupDialog_ConnectionFailedMessage": "IMAP connection failed.",
|
||||
"IMAPSetupDialog_ConnectionFailedTitle": "Connection Failed",
|
||||
"IMAPSetupDialog_DisplayName": "Display Name",
|
||||
"IMAPSetupDialog_DisplayNamePlaceholder": "eg. John Doe",
|
||||
"IMAPSetupDialog_IncomingMailServer": "Incoming mail server",
|
||||
"IMAPSetupDialog_IncomingMailServerPort": "Port",
|
||||
"IMAPSetupDialog_IMAPSettings": "IMAP Server Settings",
|
||||
"IMAPSetupDialog_SMTPSettings": "SMTP Server Settings",
|
||||
"IMAPSetupDialog_MailAddress": "Email address",
|
||||
"IMAPSetupDialog_MailAddressPlaceholder": "someone@example.com",
|
||||
"IMAPSetupDialog_OutgoingMailServer": "Outgoing (SMTP) mail server",
|
||||
@@ -231,26 +290,9 @@
|
||||
"IMAPSetupDialog_RequireSSLForIncomingMail": "Require SSL for incoming email",
|
||||
"IMAPSetupDialog_RequireSSLForOutgoingMail": "Require SSL for outgoing email",
|
||||
"IMAPSetupDialog_Title": "Advanced IMAP Configuration",
|
||||
"IMAPSetupDialog_UseSameConfig": "Use the same username and password for sending email",
|
||||
"IMAPSetupDialog_Username": "Username",
|
||||
"IMAPSetupDialog_UsernamePlaceholder": "johndoe, johndoe@fabrikam.com, domain/johndoe",
|
||||
"IMAPSetupDialog_ConnectionFailedTitle": "Connection Failed",
|
||||
"IMAPSetupDialog_ConnectionFailedMessage": "IMAP connection 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_CertificateIssuer": "Issuer",
|
||||
"IMAPSetupDialog_CertificateSubject": "Subject",
|
||||
"IMAPSetupDialog_CertificateValidFrom": "Valid from",
|
||||
"IMAPSetupDialog_CertificateValidTo": "Valid to",
|
||||
"IMAPSetupDialog_CertificateDenied": "User didn't authorize the handshake with the certificate.",
|
||||
"IMAPSetupDialog_CertificateView": "View Certificate",
|
||||
"ImageRenderingDisabled": "Image rendering is disabled for this message.",
|
||||
"InfoBarAction_Enable": "Enable",
|
||||
"InfoBarMessage_SynchronizationDisabledFolder": "This folder is disabled for synchronization.",
|
||||
"InfoBarTitle_SynchronizationDisabledFolder": "Disabled Folder",
|
||||
"GeneralTitle_Error": "Error",
|
||||
"GeneralTitle_Warning": "Warning",
|
||||
"GeneralTitle_Info": "Information",
|
||||
"IMAPSetupDialog_UseSameConfig": "Use the same username and password for sending email",
|
||||
"Info_AccountCreatedMessage": "{0} is created",
|
||||
"Info_AccountCreatedTitle": "Account Creation",
|
||||
"Info_AccountCreationFailedTitle": "Account Creation Failed",
|
||||
@@ -269,14 +311,15 @@
|
||||
"Info_BackgroundExecutionDeniedTitle": "Denied Background Execution",
|
||||
"Info_BackgroundExecutionUnknownErrorMessage": "Unknown exception occurred when registering background synchronizer.",
|
||||
"Info_BackgroundExecutionUnknownErrorTitle": "Background Execution Failure",
|
||||
"Info_FailedToOpenFileTitle": "Failed to launch file.",
|
||||
"Info_FailedToOpenFileMessage": "File might be removed from the disk.",
|
||||
"Info_CantDeletePrimaryAliasMessage": "Primary alias can't be deleted. Please change your alias before deleting this one",
|
||||
"Info_ComposerMissingMIMEMessage": "Couldn't locate the MIME file. Synchronizing may help.",
|
||||
"Info_ComposerMissingMIMETitle": "Failed",
|
||||
"Info_ContactExistsMessage": "This contact is already in the recipient list.",
|
||||
"Info_ContactExistsTitle": "Contact Exists",
|
||||
"Info_DraftFolderMissingMessage": "Draft folder is missing for this account. Please check your account settings.",
|
||||
"Info_DraftFolderMissingTitle": "Missing Draft Folder",
|
||||
"Info_FailedToOpenFileMessage": "File might be removed from the disk.",
|
||||
"Info_FailedToOpenFileTitle": "Failed to launch file.",
|
||||
"Info_FileLaunchFailedTitle": "Failed to launch file",
|
||||
"Info_InvalidAddressMessage": "'{0}' is not a valid e-mail address.",
|
||||
"Info_InvalidAddressTitle": "Invalid Address",
|
||||
@@ -286,15 +329,16 @@
|
||||
"Info_LogsNotFoundTitle": "Logs Not Found",
|
||||
"Info_LogsSavedMessage": "{0} is saved to selected folder.",
|
||||
"Info_LogsSavedTitle": "Saved",
|
||||
"Info_MailListSizeResetSuccessMessage": "The Mail List size has been reset.",
|
||||
"Info_MailRenderingFailedMessage": "This mail is corrupted or can't be opened.\n{0}",
|
||||
"Info_MailRenderingFailedTitle": "Render Failed",
|
||||
"Info_MessageCorruptedMessage": "This message is corrupted.",
|
||||
"Info_MessageCorruptedTitle": "Error",
|
||||
"Info_MissingFolderMessage": "{0} doesn't exist for this account.",
|
||||
"Info_MissingFolderTitle": "Missing Folder",
|
||||
"Info_PDFSaveSuccessTitle": "Success",
|
||||
"Info_PDFSaveFailedTitle": "Failed to save PDF file",
|
||||
"Info_PDFSaveSuccessMessage": "PDF file is saved to {0}",
|
||||
"Info_PDFSaveSuccessTitle": "Success",
|
||||
"Info_PurchaseExistsMessage": "Looks like this product has already been purchased before.",
|
||||
"Info_PurchaseExistsTitle": "Existing Product",
|
||||
"Info_PurchaseThankYouMessage": "Thank You",
|
||||
@@ -314,32 +358,21 @@
|
||||
"Info_SyncCanceledMessage": "Canceled",
|
||||
"Info_SyncCanceledTitle": "Synchronization",
|
||||
"Info_SyncFailedTitle": "Synchronization Failed",
|
||||
"Info_UnsubscribeErrorMessage": "Failed to unsubscribe",
|
||||
"Info_UnsubscribeLinkInvalidMessage": "This unsubscribe link is invalid. Failed to unsubscribe from the list.",
|
||||
"Info_UnsubscribeLinkInvalidTitle": "Invalid Unsubscribe Uri",
|
||||
"Info_UnsubscribeSuccessMessage": "Successfully unsubscribed from {0}.",
|
||||
"Info_UnsupportedFunctionalityDescription": "This functionality is not implemented yet.",
|
||||
"Info_UnsupportedFunctionalityTitle": "Unsupported",
|
||||
"Info_UnsubscribeLinkInvalidTitle": "Invalid Unsubscribe Uri",
|
||||
"Info_UnsubscribeLinkInvalidMessage": "This unsubscribe link is invalid. Failed to unsubscribe from the list.",
|
||||
"Info_UnsubscribeSuccessMessage": "Successfully unsubscribed from {0}.",
|
||||
"Info_UnsubscribeErrorMessage": "Failed to unsubscribe",
|
||||
"Info_CantDeletePrimaryAliasMessage": "Primary alias can't be deleted. Please change your alias before deleting this one",
|
||||
"Info_MailListSizeResetSuccessMessage": "The Mail List size has been reset.",
|
||||
"ImapAdvancedSetupDialog_AuthenticationMethod": "Authentication method",
|
||||
"ImapAdvancedSetupDialog_ConnectionSecurity": "Connection security",
|
||||
"ImapAuthenticationMethod_Auto": "Auto",
|
||||
"ImapAuthenticationMethod_CramMD5": "CRAM-MD5",
|
||||
"ImapAuthenticationMethod_DigestMD5": "DIGEST-MD5",
|
||||
"ImapAuthenticationMethod_None": "No authentication",
|
||||
"ImapAuthenticationMethod_Plain": "Normal password",
|
||||
"ImapAuthenticationMethod_EncryptedPassword": "Encrypted password",
|
||||
"ImapAuthenticationMethod_Ntlm": "NTLM",
|
||||
"ImapConnectionSecurity_None": "None",
|
||||
"ImapConnectionSecurity_SslTls": "SSL/TLS",
|
||||
"ImapConnectionSecurity_StartTls": "STARTTLS",
|
||||
"ImapConnectionSecurity_Auto": "Auto",
|
||||
"InfoBarAction_Enable": "Enable",
|
||||
"InfoBarMessage_SynchronizationDisabledFolder": "This folder is disabled for synchronization.",
|
||||
"InfoBarTitle_SynchronizationDisabledFolder": "Disabled Folder",
|
||||
"Justify": "Justify",
|
||||
"Left": "Left",
|
||||
"Link": "Link",
|
||||
"LinkedAccountsCreatePolicyMessage": "you must have at least 2 accounts to create link\nlink will be removed on save",
|
||||
"LinkedAccountsTitle": "Linked Accounts",
|
||||
"MailItemNoSubject": "No subject",
|
||||
"MailOperation_AlwaysMoveFocused": "Always Move to Focused",
|
||||
"MailOperation_AlwaysMoveOther": "Always Move to Other",
|
||||
"MailOperation_Archive": "Archive",
|
||||
@@ -366,25 +399,32 @@
|
||||
"MailOperation_SaveAs": "Save As",
|
||||
"MailOperation_SetFlag": "Set flag",
|
||||
"MailOperation_Unarchive": "Unarchive",
|
||||
"MailOperation_Zoom": "Zoom",
|
||||
"MailOperation_ViewMessageSource": "View message source",
|
||||
"MailOperation_Zoom": "Zoom",
|
||||
"MailsSelected": "{0} item(s) selected",
|
||||
"MarkFlagUnflag": "Mark as flagged/unflagged",
|
||||
"MarkReadUnread": "Mark as read/unread",
|
||||
"MenuManageAccounts": "Manage Accounts",
|
||||
"MenuNewMail": "New Mail",
|
||||
"MenuMergedAccountItemAccountsSuffix": " accounts",
|
||||
"MenuNewMail": "New Mail",
|
||||
"MenuRate": "Rate Wino",
|
||||
"MenuSettings": "Settings",
|
||||
"MergedAccountCommonFolderArchive": "Archive",
|
||||
"MergedAccountCommonFolderDraft": "Draft",
|
||||
"MergedAccountCommonFolderInbox": "Inbox",
|
||||
"MergedAccountCommonFolderJunk": "Junk",
|
||||
"MergedAccountCommonFolderSent": "Sent",
|
||||
"MergedAccountCommonFolderTrash": "Deleted",
|
||||
"MergedAccountsAvailableAccountsTitle": "Available Accounts",
|
||||
"MessageSourceDialog_Title": "Message source",
|
||||
"More": "More",
|
||||
"MoreFolderNameOverride": "More",
|
||||
"MoveMailDialog_InvalidFolderMessage": "{0} is not a valid folder for this mail.",
|
||||
"MoveMailDialog_Title": "Pick a folder",
|
||||
"NewAccountDialog_AccountName": "Account Name",
|
||||
"NewAccountDialog_AccountNameDefaultValue": "Personal",
|
||||
"NewAccountDialog_AccountNamePlaceholder": "eg. Personal Mail",
|
||||
"NewAccountDialog_Title": "Add New Account",
|
||||
"MessageSourceDialog_Title": "Message source",
|
||||
"NoMailSelected": "No message selected",
|
||||
"NoMessageCrieteria": "No messages match your search criteria",
|
||||
"NoMessageEmptyFolder": "This folder is empty",
|
||||
@@ -392,6 +432,9 @@
|
||||
"Notifications_MultipleNotificationsTitle": "New Mail",
|
||||
"Notifications_WinoUpdatedMessage": "Checkout new version {0}",
|
||||
"Notifications_WinoUpdatedTitle": "Wino Mail has been updated.",
|
||||
"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": "Other",
|
||||
"PaneLengthOption_Default": "Default",
|
||||
"PaneLengthOption_ExtraLarge": "Extra Large",
|
||||
@@ -401,64 +444,94 @@
|
||||
"PaneLengthOption_Small": "Small",
|
||||
"Photos": "Photos",
|
||||
"PreparingFoldersMessage": "Preparing folders",
|
||||
"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": "Custom IMAP/SMTP server",
|
||||
"ProviderDetail_IMAP_Title": "IMAP Server",
|
||||
"ProviderDetail_Yahoo_Title": "Yahoo Mail",
|
||||
"ProviderDetail_Yahoo_Description": "Yahoo Account",
|
||||
"ProviderDetail_iCloud_Title": "iCloud",
|
||||
"ProviderDetail_iCloud_Description": "Apple iCloud Account",
|
||||
"ProtocolLogAvailable_Message": "Protocol logs are available for diagnostics.",
|
||||
"ProviderDetail_Yahoo_Title": "Yahoo Mail",
|
||||
"QuickEventDialog_EventName": "Event name",
|
||||
"QuickEventDialog_IsAllDay": "All day",
|
||||
"QuickEventDialog_Location": "Location",
|
||||
"QuickEventDialog_RemindMe": "Remind me",
|
||||
"QuickEventDialogMoreDetailsButtonText": "More details",
|
||||
"Reader_SaveAllAttachmentButtonText": "Save all attachments",
|
||||
"Results": "Results",
|
||||
"Right": "Right",
|
||||
"Reader_SaveAllAttachmentButtonText": "Save all attachments",
|
||||
"SynchronizationFolderReport_Success": "up to date",
|
||||
"SynchronizationFolderReport_Failed": "synchronization is failed",
|
||||
"SearchBarPlaceholder": "Search",
|
||||
"SearchingIn": "Searching in",
|
||||
"SearchPivotName": "Results",
|
||||
"SettingsAboutGithub_Description": "Go to issue tracker GitHub repository.",
|
||||
"SettingsAboutGithub_Title": "GitHub",
|
||||
"SettingsAccountManagementAppendMessage_Title": "Append messages to Sent folder",
|
||||
"SettingsAccountManagementAppendMessage_Description": "Create a copy of the message in Sent folder after the draft is sent. Enable this if you don't see your mails after you sent them in Sent folder.",
|
||||
"SettingsEditLinkedInbox_Title": "Edit Linked Inbox",
|
||||
"SettingsEditLinkedInbox_Description": "Add / remove accounts, rename or break the link between accounts.",
|
||||
"SettingsAboutVersion": "Version ",
|
||||
"SettingsAboutWinoDescription": "Lightweight mail client for Windows device families.",
|
||||
"SettingConfigureSpecialFolders_Button": "Configure",
|
||||
"SettingsEditAccountDetails_IMAPConfiguration_Title": "IMAP/SMTP Configuration",
|
||||
"SettingsEditAccountDetails_IMAPConfiguration_Description": "Change your incoming/outgoing server settings.",
|
||||
"SettingsAbout_Description": "Learn more about Wino.",
|
||||
"SettingsAbout_Title": "About",
|
||||
"SettingsAboutGithub_Description": "Go to issue tracker GitHub repository.",
|
||||
"SettingsAboutGithub_Title": "GitHub",
|
||||
"SettingsAboutVersion": "Version ",
|
||||
"SettingsAboutWinoDescription": "Lightweight mail client for Windows device families.",
|
||||
"SettingsAccentColor_Description": "Change application's accent color",
|
||||
"SettingsAccentColor_Title": "Accent Color",
|
||||
"SettingsAccentColor_UseWindowsAccentColor": "Use my Windows accent color",
|
||||
"SettingsAccountManagementAppendMessage_Description": "Create a copy of the message in Sent folder after the draft is sent. Enable this if you don't see your mails after you sent them in Sent folder.",
|
||||
"SettingsAccountManagementAppendMessage_Title": "Append messages to Sent folder",
|
||||
"SettingsAccountName_Description": "Change the name of the account.",
|
||||
"SettingsAccountName_Title": "Account Name",
|
||||
"SettingsApplicationTheme_Description": "Personalize Wino with different custom application themes for your like.",
|
||||
"SettingsApplicationTheme_Title": "Application Theme",
|
||||
"SettingsAppPreferences_CloseBehavior_Description": "What should happen when you close the app?",
|
||||
"SettingsAppPreferences_CloseBehavior_Title": "Application close behavior",
|
||||
"SettingsAppPreferences_Description": "General settings / preferences for Wino Mail.",
|
||||
"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": "Default search mode",
|
||||
"SettingsAppPreferences_ServerBackgroundingMode_Invisible_Description": "Wino Mail will keep running in the background. You will be notified as new mails arrive.",
|
||||
"SettingsAppPreferences_ServerBackgroundingMode_Invisible_Title": "Run in the background",
|
||||
"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": "Minimize to system tray",
|
||||
"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": "Terminate",
|
||||
"SettingsAppPreferences_StartupBehavior_Description": "Allow Wino Mail to launch minimized when Windows starts. Always allow it to receive notifications.",
|
||||
"SettingsAppPreferences_StartupBehavior_Disable": "Disable",
|
||||
"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": "Enable",
|
||||
"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 minimized on Windows startup",
|
||||
"SettingsAppPreferences_Title": "App Preferences",
|
||||
"SettingsAutoSelectNextItem_Description": "Select the next item after you delete or move a mail.",
|
||||
"SettingsAutoSelectNextItem_Title": "Auto select next item",
|
||||
"SettingsAvailableThemes_Description": "Select a theme from Wino's own collection for your taste or apply your own themes.",
|
||||
"SettingsAvailableThemes_Title": "Available Themes",
|
||||
"SettingsAutoSelectNextItem_Title": "Auto select next item",
|
||||
"SettingsAutoSelectNextItem_Description": "Select the next item after you delete or move a mail.",
|
||||
"SettingsCalendarSettings_Title": "Calendar Settings",
|
||||
"SettingsCalendarSettings_Description": "Change first day of week, hour cell height and more...",
|
||||
"SettingsCalendarSettings_Title": "Calendar Settings",
|
||||
"SettingsComposer_Title": "Composer",
|
||||
"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": "Create your own custom theme with custom wallpaper and accent color.",
|
||||
"SettingsCustomTheme_Title": "Custom Theme",
|
||||
"SettingsConfigureSpecialFolders_Title": "Configure System Folders",
|
||||
"SettingsConfigureSpecialFolders_Description": "Set folders with special functions. Folders such as Archive, Inbox, and Drafts are essential for Wino to function properly.",
|
||||
"SettingConfigureSpecialFolders_Button": "Configure",
|
||||
"Error_FailedToSetupSystemFolders_Title": "Failed to setup system folders",
|
||||
"SettingsDeleteAccount_Description": "Delete all e-mails and credentials associated with this account.",
|
||||
"SettingsDeleteAccount_Title": "Delete this account",
|
||||
"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.",
|
||||
"SettingsDiagnostics_DiagnosticId_Title": "Diagnostic ID",
|
||||
"SettingsDiagnostics_Title": "Diagnostics",
|
||||
"SettingsDiagnostics_DiagnosticId_Title": "Diagnostic Id",
|
||||
"SettingsDiagnostics_DiagnosticId_Description": "Share this Id with the developers when asked to get help for the issues you experience in Wino Mail.",
|
||||
"SettingsDiscord_Description": "Get regular development updates, join roadmap discussions and provide feedback.",
|
||||
"SettingsDiscord_Title": "Discord Channel",
|
||||
"SettingsElementThemeSelectionDisabled": "Element theme selection is disabled when application theme is selected other than Default.",
|
||||
"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",
|
||||
@@ -471,12 +544,15 @@
|
||||
"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",
|
||||
"SettingsFolderOptions_Title": "Folder Configuration",
|
||||
"SettingsFolderOptions_Description": "Change individual folder settings like enable/disable sync or show/hide unread badge.",
|
||||
"SettingsManageAliases_Title": "Aliases",
|
||||
"SettingsManageAliases_Description": "See e-mail aliases assigned for this account, update or delete them.",
|
||||
"SettingsFontFamily_Title": "Font Family",
|
||||
"SettingsFontPreview_Title": "Preview",
|
||||
"SettingsFontSize_Title": "Font Size",
|
||||
"SettingsHoverActionCenter": "Center Action",
|
||||
"SettingsHoverActionLeft": "Left Action",
|
||||
"SettingsHoverActionRight": "Right Action",
|
||||
@@ -484,44 +560,25 @@
|
||||
"SettingsHoverActions_Title": "Hover Actions",
|
||||
"SettingsLanguage_Description": "Change display language for Wino.",
|
||||
"SettingsLanguage_Title": "Display Language",
|
||||
"SettingsLanguageTime_Title": "Language & Time",
|
||||
"SettingsLanguageTime_Description": "Wino display language, preferred time format.",
|
||||
"CategoriesFolderNameOverride": "Categories",
|
||||
"AccountAlias_Column_Verified": "Verified",
|
||||
"AccountAlias_Column_Alias": "Alias",
|
||||
"AccountAlias_Column_IsPrimaryAlias": "Primary",
|
||||
"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.",
|
||||
"MoreFolderNameOverride": "More",
|
||||
"SettingsOptions_Title": "Settings",
|
||||
"SettingsLanguageTime_Title": "Language & Time",
|
||||
"SettingsLinkAccounts_Description": "Merge multiple accounts into one. See mails from one Inbox together.",
|
||||
"SettingsLinkAccounts_Title": "Create Linked Accounts",
|
||||
"SettingsLinkedAccountsSave_Description": "Modify the current link with the new accounts.",
|
||||
"SettingsLinkedAccountsSave_Title": "Save Changes",
|
||||
"SettingsLoadImages_Title": "Load images automatically",
|
||||
"SettingsLoadStyles_Title": "Load styles automatically",
|
||||
"SettingsLoadPlaintextLinks_Title": "Convert plaintext links to clickable links",
|
||||
"SettingsLoadStyles_Title": "Load styles automatically",
|
||||
"SettingsMailListActionBar_Description": "Hide/show action bar at top of message list.",
|
||||
"SettingsMailListActionBar_Title": "Show mail list actions",
|
||||
"SettingsMailSpacing_Description": "Adjust the spacing for listing mails.",
|
||||
"SettingsMailSpacing_Title": "Mail Spacing",
|
||||
"SettingsFolderMenuStyle_Title": "Create Nested Folders",
|
||||
"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",
|
||||
"SettingsManageAccountSettings_Description": "Notifications, signatures, synchronization and other settings per account.",
|
||||
"SettingsManageAccountSettings_Title": "Manage Account Settings",
|
||||
"SettingsAppPreferences_Title": "App Preferences",
|
||||
"SettingsAppPreferences_Description": "General settings / preferences for Wino Mail.",
|
||||
"SettingsAppPreferences_CloseBehavior_Title": "Application close behavior",
|
||||
"SettingsAppPreferences_CloseBehavior_Description": "What should happen when you close the app?",
|
||||
"SettingsAppPreferences_StartupBehavior_Title": "Start minimized on Windows startup",
|
||||
"SettingsAppPreferences_StartupBehavior_Description": "Allow Wino Mail to launch minimized when Windows starts. Always allow it to receive notifications.",
|
||||
"SettingsAppPreferences_StartupBehavior_Enabled": "Wino Mail successfully set to be launched in the background on Windows startup.",
|
||||
"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_FatalError": "Fatal error occurred while changing the startup mode for Wino Mail.",
|
||||
"SettingsAppPreferences_StartupBehavior_Enable": "Enable",
|
||||
"SettingsAppPreferences_StartupBehavior_Disable": "Disable",
|
||||
"SettingsReorderAccounts_Title": "Reorder Accounts",
|
||||
"SettingsReorderAccounts_Description": "Change the order of accounts in the account list.",
|
||||
"SettingsManageAliases_Description": "See e-mail aliases assigned for this account, update or delete them.",
|
||||
"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.",
|
||||
@@ -535,59 +592,71 @@
|
||||
"SettingsNoAccountSetupMessage": "You didn't setup any accounts yet.",
|
||||
"SettingsNotifications_Description": "Turn on or off notifications for this account.",
|
||||
"SettingsNotifications_Title": "Notifications",
|
||||
"SettingsNotificationsAndTaskbar_Title": "Notifications & Taskbar",
|
||||
"SettingsTaskbarBadge_Title": "Taskbar Badge",
|
||||
"SettingsTaskbarBadge_Description": "Include unread mail count in taskbar icon.",
|
||||
"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",
|
||||
"SettingsPersonalization_Description": "Change appearance of Wino as you like.",
|
||||
"SettingsPersonalization_Title": "Personalization",
|
||||
"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",
|
||||
"SettingsReader_Title": "Reader",
|
||||
"SettingsComposer_Title": "Composer",
|
||||
"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.",
|
||||
"SettingsFontFamily_Title": "Font Family",
|
||||
"SettingsFontSize_Title": "Font Size",
|
||||
"SettingsFontPreview_Title": "Preview",
|
||||
"SettingsComposerFont_Title": "Default Composer Font",
|
||||
"SettingsComposerFontFamily_Description": "Change the default font family and font size for composing 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",
|
||||
"SettingsPrefer24HourClock_Title": "Display Clock Format in 24 Hours",
|
||||
"SettingsPrefer24HourClock_Description": "Mail recieve times will be displayed in 24 hour format instead of 12 (AM/PM)",
|
||||
"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",
|
||||
"SettingsMailListActionBar_Description": "Hide/show action bar at top of message list.",
|
||||
"SettingsMailListActionBar_Title": "Show mail list actions",
|
||||
"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.",
|
||||
@@ -601,11 +670,15 @@
|
||||
"SystemFolderConfigDialog_SentFolderDescription": "Folder that sent messages will be stored.",
|
||||
"SystemFolderConfigDialog_SentFolderHeader": "Sent Folder",
|
||||
"SystemFolderConfigDialog_Title": "Configure System Folders",
|
||||
"SystemFolderConfigDialogValidation_InboxSelected": "You can't assign Inbox folder to any other system folder.",
|
||||
"SystemFolderConfigDialogValidation_DuplicateSystemFolders": "Some of the system folders are used more than once in the configuration.",
|
||||
"SystemFolderConfigSetupSuccess_Title": "System Folders Setup",
|
||||
"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",
|
||||
@@ -616,37 +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",
|
||||
"SignatureEditorDialog_Title": "Signature Editor",
|
||||
"SignatureEditorDialog_SignatureName_Placeholder": "Name your signature",
|
||||
"SignatureEditorDialog_SignatureName_TitleNew": "Signature name",
|
||||
"SignatureEditorDialog_SignatureName_TitleEdit": "Current signature name: {0}",
|
||||
"SignatureDeleteDialog_Title": "Delete signature",
|
||||
"SignatureDeleteDialog_Message": "Are you sure you want to delete \"{0}\" signature?",
|
||||
"SettingsSignature_ForNewMessages_Title": "For New Messages",
|
||||
"SettingsSignature_ForFollowingMessages_Title": "For Replies/Forwards",
|
||||
"SettingsSignature_SignatureDefaults": "Signature defaults",
|
||||
"SettingsSignature_Signatures": "Signatures",
|
||||
"SettingsSignature_AddCustomSignature_Title": "Add custom signature",
|
||||
"SettingsSignature_AddCustomSignature_Button": "Add signature",
|
||||
"SettingsSignature_EditSignature_Title": "Edit signature",
|
||||
"SettingsSignature_DeleteSignature_Title": "Delete signature",
|
||||
"SettingsSignature_NoneSignatureName": "None",
|
||||
"SettingsAppPreferences_ServerBackgroundingMode_MinimizeTray_Title": "Minimize to system tray",
|
||||
"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_Invisible_Title": "Run in the background",
|
||||
"SettingsAppPreferences_ServerBackgroundingMode_Invisible_Description": "Wino Mail will keep running in the background. You will be notified as new mails arrive.",
|
||||
"SettingsAppPreferences_ServerBackgroundingMode_Terminate_Title": "Terminate",
|
||||
"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.",
|
||||
"TitleBarServerDisconnectedButton_Title": "no connection",
|
||||
"TitleBarServerDisconnectedButton_Description": "Wino is disconnected from the network. Click reconnect to restore connection.",
|
||||
"TitleBarServerReconnectButton_Title": "reconnect",
|
||||
"TitleBarServerReconnectingButton_Title": "connecting",
|
||||
"MailItemNoSubject": "No subject",
|
||||
"QuickEventDialogMoreDetailsButtonText": "More details",
|
||||
"QuickEventDialog_RemindMe": "Remind me",
|
||||
"QuickEventDialog_Location": "Location",
|
||||
"QuickEventDialog_EventName": "Event name",
|
||||
"QuickEventDialog_IsAllDay": "All day"
|
||||
"Yesterday": "Yesterday"
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -1,29 +1,40 @@
|
||||
{
|
||||
"AccountAlias_Column_Alias": "Alias",
|
||||
"AccountAlias_Column_IsPrimaryAlias": "Primär",
|
||||
"AccountAlias_Column_Verified": "Verifiziert",
|
||||
"AccountAlias_Disclaimer_FirstLine": "Wino kann nur Aliase für Ihre Gmail-Konten importieren.",
|
||||
"AccountAlias_Disclaimer_SecondLine": "Wenn Sie Aliase für Ihr Outlook- oder IMAP-Konto verwenden möchten, fügen Sie diese bitte selbst hinzu.",
|
||||
"AccountCacheReset_Title": "Account-Cache zurücksetzen",
|
||||
"AccountCacheReset_Message": "Dieser Account erfordert eine vollständige Neu-Sychronisierung, um fortzufahren. Bitte warten Sie, während Wino Ihre Nachrichten erneut synchronisiert...",
|
||||
"AccountContactNameYou": "Sie",
|
||||
"AccountCreationDialog_Completed": "alles erledigt",
|
||||
"AccountCreationDialog_Initializing": "Initialisierung",
|
||||
"AccountCreationDialog_PreparingFolders": "Es werden Ordner-Informationen gesammelt.",
|
||||
"AccountCreationDialog_SigninIn": "Kontoinformationen wurden gespeichert.",
|
||||
"AccountCreationDialog_FetchingProfileInformation": "Lade Profildetails.",
|
||||
"AccountCreationDialog_FetchingEvents": "Kalenderereignisse werden abgerufen.",
|
||||
"AccountCreationDialog_FetchingProfileInformation": "Lade Profildetails.",
|
||||
"AccountCreationDialog_GoogleAuthHelpClipboardText_Row0": "Falls Ihr Browser nicht automatisch gestartet wurde, um die Authentifizierung abzuschließen:",
|
||||
"AccountCreationDialog_GoogleAuthHelpClipboardText_Row1": "1) Klicken Sie auf die Schaltfläche unten, um die Authentifizierungsadresse zu kopieren",
|
||||
"AccountCreationDialog_GoogleAuthHelpClipboardText_Row2": "2) Starten Sie Ihren Webbrowser (Edge, Chrome, Firefox, etc...)",
|
||||
"AccountCreationDialog_GoogleAuthHelpClipboardText_Row3": "3) Fügen Sie die kopierte Adresse ein und gehen Sie zu der Webseite, um die Authentifizierung manuell abzuschließen",
|
||||
"AccountCreationDialog_Initializing": "Initialisierung",
|
||||
"AccountCreationDialog_PreparingFolders": "Es werden Ordner-Informationen gesammelt.",
|
||||
"AccountCreationDialog_SigninIn": "Kontoinformationen wurden gespeichert.",
|
||||
"AccountEditDialog_Message": "Konto-Name",
|
||||
"AccountEditDialog_Title": "Konto bearbeiten",
|
||||
"AccountPickerDialog_Title": "Konto auswählen",
|
||||
"AccountSettingsDialog_AccountName": "Absender-Anzeigename",
|
||||
"AccountSettingsDialog_AccountNamePlaceholder": "z.B. Max Mustermann",
|
||||
"AccountDetailsPage_Title": "Konto-Info",
|
||||
"AccountDetailsPage_Description": "Ändern Sie den Namen des Kontos in Wino und setzen Sie den gewünschten Absendernamen.",
|
||||
"AccountDetailsPage_ColorPicker_Title": "Konto-Farbe",
|
||||
"AccountDetailsPage_ColorPicker_Description": "Zuweisen einer neuen Kontofarbe, um das Symbol in der Liste einzufärben.",
|
||||
"AddHyperlink": "Hinzufügen",
|
||||
"AccountContactNameYou": "You",
|
||||
"AutoDiscoveryProgressMessage": "Es wird nach Mail-Einstellungen gesucht...",
|
||||
"AppCloseBackgroundSynchronizationWarningTitle": "Hintergrundsynchronisierung",
|
||||
"AppCloseTerminateBehaviorWarningMessageFirstLine": "Sie beenden Wino Mail und das Schließungsverhalten der App ist auf \"Beenden\" gesetzt.",
|
||||
"AppCloseTerminateBehaviorWarningMessageSecondLine": "Dadurch werden alle Hintergrundsynchronisierungen und Benachrichtigungen beendet.",
|
||||
"AppCloseTerminateBehaviorWarningMessageThirdLine": "Möchten Sie in den App-Einstellungen Wino Mail auf minimiert oder Hintergrundausführung einstellen?",
|
||||
"AppCloseStartupLaunchDisabledWarningMessageFirstLine": "Die Anwendung wird beim Start von Windows nicht gestartet.",
|
||||
"AppCloseStartupLaunchDisabledWarningMessageSecondLine": "Dies führt dazu, dass Sie Benachrichtigungen verpassen, wenn Sie Ihren Computer neu starten.",
|
||||
"AppCloseStartupLaunchDisabledWarningMessageThirdLine": "Möchten Sie diese in den App-Einstellungen aktivieren?",
|
||||
"AppCloseTerminateBehaviorWarningMessageFirstLine": "Sie beenden Wino Mail und das Schließungsverhalten der App ist auf \"Beenden\" gesetzt.",
|
||||
"AppCloseTerminateBehaviorWarningMessageSecondLine": "Dadurch werden alle Hintergrundsynchronisierungen und Benachrichtigungen beendet.",
|
||||
"AppCloseTerminateBehaviorWarningMessageThirdLine": "Möchten Sie in den App-Einstellungen Wino Mail auf minimiert oder Hintergrundausführung einstellen?",
|
||||
"AutoDiscoveryProgressMessage": "Es wird nach Mail-Einstellungen gesucht...",
|
||||
"BasicIMAPSetupDialog_AdvancedConfiguration": "Erweiterte Konfiguration",
|
||||
"BasicIMAPSetupDialog_CredentialLocalMessage": "Die Zugangsdaten werden nur lokal auf Ihrem Computer gespeichert.",
|
||||
"BasicIMAPSetupDialog_Description": "Einige Konten benötigen zusätzliche Schritte zum Anmelden",
|
||||
@@ -34,48 +45,63 @@
|
||||
"BasicIMAPSetupDialog_MailAddressPlaceholder": "johndoe@fabrikam.com",
|
||||
"BasicIMAPSetupDialog_Password": "Passwort",
|
||||
"BasicIMAPSetupDialog_Title": "IMAP-Konto",
|
||||
"Busy": "Beschäftigt",
|
||||
"Buttons_AddAccount": "Konto hinzufügen",
|
||||
"Buttons_AddNewAlias": "Neuen Alias hinzufügen",
|
||||
"Buttons_Allow": "Erlauben",
|
||||
"Buttons_Deny": "Verbieten",
|
||||
"Buttons_SyncAliases": "Aliase synchronisieren",
|
||||
"Buttons_ApplyTheme": "Thema anwenden",
|
||||
"Buttons_Browse": "Durchsuchen",
|
||||
"Buttons_Cancel": "Abbrechen",
|
||||
"Buttons_Close": "Schließen",
|
||||
"Buttons_Copy": "Kopieren",
|
||||
"Buttons_Create": "Erstellen",
|
||||
"Buttons_CreateAccount": "Konto erstellen",
|
||||
"Buttons_Copy": "Kopieren",
|
||||
"Buttons_Delete": "Löschen",
|
||||
"Buttons_Edit": "Bearbeiten",
|
||||
"Buttons_Deny": "Verbieten",
|
||||
"Buttons_Discard": "Verwerfen",
|
||||
"Buttons_Edit": "Bearbeiten",
|
||||
"Buttons_EnableImageRendering": "Aktivieren",
|
||||
"Buttons_Multiselect": "Mehrfachauswahl",
|
||||
"Buttons_No": "Nein",
|
||||
"Buttons_Open": "Öffnen",
|
||||
"Buttons_Purchase": "Kaufen",
|
||||
"Buttons_RateWino": "Wino bewerten",
|
||||
"Buttons_Reset": "Zurücksetzen",
|
||||
"Buttons_Save": "Speichern",
|
||||
"Buttons_SaveConfiguration": "Einstellungen speichern",
|
||||
"Buttons_Send": "Senden",
|
||||
"Buttons_Share": "Teilen",
|
||||
"Buttons_SignIn": "Anmelden",
|
||||
"Buttons_Sync": "Synchronisieren",
|
||||
"Buttons_SyncAliases": "Aliase synchronisieren",
|
||||
"Buttons_TryAgain": "Wiederholen",
|
||||
"Buttons_Yes": "Ja",
|
||||
"Buttons_Reset": "Zurücksetzen",
|
||||
"Buttons_Send": "Senden",
|
||||
"Buttons_Sync": "Synchronisieren",
|
||||
"Buttons_Multiselect": "Mehrfachauswahl",
|
||||
"CalendarAllDayEventSummary": "ganztägige Ereignisse",
|
||||
"CalendarDisplayOptions_Color": "Farbe",
|
||||
"CalendarDisplayOptions_Expand": "Ausklappen",
|
||||
"CalendarItem_DetailsPopup_JoinOnline": "Online beitreten",
|
||||
"CalendarItem_DetailsPopup_ViewEventButton": "Event anzeigen",
|
||||
"CalendarItem_DetailsPopup_ViewSeriesButton": "Serie anzeigen",
|
||||
"CalendarItemAllDay": "ganztägig",
|
||||
"CategoriesFolderNameOverride": "Kategorien",
|
||||
"Center": "Zentriert",
|
||||
"ComingSoon": "Bald verfügbar...",
|
||||
"ComposerFrom": "Von: ",
|
||||
"ComposerSubject": "Betreff: ",
|
||||
"ComposerTo": "An: ",
|
||||
"ClipboardTextCopied_Message": "{0} in die Zwischenablage kopiert.",
|
||||
"ClipboardTextCopied_Title": "Kopiert",
|
||||
"ClipboardTextCopyFailed_Message": "{0} konnte nicht in die Zwischenablage kopiert werden.",
|
||||
"ComposerToPlaceholder": "Klicke Enter um Adressen einzugeben",
|
||||
"ComposerAttachmentsDropZone_Message": "Dateien hier ablegen",
|
||||
"ComposerImagesDropZone_Message": "Bilder hier ablegen",
|
||||
"ComingSoon": "Bald verfügbar...",
|
||||
"ComposerAttachmentsDragDropAttach_Message": "Anhängen",
|
||||
"ComposerAttachmentsDropZone_Message": "Dateien hier ablegen",
|
||||
"ComposerFrom": "Von: ",
|
||||
"ComposerImagesDropZone_Message": "Bilder hier ablegen",
|
||||
"ComposerSubject": "Betreff: ",
|
||||
"ComposerTo": "An: ",
|
||||
"ComposerToPlaceholder": "Klicke Enter um Adressen einzugeben",
|
||||
"CreateAccountAliasDialog_AliasAddress": "Adresse",
|
||||
"CreateAccountAliasDialog_AliasAddressPlaceholder": "z.B. support@mydomain.com",
|
||||
"CreateAccountAliasDialog_Description": "Stellen Sie sicher, dass Ihr ausgehender Server das Senden von Mails von diesem Alias erlaubt.",
|
||||
"CreateAccountAliasDialog_ReplyToAddress": "Antwortadresse",
|
||||
"CreateAccountAliasDialog_ReplyToAddressPlaceholder": "admin@mydomain.com",
|
||||
"CreateAccountAliasDialog_Title": "Kontoalias erstellen",
|
||||
"CustomThemeBuilder_AccentColorDescription": "Legen Sie eine benutzerdefinierte Akzentfarbe fest. Wenn Sie keine Farbe wählen, wird die Akzentfarbe von Windows verwendet.",
|
||||
"CustomThemeBuilder_AccentColorTitle": "Akzentfarbe",
|
||||
"CustomThemeBuilder_PickColor": "Auswählen",
|
||||
@@ -84,70 +110,57 @@
|
||||
"CustomThemeBuilder_Title": "Benutzerdefinierter Theme-Generator",
|
||||
"CustomThemeBuilder_WallpaperDescription": "Eigenen Hintergrund für Wino festlegen",
|
||||
"CustomThemeBuilder_WallpaperTitle": "Eigenen Hintergrund festlegen",
|
||||
"Dialog_DontAskAgain": "Nicht mehr fragen",
|
||||
"DialogMessage_AccountLimitMessage": "Sie haben das Limit für die Kontenanzahl erreicht.\nMöchten Sie die Option \"Unbegrenzte Konten\" kaufen, um fortzufahren?",
|
||||
"DialogMessage_AccountLimitTitle": "Kontolimit erreicht",
|
||||
"DialogMessage_AliasNotSelectedTitle": "Fehlender Alias",
|
||||
"DialogMessage_AliasNotSelectedMessage": "Sie müssen einen Alias wählen, bevor Sie eine Nachricht senden.",
|
||||
"DialogMessage_AliasExistsTitle": "Existierender Alias",
|
||||
"DialogMessage_AliasExistsMessage": "Dieser Alias wird bereits verwendet.",
|
||||
"DialogMessage_InvalidAliasTitle": "Ungültiger Alias",
|
||||
"DialogMessage_InvalidAliasMessage": "Dieser Alias ist ungültig. Stellen Sie sicher, dass alle Adressen des Alias gültige E-Mail-Adressen sind.",
|
||||
"DialogMessage_CantDeleteRootAliasTitle": "Alias kann nicht gelöscht werden",
|
||||
"DialogMessage_CantDeleteRootAliasMessage": "Der Root-Alias kann nicht gelöscht werden. Dies ist Ihre Hauptidentität, die mit der Konfiguration Ihres Kontos verknüpft ist.",
|
||||
"DialogMessage_AliasCreatedTitle": "Neuer Alias erstellt",
|
||||
"DialogMessage_AliasCreatedMessage": "Ein neuer Alias wurde erfolgreich erstellt.",
|
||||
"DialogMessage_AliasCreatedTitle": "Neuer Alias erstellt",
|
||||
"DialogMessage_AliasExistsMessage": "Dieser Alias wird bereits verwendet.",
|
||||
"DialogMessage_AliasExistsTitle": "Existierender Alias",
|
||||
"DialogMessage_AliasNotSelectedMessage": "Sie müssen einen Alias wählen, bevor Sie eine Nachricht senden.",
|
||||
"DialogMessage_AliasNotSelectedTitle": "Fehlender Alias",
|
||||
"DialogMessage_CantDeleteRootAliasMessage": "Der Root-Alias kann nicht gelöscht werden. Dies ist Ihre Hauptidentität, die mit der Konfiguration Ihres Kontos verknüpft ist.",
|
||||
"DialogMessage_CantDeleteRootAliasTitle": "Alias kann nicht gelöscht werden",
|
||||
"DialogMessage_CleanupFolderMessage": "Möchten Sie alle Mails in diesem Ordner dauerhaft löschen?",
|
||||
"DialogMessage_CleanupFolderTitle": "Bereinigungs-Ordner",
|
||||
"DialogMessage_ComposerMissingRecipientMessage": "Nachricht hat keinen Empfänger.",
|
||||
"DialogMessage_ComposerValidationFailedTitle": "Validierung fehlgeschlagen",
|
||||
"DialogMessage_CreateLinkedAccountMessage": "Geben Sie diesem neuen Link einen Namen. Konten werden unter diesem Namen zusammengeführt.",
|
||||
"DialogMessage_CreateLinkedAccountTitle": "Name des Konto-Links",
|
||||
"DialogMessage_PrintingFailedMessage": "Fehler beim Drucken dieser Mail. Ergebnis: {0}",
|
||||
"DialogMessage_PrintingFailedTitle": "Fehlschlagen",
|
||||
"DialogMessage_PrintingSuccessTitle": "Erfolg",
|
||||
"DialogMessage_PrintingSuccessMessage": "Mail wird an den Drucker gesendet.",
|
||||
"DialogMessage_DeleteAccountConfirmationMessage": "{0} löschen?",
|
||||
"DialogMessage_DeleteAccountConfirmationTitle": "Alle mit diesem Konto verknüpften Daten werden dauerhaft von der Festplatte gelöscht.",
|
||||
"DialogMessage_DiscardDraftConfirmationMessage": "Dieser Entwurf wird verworfen. Möchten Sie fortfahren?",
|
||||
"DialogMessage_DiscardDraftConfirmationTitle": "Entwurf verwerfen",
|
||||
"DialogMessage_EmptySubjectConfirmation": "Betreff fehlt",
|
||||
"DialogMessage_EmptySubjectConfirmationMessage": "Nachricht hat keinen Betreff. Möchten Sie fortfahren?",
|
||||
"DialogMessage_EnableStartupLaunchDeniedMessage": "Sie können den Autostart unter Einstellungen -> App-Einstellungen aktivieren.",
|
||||
"DialogMessage_EnableStartupLaunchMessage": "Wino Mail kann beim Start von Windows minimiert gestartet werden, um keine Benachrichtigungen zu verpassen.\n\nMöchten Sie den Autostart aktivieren?",
|
||||
"DialogMessage_EnableStartupLaunchTitle": "Autostart aktivieren",
|
||||
"DialogMessage_HardDeleteConfirmationMessage": "Dauerhaft löschen",
|
||||
"DialogMessage_HardDeleteConfirmationTitle": "Nachricht(en) werden dauerhaft gelöscht. Möchten Sie fortfahren?",
|
||||
"DialogMessage_InvalidAliasMessage": "Dieser Alias ist ungültig. Stellen Sie sicher, dass alle Adressen des Alias gültige E-Mail-Adressen sind.",
|
||||
"DialogMessage_InvalidAliasTitle": "Ungültiger Alias",
|
||||
"DialogMessage_NoAccountsForCreateMailMessage": "Sie haben keine Konten zum Erstellen von Nachrichten.",
|
||||
"DialogMessage_NoAccountsForCreateMailTitle": "Konto fehlt",
|
||||
"DialogMessage_PrintingFailedMessage": "Fehler beim Drucken dieser Mail. Ergebnis: {0}",
|
||||
"DialogMessage_PrintingFailedTitle": "Fehlschlagen",
|
||||
"DialogMessage_PrintingSuccessMessage": "Mail wird an den Drucker gesendet.",
|
||||
"DialogMessage_PrintingSuccessTitle": "Erfolg",
|
||||
"DialogMessage_RenameFolderMessage": "Geben Sie einen neuen Namen für diesen Ordner ein",
|
||||
"DialogMessage_RenameFolderTitle": "Ordner umbenennen",
|
||||
"DialogMessage_RenameLinkedAccountsMessage": "Neuen Namen für verknüpftes Konto eingeben",
|
||||
"DialogMessage_RenameLinkedAccountsTitle": "Verknüpftes Konto umbenennen",
|
||||
"DialogMessage_UnlinkAccountsConfirmationMessage": "Dieser Vorgang wird Ihre Konten nicht löschen, sondern nur den Link für freigegebene Ordnerverbindungen zerstören. Möchten Sie fortfahren?",
|
||||
"DialogMessage_UnlinkAccountsConfirmationTitle": "Konten trennen",
|
||||
"DialogMessage_EmptySubjectConfirmation": "Betreff fehlt",
|
||||
"DialogMessage_EmptySubjectConfirmationMessage": "Nachricht hat keinen Betreff. Möchten Sie fortfahren?",
|
||||
"DialogMessage_RenameFolderTitle": "Ordner umbenennen",
|
||||
"DialogMessage_RenameFolderMessage": "Geben Sie einen neuen Namen für diesen Ordner ein",
|
||||
"DialogMessage_UnsubscribeConfirmationTitle": "Abmelden",
|
||||
"DialogMessage_UnsubscribeConfirmationOneClickMessage": "Möchten Sie den Empfang von Nachrichten von {0} beenden?",
|
||||
"DialogMessage_UnsubscribeConfirmationGoToWebsiteMessage": "Um Nachrichten von {0} nicht mehr zu erhalten, gehen Sie auf die Webseite, um sich abzumelden.",
|
||||
"DialogMessage_UnsubscribeConfirmationGoToWebsiteConfirmButton": "Zur Webseite",
|
||||
"DialogMessage_UnsubscribeConfirmationGoToWebsiteMessage": "Um Nachrichten von {0} nicht mehr zu erhalten, gehen Sie auf die Webseite, um sich abzumelden.",
|
||||
"DialogMessage_UnsubscribeConfirmationMailtoMessage": "Möchten Sie den Empfang von Nachrichten von {0} beenden? Wino wird sich für Sie abmelden, indem es eine E-Mail aus Ihrem E-Mail-Konto an {1} sendet.",
|
||||
"DialogMessage_EnableStartupLaunchTitle": "Autostart aktivieren",
|
||||
"DialogMessage_EnableStartupLaunchMessage": "Wino Mail kann beim Start von Windows minimiert gestartet werden, um keine Benachrichtigungen zu verpassen.\n\nMöchten Sie den Autostart aktivieren?",
|
||||
"DialogMessage_EnableStartupLaunchDeniedMessage": "Sie können den Autostart unter Einstellungen -> App-Einstellungen aktivieren.",
|
||||
"Dialog_DontAskAgain": "Nicht mehr fragen",
|
||||
"CalendarAllDayEventSummary": "ganztägige Ereignisse",
|
||||
"CalendarItemAllDay": "ganztägig",
|
||||
"CalendarItem_DetailsPopup_JoinOnline": "Online beitreten",
|
||||
"CalendarItem_DetailsPopup_ViewEventButton": "Event anzeigen",
|
||||
"CalendarItem_DetailsPopup_ViewSeriesButton": "Serie anzeigen",
|
||||
"CalendarDisplayOptions_Expand": "Ausklappen",
|
||||
"CalendarDisplayOptions_Color": "Farbe",
|
||||
"CreateAccountAliasDialog_Title": "Kontoalias erstellen",
|
||||
"CreateAccountAliasDialog_Description": "Stellen Sie sicher, dass Ihr ausgehender Server das Senden von Mails von diesem Alias erlaubt.",
|
||||
"CreateAccountAliasDialog_AliasAddress": "Adresse",
|
||||
"CreateAccountAliasDialog_AliasAddressPlaceholder": "z.B. support@mydomain.com",
|
||||
"CreateAccountAliasDialog_ReplyToAddress": "Antwortadresse",
|
||||
"CreateAccountAliasDialog_ReplyToAddressPlaceholder": "admin@mydomain.com",
|
||||
"DialogMessage_UnsubscribeConfirmationOneClickMessage": "Möchten Sie den Empfang von Nachrichten von {0} beenden?",
|
||||
"DialogMessage_UnsubscribeConfirmationTitle": "Abmelden",
|
||||
"DiscordChannelDisclaimerMessage": "Wino hat keinen eigenen Discord Server, aber der spezielle 'wino-mail'-Kanal wird auf dem 'Developer Sanctuary' Server gehostet (englisch).\nUm Updates über Wino zu erhalten, treten Sie gerne dem 'Developer Sactuary'-Server bei und folgen dem 'wino-mail'-Kanal unter 'Community Projects'.\n\nSie werden zur Server-URL weitergeleitet, da Discord keine Kanal-Einladungen unterstützt.",
|
||||
"DiscordChannelDisclaimerTitle": "Wichtige Discord-Informationen",
|
||||
"Draft": "Entwürfe",
|
||||
"Busy": "Beschäftigt",
|
||||
"DragMoveToFolderCaption": "Nach {0} verschieben",
|
||||
"EditorToolbarOption_Draw": "Zeichnen",
|
||||
"EditorToolbarOption_Format": "Format",
|
||||
"EditorToolbarOption_Insert": "Einfügen",
|
||||
@@ -158,24 +171,26 @@
|
||||
"ElementTheme_Default": "Systemeinstellung verwenden",
|
||||
"ElementTheme_Light": "Heller Modus",
|
||||
"Emoji": "Emoji",
|
||||
"Exception_WinoServerException": "Wino-Server ist fehlgeschlagen.",
|
||||
"Exception_MailProcessing": "Diese Mail wird noch verarbeitet. Bitte versuchen Sie es in wenigen Sekunden erneut.",
|
||||
"Exception_ImapAutoDiscoveryFailed": "Mailbox-Einstellungen konnten nicht gefunden werden.",
|
||||
"Exception_ImapClientPoolFailed": "IMAP Client-Pool fehlgeschlagen.",
|
||||
"Error_FailedToSetupSystemFolders_Title": "Fehler beim Einrichten der Systemordner",
|
||||
"Exception_AuthenticationCanceled": "Authentifizierung abgebrochen",
|
||||
"Exception_CustomThemeExists": "Dieses Thema existiert bereits.",
|
||||
"Exception_CustomThemeMissingName": "Sie müssen einen Namen angeben.",
|
||||
"Exception_CustomThemeMissingWallpaper": "Sie müssen ein eigenes Hintergrundbild angeben.",
|
||||
"Exception_FailedToSynchronizeFolders": "Fehler beim Synchronisieren der Ordner",
|
||||
"Exception_FailedToSynchronizeAliases": "Fehler beim Synchronisieren der Aliase",
|
||||
"Exception_MissingAlias": "Der primäre Alias fehlt für dieses Konto. Erstellen des Entwurfs fehlgeschlagen.",
|
||||
"Exception_FailedToSynchronizeFolders": "Fehler beim Synchronisieren der Ordner",
|
||||
"Exception_FailedToSynchronizeProfileInformation": "Fehler beim Synchronisieren der Profilinformationen",
|
||||
"Exception_GoogleAuthCallbackNull": "'Callback uri ist 'null' bei der Aktivierung.",
|
||||
"Exception_GoogleAuthCorruptedCode": "Korrupte Autorisierungsantwort.",
|
||||
"Exception_GoogleAuthError": "OAuth Autorisierungsfehler: {0}",
|
||||
"Exception_GoogleAuthInvalidResponse": "Anfrage mit ungültigem Status ({0}) erhalten",
|
||||
"Exception_GoogleAuthorizationCodeExchangeFailed": "Autorisierungscode-Austausch fehlgeschlagen.",
|
||||
"Exception_ImapAutoDiscoveryFailed": "Mailbox-Einstellungen konnten nicht gefunden werden.",
|
||||
"Exception_ImapClientPoolFailed": "IMAP Client-Pool fehlgeschlagen.",
|
||||
"Exception_InboxNotAvailable": "Konto-Ordner konnten nicht eingerichtet werden.",
|
||||
"Exception_InvalidSystemFolderConfiguration": "Die Konfiguration des Systemordners ist nicht gültig. Überprüfen Sie die Konfiguration und versuchen Sie es erneut.",
|
||||
"Exception_InvalidMultiAccountMoveTarget": "Sie können nicht mehrere Elemente, die zu verschiedenen Konten gehören, in verknüpften Konten verschieben.",
|
||||
"Exception_MailProcessing": "Diese Mail wird noch verarbeitet. Bitte versuchen Sie es in wenigen Sekunden erneut.",
|
||||
"Exception_MissingAlias": "Der primäre Alias fehlt für dieses Konto. Erstellen des Entwurfs fehlgeschlagen.",
|
||||
"Exception_NullAssignedAccount": "Zugewiesenes Konto ist 'null'",
|
||||
"Exception_NullAssignedFolder": "Zugewiesener Ordner ist 'null'",
|
||||
"Exception_SynchronizerFailureHTTP": "Antwortbehandlung fehlgeschlagen mit Fehler HTTP-Code {0}",
|
||||
@@ -186,12 +201,12 @@
|
||||
"Exception_UnsupportedProvider": "Dieser Anbieter wird nicht unterstützt.",
|
||||
"Exception_UnsupportedSynchronizerOperation": "Diese Operation wird für {0} nicht unterstützt",
|
||||
"Exception_UserCancelSystemFolderSetupDialog": "Benutzer hat den Konfigurationsdialog für den Systemordner abgebrochen.",
|
||||
"Exception_InboxNotAvailable": "Konto-Ordner konnten nicht eingerichtet werden.",
|
||||
"Exception_WinoServerException": "Wino-Server ist fehlgeschlagen.",
|
||||
"Files": "Dateien",
|
||||
"FilteringOption_All": "Alle",
|
||||
"FilteringOption_Files": "Enthält Dateien",
|
||||
"FilteringOption_Flagged": "Markiert",
|
||||
"FilteringOption_Unread": "Ungelesen",
|
||||
"FilteringOption_Files": "Enthält Dateien",
|
||||
"Focused": "Fokussiert",
|
||||
"FolderOperation_CreateSubFolder": "Unterordner erstellen",
|
||||
"FolderOperation_Delete": "Löschen",
|
||||
@@ -199,27 +214,71 @@
|
||||
"FolderOperation_Empty": "Ordner leeren",
|
||||
"FolderOperation_MarkAllAsRead": "Alle als gelesen markieren",
|
||||
"FolderOperation_Move": "Verschieben",
|
||||
"DragMoveToFolderCaption": "Nach {0} verschieben",
|
||||
"FolderOperation_None": "Keine",
|
||||
"FolderOperation_Pin": "Anheften",
|
||||
"FolderOperation_Rename": "Umbenennen",
|
||||
"FolderOperation_Unpin": "Lösen",
|
||||
"GeneralTitle_Error": "Fehler",
|
||||
"GeneralTitle_Info": "Information",
|
||||
"GeneralTitle_Warning": "Warnung",
|
||||
"GmailServiceDisabled_Title": "Google Mail-Fehler",
|
||||
"GmailServiceDisabled_Message": "Ihr Google Workspace-Konto scheint für den Google Mail-Dienst deaktiviert zu sein. Bitte kontaktieren Sie Ihren Administrator, um den Google Mail-Dienst für Ihr Konto zu aktivieren.",
|
||||
"GmailArchiveFolderNameOverride": "Archivieren",
|
||||
"HoverActionOption_Archive": "Archivieren",
|
||||
"HoverActionOption_Delete": "Löschen",
|
||||
"HoverActionOption_MoveJunk": "In den Papierkorb verschieben",
|
||||
"HoverActionOption_ToggleFlag": "Markieren / Markierung entfernen",
|
||||
"HoverActionOption_ToggleRead": "Lesen / Ungelesen",
|
||||
"MergedAccountCommonFolderInbox": "Posteingang",
|
||||
"MergedAccountCommonFolderSent": "Gesendet",
|
||||
"MergedAccountCommonFolderDraft": "Entwürfe",
|
||||
"MergedAccountCommonFolderJunk": "Papierkorb",
|
||||
"MergedAccountCommonFolderTrash": "Gelöscht",
|
||||
"MergedAccountCommonFolderArchive": "Archiv",
|
||||
"ImageRenderingDisabled": "Bilddarstellung ist für diese Nachricht deaktiviert.",
|
||||
"ImapAdvancedSetupDialog_AuthenticationMethod": "Authentifizierungsmethode",
|
||||
"ImapAdvancedSetupDialog_ConnectionSecurity": "Verbindungssicherheit",
|
||||
"IMAPAdvancedSetupDialog_ValidationAuthMethodRequired": "Authentifizierungsmethode ist erforderlich",
|
||||
"IMAPAdvancedSetupDialog_ValidationConnectionSecurityRequired": "Verbindungstyp ist erforderlich",
|
||||
"IMAPAdvancedSetupDialog_ValidationDisplayNameRequired": "Anzeigename ist erforderlich",
|
||||
"IMAPAdvancedSetupDialog_ValidationEmailInvalid": "Bitte geben Sie eine gültige E-Mail-Adresse ein",
|
||||
"IMAPAdvancedSetupDialog_ValidationEmailRequired": "E-Mail-Adresse ist erforderlich",
|
||||
"IMAPAdvancedSetupDialog_ValidationErrorTitle": "Bitte überprüfen Sie das Folgende:",
|
||||
"IMAPAdvancedSetupDialog_ValidationIncomingPortInvalid": "Eingehender Port muss zwischen 1 und 65535 liegen",
|
||||
"IMAPAdvancedSetupDialog_ValidationIncomingPortRequired": "Eingehender Server-Port ist erforderlich",
|
||||
"IMAPAdvancedSetupDialog_ValidationIncomingServerRequired": "Eingehende Server-Adresse ist erforderlich",
|
||||
"IMAPAdvancedSetupDialog_ValidationOutgoingPasswordRequired": "Ausgehendes Server-Passwort ist erforderlich",
|
||||
"IMAPAdvancedSetupDialog_ValidationOutgoingPortInvalid": "Ausgehender Port muss zwischen 1 und 65535 liegen",
|
||||
"IMAPAdvancedSetupDialog_ValidationOutgoingPortRequired": "Ausgehender Server-Port ist erforderlich",
|
||||
"IMAPAdvancedSetupDialog_ValidationOutgoingServerRequired": "Ausgehende Server-Adresse ist erforderlich",
|
||||
"IMAPAdvancedSetupDialog_ValidationOutgoingUsernameRequired": "Ausgehender Server-Benutzername ist erforderlich",
|
||||
"IMAPAdvancedSetupDialog_ValidationPasswordRequired": "Passwort ist erforderlich",
|
||||
"IMAPAdvancedSetupDialog_ValidationUsernameRequired": "Benutzername ist erforderlich",
|
||||
"ImapAuthenticationMethod_Auto": "Auto",
|
||||
"ImapAuthenticationMethod_CramMD5": "CRAM-MD5",
|
||||
"ImapAuthenticationMethod_DigestMD5": "DIGEST-MD5",
|
||||
"ImapAuthenticationMethod_EncryptedPassword": "Verschlüsseltes Passwort",
|
||||
"ImapAuthenticationMethod_None": "Keine Authentifizierung",
|
||||
"ImapAuthenticationMethod_Ntlm": "NTLM",
|
||||
"ImapAuthenticationMethod_Plain": "Normales Passwort",
|
||||
"ImapConnectionSecurity_Auto": "Auto",
|
||||
"ImapConnectionSecurity_None": "Keine",
|
||||
"ImapConnectionSecurity_SslTls": "SSL/TLS",
|
||||
"ImapConnectionSecurity_StartTls": "STARTTLS",
|
||||
"IMAPSetupDialog_AccountType": "Kontotyp",
|
||||
"IMAPSetupDialog_ValidationSuccess_Title": "Erfolgreich",
|
||||
"IMAPSetupDialog_ValidationSuccess_Message": "Validierung erfolgreich",
|
||||
"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.",
|
||||
"IMAPSetupDialog_CertificateDenied": "Der Benutzer hat den Handshake mit dem Zertifikat nicht autorisiert.",
|
||||
"IMAPSetupDialog_CertificateIssuer": "Aussteller",
|
||||
"IMAPSetupDialog_CertificateSubject": "Betreff",
|
||||
"IMAPSetupDialog_CertificateValidFrom": "Gültig von",
|
||||
"IMAPSetupDialog_CertificateValidTo": "Gültig bis",
|
||||
"IMAPSetupDialog_CertificateView": "Zertifikat anzeigen",
|
||||
"IMAPSetupDialog_ConnectionFailedMessage": "IMAP Verbindung fehlgeschlagen.",
|
||||
"IMAPSetupDialog_ConnectionFailedTitle": "Verbindung fehlgeschlagen",
|
||||
"IMAPSetupDialog_DisplayName": "Anzeigename",
|
||||
"IMAPSetupDialog_DisplayNamePlaceholder": "z.B. John Doe",
|
||||
"IMAPSetupDialog_IncomingMailServer": "Eingehender Mail-Server",
|
||||
"IMAPSetupDialog_IncomingMailServerPort": "Port",
|
||||
"IMAPSetupDialog_IMAPSettings": "IMAP-Server-Einstellungen",
|
||||
"IMAPSetupDialog_SMTPSettings": "SMTP-Server-Einstellungen",
|
||||
"IMAPSetupDialog_MailAddress": "E-Mail Adresse",
|
||||
"IMAPSetupDialog_MailAddressPlaceholder": "jemand@beispiel.de",
|
||||
"IMAPSetupDialog_OutgoingMailServer": "Ausgehender (SMTP) Mail-Server",
|
||||
@@ -231,26 +290,9 @@
|
||||
"IMAPSetupDialog_RequireSSLForIncomingMail": "SSL für eingehende E-Mails erforderlich machen",
|
||||
"IMAPSetupDialog_RequireSSLForOutgoingMail": "SSL für ausgehende E-Mails erforderlich machen",
|
||||
"IMAPSetupDialog_Title": "Erweiterte IMAP-Konfiguration",
|
||||
"IMAPSetupDialog_UseSameConfig": "Den gleichen Benutzernamen und das gleiche Passwort für das Senden von E-Mails verwenden",
|
||||
"IMAPSetupDialog_Username": "Benutzername",
|
||||
"IMAPSetupDialog_UsernamePlaceholder": "johndoe, johndoe@fabrikam.com, domain/johndoe",
|
||||
"IMAPSetupDialog_ConnectionFailedTitle": "Verbindung fehlgeschlagen",
|
||||
"IMAPSetupDialog_ConnectionFailedMessage": "IMAP Verbindung 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.",
|
||||
"IMAPSetupDialog_CertificateIssuer": "Aussteller",
|
||||
"IMAPSetupDialog_CertificateSubject": "Betreff",
|
||||
"IMAPSetupDialog_CertificateValidFrom": "Gültig von",
|
||||
"IMAPSetupDialog_CertificateValidTo": "Gültig bis",
|
||||
"IMAPSetupDialog_CertificateDenied": "Der Benutzer hat den Handshake mit dem Zertifikat nicht autorisiert.",
|
||||
"IMAPSetupDialog_CertificateView": "Zertifikat anzeigen",
|
||||
"ImageRenderingDisabled": "Bilddarstellung ist für diese Nachricht deaktiviert.",
|
||||
"InfoBarAction_Enable": "Aktivieren",
|
||||
"InfoBarMessage_SynchronizationDisabledFolder": "Dieser Ordner wird nicht synchronisiert.",
|
||||
"InfoBarTitle_SynchronizationDisabledFolder": "Deaktivierter Ordner",
|
||||
"GeneralTitle_Error": "Fehler",
|
||||
"GeneralTitle_Warning": "Warnung",
|
||||
"GeneralTitle_Info": "Information",
|
||||
"IMAPSetupDialog_UseSameConfig": "Den gleichen Benutzernamen und das gleiche Passwort für das Senden von E-Mails verwenden",
|
||||
"Info_AccountCreatedMessage": "{0} wurde erstellt",
|
||||
"Info_AccountCreatedTitle": "Konto-Erstellung",
|
||||
"Info_AccountCreationFailedTitle": "Konto-Erstellung fehlgeschlagen",
|
||||
@@ -269,14 +311,15 @@
|
||||
"Info_BackgroundExecutionDeniedTitle": "Hintergrundausführung verweigert",
|
||||
"Info_BackgroundExecutionUnknownErrorMessage": "Unbekannter Fehler beim Registrieren des Hintergrundsynchronisators.",
|
||||
"Info_BackgroundExecutionUnknownErrorTitle": "Fehler bei der Hintergrundausführung",
|
||||
"Info_FailedToOpenFileTitle": "Fehler beim Starten der Datei.",
|
||||
"Info_FailedToOpenFileMessage": "Die Datei könnte von der Festplatte entfernt worden sein.",
|
||||
"Info_CantDeletePrimaryAliasMessage": "Der primäre Alias kann nicht gelöscht werden. Bitte ändern Sie Ihren Alias, bevor Sie diesen löschen.",
|
||||
"Info_ComposerMissingMIMEMessage": "Die MIME-Datei konnte nicht gefunden werden. Synchronisierung kann helfen.",
|
||||
"Info_ComposerMissingMIMETitle": "Fehlschlagen",
|
||||
"Info_ContactExistsMessage": "Dieser Kontakt ist bereits in der Empfängerliste.",
|
||||
"Info_ContactExistsTitle": "Kontakt existiert",
|
||||
"Info_DraftFolderMissingMessage": "Entwürfe-Ordner fehlt für dieses Konto. Bitte überprüfen Sie Ihre Konto-Einstellungen.",
|
||||
"Info_DraftFolderMissingTitle": "Entwürfe-Ordner fehlt",
|
||||
"Info_FailedToOpenFileMessage": "Die Datei könnte von der Festplatte entfernt worden sein.",
|
||||
"Info_FailedToOpenFileTitle": "Fehler beim Starten der Datei.",
|
||||
"Info_FileLaunchFailedTitle": "Fehler beim Starten der Datei",
|
||||
"Info_InvalidAddressMessage": "'{0}' ist keine gültige E-Mail-Adresse.",
|
||||
"Info_InvalidAddressTitle": "Ungültige Adresse",
|
||||
@@ -286,15 +329,16 @@
|
||||
"Info_LogsNotFoundTitle": "Logs nicht gefunden",
|
||||
"Info_LogsSavedMessage": "{0} wird im ausgewählten Ordner gespeichert.",
|
||||
"Info_LogsSavedTitle": "Gespeichert",
|
||||
"Info_MailListSizeResetSuccessMessage": "Die Größe der Mailliste wurde zurückgesetzt.",
|
||||
"Info_MailRenderingFailedMessage": "Diese Mail ist beschädigt oder kann nicht geöffnet werden.\n{0}",
|
||||
"Info_MailRenderingFailedTitle": "Darstellen fehlgeschlagen",
|
||||
"Info_MessageCorruptedMessage": "Diese Nachricht ist beschädigt.",
|
||||
"Info_MessageCorruptedTitle": "Fehler",
|
||||
"Info_MissingFolderMessage": "{0} existiert für dieses Konto nicht.",
|
||||
"Info_MissingFolderTitle": "Fehlender Ordner",
|
||||
"Info_PDFSaveSuccessTitle": "Erfolg",
|
||||
"Info_PDFSaveFailedTitle": "Fehler beim Speichern der PDF-Datei",
|
||||
"Info_PDFSaveSuccessMessage": "PDF-Datei wurde nach {0} gespeichert",
|
||||
"Info_PDFSaveSuccessTitle": "Erfolg",
|
||||
"Info_PurchaseExistsMessage": "Es sieht so aus, als ob dieses Produkt bereits gekauft wurde.",
|
||||
"Info_PurchaseExistsTitle": "Vorhandenes Produkt",
|
||||
"Info_PurchaseThankYouMessage": "Vielen Dank",
|
||||
@@ -314,32 +358,21 @@
|
||||
"Info_SyncCanceledMessage": "Abgebrochen",
|
||||
"Info_SyncCanceledTitle": "Synchronisierung",
|
||||
"Info_SyncFailedTitle": "Synchronisierung fehlgeschlagen",
|
||||
"Info_UnsubscribeErrorMessage": "Abmeldung fehlgeschlagen",
|
||||
"Info_UnsubscribeLinkInvalidMessage": "Dieser Abmeldelink ist ungültig. Fehler beim Abmelden der Liste.",
|
||||
"Info_UnsubscribeLinkInvalidTitle": "Ungültige Abmelde-Uri",
|
||||
"Info_UnsubscribeSuccessMessage": "Erfolgreich von {0} abgemeldet.",
|
||||
"Info_UnsupportedFunctionalityDescription": "Diese Funktionalität ist noch nicht implementiert.",
|
||||
"Info_UnsupportedFunctionalityTitle": "Nicht unterstützt",
|
||||
"Info_UnsubscribeLinkInvalidTitle": "Ungültige Abmelde-Uri",
|
||||
"Info_UnsubscribeLinkInvalidMessage": "Dieser Abmeldelink ist ungültig. Fehler beim Abmelden der Liste.",
|
||||
"Info_UnsubscribeSuccessMessage": "Erfolgreich von {0} abgemeldet.",
|
||||
"Info_UnsubscribeErrorMessage": "Abmeldung fehlgeschlagen",
|
||||
"Info_CantDeletePrimaryAliasMessage": "Der primäre Alias kann nicht gelöscht werden. Bitte ändern Sie Ihren Alias, bevor Sie diesen löschen.",
|
||||
"Info_MailListSizeResetSuccessMessage": "Die Größe der Mailliste wurde zurückgesetzt.",
|
||||
"ImapAdvancedSetupDialog_AuthenticationMethod": "Authentifizierungsmethode",
|
||||
"ImapAdvancedSetupDialog_ConnectionSecurity": "Verbindungssicherheit",
|
||||
"ImapAuthenticationMethod_Auto": "Auto",
|
||||
"ImapAuthenticationMethod_CramMD5": "CRAM-MD5",
|
||||
"ImapAuthenticationMethod_DigestMD5": "DIGEST-MD5",
|
||||
"ImapAuthenticationMethod_None": "Keine Authentifizierung",
|
||||
"ImapAuthenticationMethod_Plain": "Normales Passwort",
|
||||
"ImapAuthenticationMethod_EncryptedPassword": "Verschlüsseltes Passwort",
|
||||
"ImapAuthenticationMethod_Ntlm": "NTLM",
|
||||
"ImapConnectionSecurity_None": "Keine",
|
||||
"ImapConnectionSecurity_SslTls": "SSL/TLS",
|
||||
"ImapConnectionSecurity_StartTls": "STARTTLS",
|
||||
"ImapConnectionSecurity_Auto": "Auto",
|
||||
"InfoBarAction_Enable": "Aktivieren",
|
||||
"InfoBarMessage_SynchronizationDisabledFolder": "Dieser Ordner wird nicht synchronisiert.",
|
||||
"InfoBarTitle_SynchronizationDisabledFolder": "Deaktivierter Ordner",
|
||||
"Justify": "Block",
|
||||
"Left": "Links",
|
||||
"Link": "Link",
|
||||
"LinkedAccountsCreatePolicyMessage": "Sie müssen mindestens 2 Konten haben, um Link zu erstellen\nLink wird beim Speichern entfernt",
|
||||
"LinkedAccountsTitle": "Verknüpfte Konten",
|
||||
"MailItemNoSubject": "Kein Betreff",
|
||||
"MailOperation_AlwaysMoveFocused": "Immer in Fokussiert",
|
||||
"MailOperation_AlwaysMoveOther": "Immer in Andere verschieben",
|
||||
"MailOperation_Archive": "Archiv",
|
||||
@@ -366,25 +399,32 @@
|
||||
"MailOperation_SaveAs": "Speichern als",
|
||||
"MailOperation_SetFlag": "Markierung setzen",
|
||||
"MailOperation_Unarchive": "Archivierung aufheben",
|
||||
"MailOperation_Zoom": "Zoom",
|
||||
"MailOperation_ViewMessageSource": "Nachrichtenquelle anzeigen",
|
||||
"MailOperation_Zoom": "Zoom",
|
||||
"MailsSelected": "{0} Element(e) ausgewählt",
|
||||
"MarkFlagUnflag": "Als markiert/nicht markiert setzen",
|
||||
"MarkReadUnread": "Als gelesen/ungelesen markieren",
|
||||
"MenuManageAccounts": "Konten verwalten",
|
||||
"MenuNewMail": "Neue Mail",
|
||||
"MenuMergedAccountItemAccountsSuffix": " Konten",
|
||||
"MenuNewMail": "Neue Mail",
|
||||
"MenuRate": "Wino bewerten",
|
||||
"MenuSettings": "Einstellungen",
|
||||
"MergedAccountCommonFolderArchive": "Archiv",
|
||||
"MergedAccountCommonFolderDraft": "Entwürfe",
|
||||
"MergedAccountCommonFolderInbox": "Posteingang",
|
||||
"MergedAccountCommonFolderJunk": "Papierkorb",
|
||||
"MergedAccountCommonFolderSent": "Gesendet",
|
||||
"MergedAccountCommonFolderTrash": "Gelöscht",
|
||||
"MergedAccountsAvailableAccountsTitle": "Verfügbare Konten",
|
||||
"MessageSourceDialog_Title": "Nachrichtenquelle",
|
||||
"More": "Mehr",
|
||||
"MoreFolderNameOverride": "Mehr",
|
||||
"MoveMailDialog_InvalidFolderMessage": "{0} ist kein gültiger Ordner für diese Mail.",
|
||||
"MoveMailDialog_Title": "Ordner wählen",
|
||||
"NewAccountDialog_AccountName": "Konto-Name",
|
||||
"NewAccountDialog_AccountNameDefaultValue": "Persönlich",
|
||||
"NewAccountDialog_AccountNamePlaceholder": "z.B. Persönliche Mails",
|
||||
"NewAccountDialog_Title": "Neues Konto hinzufügen",
|
||||
"MessageSourceDialog_Title": "Nachrichtenquelle",
|
||||
"NoMailSelected": "Keine Nachricht ausgewählt",
|
||||
"NoMessageCrieteria": "Keine Nachrichten entsprechen Ihren Suchkriterien",
|
||||
"NoMessageEmptyFolder": "Dieser Ordner ist leer",
|
||||
@@ -392,6 +432,9 @@
|
||||
"Notifications_MultipleNotificationsTitle": "Neue Mail",
|
||||
"Notifications_WinoUpdatedMessage": "Neue Version {0} herunterladen",
|
||||
"Notifications_WinoUpdatedTitle": "Wino Mail wurde aktualisiert.",
|
||||
"OnlineSearchFailed_Message": "Fehler bei der Suche\n{0}\n\nAuflistung von Offline-Mails.",
|
||||
"OnlineSearchTry_Line1": "Finden Sie nicht, was Sie suchen?",
|
||||
"OnlineSearchTry_Line2": "Online-Suche probieren.",
|
||||
"Other": "Andere",
|
||||
"PaneLengthOption_Default": "Standard",
|
||||
"PaneLengthOption_ExtraLarge": "Extra Groß",
|
||||
@@ -401,64 +444,94 @@
|
||||
"PaneLengthOption_Small": "Klein",
|
||||
"Photos": "Fotos",
|
||||
"PreparingFoldersMessage": "Ordnervorbereitung",
|
||||
"ProtocolLogAvailable_Message": "Protokolle zur Diagnose sind verfügbar.",
|
||||
"ProviderDetail_Gmail_Description": "Google-Konto",
|
||||
"ProviderDetail_iCloud_Description": "Apple iCloud-Konto",
|
||||
"ProviderDetail_iCloud_Title": "iCloud",
|
||||
"ProviderDetail_IMAP_Description": "Eigener IMAP/SMTP Server",
|
||||
"ProviderDetail_IMAP_Title": "IMAP-Server",
|
||||
"ProviderDetail_Yahoo_Title": "Yahoo Mail",
|
||||
"ProviderDetail_Yahoo_Description": "Yahoo-Konto",
|
||||
"ProviderDetail_iCloud_Title": "iCloud",
|
||||
"ProviderDetail_iCloud_Description": "Apple iCloud-Konto",
|
||||
"ProtocolLogAvailable_Message": "Protokolle zur Diagnose sind verfügbar.",
|
||||
"ProviderDetail_Yahoo_Title": "Yahoo Mail",
|
||||
"QuickEventDialog_EventName": "Name des Events",
|
||||
"QuickEventDialog_IsAllDay": "Ganztägig",
|
||||
"QuickEventDialog_Location": "Standort",
|
||||
"QuickEventDialog_RemindMe": "Mich erinnern",
|
||||
"QuickEventDialogMoreDetailsButtonText": "Mehr Details",
|
||||
"Reader_SaveAllAttachmentButtonText": "Alle Anhänge speichern",
|
||||
"Results": "Ergebnisse",
|
||||
"Right": "Rechts",
|
||||
"Reader_SaveAllAttachmentButtonText": "Alle Anhänge speichern",
|
||||
"SynchronizationFolderReport_Success": "aktuell",
|
||||
"SynchronizationFolderReport_Failed": "Synchronisierung fehlgeschlagen",
|
||||
"SearchBarPlaceholder": "Suche",
|
||||
"SearchingIn": "Suche in",
|
||||
"SearchPivotName": "Ergebnisse",
|
||||
"SettingsAboutGithub_Description": "Gehen Sie zum Problem-Tracker GitHub-Repository.",
|
||||
"SettingsAboutGithub_Title": "GitHub",
|
||||
"SettingsAccountManagementAppendMessage_Title": "Nachrichten an Gesendete Ordner anhängen",
|
||||
"SettingsAccountManagementAppendMessage_Description": "Erstellen Sie eine Kopie der Nachricht im Gesendete Ordner, nachdem der Entwurf gesendet wurde. Aktivieren Sie dies, wenn Sie Ihre Mails nicht sehen, nachdem Sie in den Ordner Gesendete verschoben wurden.",
|
||||
"SettingsEditLinkedInbox_Title": "Verlinkten Posteingang bearbeiten",
|
||||
"SettingsEditLinkedInbox_Description": "Konten hinzufügen/entfernen, umbenennen oder die Verbindung zwischen Konten unterbrechen.",
|
||||
"SettingsAboutVersion": "Version ",
|
||||
"SettingsAboutWinoDescription": "Leichte Mail-Anwendung für Windows-Geräte.",
|
||||
"SettingConfigureSpecialFolders_Button": "Konfigurieren",
|
||||
"SettingsEditAccountDetails_IMAPConfiguration_Title": "IMAP/SMTP-Konfiguration",
|
||||
"SettingsEditAccountDetails_IMAPConfiguration_Description": "Ändern Sie Ihre eingehenden/ausgehenden Servereinstellungen.",
|
||||
"SettingsAbout_Description": "Erfahren Sie mehr über Wino.",
|
||||
"SettingsAbout_Title": "Über",
|
||||
"SettingsAboutGithub_Description": "Gehen Sie zum Problem-Tracker GitHub-Repository.",
|
||||
"SettingsAboutGithub_Title": "GitHub",
|
||||
"SettingsAboutVersion": "Version ",
|
||||
"SettingsAboutWinoDescription": "Leichte Mail-Anwendung für Windows-Geräte.",
|
||||
"SettingsAccentColor_Description": "Akzentfarbe der Anwendung ändern",
|
||||
"SettingsAccentColor_Title": "Akzentfarbe",
|
||||
"SettingsAccentColor_UseWindowsAccentColor": "Windows-Akzentfarbe benutzen",
|
||||
"SettingsAccountManagementAppendMessage_Description": "Erstellen Sie eine Kopie der Nachricht im Gesendete Ordner, nachdem der Entwurf gesendet wurde. Aktivieren Sie dies, wenn Sie Ihre Mails nicht sehen, nachdem Sie in den Ordner Gesendete verschoben wurden.",
|
||||
"SettingsAccountManagementAppendMessage_Title": "Nachrichten an Gesendete Ordner anhängen",
|
||||
"SettingsAccountName_Description": "Name des Kontos ändern.",
|
||||
"SettingsAccountName_Title": "Konto-Name",
|
||||
"SettingsApplicationTheme_Description": "Passen Sie Wino mit verschiedenen benutzerdefinierten Anwendungs-Themen Ihrem Geschmack an.",
|
||||
"SettingsApplicationTheme_Title": "Anwendungs-Thema",
|
||||
"SettingsAppPreferences_CloseBehavior_Description": "Was soll passieren, wenn Sie die App schließen?",
|
||||
"SettingsAppPreferences_CloseBehavior_Title": "Verhalten der App beim Schließen",
|
||||
"SettingsAppPreferences_Description": "Allgemeine Einstellungen / Präferenzen für Wino Mail.",
|
||||
"SettingsAppPreferences_SearchMode_Description": "Legen Sie fest, ob Wino abgerufene Mails zuerst überprüfen soll, während Sie eine Suche durchführen oder Ihren Mail-Server online fragen. Lokale Suche ist immer schneller und Sie können immer eine Online-Suche durchführen, wenn Ihre E-Mail nicht in den Ergebnissen ist.",
|
||||
"SettingsAppPreferences_SearchMode_Local": "Lokal",
|
||||
"SettingsAppPreferences_SearchMode_Online": "Online",
|
||||
"SettingsAppPreferences_SearchMode_Title": "Standard-Suchmodus",
|
||||
"SettingsAppPreferences_ServerBackgroundingMode_Invisible_Description": "Wino Mail wird weiterhin im Hintergrund ausgeführt. Sie werden benachrichtigt, sobald neue Mails eintreffen.",
|
||||
"SettingsAppPreferences_ServerBackgroundingMode_Invisible_Title": "Im Hintergrund ausführen",
|
||||
"SettingsAppPreferences_ServerBackgroundingMode_MinimizeTray_Description": "Wino Mail wird weiterhin im System-Tray laufen. Startet beim Klicken des Symbols die Anwendung. Sie werden benachrichtigt, sobald neue Mails eintreffen.",
|
||||
"SettingsAppPreferences_ServerBackgroundingMode_MinimizeTray_Title": "In den System-Tray minimieren",
|
||||
"SettingsAppPreferences_ServerBackgroundingMode_Terminate_Description": "Wino Mail wird nicht weiter ausgeführt werden. Sie werden nicht benachrichtigt, wenn neue Mails eintreffen. Starten Sie Wino Mail erneut, um die Mail-Synchronisation fortzusetzen.",
|
||||
"SettingsAppPreferences_ServerBackgroundingMode_Terminate_Title": "Beenden",
|
||||
"SettingsAppPreferences_StartupBehavior_Description": "Wino Mail das minimierte Starten erlauben, wenn Windows startet. Ermöglicht es, immer Benachrichtigungen zu erhalten.",
|
||||
"SettingsAppPreferences_StartupBehavior_Disable": "Deaktivieren",
|
||||
"SettingsAppPreferences_StartupBehavior_Disabled": "Wino Mail wird beim Start von Windows nicht gestartet. Dies führt dazu, dass Sie keine Benachrichtigungen erhalten, wenn Sie Ihren Computer neu starten.",
|
||||
"SettingsAppPreferences_StartupBehavior_DisabledByPolicy": "Ihre Administrator- oder Gruppenrichtlinien gestatten den automatischen Start von Programmen nicht. Daher kann für Wino Mail der automatische Start nicht aktiviert werden.",
|
||||
"SettingsAppPreferences_StartupBehavior_DisabledByUser": "Bitte gehen Sie zu Task-Manager -> Autostart von Apps, um Wino Mail den Autostart zu erlauben.",
|
||||
"SettingsAppPreferences_StartupBehavior_Enable": "Aktivieren",
|
||||
"SettingsAppPreferences_StartupBehavior_Enabled": "Wino Mail wurde es erfolgreich gestattet, beim Starten von Windows im Hintergrund zu starten.",
|
||||
"SettingsAppPreferences_StartupBehavior_FatalError": "Ein schwerwiegender Fehler ist beim Ändern des Startmodus für Wino Mail aufgetreten.",
|
||||
"SettingsAppPreferences_StartupBehavior_Title": "Beim Start von Windows minimiert starten",
|
||||
"SettingsAppPreferences_Title": "App-Präferenzen",
|
||||
"SettingsAutoSelectNextItem_Description": "Das nächste Element auswählen, nachdem Sie eine Mail gelöscht oder verschoben haben.",
|
||||
"SettingsAutoSelectNextItem_Title": "Nächsten Eintrag automatisch auswählen",
|
||||
"SettingsAvailableThemes_Description": "Wählen Sie ein Thema aus der Sammlung von Wino oder verwenden Sie Ihre eigenen Themen.",
|
||||
"SettingsAvailableThemes_Title": "Verfügbare Themen",
|
||||
"SettingsAutoSelectNextItem_Title": "Nächsten Eintrag automatisch auswählen",
|
||||
"SettingsAutoSelectNextItem_Description": "Das nächste Element auswählen, nachdem Sie eine Mail gelöscht oder verschoben haben.",
|
||||
"SettingsCalendarSettings_Title": "Kalendereinstellungen",
|
||||
"SettingsCalendarSettings_Description": "Ändern Sie den ersten Tag der Woche, die Stunden-Zellenhöhe und mehr...",
|
||||
"SettingsCalendarSettings_Title": "Kalendereinstellungen",
|
||||
"SettingsComposer_Title": "Verfasser",
|
||||
"SettingsComposerFont_Title": "Standard Verfasser-Schriftart",
|
||||
"SettingsComposerFontFamily_Description": "Ändern Sie die Standardschriftart und Schriftgröße für das Verfassen von Mails.",
|
||||
"SettingsConfigureSpecialFolders_Description": "Ordner mit speziellen Funktionen einstellen. Ordner wie Archiv, Posteingang und Entwürfe sind notwendig, damit Wino richtig funktioniert.",
|
||||
"SettingsConfigureSpecialFolders_Title": "Systemordner konfigurieren",
|
||||
"SettingsCustomTheme_Description": "Erstellen Sie Ihr eigenes Thema mit individuellem Hintergrundbild und Akzentfarbe.",
|
||||
"SettingsCustomTheme_Title": "Eigenes Thema",
|
||||
"SettingsConfigureSpecialFolders_Title": "Systemordner konfigurieren",
|
||||
"SettingsConfigureSpecialFolders_Description": "Ordner mit speziellen Funktionen einstellen. Ordner wie Archiv, Posteingang und Entwürfe sind notwendig, damit Wino richtig funktioniert.",
|
||||
"SettingConfigureSpecialFolders_Button": "Konfigurieren",
|
||||
"Error_FailedToSetupSystemFolders_Title": "Fehler beim Einrichten der Systemordner",
|
||||
"SettingsDeleteAccount_Description": "Alle E-Mails und Anmeldeinformationen dieses Kontos löschen.",
|
||||
"SettingsDeleteAccount_Title": "Dieses Konto löschen",
|
||||
"SettingsDeleteProtection_Description": "Sollte Wino jedes Mal nachfragen, wenn Sie eine Mail mit Umschalten + Entfernen permanent löschen möchten?",
|
||||
"SettingsDeleteProtection_Title": "Schutz vor permanenter Löschung",
|
||||
"SettingsDiagnostics_Description": "Für Entwickler",
|
||||
"SettingsDiagnostics_DiagnosticId_Description": "Teilen Sie diese ID mit den Entwicklern, wenn Sie um Hilfe bei Problemen in Wino Mail gebeten werden.",
|
||||
"SettingsDiagnostics_DiagnosticId_Title": "Diagnose-ID",
|
||||
"SettingsDiagnostics_Title": "Diagnostik",
|
||||
"SettingsDiagnostics_DiagnosticId_Title": "Diagnostic Id",
|
||||
"SettingsDiagnostics_DiagnosticId_Description": "Share this Id with the developers when asked to get help for the issues you experience in Wino Mail.",
|
||||
"SettingsDiscord_Description": "Bekommen Sie reguläre Entwicklungs-Updates, treten Sie Zeitplan-Diskussionen bei und geben Sie Feedback.",
|
||||
"SettingsDiscord_Title": "Discord Kanal",
|
||||
"SettingsElementThemeSelectionDisabled": "Auswahl des Element-Themas ist deaktiviert, wenn das Anwendungs-Thema nicht als Standard festgelegt ist.",
|
||||
"SettingsEditLinkedInbox_Description": "Konten hinzufügen/entfernen, umbenennen oder die Verbindung zwischen Konten unterbrechen.",
|
||||
"SettingsEditLinkedInbox_Title": "Verlinkten Posteingang bearbeiten",
|
||||
"SettingsElementTheme_Description": "Wählen Sie ein Windows-Thema für Wino",
|
||||
"SettingsElementTheme_Title": "Element-Thema",
|
||||
"SettingsElementThemeSelectionDisabled": "Auswahl des Element-Themas ist deaktiviert, wenn das Anwendungs-Thema nicht als Standard festgelegt ist.",
|
||||
"SettingsEnableHoverActions_Title": "Hover-Aktionen aktivieren",
|
||||
"SettingsEnableIMAPLogs_Description": "Aktivieren Sie dies, um Probleme bei der IMAP-Konnektivität zu übermitteln, die Sie während der Einrichtung des IMAP-Servers hatten.",
|
||||
"SettingsEnableIMAPLogs_Title": "IMAP-Protokoll-Logs aktivieren",
|
||||
@@ -471,12 +544,15 @@
|
||||
"SettingsExternalContent_Title": "Externe Inhalte",
|
||||
"SettingsFocusedInbox_Description": "Legen Sie fest, ob der Posteingang in Fokussiert - Andere aufgeteilt werden soll.",
|
||||
"SettingsFocusedInbox_Title": "Fokussierter Posteingang",
|
||||
"SettingsFolderMenuStyle_Description": "Ändern Sie, ob Kontoordner in einem Konten-Menüpunkt verschachtelt werden sollen oder nicht. Schalten Sie dies aus, wenn Sie das alte Menüsystem in Windows Mail mögen.",
|
||||
"SettingsFolderMenuStyle_Title": "Verschachtelte Ordner erstellen",
|
||||
"SettingsFolderOptions_Description": "Ändern Sie einzelne Ordnereinstellungen, wie z. B. das Ein-/Ausblenden des \"Ungelesen\"-Symbols oder das (De-)Aktivieren der Synchronisierung.",
|
||||
"SettingsFolderOptions_Title": "Ordnerkonfiguration",
|
||||
"SettingsFolderSync_Description": "Bestimmte Ordner für die Synchronisierung aktivieren oder deaktivieren.",
|
||||
"SettingsFolderSync_Title": "Ordner-Synchronisierung",
|
||||
"SettingsFolderOptions_Title": "Ordnerkonfiguration",
|
||||
"SettingsFolderOptions_Description": "Ändern Sie einzelne Ordnereinstellungen, wie z. B. das Ein-/Ausblenden des \"Ungelesen\"-Symbols oder das (De-)Aktivieren der Synchronisierung.",
|
||||
"SettingsManageAliases_Title": "Aliase",
|
||||
"SettingsManageAliases_Description": "Sehen Sie die Mail-Aliase, die diesem Konto zugewiesen wurden, aktualisieren oder löschen Sie diese.",
|
||||
"SettingsFontFamily_Title": "Schriftart",
|
||||
"SettingsFontPreview_Title": "Vorschau",
|
||||
"SettingsFontSize_Title": "Schriftgröße",
|
||||
"SettingsHoverActionCenter": "Zentrierte Aktion",
|
||||
"SettingsHoverActionLeft": "Linke Aktion",
|
||||
"SettingsHoverActionRight": "Rechte Aktion",
|
||||
@@ -484,44 +560,25 @@
|
||||
"SettingsHoverActions_Title": "Hover-Aktionen",
|
||||
"SettingsLanguage_Description": "Anzeigesprache für Wino ändern.",
|
||||
"SettingsLanguage_Title": "Anzeigesprache",
|
||||
"SettingsLanguageTime_Title": "Sprache und Zeit",
|
||||
"SettingsLanguageTime_Description": "Wino Anzeigesprache, bevorzugtes Zeitformat.",
|
||||
"CategoriesFolderNameOverride": "Kategorien",
|
||||
"AccountAlias_Column_Verified": "Verifiziert",
|
||||
"AccountAlias_Column_Alias": "Alias",
|
||||
"AccountAlias_Column_IsPrimaryAlias": "Primär",
|
||||
"AccountAlias_Disclaimer_FirstLine": "Wino kann nur Aliase für Ihre Gmail-Konten importieren.",
|
||||
"AccountAlias_Disclaimer_SecondLine": "Wenn Sie Aliase für Ihr Outlook- oder IMAP-Konto verwenden möchten, fügen Sie diese bitte selbst hinzu.",
|
||||
"MoreFolderNameOverride": "Mehr",
|
||||
"SettingsOptions_Title": "Einstellungen",
|
||||
"SettingsLanguageTime_Title": "Sprache und Zeit",
|
||||
"SettingsLinkAccounts_Description": "Mehrere Konten zu einem zusammenführen. Sehen Sie E-Mails in einem kombinierten Posteingang.",
|
||||
"SettingsLinkAccounts_Title": "Verknüpftes Konto erstellen",
|
||||
"SettingsLinkedAccountsSave_Description": "Ändern Sie den aktuellen Link mit den neuen Konten.",
|
||||
"SettingsLinkedAccountsSave_Title": "Änderungen speichern",
|
||||
"SettingsLoadImages_Title": "Bilder automatisch laden",
|
||||
"SettingsLoadStyles_Title": "Stile automatisch laden",
|
||||
"SettingsLoadPlaintextLinks_Title": "Klartext-Links in anklickbare Links konvertieren",
|
||||
"SettingsLoadStyles_Title": "Stile automatisch laden",
|
||||
"SettingsMailListActionBar_Description": "Aktionsleiste am oberen Rand der Nachrichtenliste aus-/einblenden.",
|
||||
"SettingsMailListActionBar_Title": "Mail-Listen-Aktionen anzeigen",
|
||||
"SettingsMailSpacing_Description": "Den Abstand für die Auflistung von Mails anpassen.",
|
||||
"SettingsMailSpacing_Title": "Mail-Abstand",
|
||||
"SettingsFolderMenuStyle_Title": "Verschachtelte Ordner erstellen",
|
||||
"SettingsFolderMenuStyle_Description": "Ändern Sie, ob Kontoordner in einem Konten-Menüpunkt verschachtelt werden sollen oder nicht. Schalten Sie dies aus, wenn Sie das alte Menüsystem in Windows Mail mögen.",
|
||||
"SettingsManageAccountSettings_Description": "Benachrichtigungen, Signaturen, Synchronisierung und andere Einstellungen pro Konto.",
|
||||
"SettingsManageAccountSettings_Title": "Kontoeinstellungen verwalten",
|
||||
"SettingsAppPreferences_Title": "App-Präferenzen",
|
||||
"SettingsAppPreferences_Description": "Allgemeine Einstellungen / Präferenzen für Wino Mail.",
|
||||
"SettingsAppPreferences_CloseBehavior_Title": "Verhalten der App beim Schließen",
|
||||
"SettingsAppPreferences_CloseBehavior_Description": "Was soll passieren, wenn Sie die App schließen?",
|
||||
"SettingsAppPreferences_StartupBehavior_Title": "Beim Start von Windows minimiert starten",
|
||||
"SettingsAppPreferences_StartupBehavior_Description": "Wino Mail das minimierte Starten erlauben, wenn Windows startet. Ermöglicht es, immer Benachrichtigungen zu erhalten.",
|
||||
"SettingsAppPreferences_StartupBehavior_Enabled": "Wino Mail wurde es erfolgreich gestattet, beim Starten von Windows im Hintergrund zu starten.",
|
||||
"SettingsAppPreferences_StartupBehavior_Disabled": "Wino Mail wird beim Start von Windows nicht gestartet. Dies führt dazu, dass Sie keine Benachrichtigungen erhalten, wenn Sie Ihren Computer neu starten.",
|
||||
"SettingsAppPreferences_StartupBehavior_DisabledByPolicy": "Ihre Administrator- oder Gruppenrichtlinien gestatten den automatischen Start von Programmen nicht. Daher kann für Wino Mail der automatische Start nicht aktiviert werden.",
|
||||
"SettingsAppPreferences_StartupBehavior_DisabledByUser": "Bitte gehen Sie zu Task-Manager -> Autostart von Apps, um Wino Mail den Autostart zu erlauben.",
|
||||
"SettingsAppPreferences_StartupBehavior_FatalError": "Ein schwerwiegender Fehler ist beim Ändern des Startmodus für Wino Mail aufgetreten.",
|
||||
"SettingsAppPreferences_StartupBehavior_Enable": "Aktivieren",
|
||||
"SettingsAppPreferences_StartupBehavior_Disable": "Deaktivieren",
|
||||
"SettingsReorderAccounts_Title": "Konten neu ordnen",
|
||||
"SettingsReorderAccounts_Description": "Ändern Sie die Konten-Reihenfolge in der Kontenliste.",
|
||||
"SettingsManageAliases_Description": "Sehen Sie die Mail-Aliase, die diesem Konto zugewiesen wurden, aktualisieren oder löschen Sie diese.",
|
||||
"SettingsManageAliases_Title": "Aliase",
|
||||
"SettingsEditAccountDetails_Title": "Kontodaten bearbeiten",
|
||||
"SettingsEditAccountDetails_Description": "Ändern Sie den Kontonamen, Absendernamen und weisen Sie eine neue Farbe zu.",
|
||||
"SettingsManageLink_Description": "Elemente verschieben, um neuen Link hinzuzufügen oder bestehenden Link zu entfernen.",
|
||||
"SettingsManageLink_Title": "Link verwalten",
|
||||
"SettingsMarkAsRead_Description": "Ändern Sie, was mit dem ausgewählten Element passieren soll.",
|
||||
@@ -535,59 +592,71 @@
|
||||
"SettingsNoAccountSetupMessage": "Sie haben noch keine Konten eingerichtet.",
|
||||
"SettingsNotifications_Description": "Benachrichtigungen für dieses Konto ein- oder ausschalten.",
|
||||
"SettingsNotifications_Title": "Benachrichtigungen",
|
||||
"SettingsNotificationsAndTaskbar_Title": "Benachrichtigungen & Taskleiste",
|
||||
"SettingsTaskbarBadge_Title": "Taskleisten-Symbol",
|
||||
"SettingsTaskbarBadge_Description": "Zeigt die Anzahl der ungelesenen Mails auf der Taskleiste an.",
|
||||
"SettingsNotificationsAndTaskbar_Description": "Passt Benachrichtigungen und das Taskleisten-Symbol für dieses Konto an.",
|
||||
"SettingsNotificationsAndTaskbar_Title": "Benachrichtigungen & Taskleiste",
|
||||
"SettingsOptions_Title": "Einstellungen",
|
||||
"SettingsPaneLengthReset_Description": "Setzen Sie die Größe der Mailliste auf die Originaleinstellung zurück, falls sie Probleme haben.",
|
||||
"SettingsPaneLengthReset_Title": "Größe der Mailliste zurücksetzen",
|
||||
"SettingsPaypal_Description": "Zeigen Sie viel mehr Liebe ❤️ Alle Spenden werden wertgeschätzt.",
|
||||
"SettingsPaypal_Title": "Über PayPal spenden",
|
||||
"SettingsPersonalization_Description": "Ändern Sie das Aussehen von Wino nach Ihren Vorlieben.",
|
||||
"SettingsPersonalization_Title": "Personalisierung",
|
||||
"SettingsPersonalizationMailDisplayCompactMode": "Kompakter Modus",
|
||||
"SettingsPersonalizationMailDisplayMediumMode": "Mittlerer Modus",
|
||||
"SettingsPersonalizationMailDisplaySpaciousMode": "Geräumiger Modus",
|
||||
"SettingsPersonalization_Description": "Ändern Sie das Aussehen von Wino nach Ihren Vorlieben.",
|
||||
"SettingsPersonalization_Title": "Personalisierung",
|
||||
"SettingsPrefer24HourClock_Description": "Empfangszeiten für Mails werden im 24-Stunden-Format statt 12 (AM/PM) angezeigt",
|
||||
"SettingsPrefer24HourClock_Title": "Uhr-Format in 24 Stunden anzeigen",
|
||||
"SettingsPrivacyPolicy_Description": "Datenschutzrichtlinie ansehen.",
|
||||
"SettingsPrivacyPolicy_Title": "Datenschutzerklärung",
|
||||
"SettingsReader_Title": "Leseansicht",
|
||||
"SettingsComposer_Title": "Verfasser",
|
||||
"SettingsReadComposePane_Description": "Schriftarten, externe Inhalte.",
|
||||
"SettingsReadComposePane_Title": "Leseansicht & Verfasser",
|
||||
"SettingsReader_Title": "Leseansicht",
|
||||
"SettingsReaderFont_Title": "Standard Lese-Schriftart",
|
||||
"SettingsReaderFontFamily_Description": "Ändern Sie die Standardschriftart und Schriftgröße für das Lesen von Mails.",
|
||||
"SettingsFontFamily_Title": "Schriftart",
|
||||
"SettingsFontSize_Title": "Schriftgröße",
|
||||
"SettingsFontPreview_Title": "Vorschau",
|
||||
"SettingsComposerFont_Title": "Standard Verfasser-Schriftart",
|
||||
"SettingsComposerFontFamily_Description": "Ändern Sie die Standardschriftart und Schriftgröße für das Verfassen von Mails.",
|
||||
"SettingsRenameMergeAccount_Description": "Den Anzeigenamen der verknüpften Konten ändern.",
|
||||
"SettingsRenameMergeAccount_Title": "Umbenennen",
|
||||
"SettingsReorderAccounts_Description": "Ändern Sie die Konten-Reihenfolge in der Kontenliste.",
|
||||
"SettingsReorderAccounts_Title": "Konten neu ordnen",
|
||||
"SettingsSemanticZoom_Description": "Dadurch können Sie auf die Kopfzeilen in der Nachrichtenliste klicken und zu einem bestimmten Datum springen",
|
||||
"SettingsSemanticZoom_Title": "Semantischer Zoom für Datumsüberschriften",
|
||||
"SettingsShowPreviewText_Description": "Den Vorschautext aus-/einblenden.",
|
||||
"SettingsShowPreviewText_Title": "Vorschautext anzeigen",
|
||||
"SettingsShowSenderPictures_Description": "Absender-Profilbilder ausblenden/anzeigen.",
|
||||
"SettingsShowSenderPictures_Title": "Absender-Profilbilder anzeigen",
|
||||
"SettingsPrefer24HourClock_Title": "Uhr-Format in 24 Stunden anzeigen",
|
||||
"SettingsPrefer24HourClock_Description": "Empfangszeiten für Mails werden im 24-Stunden-Format statt 12 (AM/PM) angezeigt",
|
||||
"SettingsSignature_AddCustomSignature_Button": "Signatur hinzufügen",
|
||||
"SettingsSignature_AddCustomSignature_Title": "Eigene Signatur hinzufügen",
|
||||
"SettingsSignature_DeleteSignature_Title": "Signatur löschen",
|
||||
"SettingsSignature_Description": "Kontosignaturen verwalten",
|
||||
"SettingsSignature_EditSignature_Title": "Signatur bearbeiten",
|
||||
"SettingsSignature_ForFollowingMessages_Title": "Für Antworten/Weiterleitungen",
|
||||
"SettingsSignature_ForNewMessages_Title": "Für neue Nachrichten",
|
||||
"SettingsSignature_NoneSignatureName": "Keine",
|
||||
"SettingsSignature_SignatureDefaults": "Standard-Signaturen",
|
||||
"SettingsSignature_Signatures": "Signaturen",
|
||||
"SettingsSignature_Title": "Signatur",
|
||||
"SettingsStartupItem_Description": "Primäres Konto zum Laden des Posteingangs beim Starten.",
|
||||
"SettingsStartupItem_Title": "Startelement",
|
||||
"SettingsStore_Description": "Zeigen Sie etwas Liebe ❤️",
|
||||
"SettingsStore_Title": "Im Store bewerten",
|
||||
"SettingsTaskbarBadge_Description": "Zeigt die Anzahl der ungelesenen Mails auf der Taskleiste an.",
|
||||
"SettingsTaskbarBadge_Title": "Taskleisten-Symbol",
|
||||
"SettingsThreads_Description": "Nachrichten in Unterhaltungsthreads organisieren.",
|
||||
"SettingsThreads_Title": "Unterhaltungsthreading",
|
||||
"SettingsMailListActionBar_Description": "Aktionsleiste am oberen Rand der Nachrichtenliste aus-/einblenden.",
|
||||
"SettingsMailListActionBar_Title": "Mail-Listen-Aktionen anzeigen",
|
||||
"SettingsUnlinkAccounts_Description": "Entfernen Sie den Link zwischen den Konten. Dies wird Ihre Konten nicht löschen.",
|
||||
"SettingsUnlinkAccounts_Title": "Konten trennen",
|
||||
"SignatureDeleteDialog_Message": "Wollen Sie Signatur \"{0}\" wirklich löschen?",
|
||||
"SignatureDeleteDialog_Title": "Signatur löschen",
|
||||
"SignatureEditorDialog_SignatureName_Placeholder": "Fügen Sie Ihre Signatur ein",
|
||||
"SignatureEditorDialog_SignatureName_TitleEdit": "Aktueller Signaturname: {0}",
|
||||
"SignatureEditorDialog_SignatureName_TitleNew": "Signaturname",
|
||||
"SignatureEditorDialog_Title": "Signatur-Editor",
|
||||
"SortingOption_Date": "nach Datum",
|
||||
"SortingOption_Name": "nach Name",
|
||||
"StoreRatingDialog_MessageFirstLine": "Jedes Feedback ist willkommen und wird Wino besser machen. Möchten Sie Wino im Microsoft Store bewerten?",
|
||||
"StoreRatingDialog_MessageSecondLine": "Möchten Sie Wino Mail im Microsoft Store bewerten?",
|
||||
"StoreRatingDialog_Title": "Gefällt Ihnen Wino?",
|
||||
"SynchronizationFolderReport_Failed": "Synchronisierung fehlgeschlagen",
|
||||
"SynchronizationFolderReport_Success": "aktuell",
|
||||
"SystemFolderConfigDialog_ArchiveFolderDescription": "Archivierte Nachrichten werden hierher verschoben.",
|
||||
"SystemFolderConfigDialog_ArchiveFolderHeader": "Archivordner",
|
||||
"SystemFolderConfigDialog_DeletedFolderDescription": "Gelöschte Nachrichten werden hierher verschoben.",
|
||||
@@ -601,11 +670,15 @@
|
||||
"SystemFolderConfigDialog_SentFolderDescription": "Ordner, in dem gesendete Nachrichten gespeichert werden sollen.",
|
||||
"SystemFolderConfigDialog_SentFolderHeader": "Gesendete-Ordner",
|
||||
"SystemFolderConfigDialog_Title": "Systemordner konfigurieren",
|
||||
"SystemFolderConfigDialogValidation_InboxSelected": "Sie können den Posteingang keinem anderen Systemordner zuordnen.",
|
||||
"SystemFolderConfigDialogValidation_DuplicateSystemFolders": "Einige der Systemordner werden in der Konfiguration mehrmals verwendet.",
|
||||
"SystemFolderConfigSetupSuccess_Title": "Systemordner-Einrichtung",
|
||||
"SystemFolderConfigDialogValidation_InboxSelected": "Sie können den Posteingang keinem anderen Systemordner zuordnen.",
|
||||
"SystemFolderConfigSetupSuccess_Message": "Systemordner wurden erfolgreich konfiguriert.",
|
||||
"SystemFolderConfigSetupSuccess_Title": "Systemordner-Einrichtung",
|
||||
"TestingImapConnectionMessage": "Serververbindung wird getestet...",
|
||||
"TitleBarServerDisconnectedButton_Description": "Wino ist vom Netzwerk getrennt. Klicken Sie auf \"Erneut verbinden\", um die Verbindung wiederherzustellen.",
|
||||
"TitleBarServerDisconnectedButton_Title": "Keine Verbindung",
|
||||
"TitleBarServerReconnectButton_Title": "Erneut verbinden",
|
||||
"TitleBarServerReconnectingButton_Title": "Verbindung wird hergestellt",
|
||||
"Today": "Heute",
|
||||
"UnknownAddress": "unbekannte Adresse",
|
||||
"UnknownDateHeader": "Unbekanntes Datum",
|
||||
@@ -616,37 +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",
|
||||
"SignatureEditorDialog_Title": "Signatur-Editor",
|
||||
"SignatureEditorDialog_SignatureName_Placeholder": "Fügen Sie Ihre Signatur ein",
|
||||
"SignatureEditorDialog_SignatureName_TitleNew": "Signaturname",
|
||||
"SignatureEditorDialog_SignatureName_TitleEdit": "Aktueller Signaturname: {0}",
|
||||
"SignatureDeleteDialog_Title": "Signatur löschen",
|
||||
"SignatureDeleteDialog_Message": "Wollen Sie Signatur \"{0}\" wirklich löschen?",
|
||||
"SettingsSignature_ForNewMessages_Title": "Für neue Nachrichten",
|
||||
"SettingsSignature_ForFollowingMessages_Title": "Für Antworten/Weiterleitungen",
|
||||
"SettingsSignature_SignatureDefaults": "Standard-Signaturen",
|
||||
"SettingsSignature_Signatures": "Signaturen",
|
||||
"SettingsSignature_AddCustomSignature_Title": "Eigene Signatur hinzufügen",
|
||||
"SettingsSignature_AddCustomSignature_Button": "Signatur hinzufügen",
|
||||
"SettingsSignature_EditSignature_Title": "Signatur bearbeiten",
|
||||
"SettingsSignature_DeleteSignature_Title": "Signatur löschen",
|
||||
"SettingsSignature_NoneSignatureName": "Keine",
|
||||
"SettingsAppPreferences_ServerBackgroundingMode_MinimizeTray_Title": "In den System-Tray minimieren",
|
||||
"SettingsAppPreferences_ServerBackgroundingMode_MinimizeTray_Description": "Wino Mail wird weiterhin im System-Tray laufen. Startet beim Klicken des Symbols die Anwendung. Sie werden benachrichtigt, sobald neue Mails eintreffen.",
|
||||
"SettingsAppPreferences_ServerBackgroundingMode_Invisible_Title": "Im Hintergrund ausführen",
|
||||
"SettingsAppPreferences_ServerBackgroundingMode_Invisible_Description": "Wino Mail wird weiterhin im Hintergrund ausgeführt. Sie werden benachrichtigt, sobald neue Mails eintreffen.",
|
||||
"SettingsAppPreferences_ServerBackgroundingMode_Terminate_Title": "Beenden",
|
||||
"SettingsAppPreferences_ServerBackgroundingMode_Terminate_Description": "Wino Mail wird nicht weiter ausgeführt werden. Sie werden nicht benachrichtigt, wenn neue Mails eintreffen. Starten Sie Wino Mail erneut, um die Mail-Synchronisation fortzusetzen.",
|
||||
"TitleBarServerDisconnectedButton_Title": "Keine Verbindung",
|
||||
"TitleBarServerDisconnectedButton_Description": "Wino ist vom Netzwerk getrennt. Klicken Sie auf \"Erneut verbinden\", um die Verbindung wiederherzustellen.",
|
||||
"TitleBarServerReconnectButton_Title": "Erneut verbinden",
|
||||
"TitleBarServerReconnectingButton_Title": "Verbindung wird hergestellt",
|
||||
"MailItemNoSubject": "Kein Betreff",
|
||||
"QuickEventDialogMoreDetailsButtonText": "Mehr Details",
|
||||
"QuickEventDialog_RemindMe": "Mich erinnern",
|
||||
"QuickEventDialog_Location": "Standort",
|
||||
"QuickEventDialog_EventName": "Name des Events",
|
||||
"QuickEventDialog_IsAllDay": "Ganztägig"
|
||||
"Yesterday": "Gestern"
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -1,29 +1,40 @@
|
||||
{
|
||||
"AccountAlias_Column_Alias": "Ψευδώνυμο",
|
||||
"AccountAlias_Column_IsPrimaryAlias": "Κύριο",
|
||||
"AccountAlias_Column_Verified": "Επαληθεύτηκε",
|
||||
"AccountAlias_Disclaimer_FirstLine": "Το Wino μπορεί να εισάγει ψευδώνυμα μόνο για τους λογαριασμούς σας στο Gmail.",
|
||||
"AccountAlias_Disclaimer_SecondLine": "Αν θέλετε να χρησιμοποιήσετε τα ψευδώνυμα για το Outlook ή IMAP λογαριασμό σας, παρακαλούμε να τα προσθέσετε χειροκίνητα.",
|
||||
"AccountCacheReset_Title": "Επαναφορά Κρυφής Μνήμης Λογαριασμού",
|
||||
"AccountCacheReset_Message": "Αυτός ο λογαριασμός απαιτεί πλήρη επανασυγχρονισμό για να συνεχίσει να δουλεύει. Παρακαλώ περιμένετε ενώ ο Wino επανασυγχρονίζει τα μηνύματά σας...",
|
||||
"AccountContactNameYou": "Εσείς",
|
||||
"AccountCreationDialog_Completed": "όλα έτοιμα",
|
||||
"AccountCreationDialog_Initializing": "αρχικοποιείται",
|
||||
"AccountCreationDialog_PreparingFolders": "Προς το παρόν λαμβάνουμε πληροφορίες φακέλων.",
|
||||
"AccountCreationDialog_SigninIn": "Οι πληροφορίες λογαριασμού αποθηκεύονται.",
|
||||
"AccountCreationDialog_FetchingProfileInformation": "Λήψη λεπτομερειών προφίλ.",
|
||||
"AccountCreationDialog_FetchingEvents": "Ανάκτηση συμβάντων ημερολογίου.",
|
||||
"AccountCreationDialog_FetchingProfileInformation": "Λήψη λεπτομερειών προφίλ.",
|
||||
"AccountCreationDialog_GoogleAuthHelpClipboardText_Row0": "Εάν το πρόγραμμα περιήγησής σας δεν εκκινήθηκε αυτόματα για να ολοκληρωθεί ο έλεγχος ταυτότητας:",
|
||||
"AccountCreationDialog_GoogleAuthHelpClipboardText_Row1": "1) Κάντε κλικ στο παρακάτω κουμπί για να αντιγράψετε τη διεύθυνση ελέγχου ταυτότητας",
|
||||
"AccountCreationDialog_GoogleAuthHelpClipboardText_Row2": "2) Εκκινήστε τον περιηγητή σας (Edge, Chrome, Firefox κλπ...)",
|
||||
"AccountCreationDialog_GoogleAuthHelpClipboardText_Row3": "3) Επικολλήστε την αντιγραμμένη διεύθυνση και μεταβείτε στην ιστοσελίδα για να ολοκληρώσετε τον έλεγχο ταυτότητας χειροκίνητα.",
|
||||
"AccountCreationDialog_Initializing": "αρχικοποιείται",
|
||||
"AccountCreationDialog_PreparingFolders": "Προς το παρόν λαμβάνουμε πληροφορίες φακέλων.",
|
||||
"AccountCreationDialog_SigninIn": "Οι πληροφορίες λογαριασμού αποθηκεύονται.",
|
||||
"AccountEditDialog_Message": "Όνομα Λογαριασμού",
|
||||
"AccountEditDialog_Title": "Επεξεργασία Λογαριασμού",
|
||||
"AccountPickerDialog_Title": "Επιλέξτε έναν λογαριασμό",
|
||||
"AccountSettingsDialog_AccountName": "Εμφανιζόμενο Όνομα Αποστολέα",
|
||||
"AccountSettingsDialog_AccountNamePlaceholder": "πχ. Γιώργος Παπαδάκης",
|
||||
"AccountDetailsPage_Title": "Πληροφορίες λογαριασμού",
|
||||
"AccountDetailsPage_Description": "Αλλάξτε το όνομα του λογαριασμού στο Wino και ορίστε το επιθυμητό όνομα αποστολέα.",
|
||||
"AccountDetailsPage_ColorPicker_Title": "Χρώμα λογαριασμού",
|
||||
"AccountDetailsPage_ColorPicker_Description": "Αναθέστε ένα νέο χρώμα λογαριασμού για να χρωματίσετε το σύμβολο του στη λίστα.",
|
||||
"AddHyperlink": "Προσθήκη",
|
||||
"AccountContactNameYou": "You",
|
||||
"AutoDiscoveryProgressMessage": "Αναζήτηση για ρυθμίσεις αλληλογραφίας...",
|
||||
"AppCloseBackgroundSynchronizationWarningTitle": "Συγχρονισμός Παρασκηνίου",
|
||||
"AppCloseTerminateBehaviorWarningMessageFirstLine": "Τερματίζετε το Wino Mail και συμπεριφορά της εφαρμογής σας στο κλείσιμο έχει οριστεί σε 'Τερματισμός'.",
|
||||
"AppCloseTerminateBehaviorWarningMessageSecondLine": "Αυτό θα σταματήσει όλους τους συγχρονισμούς παρασκηνίου και ειδοποιήσεις.",
|
||||
"AppCloseTerminateBehaviorWarningMessageThirdLine": "Θέλετε να μεταβείτε στις Προτιμήσεις Εφαρμογής για να ορίσετε αν θέλετε το Wino Mail να εκτελείται ελαχιστοποιημένο ή στο παρασκήνιο;",
|
||||
"AppCloseStartupLaunchDisabledWarningMessageFirstLine": "Η εφαρμογή δεν έχει οριστεί για εκκίνηση κατά την έναρξη των Windows.",
|
||||
"AppCloseStartupLaunchDisabledWarningMessageSecondLine": "Αυτό θα σας κάνει να χάνετε ειδοποιήσεις όταν επανεκκινήσετε τον υπολογιστή σας.",
|
||||
"AppCloseStartupLaunchDisabledWarningMessageThirdLine": "Θέλετε να μεταβείτε στη σελίδα Προτιμήσεις Εφαρμογής για να το ενεργοποιήσετε;",
|
||||
"AppCloseTerminateBehaviorWarningMessageFirstLine": "Τερματίζετε το Wino Mail και συμπεριφορά της εφαρμογής σας στο κλείσιμο έχει οριστεί σε 'Τερματισμός'.",
|
||||
"AppCloseTerminateBehaviorWarningMessageSecondLine": "Αυτό θα σταματήσει όλους τους συγχρονισμούς παρασκηνίου και ειδοποιήσεις.",
|
||||
"AppCloseTerminateBehaviorWarningMessageThirdLine": "Θέλετε να μεταβείτε στις Προτιμήσεις Εφαρμογής για να ορίσετε αν θέλετε το Wino Mail να εκτελείται ελαχιστοποιημένο ή στο παρασκήνιο;",
|
||||
"AutoDiscoveryProgressMessage": "Αναζήτηση για ρυθμίσεις αλληλογραφίας...",
|
||||
"BasicIMAPSetupDialog_AdvancedConfiguration": "Σύνθετη Διαμόρφωση",
|
||||
"BasicIMAPSetupDialog_CredentialLocalMessage": "Τα διαπιστευτήριά σας θα αποθηκεύονται μόνο τοπικά στον υπολογιστή σας.",
|
||||
"BasicIMAPSetupDialog_Description": "Ορισμένοι λογαριασμοί απαιτούν πρόσθετα βήματα για να συνδεθούν",
|
||||
@@ -34,48 +45,63 @@
|
||||
"BasicIMAPSetupDialog_MailAddressPlaceholder": "gianpapadakis@magazi.com",
|
||||
"BasicIMAPSetupDialog_Password": "Κωδικόs πρόσβασης",
|
||||
"BasicIMAPSetupDialog_Title": "Λογαριασμός IMAP",
|
||||
"Busy": "Απασχολημένο",
|
||||
"Buttons_AddAccount": "Προσθήκη Λογαριασμού",
|
||||
"Buttons_AddNewAlias": "Προσθήκη Νέου Ψευδώνυμου",
|
||||
"Buttons_Allow": "Αποδοχή",
|
||||
"Buttons_Deny": "Απόρριψη",
|
||||
"Buttons_SyncAliases": "Συγχρονισμός Ψευδώνυμων",
|
||||
"Buttons_ApplyTheme": "Εφαρμογή Θέματος",
|
||||
"Buttons_Browse": "Περιήγηση",
|
||||
"Buttons_Cancel": "Ακύρωση",
|
||||
"Buttons_Close": "Κλείσιμο",
|
||||
"Buttons_Copy": "Αντιγραφή",
|
||||
"Buttons_Create": "Δημιουργία",
|
||||
"Buttons_CreateAccount": "Δημιουργία Λογαριασμού",
|
||||
"Buttons_Copy": "Αντιγραφή",
|
||||
"Buttons_Delete": "Διαγραφή",
|
||||
"Buttons_Edit": "Επεξεργασία",
|
||||
"Buttons_Deny": "Απόρριψη",
|
||||
"Buttons_Discard": "Απόρριψη",
|
||||
"Buttons_Edit": "Επεξεργασία",
|
||||
"Buttons_EnableImageRendering": "Ενεργοποίηση",
|
||||
"Buttons_Multiselect": "Επιλογή Πολλαπλών",
|
||||
"Buttons_No": "Όχι",
|
||||
"Buttons_Open": "Άνοιγμα",
|
||||
"Buttons_Purchase": "Αγορά",
|
||||
"Buttons_RateWino": "Αξιολογήστε το Wino",
|
||||
"Buttons_Reset": "Επαναφορά",
|
||||
"Buttons_Save": "Αποθήκευση",
|
||||
"Buttons_SaveConfiguration": "Αποθήκευση Διαμόρφωσης",
|
||||
"Buttons_Send": "Αποστολή",
|
||||
"Buttons_Share": "Κοινοποίηση",
|
||||
"Buttons_SignIn": "Σύνδεση",
|
||||
"Buttons_Sync": "Συγχρονισμός",
|
||||
"Buttons_SyncAliases": "Συγχρονισμός Ψευδώνυμων",
|
||||
"Buttons_TryAgain": "Προσπαθήστε ξανά",
|
||||
"Buttons_Yes": "Ναι",
|
||||
"Buttons_Reset": "Επαναφορά",
|
||||
"Buttons_Send": "Αποστολή",
|
||||
"Buttons_Sync": "Συγχρονισμός",
|
||||
"Buttons_Multiselect": "Επιλογή Πολλαπλών",
|
||||
"CalendarAllDayEventSummary": "ολοήμερα συμβάντα",
|
||||
"CalendarDisplayOptions_Color": "Χρώμα",
|
||||
"CalendarDisplayOptions_Expand": "Επέκταση",
|
||||
"CalendarItem_DetailsPopup_JoinOnline": "Συμμετοχή online",
|
||||
"CalendarItem_DetailsPopup_ViewEventButton": "Προβολή συμβάντος",
|
||||
"CalendarItem_DetailsPopup_ViewSeriesButton": "Προβολή σειράς",
|
||||
"CalendarItemAllDay": "όλη μέρα",
|
||||
"CategoriesFolderNameOverride": "Κατηγορίες",
|
||||
"Center": "Κέντρο",
|
||||
"ComingSoon": "Έρχεται σύντομα...",
|
||||
"ComposerFrom": "Από: ",
|
||||
"ComposerSubject": "Θέμα: ",
|
||||
"ComposerTo": "Προς: ",
|
||||
"ClipboardTextCopied_Message": "Το \"{0}\" αντιγράφηκε στο πρόχειρο.",
|
||||
"ClipboardTextCopied_Title": "Αντιγράφηκε",
|
||||
"ClipboardTextCopyFailed_Message": "Η αντιγραφή του {0} στο πρόχειρο απέτυχε.",
|
||||
"ComposerToPlaceholder": "κάντε κλικ στο enter για να εισάγετε διευθύνσεις",
|
||||
"ComposerAttachmentsDropZone_Message": "Τοποθετήστε το αρχείο σας εδώ",
|
||||
"ComposerImagesDropZone_Message": "Αφήστε τις εικόνες σας εδώ",
|
||||
"ComingSoon": "Έρχεται σύντομα...",
|
||||
"ComposerAttachmentsDragDropAttach_Message": "Επισύναψη",
|
||||
"ComposerAttachmentsDropZone_Message": "Τοποθετήστε το αρχείο σας εδώ",
|
||||
"ComposerFrom": "Από: ",
|
||||
"ComposerImagesDropZone_Message": "Αφήστε τις εικόνες σας εδώ",
|
||||
"ComposerSubject": "Θέμα: ",
|
||||
"ComposerTo": "Προς: ",
|
||||
"ComposerToPlaceholder": "κάντε κλικ στο enter για να εισάγετε διευθύνσεις",
|
||||
"CreateAccountAliasDialog_AliasAddress": "Διεύθυνση",
|
||||
"CreateAccountAliasDialog_AliasAddressPlaceholder": "πχ. support@mydomain.com",
|
||||
"CreateAccountAliasDialog_Description": "Βεβαιωθείτε ότι ο εξερχόμενος διακομιστής σας επιτρέπει την αποστολή μηνυμάτων από αυτό το ψευδώνυμο.",
|
||||
"CreateAccountAliasDialog_ReplyToAddress": "Διεύθυνση απάντησης",
|
||||
"CreateAccountAliasDialog_ReplyToAddressPlaceholder": "admin@mydomain.com",
|
||||
"CreateAccountAliasDialog_Title": "Δημιουργία Ψευδώνυμου Λογαριασμού",
|
||||
"CustomThemeBuilder_AccentColorDescription": "Ορίστε προσαρμοσμένο χρώμα έμφασης αν θέλετε. Αν δεν επιλέξετε κάποιο χρώμα θα χρησιμοποιηθεί το χρώμα έμφασης των Windows.",
|
||||
"CustomThemeBuilder_AccentColorTitle": "Χρώμα έμφασης",
|
||||
"CustomThemeBuilder_PickColor": "Επιλογή",
|
||||
@@ -84,70 +110,57 @@
|
||||
"CustomThemeBuilder_Title": "Δημιουργός Προσαρμοσμένου Θέματος",
|
||||
"CustomThemeBuilder_WallpaperDescription": "Ορισμός προσαρμοσμένης ταπετσαρίας για το Wino",
|
||||
"CustomThemeBuilder_WallpaperTitle": "Ορισμός προσαρμοσμένης ταπετσαρίας",
|
||||
"Dialog_DontAskAgain": "Να μην ερωτηθώ ξανά",
|
||||
"DialogMessage_AccountLimitMessage": "Έχετε φτάσει το όριο δημιουργίας λογαριασμού.\nΘα θέλατε να αγοράσετε το πρόσθετο 'Απεριόριστοι Λογαριασμοί' για να συνεχίσετε;",
|
||||
"DialogMessage_AccountLimitTitle": "Το Όριο Λογαριασμού Επιτεύχθη",
|
||||
"DialogMessage_AliasNotSelectedTitle": "Λείπει Ψευδώνυμο",
|
||||
"DialogMessage_AliasNotSelectedMessage": "Πρέπει να επιλέξετε ένα ψευδώνυμο πριν από την αποστολή μηνύματος.",
|
||||
"DialogMessage_AliasExistsTitle": "Υπάρχον Ψευδώνυμο",
|
||||
"DialogMessage_AliasExistsMessage": "Αυτό το ψευδώνυμο χρησιμοποιείται ήδη.",
|
||||
"DialogMessage_InvalidAliasTitle": "Μη Έγκυρο Ψευδώνυμο",
|
||||
"DialogMessage_InvalidAliasMessage": "Αυτό το ψευδώνυμο δεν είναι έγκυρο. Βεβαιωθείτε ότι όλες οι διευθύνσεις του ψευδώνυμου είναι έγκυρες διευθύνσεις email.",
|
||||
"DialogMessage_CantDeleteRootAliasTitle": "Αδυναμία Διαγραφής Ψευδώνυμου",
|
||||
"DialogMessage_CantDeleteRootAliasMessage": "Το βασικό ψευδώνυμο δεν μπορεί να διαγραφεί. Αυτή είναι η κύρια ταυτότητα που σχετίζεται με τις ρυθμίσεις του λογαριασμού σας.",
|
||||
"DialogMessage_AliasCreatedTitle": "Δημιουργήθηκε Νέο Ψευδώνυμο",
|
||||
"DialogMessage_AliasCreatedMessage": "Το νέο ψευδώνυμο δημιουργήθηκε επιτυχώς.",
|
||||
"DialogMessage_AliasCreatedTitle": "Δημιουργήθηκε Νέο Ψευδώνυμο",
|
||||
"DialogMessage_AliasExistsMessage": "Αυτό το ψευδώνυμο χρησιμοποιείται ήδη.",
|
||||
"DialogMessage_AliasExistsTitle": "Υπάρχον Ψευδώνυμο",
|
||||
"DialogMessage_AliasNotSelectedMessage": "Πρέπει να επιλέξετε ένα ψευδώνυμο πριν από την αποστολή μηνύματος.",
|
||||
"DialogMessage_AliasNotSelectedTitle": "Λείπει Ψευδώνυμο",
|
||||
"DialogMessage_CantDeleteRootAliasMessage": "Το βασικό ψευδώνυμο δεν μπορεί να διαγραφεί. Αυτή είναι η κύρια ταυτότητα που σχετίζεται με τις ρυθμίσεις του λογαριασμού σας.",
|
||||
"DialogMessage_CantDeleteRootAliasTitle": "Αδυναμία Διαγραφής Ψευδώνυμου",
|
||||
"DialogMessage_CleanupFolderMessage": "Θέλετε να διαγράψετε μόνιμα όλα τα μηνύματα σε αυτό το φάκελο;",
|
||||
"DialogMessage_CleanupFolderTitle": "Εκκαθάριση Φακέλου",
|
||||
"DialogMessage_ComposerMissingRecipientMessage": "Το μήνυμα δεν έχει παραλήπτη.",
|
||||
"DialogMessage_ComposerValidationFailedTitle": "Αποτυχία Επικύρωσης",
|
||||
"DialogMessage_CreateLinkedAccountMessage": "Δώστε σε αυτόν τον νέο σύνδεσμο ένα όνομα. Οι λογαριασμοί θα συγχωνευθούν με αυτό το όνομα.",
|
||||
"DialogMessage_CreateLinkedAccountTitle": "Όνομα Συνδέσμου Λογαριασμού",
|
||||
"DialogMessage_PrintingFailedMessage": "Αποτυχία εκτύπωσης αυτού του email. Αποτέλεσμα: {0}",
|
||||
"DialogMessage_PrintingFailedTitle": "Απέτυχε",
|
||||
"DialogMessage_PrintingSuccessTitle": "Επιτυχία",
|
||||
"DialogMessage_PrintingSuccessMessage": "Η αλληλογραφία αποστέλλεται στον εκτυπωτή.",
|
||||
"DialogMessage_DeleteAccountConfirmationMessage": "Διαγραφή {0};",
|
||||
"DialogMessage_DeleteAccountConfirmationTitle": "Όλα τα δεδομένα που σχετίζονται με αυτόν τον λογαριασμό θα διαγραφούν από το δίσκο οριστικά.",
|
||||
"DialogMessage_DiscardDraftConfirmationMessage": "Αυτό το πρόχειρο θα απορριφθεί. Θέλετε να συνεχίσετε;",
|
||||
"DialogMessage_DiscardDraftConfirmationTitle": "Απόρριψη προχείρου",
|
||||
"DialogMessage_EmptySubjectConfirmation": "Χωρίς Θέμα",
|
||||
"DialogMessage_EmptySubjectConfirmationMessage": "Το μήνυμα δεν έχει θέμα. Θέλετε να συνεχίσετε;",
|
||||
"DialogMessage_EnableStartupLaunchDeniedMessage": "Μπορείτε να ενεργοποιήσετε την εκκίνηση κατά την έναρξη από τις Ρυθμίσεις -> Προτιμήσεις εφαρμογών.",
|
||||
"DialogMessage_EnableStartupLaunchMessage": "Αφήστε το Wino Mail να εκκινείται αυτόματα ελαχιστοποιημένο κατά την έναρξη των Windows για να μην χάσετε καμία ειδοποίηση.\n\nΘέλετε να ενεργοποιήσετε την εκκίνηση κατά την έναρξη;",
|
||||
"DialogMessage_EnableStartupLaunchTitle": "Ενεργοποίηση Εκκίνηση στην Έναρξη",
|
||||
"DialogMessage_HardDeleteConfirmationMessage": "Μόνιμη διαγραφή",
|
||||
"DialogMessage_HardDeleteConfirmationTitle": "Θα γίνει οριστική διαγραφή μηνύματος/-ων. Θέλετε να συνεχίσετε;",
|
||||
"DialogMessage_InvalidAliasMessage": "Αυτό το ψευδώνυμο δεν είναι έγκυρο. Βεβαιωθείτε ότι όλες οι διευθύνσεις του ψευδώνυμου είναι έγκυρες διευθύνσεις email.",
|
||||
"DialogMessage_InvalidAliasTitle": "Μη Έγκυρο Ψευδώνυμο",
|
||||
"DialogMessage_NoAccountsForCreateMailMessage": "Δεν έχετε λογαριασμούς για να δημιουργήσετε μήνυμα.",
|
||||
"DialogMessage_NoAccountsForCreateMailTitle": "Λείπει Λογαριασμός",
|
||||
"DialogMessage_PrintingFailedMessage": "Αποτυχία εκτύπωσης αυτού του email. Αποτέλεσμα: {0}",
|
||||
"DialogMessage_PrintingFailedTitle": "Απέτυχε",
|
||||
"DialogMessage_PrintingSuccessMessage": "Η αλληλογραφία αποστέλλεται στον εκτυπωτή.",
|
||||
"DialogMessage_PrintingSuccessTitle": "Επιτυχία",
|
||||
"DialogMessage_RenameFolderMessage": "Εισάγετε νέο όνομα για αυτόν το φάκελο",
|
||||
"DialogMessage_RenameFolderTitle": "Μετονομασία Φακέλου",
|
||||
"DialogMessage_RenameLinkedAccountsMessage": "Εισάγετε νέο όνομα για συνδεδεμένο λογαριασμό",
|
||||
"DialogMessage_RenameLinkedAccountsTitle": "Μετονομασία Συνδεδεμένου Λογαριασμού",
|
||||
"DialogMessage_UnlinkAccountsConfirmationMessage": "Αυτή η λειτουργία δεν θα διαγράψει τους λογαριασμούς σας αλλά, απλά θα διαλύσει το σύνδεσμο για συνδέσεις κοινόχρηστων φακέλων. Θέλετε να συνεχίσετε;",
|
||||
"DialogMessage_UnlinkAccountsConfirmationTitle": "Αποδέσμευση Λογαριασμού",
|
||||
"DialogMessage_EmptySubjectConfirmation": "Χωρίς Θέμα",
|
||||
"DialogMessage_EmptySubjectConfirmationMessage": "Το μήνυμα δεν έχει θέμα. Θέλετε να συνεχίσετε;",
|
||||
"DialogMessage_RenameFolderTitle": "Μετονομασία Φακέλου",
|
||||
"DialogMessage_RenameFolderMessage": "Εισάγετε νέο όνομα για αυτόν το φάκελο",
|
||||
"DialogMessage_UnsubscribeConfirmationTitle": "Κατάργηση εγγραφής",
|
||||
"DialogMessage_UnsubscribeConfirmationOneClickMessage": "Θέλετε να σταματήσετε να λαμβάνετε μηνύματα από το {0};",
|
||||
"DialogMessage_UnsubscribeConfirmationGoToWebsiteMessage": "Για να σταματήσετε να λαμβάνετε μηνύματα από το {0}, μεταβείτε στην ιστοσελίδα τους για να καταργήσετε την εγγραφή σας.",
|
||||
"DialogMessage_UnsubscribeConfirmationGoToWebsiteConfirmButton": "Μεταβείτε στον ιστότοπο",
|
||||
"DialogMessage_UnsubscribeConfirmationGoToWebsiteMessage": "Για να σταματήσετε να λαμβάνετε μηνύματα από το {0}, μεταβείτε στην ιστοσελίδα τους για να καταργήσετε την εγγραφή σας.",
|
||||
"DialogMessage_UnsubscribeConfirmationMailtoMessage": "Θέλετε να σταματήσετε να λαμβάνετε μηνύματα από τον{0}; Το Wino θα κάνει κατάργηση εγγραφής για εσάς στέλνοντας ένα email από τον λογαριασμό email σας στο {1}.",
|
||||
"DialogMessage_EnableStartupLaunchTitle": "Ενεργοποίηση Εκκίνηση στην Έναρξη",
|
||||
"DialogMessage_EnableStartupLaunchMessage": "Αφήστε το Wino Mail να εκκινείται αυτόματα ελαχιστοποιημένο κατά την έναρξη των Windows για να μην χάσετε καμία ειδοποίηση.\n\nΘέλετε να ενεργοποιήσετε την εκκίνηση κατά την έναρξη;",
|
||||
"DialogMessage_EnableStartupLaunchDeniedMessage": "Μπορείτε να ενεργοποιήσετε την εκκίνηση κατά την έναρξη από τις Ρυθμίσεις -> Προτιμήσεις εφαρμογών.",
|
||||
"Dialog_DontAskAgain": "Να μην ερωτηθώ ξανά",
|
||||
"CalendarAllDayEventSummary": "ολοήμερα συμβάντα",
|
||||
"CalendarItemAllDay": "όλη μέρα",
|
||||
"CalendarItem_DetailsPopup_JoinOnline": "Συμμετοχή online",
|
||||
"CalendarItem_DetailsPopup_ViewEventButton": "Προβολή συμβάντος",
|
||||
"CalendarItem_DetailsPopup_ViewSeriesButton": "Προβολή σειράς",
|
||||
"CalendarDisplayOptions_Expand": "Επέκταση",
|
||||
"CalendarDisplayOptions_Color": "Χρώμα",
|
||||
"CreateAccountAliasDialog_Title": "Δημιουργία Ψευδώνυμου Λογαριασμού",
|
||||
"CreateAccountAliasDialog_Description": "Βεβαιωθείτε ότι ο εξερχόμενος διακομιστής σας επιτρέπει την αποστολή μηνυμάτων από αυτό το ψευδώνυμο.",
|
||||
"CreateAccountAliasDialog_AliasAddress": "Διεύθυνση",
|
||||
"CreateAccountAliasDialog_AliasAddressPlaceholder": "πχ. support@mydomain.com",
|
||||
"CreateAccountAliasDialog_ReplyToAddress": "Διεύθυνση απάντησης",
|
||||
"CreateAccountAliasDialog_ReplyToAddressPlaceholder": "admin@mydomain.com",
|
||||
"DialogMessage_UnsubscribeConfirmationOneClickMessage": "Θέλετε να σταματήσετε να λαμβάνετε μηνύματα από το {0};",
|
||||
"DialogMessage_UnsubscribeConfirmationTitle": "Κατάργηση εγγραφής",
|
||||
"DiscordChannelDisclaimerMessage": "Το Wino δεν έχει το δικό του διακομιστή στο Discord, αλλά το ειδικό κανάλι «wino-mail» φιλοξενείται στον διακομιστή «Developer Sanctuary».\nΓια να λάβετε τις ενημερώσεις σχετικά με το Wino παρακαλούμε γίνετε μέλος του διακομιστή Developer Sanctuary και ακολουθήστε το κανάλι «wino-mail» στο «Community Projects»\n\nΘα κατευθυνθείτε στο URL του διακομιστή καθώς το Discord δεν υποστηρίζει προσκλήσεις καναλιών.",
|
||||
"DiscordChannelDisclaimerTitle": "Σημαντικές Πληροφορίες για το Discord",
|
||||
"Draft": "Πρόχειρο",
|
||||
"Busy": "Απασχολημένο",
|
||||
"DragMoveToFolderCaption": "Μετακίνηση σε {0}",
|
||||
"EditorToolbarOption_Draw": "Σχέδιο",
|
||||
"EditorToolbarOption_Format": "Μορφή",
|
||||
"EditorToolbarOption_Insert": "Εισαγωγή",
|
||||
@@ -158,24 +171,26 @@
|
||||
"ElementTheme_Default": "Χρήση ρυθμίσεων συστήματος",
|
||||
"ElementTheme_Light": "Ανοιχτή λειτουργία",
|
||||
"Emoji": "Emoji",
|
||||
"Exception_WinoServerException": "Ο διακομιστής Wino απέτυχε.",
|
||||
"Exception_MailProcessing": "Αυτό το μήνυμα εξακολουθεί να επεξεργάζεται. Παρακαλώ δοκιμάστε ξανά μετά από λίγα δευτερόλεπτα.",
|
||||
"Exception_ImapAutoDiscoveryFailed": "Δεν βρέθηκαν οι ρυθμίσεις γραμματοκιβωτίου.",
|
||||
"Exception_ImapClientPoolFailed": "Αποτυχία συγκέντρωσης πελάτη IMAP.",
|
||||
"Error_FailedToSetupSystemFolders_Title": "Αποτυχία ρύθμισης φακέλων συστήματος",
|
||||
"Exception_AuthenticationCanceled": "Η ταυτοποίηση ακυρώθηκε",
|
||||
"Exception_CustomThemeExists": "Αυτό το θέμα υπάρχει ήδη.",
|
||||
"Exception_CustomThemeMissingName": "Πρέπει να δώσετε ένα όνομα.",
|
||||
"Exception_CustomThemeMissingWallpaper": "Πρέπει να δώσετε μια προσαρμοσμένη εικόνα φόντου.",
|
||||
"Exception_FailedToSynchronizeFolders": "Αποτυχία συγχρονισμού φακέλων",
|
||||
"Exception_FailedToSynchronizeAliases": "Αποτυχία συγχρονισμού ψευδωνύμων",
|
||||
"Exception_MissingAlias": "Το κύριο ψευδώνυμο δεν υπάρχει για αυτόν τον λογαριασμό. Η δημιουργία προχείρου απέτυχε.",
|
||||
"Exception_FailedToSynchronizeFolders": "Αποτυχία συγχρονισμού φακέλων",
|
||||
"Exception_FailedToSynchronizeProfileInformation": "Αποτυχία συγχρονισμού πληροφοριών προφίλ",
|
||||
"Exception_GoogleAuthCallbackNull": "Το Callback uri είναι κενό κατά την ενεργοποίηση.",
|
||||
"Exception_GoogleAuthCorruptedCode": "Κατεστραμμένη απάντηση εξουσιοδότησης.",
|
||||
"Exception_GoogleAuthError": "Σφάλμα εξουσιοδότησης OAuth: {0}",
|
||||
"Exception_GoogleAuthInvalidResponse": "Λήφθηκε αίτημα με μη έγκυρη κατάσταση ({0})",
|
||||
"Exception_GoogleAuthorizationCodeExchangeFailed": "Απέτυχε η ανταλλαγή κωδικού εξουσιοδότησης.",
|
||||
"Exception_ImapAutoDiscoveryFailed": "Δεν βρέθηκαν οι ρυθμίσεις γραμματοκιβωτίου.",
|
||||
"Exception_ImapClientPoolFailed": "Αποτυχία συγκέντρωσης πελάτη IMAP.",
|
||||
"Exception_InboxNotAvailable": "Δεν ήταν δυνατή η ρύθμιση φακέλων λογαριασμού.",
|
||||
"Exception_InvalidSystemFolderConfiguration": "Η διαμόρφωση του φακέλου συστήματος δεν είναι έγκυρη. Ελέγξτε τη διαμόρφωση και προσπαθήστε ξανά.",
|
||||
"Exception_InvalidMultiAccountMoveTarget": "Δεν μπορείτε να μετακινήσετε πολλά στοιχεία που ανήκουν σε διαφορετικούς λογαριασμούς σε συνδεδεμένο λογαριασμό.",
|
||||
"Exception_MailProcessing": "Αυτό το μήνυμα εξακολουθεί να επεξεργάζεται. Παρακαλώ δοκιμάστε ξανά μετά από λίγα δευτερόλεπτα.",
|
||||
"Exception_MissingAlias": "Το κύριο ψευδώνυμο δεν υπάρχει για αυτόν τον λογαριασμό. Η δημιουργία προχείρου απέτυχε.",
|
||||
"Exception_NullAssignedAccount": "Ο εκχωρημένος λογαριασμός είναι κενός",
|
||||
"Exception_NullAssignedFolder": "Ο εκχωρημένος λογαριασμός είναι κενός",
|
||||
"Exception_SynchronizerFailureHTTP": "Ο χειρισμός της απάντησης απέτυχε με κωδικό HTTP σφάλματος {0}",
|
||||
@@ -186,12 +201,12 @@
|
||||
"Exception_UnsupportedProvider": "Αυτός ο πάροχος δεν υποστηρίζεται.",
|
||||
"Exception_UnsupportedSynchronizerOperation": "Αυτή η λειτουργία δεν υποστηρίζεται για {0}",
|
||||
"Exception_UserCancelSystemFolderSetupDialog": "Ο χρήστης ακύρωσε το παράθυρο ρυθμίσεων του φακέλου.",
|
||||
"Exception_InboxNotAvailable": "Δεν ήταν δυνατή η ρύθμιση φακέλων λογαριασμού.",
|
||||
"Exception_WinoServerException": "Ο διακομιστής Wino απέτυχε.",
|
||||
"Files": "Αρχεία",
|
||||
"FilteringOption_All": "Όλα",
|
||||
"FilteringOption_Files": "Έχει αρχεία",
|
||||
"FilteringOption_Flagged": "Με σημαία",
|
||||
"FilteringOption_Unread": "Μη αναγνωσμένα",
|
||||
"FilteringOption_Files": "Έχει αρχεία",
|
||||
"Focused": "Εστιασμένα",
|
||||
"FolderOperation_CreateSubFolder": "Δημιουργία υποφακέλου",
|
||||
"FolderOperation_Delete": "Διαγραφή",
|
||||
@@ -199,27 +214,71 @@
|
||||
"FolderOperation_Empty": "Άδειασμα αυτού του φακέλου",
|
||||
"FolderOperation_MarkAllAsRead": "Σήμανση όλων ως αναγνωσμένα",
|
||||
"FolderOperation_Move": "Μετακίνηση",
|
||||
"DragMoveToFolderCaption": "Μετακίνηση σε {0}",
|
||||
"FolderOperation_None": "Καμία",
|
||||
"FolderOperation_Pin": "Καρφίτσωμα",
|
||||
"FolderOperation_Rename": "Μετονομασία",
|
||||
"FolderOperation_Unpin": "Ξεκαρφίτσωμα",
|
||||
"GeneralTitle_Error": "Σφάλμα",
|
||||
"GeneralTitle_Info": "Πληροφορίες",
|
||||
"GeneralTitle_Warning": "Προειδοποίηση",
|
||||
"GmailServiceDisabled_Title": "Σφάλμα Gmail",
|
||||
"GmailServiceDisabled_Message": "Ο λογαριασμός σας στο Google Workspace φαίνεται να είναι απενεργοποιημένος για την υπηρεσία Gmail. Επικοινωνήστε με το διαχειριστή σας για να ενεργοποιήσετε την υπηρεσία Gmail για το λογαριασμό σας.",
|
||||
"GmailArchiveFolderNameOverride": "Αρχειοθέτηση",
|
||||
"HoverActionOption_Archive": "Αρχειοθέτηση",
|
||||
"HoverActionOption_Delete": "Διαγραφή",
|
||||
"HoverActionOption_MoveJunk": "Μετακίνηση στα Ανεπιθύμητα",
|
||||
"HoverActionOption_ToggleFlag": "Προσθήκη/ Αφαίρεση σημαίας",
|
||||
"HoverActionOption_ToggleRead": "Αναγνωσμένο / Μη Αναγνωσμένο",
|
||||
"MergedAccountCommonFolderInbox": "Εισερχόμενα",
|
||||
"MergedAccountCommonFolderSent": "Απεσταλμένα",
|
||||
"MergedAccountCommonFolderDraft": "Πρόχειρο",
|
||||
"MergedAccountCommonFolderJunk": "Ανεπιθύμητα",
|
||||
"MergedAccountCommonFolderTrash": "Διαγραμμένα",
|
||||
"MergedAccountCommonFolderArchive": "Αρχείο",
|
||||
"ImageRenderingDisabled": "Η αποτύπωση εικόνων είναι απενεργοποιημένη για αυτό το μήνυμα.",
|
||||
"ImapAdvancedSetupDialog_AuthenticationMethod": "Μέθοδος επαλήθευσης",
|
||||
"ImapAdvancedSetupDialog_ConnectionSecurity": "Ασφάλεια σύνδεσης",
|
||||
"IMAPAdvancedSetupDialog_ValidationAuthMethodRequired": "Απαιτείται μέθοδος ταυτοποίησης",
|
||||
"IMAPAdvancedSetupDialog_ValidationConnectionSecurityRequired": "Απαιτείται ο τύπος ασφάλειας σύνδεσης",
|
||||
"IMAPAdvancedSetupDialog_ValidationDisplayNameRequired": "Απαιτείται εμφανιζόμενο όνομα",
|
||||
"IMAPAdvancedSetupDialog_ValidationEmailInvalid": "Παρακαλώ εισάγετε μια έγκυρη διεύθυνση email",
|
||||
"IMAPAdvancedSetupDialog_ValidationEmailRequired": "Απαιτείται η διεύθυνση email",
|
||||
"IMAPAdvancedSetupDialog_ValidationErrorTitle": "Παρακαλούμε ελέγξτε τα εξής:",
|
||||
"IMAPAdvancedSetupDialog_ValidationIncomingPortInvalid": "Η εισερχόμενη θύρα πρέπει να είναι μεταξύ 1-65535",
|
||||
"IMAPAdvancedSetupDialog_ValidationIncomingPortRequired": "Η εισερχόμενη θύρα διακομιστή απαιτείται",
|
||||
"IMAPAdvancedSetupDialog_ValidationIncomingServerRequired": "Απαιτείται διεύθυνση διακομιστή εισερχομένων",
|
||||
"IMAPAdvancedSetupDialog_ValidationOutgoingPasswordRequired": "Απαιτείται κωδικός πρόσβασης διακομιστή εξερχομένων",
|
||||
"IMAPAdvancedSetupDialog_ValidationOutgoingPortInvalid": "Η εξερχόμενη θύρα πρέπει να είναι μεταξύ 1-65535",
|
||||
"IMAPAdvancedSetupDialog_ValidationOutgoingPortRequired": "Απαιτείται θύρα διακομιστή εξερχομένων",
|
||||
"IMAPAdvancedSetupDialog_ValidationOutgoingServerRequired": "Απαιτείται διεύθυνση διακομιστή εξερχομένων",
|
||||
"IMAPAdvancedSetupDialog_ValidationOutgoingUsernameRequired": "Απαιτείται όνομα χρήστη εξερχόμενου διακομιστή",
|
||||
"IMAPAdvancedSetupDialog_ValidationPasswordRequired": "Απαιτείται κωδικός πρόσβασης",
|
||||
"IMAPAdvancedSetupDialog_ValidationUsernameRequired": "Απαιτείται όνομα χρήστη",
|
||||
"ImapAuthenticationMethod_Auto": "Αυτόματο",
|
||||
"ImapAuthenticationMethod_CramMD5": "CRAM-MD5",
|
||||
"ImapAuthenticationMethod_DigestMD5": "DIGEST-MD5",
|
||||
"ImapAuthenticationMethod_EncryptedPassword": "Κρυπτογραφημένος κωδικός πρόσβασης",
|
||||
"ImapAuthenticationMethod_None": "Χωρίς ταυτοποίηση",
|
||||
"ImapAuthenticationMethod_Ntlm": "NTLM",
|
||||
"ImapAuthenticationMethod_Plain": "Κανονικός κωδικός πρόσβασης",
|
||||
"ImapConnectionSecurity_Auto": "Αυτόματο",
|
||||
"ImapConnectionSecurity_None": "Καμία",
|
||||
"ImapConnectionSecurity_SslTls": "SSL/TLS",
|
||||
"ImapConnectionSecurity_StartTls": "STARTTLS",
|
||||
"IMAPSetupDialog_AccountType": "Τύπος λογαριασμού",
|
||||
"IMAPSetupDialog_ValidationSuccess_Title": "Επιτυχία",
|
||||
"IMAPSetupDialog_ValidationSuccess_Message": "Επιτυχής επικύρωση",
|
||||
"IMAPSetupDialog_ValidationFailed_Title": "Αποτυχία επικύρωσης διακομιστή IMAP.",
|
||||
"IMAPSetupDialog_CertificateAllowanceRequired_Row0": "Αυτός ο διακομιστής ζητά μια χειραψία SSL για να συνεχίσει. Παρακαλώ επιβεβαιώστε τις λεπτομέρειες του πιστοποιητικού παρακάτω.",
|
||||
"IMAPSetupDialog_CertificateAllowanceRequired_Row1": "Επιτρέψτε στην χειραψία να συνεχίσει τη ρύθμιση του λογαριασμού σας.",
|
||||
"IMAPSetupDialog_CertificateDenied": "Ο χρήστης δεν εξουσιοδότησε την χειραψία με το πιστοποιητικό.",
|
||||
"IMAPSetupDialog_CertificateIssuer": "Εκδότης",
|
||||
"IMAPSetupDialog_CertificateSubject": "Θέμα",
|
||||
"IMAPSetupDialog_CertificateValidFrom": "Έγκυρο από",
|
||||
"IMAPSetupDialog_CertificateValidTo": "Έγκυρο σε",
|
||||
"IMAPSetupDialog_CertificateView": "Προβολή Πιστοποιητικού",
|
||||
"IMAPSetupDialog_ConnectionFailedMessage": "Αποτυχία σύνδεσης IMAP.",
|
||||
"IMAPSetupDialog_ConnectionFailedTitle": "Η Σύνδεση Απέτυχε",
|
||||
"IMAPSetupDialog_DisplayName": "Εμφανιζόμενο Όνομα",
|
||||
"IMAPSetupDialog_DisplayNamePlaceholder": "πχ. Γιώργος Παπαδάκης",
|
||||
"IMAPSetupDialog_IncomingMailServer": "Διακομιστής εισερχόμενων mail",
|
||||
"IMAPSetupDialog_IncomingMailServerPort": "Πύλη",
|
||||
"IMAPSetupDialog_IMAPSettings": "Ρυθμίσεις Διακομιστή IMAP",
|
||||
"IMAPSetupDialog_SMTPSettings": "Ρυθμίσεις Διακομιστή SMTP",
|
||||
"IMAPSetupDialog_MailAddress": "Διεύθυνση ηλεκτρονικού ταχυδρομείου",
|
||||
"IMAPSetupDialog_MailAddressPlaceholder": "someone@example.com",
|
||||
"IMAPSetupDialog_OutgoingMailServer": "Εξερχόμενος διακομιστής αλληλογραφίας (SMTP)",
|
||||
@@ -231,26 +290,9 @@
|
||||
"IMAPSetupDialog_RequireSSLForIncomingMail": "Απαίτηση SSL για εισερχόμενα email",
|
||||
"IMAPSetupDialog_RequireSSLForOutgoingMail": "Απαίτηση SSL για εξερχόμενα email",
|
||||
"IMAPSetupDialog_Title": "Προηγμένη Ρύθμιση IMAP",
|
||||
"IMAPSetupDialog_UseSameConfig": "Χρησιμοποιήστε το ίδιο όνομα χρήστη και κωδικό πρόσβασης για την αποστολή email",
|
||||
"IMAPSetupDialog_Username": "Όνομα χρήστη",
|
||||
"IMAPSetupDialog_UsernamePlaceholder": "johndoe, johndoe@fabrikam.com, domain/johndoe",
|
||||
"IMAPSetupDialog_ConnectionFailedTitle": "Η Σύνδεση Απέτυχε",
|
||||
"IMAPSetupDialog_ConnectionFailedMessage": "Αποτυχία σύνδεσης IMAP.",
|
||||
"IMAPSetupDialog_CertificateAllowanceRequired_Row0": "Αυτός ο διακομιστής ζητά μια χειραψία SSL για να συνεχίσει. Παρακαλώ επιβεβαιώστε τις λεπτομέρειες του πιστοποιητικού παρακάτω.",
|
||||
"IMAPSetupDialog_CertificateAllowanceRequired_Row1": "Επιτρέψτε στην χειραψία να συνεχίσει τη ρύθμιση του λογαριασμού σας.",
|
||||
"IMAPSetupDialog_CertificateIssuer": "Εκδότης",
|
||||
"IMAPSetupDialog_CertificateSubject": "Θέμα",
|
||||
"IMAPSetupDialog_CertificateValidFrom": "Έγκυρο από",
|
||||
"IMAPSetupDialog_CertificateValidTo": "Έγκυρο σε",
|
||||
"IMAPSetupDialog_CertificateDenied": "Ο χρήστης δεν εξουσιοδότησε την χειραψία με το πιστοποιητικό.",
|
||||
"IMAPSetupDialog_CertificateView": "Προβολή Πιστοποιητικού",
|
||||
"ImageRenderingDisabled": "Η αποτύπωση εικόνων είναι απενεργοποιημένη για αυτό το μήνυμα.",
|
||||
"InfoBarAction_Enable": "Ενεργοποίηση",
|
||||
"InfoBarMessage_SynchronizationDisabledFolder": "Αυτός ο φάκελος είναι απενεργοποιημένος για συγχρονισμό.",
|
||||
"InfoBarTitle_SynchronizationDisabledFolder": "Απενεργοποιημένος Φάκελος",
|
||||
"GeneralTitle_Error": "Σφάλμα",
|
||||
"GeneralTitle_Warning": "Προειδοποίηση",
|
||||
"GeneralTitle_Info": "Πληροφορίες",
|
||||
"IMAPSetupDialog_UseSameConfig": "Χρησιμοποιήστε το ίδιο όνομα χρήστη και κωδικό πρόσβασης για την αποστολή email",
|
||||
"Info_AccountCreatedMessage": "Ο {0} δημιουργήθηκε",
|
||||
"Info_AccountCreatedTitle": "Δημιουργία Λογαριασμού",
|
||||
"Info_AccountCreationFailedTitle": "Αποτυχία Δημιουργίας Λογαριασμού",
|
||||
@@ -269,14 +311,15 @@
|
||||
"Info_BackgroundExecutionDeniedTitle": "Άρνηση Εκτέλεσης Παρασκηνίου",
|
||||
"Info_BackgroundExecutionUnknownErrorMessage": "Παρουσιάστηκε άγνωστη εξαίρεση κατά την εγγραφή συγχρονισμού στο παρασκήνιο.",
|
||||
"Info_BackgroundExecutionUnknownErrorTitle": "Αποτυχία Εκτέλεσης Παρασκηνίου",
|
||||
"Info_FailedToOpenFileTitle": "Αποτυχία εκκίνησης αρχείου.",
|
||||
"Info_FailedToOpenFileMessage": "Το αρχείο μπορεί να αφαιρεθεί από το δίσκο.",
|
||||
"Info_CantDeletePrimaryAliasMessage": "Το κύριο ψευδώνυμο δεν μπορεί να διαγραφεί. Παρακαλώ αλλάξτε το ψευδώνυμό σας πριν διαγράψετε αυτό",
|
||||
"Info_ComposerMissingMIMEMessage": "Αδυναμία εντοπισμού του αρχείου MIME. Ο συγχρονισμός μπορεί να βοηθήσει.",
|
||||
"Info_ComposerMissingMIMETitle": "Απέτυχε",
|
||||
"Info_ContactExistsMessage": "Αυτή η επαφή είναι ήδη στη λίστα παραληπτών.",
|
||||
"Info_ContactExistsTitle": "Η Επαφή Υπάρχει",
|
||||
"Info_DraftFolderMissingMessage": "Λείπει ο φάκελος προχείρου για αυτόν τον λογαριασμό. Παρακαλώ ελέγξτε τις ρυθμίσεις του λογαριασμού σας.",
|
||||
"Info_DraftFolderMissingTitle": "Λείπει Φάκελος Προχείρου",
|
||||
"Info_FailedToOpenFileMessage": "Το αρχείο μπορεί να αφαιρεθεί από το δίσκο.",
|
||||
"Info_FailedToOpenFileTitle": "Αποτυχία εκκίνησης αρχείου.",
|
||||
"Info_FileLaunchFailedTitle": "Απέτυχε η εκκίνηση αρχείου",
|
||||
"Info_InvalidAddressMessage": "Η «{0}» δεν είναι έγκυρη διεύθυνση email.",
|
||||
"Info_InvalidAddressTitle": "Μη Έγκυρη Διεύθυνση",
|
||||
@@ -286,15 +329,16 @@
|
||||
"Info_LogsNotFoundTitle": "Δεν Βρέθηκαν Αρχεία Καταγραφής",
|
||||
"Info_LogsSavedMessage": "Το {0} αποθηκεύεται στον επιλεγμένο φάκελο.",
|
||||
"Info_LogsSavedTitle": "Αποθηκεύτηκε",
|
||||
"Info_MailListSizeResetSuccessMessage": "Έχει γίνει επαναφορά του μεγέθους της λίστας αλληλογραφίας.",
|
||||
"Info_MailRenderingFailedMessage": "Αυτό το μήνυμα είναι κατεστραμμένο ή δεν μπορεί να ανοιχτεί.\n{0}",
|
||||
"Info_MailRenderingFailedTitle": "Η Απόδοση Απέτυχε",
|
||||
"Info_MessageCorruptedMessage": "Αυτό το μήνυμα είναι κατεστραμμένο.",
|
||||
"Info_MessageCorruptedTitle": "Σφάλμα",
|
||||
"Info_MissingFolderMessage": "Το {0} δεν υπάρχει για αυτόν το λογαριασμό.",
|
||||
"Info_MissingFolderTitle": "Λείπει Φάκελος",
|
||||
"Info_PDFSaveSuccessTitle": "Επιτυχία",
|
||||
"Info_PDFSaveFailedTitle": "Αποτυχία αποθήκευσης αρχείου PDF",
|
||||
"Info_PDFSaveSuccessMessage": "Το αρχείο PDF έχει αποθηκευτεί στο {0}",
|
||||
"Info_PDFSaveSuccessTitle": "Επιτυχία",
|
||||
"Info_PurchaseExistsMessage": "Φαίνεται ότι αυτό το προϊόν έχει ήδη αγοραστεί.",
|
||||
"Info_PurchaseExistsTitle": "Υπάρχον Προϊόν",
|
||||
"Info_PurchaseThankYouMessage": "Ευχαριστούμε",
|
||||
@@ -314,32 +358,21 @@
|
||||
"Info_SyncCanceledMessage": "Ακυρώθηκε",
|
||||
"Info_SyncCanceledTitle": "Συγχρονισμός",
|
||||
"Info_SyncFailedTitle": "Ο συγχρονισμός Απέτυχε",
|
||||
"Info_UnsubscribeErrorMessage": "Αποτυχία κατάργησης εγγραφής",
|
||||
"Info_UnsubscribeLinkInvalidMessage": "Αυτός ο σύνδεσμος κατάργησης εγγραφής δεν είναι έγκυρος. Αποτυχία διαγραφής από τη λίστα.",
|
||||
"Info_UnsubscribeLinkInvalidTitle": "Μη Έγκυρο Uri Κατάργησης Εγγραφής",
|
||||
"Info_UnsubscribeSuccessMessage": "Επιτυχής κατάργηση εγγραφής από το {0}.",
|
||||
"Info_UnsupportedFunctionalityDescription": "Αυτή η λειτουργία δεν έχει υλοποιηθεί ακόμα.",
|
||||
"Info_UnsupportedFunctionalityTitle": "Δεν υποστηρίζεται",
|
||||
"Info_UnsubscribeLinkInvalidTitle": "Μη Έγκυρο Uri Κατάργησης Εγγραφής",
|
||||
"Info_UnsubscribeLinkInvalidMessage": "Αυτός ο σύνδεσμος κατάργησης εγγραφής δεν είναι έγκυρος. Αποτυχία διαγραφής από τη λίστα.",
|
||||
"Info_UnsubscribeSuccessMessage": "Επιτυχής κατάργηση εγγραφής από το {0}.",
|
||||
"Info_UnsubscribeErrorMessage": "Αποτυχία κατάργησης εγγραφής",
|
||||
"Info_CantDeletePrimaryAliasMessage": "Το κύριο ψευδώνυμο δεν μπορεί να διαγραφεί. Παρακαλώ αλλάξτε το ψευδώνυμό σας πριν διαγράψετε αυτό",
|
||||
"Info_MailListSizeResetSuccessMessage": "Έχει γίνει επαναφορά του μεγέθους της λίστας αλληλογραφίας.",
|
||||
"ImapAdvancedSetupDialog_AuthenticationMethod": "Μέθοδος επαλήθευσης",
|
||||
"ImapAdvancedSetupDialog_ConnectionSecurity": "Ασφάλεια σύνδεσης",
|
||||
"ImapAuthenticationMethod_Auto": "Αυτόματο",
|
||||
"ImapAuthenticationMethod_CramMD5": "CRAM-MD5",
|
||||
"ImapAuthenticationMethod_DigestMD5": "DIGEST-MD5",
|
||||
"ImapAuthenticationMethod_None": "Χωρίς ταυτοποίηση",
|
||||
"ImapAuthenticationMethod_Plain": "Κανονικός κωδικός πρόσβασης",
|
||||
"ImapAuthenticationMethod_EncryptedPassword": "Κρυπτογραφημένος κωδικός πρόσβασης",
|
||||
"ImapAuthenticationMethod_Ntlm": "NTLM",
|
||||
"ImapConnectionSecurity_None": "Καμία",
|
||||
"ImapConnectionSecurity_SslTls": "SSL/TLS",
|
||||
"ImapConnectionSecurity_StartTls": "STARTTLS",
|
||||
"ImapConnectionSecurity_Auto": "Αυτόματο",
|
||||
"InfoBarAction_Enable": "Ενεργοποίηση",
|
||||
"InfoBarMessage_SynchronizationDisabledFolder": "Αυτός ο φάκελος είναι απενεργοποιημένος για συγχρονισμό.",
|
||||
"InfoBarTitle_SynchronizationDisabledFolder": "Απενεργοποιημένος Φάκελος",
|
||||
"Justify": "Στοίχιση",
|
||||
"Left": "Αριστερά",
|
||||
"Link": "Σύνδεσμος",
|
||||
"LinkedAccountsCreatePolicyMessage": "πρέπει να έχετε τουλάχιστον 2 λογαριασμούς για να δημιουργήσετε σύνδεσμο\nο σύνδεσμος θα αφαιρεθεί κατά την αποθήκευση",
|
||||
"LinkedAccountsTitle": "Συνδεδεμένοι Λογαριασμοί",
|
||||
"MailItemNoSubject": "Κανένα θέμα",
|
||||
"MailOperation_AlwaysMoveFocused": "Πάντα Μετακίνηση στα Εστιασμένα",
|
||||
"MailOperation_AlwaysMoveOther": "Πάντα Μετακίνηση σε Άλλα",
|
||||
"MailOperation_Archive": "Αρχειοθέτηση",
|
||||
@@ -366,25 +399,32 @@
|
||||
"MailOperation_SaveAs": "Αποθήκευση ως",
|
||||
"MailOperation_SetFlag": "Ορισμός επισήμανσης",
|
||||
"MailOperation_Unarchive": "Αφαίρεση από το αρχείο",
|
||||
"MailOperation_Zoom": "Μεγέθυνση",
|
||||
"MailOperation_ViewMessageSource": "Προβολή προέλευσης μηνύματος",
|
||||
"MailOperation_Zoom": "Μεγέθυνση",
|
||||
"MailsSelected": "Επιλέχθηκαν {0} αντικείμενα/-ο",
|
||||
"MarkFlagUnflag": "Σήμανση ως με/χωρίς επισήμανση",
|
||||
"MarkReadUnread": "Σήμανση ως αναγνωσμένο/μη αναγνωσμένο",
|
||||
"MenuManageAccounts": "Διαχείριση Λογαριασμών",
|
||||
"MenuNewMail": "Νέα Αλληλογραφία",
|
||||
"MenuMergedAccountItemAccountsSuffix": " λογαριασμοί",
|
||||
"MenuNewMail": "Νέα Αλληλογραφία",
|
||||
"MenuRate": "Αξιολογήστε το Wino",
|
||||
"MenuSettings": "Ρυθμίσεις",
|
||||
"MergedAccountCommonFolderArchive": "Αρχείο",
|
||||
"MergedAccountCommonFolderDraft": "Πρόχειρο",
|
||||
"MergedAccountCommonFolderInbox": "Εισερχόμενα",
|
||||
"MergedAccountCommonFolderJunk": "Ανεπιθύμητα",
|
||||
"MergedAccountCommonFolderSent": "Απεσταλμένα",
|
||||
"MergedAccountCommonFolderTrash": "Διαγραμμένα",
|
||||
"MergedAccountsAvailableAccountsTitle": "Διαθέσιμοι Λογαριασμοί",
|
||||
"MessageSourceDialog_Title": "Προέλευση μηνύματος",
|
||||
"More": "Περισσότερα",
|
||||
"MoreFolderNameOverride": "Περισσότερα",
|
||||
"MoveMailDialog_InvalidFolderMessage": "Το {0} δεν είναι έγκυρος φάκελος για αυτό το μήνυμα.",
|
||||
"MoveMailDialog_Title": "Επιλέξτε ένα φάκελο",
|
||||
"NewAccountDialog_AccountName": "Όνομα Λογαριασμού",
|
||||
"NewAccountDialog_AccountNameDefaultValue": "Προσωπικός",
|
||||
"NewAccountDialog_AccountNamePlaceholder": "πχ. Προσωπική Αλληλογραφία",
|
||||
"NewAccountDialog_Title": "Προσθήκη Νέου Λογαριασμού",
|
||||
"MessageSourceDialog_Title": "Προέλευση μηνύματος",
|
||||
"NoMailSelected": "Δεν επιλέχθηκε μήνυμα",
|
||||
"NoMessageCrieteria": "Κανένα μήνυμα δεν ταιριάζει με τα κριτήρια αναζήτησής σας",
|
||||
"NoMessageEmptyFolder": "Αυτός ο φάκελος είναι κενός",
|
||||
@@ -392,6 +432,9 @@
|
||||
"Notifications_MultipleNotificationsTitle": "Νέα Αλληλογραφία",
|
||||
"Notifications_WinoUpdatedMessage": "Ρίξτε μια ματιά στη νέα έκδοση {0}",
|
||||
"Notifications_WinoUpdatedTitle": "Το Wino Mail έχει ενημερωθεί.",
|
||||
"OnlineSearchFailed_Message": "Αποτυχία εκτέλεσης αναζήτησης\n{0}\n\nΕμφάνιση μηνυμάτων εκτός σύνδεσης.",
|
||||
"OnlineSearchTry_Line1": "Δεν μπορείτε να βρείτε αυτό που ψάχνετε;",
|
||||
"OnlineSearchTry_Line2": "Δοκιμάστε την online αναζήτηση.",
|
||||
"Other": "Άλλα",
|
||||
"PaneLengthOption_Default": "Προεπιλογή",
|
||||
"PaneLengthOption_ExtraLarge": "Πολύ Μεγάλο",
|
||||
@@ -401,64 +444,94 @@
|
||||
"PaneLengthOption_Small": "Μικρό",
|
||||
"Photos": "Φωτογραφίες",
|
||||
"PreparingFoldersMessage": "Προετοιμασία φακέλων",
|
||||
"ProtocolLogAvailable_Message": "Τα αρχεία καταγραφής πρωτοκόλλου είναι διαθέσιμα για διαγνωστικά.",
|
||||
"ProviderDetail_Gmail_Description": "Λογαριασμός Google",
|
||||
"ProviderDetail_iCloud_Description": "Λογαριασμός Apple iCloud",
|
||||
"ProviderDetail_iCloud_Title": "iCloud",
|
||||
"ProviderDetail_IMAP_Description": "Προσαρμοσμένος διακομιστής IMAP/SMTP",
|
||||
"ProviderDetail_IMAP_Title": "Διακομιστής IMAP",
|
||||
"ProviderDetail_Yahoo_Title": "Ταχυδρομείο Yahoo",
|
||||
"ProviderDetail_Yahoo_Description": "Λογαριασμός Yahoo",
|
||||
"ProviderDetail_iCloud_Title": "iCloud",
|
||||
"ProviderDetail_iCloud_Description": "Λογαριασμός Apple iCloud",
|
||||
"ProtocolLogAvailable_Message": "Τα αρχεία καταγραφής πρωτοκόλλου είναι διαθέσιμα για διαγνωστικά.",
|
||||
"ProviderDetail_Yahoo_Title": "Ταχυδρομείο Yahoo",
|
||||
"QuickEventDialog_EventName": "Όνομα γεγονότος",
|
||||
"QuickEventDialog_IsAllDay": "Όλη μέρα",
|
||||
"QuickEventDialog_Location": "Τοποθεσία",
|
||||
"QuickEventDialog_RemindMe": "Θύμισέ μου",
|
||||
"QuickEventDialogMoreDetailsButtonText": "Κι άλλες λεπτομέρειες",
|
||||
"Reader_SaveAllAttachmentButtonText": "Αποθήκευση όλων των συνημμένων",
|
||||
"Results": "Αποτελέσματα",
|
||||
"Right": "Δεξιά",
|
||||
"Reader_SaveAllAttachmentButtonText": "Αποθήκευση όλων των συνημμένων",
|
||||
"SynchronizationFolderReport_Success": "ενημερωμένο",
|
||||
"SynchronizationFolderReport_Failed": "ο συγχρονισμός απέτυχε",
|
||||
"SearchBarPlaceholder": "Αναζήτηση",
|
||||
"SearchingIn": "Αναζήτηση σε",
|
||||
"SearchPivotName": "Αποτελέσματα",
|
||||
"SettingsAboutGithub_Description": "Μεταβείτε στο αποθετήριο GitHub για τον ανιχνευτή προβλημάτων.",
|
||||
"SettingsAboutGithub_Title": "GitHub",
|
||||
"SettingsAccountManagementAppendMessage_Title": "Προσάρτηση μηνυμάτων στον φάκελο Απεσταλμένα",
|
||||
"SettingsAccountManagementAppendMessage_Description": "Δημιουργία αντιγράφου του μηνύματος στον φάκελο Απεσταλμένα μετά την αποστολή του προχείρου. Ενεργοποιήστε το αν δεν βλέπετε τα μηνύματά σας μετά την αποστολή τους, στο φάκελο Απεσταλμένα.",
|
||||
"SettingsEditLinkedInbox_Title": "Επεξεργασία Συνδεδεμένων Εισερχομένων",
|
||||
"SettingsEditLinkedInbox_Description": "Προσθήκη / κατάργηση λογαριασμών, μετονομασία ή διακοπή του συνδέσμου μεταξύ λογαριασμών.",
|
||||
"SettingsAboutVersion": "Έκδοση ",
|
||||
"SettingsAboutWinoDescription": "Ελαφρύ πρόγραμμα αλληλογραφίας για τις συσκευές Windows.",
|
||||
"SettingConfigureSpecialFolders_Button": "Διαμόρφωση",
|
||||
"SettingsEditAccountDetails_IMAPConfiguration_Title": "Διαμόρφωση IMAP/SMTP",
|
||||
"SettingsEditAccountDetails_IMAPConfiguration_Description": "Αλλάξτε τις ρυθμίσεις του διακομιστή εισερχομένων/εξερχομένων σας.",
|
||||
"SettingsAbout_Description": "Μάθετε περισσότερα για το Wino.",
|
||||
"SettingsAbout_Title": "Σχετικά",
|
||||
"SettingsAboutGithub_Description": "Μεταβείτε στο αποθετήριο GitHub για τον ανιχνευτή προβλημάτων.",
|
||||
"SettingsAboutGithub_Title": "GitHub",
|
||||
"SettingsAboutVersion": "Έκδοση ",
|
||||
"SettingsAboutWinoDescription": "Ελαφρύ πρόγραμμα αλληλογραφίας για τις συσκευές Windows.",
|
||||
"SettingsAccentColor_Description": "Αλλαγή χρώματος έμφασης εφαρμογής",
|
||||
"SettingsAccentColor_Title": "Χρώμα Έμφασης",
|
||||
"SettingsAccentColor_UseWindowsAccentColor": "Χρήση χρώματος έμφασης των Windows",
|
||||
"SettingsAccountManagementAppendMessage_Description": "Δημιουργία αντιγράφου του μηνύματος στον φάκελο Απεσταλμένα μετά την αποστολή του προχείρου. Ενεργοποιήστε το αν δεν βλέπετε τα μηνύματά σας μετά την αποστολή τους, στο φάκελο Απεσταλμένα.",
|
||||
"SettingsAccountManagementAppendMessage_Title": "Προσάρτηση μηνυμάτων στον φάκελο Απεσταλμένα",
|
||||
"SettingsAccountName_Description": "Αλλάξτε το όνομα του λογαριασμού.",
|
||||
"SettingsAccountName_Title": "Όνομα Λογαριασμού",
|
||||
"SettingsApplicationTheme_Description": "Εξατομικεύστε το Wino με διαφορετικά προσαρμοσμένα θέματα εφαρμογής για τα δικά σας γούστα.",
|
||||
"SettingsApplicationTheme_Title": "Θέμα Εφαρμογής",
|
||||
"SettingsAppPreferences_CloseBehavior_Description": "Τί πρέπει να συμβεί όταν κλείσετε την εφαρμογή;",
|
||||
"SettingsAppPreferences_CloseBehavior_Title": "Συμπεριφορά κλεισίματος εφαρμογής",
|
||||
"SettingsAppPreferences_Description": "Γενικές ρυθμίσεις / προτιμήσεις για το Wino Mail.",
|
||||
"SettingsAppPreferences_SearchMode_Description": "Ορίστε αν ο Wino θα πρέπει να ελέγχει πρώτα τα ληφθέντα μηνύματα κατά τη διάρκεια αναζήτησης ή ρωτήστε το διακομιστή αλληλογραφίας σας online. Η τοπική αναζήτηση είναι πάντα πιο γρήγορη και μπορείτε πάντα να κάνετε μια online αναζήτηση αν το ταχυδρομείο σας δεν είναι στα αποτελέσματα.",
|
||||
"SettingsAppPreferences_SearchMode_Local": "Τοπικό",
|
||||
"SettingsAppPreferences_SearchMode_Online": "Online",
|
||||
"SettingsAppPreferences_SearchMode_Title": "Προεπιλεγμένη λειτουργία αναζήτησης",
|
||||
"SettingsAppPreferences_ServerBackgroundingMode_Invisible_Description": "Το Wino Mail θα συνεχίσει να εκτελείται στο παρασκήνιο. Θα ειδοποιηθείτε καθώς φτάνουν νέα μηνύματα.",
|
||||
"SettingsAppPreferences_ServerBackgroundingMode_Invisible_Title": "Εκτέλεση στο παρασκήνιο",
|
||||
"SettingsAppPreferences_ServerBackgroundingMode_MinimizeTray_Description": "Το Wino Mail θα συνεχίσει να εκτελείται στο συαρτάρι συστήματος. Διαθέσιμο για εκκίνηση κάνοντας κλικ σε ένα εικονίδιο. Θα ειδοποιηθείτε καθώς φτάνουν νέα μηνύματα.",
|
||||
"SettingsAppPreferences_ServerBackgroundingMode_MinimizeTray_Title": "Ελαχιστοποίηση στο συρτάρι ειδοποιήσεων συστήματος",
|
||||
"SettingsAppPreferences_ServerBackgroundingMode_Terminate_Description": "Το Wino Mail δεν θα συνεχίσει να τρέχει πουθενά. Δεν θα ειδοποιηθείτε καθώς φτάνουν νέα μηνύματα. Εκκινήστε ξανά το Wino Mail για να συνεχίσετε το συγχρονισμό αλληλογραφίας.",
|
||||
"SettingsAppPreferences_ServerBackgroundingMode_Terminate_Title": "Τερματισμός",
|
||||
"SettingsAppPreferences_StartupBehavior_Description": "Επιτρέψτε στο Wino Mail να ξεκινήσει ελαχιστοποιημένο όταν ξεκινούν τα Windows. Επιτρέπει πάντα τη λήψη ειδοποιήσεων.",
|
||||
"SettingsAppPreferences_StartupBehavior_Disable": "Απενεργοποίηση",
|
||||
"SettingsAppPreferences_StartupBehavior_Disabled": "Το Wino Mail δε θα ξεκινήσει κατά την εκκίνηση των Windows. Αυτό θα προκαλέσει απώλεια ειδοποιήσεων όταν επανεκκινήσετε τον υπολογιστή σας.",
|
||||
"SettingsAppPreferences_StartupBehavior_DisabledByPolicy": "Ο διαχειριστής ή οι πολιτικές ομάδας έχουν απενεργοποιήσει την εκκίνηση εφαρμογών κατά την έναρξη. Έτσι, το Wino Mail δεν μπορεί να ρυθμιστεί για να ξεκινήσει κατά την εκκίνηση των Windows.",
|
||||
"SettingsAppPreferences_StartupBehavior_DisabledByUser": "Μεταβείτε στη Διαχείριση Εργασιών -> Καρτέλα εκκίνησης για να επιτρέψετε στο Wino Mail να ξεκινήσει κατά την εκκίνηση των Windows.",
|
||||
"SettingsAppPreferences_StartupBehavior_Enable": "Ενεργοποίηση",
|
||||
"SettingsAppPreferences_StartupBehavior_Enabled": "Το Wino Mail ορίστηκε να ξεκινάει στο παρασκήνιο κατά την εκκίνηση των Windows.",
|
||||
"SettingsAppPreferences_StartupBehavior_FatalError": "Μοιραίο σφάλμα προέκυψε κατά την αλλαγή της λειτουργίας εκκίνησης για το Wino Mail.",
|
||||
"SettingsAppPreferences_StartupBehavior_Title": "Εκκίνηση σε ελαχιστοποίηση κατά την έναρξη των Windows",
|
||||
"SettingsAppPreferences_Title": "Προτιμήσεις Εφαρμογής",
|
||||
"SettingsAutoSelectNextItem_Description": "Επιλέξτε το επόμενο στοιχείο μετά τη διαγραφή ή τη μετακίνηση ενός μηνύματος.",
|
||||
"SettingsAutoSelectNextItem_Title": "Αυτόματη επιλογή επόμενου αντικειμένου",
|
||||
"SettingsAvailableThemes_Description": "Επιλέξτε ένα θέμα από τη δική σας συλλογή Wino που σάς αρέσει ή εφαρμόστε τα δικά σας θέματα.",
|
||||
"SettingsAvailableThemes_Title": "Διαθέσιμα Θέματα",
|
||||
"SettingsAutoSelectNextItem_Title": "Αυτόματη επιλογή επόμενου αντικειμένου",
|
||||
"SettingsAutoSelectNextItem_Description": "Επιλέξτε το επόμενο στοιχείο μετά τη διαγραφή ή τη μετακίνηση ενός μηνύματος.",
|
||||
"SettingsCalendarSettings_Title": "Ρυθμίσεις Ημερολογίου",
|
||||
"SettingsCalendarSettings_Description": "Αλλαγή της πρώτης ημέρας της εβδομάδας, ύψος κελιού ώρας και περισσότερα...",
|
||||
"SettingsCalendarSettings_Title": "Ρυθμίσεις Ημερολογίου",
|
||||
"SettingsComposer_Title": "Συνθέτης",
|
||||
"SettingsComposerFont_Title": "Προεπιλεγμένη Γραμματοσειρά Συντάκτη",
|
||||
"SettingsComposerFontFamily_Description": "Αλλάξτε την προεπιλεγμένη οικογένεια γραμματοσειρών και το μέγεθος γραμματοσειράς για τη σύνταξη μηνυμάτων.",
|
||||
"SettingsConfigureSpecialFolders_Description": "Καθορίστε φακέλους με ειδικές λειτουργίες. Φάκελοι όπως Αρχείο, Εισερχόμενα και Πρόχειρα είναι απαραίτητοι για τη σωστή λειτουργία του Wino.",
|
||||
"SettingsConfigureSpecialFolders_Title": "Διαμόρφωση Φακέλων Συστήματος",
|
||||
"SettingsCustomTheme_Description": "Δημιουργήστε το δικό σας προσαρμοσμένο θέμα με προσαρμοσμένη ταπετσαρία και χρώμα έμφασης.",
|
||||
"SettingsCustomTheme_Title": "Προσαρμοσμένο Θέμα",
|
||||
"SettingsConfigureSpecialFolders_Title": "Διαμόρφωση Φακέλων Συστήματος",
|
||||
"SettingsConfigureSpecialFolders_Description": "Καθορίστε φακέλους με ειδικές λειτουργίες. Φάκελοι όπως Αρχείο, Εισερχόμενα και Πρόχειρα είναι απαραίτητοι για τη σωστή λειτουργία του Wino.",
|
||||
"SettingConfigureSpecialFolders_Button": "Διαμόρφωση",
|
||||
"Error_FailedToSetupSystemFolders_Title": "Αποτυχία ρύθμισης φακέλων συστήματος",
|
||||
"SettingsDeleteAccount_Description": "Διαγραφή όλων των e-mails και διαπιστευτηρίων που σχετίζονται με αυτόν τον λογαριασμό.",
|
||||
"SettingsDeleteAccount_Title": "Διαγραφή αυτού του λογαριασμού",
|
||||
"SettingsDeleteProtection_Description": "Πρέπει να Wino ζητήσει την επιβεβαίωση κάθε φορά που προσπαθείτε να διαγράψετε μόνιμα ένα μήνυμα χρησιμοποιώντας το Shift + Del;",
|
||||
"SettingsDeleteProtection_Title": "Προστασία Μόνιμης Διαγραφής",
|
||||
"SettingsDiagnostics_Description": "Για προγραμματιστές",
|
||||
"SettingsDiagnostics_DiagnosticId_Description": "Μοιραστείτε αυτό το ID με τους προγραμματιστές όταν σας ζητηθεί να λάβετε βοήθεια για τα θέματα που αντιμετωπίζετε στο Wino Mail.",
|
||||
"SettingsDiagnostics_DiagnosticId_Title": "Διαγνωστικό ID",
|
||||
"SettingsDiagnostics_Title": "Διαγνωστικά",
|
||||
"SettingsDiagnostics_DiagnosticId_Title": "Διαγνωστικό Id",
|
||||
"SettingsDiagnostics_DiagnosticId_Description": "Μοιραστείτε αυτό το Id με τους προγραμματιστές όταν σας ζητηθεί να λάβετε βοήθεια για τα θέματα που αντιμετωπίζετε στο Wino Mail.",
|
||||
"SettingsDiscord_Description": "Λήψη τακτικών ενημερώσεων για την ανάπτυξη, συμμετοχή σε συζητήσεις προόδου και παροχή σχολίων.",
|
||||
"SettingsDiscord_Title": "Κανάλι Discord",
|
||||
"SettingsElementThemeSelectionDisabled": "Η επιλογή θέματος βάσει στοιχείου είναι απενεργοποιημένη όταν το θέμα της εφαρμογής είναι άλλο εκτός του Προεπιλεγμένου.",
|
||||
"SettingsEditLinkedInbox_Description": "Προσθήκη / κατάργηση λογαριασμών, μετονομασία ή διακοπή του συνδέσμου μεταξύ λογαριασμών.",
|
||||
"SettingsEditLinkedInbox_Title": "Επεξεργασία Συνδεδεμένων Εισερχομένων",
|
||||
"SettingsElementTheme_Description": "Επιλέξτε ένα θέμα των Windows για Wino",
|
||||
"SettingsElementTheme_Title": "Θέμα Στοιχείου",
|
||||
"SettingsElementThemeSelectionDisabled": "Η επιλογή θέματος βάσει στοιχείου είναι απενεργοποιημένη όταν το θέμα της εφαρμογής είναι άλλο εκτός του Προεπιλεγμένου.",
|
||||
"SettingsEnableHoverActions_Title": "Ενεργοποίηση ενεργειών αιώρησης",
|
||||
"SettingsEnableIMAPLogs_Description": "Ενεργοποιήστε το για την παροχή λεπτομερειών σχετικά με προβλήματα με τη σύνδεση IMAP που είχατε κατά τη ρύθμιση του διακομιστή IMAP.",
|
||||
"SettingsEnableIMAPLogs_Title": "Ενεργοποίηση Αρχείων Καταγραφής Πρωτοκόλλου IMAP",
|
||||
@@ -471,12 +544,15 @@
|
||||
"SettingsExternalContent_Title": "Εξωτερικό Περιεχόμενο",
|
||||
"SettingsFocusedInbox_Description": "Ορίστε αν τα Εισερχόμενα πρέπει να χωριστούν σε δύο, ως Εστιασμένα - Άλλα.",
|
||||
"SettingsFocusedInbox_Title": "Εστιασμένα Εισερχόμενα",
|
||||
"SettingsFolderMenuStyle_Description": "Επιλέξτε αν οι φάκελοι λογαριασμού θα πρέπει να είναι εμφωλευμένοι μέσα σε ένα στοιχείο μενού του λογαριασμού ή όχι. Ενεργοποιήστε αυτήν την επιλογή αν σας αρέσει το παλιό σύστημα μενού στο Windows Mail",
|
||||
"SettingsFolderMenuStyle_Title": "Δημιουργία Εμφωλευμένων Φακέλων",
|
||||
"SettingsFolderOptions_Description": "Αλλάξτε μεμονωμένες ρυθμίσεις φακέλου, όπως ενεργοποίηση/απενεργοποίηση συγχρονισμού ή εμφάνιση/απόκρυψη σήματος ανάγνωσης.",
|
||||
"SettingsFolderOptions_Title": "Διαμόρφωση Φακέλου",
|
||||
"SettingsFolderSync_Description": "Ενεργοποίηση ή απενεργοποίηση συγκεκριμένων φακέλων για συγχρονισμό.",
|
||||
"SettingsFolderSync_Title": "Συγχρονισμός Φακέλου",
|
||||
"SettingsFolderOptions_Title": "Διαμόρφωση Φακέλου",
|
||||
"SettingsFolderOptions_Description": "Αλλάξτε μεμονωμένες ρυθμίσεις φακέλου, όπως ενεργοποίηση/απενεργοποίηση συγχρονισμού ή εμφάνιση/απόκρυψη σήματος ανάγνωσης.",
|
||||
"SettingsManageAliases_Title": "Ψευδώνυμα",
|
||||
"SettingsManageAliases_Description": "Δείτε τα ψευδώνυμα ηλεκτρονικού ταχυδρομείου που έχουν εκχωρηθεί για αυτόν το λογαριασμό, ενημερώστε ή διαγράψτε τα.",
|
||||
"SettingsFontFamily_Title": "Γραμματοσειρά",
|
||||
"SettingsFontPreview_Title": "Προεπισκόπηση",
|
||||
"SettingsFontSize_Title": "Μέγεθος γραμματοσειράς",
|
||||
"SettingsHoverActionCenter": "Κεντρική Ενέργεια",
|
||||
"SettingsHoverActionLeft": "Αριστερή Ενέργεια",
|
||||
"SettingsHoverActionRight": "Δεξιά Ενέργεια",
|
||||
@@ -484,44 +560,25 @@
|
||||
"SettingsHoverActions_Title": "Ενέργειες Αιώρησης",
|
||||
"SettingsLanguage_Description": "Αλλαγή γλώσσας εμφάνισης για Wino.",
|
||||
"SettingsLanguage_Title": "Γλώσσα εμφάνισης",
|
||||
"SettingsLanguageTime_Title": "Γλώσσα & Ώρα",
|
||||
"SettingsLanguageTime_Description": "Εμφάνιση γλώσσας Wino, προτιμώμενη μορφή ώρας.",
|
||||
"CategoriesFolderNameOverride": "Κατηγορίες",
|
||||
"AccountAlias_Column_Verified": "Επαληθεύτηκε",
|
||||
"AccountAlias_Column_Alias": "Ψευδώνυμο",
|
||||
"AccountAlias_Column_IsPrimaryAlias": "Κύριο",
|
||||
"AccountAlias_Disclaimer_FirstLine": "Το Wino μπορεί να εισάγει ψευδώνυμα μόνο για τους λογαριασμούς σας στο Gmail.",
|
||||
"AccountAlias_Disclaimer_SecondLine": "Αν θέλετε να χρησιμοποιήσετε τα ψευδώνυμα για το Outlook ή IMAP λογαριασμό σας, παρακαλούμε να τα προσθέσετε χειροκίνητα.",
|
||||
"MoreFolderNameOverride": "Περισσότερα",
|
||||
"SettingsOptions_Title": "Ρυθμίσεις",
|
||||
"SettingsLanguageTime_Title": "Γλώσσα & Ώρα",
|
||||
"SettingsLinkAccounts_Description": "Συγχώνευση πολλαπλών λογαριασμών σε έναν. Δείτε τα μηνύματα σε ένα φάκελο Εισερχόμενα μαζί.",
|
||||
"SettingsLinkAccounts_Title": "Δημιουργία Συνδεδεμένων Λογαριασμών",
|
||||
"SettingsLinkedAccountsSave_Description": "Τροποποίηση του τρέχοντος συνδέσμου με τους νέους λογαριασμούς.",
|
||||
"SettingsLinkedAccountsSave_Title": "Αποθήκευση Αλλαγών",
|
||||
"SettingsLoadImages_Title": "Αυτόματη φόρτωση εικόνων",
|
||||
"SettingsLoadPlaintextLinks_Title": "Μετατροπή συνδέσμων απλού κειμένου σε συνδέσμους με δυνατότητα κλικ",
|
||||
"SettingsLoadStyles_Title": "Αυτόματη φόρτωση στυλ",
|
||||
"SettingsLoadPlaintextLinks_Title": "Convert plaintext links to clickable links",
|
||||
"SettingsMailListActionBar_Description": "Απόκρυψη/εμφάνιση γραμμής ενεργειών στην κορυφή της λίστας μηνυμάτων.",
|
||||
"SettingsMailListActionBar_Title": "Εμφάνιση ενεργειών λίστας αλληλογραφίας",
|
||||
"SettingsMailSpacing_Description": "Προσαρμόστε τις αποστάσεις για τη λίστα μηνυμάτων.",
|
||||
"SettingsMailSpacing_Title": "Αποστάσεις Αλληλογραφίας",
|
||||
"SettingsFolderMenuStyle_Title": "Δημιουργία Εμφωλευμένων Φακέλων",
|
||||
"SettingsFolderMenuStyle_Description": "Επιλέξτε αν οι φάκελοι λογαριασμού θα πρέπει να είναι εμφωλευμένοι μέσα σε ένα στοιχείο μενού του λογαριασμού ή όχι. Ενεργοποιήστε αυτήν την επιλογή αν σας αρέσει το παλιό σύστημα μενού στο Windows Mail",
|
||||
"SettingsManageAccountSettings_Description": "Ειδοποιήσεις, υπογραφές, συγχρονισμός και άλλες ρυθμίσεις ανά λογαριασμό.",
|
||||
"SettingsManageAccountSettings_Title": "Ρυθμίσεις Διαχείρισης Λογαριασμού",
|
||||
"SettingsAppPreferences_Title": "Προτιμήσεις Εφαρμογής",
|
||||
"SettingsAppPreferences_Description": "Γενικές ρυθμίσεις / προτιμήσεις για το Wino Mail.",
|
||||
"SettingsAppPreferences_CloseBehavior_Title": "Συμπεριφορά κλεισίματος εφαρμογής",
|
||||
"SettingsAppPreferences_CloseBehavior_Description": "Τί πρέπει να συμβεί όταν κλείσετε την εφαρμογή;",
|
||||
"SettingsAppPreferences_StartupBehavior_Title": "Εκκίνηση σε ελαχιστοποίηση κατά την έναρξη των Windows",
|
||||
"SettingsAppPreferences_StartupBehavior_Description": "Επιτρέψτε στο Wino Mail να ξεκινήσει ελαχιστοποιημένο όταν ξεκινούν τα Windows. Επιτρέπει πάντα τη λήψη ειδοποιήσεων.",
|
||||
"SettingsAppPreferences_StartupBehavior_Enabled": "Το Wino Mail ορίστηκε να ξεκινάει στο παρασκήνιο κατά την εκκίνηση των Windows.",
|
||||
"SettingsAppPreferences_StartupBehavior_Disabled": "Το Wino Mail δε θα ξεκινήσει κατά την εκκίνηση των Windows. Αυτό θα προκαλέσει απώλεια ειδοποιήσεων όταν επανεκκινήσετε τον υπολογιστή σας.",
|
||||
"SettingsAppPreferences_StartupBehavior_DisabledByPolicy": "Ο διαχειριστής ή οι πολιτικές ομάδας έχουν απενεργοποιήσει την εκκίνηση εφαρμογών κατά την έναρξη. Έτσι, το Wino Mail δεν μπορεί να ρυθμιστεί για να ξεκινήσει κατά την εκκίνηση των Windows.",
|
||||
"SettingsAppPreferences_StartupBehavior_DisabledByUser": "Μεταβείτε στη Διαχείριση Εργασιών -> Καρτέλα εκκίνησης για να επιτρέψετε στο Wino Mail να ξεκινήσει κατά την εκκίνηση των Windows.",
|
||||
"SettingsAppPreferences_StartupBehavior_FatalError": "Μοιραίο σφάλμα προέκυψε κατά την αλλαγή της λειτουργίας εκκίνησης για το Wino Mail.",
|
||||
"SettingsAppPreferences_StartupBehavior_Enable": "Ενεργοποίηση",
|
||||
"SettingsAppPreferences_StartupBehavior_Disable": "Απενεργοποίηση",
|
||||
"SettingsReorderAccounts_Title": "Αναδιάταξη Λογαριασμών",
|
||||
"SettingsReorderAccounts_Description": "Αλλάξτε τη σειρά των λογαριασμών στη λίστα λογαριασμών.",
|
||||
"SettingsManageAliases_Description": "Δείτε τα ψευδώνυμα ηλεκτρονικού ταχυδρομείου που έχουν εκχωρηθεί για αυτόν το λογαριασμό, ενημερώστε ή διαγράψτε τα.",
|
||||
"SettingsManageAliases_Title": "Ψευδώνυμα",
|
||||
"SettingsEditAccountDetails_Title": "Επεξεργασία Στοιχείων Λογαριασμού",
|
||||
"SettingsEditAccountDetails_Description": "Αλλάξτε το όνομα λογαριασμού, το όνομα του αποστολέα και ορίστε ένα νέο χρώμα αν θέλετε.",
|
||||
"SettingsManageLink_Description": "Μετακίνηση αντικειμένων για προσθήκη νέου συνδέσμου ή κατάργηση υπάρχοντος συνδέσμου.",
|
||||
"SettingsManageLink_Title": "Διαχείριση Συνδέσμου",
|
||||
"SettingsMarkAsRead_Description": "Αλλάξτε τι πρέπει να συμβεί στο επιλεγμένο αντικείμενο.",
|
||||
@@ -535,59 +592,71 @@
|
||||
"SettingsNoAccountSetupMessage": "Δεν έχετε ρυθμίσει κανέναν λογαριασμό ακόμα.",
|
||||
"SettingsNotifications_Description": "Ενεργοποίηση ή απενεργοποίηση ειδοποιήσεων για αυτόν τον λογαριασμό.",
|
||||
"SettingsNotifications_Title": "Ειδοποιήσεις",
|
||||
"SettingsNotificationsAndTaskbar_Title": "Ειδοποιήσεις & Γραμμή Εργασιών",
|
||||
"SettingsTaskbarBadge_Title": "Σήμα Γραμμής Εργασιών",
|
||||
"SettingsTaskbarBadge_Description": "Συμπερίληψη μη αναγνωσμένου αριθμού αλληλογραφίας στο εικονίδιο της γραμμής εργασιών.",
|
||||
"SettingsNotificationsAndTaskbar_Description": "Αλλάξτε αν θα εμφανίζονται ειδοποιήσεις και σήμα γραμμής εργασιών για αυτόν τον λογαριασμό.",
|
||||
"SettingsNotificationsAndTaskbar_Title": "Ειδοποιήσεις & Γραμμή Εργασιών",
|
||||
"SettingsOptions_Title": "Ρυθμίσεις",
|
||||
"SettingsPaneLengthReset_Description": "Επαναφέρετε το μέγεθος της λίστας μηνυμάτων στο πρωτότυπο αν έχετε προβλήματα με αυτό.",
|
||||
"SettingsPaneLengthReset_Title": "Επαναφορά Μεγέθους Λίστας Ταχυδρομείου",
|
||||
"SettingsPaypal_Description": "Δείξτε πολύ περισσότερη αγάπη ❤️ Όλες οι δωρεές εκτιμούνται.",
|
||||
"SettingsPaypal_Title": "Δωρεά μέσω PayPal",
|
||||
"SettingsPersonalization_Description": "Αλλάξτε την εμφάνιση του Wino όπως σας αρέσει.",
|
||||
"SettingsPersonalization_Title": "Εξατομίκευση",
|
||||
"SettingsPersonalizationMailDisplayCompactMode": "Συμπαγής Λειτουργία",
|
||||
"SettingsPersonalizationMailDisplayMediumMode": "Μεσαία Λειτουργία",
|
||||
"SettingsPersonalizationMailDisplaySpaciousMode": "Ευρύχωρη Λειτουργία",
|
||||
"SettingsPersonalization_Description": "Αλλάξτε την εμφάνιση του Wino όπως σας αρέσει.",
|
||||
"SettingsPersonalization_Title": "Εξατομίκευση",
|
||||
"SettingsPrefer24HourClock_Description": "Οι χρόνοι άφιξης της αλληλογραφίας θα εμφανίζονται σε μορφή 24 ωρών αντί για 12 (ΠΜ/ΜΜ)",
|
||||
"SettingsPrefer24HourClock_Title": "Εμφάνιση μορφής ρολογιού σε 24ώρο",
|
||||
"SettingsPrivacyPolicy_Description": "Εξέταση πολιτικής απορρήτου.",
|
||||
"SettingsPrivacyPolicy_Title": "Πολιτική Απορρήτου",
|
||||
"SettingsReader_Title": "Αναγνώστης",
|
||||
"SettingsComposer_Title": "Συνθέτης",
|
||||
"SettingsReadComposePane_Description": "Γραμματοσειρές, εξωτερικό περιεχόμενο.",
|
||||
"SettingsReadComposePane_Title": "Αναγνώστης & Συνθέτης",
|
||||
"SettingsReader_Title": "Αναγνώστης",
|
||||
"SettingsReaderFont_Title": "Προεπιλεγμένη Γραμματοσειρά Αναγνώστη",
|
||||
"SettingsReaderFontFamily_Description": "Αλλάξτε την προεπιλεγμένη οικογένεια γραμματοσειρών και το μέγεθος γραμματοσειράς για την ανάγνωση μηνυμάτων.",
|
||||
"SettingsFontFamily_Title": "Γραμματοσειρά",
|
||||
"SettingsFontSize_Title": "Μέγεθος γραμματοσειράς",
|
||||
"SettingsFontPreview_Title": "Προεπισκόπηση",
|
||||
"SettingsComposerFont_Title": "Προεπιλεγμένη Γραμματοσειρά Συντάκτη",
|
||||
"SettingsComposerFontFamily_Description": "Αλλάξτε την προεπιλεγμένη οικογένεια γραμματοσειρών και το μέγεθος γραμματοσειράς για τη σύνταξη μηνυμάτων.",
|
||||
"SettingsRenameMergeAccount_Description": "Αλλάξτε το εμφανιζόμενο όνομα των συνδεδεμένων λογαριασμών.",
|
||||
"SettingsRenameMergeAccount_Title": "Μετονομασία",
|
||||
"SettingsReorderAccounts_Description": "Αλλάξτε τη σειρά των λογαριασμών στη λίστα λογαριασμών.",
|
||||
"SettingsReorderAccounts_Title": "Αναδιάταξη Λογαριασμών",
|
||||
"SettingsSemanticZoom_Description": "Αυτό θα σας επιτρέψει να κάνετε κλικ στις κεφαλίδες στη λίστα μηνυμάτων και να μεταβείτε σε συγκεκριμένη ημερομηνία",
|
||||
"SettingsSemanticZoom_Title": "Σημασιολογική Μεγέθυνση για Κεφαλίδες Ημερομηνίας",
|
||||
"SettingsShowPreviewText_Description": "Απόκρυψη/εμφάνιση κειμένου προεπισκόπησης.",
|
||||
"SettingsShowPreviewText_Title": "Εμφάνιση Κειμένου Προεπισκόπησης",
|
||||
"SettingsShowSenderPictures_Description": "Απόκρυψη/εμφάνιση της μικρογραφίας του αποστολέα.",
|
||||
"SettingsShowSenderPictures_Title": "Εμφάνιση Avatars Αποστολέα",
|
||||
"SettingsPrefer24HourClock_Title": "Εμφάνιση μορφής ρολογιού σε 24ώρο",
|
||||
"SettingsPrefer24HourClock_Description": "Οι χρόνοι άφιξης της αλληλογραφίας θα εμφανίζονται σε μορφή 24 ωρών αντί για 12 (ΠΜ/ΜΜ)",
|
||||
"SettingsSignature_AddCustomSignature_Button": "Προσθήκη υπογραφής",
|
||||
"SettingsSignature_AddCustomSignature_Title": "Προσθήκη προσαρμοσμένης υπογραφής",
|
||||
"SettingsSignature_DeleteSignature_Title": "Διαγραφή υπογραφής",
|
||||
"SettingsSignature_Description": "Διαχείριση υπογραφών λογαριασμού",
|
||||
"SettingsSignature_EditSignature_Title": "Επεξεργασία υπογραφής",
|
||||
"SettingsSignature_ForFollowingMessages_Title": "Για Απαντήσεις/Προώθηση",
|
||||
"SettingsSignature_ForNewMessages_Title": "Για Νέα Μηνύματα",
|
||||
"SettingsSignature_NoneSignatureName": "Καμία",
|
||||
"SettingsSignature_SignatureDefaults": "Προεπιλογές υπογραφής",
|
||||
"SettingsSignature_Signatures": "Υπογραφές",
|
||||
"SettingsSignature_Title": "Υπογραφή",
|
||||
"SettingsStartupItem_Description": "Αντικείμενο κύριου λογαριασμού για φόρτωση Εισερχομένων κατά την εκκίνηση.",
|
||||
"SettingsStartupItem_Title": "Αντικείμενο εκκίνησης",
|
||||
"SettingsStore_Description": "Δείξτε λίγη αγάπη ❤️",
|
||||
"SettingsStore_Title": "Αξιολόγηση στο Κατάστημα",
|
||||
"SettingsTaskbarBadge_Description": "Συμπερίληψη μη αναγνωσμένου αριθμού αλληλογραφίας στο εικονίδιο της γραμμής εργασιών.",
|
||||
"SettingsTaskbarBadge_Title": "Σήμα Γραμμής Εργασιών",
|
||||
"SettingsThreads_Description": "Οργάνωση μηνυμάτων σε νήματα συνομιλίας.",
|
||||
"SettingsThreads_Title": "Νηματοποίηση Συζήτησης",
|
||||
"SettingsMailListActionBar_Description": "Απόκρυψη/εμφάνιση γραμμής ενεργειών στην κορυφή της λίστας μηνυμάτων.",
|
||||
"SettingsMailListActionBar_Title": "Εμφάνιση ενεργειών λίστας αλληλογραφίας",
|
||||
"SettingsUnlinkAccounts_Description": "Αφαιρέστε τη σύνδεση μεταξύ των λογαριασμών. Δε θα διαγράψει τους λογαριασμούς σας.",
|
||||
"SettingsUnlinkAccounts_Title": "Αποδέσμευση Λογαριασμών",
|
||||
"SignatureDeleteDialog_Message": "Σίγουρα θέλετε να διαγράψετε την υπογραφή \"{0}\";",
|
||||
"SignatureDeleteDialog_Title": "Διαγραφή υπογραφής",
|
||||
"SignatureEditorDialog_SignatureName_Placeholder": "Ονομάστε την υπογραφή σας",
|
||||
"SignatureEditorDialog_SignatureName_TitleEdit": "Τρέχον όνομα υπογραφής: {0}",
|
||||
"SignatureEditorDialog_SignatureName_TitleNew": "Όνομα υπογραφής",
|
||||
"SignatureEditorDialog_Title": "Συντάκτης Υπογραφής",
|
||||
"SortingOption_Date": "κατά ημερομηνία",
|
||||
"SortingOption_Name": "κατ' όνομα",
|
||||
"StoreRatingDialog_MessageFirstLine": "Όλες οι αξιολογήσεις εκτιμώνται και θα κάνουν το Wino πολύ καλύτερο στο μέλλον. Θα θέλατε να αξιολογήσετε το Wino στο Microsoft Store;",
|
||||
"StoreRatingDialog_MessageSecondLine": "Θα θέλατε να αξιολογήσετε το Wino Mail στο Microsoft Store;",
|
||||
"StoreRatingDialog_Title": "Απολαμβάνετε το Wino;",
|
||||
"SynchronizationFolderReport_Failed": "ο συγχρονισμός απέτυχε",
|
||||
"SynchronizationFolderReport_Success": "ενημερωμένο",
|
||||
"SystemFolderConfigDialog_ArchiveFolderDescription": "Τα αρχειοθετημένα μηνύματα θα μετακινηθούν εδώ.",
|
||||
"SystemFolderConfigDialog_ArchiveFolderHeader": "Φάκελος Αρχειοθέτηση",
|
||||
"SystemFolderConfigDialog_DeletedFolderDescription": "Τα διαγραμμένα μηνύματα θα μετακινηθούν εδώ.",
|
||||
@@ -601,11 +670,15 @@
|
||||
"SystemFolderConfigDialog_SentFolderDescription": "Ο φάκελος που θα αποθηκευτούν τα απεσταλμένα μηνύματα.",
|
||||
"SystemFolderConfigDialog_SentFolderHeader": "Φάκελος Απεσταλμένα",
|
||||
"SystemFolderConfigDialog_Title": "Διαμόρφωση Φακέλων Συστήματος",
|
||||
"SystemFolderConfigDialogValidation_InboxSelected": "Δεν μπορείτε να αντιστοιχίσετε τον φάκελο Εισερχομένων σε οποιονδήποτε άλλο φάκελο συστήματος.",
|
||||
"SystemFolderConfigDialogValidation_DuplicateSystemFolders": "Μερικοί από τους φακέλους του συστήματος χρησιμοποιούνται περισσότερες από μία φορές στη διαμόρφωση.",
|
||||
"SystemFolderConfigSetupSuccess_Title": "Ρύθμιση Φακέλων Συστήματος",
|
||||
"SystemFolderConfigDialogValidation_InboxSelected": "Δεν μπορείτε να αντιστοιχίσετε τον φάκελο Εισερχομένων σε οποιονδήποτε άλλο φάκελο συστήματος.",
|
||||
"SystemFolderConfigSetupSuccess_Message": "Οι φάκελοι συστήματος έχουν ρυθμιστεί επιτυχώς.",
|
||||
"SystemFolderConfigSetupSuccess_Title": "Ρύθμιση Φακέλων Συστήματος",
|
||||
"TestingImapConnectionMessage": "Έλεγχος σύνδεσης διακομιστή...",
|
||||
"TitleBarServerDisconnectedButton_Description": "Το Wino αποσυνδέθηκε από το δίκτυο. Κάντε κλικ στην επιλογή επανασύνδεση για επαναφορά της σύνδεσης.",
|
||||
"TitleBarServerDisconnectedButton_Title": "χωρίς σύνδεση",
|
||||
"TitleBarServerReconnectButton_Title": "επανασύνδεση",
|
||||
"TitleBarServerReconnectingButton_Title": "γίνεται σύνδεση",
|
||||
"Today": "Σήμερα",
|
||||
"UnknownAddress": "άγνωστη διεύθυνση",
|
||||
"UnknownDateHeader": "Άγνωστη Ημερομηνία",
|
||||
@@ -616,37 +689,7 @@
|
||||
"WinoUpgradeDescription": "Το Wino προσφέρει 3 λογαριασμούς για να ξεκινήσετε δωρεάν. Εάν χρειάζεστε περισσότερους από 3, παρακαλώ αναβαθμίστε",
|
||||
"WinoUpgradeMessage": "Αναβάθμιση σε Απεριόριστους Λογαριασμούς",
|
||||
"WinoUpgradeRemainingAccountsMessage": "Χρησιμοποιούνται {0} από τους {1} δωρεάν λογαριασμούς.",
|
||||
"Yesterday": "Χθες",
|
||||
"SignatureEditorDialog_Title": "Συντάκτης Υπογραφής",
|
||||
"SignatureEditorDialog_SignatureName_Placeholder": "Ονομάστε την υπογραφή σας",
|
||||
"SignatureEditorDialog_SignatureName_TitleNew": "Όνομα υπογραφής",
|
||||
"SignatureEditorDialog_SignatureName_TitleEdit": "Τρέχον όνομα υπογραφής: {0}",
|
||||
"SignatureDeleteDialog_Title": "Διαγραφή υπογραφής",
|
||||
"SignatureDeleteDialog_Message": "Σίγουρα θέλετε να διαγράψετε την υπογραφή \"{0}\";",
|
||||
"SettingsSignature_ForNewMessages_Title": "Για Νέα Μηνύματα",
|
||||
"SettingsSignature_ForFollowingMessages_Title": "Για Απαντήσεις/Προώθηση",
|
||||
"SettingsSignature_SignatureDefaults": "Προεπιλογές υπογραφής",
|
||||
"SettingsSignature_Signatures": "Υπογραφές",
|
||||
"SettingsSignature_AddCustomSignature_Title": "Προσθήκη προσαρμοσμένης υπογραφής",
|
||||
"SettingsSignature_AddCustomSignature_Button": "Προσθήκη υπογραφής",
|
||||
"SettingsSignature_EditSignature_Title": "Επεξεργασία υπογραφής",
|
||||
"SettingsSignature_DeleteSignature_Title": "Διαγραφή υπογραφής",
|
||||
"SettingsSignature_NoneSignatureName": "Καμία",
|
||||
"SettingsAppPreferences_ServerBackgroundingMode_MinimizeTray_Title": "Ελαχιστοποίηση στο συρτάρι ειδοποιήσεων συστήματος",
|
||||
"SettingsAppPreferences_ServerBackgroundingMode_MinimizeTray_Description": "Το Wino Mail θα συνεχίσει να εκτελείται στο συαρτάρι συστήματος. Διαθέσιμο για εκκίνηση κάνοντας κλικ σε ένα εικονίδιο. Θα ειδοποιηθείτε καθώς φτάνουν νέα μηνύματα.",
|
||||
"SettingsAppPreferences_ServerBackgroundingMode_Invisible_Title": "Εκτέλεση στο παρασκήνιο",
|
||||
"SettingsAppPreferences_ServerBackgroundingMode_Invisible_Description": "Το Wino Mail θα συνεχίσει να εκτελείται στο παρασκήνιο. Θα ειδοποιηθείτε καθώς φτάνουν νέα μηνύματα.",
|
||||
"SettingsAppPreferences_ServerBackgroundingMode_Terminate_Title": "Τερματισμός",
|
||||
"SettingsAppPreferences_ServerBackgroundingMode_Terminate_Description": "Το Wino Mail δεν θα συνεχίσει να τρέχει πουθενά. Δεν θα ειδοποιηθείτε καθώς φτάνουν νέα μηνύματα. Εκκινήστε ξανά το Wino Mail για να συνεχίσετε το συγχρονισμό αλληλογραφίας.",
|
||||
"TitleBarServerDisconnectedButton_Title": "χωρίς σύνδεση",
|
||||
"TitleBarServerDisconnectedButton_Description": "Το Wino αποσυνδέθηκε από το δίκτυο. Κάντε κλικ στην επιλογή επανασύνδεση για επαναφορά της σύνδεσης.",
|
||||
"TitleBarServerReconnectButton_Title": "επανασύνδεση",
|
||||
"TitleBarServerReconnectingButton_Title": "γίνεται σύνδεση",
|
||||
"MailItemNoSubject": "Κανένα θέμα",
|
||||
"QuickEventDialogMoreDetailsButtonText": "More details",
|
||||
"QuickEventDialog_RemindMe": "Remind me",
|
||||
"QuickEventDialog_Location": "Location",
|
||||
"QuickEventDialog_EventName": "Event name",
|
||||
"QuickEventDialog_IsAllDay": "All day"
|
||||
"Yesterday": "Χθες"
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -1,29 +1,40 @@
|
||||
{
|
||||
"AccountAlias_Column_Alias": "Alias",
|
||||
"AccountAlias_Column_IsPrimaryAlias": "Primary",
|
||||
"AccountAlias_Column_Verified": "Verified",
|
||||
"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": "all done",
|
||||
"AccountCreationDialog_Initializing": "initializing",
|
||||
"AccountCreationDialog_PreparingFolders": "We are getting folder information at the moment.",
|
||||
"AccountCreationDialog_SigninIn": "Account information is being saved.",
|
||||
"AccountCreationDialog_FetchingProfileInformation": "Fetching profile details.",
|
||||
"AccountCreationDialog_FetchingEvents": "Fetching calendar events.",
|
||||
"AccountCreationDialog_FetchingProfileInformation": "Fetching profile details.",
|
||||
"AccountCreationDialog_GoogleAuthHelpClipboardText_Row0": "If your browser did not launch automatically to complete authentication:",
|
||||
"AccountCreationDialog_GoogleAuthHelpClipboardText_Row1": "1) Click the button below to copy the authentication address",
|
||||
"AccountCreationDialog_GoogleAuthHelpClipboardText_Row2": "2) Launch your web browser (Edge, Chrome, Firefox etc...)",
|
||||
"AccountCreationDialog_GoogleAuthHelpClipboardText_Row3": "3) Paste the copied address and go to the website to complete authentication manually.",
|
||||
"AccountCreationDialog_Initializing": "initializing",
|
||||
"AccountCreationDialog_PreparingFolders": "We are getting folder information at the moment.",
|
||||
"AccountCreationDialog_SigninIn": "Account information is being saved.",
|
||||
"AccountEditDialog_Message": "Account Name",
|
||||
"AccountEditDialog_Title": "Edit Account",
|
||||
"AccountPickerDialog_Title": "Pick an account",
|
||||
"AccountSettingsDialog_AccountName": "Sender Display Name",
|
||||
"AccountSettingsDialog_AccountNamePlaceholder": "eg. John Doe",
|
||||
"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": "Assign a new account color to colorize its symbol in the list.",
|
||||
"AddHyperlink": "Add",
|
||||
"AccountContactNameYou": "You",
|
||||
"AutoDiscoveryProgressMessage": "Searching for mail settings...",
|
||||
"AppCloseBackgroundSynchronizationWarningTitle": "Background Synchronization",
|
||||
"AppCloseTerminateBehaviorWarningMessageFirstLine": "You are terminating Wino Mail and your app close behavior is set to 'Terminate'.",
|
||||
"AppCloseTerminateBehaviorWarningMessageSecondLine": "This will stop all background synchronizations and notifications.",
|
||||
"AppCloseTerminateBehaviorWarningMessageThirdLine": "Do you want to go to App Preferences to set Wino Mail to run minimized or in the background?",
|
||||
"AppCloseStartupLaunchDisabledWarningMessageFirstLine": "Application has not been set to launch on Windows startup.",
|
||||
"AppCloseStartupLaunchDisabledWarningMessageSecondLine": "This will cause you to miss notifications when you restart your computer.",
|
||||
"AppCloseStartupLaunchDisabledWarningMessageThirdLine": "Do you want to go to App Preferences page to enable it?",
|
||||
"AppCloseTerminateBehaviorWarningMessageFirstLine": "You are terminating Wino Mail and your app close behavior is set to 'Terminate'.",
|
||||
"AppCloseTerminateBehaviorWarningMessageSecondLine": "This will stop all background synchronizations and notifications.",
|
||||
"AppCloseTerminateBehaviorWarningMessageThirdLine": "Do you want to go to App Preferences to set Wino Mail to run minimized or in the background?",
|
||||
"AutoDiscoveryProgressMessage": "Searching for mail settings...",
|
||||
"BasicIMAPSetupDialog_AdvancedConfiguration": "Advanced Configuration",
|
||||
"BasicIMAPSetupDialog_CredentialLocalMessage": "Your credentials will only be stored locally on your computer.",
|
||||
"BasicIMAPSetupDialog_Description": "Some accounts require additional steps to sign in",
|
||||
@@ -34,48 +45,63 @@
|
||||
"BasicIMAPSetupDialog_MailAddressPlaceholder": "johndoe@fabrikam.com",
|
||||
"BasicIMAPSetupDialog_Password": "Password",
|
||||
"BasicIMAPSetupDialog_Title": "IMAP Account",
|
||||
"Busy": "Busy",
|
||||
"Buttons_AddAccount": "Add Account",
|
||||
"Buttons_AddNewAlias": "Add New Alias",
|
||||
"Buttons_Allow": "Allow",
|
||||
"Buttons_Deny": "Deny",
|
||||
"Buttons_SyncAliases": "Synchronize Aliases",
|
||||
"Buttons_ApplyTheme": "Apply Theme",
|
||||
"Buttons_Browse": "Browse",
|
||||
"Buttons_Cancel": "Cancel",
|
||||
"Buttons_Close": "Close",
|
||||
"Buttons_Copy": "Copy",
|
||||
"Buttons_Create": "Create",
|
||||
"Buttons_CreateAccount": "Create Account",
|
||||
"Buttons_Copy": "Copy",
|
||||
"Buttons_Delete": "Delete",
|
||||
"Buttons_Edit": "Edit",
|
||||
"Buttons_Deny": "Deny",
|
||||
"Buttons_Discard": "Discard",
|
||||
"Buttons_Edit": "Edit",
|
||||
"Buttons_EnableImageRendering": "Enable",
|
||||
"Buttons_Multiselect": "Select Multiple",
|
||||
"Buttons_No": "No",
|
||||
"Buttons_Open": "Open",
|
||||
"Buttons_Purchase": "Purchase",
|
||||
"Buttons_RateWino": "Rate Wino",
|
||||
"Buttons_Reset": "Reset",
|
||||
"Buttons_Save": "Save",
|
||||
"Buttons_SaveConfiguration": "Save Configuration",
|
||||
"Buttons_Send": "Send",
|
||||
"Buttons_Share": "Share",
|
||||
"Buttons_SignIn": "Sign In",
|
||||
"Buttons_Sync": "Synchronize",
|
||||
"Buttons_SyncAliases": "Synchronize Aliases",
|
||||
"Buttons_TryAgain": "Try Again",
|
||||
"Buttons_Yes": "Yes",
|
||||
"Buttons_Reset": "Reset",
|
||||
"Buttons_Send": "Send",
|
||||
"Buttons_Sync": "Synchronize",
|
||||
"Buttons_Multiselect": "Select Multiple",
|
||||
"CalendarAllDayEventSummary": "all-day events",
|
||||
"CalendarDisplayOptions_Color": "Color",
|
||||
"CalendarDisplayOptions_Expand": "Expand",
|
||||
"CalendarItem_DetailsPopup_JoinOnline": "Join online",
|
||||
"CalendarItem_DetailsPopup_ViewEventButton": "View event",
|
||||
"CalendarItem_DetailsPopup_ViewSeriesButton": "View series",
|
||||
"CalendarItemAllDay": "all day",
|
||||
"CategoriesFolderNameOverride": "Categories",
|
||||
"Center": "Center",
|
||||
"ComingSoon": "Coming soon...",
|
||||
"ComposerFrom": "From: ",
|
||||
"ComposerSubject": "Subject: ",
|
||||
"ComposerTo": "To: ",
|
||||
"ClipboardTextCopied_Message": "{0} copied to clipboard.",
|
||||
"ClipboardTextCopied_Title": "Copied",
|
||||
"ClipboardTextCopyFailed_Message": "Failed to copy {0} to clipboard.",
|
||||
"ComposerToPlaceholder": "click enter to input addresses",
|
||||
"ComposerAttachmentsDropZone_Message": "Drop your files here",
|
||||
"ComposerImagesDropZone_Message": "Drop your images here",
|
||||
"ComingSoon": "Coming soon...",
|
||||
"ComposerAttachmentsDragDropAttach_Message": "Attach",
|
||||
"ComposerAttachmentsDropZone_Message": "Drop your files here",
|
||||
"ComposerFrom": "From: ",
|
||||
"ComposerImagesDropZone_Message": "Drop your images here",
|
||||
"ComposerSubject": "Subject: ",
|
||||
"ComposerTo": "To: ",
|
||||
"ComposerToPlaceholder": "click enter to input addresses",
|
||||
"CreateAccountAliasDialog_AliasAddress": "Address",
|
||||
"CreateAccountAliasDialog_AliasAddressPlaceholder": "eg. support@mydomain.com",
|
||||
"CreateAccountAliasDialog_Description": "Make sure your outgoing server allows sending mails from this alias.",
|
||||
"CreateAccountAliasDialog_ReplyToAddress": "Reply-To Address",
|
||||
"CreateAccountAliasDialog_ReplyToAddressPlaceholder": "admin@mydomain.com",
|
||||
"CreateAccountAliasDialog_Title": "Create Account Alias",
|
||||
"CustomThemeBuilder_AccentColorDescription": "Set custom accent color if you wish. Not selecting a color will use your Windows accent color.",
|
||||
"CustomThemeBuilder_AccentColorTitle": "Accent color",
|
||||
"CustomThemeBuilder_PickColor": "Pick",
|
||||
@@ -84,70 +110,57 @@
|
||||
"CustomThemeBuilder_Title": "Custom Theme Builder",
|
||||
"CustomThemeBuilder_WallpaperDescription": "Set a custom wallpaper for Wino",
|
||||
"CustomThemeBuilder_WallpaperTitle": "Set custom wallpaper",
|
||||
"Dialog_DontAskAgain": "Don't ask again",
|
||||
"DialogMessage_AccountLimitMessage": "You have reached the account creation limit.\nWould you like to purchase 'Unlimited Account' add-on to continue?",
|
||||
"DialogMessage_AccountLimitTitle": "Account Limit Reached",
|
||||
"DialogMessage_AliasNotSelectedTitle": "Missing Alias",
|
||||
"DialogMessage_AliasNotSelectedMessage": "You must select an alias before sending a message.",
|
||||
"DialogMessage_AliasExistsTitle": "Existing Alias",
|
||||
"DialogMessage_AliasExistsMessage": "This alias is already in use.",
|
||||
"DialogMessage_InvalidAliasTitle": "Invalid Alias",
|
||||
"DialogMessage_InvalidAliasMessage": "This alias is not valid. Make sure all addresses of the alias are valid e-mail addresses.",
|
||||
"DialogMessage_CantDeleteRootAliasTitle": "Can't Delete Alias",
|
||||
"DialogMessage_CantDeleteRootAliasMessage": "Root alias can't be deleted. This is your main identity associated with your account setup.",
|
||||
"DialogMessage_AliasCreatedTitle": "Created New Alias",
|
||||
"DialogMessage_AliasCreatedMessage": "New alias is succesfully created.",
|
||||
"DialogMessage_AliasCreatedTitle": "Created New Alias",
|
||||
"DialogMessage_AliasExistsMessage": "This alias is already in use.",
|
||||
"DialogMessage_AliasExistsTitle": "Existing Alias",
|
||||
"DialogMessage_AliasNotSelectedMessage": "You must select an alias before sending a message.",
|
||||
"DialogMessage_AliasNotSelectedTitle": "Missing Alias",
|
||||
"DialogMessage_CantDeleteRootAliasMessage": "Root alias can't be deleted. This is your main identity associated with your account setup.",
|
||||
"DialogMessage_CantDeleteRootAliasTitle": "Can't Delete Alias",
|
||||
"DialogMessage_CleanupFolderMessage": "Do you want to permanently delete all the mails in this folder?",
|
||||
"DialogMessage_CleanupFolderTitle": "Cleanup Folder",
|
||||
"DialogMessage_ComposerMissingRecipientMessage": "Message has no recipient.",
|
||||
"DialogMessage_ComposerValidationFailedTitle": "Validation Failed",
|
||||
"DialogMessage_CreateLinkedAccountMessage": "Give this new link a name. Accounts will be merged under this name.",
|
||||
"DialogMessage_CreateLinkedAccountTitle": "Account Link Name",
|
||||
"DialogMessage_PrintingFailedMessage": "Failed to print this mail. Result: {0}",
|
||||
"DialogMessage_PrintingFailedTitle": "Failed",
|
||||
"DialogMessage_PrintingSuccessTitle": "Success",
|
||||
"DialogMessage_PrintingSuccessMessage": "Mail is sent to printer.",
|
||||
"DialogMessage_DeleteAccountConfirmationMessage": "Delete {0}?",
|
||||
"DialogMessage_DeleteAccountConfirmationTitle": "All data associated with this account will be deleted from disk permanently.",
|
||||
"DialogMessage_DiscardDraftConfirmationMessage": "This draft will be discarded. Do you want to continue?",
|
||||
"DialogMessage_DiscardDraftConfirmationTitle": "Discard Draft",
|
||||
"DialogMessage_EmptySubjectConfirmation": "Missing Subject",
|
||||
"DialogMessage_EmptySubjectConfirmationMessage": "Message has no subject. Do you want to continue?",
|
||||
"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": "Enable Startup Launch",
|
||||
"DialogMessage_HardDeleteConfirmationMessage": "Permanent Delete",
|
||||
"DialogMessage_HardDeleteConfirmationTitle": "Message(s) will be permanently deleted. Do you want to continue?",
|
||||
"DialogMessage_InvalidAliasMessage": "This alias is not valid. Make sure all addresses of the alias are valid e-mail addresses.",
|
||||
"DialogMessage_InvalidAliasTitle": "Invalid Alias",
|
||||
"DialogMessage_NoAccountsForCreateMailMessage": "You don't have any accounts to create message from.",
|
||||
"DialogMessage_NoAccountsForCreateMailTitle": "Account Missing",
|
||||
"DialogMessage_PrintingFailedMessage": "Failed to print this mail. Result: {0}",
|
||||
"DialogMessage_PrintingFailedTitle": "Failed",
|
||||
"DialogMessage_PrintingSuccessMessage": "Mail is sent to printer.",
|
||||
"DialogMessage_PrintingSuccessTitle": "Success",
|
||||
"DialogMessage_RenameFolderMessage": "Enter new name for this folder",
|
||||
"DialogMessage_RenameFolderTitle": "Rename Folder",
|
||||
"DialogMessage_RenameLinkedAccountsMessage": "Enter new name for linked account",
|
||||
"DialogMessage_RenameLinkedAccountsTitle": "Rename Linked Account",
|
||||
"DialogMessage_UnlinkAccountsConfirmationMessage": "This operation will not delete your accounts but only break the link for shared folder connections. Do you want to continue?",
|
||||
"DialogMessage_UnlinkAccountsConfirmationTitle": "Unlink Accounts",
|
||||
"DialogMessage_EmptySubjectConfirmation": "Missing Subject",
|
||||
"DialogMessage_EmptySubjectConfirmationMessage": "Message has no subject. Do you want to continue?",
|
||||
"DialogMessage_RenameFolderTitle": "Rename Folder",
|
||||
"DialogMessage_RenameFolderMessage": "Enter new name for this folder",
|
||||
"DialogMessage_UnsubscribeConfirmationTitle": "Unsubscribe",
|
||||
"DialogMessage_UnsubscribeConfirmationOneClickMessage": "Do you want to stop getting messages from {0}?",
|
||||
"DialogMessage_UnsubscribeConfirmationGoToWebsiteMessage": "To stop getting messages from {0}, go to their website to unsubscribe.",
|
||||
"DialogMessage_UnsubscribeConfirmationGoToWebsiteConfirmButton": "Go to website",
|
||||
"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_EnableStartupLaunchTitle": "Enable Startup Launch",
|
||||
"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_EnableStartupLaunchDeniedMessage": "You can enable startup launch from Settings -> App Preferences.",
|
||||
"Dialog_DontAskAgain": "Don't ask again",
|
||||
"CalendarAllDayEventSummary": "all-day events",
|
||||
"CalendarItemAllDay": "all day",
|
||||
"CalendarItem_DetailsPopup_JoinOnline": "Join online",
|
||||
"CalendarItem_DetailsPopup_ViewEventButton": "View event",
|
||||
"CalendarItem_DetailsPopup_ViewSeriesButton": "View series",
|
||||
"CalendarDisplayOptions_Expand": "Expand",
|
||||
"CalendarDisplayOptions_Color": "Color",
|
||||
"CreateAccountAliasDialog_Title": "Create Account Alias",
|
||||
"CreateAccountAliasDialog_Description": "Make sure your outgoing server allows sending mails from this alias.",
|
||||
"CreateAccountAliasDialog_AliasAddress": "Address",
|
||||
"CreateAccountAliasDialog_AliasAddressPlaceholder": "eg. support@mydomain.com",
|
||||
"CreateAccountAliasDialog_ReplyToAddress": "Reply-To Address",
|
||||
"CreateAccountAliasDialog_ReplyToAddressPlaceholder": "admin@mydomain.com",
|
||||
"DialogMessage_UnsubscribeConfirmationOneClickMessage": "Do you want to stop getting messages from {0}?",
|
||||
"DialogMessage_UnsubscribeConfirmationTitle": "Unsubscribe",
|
||||
"DiscordChannelDisclaimerMessage": "Wino doesn't have it's own Discord server, but special 'wino-mail' channel is hosted at 'Developer Sanctuary' server.\nTo get the updates about Wino please join Developer Sanctuary server and follow 'wino-mail' channel under 'Community Projects'\n\nYou will be directed to server URL since Discord doesn't support channel invites.",
|
||||
"DiscordChannelDisclaimerTitle": "Important Discord Information",
|
||||
"Draft": "Draft",
|
||||
"Busy": "Busy",
|
||||
"DragMoveToFolderCaption": "Move to {0}",
|
||||
"EditorToolbarOption_Draw": "Draw",
|
||||
"EditorToolbarOption_Format": "Format",
|
||||
"EditorToolbarOption_Insert": "Insert",
|
||||
@@ -158,24 +171,26 @@
|
||||
"ElementTheme_Default": "Use system setting",
|
||||
"ElementTheme_Light": "Light mode",
|
||||
"Emoji": "Emoji",
|
||||
"Exception_WinoServerException": "Wino server failed.",
|
||||
"Exception_MailProcessing": "This mail is still being processed. Please try again after few seconds.",
|
||||
"Exception_ImapAutoDiscoveryFailed": "Couldn't find mailbox settings.",
|
||||
"Exception_ImapClientPoolFailed": "IMAP Client Pool failed.",
|
||||
"Error_FailedToSetupSystemFolders_Title": "Failed to setup system folders",
|
||||
"Exception_AuthenticationCanceled": "Authentication canceled",
|
||||
"Exception_CustomThemeExists": "This theme already exists.",
|
||||
"Exception_CustomThemeMissingName": "You must provide a name.",
|
||||
"Exception_CustomThemeMissingWallpaper": "You must provide a custom background image.",
|
||||
"Exception_FailedToSynchronizeFolders": "Failed to synchronize folders",
|
||||
"Exception_FailedToSynchronizeAliases": "Failed to synchronize aliases",
|
||||
"Exception_MissingAlias": "Primary alias does not exist for this account. Creating draft failed.",
|
||||
"Exception_FailedToSynchronizeFolders": "Failed to synchronize folders",
|
||||
"Exception_FailedToSynchronizeProfileInformation": "Failed to synchronize profile information",
|
||||
"Exception_GoogleAuthCallbackNull": "Callback uri is null on activation.",
|
||||
"Exception_GoogleAuthCorruptedCode": "Corrupted authorization response.",
|
||||
"Exception_GoogleAuthError": "OAuth authorization error: {0}",
|
||||
"Exception_GoogleAuthInvalidResponse": "Received request with invalid state ({0})",
|
||||
"Exception_GoogleAuthorizationCodeExchangeFailed": "Authorization code exchange failed.",
|
||||
"Exception_ImapAutoDiscoveryFailed": "Couldn't find mailbox settings.",
|
||||
"Exception_ImapClientPoolFailed": "IMAP Client Pool failed.",
|
||||
"Exception_InboxNotAvailable": "Couldn't setup account folders.",
|
||||
"Exception_InvalidSystemFolderConfiguration": "System folder configuration is not valid. Check configuration and try again.",
|
||||
"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": "Assigned account is null",
|
||||
"Exception_NullAssignedFolder": "Assigned folder is null",
|
||||
"Exception_SynchronizerFailureHTTP": "Response handling failed with error HTTP code {0}",
|
||||
@@ -186,12 +201,12 @@
|
||||
"Exception_UnsupportedProvider": "This provider is not supported.",
|
||||
"Exception_UnsupportedSynchronizerOperation": "This operation is not supported for {0}",
|
||||
"Exception_UserCancelSystemFolderSetupDialog": "User canceled system folder config dialog.",
|
||||
"Exception_InboxNotAvailable": "Couldn't setup account folders.",
|
||||
"Exception_WinoServerException": "Wino server failed.",
|
||||
"Files": "Files",
|
||||
"FilteringOption_All": "All",
|
||||
"FilteringOption_Files": "Has files",
|
||||
"FilteringOption_Flagged": "Flagged",
|
||||
"FilteringOption_Unread": "Unread",
|
||||
"FilteringOption_Files": "Has files",
|
||||
"Focused": "Focused",
|
||||
"FolderOperation_CreateSubFolder": "Create sub folder",
|
||||
"FolderOperation_Delete": "Delete",
|
||||
@@ -199,27 +214,71 @@
|
||||
"FolderOperation_Empty": "Empty this folder",
|
||||
"FolderOperation_MarkAllAsRead": "Mark all as read",
|
||||
"FolderOperation_Move": "Move",
|
||||
"DragMoveToFolderCaption": "Move to {0}",
|
||||
"FolderOperation_None": "None",
|
||||
"FolderOperation_Pin": "Pin",
|
||||
"FolderOperation_Rename": "Rename",
|
||||
"FolderOperation_Unpin": "Unpin",
|
||||
"GeneralTitle_Error": "Error",
|
||||
"GeneralTitle_Info": "Information",
|
||||
"GeneralTitle_Warning": "Warning",
|
||||
"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": "Archive",
|
||||
"HoverActionOption_Delete": "Delete",
|
||||
"HoverActionOption_MoveJunk": "Move to Junk",
|
||||
"HoverActionOption_ToggleFlag": "Flag / Unflag",
|
||||
"HoverActionOption_ToggleRead": "Read / Unread",
|
||||
"MergedAccountCommonFolderInbox": "Inbox",
|
||||
"MergedAccountCommonFolderSent": "Sent",
|
||||
"MergedAccountCommonFolderDraft": "Draft",
|
||||
"MergedAccountCommonFolderJunk": "Junk",
|
||||
"MergedAccountCommonFolderTrash": "Deleted",
|
||||
"MergedAccountCommonFolderArchive": "Archive",
|
||||
"ImageRenderingDisabled": "Image rendering is disabled for this message.",
|
||||
"ImapAdvancedSetupDialog_AuthenticationMethod": "Authentication method",
|
||||
"ImapAdvancedSetupDialog_ConnectionSecurity": "Connection security",
|
||||
"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": "Auto",
|
||||
"ImapAuthenticationMethod_CramMD5": "CRAM-MD5",
|
||||
"ImapAuthenticationMethod_DigestMD5": "DIGEST-MD5",
|
||||
"ImapAuthenticationMethod_EncryptedPassword": "Encrypted password",
|
||||
"ImapAuthenticationMethod_None": "No authentication",
|
||||
"ImapAuthenticationMethod_Ntlm": "NTLM",
|
||||
"ImapAuthenticationMethod_Plain": "Normal password",
|
||||
"ImapConnectionSecurity_Auto": "Auto",
|
||||
"ImapConnectionSecurity_None": "None",
|
||||
"ImapConnectionSecurity_SslTls": "SSL/TLS",
|
||||
"ImapConnectionSecurity_StartTls": "STARTTLS",
|
||||
"IMAPSetupDialog_AccountType": "Account type",
|
||||
"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": "Subject",
|
||||
"IMAPSetupDialog_CertificateValidFrom": "Valid from",
|
||||
"IMAPSetupDialog_CertificateValidTo": "Valid to",
|
||||
"IMAPSetupDialog_CertificateView": "View Certificate",
|
||||
"IMAPSetupDialog_ConnectionFailedMessage": "IMAP connection failed.",
|
||||
"IMAPSetupDialog_ConnectionFailedTitle": "Connection Failed",
|
||||
"IMAPSetupDialog_DisplayName": "Display Name",
|
||||
"IMAPSetupDialog_DisplayNamePlaceholder": "eg. John Doe",
|
||||
"IMAPSetupDialog_IncomingMailServer": "Incoming mail server",
|
||||
"IMAPSetupDialog_IncomingMailServerPort": "Port",
|
||||
"IMAPSetupDialog_IMAPSettings": "IMAP Server Settings",
|
||||
"IMAPSetupDialog_SMTPSettings": "SMTP Server Settings",
|
||||
"IMAPSetupDialog_MailAddress": "Email address",
|
||||
"IMAPSetupDialog_MailAddressPlaceholder": "someone@example.com",
|
||||
"IMAPSetupDialog_OutgoingMailServer": "Outgoing (SMTP) mail server",
|
||||
@@ -231,26 +290,9 @@
|
||||
"IMAPSetupDialog_RequireSSLForIncomingMail": "Require SSL for incoming email",
|
||||
"IMAPSetupDialog_RequireSSLForOutgoingMail": "Require SSL for outgoing email",
|
||||
"IMAPSetupDialog_Title": "Advanced IMAP Configuration",
|
||||
"IMAPSetupDialog_UseSameConfig": "Use the same username and password for sending email",
|
||||
"IMAPSetupDialog_Username": "Username",
|
||||
"IMAPSetupDialog_UsernamePlaceholder": "johndoe, johndoe@fabrikam.com, domain/johndoe",
|
||||
"IMAPSetupDialog_ConnectionFailedTitle": "Connection Failed",
|
||||
"IMAPSetupDialog_ConnectionFailedMessage": "IMAP connection 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_CertificateIssuer": "Issuer",
|
||||
"IMAPSetupDialog_CertificateSubject": "Subject",
|
||||
"IMAPSetupDialog_CertificateValidFrom": "Valid from",
|
||||
"IMAPSetupDialog_CertificateValidTo": "Valid to",
|
||||
"IMAPSetupDialog_CertificateDenied": "User didn't authorize the handshake with the certificate.",
|
||||
"IMAPSetupDialog_CertificateView": "View Certificate",
|
||||
"ImageRenderingDisabled": "Image rendering is disabled for this message.",
|
||||
"InfoBarAction_Enable": "Enable",
|
||||
"InfoBarMessage_SynchronizationDisabledFolder": "This folder is disabled for synchronization.",
|
||||
"InfoBarTitle_SynchronizationDisabledFolder": "Disabled Folder",
|
||||
"GeneralTitle_Error": "Error",
|
||||
"GeneralTitle_Warning": "Warning",
|
||||
"GeneralTitle_Info": "Information",
|
||||
"IMAPSetupDialog_UseSameConfig": "Use the same username and password for sending email",
|
||||
"Info_AccountCreatedMessage": "{0} is created",
|
||||
"Info_AccountCreatedTitle": "Account Creation",
|
||||
"Info_AccountCreationFailedTitle": "Account Creation Failed",
|
||||
@@ -269,14 +311,15 @@
|
||||
"Info_BackgroundExecutionDeniedTitle": "Denied Background Execution",
|
||||
"Info_BackgroundExecutionUnknownErrorMessage": "Unknown exception occurred when registering background synchronizer.",
|
||||
"Info_BackgroundExecutionUnknownErrorTitle": "Background Execution Failure",
|
||||
"Info_FailedToOpenFileTitle": "Failed to launch file.",
|
||||
"Info_FailedToOpenFileMessage": "File might be removed from the disk.",
|
||||
"Info_CantDeletePrimaryAliasMessage": "Primary alias can't be deleted. Please change your alias before deleting this one",
|
||||
"Info_ComposerMissingMIMEMessage": "Couldn't locate the MIME file. Synchronizing may help.",
|
||||
"Info_ComposerMissingMIMETitle": "Failed",
|
||||
"Info_ContactExistsMessage": "This contact is already in the recipient list.",
|
||||
"Info_ContactExistsTitle": "Contact Exists",
|
||||
"Info_DraftFolderMissingMessage": "Draft folder is missing for this account. Please check your account settings.",
|
||||
"Info_DraftFolderMissingTitle": "Missing Draft Folder",
|
||||
"Info_FailedToOpenFileMessage": "File might be removed from the disk.",
|
||||
"Info_FailedToOpenFileTitle": "Failed to launch file.",
|
||||
"Info_FileLaunchFailedTitle": "Failed to launch file",
|
||||
"Info_InvalidAddressMessage": "'{0}' is not a valid e-mail address.",
|
||||
"Info_InvalidAddressTitle": "Invalid Address",
|
||||
@@ -286,15 +329,16 @@
|
||||
"Info_LogsNotFoundTitle": "Logs Not Found",
|
||||
"Info_LogsSavedMessage": "{0} is saved to selected folder.",
|
||||
"Info_LogsSavedTitle": "Saved",
|
||||
"Info_MailListSizeResetSuccessMessage": "The Mail List size has been reset.",
|
||||
"Info_MailRenderingFailedMessage": "This mail is corrupted or can't be opened.\n{0}",
|
||||
"Info_MailRenderingFailedTitle": "Render Failed",
|
||||
"Info_MessageCorruptedMessage": "This message is corrupted.",
|
||||
"Info_MessageCorruptedTitle": "Error",
|
||||
"Info_MissingFolderMessage": "{0} doesn't exist for this account.",
|
||||
"Info_MissingFolderTitle": "Missing Folder",
|
||||
"Info_PDFSaveSuccessTitle": "Success",
|
||||
"Info_PDFSaveFailedTitle": "Failed to save PDF file",
|
||||
"Info_PDFSaveSuccessMessage": "PDF file is saved to {0}",
|
||||
"Info_PDFSaveSuccessTitle": "Success",
|
||||
"Info_PurchaseExistsMessage": "Looks like this product has already been purchased before.",
|
||||
"Info_PurchaseExistsTitle": "Existing Product",
|
||||
"Info_PurchaseThankYouMessage": "Thank You",
|
||||
@@ -314,32 +358,21 @@
|
||||
"Info_SyncCanceledMessage": "Canceled",
|
||||
"Info_SyncCanceledTitle": "Synchronization",
|
||||
"Info_SyncFailedTitle": "Synchronization Failed",
|
||||
"Info_UnsubscribeErrorMessage": "Failed to unsubscribe",
|
||||
"Info_UnsubscribeLinkInvalidMessage": "This unsubscribe link is invalid. Failed to unsubscribe from the list.",
|
||||
"Info_UnsubscribeLinkInvalidTitle": "Invalid Unsubscribe Uri",
|
||||
"Info_UnsubscribeSuccessMessage": "Successfully unsubscribed from {0}.",
|
||||
"Info_UnsupportedFunctionalityDescription": "This functionality is not implemented yet.",
|
||||
"Info_UnsupportedFunctionalityTitle": "Unsupported",
|
||||
"Info_UnsubscribeLinkInvalidTitle": "Invalid Unsubscribe Uri",
|
||||
"Info_UnsubscribeLinkInvalidMessage": "This unsubscribe link is invalid. Failed to unsubscribe from the list.",
|
||||
"Info_UnsubscribeSuccessMessage": "Successfully unsubscribed from {0}.",
|
||||
"Info_UnsubscribeErrorMessage": "Failed to unsubscribe",
|
||||
"Info_CantDeletePrimaryAliasMessage": "Primary alias can't be deleted. Please change your alias before deleting this one",
|
||||
"Info_MailListSizeResetSuccessMessage": "The Mail List size has been reset.",
|
||||
"ImapAdvancedSetupDialog_AuthenticationMethod": "Authentication method",
|
||||
"ImapAdvancedSetupDialog_ConnectionSecurity": "Connection security",
|
||||
"ImapAuthenticationMethod_Auto": "Auto",
|
||||
"ImapAuthenticationMethod_CramMD5": "CRAM-MD5",
|
||||
"ImapAuthenticationMethod_DigestMD5": "DIGEST-MD5",
|
||||
"ImapAuthenticationMethod_None": "No authentication",
|
||||
"ImapAuthenticationMethod_Plain": "Normal password",
|
||||
"ImapAuthenticationMethod_EncryptedPassword": "Encrypted password",
|
||||
"ImapAuthenticationMethod_Ntlm": "NTLM",
|
||||
"ImapConnectionSecurity_None": "None",
|
||||
"ImapConnectionSecurity_SslTls": "SSL/TLS",
|
||||
"ImapConnectionSecurity_StartTls": "STARTTLS",
|
||||
"ImapConnectionSecurity_Auto": "Auto",
|
||||
"InfoBarAction_Enable": "Enable",
|
||||
"InfoBarMessage_SynchronizationDisabledFolder": "This folder is disabled for synchronization.",
|
||||
"InfoBarTitle_SynchronizationDisabledFolder": "Disabled Folder",
|
||||
"Justify": "Justify",
|
||||
"Left": "Left",
|
||||
"Link": "Link",
|
||||
"LinkedAccountsCreatePolicyMessage": "you must have at least 2 accounts to create link\nlink will be removed on save",
|
||||
"LinkedAccountsTitle": "Linked Accounts",
|
||||
"MailItemNoSubject": "No subject",
|
||||
"MailOperation_AlwaysMoveFocused": "Always Move to Focused",
|
||||
"MailOperation_AlwaysMoveOther": "Always Move to Other",
|
||||
"MailOperation_Archive": "Archive",
|
||||
@@ -366,25 +399,32 @@
|
||||
"MailOperation_SaveAs": "Save As",
|
||||
"MailOperation_SetFlag": "Set flag",
|
||||
"MailOperation_Unarchive": "Unarchive",
|
||||
"MailOperation_Zoom": "Zoom",
|
||||
"MailOperation_ViewMessageSource": "View message source",
|
||||
"MailOperation_Zoom": "Zoom",
|
||||
"MailsSelected": "{0} item(s) selected",
|
||||
"MarkFlagUnflag": "Mark as flagged/unflagged",
|
||||
"MarkReadUnread": "Mark as read/unread",
|
||||
"MenuManageAccounts": "Manage Accounts",
|
||||
"MenuNewMail": "New Mail",
|
||||
"MenuMergedAccountItemAccountsSuffix": " accounts",
|
||||
"MenuNewMail": "New Mail",
|
||||
"MenuRate": "Rate Wino",
|
||||
"MenuSettings": "Settings",
|
||||
"MergedAccountCommonFolderArchive": "Archive",
|
||||
"MergedAccountCommonFolderDraft": "Draft",
|
||||
"MergedAccountCommonFolderInbox": "Inbox",
|
||||
"MergedAccountCommonFolderJunk": "Junk",
|
||||
"MergedAccountCommonFolderSent": "Sent",
|
||||
"MergedAccountCommonFolderTrash": "Deleted",
|
||||
"MergedAccountsAvailableAccountsTitle": "Available Accounts",
|
||||
"MessageSourceDialog_Title": "Message source",
|
||||
"More": "More",
|
||||
"MoreFolderNameOverride": "More",
|
||||
"MoveMailDialog_InvalidFolderMessage": "{0} is not a valid folder for this mail.",
|
||||
"MoveMailDialog_Title": "Pick a folder",
|
||||
"NewAccountDialog_AccountName": "Account Name",
|
||||
"NewAccountDialog_AccountNameDefaultValue": "Personal",
|
||||
"NewAccountDialog_AccountNamePlaceholder": "eg. Personal Mail",
|
||||
"NewAccountDialog_Title": "Add New Account",
|
||||
"MessageSourceDialog_Title": "Message source",
|
||||
"NoMailSelected": "No message selected",
|
||||
"NoMessageCrieteria": "No messages match your search criteria",
|
||||
"NoMessageEmptyFolder": "This folder is empty",
|
||||
@@ -392,10 +432,10 @@
|
||||
"Notifications_MultipleNotificationsTitle": "New Mail",
|
||||
"Notifications_WinoUpdatedMessage": "Checkout new version {0}",
|
||||
"Notifications_WinoUpdatedTitle": "Wino Mail has been updated.",
|
||||
"Other": "Other",
|
||||
"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": "Other",
|
||||
"PaneLengthOption_Default": "Default",
|
||||
"PaneLengthOption_ExtraLarge": "Extra Large",
|
||||
"PaneLengthOption_Large": "Large",
|
||||
@@ -404,64 +444,94 @@
|
||||
"PaneLengthOption_Small": "Small",
|
||||
"Photos": "Photos",
|
||||
"PreparingFoldersMessage": "Preparing folders",
|
||||
"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": "Custom IMAP/SMTP server",
|
||||
"ProviderDetail_IMAP_Title": "IMAP Server",
|
||||
"ProviderDetail_Yahoo_Title": "Yahoo Mail",
|
||||
"ProviderDetail_Yahoo_Description": "Yahoo Account",
|
||||
"ProviderDetail_iCloud_Title": "iCloud",
|
||||
"ProviderDetail_iCloud_Description": "Apple iCloud Account",
|
||||
"ProtocolLogAvailable_Message": "Protocol logs are available for diagnostics.",
|
||||
"ProviderDetail_Yahoo_Title": "Yahoo Mail",
|
||||
"QuickEventDialog_EventName": "Event name",
|
||||
"QuickEventDialog_IsAllDay": "All day",
|
||||
"QuickEventDialog_Location": "Location",
|
||||
"QuickEventDialog_RemindMe": "Remind me",
|
||||
"QuickEventDialogMoreDetailsButtonText": "More details",
|
||||
"Reader_SaveAllAttachmentButtonText": "Save all attachments",
|
||||
"Results": "Results",
|
||||
"Right": "Right",
|
||||
"Reader_SaveAllAttachmentButtonText": "Save all attachments",
|
||||
"SynchronizationFolderReport_Success": "up to date",
|
||||
"SynchronizationFolderReport_Failed": "synchronization is failed",
|
||||
"SearchBarPlaceholder": "Search",
|
||||
"SearchingIn": "Searching in",
|
||||
"SearchPivotName": "Results",
|
||||
"SettingsAboutGithub_Description": "Go to issue tracker GitHub repository.",
|
||||
"SettingsAboutGithub_Title": "GitHub",
|
||||
"SettingsAccountManagementAppendMessage_Title": "Append messages to Sent folder",
|
||||
"SettingsAccountManagementAppendMessage_Description": "Create a copy of the message in Sent folder after the draft is sent. Enable this if you don't see your mails after you sent them in Sent folder.",
|
||||
"SettingsEditLinkedInbox_Title": "Edit Linked Inbox",
|
||||
"SettingsEditLinkedInbox_Description": "Add / remove accounts, rename or break the link between accounts.",
|
||||
"SettingsAboutVersion": "Version ",
|
||||
"SettingsAboutWinoDescription": "Lightweight mail client for Windows device families.",
|
||||
"SettingConfigureSpecialFolders_Button": "Configure",
|
||||
"SettingsEditAccountDetails_IMAPConfiguration_Title": "IMAP/SMTP Configuration",
|
||||
"SettingsEditAccountDetails_IMAPConfiguration_Description": "Change your incoming/outgoing server settings.",
|
||||
"SettingsAbout_Description": "Learn more about Wino.",
|
||||
"SettingsAbout_Title": "About",
|
||||
"SettingsAboutGithub_Description": "Go to issue tracker GitHub repository.",
|
||||
"SettingsAboutGithub_Title": "GitHub",
|
||||
"SettingsAboutVersion": "Version ",
|
||||
"SettingsAboutWinoDescription": "Lightweight mail client for Windows device families.",
|
||||
"SettingsAccentColor_Description": "Change application's accent color",
|
||||
"SettingsAccentColor_Title": "Accent Color",
|
||||
"SettingsAccentColor_UseWindowsAccentColor": "Use my Windows accent color",
|
||||
"SettingsAccountManagementAppendMessage_Description": "Create a copy of the message in Sent folder after the draft is sent. Enable this if you don't see your mails after you sent them in Sent folder.",
|
||||
"SettingsAccountManagementAppendMessage_Title": "Append messages to Sent folder",
|
||||
"SettingsAccountName_Description": "Change the name of the account.",
|
||||
"SettingsAccountName_Title": "Account Name",
|
||||
"SettingsApplicationTheme_Description": "Personalize Wino with different custom application themes for your like.",
|
||||
"SettingsApplicationTheme_Title": "Application Theme",
|
||||
"SettingsAppPreferences_CloseBehavior_Description": "What should happen when you close the app?",
|
||||
"SettingsAppPreferences_CloseBehavior_Title": "Application close behavior",
|
||||
"SettingsAppPreferences_Description": "General settings / preferences for Wino Mail.",
|
||||
"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": "Default search mode",
|
||||
"SettingsAppPreferences_ServerBackgroundingMode_Invisible_Description": "Wino Mail will keep running in the background. You will be notified as new mails arrive.",
|
||||
"SettingsAppPreferences_ServerBackgroundingMode_Invisible_Title": "Run in the background",
|
||||
"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": "Minimize to system tray",
|
||||
"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": "Terminate",
|
||||
"SettingsAppPreferences_StartupBehavior_Description": "Allow Wino Mail to launch minimized when Windows starts. Always allow it to receive notifications.",
|
||||
"SettingsAppPreferences_StartupBehavior_Disable": "Disable",
|
||||
"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": "Enable",
|
||||
"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 minimized on Windows startup",
|
||||
"SettingsAppPreferences_Title": "App Preferences",
|
||||
"SettingsAutoSelectNextItem_Description": "Select the next item after you delete or move a mail.",
|
||||
"SettingsAutoSelectNextItem_Title": "Auto select next item",
|
||||
"SettingsAvailableThemes_Description": "Select a theme from Wino's own collection for your taste or apply your own themes.",
|
||||
"SettingsAvailableThemes_Title": "Available Themes",
|
||||
"SettingsAutoSelectNextItem_Title": "Auto select next item",
|
||||
"SettingsAutoSelectNextItem_Description": "Select the next item after you delete or move a mail.",
|
||||
"SettingsCalendarSettings_Title": "Calendar Settings",
|
||||
"SettingsCalendarSettings_Description": "Change first day of week, hour cell height and more...",
|
||||
"SettingsCalendarSettings_Title": "Calendar Settings",
|
||||
"SettingsComposer_Title": "Composer",
|
||||
"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": "Create your own custom theme with custom wallpaper and accent color.",
|
||||
"SettingsCustomTheme_Title": "Custom Theme",
|
||||
"SettingsConfigureSpecialFolders_Title": "Configure System Folders",
|
||||
"SettingsConfigureSpecialFolders_Description": "Set folders with special functions. Folders such as Archive, Inbox, and Drafts are essential for Wino to function properly.",
|
||||
"SettingConfigureSpecialFolders_Button": "Configure",
|
||||
"Error_FailedToSetupSystemFolders_Title": "Failed to setup system folders",
|
||||
"SettingsDeleteAccount_Description": "Delete all e-mails and credentials associated with this account.",
|
||||
"SettingsDeleteAccount_Title": "Delete this account",
|
||||
"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.",
|
||||
"SettingsDiagnostics_DiagnosticId_Title": "Diagnostic ID",
|
||||
"SettingsDiagnostics_Title": "Diagnostics",
|
||||
"SettingsDiagnostics_DiagnosticId_Title": "Diagnostic Id",
|
||||
"SettingsDiagnostics_DiagnosticId_Description": "Share this Id with the developers when asked to get help for the issues you experience in Wino Mail.",
|
||||
"SettingsDiscord_Description": "Get regular development updates, join roadmap discussions and provide feedback.",
|
||||
"SettingsDiscord_Title": "Discord Channel",
|
||||
"SettingsElementThemeSelectionDisabled": "Element theme selection is disabled when application theme is selected other than Default.",
|
||||
"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",
|
||||
@@ -474,12 +544,15 @@
|
||||
"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",
|
||||
"SettingsFolderOptions_Title": "Folder Configuration",
|
||||
"SettingsFolderOptions_Description": "Change individual folder settings like enable/disable sync or show/hide unread badge.",
|
||||
"SettingsManageAliases_Title": "Aliases",
|
||||
"SettingsManageAliases_Description": "See e-mail aliases assigned for this account, update or delete them.",
|
||||
"SettingsFontFamily_Title": "Font Family",
|
||||
"SettingsFontPreview_Title": "Preview",
|
||||
"SettingsFontSize_Title": "Font Size",
|
||||
"SettingsHoverActionCenter": "Center Action",
|
||||
"SettingsHoverActionLeft": "Left Action",
|
||||
"SettingsHoverActionRight": "Right Action",
|
||||
@@ -487,48 +560,25 @@
|
||||
"SettingsHoverActions_Title": "Hover Actions",
|
||||
"SettingsLanguage_Description": "Change display language for Wino.",
|
||||
"SettingsLanguage_Title": "Display Language",
|
||||
"SettingsLanguageTime_Title": "Language & Time",
|
||||
"SettingsLanguageTime_Description": "Wino display language, preferred time format.",
|
||||
"CategoriesFolderNameOverride": "Categories",
|
||||
"AccountAlias_Column_Verified": "Verified",
|
||||
"AccountAlias_Column_Alias": "Alias",
|
||||
"AccountAlias_Column_IsPrimaryAlias": "Primary",
|
||||
"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.",
|
||||
"MoreFolderNameOverride": "More",
|
||||
"SettingsOptions_Title": "Settings",
|
||||
"SettingsLanguageTime_Title": "Language & Time",
|
||||
"SettingsLinkAccounts_Description": "Merge multiple accounts into one. See mails from one Inbox together.",
|
||||
"SettingsLinkAccounts_Title": "Create Linked Accounts",
|
||||
"SettingsLinkedAccountsSave_Description": "Modify the current link with the new accounts.",
|
||||
"SettingsLinkedAccountsSave_Title": "Save Changes",
|
||||
"SettingsLoadImages_Title": "Load images automatically",
|
||||
"SettingsLoadStyles_Title": "Load styles automatically",
|
||||
"SettingsLoadPlaintextLinks_Title": "Convert plaintext links to clickable links",
|
||||
"SettingsLoadStyles_Title": "Load styles automatically",
|
||||
"SettingsMailListActionBar_Description": "Hide/show action bar at top of message list.",
|
||||
"SettingsMailListActionBar_Title": "Show mail list actions",
|
||||
"SettingsMailSpacing_Description": "Adjust the spacing for listing mails.",
|
||||
"SettingsMailSpacing_Title": "Mail Spacing",
|
||||
"SettingsFolderMenuStyle_Title": "Create Nested Folders",
|
||||
"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",
|
||||
"SettingsManageAccountSettings_Description": "Notifications, signatures, synchronization and other settings per account.",
|
||||
"SettingsManageAccountSettings_Title": "Manage Account Settings",
|
||||
"SettingsAppPreferences_Title": "App Preferences",
|
||||
"SettingsAppPreferences_Description": "General settings / preferences for Wino Mail.",
|
||||
"SettingsAppPreferences_CloseBehavior_Title": "Application close behavior",
|
||||
"SettingsAppPreferences_CloseBehavior_Description": "What should happen when you close the app?",
|
||||
"SettingsAppPreferences_StartupBehavior_Title": "Start minimized on Windows startup",
|
||||
"SettingsAppPreferences_StartupBehavior_Description": "Allow Wino Mail to launch minimized when Windows starts. Always allow it to receive notifications.",
|
||||
"SettingsAppPreferences_StartupBehavior_Enabled": "Wino Mail successfully set to be launched in the background on Windows startup.",
|
||||
"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_FatalError": "Fatal error occurred while changing the startup mode for Wino Mail.",
|
||||
"SettingsAppPreferences_StartupBehavior_Enable": "Enable",
|
||||
"SettingsAppPreferences_StartupBehavior_Disable": "Disable",
|
||||
"SettingsAppPreferences_SearchMode_Title": "Default search mode",
|
||||
"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",
|
||||
"SettingsReorderAccounts_Title": "Reorder Accounts",
|
||||
"SettingsReorderAccounts_Description": "Change the order of accounts in the account list.",
|
||||
"SettingsManageAliases_Description": "See e-mail aliases assigned for this account, update or delete them.",
|
||||
"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.",
|
||||
@@ -542,59 +592,71 @@
|
||||
"SettingsNoAccountSetupMessage": "You didn't setup any accounts yet.",
|
||||
"SettingsNotifications_Description": "Turn on or off notifications for this account.",
|
||||
"SettingsNotifications_Title": "Notifications",
|
||||
"SettingsNotificationsAndTaskbar_Title": "Notifications & Taskbar",
|
||||
"SettingsTaskbarBadge_Title": "Taskbar Badge",
|
||||
"SettingsTaskbarBadge_Description": "Include unread mail count in taskbar icon.",
|
||||
"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",
|
||||
"SettingsPersonalization_Description": "Change appearance of Wino as you like.",
|
||||
"SettingsPersonalization_Title": "Personalization",
|
||||
"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",
|
||||
"SettingsReader_Title": "Reader",
|
||||
"SettingsComposer_Title": "Composer",
|
||||
"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.",
|
||||
"SettingsFontFamily_Title": "Font Family",
|
||||
"SettingsFontSize_Title": "Font Size",
|
||||
"SettingsFontPreview_Title": "Preview",
|
||||
"SettingsComposerFont_Title": "Default Composer Font",
|
||||
"SettingsComposerFontFamily_Description": "Change the default font family and font size for composing 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",
|
||||
"SettingsPrefer24HourClock_Title": "Display Clock Format in 24 Hours",
|
||||
"SettingsPrefer24HourClock_Description": "Mail recieve times will be displayed in 24 hour format instead of 12 (AM/PM)",
|
||||
"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",
|
||||
"SettingsMailListActionBar_Description": "Hide/show action bar at top of message list.",
|
||||
"SettingsMailListActionBar_Title": "Show mail list actions",
|
||||
"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.",
|
||||
@@ -608,11 +670,15 @@
|
||||
"SystemFolderConfigDialog_SentFolderDescription": "Folder that sent messages will be stored.",
|
||||
"SystemFolderConfigDialog_SentFolderHeader": "Sent Folder",
|
||||
"SystemFolderConfigDialog_Title": "Configure System Folders",
|
||||
"SystemFolderConfigDialogValidation_InboxSelected": "You can't assign Inbox folder to any other system folder.",
|
||||
"SystemFolderConfigDialogValidation_DuplicateSystemFolders": "Some of the system folders are used more than once in the configuration.",
|
||||
"SystemFolderConfigSetupSuccess_Title": "System Folders Setup",
|
||||
"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",
|
||||
@@ -623,38 +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",
|
||||
"SignatureEditorDialog_Title": "Signature Editor",
|
||||
"SignatureEditorDialog_SignatureName_Placeholder": "Name your signature",
|
||||
"SignatureEditorDialog_SignatureName_TitleNew": "Signature name",
|
||||
"SignatureEditorDialog_SignatureName_TitleEdit": "Current signature name: {0}",
|
||||
"SignatureDeleteDialog_Title": "Delete signature",
|
||||
"SignatureDeleteDialog_Message": "Are you sure you want to delete \"{0}\" signature?",
|
||||
"SettingsSignature_ForNewMessages_Title": "For New Messages",
|
||||
"SettingsSignature_ForFollowingMessages_Title": "For Replies/Forwards",
|
||||
"SettingsSignature_SignatureDefaults": "Signature defaults",
|
||||
"SettingsSignature_Signatures": "Signatures",
|
||||
"SettingsSignature_AddCustomSignature_Title": "Add custom signature",
|
||||
"SettingsSignature_AddCustomSignature_Button": "Add signature",
|
||||
"SettingsSignature_EditSignature_Title": "Edit signature",
|
||||
"SettingsSignature_DeleteSignature_Title": "Delete signature",
|
||||
"SettingsSignature_NoneSignatureName": "None",
|
||||
"SettingsAppPreferences_ServerBackgroundingMode_MinimizeTray_Title": "Minimize to system tray",
|
||||
"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_Invisible_Title": "Run in the background",
|
||||
"SettingsAppPreferences_ServerBackgroundingMode_Invisible_Description": "Wino Mail will keep running in the background. You will be notified as new mails arrive.",
|
||||
"SettingsAppPreferences_ServerBackgroundingMode_Terminate_Title": "Terminate",
|
||||
"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.",
|
||||
"TitleBarServerDisconnectedButton_Title": "no connection",
|
||||
"TitleBarServerDisconnectedButton_Description": "Wino is disconnected from the network. Click reconnect to restore connection.",
|
||||
"TitleBarServerReconnectButton_Title": "reconnect",
|
||||
"TitleBarServerReconnectingButton_Title": "connecting",
|
||||
"MailItemNoSubject": "No subject",
|
||||
"QuickEventDialogMoreDetailsButtonText": "More details",
|
||||
"QuickEventDialog_RemindMe": "Remind me",
|
||||
"QuickEventDialog_Location": "Location",
|
||||
"QuickEventDialog_EventName": "Event name",
|
||||
"QuickEventDialog_IsAllDay": "All day"
|
||||
"Yesterday": "Yesterday"
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -1,29 +1,40 @@
|
||||
{
|
||||
"AccountAlias_Column_Alias": "Alias",
|
||||
"AccountAlias_Column_IsPrimaryAlias": "Principal",
|
||||
"AccountAlias_Column_Verified": "Verificado",
|
||||
"AccountAlias_Disclaimer_FirstLine": "Wino solo puede importar alias de tus cuentas de Gmail.",
|
||||
"AccountAlias_Disclaimer_SecondLine": "Si quieres usar alias en cuentas Outlook o IMAP, puedes añadirlos manualmente.",
|
||||
"AccountCacheReset_Title": "Reiniciar Cache de Cuenta",
|
||||
"AccountCacheReset_Message": "Esta cuenta requiere la resincronización completa para continuar trabajando. Por favor, espera mientras Wino sincroniza tus mensajes...",
|
||||
"AccountContactNameYou": "Usted",
|
||||
"AccountCreationDialog_Completed": "todo hecho",
|
||||
"AccountCreationDialog_Initializing": "inicializando",
|
||||
"AccountCreationDialog_PreparingFolders": "Estamos obteniendo información de la carpeta en este momento.",
|
||||
"AccountCreationDialog_SigninIn": "La información de la cuenta se está guardando.",
|
||||
"AccountCreationDialog_FetchingProfileInformation": "Obteniendo información del perfil.",
|
||||
"AccountCreationDialog_FetchingEvents": "Obteniendo eventos del calendario.",
|
||||
"AccountCreationDialog_FetchingProfileInformation": "Obteniendo información del perfil.",
|
||||
"AccountCreationDialog_GoogleAuthHelpClipboardText_Row0": "Si su navegador no se ha abierto automáticamente para completar la autentificación:",
|
||||
"AccountCreationDialog_GoogleAuthHelpClipboardText_Row1": "1) Haga clic en el botón de abajo para copiar el enlace de autentificación.",
|
||||
"AccountCreationDialog_GoogleAuthHelpClipboardText_Row2": "2) Inicie su navegador web (Edge, Chrome, Firefox, etc.).",
|
||||
"AccountCreationDialog_GoogleAuthHelpClipboardText_Row3": "3) Pegue la dirección que ha copiado para completar la autentificación manualmente.",
|
||||
"AccountCreationDialog_Initializing": "inicializando",
|
||||
"AccountCreationDialog_PreparingFolders": "Estamos obteniendo información de la carpeta en este momento.",
|
||||
"AccountCreationDialog_SigninIn": "La información de la cuenta se está guardando.",
|
||||
"AccountEditDialog_Message": "Nombre de la Cuenta",
|
||||
"AccountEditDialog_Title": "Editar cuenta",
|
||||
"AccountPickerDialog_Title": "Elija una cuenta",
|
||||
"AccountSettingsDialog_AccountName": "Nombre del remitente",
|
||||
"AccountSettingsDialog_AccountNamePlaceholder": "por ejemplo: Juan López",
|
||||
"AccountDetailsPage_Title": "Detalle de cuenta",
|
||||
"AccountDetailsPage_Description": "Cambie el nombre de la cuenta en Wino y establezca el nombre deseado del remitente.",
|
||||
"AccountDetailsPage_ColorPicker_Title": "Color de la cuenta",
|
||||
"AccountDetailsPage_ColorPicker_Description": "Asigna un nuevo color de cuenta para colorear su símbolo en la lista.",
|
||||
"AddHyperlink": "Añadir",
|
||||
"AccountContactNameYou": "You",
|
||||
"AutoDiscoveryProgressMessage": "Buscando ajustes de correo...",
|
||||
"AppCloseBackgroundSynchronizationWarningTitle": "Sincronización en segundo plano",
|
||||
"AppCloseTerminateBehaviorWarningMessageFirstLine": "Está cerrando Wino Mail y ha seleccionado \"Cerrar por completo\" en la configuración.",
|
||||
"AppCloseTerminateBehaviorWarningMessageSecondLine": "La sincronización en segundo plano y las notificaciones dejarán de funcionar.",
|
||||
"AppCloseTerminateBehaviorWarningMessageThirdLine": "¿Quieres cambiar la configuración para que Wino Mail se minimice o se ejecute en segundo plano?",
|
||||
"AppCloseStartupLaunchDisabledWarningMessageFirstLine": "La aplicación no está configurada para iniciarse con Windows.",
|
||||
"AppCloseStartupLaunchDisabledWarningMessageSecondLine": "Esto hará que no recibas notificaciones cuando reinicies el equipo.",
|
||||
"AppCloseStartupLaunchDisabledWarningMessageThirdLine": "¿Quieres cambiar esta configuración?",
|
||||
"AppCloseTerminateBehaviorWarningMessageFirstLine": "Está cerrando Wino Mail y ha seleccionado \"Cerrar por completo\" en la configuración.",
|
||||
"AppCloseTerminateBehaviorWarningMessageSecondLine": "La sincronización en segundo plano y las notificaciones dejarán de funcionar.",
|
||||
"AppCloseTerminateBehaviorWarningMessageThirdLine": "¿Quieres cambiar la configuración para que Wino Mail se minimice o se ejecute en segundo plano?",
|
||||
"AutoDiscoveryProgressMessage": "Buscando ajustes de correo...",
|
||||
"BasicIMAPSetupDialog_AdvancedConfiguration": "Configuración avanzada",
|
||||
"BasicIMAPSetupDialog_CredentialLocalMessage": "Sus credenciales sólo se almacenarán localmente en su ordenador.",
|
||||
"BasicIMAPSetupDialog_Description": "Algunas cuentas necesitan pasos adicionales para iniciar sesión",
|
||||
@@ -34,48 +45,63 @@
|
||||
"BasicIMAPSetupDialog_MailAddressPlaceholder": "johndoe@fabrikam.com",
|
||||
"BasicIMAPSetupDialog_Password": "Contraseña",
|
||||
"BasicIMAPSetupDialog_Title": "Cuenta IMAP",
|
||||
"Busy": "Ocupado/a",
|
||||
"Buttons_AddAccount": "Añadir Cuenta",
|
||||
"Buttons_AddNewAlias": "Añadir nuevo alias",
|
||||
"Buttons_Allow": "Permitir",
|
||||
"Buttons_Deny": "Denegar",
|
||||
"Buttons_SyncAliases": "Sincronizar alias",
|
||||
"Buttons_ApplyTheme": "Aplicar Tema",
|
||||
"Buttons_Browse": "Buscar",
|
||||
"Buttons_Cancel": "Cancelar",
|
||||
"Buttons_Close": "Cerrar",
|
||||
"Buttons_Copy": "Copiar",
|
||||
"Buttons_Create": "Crear",
|
||||
"Buttons_CreateAccount": "Crear Cuenta",
|
||||
"Buttons_Copy": "Copiar",
|
||||
"Buttons_Delete": "Eliminar",
|
||||
"Buttons_Edit": "Editar",
|
||||
"Buttons_Deny": "Denegar",
|
||||
"Buttons_Discard": "Descartar",
|
||||
"Buttons_Edit": "Editar",
|
||||
"Buttons_EnableImageRendering": "Activar",
|
||||
"Buttons_Multiselect": "Selección múltiple",
|
||||
"Buttons_No": "No",
|
||||
"Buttons_Open": "Abrir",
|
||||
"Buttons_Purchase": "Comprar",
|
||||
"Buttons_RateWino": "Califica a Wino",
|
||||
"Buttons_Reset": "Restablecer",
|
||||
"Buttons_Save": "Guardar",
|
||||
"Buttons_SaveConfiguration": "Guardar Configuración",
|
||||
"Buttons_Send": "Enviar",
|
||||
"Buttons_Share": "Compartir",
|
||||
"Buttons_SignIn": "Iniciar Sesión",
|
||||
"Buttons_Sync": "Sincronizar",
|
||||
"Buttons_SyncAliases": "Sincronizar alias",
|
||||
"Buttons_TryAgain": "Inténtalo de nuevo",
|
||||
"Buttons_Yes": "Sí",
|
||||
"Buttons_Reset": "Restablecer",
|
||||
"Buttons_Send": "Enviar",
|
||||
"Buttons_Sync": "Sincronizar",
|
||||
"Buttons_Multiselect": "Selección múltiple",
|
||||
"CalendarAllDayEventSummary": "eventos de todo el día",
|
||||
"CalendarDisplayOptions_Color": "Color",
|
||||
"CalendarDisplayOptions_Expand": "Expandir",
|
||||
"CalendarItem_DetailsPopup_JoinOnline": "Unirse en línea",
|
||||
"CalendarItem_DetailsPopup_ViewEventButton": "Ver evento",
|
||||
"CalendarItem_DetailsPopup_ViewSeriesButton": "Ver serie",
|
||||
"CalendarItemAllDay": "todo el día",
|
||||
"CategoriesFolderNameOverride": "Categorías",
|
||||
"Center": "Centrar",
|
||||
"ComingSoon": "Próximamente...",
|
||||
"ComposerFrom": "De: ",
|
||||
"ComposerSubject": "Asunto: ",
|
||||
"ComposerTo": "Para: ",
|
||||
"ClipboardTextCopied_Message": "{0} copiado al portapapeles.",
|
||||
"ClipboardTextCopied_Title": "Copiado",
|
||||
"ClipboardTextCopyFailed_Message": "Error al copiar {0} al portapapeles.",
|
||||
"ComposerToPlaceholder": "presiona enter para ingresar direcciones",
|
||||
"ComposerAttachmentsDropZone_Message": "Suelta tus archivos aquí",
|
||||
"ComposerImagesDropZone_Message": "Suelta tus imágenes aquí",
|
||||
"ComingSoon": "Próximamente...",
|
||||
"ComposerAttachmentsDragDropAttach_Message": "Adjuntar",
|
||||
"ComposerAttachmentsDropZone_Message": "Suelta tus archivos aquí",
|
||||
"ComposerFrom": "De: ",
|
||||
"ComposerImagesDropZone_Message": "Suelta tus imágenes aquí",
|
||||
"ComposerSubject": "Asunto: ",
|
||||
"ComposerTo": "Para: ",
|
||||
"ComposerToPlaceholder": "presiona enter para ingresar direcciones",
|
||||
"CreateAccountAliasDialog_AliasAddress": "Dirección",
|
||||
"CreateAccountAliasDialog_AliasAddressPlaceholder": "ej. info@midominio.com",
|
||||
"CreateAccountAliasDialog_Description": "Comprueba que el servidor de salida te permite enviar correos con este alias.",
|
||||
"CreateAccountAliasDialog_ReplyToAddress": "Dirección de respuesta",
|
||||
"CreateAccountAliasDialog_ReplyToAddressPlaceholder": "admin@midominio.com",
|
||||
"CreateAccountAliasDialog_Title": "Crear alias de cuenta",
|
||||
"CustomThemeBuilder_AccentColorDescription": "Establece un color de acento si lo deseas. Si no seleccionas uno se usará tu color de acento de Windows.",
|
||||
"CustomThemeBuilder_AccentColorTitle": "Color de acento",
|
||||
"CustomThemeBuilder_PickColor": "Elegir",
|
||||
@@ -84,70 +110,57 @@
|
||||
"CustomThemeBuilder_Title": "Creador de Temas Personalizados",
|
||||
"CustomThemeBuilder_WallpaperDescription": "Establecer una imagen de fondo personalizada para Wino",
|
||||
"CustomThemeBuilder_WallpaperTitle": "Establecer imagen de fondo personalizada",
|
||||
"Dialog_DontAskAgain": "No preguntar de nuevo",
|
||||
"DialogMessage_AccountLimitMessage": "Has alcanzado el límite para crear cuentas.\n¿Te gustaría comprar el add-on 'Cuentas Ilimitadas' para continuar?",
|
||||
"DialogMessage_AccountLimitTitle": "Límite de Cuentas Alcanzado",
|
||||
"DialogMessage_AliasNotSelectedTitle": "Sin alias",
|
||||
"DialogMessage_AliasNotSelectedMessage": "Debes seleccionar un alias para enviar un mensaje.",
|
||||
"DialogMessage_AliasExistsTitle": "Alias ya existente",
|
||||
"DialogMessage_AliasExistsMessage": "Este alias ya está en uso.",
|
||||
"DialogMessage_InvalidAliasTitle": "Alias inválido",
|
||||
"DialogMessage_InvalidAliasMessage": "Este alias no es válido. Compruebe que todas las direcciones del alias son direcciones de correo válidas.",
|
||||
"DialogMessage_CantDeleteRootAliasTitle": "No se puede eliminar el alias",
|
||||
"DialogMessage_CantDeleteRootAliasMessage": "El alias original no puede eliminarse. Es tu identidad principal y está asociada a la configuración de la cuenta.",
|
||||
"DialogMessage_AliasCreatedTitle": "Nuevo alias creado",
|
||||
"DialogMessage_AliasCreatedMessage": "El nuevo alias se ha creado correctamente.",
|
||||
"DialogMessage_AliasCreatedTitle": "Nuevo alias creado",
|
||||
"DialogMessage_AliasExistsMessage": "Este alias ya está en uso.",
|
||||
"DialogMessage_AliasExistsTitle": "Alias ya existente",
|
||||
"DialogMessage_AliasNotSelectedMessage": "Debes seleccionar un alias para enviar un mensaje.",
|
||||
"DialogMessage_AliasNotSelectedTitle": "Sin alias",
|
||||
"DialogMessage_CantDeleteRootAliasMessage": "El alias original no puede eliminarse. Es tu identidad principal y está asociada a la configuración de la cuenta.",
|
||||
"DialogMessage_CantDeleteRootAliasTitle": "No se puede eliminar el alias",
|
||||
"DialogMessage_CleanupFolderMessage": "¿Quieres borrar permanentemente todos los correos en esta carpeta?",
|
||||
"DialogMessage_CleanupFolderTitle": "Carpeta de Limpieza",
|
||||
"DialogMessage_ComposerMissingRecipientMessage": "El mensaje no tiene destinatario.",
|
||||
"DialogMessage_ComposerValidationFailedTitle": "Validación Fallida",
|
||||
"DialogMessage_CreateLinkedAccountMessage": "Dar un nombre a este nuevo enlace. Las cuentas se combinarán con este nombre.",
|
||||
"DialogMessage_CreateLinkedAccountTitle": "Nombre del enlace de cuenta",
|
||||
"DialogMessage_PrintingFailedMessage": "Error al imprimir este correo. Resultado: {0}",
|
||||
"DialogMessage_PrintingFailedTitle": "Error",
|
||||
"DialogMessage_PrintingSuccessTitle": "Completado",
|
||||
"DialogMessage_PrintingSuccessMessage": "Correo enviado a la impresora.",
|
||||
"DialogMessage_DeleteAccountConfirmationMessage": "¿Eliminar {0}?",
|
||||
"DialogMessage_DeleteAccountConfirmationTitle": "Todos los datos asociados a esta cuenta se eliminarán del disco permanentemente.",
|
||||
"DialogMessage_DiscardDraftConfirmationMessage": "Este borrador se descartará. ¿Desea continuar?",
|
||||
"DialogMessage_DiscardDraftConfirmationTitle": "Descartar borrador",
|
||||
"DialogMessage_EmptySubjectConfirmation": "Sin asunto",
|
||||
"DialogMessage_EmptySubjectConfirmationMessage": "El mensaje no tiene asunto. ¿Desea continuar?",
|
||||
"DialogMessage_EnableStartupLaunchDeniedMessage": "Puedes habilitar esta opción en cualquier momento desde Ajustes > Configuración de la aplicación.",
|
||||
"DialogMessage_EnableStartupLaunchMessage": "Permitir que Wino Mail se ejecute automáticamente al iniciar Windows para no perder ninguna notificación.\n\n¿Quieres que se establezca como aplicación de inicio?",
|
||||
"DialogMessage_EnableStartupLaunchTitle": "Habilitar aplicación de inicio",
|
||||
"DialogMessage_HardDeleteConfirmationMessage": "Eliminar Permanentemente",
|
||||
"DialogMessage_HardDeleteConfirmationTitle": "Mensaje(s) se eliminarán permanentemente. ¿Desea continuar?",
|
||||
"DialogMessage_InvalidAliasMessage": "Este alias no es válido. Compruebe que todas las direcciones del alias son direcciones de correo válidas.",
|
||||
"DialogMessage_InvalidAliasTitle": "Alias inválido",
|
||||
"DialogMessage_NoAccountsForCreateMailMessage": "No tienes ninguna cuenta desde la cual crear un correo.",
|
||||
"DialogMessage_NoAccountsForCreateMailTitle": "Cuenta faltante",
|
||||
"DialogMessage_PrintingFailedMessage": "Error al imprimir este correo. Resultado: {0}",
|
||||
"DialogMessage_PrintingFailedTitle": "Error",
|
||||
"DialogMessage_PrintingSuccessMessage": "Correo enviado a la impresora.",
|
||||
"DialogMessage_PrintingSuccessTitle": "Completado",
|
||||
"DialogMessage_RenameFolderMessage": "Introduce un nombre nuevo para esta carpeta",
|
||||
"DialogMessage_RenameFolderTitle": "Renombrar carpeta",
|
||||
"DialogMessage_RenameLinkedAccountsMessage": "Introduzca un nuevo nombre para la cuenta vinculada",
|
||||
"DialogMessage_RenameLinkedAccountsTitle": "Renombrar cuenta vinculada",
|
||||
"DialogMessage_UnlinkAccountsConfirmationMessage": "Esta operación no eliminará sus cuentas pero sólo romperá el enlace para conexiones de carpetas compartidas. ¿Desea continuar?",
|
||||
"DialogMessage_UnlinkAccountsConfirmationTitle": "Desvincular Cuentas",
|
||||
"DialogMessage_EmptySubjectConfirmation": "Sin asunto",
|
||||
"DialogMessage_EmptySubjectConfirmationMessage": "El mensaje no tiene asunto. ¿Desea continuar?",
|
||||
"DialogMessage_RenameFolderTitle": "Renombrar carpeta",
|
||||
"DialogMessage_RenameFolderMessage": "Introduce un nombre nuevo para esta carpeta",
|
||||
"DialogMessage_UnsubscribeConfirmationTitle": "Darse de baja",
|
||||
"DialogMessage_UnsubscribeConfirmationOneClickMessage": "¿Quieres dejar de recibir mensajes de {0}?",
|
||||
"DialogMessage_UnsubscribeConfirmationGoToWebsiteMessage": "Para dejar de recibir mensajes de {0}, ve a su sitio web para darse de baja.",
|
||||
"DialogMessage_UnsubscribeConfirmationGoToWebsiteConfirmButton": "Ir al sitio web",
|
||||
"DialogMessage_UnsubscribeConfirmationGoToWebsiteMessage": "Para dejar de recibir mensajes de {0}, ve a su sitio web para darse de baja.",
|
||||
"DialogMessage_UnsubscribeConfirmationMailtoMessage": "¿Quieres dejar de recibir mensajes de {0}? Wino cancelará su suscripción enviando un correo electrónico desde su cuenta de correo electrónico a {1}.",
|
||||
"DialogMessage_EnableStartupLaunchTitle": "Habilitar aplicación de inicio",
|
||||
"DialogMessage_EnableStartupLaunchMessage": "Permitir que Wino Mail se ejecute automáticamente al iniciar Windows para no perder ninguna notificación.\n\n¿Quieres que se establezca como aplicación de inicio?",
|
||||
"DialogMessage_EnableStartupLaunchDeniedMessage": "Puedes habilitar esta opción en cualquier momento desde Ajustes > Configuración de la aplicación.",
|
||||
"Dialog_DontAskAgain": "No preguntar de nuevo",
|
||||
"CalendarAllDayEventSummary": "eventos de todo el día",
|
||||
"CalendarItemAllDay": "todo el día",
|
||||
"CalendarItem_DetailsPopup_JoinOnline": "Unirse en línea",
|
||||
"CalendarItem_DetailsPopup_ViewEventButton": "Ver evento",
|
||||
"CalendarItem_DetailsPopup_ViewSeriesButton": "Ver serie",
|
||||
"CalendarDisplayOptions_Expand": "Expandir",
|
||||
"CalendarDisplayOptions_Color": "Color",
|
||||
"CreateAccountAliasDialog_Title": "Crear alias de cuenta",
|
||||
"CreateAccountAliasDialog_Description": "Comprueba que el servidor de salida te permite enviar correos con este alias.",
|
||||
"CreateAccountAliasDialog_AliasAddress": "Dirección",
|
||||
"CreateAccountAliasDialog_AliasAddressPlaceholder": "ej. info@midominio.com",
|
||||
"CreateAccountAliasDialog_ReplyToAddress": "Dirección de respuesta",
|
||||
"CreateAccountAliasDialog_ReplyToAddressPlaceholder": "admin@midominio.com",
|
||||
"DialogMessage_UnsubscribeConfirmationOneClickMessage": "¿Quieres dejar de recibir mensajes de {0}?",
|
||||
"DialogMessage_UnsubscribeConfirmationTitle": "Darse de baja",
|
||||
"DiscordChannelDisclaimerMessage": "Wino no tiene un servidor de Discordia propio, pero el canal especial 'wino-mail' está hospedado en servidor 'Developer Sanctuary'.\nPara obtener actualizaciones acerca de Wino únase al Santuario servidor de Desarrolladores y siga el canal 'wino-mail' en 'Community Projects'\n\nSerás redirigido a la URL del servidor cuando la Discordia no soporta canales invitados.",
|
||||
"DiscordChannelDisclaimerTitle": "Información de Discord importante",
|
||||
"Draft": "Borrador",
|
||||
"Busy": "Ocupado/a",
|
||||
"DragMoveToFolderCaption": "Mover a {0}",
|
||||
"EditorToolbarOption_Draw": "Dibujar",
|
||||
"EditorToolbarOption_Format": "Formato",
|
||||
"EditorToolbarOption_Insert": "Insertar",
|
||||
@@ -158,24 +171,26 @@
|
||||
"ElementTheme_Default": "Usar configuración del sistema",
|
||||
"ElementTheme_Light": "Modo claro",
|
||||
"Emoji": "Emoji",
|
||||
"Exception_WinoServerException": "Error con el servidor de Wino.",
|
||||
"Exception_MailProcessing": "Este correo aún se está procesando. Inténtalo de nuevo en unos segundos.",
|
||||
"Exception_ImapAutoDiscoveryFailed": "No se pudo encontrar la configuración del buzón.",
|
||||
"Exception_ImapClientPoolFailed": "Cola Cliente IMAP falló.",
|
||||
"Error_FailedToSetupSystemFolders_Title": "Error al configurar las carpetas del sistema",
|
||||
"Exception_AuthenticationCanceled": "Autenticación cancelada",
|
||||
"Exception_CustomThemeExists": "Este tema ya existe.",
|
||||
"Exception_CustomThemeMissingName": "Debe proporcionar un nombre.",
|
||||
"Exception_CustomThemeMissingWallpaper": "Debe proporcionar una imagen de fondo personalizada.",
|
||||
"Exception_FailedToSynchronizeFolders": "Error al sincronizar carpetas",
|
||||
"Exception_FailedToSynchronizeAliases": "Error al sincronizar los alias",
|
||||
"Exception_MissingAlias": "Esta cuenta no tiene alias principal. Error al crear borrador.",
|
||||
"Exception_FailedToSynchronizeFolders": "Error al sincronizar carpetas",
|
||||
"Exception_FailedToSynchronizeProfileInformation": "Error al sincronizar la información del perfil",
|
||||
"Exception_GoogleAuthCallbackNull": "Callback uri nulo al activarse.",
|
||||
"Exception_GoogleAuthCorruptedCode": "Respuesta de autorización corrupta.",
|
||||
"Exception_GoogleAuthError": "Error de autorización de OAuth: {0}",
|
||||
"Exception_GoogleAuthInvalidResponse": "Solicitud recibida con estado no válido ({0})",
|
||||
"Exception_GoogleAuthorizationCodeExchangeFailed": "El intercambio del código de autorización ha fallado.",
|
||||
"Exception_ImapAutoDiscoveryFailed": "No se pudo encontrar la configuración del buzón.",
|
||||
"Exception_ImapClientPoolFailed": "Cola Cliente IMAP falló.",
|
||||
"Exception_InboxNotAvailable": "No se pudo configurar las carpetas de cuenta.",
|
||||
"Exception_InvalidSystemFolderConfiguration": "La configuración de la carpeta del sistema no es válida. Verifica la configuración y vuelve a intentar.",
|
||||
"Exception_InvalidMultiAccountMoveTarget": "No puedes mover varios elementos que pertenecen a diferentes cuentas en la cuenta vinculada.",
|
||||
"Exception_MailProcessing": "Este correo aún se está procesando. Inténtalo de nuevo en unos segundos.",
|
||||
"Exception_MissingAlias": "Esta cuenta no tiene alias principal. Error al crear borrador.",
|
||||
"Exception_NullAssignedAccount": "La cuenta asignada es nula",
|
||||
"Exception_NullAssignedFolder": "La carpeta asignada es nula",
|
||||
"Exception_SynchronizerFailureHTTP": "Manejo de la respuesta ha fallado con código de error HTTP {0}",
|
||||
@@ -186,12 +201,12 @@
|
||||
"Exception_UnsupportedProvider": "Este proveedor no está soportado.",
|
||||
"Exception_UnsupportedSynchronizerOperation": "Esta operación no es compatible con {0}",
|
||||
"Exception_UserCancelSystemFolderSetupDialog": "El usuario canceló la ventana de configuración de la carpeta del sistema.",
|
||||
"Exception_InboxNotAvailable": "No se pudo configurar las carpetas de cuenta.",
|
||||
"Exception_WinoServerException": "Error con el servidor de Wino.",
|
||||
"Files": "Archivos",
|
||||
"FilteringOption_All": "Todos",
|
||||
"FilteringOption_Files": "Tiene archivos",
|
||||
"FilteringOption_Flagged": "Marcado",
|
||||
"FilteringOption_Unread": "Sin leer",
|
||||
"FilteringOption_Files": "Tiene archivos",
|
||||
"Focused": "Importante",
|
||||
"FolderOperation_CreateSubFolder": "Crear sub carpeta",
|
||||
"FolderOperation_Delete": "Eliminar",
|
||||
@@ -199,27 +214,71 @@
|
||||
"FolderOperation_Empty": "Vaciar esta carpeta",
|
||||
"FolderOperation_MarkAllAsRead": "Marcar todo como leído",
|
||||
"FolderOperation_Move": "Mover",
|
||||
"DragMoveToFolderCaption": "Mover a {0}",
|
||||
"FolderOperation_None": "Ninguno",
|
||||
"FolderOperation_Pin": "Fijar",
|
||||
"FolderOperation_Rename": "Renombrar",
|
||||
"FolderOperation_Unpin": "Desfijar",
|
||||
"GeneralTitle_Error": "Error",
|
||||
"GeneralTitle_Info": "Información",
|
||||
"GeneralTitle_Warning": "Advertencia",
|
||||
"GmailServiceDisabled_Title": "Error de Gmail",
|
||||
"GmailServiceDisabled_Message": "Su cuenta de Google Workspace parece estar deshabilitada para el servicio de Gmail. Por favor, póngase en contacto con su administrador para habilitar el servicio de Gmail para su cuenta.",
|
||||
"GmailArchiveFolderNameOverride": "Archivar",
|
||||
"HoverActionOption_Archive": "Archivar",
|
||||
"HoverActionOption_Delete": "Eliminar",
|
||||
"HoverActionOption_MoveJunk": "Mover a Correo no deseado",
|
||||
"HoverActionOption_ToggleFlag": "Marcar / Desmarcar",
|
||||
"HoverActionOption_ToggleRead": "Leídos / Sin leer",
|
||||
"MergedAccountCommonFolderInbox": "Bandeja de Entrada",
|
||||
"MergedAccountCommonFolderSent": "Enviados",
|
||||
"MergedAccountCommonFolderDraft": "Borradores",
|
||||
"MergedAccountCommonFolderJunk": "Correo no deseado",
|
||||
"MergedAccountCommonFolderTrash": "Eliminados",
|
||||
"MergedAccountCommonFolderArchive": "Archivo",
|
||||
"ImageRenderingDisabled": "El procesamiento de imágenes está desactivado para este mensaje.",
|
||||
"ImapAdvancedSetupDialog_AuthenticationMethod": "Método de autenticación",
|
||||
"ImapAdvancedSetupDialog_ConnectionSecurity": "Seguridad de la conexión",
|
||||
"IMAPAdvancedSetupDialog_ValidationAuthMethodRequired": "El método de autenticación es obligatorio",
|
||||
"IMAPAdvancedSetupDialog_ValidationConnectionSecurityRequired": "Se requiere el tipo de seguridad de la conexión",
|
||||
"IMAPAdvancedSetupDialog_ValidationDisplayNameRequired": "Se necesita un nombre para mostrar",
|
||||
"IMAPAdvancedSetupDialog_ValidationEmailInvalid": "Introduzca una dirección de correo electrónico válida",
|
||||
"IMAPAdvancedSetupDialog_ValidationEmailRequired": "Se requiere una dirección de email",
|
||||
"IMAPAdvancedSetupDialog_ValidationErrorTitle": "Comprueba lo siguiente:",
|
||||
"IMAPAdvancedSetupDialog_ValidationIncomingPortInvalid": "Puerto entrante debe estar entre 1-65535",
|
||||
"IMAPAdvancedSetupDialog_ValidationIncomingPortRequired": "Se requiere puerto del servidor entrante",
|
||||
"IMAPAdvancedSetupDialog_ValidationIncomingServerRequired": "Se requiere una dirección del servidor entrante",
|
||||
"IMAPAdvancedSetupDialog_ValidationOutgoingPasswordRequired": "Se requiere la contraseña del servidor saliente",
|
||||
"IMAPAdvancedSetupDialog_ValidationOutgoingPortInvalid": "Puerto saliente debe estar entre 1-65535",
|
||||
"IMAPAdvancedSetupDialog_ValidationOutgoingPortRequired": "Se requiere puerto saliente del servidor",
|
||||
"IMAPAdvancedSetupDialog_ValidationOutgoingServerRequired": "Se requiere una dirección del servidor saliente",
|
||||
"IMAPAdvancedSetupDialog_ValidationOutgoingUsernameRequired": "Se requiere nombre de usuario del servidor saliente",
|
||||
"IMAPAdvancedSetupDialog_ValidationPasswordRequired": "La contraseña es obligatoria",
|
||||
"IMAPAdvancedSetupDialog_ValidationUsernameRequired": "Se requiere el nombre de usuario",
|
||||
"ImapAuthenticationMethod_Auto": "Auto",
|
||||
"ImapAuthenticationMethod_CramMD5": "CRAM-MD5",
|
||||
"ImapAuthenticationMethod_DigestMD5": "DIGEST-MD5",
|
||||
"ImapAuthenticationMethod_EncryptedPassword": "Contraseña encriptada",
|
||||
"ImapAuthenticationMethod_None": "Sin autenticación",
|
||||
"ImapAuthenticationMethod_Ntlm": "NTLM",
|
||||
"ImapAuthenticationMethod_Plain": "Contraseña normal",
|
||||
"ImapConnectionSecurity_Auto": "Auto",
|
||||
"ImapConnectionSecurity_None": "Ninguno",
|
||||
"ImapConnectionSecurity_SslTls": "SSL/TLS",
|
||||
"ImapConnectionSecurity_StartTls": "STARTTLS",
|
||||
"IMAPSetupDialog_AccountType": "Tipo de cuenta",
|
||||
"IMAPSetupDialog_ValidationSuccess_Title": "Correcto",
|
||||
"IMAPSetupDialog_ValidationSuccess_Message": "Validación correcta",
|
||||
"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.",
|
||||
"IMAPSetupDialog_CertificateDenied": "El usuario no ha autorizado el enlace con el certificado.",
|
||||
"IMAPSetupDialog_CertificateIssuer": "Emisor",
|
||||
"IMAPSetupDialog_CertificateSubject": "Sujeto",
|
||||
"IMAPSetupDialog_CertificateValidFrom": "Válido desde",
|
||||
"IMAPSetupDialog_CertificateValidTo": "Válido hasta",
|
||||
"IMAPSetupDialog_CertificateView": "Ver certificado",
|
||||
"IMAPSetupDialog_ConnectionFailedMessage": "Conexión IMAP fallida.",
|
||||
"IMAPSetupDialog_ConnectionFailedTitle": "Error al conectar",
|
||||
"IMAPSetupDialog_DisplayName": "Nombre para mostrar",
|
||||
"IMAPSetupDialog_DisplayNamePlaceholder": "por ejemplo. Fulano Mengano",
|
||||
"IMAPSetupDialog_IncomingMailServer": "Servidor de correo entrante",
|
||||
"IMAPSetupDialog_IncomingMailServerPort": "Puerto",
|
||||
"IMAPSetupDialog_IMAPSettings": "Configuración de servidor IMAP",
|
||||
"IMAPSetupDialog_SMTPSettings": "Configuración de servidor SMTP",
|
||||
"IMAPSetupDialog_MailAddress": "Dirección de correo",
|
||||
"IMAPSetupDialog_MailAddressPlaceholder": "alguien@ejemplo.com",
|
||||
"IMAPSetupDialog_OutgoingMailServer": "Servidor de correo saliente (SMTP)",
|
||||
@@ -231,26 +290,9 @@
|
||||
"IMAPSetupDialog_RequireSSLForIncomingMail": "Requerir SSL para los correos entrantes",
|
||||
"IMAPSetupDialog_RequireSSLForOutgoingMail": "Requerir SSL para los correos salientes",
|
||||
"IMAPSetupDialog_Title": "Configuración IMAP Avanzada",
|
||||
"IMAPSetupDialog_UseSameConfig": "Usar el mismo correo y contraseña para enviar correos",
|
||||
"IMAPSetupDialog_Username": "Nombre de usuario",
|
||||
"IMAPSetupDialog_UsernamePlaceholder": "fulanomengano, fulanomengano@fabrikam.com, dominio/fulanomengano",
|
||||
"IMAPSetupDialog_ConnectionFailedTitle": "Error al conectar",
|
||||
"IMAPSetupDialog_ConnectionFailedMessage": "Conexión IMAP fallida.",
|
||||
"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.",
|
||||
"IMAPSetupDialog_CertificateIssuer": "Emisor",
|
||||
"IMAPSetupDialog_CertificateSubject": "Sujeto",
|
||||
"IMAPSetupDialog_CertificateValidFrom": "Válido desde",
|
||||
"IMAPSetupDialog_CertificateValidTo": "Válido hasta",
|
||||
"IMAPSetupDialog_CertificateDenied": "El usuario no ha autorizado el enlace con el certificado.",
|
||||
"IMAPSetupDialog_CertificateView": "Ver certificado",
|
||||
"ImageRenderingDisabled": "El procesamiento de imágenes está desactivado para este mensaje.",
|
||||
"InfoBarAction_Enable": "Activar",
|
||||
"InfoBarMessage_SynchronizationDisabledFolder": "Esta carpeta está desactivada para la sincronización.",
|
||||
"InfoBarTitle_SynchronizationDisabledFolder": "Carpeta desactivada",
|
||||
"GeneralTitle_Error": "Error",
|
||||
"GeneralTitle_Warning": "Advertencia",
|
||||
"GeneralTitle_Info": "Información",
|
||||
"IMAPSetupDialog_UseSameConfig": "Usar el mismo correo y contraseña para enviar correos",
|
||||
"Info_AccountCreatedMessage": "{0} se ha creado",
|
||||
"Info_AccountCreatedTitle": "Creación de una cuenta",
|
||||
"Info_AccountCreationFailedTitle": "Ocurrió un error al crear la cuenta",
|
||||
@@ -269,14 +311,15 @@
|
||||
"Info_BackgroundExecutionDeniedTitle": "Ejecución de fondo denegada",
|
||||
"Info_BackgroundExecutionUnknownErrorMessage": "Se produjo una excepción desconocida al registrar el sincronizador en segundo plano.",
|
||||
"Info_BackgroundExecutionUnknownErrorTitle": "Error de ejecución en segundo plano",
|
||||
"Info_FailedToOpenFileTitle": "Error al abrir el archivo.",
|
||||
"Info_FailedToOpenFileMessage": "Puede que el archivo sea eliminado del disco.",
|
||||
"Info_CantDeletePrimaryAliasMessage": "El alias principal no se puede eliminar. Cambie de alias antes de eliminar este.",
|
||||
"Info_ComposerMissingMIMEMessage": "No se pudo localizar el archivo MIME. La sincronización puede ayudar.",
|
||||
"Info_ComposerMissingMIMETitle": "Fallido",
|
||||
"Info_ContactExistsMessage": "Este contacto ya está en la lista de destinatarios.",
|
||||
"Info_ContactExistsTitle": "Contacto existente",
|
||||
"Info_DraftFolderMissingMessage": "No existe la carpeta de borradores en esta cuenta. Por favor, comprueba los ajustes de la cuenta.",
|
||||
"Info_DraftFolderMissingTitle": "Falta la carpeta borrador",
|
||||
"Info_FailedToOpenFileMessage": "Puede que el archivo sea eliminado del disco.",
|
||||
"Info_FailedToOpenFileTitle": "Error al abrir el archivo.",
|
||||
"Info_FileLaunchFailedTitle": "Error al iniciar archivo",
|
||||
"Info_InvalidAddressMessage": "La dirección: {0} no es un e-mail válido.",
|
||||
"Info_InvalidAddressTitle": "Dirección no válida",
|
||||
@@ -286,15 +329,16 @@
|
||||
"Info_LogsNotFoundTitle": "Registros No Encontrados",
|
||||
"Info_LogsSavedMessage": "{0} se ha guardado en la carpeta seleccionada.",
|
||||
"Info_LogsSavedTitle": "Guardado",
|
||||
"Info_MailListSizeResetSuccessMessage": "Se ha restablecido el tamaño de la lista de correo.",
|
||||
"Info_MailRenderingFailedMessage": "Este correo está dañado o no puede abrirse.\n{0}",
|
||||
"Info_MailRenderingFailedTitle": "Error al renderizar",
|
||||
"Info_MessageCorruptedMessage": "Este mensaje está dañado.",
|
||||
"Info_MessageCorruptedTitle": "Error",
|
||||
"Info_MissingFolderMessage": "{0} no existe para esta cuenta.",
|
||||
"Info_MissingFolderTitle": "Falta carpeta",
|
||||
"Info_PDFSaveSuccessTitle": "Correcto",
|
||||
"Info_PDFSaveFailedTitle": "Error al guardar el archivo PDF",
|
||||
"Info_PDFSaveSuccessMessage": "Archivo PDF guardado en {0}",
|
||||
"Info_PDFSaveSuccessTitle": "Correcto",
|
||||
"Info_PurchaseExistsMessage": "Parece que este producto ya ha sido comprado antes.",
|
||||
"Info_PurchaseExistsTitle": "Producto existente",
|
||||
"Info_PurchaseThankYouMessage": "Gracias",
|
||||
@@ -314,32 +358,21 @@
|
||||
"Info_SyncCanceledMessage": "Cancelado",
|
||||
"Info_SyncCanceledTitle": "Sincronización",
|
||||
"Info_SyncFailedTitle": "Falló la Sincronización",
|
||||
"Info_UnsubscribeErrorMessage": "Error al anular suscripción",
|
||||
"Info_UnsubscribeLinkInvalidMessage": "Este enlace de baja suscripción no es válido. Error al darse de baja de la lista.",
|
||||
"Info_UnsubscribeLinkInvalidTitle": "Url de baja no válida",
|
||||
"Info_UnsubscribeSuccessMessage": "Se ha cancelado la suscripción de {0} correctamente.",
|
||||
"Info_UnsupportedFunctionalityDescription": "Esta funcionalidad aún no está implementada.",
|
||||
"Info_UnsupportedFunctionalityTitle": "No soportado",
|
||||
"Info_UnsubscribeLinkInvalidTitle": "Url de baja no válida",
|
||||
"Info_UnsubscribeLinkInvalidMessage": "Este enlace de baja suscripción no es válido. Error al darse de baja de la lista.",
|
||||
"Info_UnsubscribeSuccessMessage": "Se ha cancelado la suscripción de {0} correctamente.",
|
||||
"Info_UnsubscribeErrorMessage": "Error al anular suscripción",
|
||||
"Info_CantDeletePrimaryAliasMessage": "El alias principal no se puede eliminar. Cambie de alias antes de eliminar este.",
|
||||
"Info_MailListSizeResetSuccessMessage": "Se ha restablecido el tamaño de la lista de correo.",
|
||||
"ImapAdvancedSetupDialog_AuthenticationMethod": "Método de autenticación",
|
||||
"ImapAdvancedSetupDialog_ConnectionSecurity": "Seguridad de la conexión",
|
||||
"ImapAuthenticationMethod_Auto": "Auto",
|
||||
"ImapAuthenticationMethod_CramMD5": "CRAM-MD5",
|
||||
"ImapAuthenticationMethod_DigestMD5": "DIGEST-MD5",
|
||||
"ImapAuthenticationMethod_None": "Sin autenticación",
|
||||
"ImapAuthenticationMethod_Plain": "Contraseña normal",
|
||||
"ImapAuthenticationMethod_EncryptedPassword": "Contraseña encriptada",
|
||||
"ImapAuthenticationMethod_Ntlm": "NTLM",
|
||||
"ImapConnectionSecurity_None": "Ninguno",
|
||||
"ImapConnectionSecurity_SslTls": "SSL/TLS",
|
||||
"ImapConnectionSecurity_StartTls": "STARTTLS",
|
||||
"ImapConnectionSecurity_Auto": "Auto",
|
||||
"InfoBarAction_Enable": "Activar",
|
||||
"InfoBarMessage_SynchronizationDisabledFolder": "Esta carpeta está desactivada para la sincronización.",
|
||||
"InfoBarTitle_SynchronizationDisabledFolder": "Carpeta desactivada",
|
||||
"Justify": "Justificar",
|
||||
"Left": "Izquierda",
|
||||
"Link": "Enlace",
|
||||
"LinkedAccountsCreatePolicyMessage": "debes tener al menos 2 cuentas para crear el enlace\nenlace se eliminará al guardar",
|
||||
"LinkedAccountsTitle": "Cuentas Vinculadas",
|
||||
"MailItemNoSubject": "Sin asunto",
|
||||
"MailOperation_AlwaysMoveFocused": "Siempre Mover a Importantes",
|
||||
"MailOperation_AlwaysMoveOther": "Siempre Mover a Otros",
|
||||
"MailOperation_Archive": "Archivar",
|
||||
@@ -366,25 +399,32 @@
|
||||
"MailOperation_SaveAs": "Guardar Como",
|
||||
"MailOperation_SetFlag": "Establecer marca",
|
||||
"MailOperation_Unarchive": "Desarchivar",
|
||||
"MailOperation_ViewMessageSource": "Ver fuente del mensaje",
|
||||
"MailOperation_Zoom": "Zoom",
|
||||
"MailOperation_ViewMessageSource": "View message source",
|
||||
"MailsSelected": "{0} artículo(s) seleccionado(s)",
|
||||
"MarkFlagUnflag": "Marcar como marcado/desmarcado",
|
||||
"MarkReadUnread": "Marcar como leído/no leído",
|
||||
"MenuManageAccounts": "Administrar Cuentas",
|
||||
"MenuNewMail": "Nuevo Correo",
|
||||
"MenuMergedAccountItemAccountsSuffix": " cuentas",
|
||||
"MenuNewMail": "Nuevo Correo",
|
||||
"MenuRate": "Valorar Wino",
|
||||
"MenuSettings": "Ajustes",
|
||||
"MergedAccountCommonFolderArchive": "Archivo",
|
||||
"MergedAccountCommonFolderDraft": "Borradores",
|
||||
"MergedAccountCommonFolderInbox": "Bandeja de Entrada",
|
||||
"MergedAccountCommonFolderJunk": "Correo no deseado",
|
||||
"MergedAccountCommonFolderSent": "Enviados",
|
||||
"MergedAccountCommonFolderTrash": "Eliminados",
|
||||
"MergedAccountsAvailableAccountsTitle": "Cuentas Disponibles",
|
||||
"MessageSourceDialog_Title": "Origen de mensajes",
|
||||
"More": "Más",
|
||||
"MoreFolderNameOverride": "Más",
|
||||
"MoveMailDialog_InvalidFolderMessage": "La carpeta {0} no es válida para este correo.",
|
||||
"MoveMailDialog_Title": "Elija una carpeta",
|
||||
"NewAccountDialog_AccountName": "Nombre de la Cuenta",
|
||||
"NewAccountDialog_AccountNameDefaultValue": "Personal",
|
||||
"NewAccountDialog_AccountNamePlaceholder": "p.ej. Correo Personal",
|
||||
"NewAccountDialog_Title": "Agregar nueva cuenta",
|
||||
"MessageSourceDialog_Title": "Message source",
|
||||
"NoMailSelected": "Ningún mensaje seleccionado",
|
||||
"NoMessageCrieteria": "Ningún mensaje coincide con su criterio de búsqueda",
|
||||
"NoMessageEmptyFolder": "Esta carpeta está vacía",
|
||||
@@ -392,6 +432,9 @@
|
||||
"Notifications_MultipleNotificationsTitle": "Mensajes nuevos",
|
||||
"Notifications_WinoUpdatedMessage": "Comprobar nueva versión {0}",
|
||||
"Notifications_WinoUpdatedTitle": "Wino Mail ha sido actualizado.",
|
||||
"OnlineSearchFailed_Message": "Error al realizar la búsqueda\n{0}\n\nLista de correos sin conexión.",
|
||||
"OnlineSearchTry_Line1": "¿No encuentra lo que busca?",
|
||||
"OnlineSearchTry_Line2": "Prueba la búsqueda en línea.",
|
||||
"Other": "Otro",
|
||||
"PaneLengthOption_Default": "Por defecto",
|
||||
"PaneLengthOption_ExtraLarge": "Extra grande",
|
||||
@@ -401,64 +444,94 @@
|
||||
"PaneLengthOption_Small": "Pequeño",
|
||||
"Photos": "Fotos",
|
||||
"PreparingFoldersMessage": "Preparando carpetas",
|
||||
"ProtocolLogAvailable_Message": "Los registros de protocolo están disponibles para el diagnóstico.",
|
||||
"ProviderDetail_Gmail_Description": "Cuenta de Google",
|
||||
"ProviderDetail_iCloud_Description": "Cuenta de Apple iCloud",
|
||||
"ProviderDetail_iCloud_Title": "iCloud",
|
||||
"ProviderDetail_IMAP_Description": "Servidor IMAP/SMTP personalizado",
|
||||
"ProviderDetail_IMAP_Title": "Servidor IMAP",
|
||||
"ProviderDetail_Yahoo_Title": "Yahoo Mail",
|
||||
"ProviderDetail_Yahoo_Description": "Yahoo Account",
|
||||
"ProviderDetail_iCloud_Title": "iCloud",
|
||||
"ProviderDetail_iCloud_Description": "Apple iCloud Account",
|
||||
"ProtocolLogAvailable_Message": "Los registros de protocolo están disponibles para el diagnóstico.",
|
||||
"ProviderDetail_Yahoo_Description": "Cuenta de Yahoo",
|
||||
"ProviderDetail_Yahoo_Title": "Correo Yahoo",
|
||||
"QuickEventDialog_EventName": "Nombre del evento",
|
||||
"QuickEventDialog_IsAllDay": "Todo el día",
|
||||
"QuickEventDialog_Location": "Ubicación",
|
||||
"QuickEventDialog_RemindMe": "Recuerdame",
|
||||
"QuickEventDialogMoreDetailsButtonText": "Más detalles",
|
||||
"Reader_SaveAllAttachmentButtonText": "Guardar todos los adjuntos",
|
||||
"Results": "Resultados",
|
||||
"Right": "Derecha",
|
||||
"Reader_SaveAllAttachmentButtonText": "Guardar todos los adjuntos",
|
||||
"SynchronizationFolderReport_Success": "actualizado",
|
||||
"SynchronizationFolderReport_Failed": "sincronización fallida",
|
||||
"SearchBarPlaceholder": "Buscar",
|
||||
"SearchingIn": "Buscando en",
|
||||
"SearchPivotName": "Resultados",
|
||||
"SettingsAboutGithub_Description": "Ir al rastreador de problemas en el repositorio de GitHub.",
|
||||
"SettingsAboutGithub_Title": "GitHub",
|
||||
"SettingsAccountManagementAppendMessage_Title": "Añadir mensajes a la carpeta Enviada",
|
||||
"SettingsAccountManagementAppendMessage_Description": "Crear una copia del mensaje en la carpeta Enviados luego de que el borrador se envíe. Activa esto si no ves tus correos en la carpeta Enviados después que los enviaste.",
|
||||
"SettingsEditLinkedInbox_Title": "Editar bandeja de entrada vinculada",
|
||||
"SettingsEditLinkedInbox_Description": "Añadir / quitar cuentas, renombrar o quitar vínculos entre cuentas.",
|
||||
"SettingsAboutVersion": "Versión ",
|
||||
"SettingsAboutWinoDescription": "Cliente de correo ligero para la familia de dispositivos Windows.",
|
||||
"SettingConfigureSpecialFolders_Button": "Configurar",
|
||||
"SettingsEditAccountDetails_IMAPConfiguration_Title": "Configuración IMAP/SMTP",
|
||||
"SettingsEditAccountDetails_IMAPConfiguration_Description": "Cambie la configuración del servidor entrante/saliente.",
|
||||
"SettingsAbout_Description": "Conoce más sobre Wino.",
|
||||
"SettingsAbout_Title": "Acerca de",
|
||||
"SettingsAboutGithub_Description": "Ir al rastreador de problemas en el repositorio de GitHub.",
|
||||
"SettingsAboutGithub_Title": "GitHub",
|
||||
"SettingsAboutVersion": "Versión ",
|
||||
"SettingsAboutWinoDescription": "Cliente de correo ligero para la familia de dispositivos Windows.",
|
||||
"SettingsAccentColor_Description": "Cambiar el color de acento de la aplicación",
|
||||
"SettingsAccentColor_Title": "Color de Acento",
|
||||
"SettingsAccentColor_UseWindowsAccentColor": "Usar mi color de acento de Windows",
|
||||
"SettingsAccountManagementAppendMessage_Description": "Crear una copia del mensaje en la carpeta Enviados luego de que el borrador se envíe. Activa esto si no ves tus correos en la carpeta Enviados después que los enviaste.",
|
||||
"SettingsAccountManagementAppendMessage_Title": "Añadir mensajes a la carpeta Enviada",
|
||||
"SettingsAccountName_Description": "Cambiar el nombre de la cuenta.",
|
||||
"SettingsAccountName_Title": "Nombre de la Cuenta",
|
||||
"SettingsApplicationTheme_Description": "Personaliza Wino con distintos temas personalizados a tu gusto.",
|
||||
"SettingsApplicationTheme_Title": "Tema de la Aplicación",
|
||||
"SettingsAppPreferences_CloseBehavior_Description": "¿Qué ocurre cuando cierras la aplicación?",
|
||||
"SettingsAppPreferences_CloseBehavior_Title": "Cierre de la aplicación",
|
||||
"SettingsAppPreferences_Description": "Ajustes generales de Wino Mail.",
|
||||
"SettingsAppPreferences_SearchMode_Description": "Establezca si Wino debería comprobar primero los correos obtenidos realizando una búsqueda o pregunta al servidor de correo en línea. La búsqueda local es más rápida y siempre puede hacer una búsqueda en línea si su correo no está en los resultados.",
|
||||
"SettingsAppPreferences_SearchMode_Local": "Local",
|
||||
"SettingsAppPreferences_SearchMode_Online": "Conectado",
|
||||
"SettingsAppPreferences_SearchMode_Title": "Modo de búsqueda predeterminado",
|
||||
"SettingsAppPreferences_ServerBackgroundingMode_Invisible_Description": "Wino Mail seguirá funcionando en segundo plano. Se le notificará cuando lleguen nuevos correos.",
|
||||
"SettingsAppPreferences_ServerBackgroundingMode_Invisible_Title": "Ejecutarse en segundo plano",
|
||||
"SettingsAppPreferences_ServerBackgroundingMode_MinimizeTray_Description": "Wino Mail funcionará en la bandeja del sistema. Se lanzará haciendo clic en un icono. Se notificará como llegan nuevos correos.",
|
||||
"SettingsAppPreferences_ServerBackgroundingMode_MinimizeTray_Title": "Minimizar a la bandeja del sistema",
|
||||
"SettingsAppPreferences_ServerBackgroundingMode_Terminate_Description": "Wino Mail no funcionará en ningún lugar. No se notificará como llegan nuevos correos. Inicie Wino Mail de nuevo para continuar la sincronización de correo.",
|
||||
"SettingsAppPreferences_ServerBackgroundingMode_Terminate_Title": "Terminar",
|
||||
"SettingsAppPreferences_StartupBehavior_Description": "Permitir que Wino Mail minimizado cuando Windows se inicie. Permitir siempre recibir notificaciones.",
|
||||
"SettingsAppPreferences_StartupBehavior_Disable": "Deshabilitar",
|
||||
"SettingsAppPreferences_StartupBehavior_Disabled": "Wino Mail no se iniciará al arrancar Windows. Esto le hará perder las notificaciones cuando reinicie su equipo.",
|
||||
"SettingsAppPreferences_StartupBehavior_DisabledByPolicy": "Su política de administrador o grupo ha deshabilitado aplicaciones al iniciar. Por lo tanto, Wino Mail no se puede ejecutar al iniciar Windows.",
|
||||
"SettingsAppPreferences_StartupBehavior_DisabledByUser": "Vaya a la pestaña Administrador de tareas -> Inicio para permitir que Wino Mail inicie en el arranque Windows.",
|
||||
"SettingsAppPreferences_StartupBehavior_Enable": "Activar",
|
||||
"SettingsAppPreferences_StartupBehavior_Enabled": "Wino Mail configurado correctamente para ser lanzado en segundo plano al inicio de Windows.",
|
||||
"SettingsAppPreferences_StartupBehavior_FatalError": "Error fatal al cambiar el modo de inicio para Wino Mail.",
|
||||
"SettingsAppPreferences_StartupBehavior_Title": "Ejecutar minimizado al iniciar Windows",
|
||||
"SettingsAppPreferences_Title": "Configuración de la aplicación",
|
||||
"SettingsAutoSelectNextItem_Description": "Seleccione el siguiente elemento después de eliminar o mover un correo.",
|
||||
"SettingsAutoSelectNextItem_Title": "Auto seleccionar siguiente elemento",
|
||||
"SettingsAvailableThemes_Description": "Escoge un tema que te agrade desde la colección de Wino o aplica tus propios temas.",
|
||||
"SettingsAvailableThemes_Title": "Temas Disponibles",
|
||||
"SettingsAutoSelectNextItem_Title": "Auto seleccionar siguiente elemento",
|
||||
"SettingsAutoSelectNextItem_Description": "Seleccione el siguiente elemento después de eliminar o mover un correo.",
|
||||
"SettingsCalendarSettings_Title": "Ajustes del calendario",
|
||||
"SettingsCalendarSettings_Description": "Modifica el primer día de la semana, tamaño de la hora y más.",
|
||||
"SettingsCalendarSettings_Title": "Ajustes del calendario",
|
||||
"SettingsComposer_Title": "Editor",
|
||||
"SettingsComposerFont_Title": "Fuente por defecto para Escribir",
|
||||
"SettingsComposerFontFamily_Description": "Cambie el tamaño por defecto de la familia de fuentes y del tipo de letra para escribir correos.",
|
||||
"SettingsConfigureSpecialFolders_Description": "Configurar carpetas con funciones especiales. Carpetas como Archivo, Bandeja de Entrada y Borradores son esenciales para que Wino funcione correctamente.",
|
||||
"SettingsConfigureSpecialFolders_Title": "Configurar Carpetas del Sistema",
|
||||
"SettingsCustomTheme_Description": "Crea tu propio tema personalizado con una imagen de fondo y colores de acento personalizados.",
|
||||
"SettingsCustomTheme_Title": "Tema Personalizado",
|
||||
"SettingsConfigureSpecialFolders_Title": "Configurar Carpetas del Sistema",
|
||||
"SettingsConfigureSpecialFolders_Description": "Configurar carpetas con funciones especiales. Carpetas como Archivo, Bandeja de Entrada y Borradores son esenciales para que Wino funcione correctamente.",
|
||||
"SettingConfigureSpecialFolders_Button": "Configurar",
|
||||
"Error_FailedToSetupSystemFolders_Title": "Error al configurar las carpetas del sistema",
|
||||
"SettingsDeleteAccount_Description": "Eliminar todos los correos y credenciales asociadas a esta cuenta.",
|
||||
"SettingsDeleteAccount_Title": "Eliminar esta cuenta",
|
||||
"SettingsDeleteProtection_Description": "¿Debería Wino pedirte confirmación cada vez que intentas eliminar un correo usando las teclas Shift + Supr?",
|
||||
"SettingsDeleteProtection_Title": "Protección de Eliminación Permanente",
|
||||
"SettingsDiagnostics_Description": "Para desarrolladores",
|
||||
"SettingsDiagnostics_DiagnosticId_Description": "Comparte este ID con los desarrolladores cuando se les pida ayuda para los problemas que experimentas en Wino Mail.",
|
||||
"SettingsDiagnostics_DiagnosticId_Title": "ID de Diagnóstico",
|
||||
"SettingsDiagnostics_Title": "Diagnósticos",
|
||||
"SettingsDiagnostics_DiagnosticId_Title": "Diagnostic Id",
|
||||
"SettingsDiagnostics_DiagnosticId_Description": "Share this Id with the developers when asked to get help for the issues you experience in Wino Mail.",
|
||||
"SettingsDiscord_Description": "Recibe actualizaciones regulares sobre el desarrollo, únete a las discusiones sobre los avances y proporciona comentarios.",
|
||||
"SettingsDiscord_Title": "Canal de Discord",
|
||||
"SettingsElementThemeSelectionDisabled": "La selección de elementos del tema se desactiva cuando el tema de la aplicación se selecciona de forma predeterminada.",
|
||||
"SettingsEditLinkedInbox_Description": "Añadir / quitar cuentas, renombrar o quitar vínculos entre cuentas.",
|
||||
"SettingsEditLinkedInbox_Title": "Editar bandeja de entrada vinculada",
|
||||
"SettingsElementTheme_Description": "Escoge un tema de Windows para Wino",
|
||||
"SettingsElementTheme_Title": "Tema de elemento",
|
||||
"SettingsElementThemeSelectionDisabled": "La selección de elementos del tema se desactiva cuando el tema de la aplicación se selecciona de forma predeterminada.",
|
||||
"SettingsEnableHoverActions_Title": "Activar acciones al mantener",
|
||||
"SettingsEnableIMAPLogs_Description": "Habilite esto para proporcionar detalles sobre los errores de conectividad IMAP que tuvo durante la configuración del servidor IMAP.",
|
||||
"SettingsEnableIMAPLogs_Title": "Habilitar registros de protocolo IMAP",
|
||||
@@ -471,12 +544,15 @@
|
||||
"SettingsExternalContent_Title": "Contenido externo",
|
||||
"SettingsFocusedInbox_Description": "Establezca si la Bandeja de Entrada debe dividirse en dos como Enfocada - Otro.",
|
||||
"SettingsFocusedInbox_Title": "Bandeja de entrada concentrada",
|
||||
"SettingsFolderMenuStyle_Description": "Cambia si las carpetas de la cuenta deben anidarse dentro de un elemento de menú de la cuenta o no. Desactiva esto si te gusta el antiguo sistema de menú de Windows Mail",
|
||||
"SettingsFolderMenuStyle_Title": "Crear Carpetas Anidadas",
|
||||
"SettingsFolderOptions_Description": "Cambie los ajustes de la carpeta individual como activar/desactivar la sincronización o muestra/oculta insignias no leídas.",
|
||||
"SettingsFolderOptions_Title": "Configuración de carpeta",
|
||||
"SettingsFolderSync_Description": "Activar o desactivar carpetas específicas para la sincronización.",
|
||||
"SettingsFolderSync_Title": "Sincronización de carpetas",
|
||||
"SettingsFolderOptions_Title": "Configuración de carpeta",
|
||||
"SettingsFolderOptions_Description": "Cambie los ajustes de la carpeta individual como activar/desactivar la sincronización o muestra/oculta insignias no leídas.",
|
||||
"SettingsManageAliases_Title": "Alias",
|
||||
"SettingsManageAliases_Description": "Comprueba, actualiza o elimina los alias de correo asociados a esta cuenta.",
|
||||
"SettingsFontFamily_Title": "Familia tipográfica",
|
||||
"SettingsFontPreview_Title": "Vista previa",
|
||||
"SettingsFontSize_Title": "Tamaño de la fuente",
|
||||
"SettingsHoverActionCenter": "Centro de Acción",
|
||||
"SettingsHoverActionLeft": "Acción Izquierda",
|
||||
"SettingsHoverActionRight": "Acción Derecha",
|
||||
@@ -484,44 +560,25 @@
|
||||
"SettingsHoverActions_Title": "Acciones de Cursor",
|
||||
"SettingsLanguage_Description": "Cambiar el idioma de visualización para Wino.",
|
||||
"SettingsLanguage_Title": "Idioma de pantalla",
|
||||
"SettingsLanguageTime_Title": "Idioma y Hora",
|
||||
"SettingsLanguageTime_Description": "Idioma de visualización de Wino, formato de hora preferido.",
|
||||
"CategoriesFolderNameOverride": "Categorías",
|
||||
"AccountAlias_Column_Verified": "Verificado",
|
||||
"AccountAlias_Column_Alias": "Alias",
|
||||
"AccountAlias_Column_IsPrimaryAlias": "Principal",
|
||||
"AccountAlias_Disclaimer_FirstLine": "Wino solo puede importar alias de tus cuentas de Gmail.",
|
||||
"AccountAlias_Disclaimer_SecondLine": "Si quieres usar alias en cuentas Outlook o IMAP, puedes añadirlos manualmente.",
|
||||
"MoreFolderNameOverride": "Más",
|
||||
"SettingsOptions_Title": "Ajustes",
|
||||
"SettingsLanguageTime_Title": "Idioma y Hora",
|
||||
"SettingsLinkAccounts_Description": "Fusionar múltiples cuentas en una. Ver correos en una bandeja de entrada común.",
|
||||
"SettingsLinkAccounts_Title": "Crear Cuentas Vinculadas",
|
||||
"SettingsLinkedAccountsSave_Description": "Modificar el enlace actual con las nuevas cuentas.",
|
||||
"SettingsLinkedAccountsSave_Title": "Guardar Cambios",
|
||||
"SettingsLoadImages_Title": "Cargar imágenes automáticamente",
|
||||
"SettingsLoadStyles_Title": "Cargar estilos automáticamente",
|
||||
"SettingsLoadPlaintextLinks_Title": "Convierte los enlaces de texto plano a interactivos",
|
||||
"SettingsLoadStyles_Title": "Cargar estilos automáticamente",
|
||||
"SettingsMailListActionBar_Description": "Ocultar/Mostrar barra de acción en la parte superior de la lista de mensajes.",
|
||||
"SettingsMailListActionBar_Title": "Mostrar acciones de la lista de correos",
|
||||
"SettingsMailSpacing_Description": "Ajustar el espacio para listar los correos.",
|
||||
"SettingsMailSpacing_Title": "Espacio de Correo",
|
||||
"SettingsFolderMenuStyle_Title": "Crear Carpetas Anidadas",
|
||||
"SettingsFolderMenuStyle_Description": "Cambia si las carpetas de la cuenta deben anidarse dentro de un elemento de menú de la cuenta o no. Desactiva esto si te gusta el antiguo sistema de menú de Windows Mail",
|
||||
"SettingsManageAccountSettings_Description": "Notificaciones, firmas, sincronización y otros ajustes por cuenta.",
|
||||
"SettingsManageAccountSettings_Title": "Administrar ajustes de cuenta",
|
||||
"SettingsAppPreferences_Title": "Configuración de la aplicación",
|
||||
"SettingsAppPreferences_Description": "Ajustes generales de Wino Mail.",
|
||||
"SettingsAppPreferences_CloseBehavior_Title": "Cierre de la aplicación",
|
||||
"SettingsAppPreferences_CloseBehavior_Description": "¿Qué ocurre cuando cierras la aplicación?",
|
||||
"SettingsAppPreferences_StartupBehavior_Title": "Ejecutar minimizado al iniciar Windows",
|
||||
"SettingsAppPreferences_StartupBehavior_Description": "Allow Wino Mail to launch minimized when Windows starts. Always allow it to receive notifications.",
|
||||
"SettingsAppPreferences_StartupBehavior_Enabled": "Wino Mail successfully set to be launched in the background on Windows startup.",
|
||||
"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_FatalError": "Fatal error occurred while changing the startup mode for Wino Mail.",
|
||||
"SettingsAppPreferences_StartupBehavior_Enable": "Enable",
|
||||
"SettingsAppPreferences_StartupBehavior_Disable": "Disable",
|
||||
"SettingsReorderAccounts_Title": "Reordenar cuentas",
|
||||
"SettingsReorderAccounts_Description": "Cambiar el orden de las cuentas en la lista de cuentas.",
|
||||
"SettingsManageAliases_Description": "Comprueba, actualiza o elimina los alias de correo asociados a esta cuenta.",
|
||||
"SettingsManageAliases_Title": "Alias",
|
||||
"SettingsEditAccountDetails_Title": "Editar Detalles de Cuenta",
|
||||
"SettingsEditAccountDetails_Description": "Cambie el nombre de la cuenta, nombre del remitente y asigne un nuevo color si lo desea.",
|
||||
"SettingsManageLink_Description": "Mover elementos para añadir un nuevo enlace o eliminar el enlace existente.",
|
||||
"SettingsManageLink_Title": "Administrar enlaces",
|
||||
"SettingsMarkAsRead_Description": "Cambiar lo que debería pasar con el elemento seleccionado.",
|
||||
@@ -535,59 +592,71 @@
|
||||
"SettingsNoAccountSetupMessage": "Aún no has configurado ninguna cuenta.",
|
||||
"SettingsNotifications_Description": "Activar o desactivar notificaciones para esta cuenta.",
|
||||
"SettingsNotifications_Title": "Notificaciones",
|
||||
"SettingsNotificationsAndTaskbar_Title": "Notifications & Taskbar",
|
||||
"SettingsTaskbarBadge_Title": "Taskbar Badge",
|
||||
"SettingsTaskbarBadge_Description": "Include unread mail count in taskbar icon.",
|
||||
"SettingsNotificationsAndTaskbar_Description": "Change whether notifications should be displayed and taskbar badge for this account.",
|
||||
"SettingsPaneLengthReset_Description": "Reset the size of the mail list to original if you have issues with it.",
|
||||
"SettingsPaneLengthReset_Title": "Reset Mail List Size",
|
||||
"SettingsNotificationsAndTaskbar_Description": "Cambiar si las notificaciones deben mostrarse y la insignia de la barra de tareas para esta cuenta.",
|
||||
"SettingsNotificationsAndTaskbar_Title": "Notificaciones y Barra de tareas",
|
||||
"SettingsOptions_Title": "Ajustes",
|
||||
"SettingsPaneLengthReset_Description": "Restablecer el tamaño de la lista de correo a original si tiene problemas.",
|
||||
"SettingsPaneLengthReset_Title": "Resetear tamaño de lista de correo",
|
||||
"SettingsPaypal_Description": "Muestre mucho más amor ❤️ Todas las donaciones se agradecen.",
|
||||
"SettingsPaypal_Title": "Dona vía PayPal",
|
||||
"SettingsPersonalization_Description": "Cambia la apariencia de Wino a tu gusto.",
|
||||
"SettingsPersonalization_Title": "Personalización",
|
||||
"SettingsPersonalizationMailDisplayCompactMode": "Modo Compacto",
|
||||
"SettingsPersonalizationMailDisplayMediumMode": "Modo Mediano",
|
||||
"SettingsPersonalizationMailDisplaySpaciousMode": "Modo Espacioso",
|
||||
"SettingsPersonalization_Description": "Cambia la apariencia de Wino a tu gusto.",
|
||||
"SettingsPersonalization_Title": "Personalización",
|
||||
"SettingsPrefer24HourClock_Description": "Las horas de recepción de correos se mostrarán en formato de 24 horas en lugar de 12 (AM/PM)",
|
||||
"SettingsPrefer24HourClock_Title": "Mostrar formato de reloj en 24 horas",
|
||||
"SettingsPrivacyPolicy_Description": "Revisar la Política de Privacidad.",
|
||||
"SettingsPrivacyPolicy_Title": "Políticas de privacidad",
|
||||
"SettingsReader_Title": "Lector",
|
||||
"SettingsComposer_Title": "Editor",
|
||||
"SettingsReadComposePane_Description": "Fuentes, contenido externo.",
|
||||
"SettingsReadComposePane_Title": "Lector y Editor",
|
||||
"SettingsReader_Title": "Lector",
|
||||
"SettingsReaderFont_Title": "Fuente por defecto del Lector",
|
||||
"SettingsReaderFontFamily_Description": "Cambie el tamaño por defecto de la familia de fuentes y del tipo de letra para escribir correos.",
|
||||
"SettingsFontFamily_Title": "Familia tipográfica",
|
||||
"SettingsFontSize_Title": "Tamaño de la fuente",
|
||||
"SettingsFontPreview_Title": "Vista previa",
|
||||
"SettingsComposerFont_Title": "Fuente por defecto para Escribir",
|
||||
"SettingsComposerFontFamily_Description": "Cambie el tamaño por defecto de la familia de fuentes y del tipo de letra para escribir correos.",
|
||||
"SettingsRenameMergeAccount_Description": "Cambiar el nombre mostrado de las cuentas vinculadas.",
|
||||
"SettingsRenameMergeAccount_Title": "Renombrar",
|
||||
"SettingsReorderAccounts_Description": "Cambiar el orden de las cuentas en la lista de cuentas.",
|
||||
"SettingsReorderAccounts_Title": "Reordenar cuentas",
|
||||
"SettingsSemanticZoom_Description": "Esto le permitirá hacer clic en los encabezados de la lista de mensajes e ir a una fecha específica",
|
||||
"SettingsSemanticZoom_Title": "Zoom semántico para los encabezados de fechas",
|
||||
"SettingsShowPreviewText_Description": "Hide/show the preview text.",
|
||||
"SettingsShowPreviewText_Description": "Ocultar/mostrar texto de vista previa.",
|
||||
"SettingsShowPreviewText_Title": "Mostrar texto de vista previa",
|
||||
"SettingsShowSenderPictures_Description": "Ocultar/mostrar imágenes del remitente en miniatura.",
|
||||
"SettingsShowSenderPictures_Title": "Mostrar Avatares de Remitente",
|
||||
"SettingsPrefer24HourClock_Title": "Mostrar formato de reloj en 24 horas",
|
||||
"SettingsPrefer24HourClock_Description": "Las horas de recepción de correos se mostrarán en formato de 24 horas en lugar de 12 (AM/PM)",
|
||||
"SettingsSignature_AddCustomSignature_Button": "Añadir firma",
|
||||
"SettingsSignature_AddCustomSignature_Title": "Añadir firma personalizada",
|
||||
"SettingsSignature_DeleteSignature_Title": "Eliminar firma",
|
||||
"SettingsSignature_Description": "Administrar firmas de cuenta",
|
||||
"SettingsSignature_EditSignature_Title": "Editar firma",
|
||||
"SettingsSignature_ForFollowingMessages_Title": "Para respuestas/reenvíos",
|
||||
"SettingsSignature_ForNewMessages_Title": "Para mensajes nuevos",
|
||||
"SettingsSignature_NoneSignatureName": "Ninguno",
|
||||
"SettingsSignature_SignatureDefaults": "Firma por defecto",
|
||||
"SettingsSignature_Signatures": "Firmas",
|
||||
"SettingsSignature_Title": "Firma",
|
||||
"SettingsStartupItem_Description": "Elemento principal de la cuenta para cargar la Bandeja de entrada al inicio.",
|
||||
"SettingsStartupItem_Title": "Elemento de Inicio",
|
||||
"SettingsStore_Description": "Mostrar un poco de amor ❤️",
|
||||
"SettingsStore_Title": "Valorar en la tienda",
|
||||
"SettingsTaskbarBadge_Description": "Incluye conteo de correo no leído en el icono de la barra de tareas.",
|
||||
"SettingsTaskbarBadge_Title": "Insignia de la barra de tareas",
|
||||
"SettingsThreads_Description": "Organizar mensajes en hilos de conversación.",
|
||||
"SettingsThreads_Title": "Hilos de conversación",
|
||||
"SettingsMailListActionBar_Description": "Hide/show action bar at top of message list.",
|
||||
"SettingsMailListActionBar_Title": "Show mail list actions",
|
||||
"SettingsUnlinkAccounts_Description": "Remove the link between accounts. his will not delete your accounts.",
|
||||
"SettingsUnlinkAccounts_Description": "Eliminar el enlace entre cuentas. No eliminará sus cuentas.",
|
||||
"SettingsUnlinkAccounts_Title": "Desvincular Cuentas",
|
||||
"SignatureDeleteDialog_Message": "¿Seguro que quieres eliminar la firma \"{0}\"?",
|
||||
"SignatureDeleteDialog_Title": "Eliminar firma",
|
||||
"SignatureEditorDialog_SignatureName_Placeholder": "Ponle un nombre a tu firma",
|
||||
"SignatureEditorDialog_SignatureName_TitleEdit": "Nombre de firma actual: {0}",
|
||||
"SignatureEditorDialog_SignatureName_TitleNew": "Nombre de la firma",
|
||||
"SignatureEditorDialog_Title": "Editor de firma",
|
||||
"SortingOption_Date": "por fecha",
|
||||
"SortingOption_Name": "por nombre",
|
||||
"StoreRatingDialog_MessageFirstLine": "Todos los comentarios son apreciados y harán mucho mejor Wino en el futuro. ¿Te gustaría calificar Wino en Microsoft Store?",
|
||||
"StoreRatingDialog_MessageSecondLine": "¿Quieres calificar Wino Mail en Microsoft Store?",
|
||||
"StoreRatingDialog_Title": "¿Te gusta Wino?",
|
||||
"SynchronizationFolderReport_Failed": "sincronización fallida",
|
||||
"SynchronizationFolderReport_Success": "actualizado",
|
||||
"SystemFolderConfigDialog_ArchiveFolderDescription": "Los mensajes archivados se moverán a aquí.",
|
||||
"SystemFolderConfigDialog_ArchiveFolderHeader": "Carpeta de Archivo",
|
||||
"SystemFolderConfigDialog_DeletedFolderDescription": "Los mensajes borrados se moverán a aquí.",
|
||||
@@ -601,11 +670,15 @@
|
||||
"SystemFolderConfigDialog_SentFolderDescription": "Carpeta que los mensajes enviados serán almacenados.",
|
||||
"SystemFolderConfigDialog_SentFolderHeader": "Carpeta Enviados",
|
||||
"SystemFolderConfigDialog_Title": "Configurar Carpetas del Sistema",
|
||||
"SystemFolderConfigDialogValidation_InboxSelected": "No puede asignar la bandeja de entrada a ninguna otra carpeta del sistema.",
|
||||
"SystemFolderConfigDialogValidation_DuplicateSystemFolders": "Algunos de los directorios del sistema se utilizan más de una vez en la configuración.",
|
||||
"SystemFolderConfigSetupSuccess_Title": "Configurar Carpetas del Sistema",
|
||||
"SystemFolderConfigDialogValidation_InboxSelected": "No puede asignar la bandeja de entrada a ninguna otra carpeta del sistema.",
|
||||
"SystemFolderConfigSetupSuccess_Message": "Carpetas del sistema configuradas correctamente.",
|
||||
"SystemFolderConfigSetupSuccess_Title": "Configurar Carpetas del Sistema",
|
||||
"TestingImapConnectionMessage": "Probando conexión con el servidor...",
|
||||
"TitleBarServerDisconnectedButton_Description": "Wino está desconectado de la red. Haga clic en reconectar para restaurar la conexión.",
|
||||
"TitleBarServerDisconnectedButton_Title": "sin conexión",
|
||||
"TitleBarServerReconnectButton_Title": "re-conectar",
|
||||
"TitleBarServerReconnectingButton_Title": "conectando",
|
||||
"Today": "Hoy",
|
||||
"UnknownAddress": "dirección desconocida",
|
||||
"UnknownDateHeader": "Fecha desconocida",
|
||||
@@ -616,37 +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",
|
||||
"SignatureEditorDialog_Title": "Editor de firma",
|
||||
"SignatureEditorDialog_SignatureName_Placeholder": "Ponle un nombre a tu firma",
|
||||
"SignatureEditorDialog_SignatureName_TitleNew": "Nombre de la firma",
|
||||
"SignatureEditorDialog_SignatureName_TitleEdit": "Nombre de firma actual: {0}",
|
||||
"SignatureDeleteDialog_Title": "Eliminar firma",
|
||||
"SignatureDeleteDialog_Message": "¿Seguro que quieres eliminar la firma \"{0}\"?",
|
||||
"SettingsSignature_ForNewMessages_Title": "Para mensajes nuevos",
|
||||
"SettingsSignature_ForFollowingMessages_Title": "Para respuestas/reenvíos",
|
||||
"SettingsSignature_SignatureDefaults": "Firma por defecto",
|
||||
"SettingsSignature_Signatures": "Firmas",
|
||||
"SettingsSignature_AddCustomSignature_Title": "Añadir firma personalizada",
|
||||
"SettingsSignature_AddCustomSignature_Button": "Añadir firma",
|
||||
"SettingsSignature_EditSignature_Title": "Editar firma",
|
||||
"SettingsSignature_DeleteSignature_Title": "Eliminar firma",
|
||||
"SettingsSignature_NoneSignatureName": "Ninguno",
|
||||
"SettingsAppPreferences_ServerBackgroundingMode_MinimizeTray_Title": "Minimize to system tray",
|
||||
"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_Invisible_Title": "Run in the background",
|
||||
"SettingsAppPreferences_ServerBackgroundingMode_Invisible_Description": "Wino Mail will keep running in the background. You will be notified as new mails arrive.",
|
||||
"SettingsAppPreferences_ServerBackgroundingMode_Terminate_Title": "Terminate",
|
||||
"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.",
|
||||
"TitleBarServerDisconnectedButton_Title": "no connection",
|
||||
"TitleBarServerDisconnectedButton_Description": "Wino is disconnected from the network. Click reconnect to restore connection.",
|
||||
"TitleBarServerReconnectButton_Title": "reconnect",
|
||||
"TitleBarServerReconnectingButton_Title": "connecting",
|
||||
"MailItemNoSubject": "No subject",
|
||||
"QuickEventDialogMoreDetailsButtonText": "More details",
|
||||
"QuickEventDialog_RemindMe": "Remind me",
|
||||
"QuickEventDialog_Location": "Location",
|
||||
"QuickEventDialog_EventName": "Event name",
|
||||
"QuickEventDialog_IsAllDay": "All day"
|
||||
"Yesterday": "Ayer"
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -1,29 +1,40 @@
|
||||
{
|
||||
"AccountAlias_Column_Alias": "Alias",
|
||||
"AccountAlias_Column_IsPrimaryAlias": "Primary",
|
||||
"AccountAlias_Column_Verified": "Verified",
|
||||
"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": "Valmis",
|
||||
"AccountCreationDialog_Initializing": "valmistellaan",
|
||||
"AccountCreationDialog_PreparingFolders": "Valmistellaan kansioita",
|
||||
"AccountCreationDialog_SigninIn": "Tallennetaan tilin tietoja.",
|
||||
"AccountCreationDialog_FetchingProfileInformation": "Fetching profile details.",
|
||||
"AccountCreationDialog_FetchingEvents": "Fetching calendar events.",
|
||||
"AccountCreationDialog_FetchingProfileInformation": "Fetching profile details.",
|
||||
"AccountCreationDialog_GoogleAuthHelpClipboardText_Row0": "If your browser did not launch automatically to complete authentication:",
|
||||
"AccountCreationDialog_GoogleAuthHelpClipboardText_Row1": "1) Click the button below to copy the authentication address",
|
||||
"AccountCreationDialog_GoogleAuthHelpClipboardText_Row2": "2) Launch your web browser (Edge, Chrome, Firefox etc...)",
|
||||
"AccountCreationDialog_GoogleAuthHelpClipboardText_Row3": "3) Paste the copied address and go to the website to complete authentication manually.",
|
||||
"AccountCreationDialog_Initializing": "valmistellaan",
|
||||
"AccountCreationDialog_PreparingFolders": "Valmistellaan kansioita",
|
||||
"AccountCreationDialog_SigninIn": "Tallennetaan tilin tietoja.",
|
||||
"AccountEditDialog_Message": "Tilin nimi",
|
||||
"AccountEditDialog_Title": "Muokkaa tiliä",
|
||||
"AccountPickerDialog_Title": "Valitse tili",
|
||||
"AccountSettingsDialog_AccountName": "Lähettäjän nimi",
|
||||
"AccountSettingsDialog_AccountNamePlaceholder": "esim. Matti Meikäläinen",
|
||||
"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": "Assign a new account color to colorize its symbol in the list.",
|
||||
"AddHyperlink": "Lisää",
|
||||
"AccountContactNameYou": "You",
|
||||
"AutoDiscoveryProgressMessage": "Haetaan sähköpostiasetuksia...",
|
||||
"AppCloseBackgroundSynchronizationWarningTitle": "Background Synchronization",
|
||||
"AppCloseTerminateBehaviorWarningMessageFirstLine": "You are terminating Wino Mail and your app close behavior is set to 'Terminate'.",
|
||||
"AppCloseTerminateBehaviorWarningMessageSecondLine": "This will stop all background synchronizations and notifications.",
|
||||
"AppCloseTerminateBehaviorWarningMessageThirdLine": "Do you want to go to App Preferences to set Wino Mail to run minimized or in the background?",
|
||||
"AppCloseStartupLaunchDisabledWarningMessageFirstLine": "Application has not been set to launch on Windows startup.",
|
||||
"AppCloseStartupLaunchDisabledWarningMessageSecondLine": "This will cause you to miss notifications when you restart your computer.",
|
||||
"AppCloseStartupLaunchDisabledWarningMessageThirdLine": "Do you want to go to App Preferences page to enable it?",
|
||||
"AppCloseTerminateBehaviorWarningMessageFirstLine": "You are terminating Wino Mail and your app close behavior is set to 'Terminate'.",
|
||||
"AppCloseTerminateBehaviorWarningMessageSecondLine": "This will stop all background synchronizations and notifications.",
|
||||
"AppCloseTerminateBehaviorWarningMessageThirdLine": "Do you want to go to App Preferences to set Wino Mail to run minimized or in the background?",
|
||||
"AutoDiscoveryProgressMessage": "Haetaan sähköpostiasetuksia...",
|
||||
"BasicIMAPSetupDialog_AdvancedConfiguration": "Lisäasetukset",
|
||||
"BasicIMAPSetupDialog_CredentialLocalMessage": "Käyttäjätietosi tallennetaan ainoastaan paikallisesti tietokoneellesi.",
|
||||
"BasicIMAPSetupDialog_Description": "Jotkin tilit vaativat lisätoimia sisäänkirjautumista varten",
|
||||
@@ -34,48 +45,63 @@
|
||||
"BasicIMAPSetupDialog_MailAddressPlaceholder": "mattimeikalainen@fabrikam.com",
|
||||
"BasicIMAPSetupDialog_Password": "Salasana",
|
||||
"BasicIMAPSetupDialog_Title": "IMAP-tili",
|
||||
"Busy": "Busy",
|
||||
"Buttons_AddAccount": "Lisää tili",
|
||||
"Buttons_AddNewAlias": "Add New Alias",
|
||||
"Buttons_Allow": "Allow",
|
||||
"Buttons_Deny": "Deny",
|
||||
"Buttons_SyncAliases": "Synchronize Aliases",
|
||||
"Buttons_ApplyTheme": "Vaihda teemaa",
|
||||
"Buttons_Browse": "Selaa",
|
||||
"Buttons_Cancel": "Peruuta",
|
||||
"Buttons_Close": "Sulje",
|
||||
"Buttons_Copy": "Kopioi",
|
||||
"Buttons_Create": "Luo",
|
||||
"Buttons_CreateAccount": "Luo tili",
|
||||
"Buttons_Copy": "Kopioi",
|
||||
"Buttons_Delete": "Poista",
|
||||
"Buttons_Edit": "Muokkaa",
|
||||
"Buttons_Deny": "Deny",
|
||||
"Buttons_Discard": "Hylkää",
|
||||
"Buttons_Edit": "Muokkaa",
|
||||
"Buttons_EnableImageRendering": "Ota käyttöön",
|
||||
"Buttons_Multiselect": "Select Multiple",
|
||||
"Buttons_No": "Ei",
|
||||
"Buttons_Open": "Avaa",
|
||||
"Buttons_Purchase": "Osta",
|
||||
"Buttons_RateWino": "Arvostele Wino",
|
||||
"Buttons_Reset": "Reset",
|
||||
"Buttons_Save": "Tallenna",
|
||||
"Buttons_SaveConfiguration": "Tallenna asetukset",
|
||||
"Buttons_Send": "Send",
|
||||
"Buttons_Share": "Jaa",
|
||||
"Buttons_SignIn": "Kirjaudu sisään",
|
||||
"Buttons_Sync": "Synchronize",
|
||||
"Buttons_SyncAliases": "Synchronize Aliases",
|
||||
"Buttons_TryAgain": "Yritä uudelleen",
|
||||
"Buttons_Yes": "Kyllä",
|
||||
"Buttons_Reset": "Reset",
|
||||
"Buttons_Send": "Send",
|
||||
"Buttons_Sync": "Synchronize",
|
||||
"Buttons_Multiselect": "Select Multiple",
|
||||
"CalendarAllDayEventSummary": "all-day events",
|
||||
"CalendarDisplayOptions_Color": "Color",
|
||||
"CalendarDisplayOptions_Expand": "Expand",
|
||||
"CalendarItem_DetailsPopup_JoinOnline": "Join online",
|
||||
"CalendarItem_DetailsPopup_ViewEventButton": "View event",
|
||||
"CalendarItem_DetailsPopup_ViewSeriesButton": "View series",
|
||||
"CalendarItemAllDay": "all day",
|
||||
"CategoriesFolderNameOverride": "Categories",
|
||||
"Center": "Keskitetty",
|
||||
"ComingSoon": "Tulossa pian...",
|
||||
"ComposerFrom": "Lähettäjä: ",
|
||||
"ComposerSubject": "Aihe: ",
|
||||
"ComposerTo": "Vastaanottaja: ",
|
||||
"ClipboardTextCopied_Message": "{0} kopioitu leikepöydälle.",
|
||||
"ClipboardTextCopied_Title": "Kopioitu",
|
||||
"ClipboardTextCopyFailed_Message": "{0} kopioiminen leikepöydälle epäonnistui.",
|
||||
"ComposerToPlaceholder": "paina enter syöttääksesi osoitteita",
|
||||
"ComposerAttachmentsDropZone_Message": "Raahaa tiedostosi tähän",
|
||||
"ComposerImagesDropZone_Message": "Raahaa kuvasi tähän",
|
||||
"ComingSoon": "Tulossa pian...",
|
||||
"ComposerAttachmentsDragDropAttach_Message": "Liitä",
|
||||
"ComposerAttachmentsDropZone_Message": "Raahaa tiedostosi tähän",
|
||||
"ComposerFrom": "Lähettäjä: ",
|
||||
"ComposerImagesDropZone_Message": "Raahaa kuvasi tähän",
|
||||
"ComposerSubject": "Aihe: ",
|
||||
"ComposerTo": "Vastaanottaja: ",
|
||||
"ComposerToPlaceholder": "paina enter syöttääksesi osoitteita",
|
||||
"CreateAccountAliasDialog_AliasAddress": "Address",
|
||||
"CreateAccountAliasDialog_AliasAddressPlaceholder": "eg. support@mydomain.com",
|
||||
"CreateAccountAliasDialog_Description": "Make sure your outgoing server allows sending mails from this alias.",
|
||||
"CreateAccountAliasDialog_ReplyToAddress": "Reply-To Address",
|
||||
"CreateAccountAliasDialog_ReplyToAddressPlaceholder": "admin@mydomain.com",
|
||||
"CreateAccountAliasDialog_Title": "Create Account Alias",
|
||||
"CustomThemeBuilder_AccentColorDescription": "Aseta korostusväri. Mikäli et valitse väriä, käytetään Windowsin korostusväriä.",
|
||||
"CustomThemeBuilder_AccentColorTitle": "Korostusväri",
|
||||
"CustomThemeBuilder_PickColor": "Valitse",
|
||||
@@ -84,70 +110,57 @@
|
||||
"CustomThemeBuilder_Title": "Teeman luoja",
|
||||
"CustomThemeBuilder_WallpaperDescription": "Aseta mukautettu taustakuva Winolle",
|
||||
"CustomThemeBuilder_WallpaperTitle": "Aseta mukautettu taustakuva",
|
||||
"Dialog_DontAskAgain": "Älä kysy uudelleen",
|
||||
"DialogMessage_AccountLimitMessage": "Sinulla on jo suurin sallittu määrä tilejä.\nHaluatko ostaa 'Rajattomat Tilit' lisäosan jatkaaksesi?",
|
||||
"DialogMessage_AccountLimitTitle": "Suurin sallittu tilien määrä saavutettu",
|
||||
"DialogMessage_AliasNotSelectedTitle": "Missing Alias",
|
||||
"DialogMessage_AliasNotSelectedMessage": "You must select an alias before sending a message.",
|
||||
"DialogMessage_AliasExistsTitle": "Existing Alias",
|
||||
"DialogMessage_AliasExistsMessage": "This alias is already in use.",
|
||||
"DialogMessage_InvalidAliasTitle": "Invalid Alias",
|
||||
"DialogMessage_InvalidAliasMessage": "This alias is not valid. Make sure all addresses of the alias are valid e-mail addresses.",
|
||||
"DialogMessage_CantDeleteRootAliasTitle": "Can't Delete Alias",
|
||||
"DialogMessage_CantDeleteRootAliasMessage": "Root alias can't be deleted. This is your main identity associated with your account setup.",
|
||||
"DialogMessage_AliasCreatedTitle": "Created New Alias",
|
||||
"DialogMessage_AliasCreatedMessage": "New alias is succesfully created.",
|
||||
"DialogMessage_AliasCreatedTitle": "Created New Alias",
|
||||
"DialogMessage_AliasExistsMessage": "This alias is already in use.",
|
||||
"DialogMessage_AliasExistsTitle": "Existing Alias",
|
||||
"DialogMessage_AliasNotSelectedMessage": "You must select an alias before sending a message.",
|
||||
"DialogMessage_AliasNotSelectedTitle": "Missing Alias",
|
||||
"DialogMessage_CantDeleteRootAliasMessage": "Root alias can't be deleted. This is your main identity associated with your account setup.",
|
||||
"DialogMessage_CantDeleteRootAliasTitle": "Can't Delete Alias",
|
||||
"DialogMessage_CleanupFolderMessage": "Haluatko pysyvästi poistaa kaikki sähköpostit tästä kansiosta?",
|
||||
"DialogMessage_CleanupFolderTitle": "Siivoa Kansio",
|
||||
"DialogMessage_ComposerMissingRecipientMessage": "Viestillä ei ole vastaanottajaa.",
|
||||
"DialogMessage_ComposerValidationFailedTitle": "Varmennus epäonnistui",
|
||||
"DialogMessage_CreateLinkedAccountMessage": "Anna linkille uusi nimi. Tilit yhdistetään tämän nimen alle.",
|
||||
"DialogMessage_CreateLinkedAccountTitle": "Linkitettyjen tilien nimi",
|
||||
"DialogMessage_PrintingFailedMessage": "Failed to print this mail. Result: {0}",
|
||||
"DialogMessage_PrintingFailedTitle": "Failed",
|
||||
"DialogMessage_PrintingSuccessTitle": "Success",
|
||||
"DialogMessage_PrintingSuccessMessage": "Mail is sent to printer.",
|
||||
"DialogMessage_DeleteAccountConfirmationMessage": "Poistetaanko {0}?",
|
||||
"DialogMessage_DeleteAccountConfirmationTitle": "Kaikki tämän tilin tiedot poistetaan pysyvästi.",
|
||||
"DialogMessage_DiscardDraftConfirmationMessage": "Luonnos hylätään. Haluatko jatkaa?",
|
||||
"DialogMessage_DiscardDraftConfirmationTitle": "Hylkää luonnos",
|
||||
"DialogMessage_EmptySubjectConfirmation": "Aihe puuttuu",
|
||||
"DialogMessage_EmptySubjectConfirmationMessage": "Viestillä ei ole aihetta. Haluatko jatkaa?",
|
||||
"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": "Enable Startup Launch",
|
||||
"DialogMessage_HardDeleteConfirmationMessage": "Poista pysyvästi",
|
||||
"DialogMessage_HardDeleteConfirmationTitle": "Viesti(t) poistetaan pysyvästi. Haluatko jatkaa?",
|
||||
"DialogMessage_InvalidAliasMessage": "This alias is not valid. Make sure all addresses of the alias are valid e-mail addresses.",
|
||||
"DialogMessage_InvalidAliasTitle": "Invalid Alias",
|
||||
"DialogMessage_NoAccountsForCreateMailMessage": "Sinulla ei ole tilejä luodaksesi viestejä.",
|
||||
"DialogMessage_NoAccountsForCreateMailTitle": "Tili puuttuu",
|
||||
"DialogMessage_PrintingFailedMessage": "Failed to print this mail. Result: {0}",
|
||||
"DialogMessage_PrintingFailedTitle": "Failed",
|
||||
"DialogMessage_PrintingSuccessMessage": "Mail is sent to printer.",
|
||||
"DialogMessage_PrintingSuccessTitle": "Success",
|
||||
"DialogMessage_RenameFolderMessage": "Anna uusi nimi tälle kansiolle",
|
||||
"DialogMessage_RenameFolderTitle": "Uudelleennimeä kansio",
|
||||
"DialogMessage_RenameLinkedAccountsMessage": "Anna uusi nimi yhdistetylle tilille",
|
||||
"DialogMessage_RenameLinkedAccountsTitle": "Uudelleennimeä yhdistetty tili",
|
||||
"DialogMessage_UnlinkAccountsConfirmationMessage": "Tämä ei poista tilejäsi, ainoastaan yhteyden tilien jaettujen kansioiden välillä. Haluatko jatkaa?",
|
||||
"DialogMessage_UnlinkAccountsConfirmationTitle": "Poista tilien yhteys",
|
||||
"DialogMessage_EmptySubjectConfirmation": "Aihe puuttuu",
|
||||
"DialogMessage_EmptySubjectConfirmationMessage": "Viestillä ei ole aihetta. Haluatko jatkaa?",
|
||||
"DialogMessage_RenameFolderTitle": "Uudelleennimeä kansio",
|
||||
"DialogMessage_RenameFolderMessage": "Anna uusi nimi tälle kansiolle",
|
||||
"DialogMessage_UnsubscribeConfirmationTitle": "Peruuta tilaus",
|
||||
"DialogMessage_UnsubscribeConfirmationOneClickMessage": "Haluatko lopettaa viestien saamisen lähettäjältä {0}?",
|
||||
"DialogMessage_UnsubscribeConfirmationGoToWebsiteMessage": "Lopettaaksesi viestien saamisen lähettäjältä {0}, mene heidän verkkosivuilleen peruuttaaksesi tilauksesi.",
|
||||
"DialogMessage_UnsubscribeConfirmationGoToWebsiteConfirmButton": "Avaa verkkosivu",
|
||||
"DialogMessage_UnsubscribeConfirmationGoToWebsiteMessage": "Lopettaaksesi viestien saamisen lähettäjältä {0}, mene heidän verkkosivuilleen peruuttaaksesi tilauksesi.",
|
||||
"DialogMessage_UnsubscribeConfirmationMailtoMessage": "Haluatko lopettaa viestien saamisen lähettäjältä {0}? Wino voi peruuttaa tilauksesi lähettämällä viestin sähköpostiosoitteestasi osoitteeseen {1}.",
|
||||
"DialogMessage_EnableStartupLaunchTitle": "Enable Startup Launch",
|
||||
"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_EnableStartupLaunchDeniedMessage": "You can enable startup launch from Settings -> App Preferences.",
|
||||
"Dialog_DontAskAgain": "Älä kysy uudelleen",
|
||||
"CalendarAllDayEventSummary": "all-day events",
|
||||
"CalendarItemAllDay": "all day",
|
||||
"CalendarItem_DetailsPopup_JoinOnline": "Join online",
|
||||
"CalendarItem_DetailsPopup_ViewEventButton": "View event",
|
||||
"CalendarItem_DetailsPopup_ViewSeriesButton": "View series",
|
||||
"CalendarDisplayOptions_Expand": "Expand",
|
||||
"CalendarDisplayOptions_Color": "Color",
|
||||
"CreateAccountAliasDialog_Title": "Create Account Alias",
|
||||
"CreateAccountAliasDialog_Description": "Make sure your outgoing server allows sending mails from this alias.",
|
||||
"CreateAccountAliasDialog_AliasAddress": "Address",
|
||||
"CreateAccountAliasDialog_AliasAddressPlaceholder": "eg. support@mydomain.com",
|
||||
"CreateAccountAliasDialog_ReplyToAddress": "Reply-To Address",
|
||||
"CreateAccountAliasDialog_ReplyToAddressPlaceholder": "admin@mydomain.com",
|
||||
"DialogMessage_UnsubscribeConfirmationOneClickMessage": "Haluatko lopettaa viestien saamisen lähettäjältä {0}?",
|
||||
"DialogMessage_UnsubscribeConfirmationTitle": "Peruuta tilaus",
|
||||
"DiscordChannelDisclaimerMessage": "Winolla ei ole omaa Discord palvelinta, mutta 'wino-mail' kanava löytyy 'Developer Sanctuary' palvelimelta.\nSaadaksesi päivityksiä Winosta, liity Developer Sanctuary palvelimelle ja seuraa 'wino-mail' kanavaa 'Community Projects' osiossa.\n\nSinut uudelleenohjataan palvelimen osoitteeseen, koska Discord ei tue kanava kutsuja.",
|
||||
"DiscordChannelDisclaimerTitle": "Tärkeää tietoa Discordista",
|
||||
"Draft": "Luonnos",
|
||||
"Busy": "Busy",
|
||||
"DragMoveToFolderCaption": "Siirrä sijaintiin {0}",
|
||||
"EditorToolbarOption_Draw": "Piirrä",
|
||||
"EditorToolbarOption_Format": "Muotoile",
|
||||
"EditorToolbarOption_Insert": "Liitä",
|
||||
@@ -158,24 +171,26 @@
|
||||
"ElementTheme_Default": "Käytä järjestelmän asetuksia",
|
||||
"ElementTheme_Light": "Vaalea teema",
|
||||
"Emoji": "Emoji",
|
||||
"Exception_WinoServerException": "Wino-palvelin ei saatavilla.",
|
||||
"Exception_MailProcessing": "This mail is still being processed. Please try again after few seconds.",
|
||||
"Exception_ImapAutoDiscoveryFailed": "Postilaatikon asetuksia ei löytynyt.",
|
||||
"Exception_ImapClientPoolFailed": "IMAP Client Pool ei saatavilla.",
|
||||
"Error_FailedToSetupSystemFolders_Title": "Failed to setup system folders",
|
||||
"Exception_AuthenticationCanceled": "Tunnistautuminen peruutettu",
|
||||
"Exception_CustomThemeExists": "Teema on jo olemassa.",
|
||||
"Exception_CustomThemeMissingName": "Sinun on annettava nimi.",
|
||||
"Exception_CustomThemeMissingWallpaper": "Sinun on valittava taustakuva.",
|
||||
"Exception_FailedToSynchronizeFolders": "Kansioiden synkronointi epäonnistui",
|
||||
"Exception_FailedToSynchronizeAliases": "Failed to synchronize aliases",
|
||||
"Exception_MissingAlias": "Primary alias does not exist for this account. Creating draft failed.",
|
||||
"Exception_FailedToSynchronizeFolders": "Kansioiden synkronointi epäonnistui",
|
||||
"Exception_FailedToSynchronizeProfileInformation": "Failed to synchronize profile information",
|
||||
"Exception_GoogleAuthCallbackNull": "Callback uri is null on activation.",
|
||||
"Exception_GoogleAuthCorruptedCode": "Corrupted authorization response.",
|
||||
"Exception_GoogleAuthError": "OAuth authorization error: {0}",
|
||||
"Exception_GoogleAuthInvalidResponse": "Received request with invalid state ({0})",
|
||||
"Exception_GoogleAuthorizationCodeExchangeFailed": "Authorization code exchange failed.",
|
||||
"Exception_ImapAutoDiscoveryFailed": "Postilaatikon asetuksia ei löytynyt.",
|
||||
"Exception_ImapClientPoolFailed": "IMAP Client Pool ei saatavilla.",
|
||||
"Exception_InboxNotAvailable": "Couldn't setup account folders.",
|
||||
"Exception_InvalidSystemFolderConfiguration": "System folder configuration is not valid. Check configuration and try again.",
|
||||
"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": "Assigned account is null",
|
||||
"Exception_NullAssignedFolder": "Assigned folder is null",
|
||||
"Exception_SynchronizerFailureHTTP": "Response handling failed with error HTTP code {0}",
|
||||
@@ -186,12 +201,12 @@
|
||||
"Exception_UnsupportedProvider": "This provider is not supported.",
|
||||
"Exception_UnsupportedSynchronizerOperation": "This operation is not supported for {0}",
|
||||
"Exception_UserCancelSystemFolderSetupDialog": "User canceled system folder config dialog.",
|
||||
"Exception_InboxNotAvailable": "Couldn't setup account folders.",
|
||||
"Exception_WinoServerException": "Wino-palvelin ei saatavilla.",
|
||||
"Files": "Tiedostot",
|
||||
"FilteringOption_All": "Kaikki",
|
||||
"FilteringOption_Files": "Liitteelliset",
|
||||
"FilteringOption_Flagged": "Merkitty",
|
||||
"FilteringOption_Unread": "Lukemattomat",
|
||||
"FilteringOption_Files": "Liitteelliset",
|
||||
"Focused": "Keskitetyt",
|
||||
"FolderOperation_CreateSubFolder": "Luo alikansio",
|
||||
"FolderOperation_Delete": "Poista",
|
||||
@@ -199,27 +214,71 @@
|
||||
"FolderOperation_Empty": "Tyhjennä kansio",
|
||||
"FolderOperation_MarkAllAsRead": "Merkitse kaikki luetuksi",
|
||||
"FolderOperation_Move": "Siirrä",
|
||||
"DragMoveToFolderCaption": "Siirrä sijaintiin {0}",
|
||||
"FolderOperation_None": "Ei mitään",
|
||||
"FolderOperation_Pin": "Kiinnitä",
|
||||
"FolderOperation_Rename": "Nimeä uudelleen",
|
||||
"FolderOperation_Unpin": "Poista kiinnitys",
|
||||
"GeneralTitle_Error": "Error",
|
||||
"GeneralTitle_Info": "Information",
|
||||
"GeneralTitle_Warning": "Warning",
|
||||
"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": "Arkistoi",
|
||||
"HoverActionOption_Delete": "Poista",
|
||||
"HoverActionOption_MoveJunk": "Siirrä roskakoriin",
|
||||
"HoverActionOption_ToggleFlag": "Merkitse / Poista merkintä",
|
||||
"HoverActionOption_ToggleRead": "Luettu / Lukematon",
|
||||
"MergedAccountCommonFolderInbox": "Saapuneet",
|
||||
"MergedAccountCommonFolderSent": "Lähetetyt",
|
||||
"MergedAccountCommonFolderDraft": "Draft",
|
||||
"MergedAccountCommonFolderJunk": "Junk",
|
||||
"MergedAccountCommonFolderTrash": "Deleted",
|
||||
"MergedAccountCommonFolderArchive": "Archive",
|
||||
"ImageRenderingDisabled": "Image rendering is disabled for this message.",
|
||||
"ImapAdvancedSetupDialog_AuthenticationMethod": "Authentication method",
|
||||
"ImapAdvancedSetupDialog_ConnectionSecurity": "Connection security",
|
||||
"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": "Auto",
|
||||
"ImapAuthenticationMethod_CramMD5": "CRAM-MD5",
|
||||
"ImapAuthenticationMethod_DigestMD5": "DIGEST-MD5",
|
||||
"ImapAuthenticationMethod_EncryptedPassword": "Encrypted password",
|
||||
"ImapAuthenticationMethod_None": "No authentication",
|
||||
"ImapAuthenticationMethod_Ntlm": "NTLM",
|
||||
"ImapAuthenticationMethod_Plain": "Normal password",
|
||||
"ImapConnectionSecurity_Auto": "Auto",
|
||||
"ImapConnectionSecurity_None": "None",
|
||||
"ImapConnectionSecurity_SslTls": "SSL/TLS",
|
||||
"ImapConnectionSecurity_StartTls": "STARTTLS",
|
||||
"IMAPSetupDialog_AccountType": "Account type",
|
||||
"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": "Subject",
|
||||
"IMAPSetupDialog_CertificateValidFrom": "Valid from",
|
||||
"IMAPSetupDialog_CertificateValidTo": "Valid to",
|
||||
"IMAPSetupDialog_CertificateView": "View Certificate",
|
||||
"IMAPSetupDialog_ConnectionFailedMessage": "IMAP connection failed.",
|
||||
"IMAPSetupDialog_ConnectionFailedTitle": "Connection Failed",
|
||||
"IMAPSetupDialog_DisplayName": "Display Name",
|
||||
"IMAPSetupDialog_DisplayNamePlaceholder": "eg. John Doe",
|
||||
"IMAPSetupDialog_IncomingMailServer": "Incoming mail server",
|
||||
"IMAPSetupDialog_IncomingMailServerPort": "Port",
|
||||
"IMAPSetupDialog_IMAPSettings": "IMAP Server Settings",
|
||||
"IMAPSetupDialog_SMTPSettings": "SMTP Server Settings",
|
||||
"IMAPSetupDialog_MailAddress": "Email address",
|
||||
"IMAPSetupDialog_MailAddressPlaceholder": "someone@example.com",
|
||||
"IMAPSetupDialog_OutgoingMailServer": "Outgoing (SMTP) mail server",
|
||||
@@ -231,26 +290,9 @@
|
||||
"IMAPSetupDialog_RequireSSLForIncomingMail": "Require SSL for incoming email",
|
||||
"IMAPSetupDialog_RequireSSLForOutgoingMail": "Require SSL for outgoing email",
|
||||
"IMAPSetupDialog_Title": "Advanced IMAP Configuration",
|
||||
"IMAPSetupDialog_UseSameConfig": "Use the same username and password for sending email",
|
||||
"IMAPSetupDialog_Username": "Username",
|
||||
"IMAPSetupDialog_UsernamePlaceholder": "johndoe, johndoe@fabrikam.com, domain/johndoe",
|
||||
"IMAPSetupDialog_ConnectionFailedTitle": "Connection Failed",
|
||||
"IMAPSetupDialog_ConnectionFailedMessage": "IMAP connection 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_CertificateIssuer": "Issuer",
|
||||
"IMAPSetupDialog_CertificateSubject": "Subject",
|
||||
"IMAPSetupDialog_CertificateValidFrom": "Valid from",
|
||||
"IMAPSetupDialog_CertificateValidTo": "Valid to",
|
||||
"IMAPSetupDialog_CertificateDenied": "User didn't authorize the handshake with the certificate.",
|
||||
"IMAPSetupDialog_CertificateView": "View Certificate",
|
||||
"ImageRenderingDisabled": "Image rendering is disabled for this message.",
|
||||
"InfoBarAction_Enable": "Enable",
|
||||
"InfoBarMessage_SynchronizationDisabledFolder": "This folder is disabled for synchronization.",
|
||||
"InfoBarTitle_SynchronizationDisabledFolder": "Disabled Folder",
|
||||
"GeneralTitle_Error": "Error",
|
||||
"GeneralTitle_Warning": "Warning",
|
||||
"GeneralTitle_Info": "Information",
|
||||
"IMAPSetupDialog_UseSameConfig": "Use the same username and password for sending email",
|
||||
"Info_AccountCreatedMessage": "{0} is created",
|
||||
"Info_AccountCreatedTitle": "Tilin luominen",
|
||||
"Info_AccountCreationFailedTitle": "Tilin luominen epäonnistui",
|
||||
@@ -269,14 +311,15 @@
|
||||
"Info_BackgroundExecutionDeniedTitle": "Taustakäyttö estetty",
|
||||
"Info_BackgroundExecutionUnknownErrorMessage": "Tuntematon virhe tapahtui rekisteröidessä taustasynkronisoijaa.",
|
||||
"Info_BackgroundExecutionUnknownErrorTitle": "Tausta suoritus epäonnistui",
|
||||
"Info_FailedToOpenFileTitle": "Failed to launch file.",
|
||||
"Info_FailedToOpenFileMessage": "File might be removed from the disk.",
|
||||
"Info_CantDeletePrimaryAliasMessage": "Primary alias can't be deleted. Please change your alias before deleting this one",
|
||||
"Info_ComposerMissingMIMEMessage": "MIME tiedostoa ei löytynyt. Synkronointi voi auttaa.",
|
||||
"Info_ComposerMissingMIMETitle": "Epäonnistui",
|
||||
"Info_ContactExistsMessage": "Tämä yhteystieto on jo vastaanottajalistalla.",
|
||||
"Info_ContactExistsTitle": "Yhteystieto olemassa",
|
||||
"Info_DraftFolderMissingMessage": "Luonnos kansio puuttuu tältä tililtä. Tarkasta tilisi asetukset.",
|
||||
"Info_DraftFolderMissingTitle": "Luonnos kansio puuuttuu",
|
||||
"Info_FailedToOpenFileMessage": "File might be removed from the disk.",
|
||||
"Info_FailedToOpenFileTitle": "Failed to launch file.",
|
||||
"Info_FileLaunchFailedTitle": "Tiedoston avaaminen epäonnistui",
|
||||
"Info_InvalidAddressMessage": "'{0}' ei ole kelvollinen sähköpostiosoite.",
|
||||
"Info_InvalidAddressTitle": "Virheellinen osoite",
|
||||
@@ -286,15 +329,16 @@
|
||||
"Info_LogsNotFoundTitle": "Lokeja ei löytynyt",
|
||||
"Info_LogsSavedMessage": "{0} tallennettiin valittuun kansioon.",
|
||||
"Info_LogsSavedTitle": "Tallennettu",
|
||||
"Info_MailListSizeResetSuccessMessage": "The Mail List size has been reset.",
|
||||
"Info_MailRenderingFailedMessage": "Tämä viesti on vioittunut tai sitä ei voida avata.\n{0}",
|
||||
"Info_MailRenderingFailedTitle": "Renderöinti epäonnistui",
|
||||
"Info_MessageCorruptedMessage": "Tämä viesti on vioittunut.",
|
||||
"Info_MessageCorruptedTitle": "Virhe",
|
||||
"Info_MissingFolderMessage": "{0} ei ole olemassa tällä tilillä.",
|
||||
"Info_MissingFolderTitle": "Puuttuva kansio",
|
||||
"Info_PDFSaveSuccessTitle": "Onnistui",
|
||||
"Info_PDFSaveFailedTitle": "PDF tiedoston tallentaminen epäonnistui",
|
||||
"Info_PDFSaveSuccessMessage": "PDF tiedosto tallennettiin kohteeseen {0}",
|
||||
"Info_PDFSaveSuccessTitle": "Onnistui",
|
||||
"Info_PurchaseExistsMessage": "Näyttää sille, että tämä tuote on ostettu jo aikaisemmin.",
|
||||
"Info_PurchaseExistsTitle": "Tuote olemassa",
|
||||
"Info_PurchaseThankYouMessage": "Kiitos",
|
||||
@@ -314,32 +358,21 @@
|
||||
"Info_SyncCanceledMessage": "Canceled",
|
||||
"Info_SyncCanceledTitle": "Synchronization",
|
||||
"Info_SyncFailedTitle": "Synchronization Failed",
|
||||
"Info_UnsubscribeErrorMessage": "Failed to unsubscribe",
|
||||
"Info_UnsubscribeLinkInvalidMessage": "This unsubscribe link is invalid. Failed to unsubscribe from the list.",
|
||||
"Info_UnsubscribeLinkInvalidTitle": "Invalid Unsubscribe Uri",
|
||||
"Info_UnsubscribeSuccessMessage": "Successfully unsubscribed from {0}.",
|
||||
"Info_UnsupportedFunctionalityDescription": "This functionality is not implemented yet.",
|
||||
"Info_UnsupportedFunctionalityTitle": "Unsupported",
|
||||
"Info_UnsubscribeLinkInvalidTitle": "Invalid Unsubscribe Uri",
|
||||
"Info_UnsubscribeLinkInvalidMessage": "This unsubscribe link is invalid. Failed to unsubscribe from the list.",
|
||||
"Info_UnsubscribeSuccessMessage": "Successfully unsubscribed from {0}.",
|
||||
"Info_UnsubscribeErrorMessage": "Failed to unsubscribe",
|
||||
"Info_CantDeletePrimaryAliasMessage": "Primary alias can't be deleted. Please change your alias before deleting this one",
|
||||
"Info_MailListSizeResetSuccessMessage": "The Mail List size has been reset.",
|
||||
"ImapAdvancedSetupDialog_AuthenticationMethod": "Authentication method",
|
||||
"ImapAdvancedSetupDialog_ConnectionSecurity": "Connection security",
|
||||
"ImapAuthenticationMethod_Auto": "Auto",
|
||||
"ImapAuthenticationMethod_CramMD5": "CRAM-MD5",
|
||||
"ImapAuthenticationMethod_DigestMD5": "DIGEST-MD5",
|
||||
"ImapAuthenticationMethod_None": "No authentication",
|
||||
"ImapAuthenticationMethod_Plain": "Normal password",
|
||||
"ImapAuthenticationMethod_EncryptedPassword": "Encrypted password",
|
||||
"ImapAuthenticationMethod_Ntlm": "NTLM",
|
||||
"ImapConnectionSecurity_None": "None",
|
||||
"ImapConnectionSecurity_SslTls": "SSL/TLS",
|
||||
"ImapConnectionSecurity_StartTls": "STARTTLS",
|
||||
"ImapConnectionSecurity_Auto": "Auto",
|
||||
"InfoBarAction_Enable": "Enable",
|
||||
"InfoBarMessage_SynchronizationDisabledFolder": "This folder is disabled for synchronization.",
|
||||
"InfoBarTitle_SynchronizationDisabledFolder": "Disabled Folder",
|
||||
"Justify": "Justify",
|
||||
"Left": "Left",
|
||||
"Link": "Link",
|
||||
"LinkedAccountsCreatePolicyMessage": "you must have at least 2 accounts to create link\nlink will be removed on save",
|
||||
"LinkedAccountsTitle": "Linked Accounts",
|
||||
"MailItemNoSubject": "No subject",
|
||||
"MailOperation_AlwaysMoveFocused": "Always Move to Focused",
|
||||
"MailOperation_AlwaysMoveOther": "Always Move to Other",
|
||||
"MailOperation_Archive": "Archive",
|
||||
@@ -366,25 +399,32 @@
|
||||
"MailOperation_SaveAs": "Tallenna nimellä",
|
||||
"MailOperation_SetFlag": "Aseta merkintä",
|
||||
"MailOperation_Unarchive": "Poista arkistointi",
|
||||
"MailOperation_Zoom": "Zoomaa",
|
||||
"MailOperation_ViewMessageSource": "View message source",
|
||||
"MailOperation_Zoom": "Zoomaa",
|
||||
"MailsSelected": "{0} kohta(a) valittu",
|
||||
"MarkFlagUnflag": "Merkitse tai poista merkintä",
|
||||
"MarkReadUnread": "Merkitse luetuksi / lukemattomaksi",
|
||||
"MenuManageAccounts": "Tilien hallinta",
|
||||
"MenuNewMail": "Uusi sähköposti",
|
||||
"MenuMergedAccountItemAccountsSuffix": " tilit",
|
||||
"MenuNewMail": "Uusi sähköposti",
|
||||
"MenuRate": "Arvostele Wino",
|
||||
"MenuSettings": "Asetukset",
|
||||
"MergedAccountCommonFolderArchive": "Archive",
|
||||
"MergedAccountCommonFolderDraft": "Draft",
|
||||
"MergedAccountCommonFolderInbox": "Saapuneet",
|
||||
"MergedAccountCommonFolderJunk": "Junk",
|
||||
"MergedAccountCommonFolderSent": "Lähetetyt",
|
||||
"MergedAccountCommonFolderTrash": "Deleted",
|
||||
"MergedAccountsAvailableAccountsTitle": "Saatavilla olevat tilit",
|
||||
"MessageSourceDialog_Title": "Message source",
|
||||
"More": "Lisää",
|
||||
"MoreFolderNameOverride": "More",
|
||||
"MoveMailDialog_InvalidFolderMessage": "{0} ei ole kelvollinen kansio tälle viestille.",
|
||||
"MoveMailDialog_Title": "Valitse kansio",
|
||||
"NewAccountDialog_AccountName": "Tilin nimi",
|
||||
"NewAccountDialog_AccountNameDefaultValue": "Henkilökohtainen",
|
||||
"NewAccountDialog_AccountNamePlaceholder": "esim. Oma sähköposti",
|
||||
"NewAccountDialog_Title": "Lisää uusi tili",
|
||||
"MessageSourceDialog_Title": "Message source",
|
||||
"NoMailSelected": "Ei viestiä valittuna",
|
||||
"NoMessageCrieteria": "Mikään viesti ei vastaa hakuasi",
|
||||
"NoMessageEmptyFolder": "Kansio tyhjä",
|
||||
@@ -392,6 +432,9 @@
|
||||
"Notifications_MultipleNotificationsTitle": "New Mail",
|
||||
"Notifications_WinoUpdatedMessage": "Tarkasta uusi versio {0}",
|
||||
"Notifications_WinoUpdatedTitle": "Wino Mail on päivitetty.",
|
||||
"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": "Muut",
|
||||
"PaneLengthOption_Default": "Oletus",
|
||||
"PaneLengthOption_ExtraLarge": "Extra suuri",
|
||||
@@ -401,64 +444,94 @@
|
||||
"PaneLengthOption_Small": "Pieni",
|
||||
"Photos": "Kuvat",
|
||||
"PreparingFoldersMessage": "Valmistellaan kansioita",
|
||||
"ProtocolLogAvailable_Message": "Protokolla lokit ovat saatavilla diagnostiikkaan.",
|
||||
"ProviderDetail_Gmail_Description": "Google-tili",
|
||||
"ProviderDetail_iCloud_Description": "Apple iCloud Account",
|
||||
"ProviderDetail_iCloud_Title": "iCloud",
|
||||
"ProviderDetail_IMAP_Description": "Mukautettu IMAP/SMTP palvelin",
|
||||
"ProviderDetail_IMAP_Title": "IMAP-palvelin",
|
||||
"ProviderDetail_Yahoo_Title": "Yahoo Mail",
|
||||
"ProviderDetail_Yahoo_Description": "Yahoo Account",
|
||||
"ProviderDetail_iCloud_Title": "iCloud",
|
||||
"ProviderDetail_iCloud_Description": "Apple iCloud Account",
|
||||
"ProtocolLogAvailable_Message": "Protokolla lokit ovat saatavilla diagnostiikkaan.",
|
||||
"ProviderDetail_Yahoo_Title": "Yahoo Mail",
|
||||
"QuickEventDialog_EventName": "Event name",
|
||||
"QuickEventDialog_IsAllDay": "All day",
|
||||
"QuickEventDialog_Location": "Location",
|
||||
"QuickEventDialog_RemindMe": "Remind me",
|
||||
"QuickEventDialogMoreDetailsButtonText": "More details",
|
||||
"Reader_SaveAllAttachmentButtonText": "Tallenna kaikki liitteet",
|
||||
"Results": "Tulokset",
|
||||
"Right": "Oikea",
|
||||
"Reader_SaveAllAttachmentButtonText": "Tallenna kaikki liitteet",
|
||||
"SynchronizationFolderReport_Success": "up to date",
|
||||
"SynchronizationFolderReport_Failed": "synchronization is failed",
|
||||
"SearchBarPlaceholder": "Search",
|
||||
"SearchingIn": "Searching in",
|
||||
"SearchPivotName": "Results",
|
||||
"SettingsAboutGithub_Description": "Go to issue tracker GitHub repository.",
|
||||
"SettingsAboutGithub_Title": "GitHub",
|
||||
"SettingsAccountManagementAppendMessage_Title": "Append messages to Sent folder",
|
||||
"SettingsAccountManagementAppendMessage_Description": "Create a copy of the message in Sent folder after the draft is sent. Enable this if you don't see your mails after you sent them in Sent folder.",
|
||||
"SettingsEditLinkedInbox_Title": "Edit Linked Inbox",
|
||||
"SettingsEditLinkedInbox_Description": "Add / remove accounts, rename or break the link between accounts.",
|
||||
"SettingsAboutVersion": "Version ",
|
||||
"SettingsAboutWinoDescription": "Lightweight mail client for Windows device families.",
|
||||
"SettingConfigureSpecialFolders_Button": "Configure",
|
||||
"SettingsEditAccountDetails_IMAPConfiguration_Title": "IMAP/SMTP Configuration",
|
||||
"SettingsEditAccountDetails_IMAPConfiguration_Description": "Change your incoming/outgoing server settings.",
|
||||
"SettingsAbout_Description": "Learn more about Wino.",
|
||||
"SettingsAbout_Title": "About",
|
||||
"SettingsAboutGithub_Description": "Go to issue tracker GitHub repository.",
|
||||
"SettingsAboutGithub_Title": "GitHub",
|
||||
"SettingsAboutVersion": "Version ",
|
||||
"SettingsAboutWinoDescription": "Lightweight mail client for Windows device families.",
|
||||
"SettingsAccentColor_Description": "Change application's accent color",
|
||||
"SettingsAccentColor_Title": "Accent Color",
|
||||
"SettingsAccentColor_UseWindowsAccentColor": "Use my Windows accent color",
|
||||
"SettingsAccountManagementAppendMessage_Description": "Create a copy of the message in Sent folder after the draft is sent. Enable this if you don't see your mails after you sent them in Sent folder.",
|
||||
"SettingsAccountManagementAppendMessage_Title": "Append messages to Sent folder",
|
||||
"SettingsAccountName_Description": "Change the name of the account.",
|
||||
"SettingsAccountName_Title": "Account Name",
|
||||
"SettingsApplicationTheme_Description": "Personalize Wino with different custom application themes for your like.",
|
||||
"SettingsApplicationTheme_Title": "Application Theme",
|
||||
"SettingsAppPreferences_CloseBehavior_Description": "What should happen when you close the app?",
|
||||
"SettingsAppPreferences_CloseBehavior_Title": "Application close behavior",
|
||||
"SettingsAppPreferences_Description": "General settings / preferences for Wino Mail.",
|
||||
"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": "Default search mode",
|
||||
"SettingsAppPreferences_ServerBackgroundingMode_Invisible_Description": "Wino Mail will keep running in the background. You will be notified as new mails arrive.",
|
||||
"SettingsAppPreferences_ServerBackgroundingMode_Invisible_Title": "Run in the background",
|
||||
"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": "Minimize to system tray",
|
||||
"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": "Terminate",
|
||||
"SettingsAppPreferences_StartupBehavior_Description": "Allow Wino Mail to launch minimized when Windows starts. Always allow it to receive notifications.",
|
||||
"SettingsAppPreferences_StartupBehavior_Disable": "Disable",
|
||||
"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": "Enable",
|
||||
"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 minimized on Windows startup",
|
||||
"SettingsAppPreferences_Title": "App Preferences",
|
||||
"SettingsAutoSelectNextItem_Description": "Select the next item after you delete or move a mail.",
|
||||
"SettingsAutoSelectNextItem_Title": "Auto select next item",
|
||||
"SettingsAvailableThemes_Description": "Select a theme from Wino's own collection for your taste or apply your own themes.",
|
||||
"SettingsAvailableThemes_Title": "Available Themes",
|
||||
"SettingsAutoSelectNextItem_Title": "Auto select next item",
|
||||
"SettingsAutoSelectNextItem_Description": "Select the next item after you delete or move a mail.",
|
||||
"SettingsCalendarSettings_Title": "Calendar Settings",
|
||||
"SettingsCalendarSettings_Description": "Change first day of week, hour cell height and more...",
|
||||
"SettingsCalendarSettings_Title": "Calendar Settings",
|
||||
"SettingsComposer_Title": "Composer",
|
||||
"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": "Create your own custom theme with custom wallpaper and accent color.",
|
||||
"SettingsCustomTheme_Title": "Custom Theme",
|
||||
"SettingsConfigureSpecialFolders_Title": "Configure System Folders",
|
||||
"SettingsConfigureSpecialFolders_Description": "Set folders with special functions. Folders such as Archive, Inbox, and Drafts are essential for Wino to function properly.",
|
||||
"SettingConfigureSpecialFolders_Button": "Configure",
|
||||
"Error_FailedToSetupSystemFolders_Title": "Failed to setup system folders",
|
||||
"SettingsDeleteAccount_Description": "Delete all e-mails and credentials associated with this account.",
|
||||
"SettingsDeleteAccount_Title": "Delete this account",
|
||||
"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.",
|
||||
"SettingsDiagnostics_DiagnosticId_Title": "Diagnostic ID",
|
||||
"SettingsDiagnostics_Title": "Diagnostics",
|
||||
"SettingsDiagnostics_DiagnosticId_Title": "Diagnostic Id",
|
||||
"SettingsDiagnostics_DiagnosticId_Description": "Share this Id with the developers when asked to get help for the issues you experience in Wino Mail.",
|
||||
"SettingsDiscord_Description": "Get regular development updates, join roadmap discussions and provide feedback.",
|
||||
"SettingsDiscord_Title": "Discord Channel",
|
||||
"SettingsElementThemeSelectionDisabled": "Element theme selection is disabled when application theme is selected other than Default.",
|
||||
"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",
|
||||
@@ -471,12 +544,15 @@
|
||||
"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",
|
||||
"SettingsFolderOptions_Title": "Folder Configuration",
|
||||
"SettingsFolderOptions_Description": "Change individual folder settings like enable/disable sync or show/hide unread badge.",
|
||||
"SettingsManageAliases_Title": "Aliases",
|
||||
"SettingsManageAliases_Description": "See e-mail aliases assigned for this account, update or delete them.",
|
||||
"SettingsFontFamily_Title": "Font Family",
|
||||
"SettingsFontPreview_Title": "Preview",
|
||||
"SettingsFontSize_Title": "Font Size",
|
||||
"SettingsHoverActionCenter": "Center Action",
|
||||
"SettingsHoverActionLeft": "Left Action",
|
||||
"SettingsHoverActionRight": "Right Action",
|
||||
@@ -484,44 +560,25 @@
|
||||
"SettingsHoverActions_Title": "Hover Actions",
|
||||
"SettingsLanguage_Description": "Change display language for Wino.",
|
||||
"SettingsLanguage_Title": "Display Language",
|
||||
"SettingsLanguageTime_Title": "Language & Time",
|
||||
"SettingsLanguageTime_Description": "Wino display language, preferred time format.",
|
||||
"CategoriesFolderNameOverride": "Categories",
|
||||
"AccountAlias_Column_Verified": "Verified",
|
||||
"AccountAlias_Column_Alias": "Alias",
|
||||
"AccountAlias_Column_IsPrimaryAlias": "Primary",
|
||||
"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.",
|
||||
"MoreFolderNameOverride": "More",
|
||||
"SettingsOptions_Title": "Settings",
|
||||
"SettingsLanguageTime_Title": "Language & Time",
|
||||
"SettingsLinkAccounts_Description": "Merge multiple accounts into one. See mails from one Inbox together.",
|
||||
"SettingsLinkAccounts_Title": "Create Linked Accounts",
|
||||
"SettingsLinkedAccountsSave_Description": "Modify the current link with the new accounts.",
|
||||
"SettingsLinkedAccountsSave_Title": "Save Changes",
|
||||
"SettingsLoadImages_Title": "Load images automatically",
|
||||
"SettingsLoadStyles_Title": "Load styles automatically",
|
||||
"SettingsLoadPlaintextLinks_Title": "Convert plaintext links to clickable links",
|
||||
"SettingsLoadStyles_Title": "Load styles automatically",
|
||||
"SettingsMailListActionBar_Description": "Hide/show action bar at top of message list.",
|
||||
"SettingsMailListActionBar_Title": "Show mail list actions",
|
||||
"SettingsMailSpacing_Description": "Adjust the spacing for listing mails.",
|
||||
"SettingsMailSpacing_Title": "Mail Spacing",
|
||||
"SettingsFolderMenuStyle_Title": "Create Nested Folders",
|
||||
"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",
|
||||
"SettingsManageAccountSettings_Description": "Notifications, signatures, synchronization and other settings per account.",
|
||||
"SettingsManageAccountSettings_Title": "Manage Account Settings",
|
||||
"SettingsAppPreferences_Title": "App Preferences",
|
||||
"SettingsAppPreferences_Description": "General settings / preferences for Wino Mail.",
|
||||
"SettingsAppPreferences_CloseBehavior_Title": "Application close behavior",
|
||||
"SettingsAppPreferences_CloseBehavior_Description": "What should happen when you close the app?",
|
||||
"SettingsAppPreferences_StartupBehavior_Title": "Start minimized on Windows startup",
|
||||
"SettingsAppPreferences_StartupBehavior_Description": "Allow Wino Mail to launch minimized when Windows starts. Always allow it to receive notifications.",
|
||||
"SettingsAppPreferences_StartupBehavior_Enabled": "Wino Mail successfully set to be launched in the background on Windows startup.",
|
||||
"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_FatalError": "Fatal error occurred while changing the startup mode for Wino Mail.",
|
||||
"SettingsAppPreferences_StartupBehavior_Enable": "Enable",
|
||||
"SettingsAppPreferences_StartupBehavior_Disable": "Disable",
|
||||
"SettingsReorderAccounts_Title": "Reorder Accounts",
|
||||
"SettingsReorderAccounts_Description": "Change the order of accounts in the account list.",
|
||||
"SettingsManageAliases_Description": "See e-mail aliases assigned for this account, update or delete them.",
|
||||
"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.",
|
||||
@@ -535,59 +592,71 @@
|
||||
"SettingsNoAccountSetupMessage": "You didn't setup any accounts yet.",
|
||||
"SettingsNotifications_Description": "Turn on or off notifications for this account.",
|
||||
"SettingsNotifications_Title": "Notifications",
|
||||
"SettingsNotificationsAndTaskbar_Title": "Notifications & Taskbar",
|
||||
"SettingsTaskbarBadge_Title": "Taskbar Badge",
|
||||
"SettingsTaskbarBadge_Description": "Include unread mail count in taskbar icon.",
|
||||
"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",
|
||||
"SettingsPersonalization_Description": "Change appearance of Wino as you like.",
|
||||
"SettingsPersonalization_Title": "Personalization",
|
||||
"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",
|
||||
"SettingsReader_Title": "Reader",
|
||||
"SettingsComposer_Title": "Composer",
|
||||
"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.",
|
||||
"SettingsFontFamily_Title": "Font Family",
|
||||
"SettingsFontSize_Title": "Font Size",
|
||||
"SettingsFontPreview_Title": "Preview",
|
||||
"SettingsComposerFont_Title": "Default Composer Font",
|
||||
"SettingsComposerFontFamily_Description": "Change the default font family and font size for composing 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",
|
||||
"SettingsPrefer24HourClock_Title": "Display Clock Format in 24 Hours",
|
||||
"SettingsPrefer24HourClock_Description": "Mail recieve times will be displayed in 24 hour format instead of 12 (AM/PM)",
|
||||
"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",
|
||||
"SettingsMailListActionBar_Description": "Hide/show action bar at top of message list.",
|
||||
"SettingsMailListActionBar_Title": "Show mail list actions",
|
||||
"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.",
|
||||
@@ -601,11 +670,15 @@
|
||||
"SystemFolderConfigDialog_SentFolderDescription": "Folder that sent messages will be stored.",
|
||||
"SystemFolderConfigDialog_SentFolderHeader": "Sent Folder",
|
||||
"SystemFolderConfigDialog_Title": "Configure System Folders",
|
||||
"SystemFolderConfigDialogValidation_InboxSelected": "You can't assign Inbox folder to any other system folder.",
|
||||
"SystemFolderConfigDialogValidation_DuplicateSystemFolders": "Some of the system folders are used more than once in the configuration.",
|
||||
"SystemFolderConfigSetupSuccess_Title": "System Folders Setup",
|
||||
"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",
|
||||
@@ -616,37 +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",
|
||||
"SignatureEditorDialog_Title": "Signature Editor",
|
||||
"SignatureEditorDialog_SignatureName_Placeholder": "Name your signature",
|
||||
"SignatureEditorDialog_SignatureName_TitleNew": "Signature name",
|
||||
"SignatureEditorDialog_SignatureName_TitleEdit": "Current signature name: {0}",
|
||||
"SignatureDeleteDialog_Title": "Delete signature",
|
||||
"SignatureDeleteDialog_Message": "Are you sure you want to delete \"{0}\" signature?",
|
||||
"SettingsSignature_ForNewMessages_Title": "For New Messages",
|
||||
"SettingsSignature_ForFollowingMessages_Title": "For Replies/Forwards",
|
||||
"SettingsSignature_SignatureDefaults": "Signature defaults",
|
||||
"SettingsSignature_Signatures": "Signatures",
|
||||
"SettingsSignature_AddCustomSignature_Title": "Add custom signature",
|
||||
"SettingsSignature_AddCustomSignature_Button": "Add signature",
|
||||
"SettingsSignature_EditSignature_Title": "Edit signature",
|
||||
"SettingsSignature_DeleteSignature_Title": "Delete signature",
|
||||
"SettingsSignature_NoneSignatureName": "None",
|
||||
"SettingsAppPreferences_ServerBackgroundingMode_MinimizeTray_Title": "Minimize to system tray",
|
||||
"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_Invisible_Title": "Run in the background",
|
||||
"SettingsAppPreferences_ServerBackgroundingMode_Invisible_Description": "Wino Mail will keep running in the background. You will be notified as new mails arrive.",
|
||||
"SettingsAppPreferences_ServerBackgroundingMode_Terminate_Title": "Terminate",
|
||||
"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.",
|
||||
"TitleBarServerDisconnectedButton_Title": "no connection",
|
||||
"TitleBarServerDisconnectedButton_Description": "Wino is disconnected from the network. Click reconnect to restore connection.",
|
||||
"TitleBarServerReconnectButton_Title": "reconnect",
|
||||
"TitleBarServerReconnectingButton_Title": "connecting",
|
||||
"MailItemNoSubject": "No subject",
|
||||
"QuickEventDialogMoreDetailsButtonText": "More details",
|
||||
"QuickEventDialog_RemindMe": "Remind me",
|
||||
"QuickEventDialog_Location": "Location",
|
||||
"QuickEventDialog_EventName": "Event name",
|
||||
"QuickEventDialog_IsAllDay": "All day"
|
||||
"Yesterday": "Yesterday"
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -1,29 +1,40 @@
|
||||
{
|
||||
"AccountAlias_Column_Alias": "Alias",
|
||||
"AccountAlias_Column_IsPrimaryAlias": "Principal",
|
||||
"AccountAlias_Column_Verified": "Vérifié",
|
||||
"AccountAlias_Disclaimer_FirstLine": "Wino peut uniquement importer des alias pour vos comptes Gmail.",
|
||||
"AccountAlias_Disclaimer_SecondLine": "Si vous souhaitez utiliser des alias pour votre compte Outlook ou IMAP, veuillez les ajouter manuellement.",
|
||||
"AccountCacheReset_Title": "Réinitialiser le cache du compte",
|
||||
"AccountCacheReset_Message": "Ce compte nécessite une resynchronisation complète pour continuer à fonctionner. Veuillez patienter pendant que Wino synchronise à nouveau vos messages...",
|
||||
"AccountContactNameYou": "Vous",
|
||||
"AccountCreationDialog_Completed": "tout est prêt",
|
||||
"AccountCreationDialog_Initializing": "initialisation",
|
||||
"AccountCreationDialog_PreparingFolders": "Récupération des informations du dossier.",
|
||||
"AccountCreationDialog_SigninIn": "Enregistrement des informations du compte.",
|
||||
"AccountCreationDialog_FetchingProfileInformation": "Récupération des détails du profil.",
|
||||
"AccountCreationDialog_FetchingEvents": "Récupération des événements de l'agenda.",
|
||||
"AccountCreationDialog_FetchingProfileInformation": "Récupération des détails du profil.",
|
||||
"AccountCreationDialog_GoogleAuthHelpClipboardText_Row0": "Si votre navigateur ne se lance pas automatiquement pour terminer l'authentification :",
|
||||
"AccountCreationDialog_GoogleAuthHelpClipboardText_Row1": "1) Cliquez sur le bouton ci-dessous pour copier l'adresse d'authentification",
|
||||
"AccountCreationDialog_GoogleAuthHelpClipboardText_Row2": "2) Lancez votre navigateur web (Edge, Chrome, Firefox…)",
|
||||
"AccountCreationDialog_GoogleAuthHelpClipboardText_Row3": "3) Collez l'adresse copiée et allez sur le site Web pour terminer l'authentification manuellement.",
|
||||
"AccountCreationDialog_Initializing": "initialisation",
|
||||
"AccountCreationDialog_PreparingFolders": "Récupération des informations du dossier.",
|
||||
"AccountCreationDialog_SigninIn": "Enregistrement des informations du compte.",
|
||||
"AccountEditDialog_Message": "Nom du compte",
|
||||
"AccountEditDialog_Title": "Modifier le compte",
|
||||
"AccountPickerDialog_Title": "Choisir un compte",
|
||||
"AccountSettingsDialog_AccountName": "Nom d'affichage de l'expéditeur",
|
||||
"AccountSettingsDialog_AccountNamePlaceholder": "ex. Jean Dupont",
|
||||
"AccountDetailsPage_Title": "Détails du compte",
|
||||
"AccountDetailsPage_Description": "Modifiez le nom du compte dans Wino et définissez le nom de l'expéditeur désiré.",
|
||||
"AccountDetailsPage_ColorPicker_Title": "Couleur du compte",
|
||||
"AccountDetailsPage_ColorPicker_Description": "Attribuez une nouvelle couleur de compte pour coloriser son symbole dans la liste.",
|
||||
"AddHyperlink": "Ajouter",
|
||||
"AccountContactNameYou": "You",
|
||||
"AutoDiscoveryProgressMessage": "Recherche des paramètres de messagerie...",
|
||||
"AppCloseBackgroundSynchronizationWarningTitle": "Synchronisation en arrière-plan",
|
||||
"AppCloseTerminateBehaviorWarningMessageFirstLine": "Vous êtes en train de fermer Wino Mail et le comportement de fermeture de votre application est réglé sur « Arrêter ».",
|
||||
"AppCloseTerminateBehaviorWarningMessageSecondLine": "Cela arrêtera toutes les synchronisations en arrière-plan et les notifications.",
|
||||
"AppCloseTerminateBehaviorWarningMessageThirdLine": "Voulez-vous aller dans les préférences de l'application pour configurer Wino Mail pour qu'il s'exécute minimisé ou en arrière-plan ?",
|
||||
"AppCloseStartupLaunchDisabledWarningMessageFirstLine": "L'application n'a pas été configurée pour être lancée au démarrage de Windows.",
|
||||
"AppCloseStartupLaunchDisabledWarningMessageSecondLine": "Cela vous fera manquer des notifications lorsque vous redémarrerez votre ordinateur.",
|
||||
"AppCloseStartupLaunchDisabledWarningMessageThirdLine": "Voulez-vous aller sur la page des préférences de l'application pour l'activer ?",
|
||||
"AppCloseTerminateBehaviorWarningMessageFirstLine": "Vous êtes en train de fermer Wino Mail et le comportement de fermeture de votre application est réglé sur « Arrêter ».",
|
||||
"AppCloseTerminateBehaviorWarningMessageSecondLine": "Cela arrêtera toutes les synchronisations en arrière-plan et les notifications.",
|
||||
"AppCloseTerminateBehaviorWarningMessageThirdLine": "Voulez-vous aller dans les préférences de l'application pour configurer Wino Mail pour qu'il s'exécute minimisé ou en arrière-plan ?",
|
||||
"AutoDiscoveryProgressMessage": "Recherche des paramètres de messagerie...",
|
||||
"BasicIMAPSetupDialog_AdvancedConfiguration": "Paramètres avancés",
|
||||
"BasicIMAPSetupDialog_CredentialLocalMessage": "Vos identifiants seront uniquement stockés sur votre ordinateur.",
|
||||
"BasicIMAPSetupDialog_Description": "Certains comptes requièrent des étapes supplémentaires pour se connecter",
|
||||
@@ -34,48 +45,63 @@
|
||||
"BasicIMAPSetupDialog_MailAddressPlaceholder": "jeandupont@exemple.fr",
|
||||
"BasicIMAPSetupDialog_Password": "Mot de passe",
|
||||
"BasicIMAPSetupDialog_Title": "Compte IMAP",
|
||||
"Busy": "Occupé",
|
||||
"Buttons_AddAccount": "Ajouter un compte",
|
||||
"Buttons_AddNewAlias": "Ajouter un nouvel alias",
|
||||
"Buttons_Allow": "Autoriser",
|
||||
"Buttons_Deny": "Refuser",
|
||||
"Buttons_SyncAliases": "Synchroniser les alias",
|
||||
"Buttons_ApplyTheme": "Appliquer le thème",
|
||||
"Buttons_Browse": "Parcourir",
|
||||
"Buttons_Cancel": "Annuler",
|
||||
"Buttons_Close": "Fermer",
|
||||
"Buttons_Copy": "Copier",
|
||||
"Buttons_Create": "Créer",
|
||||
"Buttons_CreateAccount": "Créer un compte",
|
||||
"Buttons_Copy": "Copier",
|
||||
"Buttons_Delete": "Supprimer",
|
||||
"Buttons_Edit": "Éditer",
|
||||
"Buttons_Deny": "Refuser",
|
||||
"Buttons_Discard": "Abandonner",
|
||||
"Buttons_Edit": "Éditer",
|
||||
"Buttons_EnableImageRendering": "Activer",
|
||||
"Buttons_Multiselect": "Sélectionner",
|
||||
"Buttons_No": "Non",
|
||||
"Buttons_Open": "Ouvrir",
|
||||
"Buttons_Purchase": "Acheter",
|
||||
"Buttons_RateWino": "Évaluer Wino",
|
||||
"Buttons_Reset": "Réinitialiser",
|
||||
"Buttons_Save": "Enregistrer",
|
||||
"Buttons_SaveConfiguration": "Enregistrer la configuration",
|
||||
"Buttons_Send": "Envoyer",
|
||||
"Buttons_Share": "Partager",
|
||||
"Buttons_SignIn": "Connexion",
|
||||
"Buttons_Sync": "Synchroniser",
|
||||
"Buttons_SyncAliases": "Synchroniser les alias",
|
||||
"Buttons_TryAgain": "Réessayer",
|
||||
"Buttons_Yes": "Oui",
|
||||
"Buttons_Reset": "Réinitialiser",
|
||||
"Buttons_Send": "Envoyer",
|
||||
"Buttons_Sync": "Synchroniser",
|
||||
"Buttons_Multiselect": "Sélectionner",
|
||||
"CalendarAllDayEventSummary": "événements d'une journée entière",
|
||||
"CalendarDisplayOptions_Color": "Couleur ",
|
||||
"CalendarDisplayOptions_Expand": "Agrandir",
|
||||
"CalendarItem_DetailsPopup_JoinOnline": "Rejoindre en ligne",
|
||||
"CalendarItem_DetailsPopup_ViewEventButton": "Afficher l'événement",
|
||||
"CalendarItem_DetailsPopup_ViewSeriesButton": "Afficher les séries",
|
||||
"CalendarItemAllDay": "toute la journée",
|
||||
"CategoriesFolderNameOverride": "Catégories",
|
||||
"Center": "Centrer",
|
||||
"ComingSoon": "Bientôt disponible...",
|
||||
"ComposerFrom": "De : ",
|
||||
"ComposerSubject": "Objet : ",
|
||||
"ComposerTo": "À : ",
|
||||
"ClipboardTextCopied_Message": "{0} copié dans le presse-papiers.",
|
||||
"ClipboardTextCopied_Title": "Copié",
|
||||
"ClipboardTextCopyFailed_Message": "Échec de la copie de {0} dans le presse-papiers.",
|
||||
"ComposerToPlaceholder": "cliquer sur entrée pour saisir les adresses",
|
||||
"ComposerAttachmentsDropZone_Message": "Déposez vos fichiers ici",
|
||||
"ComposerImagesDropZone_Message": "Déposez vos images ici",
|
||||
"ComingSoon": "Bientôt disponible...",
|
||||
"ComposerAttachmentsDragDropAttach_Message": "Attacher",
|
||||
"ComposerAttachmentsDropZone_Message": "Déposez vos fichiers ici",
|
||||
"ComposerFrom": "De : ",
|
||||
"ComposerImagesDropZone_Message": "Déposez vos images ici",
|
||||
"ComposerSubject": "Objet : ",
|
||||
"ComposerTo": "À : ",
|
||||
"ComposerToPlaceholder": "cliquer sur entrée pour saisir les adresses",
|
||||
"CreateAccountAliasDialog_AliasAddress": "Adresse",
|
||||
"CreateAccountAliasDialog_AliasAddressPlaceholder": "par ex. support@mondomaine.com",
|
||||
"CreateAccountAliasDialog_Description": "Assurez-vous que votre serveur sortant autorise l'envoi de courriers à partir de cet alias.",
|
||||
"CreateAccountAliasDialog_ReplyToAddress": "Adresse de réponse",
|
||||
"CreateAccountAliasDialog_ReplyToAddressPlaceholder": "admin@mondomaine.com",
|
||||
"CreateAccountAliasDialog_Title": "Créer un alias de compte",
|
||||
"CustomThemeBuilder_AccentColorDescription": "Définir une couleur d'accentuation personnalisée. Si aucune couleur n'est sélectionnée, la couleur d'accentuation Windows sera utilisée.",
|
||||
"CustomThemeBuilder_AccentColorTitle": "Couleur d'accentuation",
|
||||
"CustomThemeBuilder_PickColor": "Choisir",
|
||||
@@ -84,70 +110,57 @@
|
||||
"CustomThemeBuilder_Title": "Générateur de thèmes personnalisés",
|
||||
"CustomThemeBuilder_WallpaperDescription": "Définir un fond d'écran personnalisé pour Wino",
|
||||
"CustomThemeBuilder_WallpaperTitle": "Fond d'écran personnalisé",
|
||||
"Dialog_DontAskAgain": "Ne plus demander",
|
||||
"DialogMessage_AccountLimitMessage": "Vous avez atteint la limite de création de compte.\nVoulez-vous acheter le module 'Compte illimité' pour continuer ?",
|
||||
"DialogMessage_AccountLimitTitle": "Limite de compte atteinte",
|
||||
"DialogMessage_AliasNotSelectedTitle": "Alias manquant",
|
||||
"DialogMessage_AliasNotSelectedMessage": "Vous devez sélectionner un alias avant d'envoyer un message.",
|
||||
"DialogMessage_AliasExistsTitle": "Alias existant",
|
||||
"DialogMessage_AliasExistsMessage": "Cet alias est déjà utilisé.",
|
||||
"DialogMessage_InvalidAliasTitle": "Alias non valide",
|
||||
"DialogMessage_InvalidAliasMessage": "Cet alias n'est pas valide. Assurez-vous que toutes les adresses de l'alias sont des adresses e-mail valides.",
|
||||
"DialogMessage_CantDeleteRootAliasTitle": "Impossible de supprimer l'alias",
|
||||
"DialogMessage_CantDeleteRootAliasMessage": "L'alias racine ne peut pas être supprimé. C'est votre identité principale associée à la configuration de votre compte.",
|
||||
"DialogMessage_AliasCreatedTitle": "Nouvel alias créé",
|
||||
"DialogMessage_AliasCreatedMessage": "Le nouvel alias a été créé avec succès.",
|
||||
"DialogMessage_AliasCreatedTitle": "Nouvel alias créé",
|
||||
"DialogMessage_AliasExistsMessage": "Cet alias est déjà utilisé.",
|
||||
"DialogMessage_AliasExistsTitle": "Alias existant",
|
||||
"DialogMessage_AliasNotSelectedMessage": "Vous devez sélectionner un alias avant d'envoyer un message.",
|
||||
"DialogMessage_AliasNotSelectedTitle": "Alias manquant",
|
||||
"DialogMessage_CantDeleteRootAliasMessage": "L'alias racine ne peut pas être supprimé. C'est votre identité principale associée à la configuration de votre compte.",
|
||||
"DialogMessage_CantDeleteRootAliasTitle": "Impossible de supprimer l'alias",
|
||||
"DialogMessage_CleanupFolderMessage": "Voulez-vous supprimer définitivement tous les messages de ce dossier ?",
|
||||
"DialogMessage_CleanupFolderTitle": "Nettoyer le dossier",
|
||||
"DialogMessage_ComposerMissingRecipientMessage": "Le message n'a pas de destinataire.",
|
||||
"DialogMessage_ComposerValidationFailedTitle": "Validation échouée",
|
||||
"DialogMessage_CreateLinkedAccountMessage": "Donnez un nom à ce nouveau lien. Les comptes seront fusionnés sous ce nom.",
|
||||
"DialogMessage_CreateLinkedAccountTitle": "Nom du lien des comptes liés",
|
||||
"DialogMessage_PrintingFailedMessage": "Impossible d'imprimer ce courrier. Résultat : {0}",
|
||||
"DialogMessage_PrintingFailedTitle": "Échec",
|
||||
"DialogMessage_PrintingSuccessTitle": "Succès",
|
||||
"DialogMessage_PrintingSuccessMessage": "Courrier envoyé à l'imprimante.",
|
||||
"DialogMessage_DeleteAccountConfirmationMessage": "Supprimer {0} ?",
|
||||
"DialogMessage_DeleteAccountConfirmationTitle": "Toutes les données associées à ce compte seront définitivement supprimées du disque.",
|
||||
"DialogMessage_DiscardDraftConfirmationMessage": "Ce brouillon sera supprimé. Voulez-vous continuer ?",
|
||||
"DialogMessage_DiscardDraftConfirmationTitle": "Supprimer le brouillon",
|
||||
"DialogMessage_EmptySubjectConfirmation": "Objet manquant",
|
||||
"DialogMessage_EmptySubjectConfirmationMessage": "Le message n'a pas d'objet. Voulez-vous continuer ?",
|
||||
"DialogMessage_EnableStartupLaunchDeniedMessage": "Vous pouvez activer le lancement au démarrage depuis Paramètres -> Préférences de l'application.",
|
||||
"DialogMessage_EnableStartupLaunchMessage": "Laissez Wino Mail se lancer automatiquement au démarrage de Windows pour ne pas manquer de notifications.\n\nVoulez-vous activer le lancement au démarrage ?",
|
||||
"DialogMessage_EnableStartupLaunchTitle": "Activer le lancement au démarrage",
|
||||
"DialogMessage_HardDeleteConfirmationMessage": "Supprimer définitivement",
|
||||
"DialogMessage_HardDeleteConfirmationTitle": "Le ou les messages seront supprimés définitivement. Voulez-vous continuer ?",
|
||||
"DialogMessage_InvalidAliasMessage": "Cet alias n'est pas valide. Assurez-vous que toutes les adresses de l'alias sont des adresses e-mail valides.",
|
||||
"DialogMessage_InvalidAliasTitle": "Alias non valide",
|
||||
"DialogMessage_NoAccountsForCreateMailMessage": "Vous n'avez aucun compte pour créer un message.",
|
||||
"DialogMessage_NoAccountsForCreateMailTitle": "Compte manquant",
|
||||
"DialogMessage_PrintingFailedMessage": "Impossible d'imprimer ce courrier. Résultat : {0}",
|
||||
"DialogMessage_PrintingFailedTitle": "Échec",
|
||||
"DialogMessage_PrintingSuccessMessage": "Courrier envoyé à l'imprimante.",
|
||||
"DialogMessage_PrintingSuccessTitle": "Succès",
|
||||
"DialogMessage_RenameFolderMessage": "Saisir un nouveau nom pour ce dossier",
|
||||
"DialogMessage_RenameFolderTitle": "Renommer le dossier",
|
||||
"DialogMessage_RenameLinkedAccountsMessage": "Entrez un nouveau nom pour le compte lié",
|
||||
"DialogMessage_RenameLinkedAccountsTitle": "Changer le nom du lien des comptes",
|
||||
"DialogMessage_UnlinkAccountsConfirmationMessage": "Cette opération ne supprimera pas vos comptes mais ne supprimera que le lien pour les connexions de dossiers partagés. Voulez-vous continuer ?",
|
||||
"DialogMessage_UnlinkAccountsConfirmationTitle": "Dissocier les comptes",
|
||||
"DialogMessage_EmptySubjectConfirmation": "Objet manquant",
|
||||
"DialogMessage_EmptySubjectConfirmationMessage": "Le message n'a pas d'objet. Voulez-vous continuer ?",
|
||||
"DialogMessage_RenameFolderTitle": "Renommer le dossier",
|
||||
"DialogMessage_RenameFolderMessage": "Saisir un nouveau nom pour ce dossier",
|
||||
"DialogMessage_UnsubscribeConfirmationTitle": "Se désabonner",
|
||||
"DialogMessage_UnsubscribeConfirmationOneClickMessage": "Voulez-vous arrêter de recevoir les messages de {0}?",
|
||||
"DialogMessage_UnsubscribeConfirmationGoToWebsiteMessage": "Pour ne plus recevoir de messages de {0}, rendez-vous sur leur site web pour vous désabonner.",
|
||||
"DialogMessage_UnsubscribeConfirmationGoToWebsiteConfirmButton": "Accéder au site Web",
|
||||
"DialogMessage_UnsubscribeConfirmationGoToWebsiteMessage": "Pour ne plus recevoir de messages de {0}, rendez-vous sur leur site web pour vous désabonner.",
|
||||
"DialogMessage_UnsubscribeConfirmationMailtoMessage": "Souhaitez-vous ne plus recevoir de messages de la part de {0} ? Wino se désabonnera pour vous en envoyant un e-mail de votre compte e-mail à {1}.",
|
||||
"DialogMessage_EnableStartupLaunchTitle": "Activer le lancement au démarrage",
|
||||
"DialogMessage_EnableStartupLaunchMessage": "Laissez Wino Mail se lancer automatiquement au démarrage de Windows pour ne pas manquer de notifications.\n\nVoulez-vous activer le lancement au démarrage ?",
|
||||
"DialogMessage_EnableStartupLaunchDeniedMessage": "Vous pouvez activer le lancement au démarrage depuis Paramètres -> Préférences de l'application.",
|
||||
"Dialog_DontAskAgain": "Ne plus demander",
|
||||
"CalendarAllDayEventSummary": "événements d'une journée entière",
|
||||
"CalendarItemAllDay": "toute la journée",
|
||||
"CalendarItem_DetailsPopup_JoinOnline": "Rejoindre en ligne",
|
||||
"CalendarItem_DetailsPopup_ViewEventButton": "Afficher l'événement",
|
||||
"CalendarItem_DetailsPopup_ViewSeriesButton": "View series",
|
||||
"CalendarDisplayOptions_Expand": "Agrandir",
|
||||
"CalendarDisplayOptions_Color": "Couleur ",
|
||||
"CreateAccountAliasDialog_Title": "Créer un alias de compte",
|
||||
"CreateAccountAliasDialog_Description": "Assurez-vous que votre serveur sortant autorise l'envoi de courriers à partir de cet alias.",
|
||||
"CreateAccountAliasDialog_AliasAddress": "Adresse",
|
||||
"CreateAccountAliasDialog_AliasAddressPlaceholder": "par ex. support@mondomaine.com",
|
||||
"CreateAccountAliasDialog_ReplyToAddress": "Adresse de réponse",
|
||||
"CreateAccountAliasDialog_ReplyToAddressPlaceholder": "admin@mondomaine.com",
|
||||
"DialogMessage_UnsubscribeConfirmationOneClickMessage": "Voulez-vous arrêter de recevoir les messages de {0}?",
|
||||
"DialogMessage_UnsubscribeConfirmationTitle": "Se désabonner",
|
||||
"DiscordChannelDisclaimerMessage": "Wino n'a pas son propre serveur Discord, mais un canal spécial « wino-mail » est hébergé sur le serveur « Developer Sanctuary ».\nPour obtenir les mises à jour sur Wino, veuillez rejoindre le serveur Developer Sanctuary et suivre le canal « wino-mail » sous « Projets communautaires ».\n\nVous serez dirigé vers l'URL du serveur car Discord ne prend pas en charge les invitations à des chaînes.",
|
||||
"DiscordChannelDisclaimerTitle": "Informations importantes sur Discord",
|
||||
"Draft": "Brouillon",
|
||||
"Busy": "Occupé",
|
||||
"DragMoveToFolderCaption": "Déplacer vers {0}",
|
||||
"EditorToolbarOption_Draw": "Dessiner",
|
||||
"EditorToolbarOption_Format": "Format",
|
||||
"EditorToolbarOption_Insert": "Insérer",
|
||||
@@ -158,24 +171,26 @@
|
||||
"ElementTheme_Default": "Utiliser les paramètres du système",
|
||||
"ElementTheme_Light": "Mode clair",
|
||||
"Emoji": "Emoji",
|
||||
"Exception_WinoServerException": "Le serveur Wino a échoué.",
|
||||
"Exception_MailProcessing": "Ce message est encore en cours de traitement. Veuillez réessayer dans quelques secondes.",
|
||||
"Exception_ImapAutoDiscoveryFailed": "Impossible de trouver les paramètres de la boîte de réception.",
|
||||
"Exception_ImapClientPoolFailed": "Échec du groupement de clients IMAP.",
|
||||
"Error_FailedToSetupSystemFolders_Title": "Impossible de configurer les dossiers système",
|
||||
"Exception_AuthenticationCanceled": "Authentification annulée",
|
||||
"Exception_CustomThemeExists": "Ce thème existe déjà.",
|
||||
"Exception_CustomThemeMissingName": "Vous devez indiquer un nom.",
|
||||
"Exception_CustomThemeMissingWallpaper": "Vous devez fournir une image d'arrière-plan personnalisée.",
|
||||
"Exception_FailedToSynchronizeFolders": "Échec de la synchronisation des dossiers",
|
||||
"Exception_FailedToSynchronizeAliases": "Impossible de synchroniser les alias",
|
||||
"Exception_MissingAlias": "L'alias principal n'existe pas pour ce compte. La création du brouillon a échoué.",
|
||||
"Exception_FailedToSynchronizeFolders": "Échec de la synchronisation des dossiers",
|
||||
"Exception_FailedToSynchronizeProfileInformation": "Impossible de synchroniser les informations de profil",
|
||||
"Exception_GoogleAuthCallbackNull": "L'URL de rappel est nulle lors de l'activation.",
|
||||
"Exception_GoogleAuthCorruptedCode": "Réponse d’autorisation corrompue.",
|
||||
"Exception_GoogleAuthError": "Erreur d'autorisation OAuth : {0}",
|
||||
"Exception_GoogleAuthInvalidResponse": "Demande reçue avec un état invalide ({0})",
|
||||
"Exception_GoogleAuthorizationCodeExchangeFailed": "L'échange de code d'autorisation a échoué.",
|
||||
"Exception_ImapAutoDiscoveryFailed": "Impossible de trouver les paramètres de la boîte de réception.",
|
||||
"Exception_ImapClientPoolFailed": "Échec du groupement de clients IMAP.",
|
||||
"Exception_InboxNotAvailable": "Impossible de configurer les dossiers du compte.",
|
||||
"Exception_InvalidSystemFolderConfiguration": "La configuration du dossier système n’est pas valide. Vérifiez la configuration et réessayez.",
|
||||
"Exception_InvalidMultiAccountMoveTarget": "Vous ne pouvez pas déplacer plusieurs éléments qui appartiennent à différents comptes dans le compte lié.",
|
||||
"Exception_MailProcessing": "Ce message est encore en cours de traitement. Veuillez réessayer dans quelques secondes.",
|
||||
"Exception_MissingAlias": "L'alias principal n'existe pas pour ce compte. La création du brouillon a échoué.",
|
||||
"Exception_NullAssignedAccount": "Le compte assigné est null",
|
||||
"Exception_NullAssignedFolder": "Le dossier assigné est null",
|
||||
"Exception_SynchronizerFailureHTTP": "Le traitement de la réponse a échoué avec le code d'erreur HTTP {0}",
|
||||
@@ -186,12 +201,12 @@
|
||||
"Exception_UnsupportedProvider": "Ce fournisseur n'est pas pris en charge.",
|
||||
"Exception_UnsupportedSynchronizerOperation": "Cette opération n'est pas supportée pour {0}",
|
||||
"Exception_UserCancelSystemFolderSetupDialog": "L'utilisateur a annulé la boîte de dialogue de configuration du dossier système.",
|
||||
"Exception_InboxNotAvailable": "Impossible de configurer les dossiers du compte.",
|
||||
"Exception_WinoServerException": "Le serveur Wino a échoué.",
|
||||
"Files": "Fichiers",
|
||||
"FilteringOption_All": "Tout",
|
||||
"FilteringOption_Files": "Possède des pièces jointes",
|
||||
"FilteringOption_Flagged": "Marqué",
|
||||
"FilteringOption_Unread": "Non lus",
|
||||
"FilteringOption_Files": "Possède des pièces jointes",
|
||||
"Focused": "Prioritaires",
|
||||
"FolderOperation_CreateSubFolder": "Créer un sous-dossier",
|
||||
"FolderOperation_Delete": "Supprimer",
|
||||
@@ -199,27 +214,71 @@
|
||||
"FolderOperation_Empty": "Vider ce dossier",
|
||||
"FolderOperation_MarkAllAsRead": "Marquer tout comme lu",
|
||||
"FolderOperation_Move": "Déplacer",
|
||||
"DragMoveToFolderCaption": "Déplacer vers {0}",
|
||||
"FolderOperation_None": "Aucun",
|
||||
"FolderOperation_Pin": "Épingler",
|
||||
"FolderOperation_Rename": "Renommer",
|
||||
"FolderOperation_Unpin": "Désépingler",
|
||||
"GeneralTitle_Error": "Erreur",
|
||||
"GeneralTitle_Info": "Information",
|
||||
"GeneralTitle_Warning": "Avertissement",
|
||||
"GmailServiceDisabled_Title": "Erreur Gmail",
|
||||
"GmailServiceDisabled_Message": "Votre compte Google Workspace semble être désactivé pour le service Gmail. Veuillez contacter votre administrateur pour activer le service Gmail pour votre compte.",
|
||||
"GmailArchiveFolderNameOverride": "Archives",
|
||||
"HoverActionOption_Archive": "Archiver",
|
||||
"HoverActionOption_Delete": "Supprimer",
|
||||
"HoverActionOption_MoveJunk": "Déplacer vers courriers indésirables",
|
||||
"HoverActionOption_ToggleFlag": "Marquer / Démarquer",
|
||||
"HoverActionOption_ToggleRead": "Lu / Non lu",
|
||||
"MergedAccountCommonFolderInbox": "Boîte de réception",
|
||||
"MergedAccountCommonFolderSent": "Envoyé",
|
||||
"MergedAccountCommonFolderDraft": "Brouillon",
|
||||
"MergedAccountCommonFolderJunk": "Indésirables",
|
||||
"MergedAccountCommonFolderTrash": "Supprimé",
|
||||
"MergedAccountCommonFolderArchive": "Archives",
|
||||
"ImageRenderingDisabled": "L'affichage d'image est désactivé pour ce message.",
|
||||
"ImapAdvancedSetupDialog_AuthenticationMethod": "Méthode d’authentification",
|
||||
"ImapAdvancedSetupDialog_ConnectionSecurity": "Sécurité de la connexion",
|
||||
"IMAPAdvancedSetupDialog_ValidationAuthMethodRequired": "La méthode d'authentification est requise",
|
||||
"IMAPAdvancedSetupDialog_ValidationConnectionSecurityRequired": "Le type de sécurité de connexion est requis",
|
||||
"IMAPAdvancedSetupDialog_ValidationDisplayNameRequired": "Le nom affiché est requis",
|
||||
"IMAPAdvancedSetupDialog_ValidationEmailInvalid": "Veuillez entrer une adresse e-mail valide",
|
||||
"IMAPAdvancedSetupDialog_ValidationEmailRequired": "Une adresse e-mail est requise",
|
||||
"IMAPAdvancedSetupDialog_ValidationErrorTitle": "Veuillez vérifier les éléments suivants :",
|
||||
"IMAPAdvancedSetupDialog_ValidationIncomingPortInvalid": "Le port entrant doit être compris entre 1 et 65535",
|
||||
"IMAPAdvancedSetupDialog_ValidationIncomingPortRequired": "Le port du serveur entrant est requis",
|
||||
"IMAPAdvancedSetupDialog_ValidationIncomingServerRequired": "L'adresse du serveur entrant est requise",
|
||||
"IMAPAdvancedSetupDialog_ValidationOutgoingPasswordRequired": "Le mot de passe du serveur sortant est requis",
|
||||
"IMAPAdvancedSetupDialog_ValidationOutgoingPortInvalid": "Le port sortant doit être compris entre 1 et 65535",
|
||||
"IMAPAdvancedSetupDialog_ValidationOutgoingPortRequired": "Le port du serveur sortant est requis",
|
||||
"IMAPAdvancedSetupDialog_ValidationOutgoingServerRequired": "L'adresse du serveur sortant est requise",
|
||||
"IMAPAdvancedSetupDialog_ValidationOutgoingUsernameRequired": "Le nom d'utilisateur du serveur sortant est requis",
|
||||
"IMAPAdvancedSetupDialog_ValidationPasswordRequired": "Le mot de passe est requis",
|
||||
"IMAPAdvancedSetupDialog_ValidationUsernameRequired": "Le nom d'utilisateur est requis",
|
||||
"ImapAuthenticationMethod_Auto": "Automatique",
|
||||
"ImapAuthenticationMethod_CramMD5": "CRAM-MD5",
|
||||
"ImapAuthenticationMethod_DigestMD5": "DIGEST-MD5",
|
||||
"ImapAuthenticationMethod_EncryptedPassword": "Mot de passe chiffré",
|
||||
"ImapAuthenticationMethod_None": "Pas d'authentification",
|
||||
"ImapAuthenticationMethod_Ntlm": "NTLM",
|
||||
"ImapAuthenticationMethod_Plain": "Mot de passe normal",
|
||||
"ImapConnectionSecurity_Auto": "Automatique",
|
||||
"ImapConnectionSecurity_None": "Aucun",
|
||||
"ImapConnectionSecurity_SslTls": "SSL/TLS",
|
||||
"ImapConnectionSecurity_StartTls": "STARTTLS",
|
||||
"IMAPSetupDialog_AccountType": "Type de compte",
|
||||
"IMAPSetupDialog_ValidationSuccess_Title": "Opération réussie",
|
||||
"IMAPSetupDialog_ValidationSuccess_Message": "Validation réussie",
|
||||
"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.",
|
||||
"IMAPSetupDialog_CertificateDenied": "L'utilisateur n'a pas autorisé la négociation avec le certificat.",
|
||||
"IMAPSetupDialog_CertificateIssuer": "Émetteur",
|
||||
"IMAPSetupDialog_CertificateSubject": "Objet",
|
||||
"IMAPSetupDialog_CertificateValidFrom": "Début de validité",
|
||||
"IMAPSetupDialog_CertificateValidTo": "Fin de validité",
|
||||
"IMAPSetupDialog_CertificateView": "Voir le certificat",
|
||||
"IMAPSetupDialog_ConnectionFailedMessage": "Échec de la connexion IMAP.",
|
||||
"IMAPSetupDialog_ConnectionFailedTitle": "Échec de la connexion",
|
||||
"IMAPSetupDialog_DisplayName": "Nom d'affichage",
|
||||
"IMAPSetupDialog_DisplayNamePlaceholder": "ex. Jean Dupont",
|
||||
"IMAPSetupDialog_IncomingMailServer": "Serveur de courrier entrant",
|
||||
"IMAPSetupDialog_IncomingMailServerPort": "Port",
|
||||
"IMAPSetupDialog_IMAPSettings": "Paramètres du serveur IMAP",
|
||||
"IMAPSetupDialog_SMTPSettings": "Paramètres du serveur SMTP",
|
||||
"IMAPSetupDialog_MailAddress": "Adresse e-mail",
|
||||
"IMAPSetupDialog_MailAddressPlaceholder": "personne@example.com",
|
||||
"IMAPSetupDialog_OutgoingMailServer": "Serveur de courrier sortant (SMTP)",
|
||||
@@ -231,26 +290,9 @@
|
||||
"IMAPSetupDialog_RequireSSLForIncomingMail": "SSL requis pour les courriers entrants",
|
||||
"IMAPSetupDialog_RequireSSLForOutgoingMail": "SSL requis pour les courriers sortants",
|
||||
"IMAPSetupDialog_Title": "Configuration IMAP avancée",
|
||||
"IMAPSetupDialog_UseSameConfig": "Utiliser le même nom d'utilisateur et mot de passe pour envoyer un e-mail",
|
||||
"IMAPSetupDialog_Username": "Nom d’utilisateur",
|
||||
"IMAPSetupDialog_UsernamePlaceholder": "jeandupont, jeandupont@exemple.fr, domaine/jeandupont",
|
||||
"IMAPSetupDialog_ConnectionFailedTitle": "Échec de la connexion",
|
||||
"IMAPSetupDialog_ConnectionFailedMessage": "Échec de la connexion 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.",
|
||||
"IMAPSetupDialog_CertificateIssuer": "Émetteur",
|
||||
"IMAPSetupDialog_CertificateSubject": "Objet",
|
||||
"IMAPSetupDialog_CertificateValidFrom": "Début de validité",
|
||||
"IMAPSetupDialog_CertificateValidTo": "Fin de validité",
|
||||
"IMAPSetupDialog_CertificateDenied": "L'utilisateur n'a pas autorisé la négociation avec le certificat.",
|
||||
"IMAPSetupDialog_CertificateView": "Voir le certificat",
|
||||
"ImageRenderingDisabled": "L'affichage d'image est désactivé pour ce message.",
|
||||
"InfoBarAction_Enable": "Activer",
|
||||
"InfoBarMessage_SynchronizationDisabledFolder": "Ce dossier est désactivé pour la synchronisation.",
|
||||
"InfoBarTitle_SynchronizationDisabledFolder": "Dossier désactivé",
|
||||
"GeneralTitle_Error": "Erreur",
|
||||
"GeneralTitle_Warning": "Avertissement",
|
||||
"GeneralTitle_Info": "Information",
|
||||
"IMAPSetupDialog_UseSameConfig": "Utiliser le même nom d'utilisateur et mot de passe pour envoyer un e-mail",
|
||||
"Info_AccountCreatedMessage": "{0} a été créé",
|
||||
"Info_AccountCreatedTitle": "Création de compte",
|
||||
"Info_AccountCreationFailedTitle": "Échec de la création du compte",
|
||||
@@ -269,14 +311,15 @@
|
||||
"Info_BackgroundExecutionDeniedTitle": "Exécution en arrière-plan refusée",
|
||||
"Info_BackgroundExecutionUnknownErrorMessage": "Une erreur inconnue s'est produite lors de l'enregistrement de la synchronisation en arrière-plan.",
|
||||
"Info_BackgroundExecutionUnknownErrorTitle": "Échec de l'exécution en arrière-plan",
|
||||
"Info_FailedToOpenFileTitle": "Failed to launch file.",
|
||||
"Info_FailedToOpenFileMessage": "Le fichier a peut-être été supprimé du disque dur.",
|
||||
"Info_CantDeletePrimaryAliasMessage": "L'alias principal ne peut pas être supprimé. Veuillez changer votre alias avant de supprimer celui-ci",
|
||||
"Info_ComposerMissingMIMEMessage": "Impossible de trouver le fichier MIME. La synchronisation peut aider.",
|
||||
"Info_ComposerMissingMIMETitle": "Échec",
|
||||
"Info_ContactExistsMessage": "Ce contact est déjà dans la liste des destinataires.",
|
||||
"Info_ContactExistsTitle": "Contact existant",
|
||||
"Info_DraftFolderMissingMessage": "Le dossier Brouillon est manquant pour ce compte. Veuillez vérifier vos paramètres de compte.",
|
||||
"Info_DraftFolderMissingTitle": "Dossier brouillon manquant",
|
||||
"Info_FailedToOpenFileMessage": "Le fichier a peut-être été supprimé du disque dur.",
|
||||
"Info_FailedToOpenFileTitle": "Échec du lancement du fichier.",
|
||||
"Info_FileLaunchFailedTitle": "Échec du lancement du fichier",
|
||||
"Info_InvalidAddressMessage": "{0} n'est pas une adresse e-mail valide.",
|
||||
"Info_InvalidAddressTitle": "Addresse invalide",
|
||||
@@ -286,15 +329,16 @@
|
||||
"Info_LogsNotFoundTitle": "Journaux introuvables",
|
||||
"Info_LogsSavedMessage": "{0} a été enregistré dans le dossier sélectionné.",
|
||||
"Info_LogsSavedTitle": "Enregistré",
|
||||
"Info_MailListSizeResetSuccessMessage": "La taille de la liste de courrier a été réinitialisée.",
|
||||
"Info_MailRenderingFailedMessage": "Ce courrier est corrompu ou ne peut pas être ouvert.\n{0}",
|
||||
"Info_MailRenderingFailedTitle": "Le rendu a échoué",
|
||||
"Info_MessageCorruptedMessage": "Ce message est corrompu.",
|
||||
"Info_MessageCorruptedTitle": "Erreur",
|
||||
"Info_MissingFolderMessage": "{0} n'existe pas pour ce compte.",
|
||||
"Info_MissingFolderTitle": "Dossier manquant",
|
||||
"Info_PDFSaveSuccessTitle": "Opération réussie",
|
||||
"Info_PDFSaveFailedTitle": "Impossible d'enregistrer le fichier PDF",
|
||||
"Info_PDFSaveSuccessMessage": "Le fichier PDF a été enregistré dans {0}",
|
||||
"Info_PDFSaveSuccessTitle": "Opération réussie",
|
||||
"Info_PurchaseExistsMessage": "Il semble que ce produit ait déjà été acheté auparavant.",
|
||||
"Info_PurchaseExistsTitle": "Produit existant",
|
||||
"Info_PurchaseThankYouMessage": "Merci",
|
||||
@@ -314,32 +358,21 @@
|
||||
"Info_SyncCanceledMessage": "Annulé",
|
||||
"Info_SyncCanceledTitle": "Synchronisation",
|
||||
"Info_SyncFailedTitle": "Synchronisation échouée",
|
||||
"Info_UnsubscribeErrorMessage": "Échec de la désinscription",
|
||||
"Info_UnsubscribeLinkInvalidMessage": "Ce lien de désinscription n'est pas valide. La désinscription de la liste a échoué.",
|
||||
"Info_UnsubscribeLinkInvalidTitle": "URL de désinscription non valide",
|
||||
"Info_UnsubscribeSuccessMessage": "Désinscription de {0} réussie.",
|
||||
"Info_UnsupportedFunctionalityDescription": "Cette fonctionnalité n’est pas encore implémentée.",
|
||||
"Info_UnsupportedFunctionalityTitle": "Non supporté",
|
||||
"Info_UnsubscribeLinkInvalidTitle": "URL de désinscription non valide",
|
||||
"Info_UnsubscribeLinkInvalidMessage": "Ce lien de désinscription n'est pas valide. La désinscription de la liste a échoué.",
|
||||
"Info_UnsubscribeSuccessMessage": "Désinscription de {0} réussie.",
|
||||
"Info_UnsubscribeErrorMessage": "Échec de la désinscription",
|
||||
"Info_CantDeletePrimaryAliasMessage": "L'alias principal ne peut pas être supprimé. Veuillez changer votre alias avant de supprimer celui-ci",
|
||||
"Info_MailListSizeResetSuccessMessage": "La taille de la liste de courrier a été réinitialisée.",
|
||||
"ImapAdvancedSetupDialog_AuthenticationMethod": "Méthode d’authentification",
|
||||
"ImapAdvancedSetupDialog_ConnectionSecurity": "Sécurité de la connexion",
|
||||
"ImapAuthenticationMethod_Auto": "Automatique",
|
||||
"ImapAuthenticationMethod_CramMD5": "CRAM-MD5",
|
||||
"ImapAuthenticationMethod_DigestMD5": "DIGEST-MD5",
|
||||
"ImapAuthenticationMethod_None": "Pas d'authentification",
|
||||
"ImapAuthenticationMethod_Plain": "Mot de passe normal",
|
||||
"ImapAuthenticationMethod_EncryptedPassword": "Mot de passe chiffré",
|
||||
"ImapAuthenticationMethod_Ntlm": "NTLM",
|
||||
"ImapConnectionSecurity_None": "Aucun",
|
||||
"ImapConnectionSecurity_SslTls": "SSL/TLS",
|
||||
"ImapConnectionSecurity_StartTls": "STARTTLS",
|
||||
"ImapConnectionSecurity_Auto": "Automatique",
|
||||
"InfoBarAction_Enable": "Activer",
|
||||
"InfoBarMessage_SynchronizationDisabledFolder": "Ce dossier est désactivé pour la synchronisation.",
|
||||
"InfoBarTitle_SynchronizationDisabledFolder": "Dossier désactivé",
|
||||
"Justify": "Justifier",
|
||||
"Left": "Gauche",
|
||||
"Link": "Lien",
|
||||
"LinkedAccountsCreatePolicyMessage": "vous devez avoir au moins 2 comptes pour lier des comptes\nle lien sera supprimé lors de la sauvegarde",
|
||||
"LinkedAccountsTitle": "Comptes liés",
|
||||
"MailItemNoSubject": "Aucun objet",
|
||||
"MailOperation_AlwaysMoveFocused": "Toujours déplacer vers Prioritaire",
|
||||
"MailOperation_AlwaysMoveOther": "Toujours déplacer vers Autres",
|
||||
"MailOperation_Archive": "Archiver",
|
||||
@@ -366,25 +399,32 @@
|
||||
"MailOperation_SaveAs": "Enregistrer sous",
|
||||
"MailOperation_SetFlag": "Marquer",
|
||||
"MailOperation_Unarchive": "Désarchiver",
|
||||
"MailOperation_Zoom": "Zoom",
|
||||
"MailOperation_ViewMessageSource": "Voir la source du message",
|
||||
"MailOperation_Zoom": "Zoom",
|
||||
"MailsSelected": "{0} élément(s) sélectionné(s)",
|
||||
"MarkFlagUnflag": "Marquer ou Démarquer ce message",
|
||||
"MarkReadUnread": "Marquer comme lu/non lu",
|
||||
"MenuManageAccounts": "Gérer les comptes",
|
||||
"MenuNewMail": "Nouveau message",
|
||||
"MenuMergedAccountItemAccountsSuffix": " comptes",
|
||||
"MenuNewMail": "Nouveau message",
|
||||
"MenuRate": "Évaluer Wino",
|
||||
"MenuSettings": "Paramètres",
|
||||
"MergedAccountCommonFolderArchive": "Archives",
|
||||
"MergedAccountCommonFolderDraft": "Brouillon",
|
||||
"MergedAccountCommonFolderInbox": "Boîte de réception",
|
||||
"MergedAccountCommonFolderJunk": "Indésirables",
|
||||
"MergedAccountCommonFolderSent": "Envoyé",
|
||||
"MergedAccountCommonFolderTrash": "Supprimé",
|
||||
"MergedAccountsAvailableAccountsTitle": "Comptes disponibles",
|
||||
"MessageSourceDialog_Title": "Source du message",
|
||||
"More": "Plus",
|
||||
"MoreFolderNameOverride": "Plus",
|
||||
"MoveMailDialog_InvalidFolderMessage": "{0} n'est pas un dossier valide pour ce courrier.",
|
||||
"MoveMailDialog_Title": "Choisissez un dossier",
|
||||
"NewAccountDialog_AccountName": "Nom du compte",
|
||||
"NewAccountDialog_AccountNameDefaultValue": "Personnel",
|
||||
"NewAccountDialog_AccountNamePlaceholder": "ex. courrier personnel",
|
||||
"NewAccountDialog_Title": "Ajouter un nouveau compte",
|
||||
"MessageSourceDialog_Title": "Source du message",
|
||||
"NoMailSelected": "Aucun message sélectionné",
|
||||
"NoMessageCrieteria": "Aucun message ne correspond à vos critères de recherche",
|
||||
"NoMessageEmptyFolder": "Ce dossier est vide",
|
||||
@@ -392,6 +432,9 @@
|
||||
"Notifications_MultipleNotificationsTitle": "Nouveau message",
|
||||
"Notifications_WinoUpdatedMessage": "Vérifier la nouvelle version {0}",
|
||||
"Notifications_WinoUpdatedTitle": "Wino Mail a été mis à jour.",
|
||||
"OnlineSearchFailed_Message": "Impossible d'effectuer la recherche\n{0}\n\nListe des e-mails hors ligne.",
|
||||
"OnlineSearchTry_Line1": "Vous ne trouvez pas ce que vous cherchez ?",
|
||||
"OnlineSearchTry_Line2": "Essayez une recherche en ligne.",
|
||||
"Other": "Autres",
|
||||
"PaneLengthOption_Default": "Défaut",
|
||||
"PaneLengthOption_ExtraLarge": "Très grand",
|
||||
@@ -401,64 +444,94 @@
|
||||
"PaneLengthOption_Small": "Petit",
|
||||
"Photos": "Images",
|
||||
"PreparingFoldersMessage": "Préparation des dossiers",
|
||||
"ProtocolLogAvailable_Message": "Les journaux de protocole sont disponibles pour les diagnostics.",
|
||||
"ProviderDetail_Gmail_Description": "Compte Google",
|
||||
"ProviderDetail_iCloud_Description": "Compte iCloud d'Apple",
|
||||
"ProviderDetail_iCloud_Title": "iCloud",
|
||||
"ProviderDetail_IMAP_Description": "Serveur IMAP/SMTP personnalisé",
|
||||
"ProviderDetail_IMAP_Title": "Serveur IMAP",
|
||||
"ProviderDetail_Yahoo_Description": "Compte Yahoo",
|
||||
"ProviderDetail_Yahoo_Title": "Yahoo Mail",
|
||||
"ProviderDetail_Yahoo_Description": "Yahoo Account",
|
||||
"ProviderDetail_iCloud_Title": "iCloud",
|
||||
"ProviderDetail_iCloud_Description": "Apple iCloud Account",
|
||||
"ProtocolLogAvailable_Message": "Les journaux de protocole sont disponibles pour les diagnostics.",
|
||||
"QuickEventDialog_EventName": "Titre de l'événement",
|
||||
"QuickEventDialog_IsAllDay": "Toute la journée",
|
||||
"QuickEventDialog_Location": "Localisation",
|
||||
"QuickEventDialog_RemindMe": "Se souvenir de moi",
|
||||
"QuickEventDialogMoreDetailsButtonText": "Plus d`infos",
|
||||
"Reader_SaveAllAttachmentButtonText": "Enregistrer toutes les pièces jointes",
|
||||
"Results": "Résultats",
|
||||
"Right": "Droite",
|
||||
"Reader_SaveAllAttachmentButtonText": "Enregistrer toutes les pièces jointes",
|
||||
"SynchronizationFolderReport_Success": "À jour",
|
||||
"SynchronizationFolderReport_Failed": "la synchronisation a échouée",
|
||||
"SearchBarPlaceholder": "Rechercher",
|
||||
"SearchingIn": "Recherche dans",
|
||||
"SearchPivotName": "Résultats",
|
||||
"SettingsAboutGithub_Description": "Ouvrir le gestionnaire de tickets du dépôt GitHub.",
|
||||
"SettingsAboutGithub_Title": "GitHub",
|
||||
"SettingsAccountManagementAppendMessage_Title": "Ajouter les messages au dossier Envoyé",
|
||||
"SettingsAccountManagementAppendMessage_Description": "Créé une copie du message dans le dossier Envoyé après l'envoi du brouillon. Activez cette option si vous ne voyez pas vos e-mails après les avoir envoyés dans le dossier Envoyés.",
|
||||
"SettingsEditLinkedInbox_Title": "Modifier la boîte de réception liée",
|
||||
"SettingsEditLinkedInbox_Description": "Ajouter / supprimer des comptes, renommer ou rompre le lien entre les comptes.",
|
||||
"SettingsAboutVersion": "Version ",
|
||||
"SettingsAboutWinoDescription": "Client de messagerie léger pour les périphériques Windows.",
|
||||
"SettingConfigureSpecialFolders_Button": "Configurer",
|
||||
"SettingsEditAccountDetails_IMAPConfiguration_Title": "Configuration IMAP/SMTP",
|
||||
"SettingsEditAccountDetails_IMAPConfiguration_Description": "Modifiez vos paramètres de serveur entrant/sortant.",
|
||||
"SettingsAbout_Description": "En savoir plus sur Wino.",
|
||||
"SettingsAbout_Title": "À propos",
|
||||
"SettingsAboutGithub_Description": "Ouvrir le gestionnaire de tickets du dépôt GitHub.",
|
||||
"SettingsAboutGithub_Title": "GitHub",
|
||||
"SettingsAboutVersion": "Version ",
|
||||
"SettingsAboutWinoDescription": "Client de messagerie léger pour les périphériques Windows.",
|
||||
"SettingsAccentColor_Description": "Changer la couleur d'accentuation de l'application",
|
||||
"SettingsAccentColor_Title": "Couleur d'accentuation",
|
||||
"SettingsAccentColor_UseWindowsAccentColor": "Utiliser ma couleur d'accentuation Windows",
|
||||
"SettingsAccountManagementAppendMessage_Description": "Créé une copie du message dans le dossier Envoyé après l'envoi du brouillon. Activez cette option si vous ne voyez pas vos e-mails après les avoir envoyés dans le dossier Envoyés.",
|
||||
"SettingsAccountManagementAppendMessage_Title": "Ajouter les messages au dossier Envoyé",
|
||||
"SettingsAccountName_Description": "Changer le nom du compte.",
|
||||
"SettingsAccountName_Title": "Nom du compte",
|
||||
"SettingsApplicationTheme_Description": "Personnalisez Wino avec différents thèmes d'application personnalisés selon vos goûts.",
|
||||
"SettingsApplicationTheme_Title": "Thème de l'application",
|
||||
"SettingsAppPreferences_CloseBehavior_Description": "Que se passe-t-il lorsque vous fermez l'application?",
|
||||
"SettingsAppPreferences_CloseBehavior_Title": "Comportement de fermeture de l'application",
|
||||
"SettingsAppPreferences_Description": "Paramètres généraux / préférences pour Wino Mail.",
|
||||
"SettingsAppPreferences_SearchMode_Description": "Définissez si Wino doit d'abord vérifier les messages récupérés lors d'une recherche ou demandez à votre serveur de messagerie en ligne. La recherche locale est toujours plus rapide et vous pouvez toujours effectuer une recherche en ligne si votre courrier n'est pas dans les résultats.",
|
||||
"SettingsAppPreferences_SearchMode_Local": "Local",
|
||||
"SettingsAppPreferences_SearchMode_Online": "En ligne",
|
||||
"SettingsAppPreferences_SearchMode_Title": "Mode de recherche par défaut",
|
||||
"SettingsAppPreferences_ServerBackgroundingMode_Invisible_Description": "Wino Mail continuera à fonctionner en arrière-plan. Vous serez informé de l'arrivée de nouveaux courriers.",
|
||||
"SettingsAppPreferences_ServerBackgroundingMode_Invisible_Title": "Exécuter en arrière-plan",
|
||||
"SettingsAppPreferences_ServerBackgroundingMode_MinimizeTray_Description": "Wino Mail fonctionne en permanence dans la barre d'état système. Il est possible de le lancer en cliquant sur une icône. Vous serez informé de l'arrivée de nouveaux messages.",
|
||||
"SettingsAppPreferences_ServerBackgroundingMode_MinimizeTray_Title": "Réduire dans la barre d'état système",
|
||||
"SettingsAppPreferences_ServerBackgroundingMode_Terminate_Description": "Wino Mail ne fonctionnera nulle part. Vous ne serez pas notifié de l'arrivée de nouveaux courriers. Lancez à nouveau Wino Mail pour continuer la synchronisation des courriers.",
|
||||
"SettingsAppPreferences_ServerBackgroundingMode_Terminate_Title": "Terminer",
|
||||
"SettingsAppPreferences_StartupBehavior_Description": "Permettre à Wino Mail de se lancer en mode réduit au démarrage de Windows. Autorisez-le toujours à recevoir des notifications.",
|
||||
"SettingsAppPreferences_StartupBehavior_Disable": "Désactiver",
|
||||
"SettingsAppPreferences_StartupBehavior_Disabled": "Wino Mail ne sera pas lancé au démarrage de Windows. Vous ne recevrez donc pas de notifications lorsque vous redémarrerez votre ordinateur.",
|
||||
"SettingsAppPreferences_StartupBehavior_DisabledByPolicy": "Votre administrateur ou les stratégies de groupe ont désactivé l'exécution d'applications au démarrage. Ainsi, Wino Mail ne peut pas être lancé au démarrage de Windows.",
|
||||
"SettingsAppPreferences_StartupBehavior_DisabledByUser": "Veuillez aller dans le Gestionnaire des tâches -> onglet Démarrage pour permettre à Wino Mail de se lancer au démarrage de Windows.",
|
||||
"SettingsAppPreferences_StartupBehavior_Enable": "Activer",
|
||||
"SettingsAppPreferences_StartupBehavior_Enabled": "Wino Mail a été configuré avec succès pour être lancé en arrière-plan au démarrage de Windows.",
|
||||
"SettingsAppPreferences_StartupBehavior_FatalError": "Une erreur fatale s'est produite lors de la modification du mode de démarrage de Wino Mail.",
|
||||
"SettingsAppPreferences_StartupBehavior_Title": "Démarrage minimisé au démarrage de Windows",
|
||||
"SettingsAppPreferences_Title": "Préférences de l'application",
|
||||
"SettingsAutoSelectNextItem_Description": "Sélectionnez l'élément suivant après avoir supprimé ou déplacé un courrier.",
|
||||
"SettingsAutoSelectNextItem_Title": "Sélection automatique de l'élément suivant",
|
||||
"SettingsAvailableThemes_Description": "Sélectionnez un thème de la collection de Wino selon vos goûts ou appliquez vos propres thèmes.",
|
||||
"SettingsAvailableThemes_Title": "Thèmes disponibles",
|
||||
"SettingsAutoSelectNextItem_Title": "Sélection automatique de l'élément suivant",
|
||||
"SettingsAutoSelectNextItem_Description": "Sélectionnez l'élément suivant après avoir supprimé ou déplacé un courrier.",
|
||||
"SettingsCalendarSettings_Title": "Paramètres de l'agenda",
|
||||
"SettingsCalendarSettings_Description": "Changez le premier jour de la semaine, la hauteur des cellules...",
|
||||
"SettingsCalendarSettings_Title": "Paramètres de l'agenda",
|
||||
"SettingsComposer_Title": "Éditeur",
|
||||
"SettingsComposerFont_Title": "Police par défaut du compositeur",
|
||||
"SettingsComposerFontFamily_Description": "Modifier la police et la taille par défaut lors de la composition des mails.",
|
||||
"SettingsConfigureSpecialFolders_Description": "Définir des dossiers avec des fonctions spéciales. Les dossiers tels que Archive, Boîte de réception et Brouillons sont essentiels au bon fonctionnement de Wino.",
|
||||
"SettingsConfigureSpecialFolders_Title": "Configurer les dossiers système",
|
||||
"SettingsCustomTheme_Description": "Créez votre propre thème personnalisé avec un fond d'écran personnalisé et une couleur d'accentuation.",
|
||||
"SettingsCustomTheme_Title": "Thème personnalisé",
|
||||
"SettingsConfigureSpecialFolders_Title": "Configurer les dossiers système",
|
||||
"SettingsConfigureSpecialFolders_Description": "Définir des dossiers avec des fonctions spéciales. Les dossiers tels que Archive, Boîte de réception et Brouillons sont essentiels au bon fonctionnement de Wino.",
|
||||
"SettingConfigureSpecialFolders_Button": "Configurer",
|
||||
"Error_FailedToSetupSystemFolders_Title": "Impossible de configurer les dossiers système",
|
||||
"SettingsDeleteAccount_Description": "Supprimer tous les e-mails et identifiants associés à ce compte.",
|
||||
"SettingsDeleteAccount_Title": "Supprimer ce compte",
|
||||
"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.",
|
||||
"SettingsDiagnostics_DiagnosticId_Title": "ID de diagnostic",
|
||||
"SettingsDiagnostics_Title": "Diagnostics",
|
||||
"SettingsDiagnostics_DiagnosticId_Title": "Diagnostic Id",
|
||||
"SettingsDiagnostics_DiagnosticId_Description": "Share this Id with the developers when asked to get help for the issues you experience in Wino Mail.",
|
||||
"SettingsDiscord_Description": "Obtenez des mises à jour régulières sur le développement, participez aux discussions sur la feuille de route et donnez votre avis.",
|
||||
"SettingsDiscord_Title": "Canal Discord",
|
||||
"SettingsElementThemeSelectionDisabled": "La sélection du thème de l'élément est désactivée lorsque le thème de l'application sélectionné n'est pas le thème par défaut.",
|
||||
"SettingsEditLinkedInbox_Description": "Ajouter / supprimer des comptes, renommer ou rompre le lien entre les comptes.",
|
||||
"SettingsEditLinkedInbox_Title": "Modifier la boîte de réception liée",
|
||||
"SettingsElementTheme_Description": "Sélectionnez un thème Windows pour Wino",
|
||||
"SettingsElementTheme_Title": "Thème de l'élément",
|
||||
"SettingsElementThemeSelectionDisabled": "La sélection du thème de l'élément est désactivée lorsque le thème de l'application sélectionné n'est pas le thème par défaut.",
|
||||
"SettingsEnableHoverActions_Title": "Activer les actions de survol",
|
||||
"SettingsEnableIMAPLogs_Description": "Activez cette option pour fournir des détails sur les problèmes de connectivité IMAP que vous avez rencontrés lors de la configuration du serveur IMAP.",
|
||||
"SettingsEnableIMAPLogs_Title": "Activer les journaux de protocole IMAP",
|
||||
@@ -471,12 +544,15 @@
|
||||
"SettingsExternalContent_Title": "Contenu externe",
|
||||
"SettingsFocusedInbox_Description": "Définit si la boîte de réception doit être divisée en deux en Prioritaire - Autre.",
|
||||
"SettingsFocusedInbox_Title": "Boîte de réception Prioritaire",
|
||||
"SettingsFolderMenuStyle_Description": "Indique si les dossiers de compte doivent être imbriqués dans un élément de menu de compte ou non. Désactivez cette option si vous préférez l'ancien système de menu de Windows Mail",
|
||||
"SettingsFolderMenuStyle_Title": "Créer des dossiers imbriqués",
|
||||
"SettingsFolderOptions_Description": "Modifier les paramètres des dossiers individuels, comme activer/désactiver la synchronisation ou afficher/masquer les badges non lus.",
|
||||
"SettingsFolderOptions_Title": "Configuration dossier",
|
||||
"SettingsFolderSync_Description": "Activer ou désactiver des dossiers spécifiques pour la synchronisation.",
|
||||
"SettingsFolderSync_Title": "Synchronisation de dossier",
|
||||
"SettingsFolderOptions_Title": "Configuration dossier",
|
||||
"SettingsFolderOptions_Description": "Modifier les paramètres des dossiers individuels, comme activer/désactiver la synchronisation ou afficher/masquer les badges non lus.",
|
||||
"SettingsManageAliases_Title": "Alias",
|
||||
"SettingsManageAliases_Description": "Voir les alias de messagerie assignés à ce compte, les mettre à jour ou les supprimer.",
|
||||
"SettingsFontFamily_Title": "Famille de polices",
|
||||
"SettingsFontPreview_Title": "Aperçu",
|
||||
"SettingsFontSize_Title": "Taille de la police",
|
||||
"SettingsHoverActionCenter": "Action centrée",
|
||||
"SettingsHoverActionLeft": "Action de gauche",
|
||||
"SettingsHoverActionRight": "Action de droite",
|
||||
@@ -484,44 +560,25 @@
|
||||
"SettingsHoverActions_Title": "Actions de survol",
|
||||
"SettingsLanguage_Description": "Changer la langue d'affichage de Wino.",
|
||||
"SettingsLanguage_Title": "Langue d'affichage",
|
||||
"SettingsLanguageTime_Title": "Langue et heure",
|
||||
"SettingsLanguageTime_Description": "Langue d'affichage de Wino, format d'heure préféré.",
|
||||
"CategoriesFolderNameOverride": "Catégories",
|
||||
"AccountAlias_Column_Verified": "Vérifié",
|
||||
"AccountAlias_Column_Alias": "Alias",
|
||||
"AccountAlias_Column_IsPrimaryAlias": "Principal",
|
||||
"AccountAlias_Disclaimer_FirstLine": "Wino peut uniquement importer des alias pour vos comptes Gmail.",
|
||||
"AccountAlias_Disclaimer_SecondLine": "Si vous souhaitez utiliser des alias pour votre compte Outlook ou IMAP, veuillez les ajouter manuellement.",
|
||||
"MoreFolderNameOverride": "Plus",
|
||||
"SettingsOptions_Title": "Paramètres",
|
||||
"SettingsLanguageTime_Title": "Langue et heure",
|
||||
"SettingsLinkAccounts_Description": "Fusionnez plusieurs comptes en un seul. Regroupez les messages dans une même boîte de réception.",
|
||||
"SettingsLinkAccounts_Title": "Créer des comptes liés",
|
||||
"SettingsLinkedAccountsSave_Description": "Modifier le lien actuel avec les nouveaux comptes.",
|
||||
"SettingsLinkedAccountsSave_Title": "Enregistrer les modifications",
|
||||
"SettingsLoadImages_Title": "Charger les images automatiquement",
|
||||
"SettingsLoadStyles_Title": "Chargement automatique des styles",
|
||||
"SettingsLoadPlaintextLinks_Title": "Convertir les liens en texte brut en liens cliquables",
|
||||
"SettingsLoadStyles_Title": "Chargement automatique des styles",
|
||||
"SettingsMailListActionBar_Description": "Afficher/masquer la barre d'action en haut de la liste de messages.",
|
||||
"SettingsMailListActionBar_Title": "Afficher la liste d'actions",
|
||||
"SettingsMailSpacing_Description": "Ajuster l'espacement pour l'énumération des courriers.",
|
||||
"SettingsMailSpacing_Title": "Espacement du courrier",
|
||||
"SettingsFolderMenuStyle_Title": "Créer des dossiers imbriqués",
|
||||
"SettingsFolderMenuStyle_Description": "Indique si les dossiers de compte doivent être imbriqués dans un élément de menu de compte ou non. Désactivez cette option si vous préférez l'ancien système de menu de Windows Mail",
|
||||
"SettingsManageAccountSettings_Description": "Notifications, signatures, synchronisation et autres paramètres par compte.",
|
||||
"SettingsManageAccountSettings_Title": "Gérer les paramètres du compte",
|
||||
"SettingsAppPreferences_Title": "Préférences de l'application",
|
||||
"SettingsAppPreferences_Description": "Paramètres généraux / préférences pour Wino Mail.",
|
||||
"SettingsAppPreferences_CloseBehavior_Title": "Comportement de fermeture de l'application",
|
||||
"SettingsAppPreferences_CloseBehavior_Description": "Que se passe-t-il lorsque vous fermez l'application?",
|
||||
"SettingsAppPreferences_StartupBehavior_Title": "Démarrage minimisé au démarrage de Windows",
|
||||
"SettingsAppPreferences_StartupBehavior_Description": "Permettre à Wino Mail de se lancer en mode réduit au démarrage de Windows. Autorisez-le toujours à recevoir des notifications.",
|
||||
"SettingsAppPreferences_StartupBehavior_Enabled": "Wino Mail a été configuré avec succès pour être lancé en arrière-plan au démarrage de Windows.",
|
||||
"SettingsAppPreferences_StartupBehavior_Disabled": "Wino Mail ne sera pas lancé au démarrage de Windows. Vous ne recevrez donc pas de notifications lorsque vous redémarrerez votre ordinateur.",
|
||||
"SettingsAppPreferences_StartupBehavior_DisabledByPolicy": "Votre administrateur ou les stratégies de groupe ont désactivé l'exécution d'applications au démarrage. Ainsi, Wino Mail ne peut pas être lancé au démarrage de Windows.",
|
||||
"SettingsAppPreferences_StartupBehavior_DisabledByUser": "Veuillez aller dans le Gestionnaire des tâches -> onglet Démarrage pour permettre à Wino Mail de se lancer au démarrage de Windows.",
|
||||
"SettingsAppPreferences_StartupBehavior_FatalError": "Une erreur fatale s'est produite lors de la modification du mode de démarrage de Wino Mail.",
|
||||
"SettingsAppPreferences_StartupBehavior_Enable": "Activer",
|
||||
"SettingsAppPreferences_StartupBehavior_Disable": "Désactiver",
|
||||
"SettingsReorderAccounts_Title": "Réorganiser les comptes",
|
||||
"SettingsReorderAccounts_Description": "Modifier l'ordre des comptes dans la liste des comptes.",
|
||||
"SettingsManageAliases_Description": "Voir les alias de messagerie assignés à ce compte, les mettre à jour ou les supprimer.",
|
||||
"SettingsManageAliases_Title": "Alias",
|
||||
"SettingsEditAccountDetails_Title": "Modifier les détails du compte",
|
||||
"SettingsEditAccountDetails_Description": "Changez le nom du compte, le nom de l'expéditeur et attribuez une nouvelle couleur si vous le souhaitez.",
|
||||
"SettingsManageLink_Description": "Déplacer des éléments pour ajouter un nouveau lien ou supprimer un lien existant.",
|
||||
"SettingsManageLink_Title": "Gérer le lien",
|
||||
"SettingsMarkAsRead_Description": "Modifier ce qui doit arriver à l'élément sélectionné.",
|
||||
@@ -535,59 +592,71 @@
|
||||
"SettingsNoAccountSetupMessage": "Vous n'avez pas encore configuré de comptes.",
|
||||
"SettingsNotifications_Description": "Activer ou désactiver les notifications pour ce compte.",
|
||||
"SettingsNotifications_Title": "Notifications",
|
||||
"SettingsNotificationsAndTaskbar_Title": "Notifications & Barre de tâches",
|
||||
"SettingsTaskbarBadge_Title": "Badge de la barre de tâches",
|
||||
"SettingsTaskbarBadge_Description": "Inclure le nombre de messages non lus dans l'icône de la barre des tâches.",
|
||||
"SettingsNotificationsAndTaskbar_Description": "Choisir si les notifications et le badge de la barre des tâches doivent être affichées pour ce compte.",
|
||||
"SettingsNotificationsAndTaskbar_Title": "Notifications & Barre de tâches",
|
||||
"SettingsOptions_Title": "Paramètres",
|
||||
"SettingsPaneLengthReset_Description": "Réinitialisez la taille de la liste de courrier à sa valeur d'origine si vous rencontrez des problèmes.",
|
||||
"SettingsPaneLengthReset_Title": "Réinitialiser la taille de la liste des messages",
|
||||
"SettingsPaypal_Description": "Montrez-nous plus d'amour ❤️ Tous les dons sont appréciés.",
|
||||
"SettingsPaypal_Title": "Faire un don via PayPal",
|
||||
"SettingsPersonalization_Description": "Changez l’apparence de Wino comme vous le souhaitez.",
|
||||
"SettingsPersonalization_Title": "Personnalisation",
|
||||
"SettingsPersonalizationMailDisplayCompactMode": "Mode compact",
|
||||
"SettingsPersonalizationMailDisplayMediumMode": "Mode moyen",
|
||||
"SettingsPersonalizationMailDisplaySpaciousMode": "Mode spacieux",
|
||||
"SettingsPersonalization_Description": "Changez l’apparence de Wino comme vous le souhaitez.",
|
||||
"SettingsPersonalization_Title": "Personnalisation",
|
||||
"SettingsPrefer24HourClock_Description": "Les heures de réception du courrier seront affichées au format 24 heures au lieu de 12 (AM/PM)",
|
||||
"SettingsPrefer24HourClock_Title": "Afficher le format horloge en 24 heures",
|
||||
"SettingsPrivacyPolicy_Description": "Examinez la politique de confidentialité.",
|
||||
"SettingsPrivacyPolicy_Title": "Politique de confidentialité",
|
||||
"SettingsReader_Title": "Lecteur",
|
||||
"SettingsComposer_Title": "Éditeur",
|
||||
"SettingsReadComposePane_Description": "Polices, contenu externe.",
|
||||
"SettingsReadComposePane_Title": "Lecteur & Éditeur",
|
||||
"SettingsReader_Title": "Lecteur",
|
||||
"SettingsReaderFont_Title": "Police par défaut du lecteur",
|
||||
"SettingsReaderFontFamily_Description": "Modifier la police par défaut et la taille de police pour la lecture des messages.",
|
||||
"SettingsFontFamily_Title": "Famille de polices",
|
||||
"SettingsFontSize_Title": "Taille de la police",
|
||||
"SettingsFontPreview_Title": "Aperçu",
|
||||
"SettingsComposerFont_Title": "Police par défaut du compositeur",
|
||||
"SettingsComposerFontFamily_Description": "Modifier la police et la taille par défaut lors de la composition des mails.",
|
||||
"SettingsRenameMergeAccount_Description": "Changer le nom d'affichage des comptes liés.",
|
||||
"SettingsRenameMergeAccount_Title": "Renommer",
|
||||
"SettingsReorderAccounts_Description": "Modifier l'ordre des comptes dans la liste des comptes.",
|
||||
"SettingsReorderAccounts_Title": "Réorganiser les comptes",
|
||||
"SettingsSemanticZoom_Description": "Cela vous permettra de cliquer sur les en-têtes de la liste des messages et d'accéder à une date spécifique",
|
||||
"SettingsSemanticZoom_Title": "Zoom sémantique sur les en-têtes de date",
|
||||
"SettingsShowPreviewText_Description": "Afficher/masquer un aperçu du texte.",
|
||||
"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",
|
||||
"SettingsPrefer24HourClock_Title": "Afficher le format horloge en 24 heures",
|
||||
"SettingsPrefer24HourClock_Description": "Les heures de réception du courrier seront affichées au format 24 heures au lieu de 12 (AM/PM)",
|
||||
"SettingsSignature_AddCustomSignature_Button": "Ajouter une signature",
|
||||
"SettingsSignature_AddCustomSignature_Title": "Ajouter une signature personnalisée",
|
||||
"SettingsSignature_DeleteSignature_Title": "Supprimer la signature",
|
||||
"SettingsSignature_Description": "Gérer les signatures du compte",
|
||||
"SettingsSignature_EditSignature_Title": "Modifier la signature",
|
||||
"SettingsSignature_ForFollowingMessages_Title": "Pour les réponses / les transferts",
|
||||
"SettingsSignature_ForNewMessages_Title": "Pour les nouveaux messages",
|
||||
"SettingsSignature_NoneSignatureName": "Aucun",
|
||||
"SettingsSignature_SignatureDefaults": "Signature par défaut",
|
||||
"SettingsSignature_Signatures": "Signatures",
|
||||
"SettingsSignature_Title": "Signature",
|
||||
"SettingsStartupItem_Description": "Élément principal du compte pour charger la boîte de réception au démarrage.",
|
||||
"SettingsStartupItem_Title": "Élément de démarrage",
|
||||
"SettingsStore_Description": "Montrer nous un peu d'amour ❤️",
|
||||
"SettingsStore_Title": "Évaluez l'application sur le store",
|
||||
"SettingsTaskbarBadge_Description": "Inclure le nombre de messages non lus dans l'icône de la barre des tâches.",
|
||||
"SettingsTaskbarBadge_Title": "Badge de la barre de tâches",
|
||||
"SettingsThreads_Description": "Organiser les messages en fils de conversation.",
|
||||
"SettingsThreads_Title": "Affichage en mode conversation",
|
||||
"SettingsMailListActionBar_Description": "Afficher/masquer la barre d'action en haut de la liste de messages.",
|
||||
"SettingsMailListActionBar_Title": "Afficher la liste d'actions",
|
||||
"SettingsUnlinkAccounts_Description": "Supprimer le lien entre les comptes. Cela ne supprimera pas vos comptes.",
|
||||
"SettingsUnlinkAccounts_Title": "Dissocier les comptes",
|
||||
"SignatureDeleteDialog_Message": "Êtes-vous sûr de vouloir supprimer la signature « {0} » ?",
|
||||
"SignatureDeleteDialog_Title": "Supprimer la signature",
|
||||
"SignatureEditorDialog_SignatureName_Placeholder": "Nom de la signature",
|
||||
"SignatureEditorDialog_SignatureName_TitleEdit": "Nom de la signature actuelle : {0}",
|
||||
"SignatureEditorDialog_SignatureName_TitleNew": "Nom de la signature",
|
||||
"SignatureEditorDialog_Title": "Éditeur de signature",
|
||||
"SortingOption_Date": "Par date",
|
||||
"SortingOption_Name": "Par nom",
|
||||
"StoreRatingDialog_MessageFirstLine": "Tous les commentaires sont appréciés et ils permettront d'améliorer Wino à l'avenir. Souhaitez-vous donner une note à Wino dans Microsoft Store ?",
|
||||
"StoreRatingDialog_MessageSecondLine": "Voulez-vous évaluer Wino Mail dans Microsoft Store ?",
|
||||
"StoreRatingDialog_Title": "Vous aimez Wino ?",
|
||||
"SynchronizationFolderReport_Failed": "la synchronisation a échouée",
|
||||
"SynchronizationFolderReport_Success": "À jour",
|
||||
"SystemFolderConfigDialog_ArchiveFolderDescription": "Les messages archivés seront déplacés ici.",
|
||||
"SystemFolderConfigDialog_ArchiveFolderHeader": "Dossier archive",
|
||||
"SystemFolderConfigDialog_DeletedFolderDescription": "Les messages supprimés seront déplacés ici.",
|
||||
@@ -601,11 +670,15 @@
|
||||
"SystemFolderConfigDialog_SentFolderDescription": "Le dossier contenant les messages envoyés sera stocké.",
|
||||
"SystemFolderConfigDialog_SentFolderHeader": "Dossier envoyé",
|
||||
"SystemFolderConfigDialog_Title": "Configurer les dossiers système",
|
||||
"SystemFolderConfigDialogValidation_InboxSelected": "Vous ne pouvez pas assigner de dossier de boîte de réception à un autre dossier système.",
|
||||
"SystemFolderConfigDialogValidation_DuplicateSystemFolders": "Certains dossiers du système sont utilisés plusieurs fois dans la configuration.",
|
||||
"SystemFolderConfigSetupSuccess_Title": "Configuration des dossiers système",
|
||||
"SystemFolderConfigDialogValidation_InboxSelected": "Vous ne pouvez pas assigner de dossier de boîte de réception à un autre dossier système.",
|
||||
"SystemFolderConfigSetupSuccess_Message": "Les dossiers système sont configurés avec succès.",
|
||||
"SystemFolderConfigSetupSuccess_Title": "Configuration des dossiers système",
|
||||
"TestingImapConnectionMessage": "Test de la connexion au serveur...",
|
||||
"TitleBarServerDisconnectedButton_Description": "Wino est déconnecté du réseau. Cliquez sur reconnecter pour rétablir la connexion.",
|
||||
"TitleBarServerDisconnectedButton_Title": "pas de connexion",
|
||||
"TitleBarServerReconnectButton_Title": "reconnecter",
|
||||
"TitleBarServerReconnectingButton_Title": "connexion en cours",
|
||||
"Today": "Aujourd'hui",
|
||||
"UnknownAddress": "Adresse inconnue",
|
||||
"UnknownDateHeader": "Date inconnue",
|
||||
@@ -616,37 +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",
|
||||
"SignatureEditorDialog_Title": "Éditeur de signature",
|
||||
"SignatureEditorDialog_SignatureName_Placeholder": "Nom de la signature",
|
||||
"SignatureEditorDialog_SignatureName_TitleNew": "Nom de la signature",
|
||||
"SignatureEditorDialog_SignatureName_TitleEdit": "Nom de la signature actuelle : {0}",
|
||||
"SignatureDeleteDialog_Title": "Supprimer la signature",
|
||||
"SignatureDeleteDialog_Message": "Êtes-vous sûr de vouloir supprimer la signature « {0} » ?",
|
||||
"SettingsSignature_ForNewMessages_Title": "Pour les nouveaux messages",
|
||||
"SettingsSignature_ForFollowingMessages_Title": "Pour les réponses / les transferts",
|
||||
"SettingsSignature_SignatureDefaults": "Signature par défaut",
|
||||
"SettingsSignature_Signatures": "Signatures",
|
||||
"SettingsSignature_AddCustomSignature_Title": "Ajouter une signature personnalisée",
|
||||
"SettingsSignature_AddCustomSignature_Button": "Ajouter une signature",
|
||||
"SettingsSignature_EditSignature_Title": "Modifier la signature",
|
||||
"SettingsSignature_DeleteSignature_Title": "Supprimer la signature",
|
||||
"SettingsSignature_NoneSignatureName": "Aucun",
|
||||
"SettingsAppPreferences_ServerBackgroundingMode_MinimizeTray_Title": "Réduire dans la barre d'état système",
|
||||
"SettingsAppPreferences_ServerBackgroundingMode_MinimizeTray_Description": "Wino Mail fonctionne en permanence dans la barre d'état système. Il est possible de le lancer en cliquant sur une icône. Vous serez informé de l'arrivée de nouveaux messages.",
|
||||
"SettingsAppPreferences_ServerBackgroundingMode_Invisible_Title": "Exécuter en arrière-plan",
|
||||
"SettingsAppPreferences_ServerBackgroundingMode_Invisible_Description": "Wino Mail continuera à fonctionner en arrière-plan. Vous serez informé de l'arrivée de nouveaux courriers.",
|
||||
"SettingsAppPreferences_ServerBackgroundingMode_Terminate_Title": "Terminer",
|
||||
"SettingsAppPreferences_ServerBackgroundingMode_Terminate_Description": "Wino Mail ne fonctionnera nulle part. Vous ne serez pas notifié de l'arrivée de nouveaux courriers. Lancez à nouveau Wino Mail pour continuer la synchronisation des courriers.",
|
||||
"TitleBarServerDisconnectedButton_Title": "pas de connexion",
|
||||
"TitleBarServerDisconnectedButton_Description": "Wino est déconnecté du réseau. Cliquez sur reconnecter pour rétablir la connexion.",
|
||||
"TitleBarServerReconnectButton_Title": "reconnecter",
|
||||
"TitleBarServerReconnectingButton_Title": "connexion en cours",
|
||||
"MailItemNoSubject": "Aucun objet",
|
||||
"QuickEventDialogMoreDetailsButtonText": "Plus d`infos",
|
||||
"QuickEventDialog_RemindMe": "Se souvenir de moi",
|
||||
"QuickEventDialog_Location": "Localisation",
|
||||
"QuickEventDialog_EventName": "Titre de l'événement",
|
||||
"QuickEventDialog_IsAllDay": "Toute la journée"
|
||||
"Yesterday": "Hier"
|
||||
}
|
||||
|
||||
|
||||
|
||||