mirror of
https://github.com/aaru-dps/Aaru.git
synced 2025-12-16 19:24:25 +00:00
Move all localizable strings from Aaru.Gui project to resources.
This commit is contained in:
@@ -40,6 +40,7 @@ using System.Runtime.InteropServices;
|
||||
using System.Threading.Tasks;
|
||||
using Aaru.Gui.Models;
|
||||
using Aaru.Gui.Views.Dialogs;
|
||||
using Aaru.Localization;
|
||||
using JetBrains.Annotations;
|
||||
using ReactiveUI;
|
||||
|
||||
@@ -88,13 +89,13 @@ public sealed class AboutViewModel : ViewModelBase
|
||||
}
|
||||
|
||||
[NotNull]
|
||||
public string AboutLabel => "About";
|
||||
public string AboutLabel => UI.Label_About;
|
||||
[NotNull]
|
||||
public string LibrariesLabel => "Libraries";
|
||||
public string LibrariesLabel => UI.Label_Libraries;
|
||||
[NotNull]
|
||||
public string AuthorsLabel => "Authors";
|
||||
public string AuthorsLabel => UI.Label_Authors;
|
||||
[NotNull]
|
||||
public string Title => "About Aaru";
|
||||
public string Title => UI.Title_About_Aaru;
|
||||
[NotNull]
|
||||
public string SoftwareName => "Aaru";
|
||||
[NotNull]
|
||||
@@ -104,27 +105,15 @@ public sealed class AboutViewModel : ViewModelBase
|
||||
[NotNull]
|
||||
public string Website => "https://aaru.app";
|
||||
[NotNull]
|
||||
public string License => "License: GNU General Public License Version 3";
|
||||
public string License => UI.Label_License;
|
||||
[NotNull]
|
||||
public string CloseLabel => "Close";
|
||||
public string CloseLabel => UI.ButtonLabel_Close;
|
||||
[NotNull]
|
||||
public string AssembliesLibraryText => "Library";
|
||||
public string AssembliesLibraryText => UI.Title_Library;
|
||||
[NotNull]
|
||||
public string AssembliesVersionText => "Version";
|
||||
public string AssembliesVersionText => UI.Title_Version;
|
||||
[NotNull]
|
||||
public string Authors => @"Developers:
|
||||
Natalia Portillo
|
||||
Michael Drüing
|
||||
Rebecca Wallander
|
||||
|
||||
Testers:
|
||||
Silas Laspada
|
||||
|
||||
Public relations:
|
||||
Noah Bacon
|
||||
|
||||
Logo and art:
|
||||
Juan Carlos Pastor Segura (Denymetanol)";
|
||||
public string Authors => UI.Text_Authors;
|
||||
public ReactiveCommand<Unit, Unit> WebsiteCommand { get; }
|
||||
public ReactiveCommand<Unit, Unit> LicenseCommand { get; }
|
||||
public ReactiveCommand<Unit, Unit> CloseCommand { get; }
|
||||
|
||||
@@ -39,6 +39,7 @@ using System.Reflection;
|
||||
using System.Threading.Tasks;
|
||||
using Aaru.CommonTypes.Interop;
|
||||
using Aaru.Console;
|
||||
using Aaru.Localization;
|
||||
using Avalonia.Controls;
|
||||
using JetBrains.Annotations;
|
||||
using MessageBox.Avalonia;
|
||||
@@ -62,21 +63,21 @@ public sealed class ConsoleViewModel : ViewModelBase
|
||||
}
|
||||
|
||||
[NotNull]
|
||||
public string Title => "Console";
|
||||
public string Title => UI.Title_Console;
|
||||
public ReactiveCommand<Unit, Unit> ClearCommand { get; }
|
||||
public ReactiveCommand<Unit, Task> SaveCommand { get; }
|
||||
public ObservableCollection<LogEntry> Entries => ConsoleHandler.Entries;
|
||||
[NotNull]
|
||||
public string DebugText => "Enable debug console";
|
||||
public string DebugText => UI.Enable_debug_console;
|
||||
[NotNull]
|
||||
public string SaveLabel => "Save";
|
||||
public string SaveLabel => UI.ButtonLabel_Save;
|
||||
[NotNull]
|
||||
public string ClearLabel => "Clear";
|
||||
public string ClearLabel => UI.ButtonLabel_Clear;
|
||||
|
||||
public string TimeLabel => "Time";
|
||||
public string TypeLabel => "Type";
|
||||
public string ModuleLabel => "Module";
|
||||
public string MessageLabel => "Message";
|
||||
public string TimeLabel => UI.Title_Time;
|
||||
public string TypeLabel => UI.Title_Type;
|
||||
public string ModuleLabel => UI.Title_Module;
|
||||
public string MessageLabel => UI.Title_Message;
|
||||
|
||||
public bool DebugChecked
|
||||
{
|
||||
@@ -98,7 +99,7 @@ public sealed class ConsoleViewModel : ViewModelBase
|
||||
{
|
||||
"log"
|
||||
}),
|
||||
Name = "Log files"
|
||||
Name = UI.Dialog_Log_files
|
||||
});
|
||||
|
||||
string result = await dlgSave.ShowAsync(_view);
|
||||
@@ -111,7 +112,7 @@ public sealed class ConsoleViewModel : ViewModelBase
|
||||
var logFs = new FileStream(result, FileMode.Create, FileAccess.ReadWrite);
|
||||
var logSw = new StreamWriter(logFs);
|
||||
|
||||
logSw.WriteLine("Log saved at {0}", DateTime.Now);
|
||||
logSw.WriteLine(UI.Log_saved_at_0, DateTime.Now);
|
||||
|
||||
PlatformID platId = DetectOS.GetRealPlatformID();
|
||||
string platVer = DetectOS.GetVersion();
|
||||
@@ -121,7 +122,7 @@ public sealed class ConsoleViewModel : ViewModelBase
|
||||
typeof(AssemblyInformationalVersionAttribute)) as
|
||||
AssemblyInformationalVersionAttribute;
|
||||
|
||||
logSw.WriteLine("################# System information #################");
|
||||
logSw.WriteLine(UI.System_information);
|
||||
|
||||
logSw.WriteLine("{0} {1} ({2}-bit)", DetectOS.GetPlatformName(platId, platVer), platVer,
|
||||
Environment.Is64BitOperatingSystem ? 64 : 32);
|
||||
@@ -130,19 +131,19 @@ public sealed class ConsoleViewModel : ViewModelBase
|
||||
|
||||
logSw.WriteLine();
|
||||
|
||||
logSw.WriteLine("################# Program information ################");
|
||||
logSw.WriteLine(UI.Program_information);
|
||||
logSw.WriteLine("Aaru {0}", assemblyVersion?.InformationalVersion);
|
||||
logSw.WriteLine("Running in {0}-bit", Environment.Is64BitProcess ? 64 : 32);
|
||||
logSw.WriteLine(UI.Running_in_0_bit, Environment.Is64BitProcess ? 64 : 32);
|
||||
#if DEBUG
|
||||
logSw.WriteLine("DEBUG version");
|
||||
logSw.WriteLine(UI.DEBUG_version);
|
||||
#endif
|
||||
logSw.WriteLine("Command line: {0}", Environment.CommandLine);
|
||||
logSw.WriteLine(UI.Command_line_0, Environment.CommandLine);
|
||||
logSw.WriteLine();
|
||||
|
||||
logSw.WriteLine("################# Console ################");
|
||||
logSw.WriteLine(UI.Console_with_ornament);
|
||||
|
||||
foreach(LogEntry entry in ConsoleHandler.Entries)
|
||||
if(entry.Type != "Info")
|
||||
if(entry.Type != UI.LogEntry_Type_Info)
|
||||
logSw.WriteLine("{0}: ({1}) {2}", entry.Timestamp, entry.Type.ToLower(), entry.Message);
|
||||
else
|
||||
logSw.WriteLine("{0}: {1}", entry.Timestamp, entry.Message);
|
||||
@@ -153,10 +154,11 @@ public sealed class ConsoleViewModel : ViewModelBase
|
||||
catch(Exception exception)
|
||||
{
|
||||
await MessageBoxManager.
|
||||
GetMessageBoxStandardWindow("Error",
|
||||
$"Exception {exception.Message
|
||||
} trying to save logfile, details has been sent to console.",
|
||||
ButtonEnum.Ok, Icon.Error).ShowDialog(_view);
|
||||
GetMessageBoxStandardWindow(UI.Title_Error,
|
||||
string.
|
||||
Format(UI.Exception_0_trying_to_save_logfile_details_has_been_sent_to_console,
|
||||
exception.Message), ButtonEnum.Ok, Icon.Error).
|
||||
ShowDialog(_view);
|
||||
|
||||
AaruConsole.ErrorWriteLine("Console", exception.Message);
|
||||
AaruConsole.ErrorWriteLine("Console", exception.StackTrace);
|
||||
|
||||
@@ -38,6 +38,7 @@ using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using Aaru.Gui.Models;
|
||||
using Aaru.Gui.Views.Dialogs;
|
||||
using Aaru.Localization;
|
||||
using JetBrains.Annotations;
|
||||
using ReactiveUI;
|
||||
|
||||
@@ -73,12 +74,12 @@ public sealed class EncodingsViewModel : ViewModelBase
|
||||
}
|
||||
|
||||
[NotNull]
|
||||
public string Title => "Encodings";
|
||||
public string Title => UI.Encodings;
|
||||
[NotNull]
|
||||
public string CloseLabel => "Close";
|
||||
public string CloseLabel => UI.ButtonLabel_Close;
|
||||
|
||||
public string CodeLabel => "Code";
|
||||
public string NameLabel => "Name";
|
||||
public string CodeLabel => UI.Title_Code_for_encoding;
|
||||
public string NameLabel => UI.Title_Name;
|
||||
|
||||
public ReactiveCommand<Unit, Unit> CloseCommand { get; }
|
||||
public ObservableCollection<EncodingModel> Encodings { get; }
|
||||
|
||||
@@ -34,6 +34,7 @@ using System.IO;
|
||||
using System.Reactive;
|
||||
using System.Reflection;
|
||||
using Aaru.Gui.Views.Dialogs;
|
||||
using Aaru.Localization;
|
||||
using JetBrains.Annotations;
|
||||
using ReactiveUI;
|
||||
|
||||
@@ -49,6 +50,7 @@ public sealed class LicenseViewModel : ViewModelBase
|
||||
_view = view;
|
||||
CloseCommand = ReactiveCommand.Create(ExecuteCloseCommand);
|
||||
|
||||
// TODO: Localize
|
||||
using Stream stream = Assembly.GetExecutingAssembly().GetManifestResourceStream("Aaru.Gui.LICENSE");
|
||||
|
||||
if(stream == null)
|
||||
@@ -60,9 +62,9 @@ public sealed class LicenseViewModel : ViewModelBase
|
||||
}
|
||||
|
||||
[NotNull]
|
||||
public string Title => "Aaru's license";
|
||||
public string Title => UI.Title_Aaru_license;
|
||||
[NotNull]
|
||||
public string CloseLabel => "Close";
|
||||
public string CloseLabel => UI.ButtonLabel_Close;
|
||||
public string LicenseText { get; }
|
||||
public ReactiveCommand<Unit, Unit> CloseCommand { get; }
|
||||
|
||||
|
||||
@@ -37,6 +37,7 @@ using Aaru.CommonTypes.Interfaces;
|
||||
using Aaru.Core;
|
||||
using Aaru.Gui.Models;
|
||||
using Aaru.Gui.Views.Dialogs;
|
||||
using Aaru.Localization;
|
||||
using JetBrains.Annotations;
|
||||
using ReactiveUI;
|
||||
|
||||
@@ -139,29 +140,29 @@ public sealed class PluginsViewModel : ViewModelBase
|
||||
}
|
||||
|
||||
[NotNull]
|
||||
public string Title => "Plugins";
|
||||
public string Title => UI.Title_Plugins;
|
||||
[NotNull]
|
||||
public string FiltersLabel => "Filters";
|
||||
public string FiltersLabel => UI.Title_Filters;
|
||||
[NotNull]
|
||||
public string PartitionsLabel => "Partitions";
|
||||
public string PartitionsLabel => UI.Title_Partitions;
|
||||
[NotNull]
|
||||
public string FilesystemsLabel => "Filesystems";
|
||||
public string FilesystemsLabel => UI.Title_Filesystems;
|
||||
[NotNull]
|
||||
public string IdentifyLabel => "Identify only:";
|
||||
public string IdentifyLabel => UI.Title_Identify_only;
|
||||
[NotNull]
|
||||
public string ImagesLabel => "Media images";
|
||||
public string ImagesLabel => UI.Title_Media_images;
|
||||
[NotNull]
|
||||
public string FloppyImagesLabel => "Floppy images";
|
||||
public string FloppyImagesLabel => UI.Title_Floppy_images;
|
||||
[NotNull]
|
||||
public string ReadableLabel => "Readable:";
|
||||
public string ReadableLabel => UI.Title_Readable;
|
||||
[NotNull]
|
||||
public string WritableLabel => "Writable:";
|
||||
public string WritableLabel => UI.Title_Writable;
|
||||
[NotNull]
|
||||
public string CloseLabel => "Close";
|
||||
public string NameLabel => "Name";
|
||||
public string UUIDLabel => "UUID";
|
||||
public string VersionLabel => "Version";
|
||||
public string AuthorLabel => "Author";
|
||||
public string CloseLabel => UI.ButtonLabel_Close;
|
||||
public string NameLabel => UI.Title_Name;
|
||||
public string UUIDLabel => UI.Title_UUID;
|
||||
public string VersionLabel => UI.Title_Version;
|
||||
public string AuthorLabel => UI.Title_Author;
|
||||
|
||||
public ReactiveCommand<Unit, Unit> CloseCommand { get; }
|
||||
public ObservableCollection<PluginModel> Filters { get; }
|
||||
|
||||
@@ -32,6 +32,7 @@
|
||||
|
||||
using System.Reactive;
|
||||
using Aaru.Gui.Views.Dialogs;
|
||||
using Aaru.Localization;
|
||||
using Aaru.Settings;
|
||||
using JetBrains.Annotations;
|
||||
using ReactiveUI;
|
||||
@@ -90,85 +91,61 @@ public sealed class SettingsViewModel : ViewModelBase
|
||||
|
||||
// TODO: Show Preferences in macOS
|
||||
[NotNull]
|
||||
public string Title => "Settings";
|
||||
public string Title => UI.Title_Settings;
|
||||
[NotNull]
|
||||
public string GdprLabel => "GDPR";
|
||||
public string GdprLabel => UI.Title_GDPR;
|
||||
[NotNull]
|
||||
public string ReportsLabel => "Reports";
|
||||
public string ReportsLabel => UI.Title_Reports;
|
||||
[NotNull]
|
||||
public string StatisticsLabel => "Statistics";
|
||||
public string StatisticsLabel => UI.Title_Statistics;
|
||||
[NotNull]
|
||||
public string SaveLabel => "Save";
|
||||
public string SaveLabel => UI.ButtonLabel_Save;
|
||||
[NotNull]
|
||||
public string CancelLabel => "Cancel";
|
||||
public string CancelLabel => UI.ButtonLabel_Cancel;
|
||||
[NotNull]
|
||||
public string GdprText1 =>
|
||||
@"In compliance with the European Union General Data Protection Regulation 2016/679 (GDPR),
|
||||
we must give you the following information about Aaru and ask if you want to opt-in
|
||||
in some information sharing.";
|
||||
public string GdprText1 => UI.GDPR_Compliance;
|
||||
|
||||
[NotNull]
|
||||
public string GdprText2 => @"Disclaimer: Because Aaru is an open source software this information, and therefore,
|
||||
compliance with GDPR only holds true if you obtained a certificated copy from its original
|
||||
authors. In case of doubt, close Aaru now and ask in our IRC support channel.";
|
||||
public string GdprText2 => UI.GDPR_Open_Source_Disclaimer;
|
||||
|
||||
[NotNull]
|
||||
public string GdprText3 =>
|
||||
@"For any information sharing your IP address may be stored in our server, in a way that is not
|
||||
possible for any person, manual, or automated process, to link with your identity, unless
|
||||
specified otherwise.";
|
||||
public string GdprText3 => UI.GDPR_Information_sharing;
|
||||
[NotNull]
|
||||
public string ReportsGloballyText =>
|
||||
@"With the 'device-report' command, Aaru creates a report of a device, that includes its
|
||||
manufacturer, model, firmware revision and/or version, attached bus, size, and supported commands.
|
||||
The serial number of the device is not stored in the report. If used with the debug parameter,
|
||||
extra information about the device will be stored in the report. This information is known to contain
|
||||
the device serial number in non-standard places that prevent the automatic removal of it on a handful
|
||||
of devices. A human-readable copy of the report in XML format is always created in the same directory
|
||||
where Aaru is being run from.";
|
||||
public string ReportsGloballyText => UI.Configure_Device_Report_information_disclaimer;
|
||||
|
||||
[NotNull]
|
||||
public string SaveReportsGloballyText => "Save device reports in shared folder of your computer?";
|
||||
public string SaveReportsGloballyText => UI.Save_device_reports_in_shared_folder_of_your_computer_Q;
|
||||
|
||||
[NotNull]
|
||||
public string ReportsText =>
|
||||
@"Sharing a report with us will send it to our server, that's in the european union territory, where it
|
||||
will be manually analyzed by an european union citizen to remove any trace of personal identification
|
||||
from it. Once that is done, it will be shared in our stats website, https://www.aaru.app
|
||||
These report will be used to improve Aaru support, and in some cases, to provide emulation of the
|
||||
devices to other open-source projects. In any case, no information linking the report to you will be stored.";
|
||||
public string ReportsText => UI.Configure_share_report_disclaimer;
|
||||
|
||||
[NotNull]
|
||||
public string ShareReportsText => "Share your device reports with us?";
|
||||
public string ShareReportsText => UI.Share_your_device_reports_with_us_Q;
|
||||
[NotNull]
|
||||
public string StatisticsText =>
|
||||
@"Aaru can store some usage statistics. These statistics are limited to the number of times a
|
||||
command is executed, a filesystem, partition, or device is used, the operating system version, and other.
|
||||
In no case, any information besides pure statistical usage numbers is stored, and they're just joint to the
|
||||
pool with no way of using them to identify you.";
|
||||
public string StatisticsText => UI.Statistics_disclaimer;
|
||||
|
||||
[NotNull]
|
||||
public string SaveStatsText => "Save stats about your Aaru usage?";
|
||||
public string SaveStatsText => UI.Save_stats_about_your_Aaru_usage_Q;
|
||||
[NotNull]
|
||||
public string ShareStatsText => "Share your stats (anonymously)?";
|
||||
public string ShareStatsText => UI.Share_your_stats_anonymously_Q;
|
||||
[NotNull]
|
||||
public string CommandStatsText => "Gather statistics about command usage?";
|
||||
public string CommandStatsText => UI.Gather_statistics_about_command_usage_Q;
|
||||
[NotNull]
|
||||
public string DeviceStatsText => "Gather statistics about found devices?";
|
||||
public string DeviceStatsText => UI.Gather_statistics_about_found_devices_Q;
|
||||
[NotNull]
|
||||
public string FilesystemStatsText => "Gather statistics about found filesystems?";
|
||||
public string FilesystemStatsText => UI.Gather_statistics_about_found_filesystems_Q;
|
||||
[NotNull]
|
||||
public string FilterStatsText => "Gather statistics about found file filters?";
|
||||
public string FilterStatsText => UI.Gather_statistics_about_found_file_filters_Q;
|
||||
[NotNull]
|
||||
public string MediaImageStatsText => "Gather statistics about found media image formats?";
|
||||
public string MediaImageStatsText => UI.Gather_statistics_about_found_media_image_formats_Q;
|
||||
[NotNull]
|
||||
public string MediaScanStatsText => "Gather statistics about scanned media?";
|
||||
public string MediaScanStatsText => UI.Gather_statistics_about_scanned_media_Q;
|
||||
[NotNull]
|
||||
public string PartitionStatsText => "Gather statistics about found partitioning schemes?";
|
||||
public string PartitionStatsText => UI.Gather_statistics_about_found_partitioning_schemes_Q;
|
||||
[NotNull]
|
||||
public string MediaStatsText => "Gather statistics about media types?";
|
||||
public string MediaStatsText => UI.Gather_statistics_about_media_types_Q;
|
||||
[NotNull]
|
||||
public string VerifyStatsText => "Gather statistics about media image verifications?";
|
||||
public string VerifyStatsText => UI.Gather_statistics_about_media_image_verifications_Q;
|
||||
|
||||
public ReactiveCommand<Unit, Unit> CancelCommand { get; }
|
||||
public ReactiveCommand<Unit, Unit> SaveCommand { get; }
|
||||
|
||||
@@ -37,6 +37,7 @@ using Aaru.Database;
|
||||
using Aaru.Database.Models;
|
||||
using Aaru.Gui.Models;
|
||||
using Aaru.Gui.Views.Dialogs;
|
||||
using Aaru.Localization;
|
||||
using JetBrains.Annotations;
|
||||
using ReactiveUI;
|
||||
using NameCountModel = Aaru.Gui.Models.NameCountModel;
|
||||
@@ -135,7 +136,7 @@ public sealed class StatisticsViewModel : ViewModelBase
|
||||
count += (ulong)ctx.Commands.LongCount(c => c.Name == "fs-info" && !c.Synchronized);
|
||||
|
||||
FsInfoVisible = true;
|
||||
FsInfoText = $"You have called the Filesystem Info command {count} times";
|
||||
FsInfoText = string.Format(UI.You_have_called_the_Filesystem_Info_command_0_times, count);
|
||||
}
|
||||
|
||||
if(ctx.Commands.Any(c => c.Name == "checksum"))
|
||||
@@ -146,7 +147,7 @@ public sealed class StatisticsViewModel : ViewModelBase
|
||||
count += (ulong)ctx.Commands.LongCount(c => c.Name == "checksum" && !c.Synchronized);
|
||||
|
||||
ChecksumVisible = true;
|
||||
ChecksumText = $"You have called the Checksum command {count} times";
|
||||
ChecksumText = string.Format(UI.You_have_called_the_Checksum_command_0_times, count);
|
||||
}
|
||||
|
||||
if(ctx.Commands.Any(c => c.Name == "compare"))
|
||||
@@ -157,7 +158,7 @@ public sealed class StatisticsViewModel : ViewModelBase
|
||||
count += (ulong)ctx.Commands.LongCount(c => c.Name == "compare" && !c.Synchronized);
|
||||
|
||||
CompareVisible = true;
|
||||
CompareText = $"You have called the Compare command {count} times";
|
||||
CompareText = string.Format(UI.You_have_called_the_Compare_command_0_times, count);
|
||||
}
|
||||
|
||||
if(ctx.Commands.Any(c => c.Name == "convert-image"))
|
||||
@@ -168,7 +169,7 @@ public sealed class StatisticsViewModel : ViewModelBase
|
||||
count += (ulong)ctx.Commands.LongCount(c => c.Name == "convert-image" && !c.Synchronized);
|
||||
|
||||
ConvertImageVisible = true;
|
||||
ConvertImageText = $"You have called the Convert-Image command {count} times";
|
||||
ConvertImageText = string.Format(UI.You_have_called_the_Convert_Image_command_0_times, count);
|
||||
}
|
||||
|
||||
if(ctx.Commands.Any(c => c.Name == "create-sidecar"))
|
||||
@@ -179,7 +180,7 @@ public sealed class StatisticsViewModel : ViewModelBase
|
||||
count += (ulong)ctx.Commands.LongCount(c => c.Name == "create-sidecar" && !c.Synchronized);
|
||||
|
||||
CreateSidecarVisible = true;
|
||||
CreateSidecarText = $"You have called the Create-Sidecar command {count} times";
|
||||
CreateSidecarText = string.Format(UI.You_have_called_the_Create_Sidecar_command_0_times, count);
|
||||
}
|
||||
|
||||
if(ctx.Commands.Any(c => c.Name == "decode"))
|
||||
@@ -190,7 +191,7 @@ public sealed class StatisticsViewModel : ViewModelBase
|
||||
count += (ulong)ctx.Commands.LongCount(c => c.Name == "decode" && !c.Synchronized);
|
||||
|
||||
DecodeVisible = true;
|
||||
DecodeText = $"You have called the Decode command {count} times";
|
||||
DecodeText = string.Format(UI.You_have_called_the_Decode_command_0_times, count);
|
||||
}
|
||||
|
||||
if(ctx.Commands.Any(c => c.Name == "device-info"))
|
||||
@@ -201,7 +202,7 @@ public sealed class StatisticsViewModel : ViewModelBase
|
||||
count += (ulong)ctx.Commands.LongCount(c => c.Name == "device-info" && !c.Synchronized);
|
||||
|
||||
DeviceInfoVisible = true;
|
||||
DeviceInfoText = $"You have called the Device-Info command {count} times";
|
||||
DeviceInfoText = string.Format(UI.You_have_called_the_Device_Info_command_0_times, count);
|
||||
}
|
||||
|
||||
if(ctx.Commands.Any(c => c.Name == "device-report"))
|
||||
@@ -212,7 +213,7 @@ public sealed class StatisticsViewModel : ViewModelBase
|
||||
count += (ulong)ctx.Commands.LongCount(c => c.Name == "device-report" && !c.Synchronized);
|
||||
|
||||
DeviceReportVisible = true;
|
||||
DeviceReportText = $"You have called the Device-Report command {count} times";
|
||||
DeviceReportText = string.Format(UI.You_have_called_the_Device_Report_command_0_times, count);
|
||||
}
|
||||
|
||||
if(ctx.Commands.Any(c => c.Name == "dump-media"))
|
||||
@@ -223,7 +224,7 @@ public sealed class StatisticsViewModel : ViewModelBase
|
||||
count += (ulong)ctx.Commands.LongCount(c => c.Name == "dump-media" && !c.Synchronized);
|
||||
|
||||
DumpMediaVisible = true;
|
||||
DumpMediaText = $"You have called the Dump-Media command {count} times";
|
||||
DumpMediaText = string.Format(UI.You_have_called_the_Dump_Media_command_0_times, count);
|
||||
}
|
||||
|
||||
if(ctx.Commands.Any(c => c.Name == "entropy"))
|
||||
@@ -234,7 +235,7 @@ public sealed class StatisticsViewModel : ViewModelBase
|
||||
count += (ulong)ctx.Commands.LongCount(c => c.Name == "entropy" && !c.Synchronized);
|
||||
|
||||
EntropyVisible = true;
|
||||
EntropyText = $"You have called the Entropy command {count} times";
|
||||
EntropyText = string.Format(UI.You_have_called_the_Entropy_command_0_times, count);
|
||||
}
|
||||
|
||||
if(ctx.Commands.Any(c => c.Name == "formats"))
|
||||
@@ -245,7 +246,7 @@ public sealed class StatisticsViewModel : ViewModelBase
|
||||
count += (ulong)ctx.Commands.LongCount(c => c.Name == "formats" && !c.Synchronized);
|
||||
|
||||
FormatsCommandVisible = true;
|
||||
FormatsCommandText = $"You have called the Formats command {count} times";
|
||||
FormatsCommandText = string.Format(UI.You_have_called_the_Formats_command_0_times, count);
|
||||
}
|
||||
|
||||
if(ctx.Commands.Any(c => c.Name == "image-info"))
|
||||
@@ -256,7 +257,7 @@ public sealed class StatisticsViewModel : ViewModelBase
|
||||
count += (ulong)ctx.Commands.LongCount(c => c.Name == "image-info" && !c.Synchronized);
|
||||
|
||||
ImageInfoVisible = true;
|
||||
ImageInfoText = $"You have called the Image-Info command {count} times";
|
||||
ImageInfoText = string.Format(UI.You_have_called_the_Image_Info_command_0_times, count);
|
||||
}
|
||||
|
||||
if(ctx.Commands.Any(c => c.Name == "media-info"))
|
||||
@@ -267,7 +268,7 @@ public sealed class StatisticsViewModel : ViewModelBase
|
||||
count += (ulong)ctx.Commands.LongCount(c => c.Name == "media-info" && !c.Synchronized);
|
||||
|
||||
MediaInfoVisible = true;
|
||||
MediaInfoText = $"You have called the Media-Info command {count} times";
|
||||
MediaInfoText = string.Format(UI.You_have_called_the_Media_Info_command_0_times, count);
|
||||
}
|
||||
|
||||
if(ctx.Commands.Any(c => c.Name == "media-scan"))
|
||||
@@ -278,7 +279,7 @@ public sealed class StatisticsViewModel : ViewModelBase
|
||||
count += (ulong)ctx.Commands.LongCount(c => c.Name == "media-scan" && !c.Synchronized);
|
||||
|
||||
MediaScanVisible = true;
|
||||
MediaScanText = $"You have called the Media-Scan command {count} times";
|
||||
MediaScanText = string.Format(UI.You_have_called_the_Media_Scan_command_0_times, count);
|
||||
}
|
||||
|
||||
if(ctx.Commands.Any(c => c.Name == "printhex"))
|
||||
@@ -289,7 +290,7 @@ public sealed class StatisticsViewModel : ViewModelBase
|
||||
count += (ulong)ctx.Commands.LongCount(c => c.Name == "printhex" && !c.Synchronized);
|
||||
|
||||
PrintHexVisible = true;
|
||||
PrintHexText = $"You have called the Print-Hex command {count} times";
|
||||
PrintHexText = string.Format(UI.You_have_called_the_Print_Hex_command_0_times, count);
|
||||
}
|
||||
|
||||
if(ctx.Commands.Any(c => c.Name == "verify"))
|
||||
@@ -300,7 +301,7 @@ public sealed class StatisticsViewModel : ViewModelBase
|
||||
count += (ulong)ctx.Commands.LongCount(c => c.Name == "verify" && !c.Synchronized);
|
||||
|
||||
VerifyVisible = true;
|
||||
VerifyText = $"You have called the Verify command {count} times";
|
||||
VerifyText = string.Format(UI.You_have_called_the_Verify_command_0_times, count);
|
||||
}
|
||||
|
||||
CommandsVisible = FsInfoVisible || ChecksumVisible || CompareVisible || ConvertImageVisible ||
|
||||
@@ -417,7 +418,7 @@ public sealed class StatisticsViewModel : ViewModelBase
|
||||
{
|
||||
Name = media,
|
||||
Count = count,
|
||||
Type = "real"
|
||||
Type = UI.Media_found_type_real
|
||||
});
|
||||
|
||||
count = ctx.Medias.Where(c => c.Type == media && c.Synchronized && !c.Real).Select(c => c.Count).
|
||||
@@ -432,7 +433,7 @@ public sealed class StatisticsViewModel : ViewModelBase
|
||||
{
|
||||
Name = media,
|
||||
Count = count,
|
||||
Type = "image"
|
||||
Type = UI.Media_found_type_image
|
||||
});
|
||||
}
|
||||
}
|
||||
@@ -672,45 +673,45 @@ public sealed class StatisticsViewModel : ViewModelBase
|
||||
}
|
||||
|
||||
[NotNull]
|
||||
public string CommandsLabel => "Commands";
|
||||
public string CommandsLabel => UI.Title_Commands;
|
||||
[NotNull]
|
||||
public string FilterLabel => "Filter";
|
||||
public string FilterLabel => UI.Title_Filter;
|
||||
[NotNull]
|
||||
public string PartitionLabel => "Partition";
|
||||
public string PartitionLabel => UI.Title_Partition;
|
||||
[NotNull]
|
||||
public string PartitionsLabel => "Partitions";
|
||||
public string PartitionsLabel => UI.Title_Partitions;
|
||||
[NotNull]
|
||||
public string FiltersLabel => "Filters";
|
||||
public string FiltersLabel => UI.Title_Filters;
|
||||
[NotNull]
|
||||
public string FormatsLabel => "Formats";
|
||||
public string FormatsLabel => UI.Title_Formats;
|
||||
[NotNull]
|
||||
public string FormatLabel => "Format";
|
||||
public string FormatLabel => UI.Title_Format;
|
||||
[NotNull]
|
||||
public string FilesystemsLabel => "Filesystems";
|
||||
public string FilesystemsLabel => UI.Title_Filesystems;
|
||||
[NotNull]
|
||||
public string FilesystemLabel => "Filesystem";
|
||||
public string FilesystemLabel => UI.Title_Filesystem;
|
||||
[NotNull]
|
||||
public string TimesFoundLabel => "Times found";
|
||||
public string TimesFoundLabel => UI.Title_Times_used;
|
||||
[NotNull]
|
||||
public string DevicesLabel => "Devices";
|
||||
public string DevicesLabel => UI.Title_Devices;
|
||||
[NotNull]
|
||||
public string DeviceLabel => "Device";
|
||||
public string DeviceLabel => UI.Title_Device;
|
||||
[NotNull]
|
||||
public string ManufacturerLabel => "Manufacturer";
|
||||
public string ManufacturerLabel => UI.Title_Manufacturer;
|
||||
[NotNull]
|
||||
public string RevisionLabel => "Revision";
|
||||
public string RevisionLabel => UI.Title_Revision;
|
||||
[NotNull]
|
||||
public string BusLabel => "Bus";
|
||||
public string BusLabel => UI.Title_Bus;
|
||||
[NotNull]
|
||||
public string MediasLabel => "Medias";
|
||||
public string MediasLabel => UI.Title_Medias;
|
||||
[NotNull]
|
||||
public string MediaLabel => "Media";
|
||||
public string MediaLabel => UI.Title_Media;
|
||||
[NotNull]
|
||||
public string TypeLabel => "Type";
|
||||
public string TypeLabel => UI.Title_Type_for_media;
|
||||
[NotNull]
|
||||
public string Title => "Encodings";
|
||||
public string Title => UI.Encodings;
|
||||
[NotNull]
|
||||
public string CloseLabel => "Close";
|
||||
public string CloseLabel => UI.ButtonLabel_Close;
|
||||
|
||||
public ReactiveCommand<Unit, Unit> CloseCommand { get; }
|
||||
public ObservableCollection<NameCountModel> Filters { get; }
|
||||
|
||||
Reference in New Issue
Block a user