diff --git a/Aaru.Localization/Aaru.Localization.csproj b/Aaru.Localization/Aaru.Localization.csproj
new file mode 100644
index 000000000..4947e4864
--- /dev/null
+++ b/Aaru.Localization/Aaru.Localization.csproj
@@ -0,0 +1,57 @@
+
+
+
+ net7.0
+ enable
+ enable
+ Library
+ Aaru.Localization
+ Aaru.Localization
+ $(Version)
+ true
+ 6.0.0-alpha8
+ Claunia.com
+ Copyright © 2011-2022 Natalia Portillo
+ Aaru Data Preservation Suite
+ Aaru.Localization
+ $(Version)
+ 11
+ Language resources for the Aaru Data Preservation Suite.
+ https://github.com/aaru-dps/
+ LGPL-2.1-only
+ https://github.com/aaru-dps/Aaru
+ true
+ en-US
+ true
+ true
+ snupkg
+ Natalia Portillo <claunia@claunia.com>
+ true
+ CS1591
+
+
+
+
+ PublicResXFileCodeGenerator
+ UI.Designer.cs
+
+
+ PublicResXFileCodeGenerator
+ Core.Designer.cs
+
+
+
+
+
+ True
+ True
+ UI.resx
+
+
+ True
+ True
+ Core.resx
+
+
+
+
diff --git a/Aaru.Localization/Core.Designer.cs b/Aaru.Localization/Core.Designer.cs
new file mode 100644
index 000000000..6c018d835
--- /dev/null
+++ b/Aaru.Localization/Core.Designer.cs
@@ -0,0 +1,954 @@
+//------------------------------------------------------------------------------
+//
+// This code was generated by a tool.
+//
+// Changes to this file may cause incorrect behavior and will be lost if
+// the code is regenerated.
+//
+//------------------------------------------------------------------------------
+
+namespace Aaru.Localization {
+ using System;
+
+
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")]
+ [System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
+ public class Core {
+
+ private static System.Resources.ResourceManager resourceMan;
+
+ private static System.Globalization.CultureInfo resourceCulture;
+
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
+ internal Core() {
+ }
+
+ [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+ public static System.Resources.ResourceManager ResourceManager {
+ get {
+ if (object.Equals(null, resourceMan)) {
+ System.Resources.ResourceManager temp = new System.Resources.ResourceManager("Aaru.Localization.Core", typeof(Core).Assembly);
+ resourceMan = temp;
+ }
+ return resourceMan;
+ }
+ }
+
+ [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+ public static System.Globalization.CultureInfo Culture {
+ get {
+ return resourceCulture;
+ }
+ set {
+ resourceCulture = value;
+ }
+ }
+
+ public static string Querying_ATA_IDENTIFY {
+ get {
+ return ResourceManager.GetString("Querying_ATA_IDENTIFY", resourceCulture);
+ }
+ }
+
+ public static string Querying_USB_information {
+ get {
+ return ResourceManager.GetString("Querying_USB_information", resourceCulture);
+ }
+ }
+
+ public static string Querying_PCMCIA_information {
+ get {
+ return ResourceManager.GetString("Querying_PCMCIA_information", resourceCulture);
+ }
+ }
+
+ public static string NVMe_devices_not_yet_supported {
+ get {
+ return ResourceManager.GetString("NVMe_devices_not_yet_supported", resourceCulture);
+ }
+ }
+
+ public static string Querying_ATAPI_IDENTIFY {
+ get {
+ return ResourceManager.GetString("Querying_ATAPI_IDENTIFY", resourceCulture);
+ }
+ }
+
+ public static string Waiting_for_drive_to_become_ready {
+ get {
+ return ResourceManager.GetString("Waiting_for_drive_to_become_ready", resourceCulture);
+ }
+ }
+
+ public static string Device_not_ready_Sense {
+ get {
+ return ResourceManager.GetString("Device_not_ready_Sense", resourceCulture);
+ }
+ }
+
+ public static string Got_sense_status_but_no_sense_buffer {
+ get {
+ return ResourceManager.GetString("Got_sense_status_but_no_sense_buffer", resourceCulture);
+ }
+ }
+
+ public static string Try_to_find_SCSI_READ_LONG_size {
+ get {
+ return ResourceManager.GetString("Try_to_find_SCSI_READ_LONG_size", resourceCulture);
+ }
+ }
+
+ public static string Trying_to_READ_LONG {
+ get {
+ return ResourceManager.GetString("Trying_to_READ_LONG", resourceCulture);
+ }
+ }
+
+ public static string Trying_READ_LONG_with_size_0 {
+ get {
+ return ResourceManager.GetString("Trying_READ_LONG_with_size_0", resourceCulture);
+ }
+ }
+
+ public static string Trying_SCSI_READ_LONG_10 {
+ get {
+ return ResourceManager.GetString("Trying_SCSI_READ_LONG_10", resourceCulture);
+ }
+ }
+
+ public static string Trying_SCSI_READ_LONG_16 {
+ get {
+ return ResourceManager.GetString("Trying_SCSI_READ_LONG_16", resourceCulture);
+ }
+ }
+
+ public static string Please_write_media_manufacturer {
+ get {
+ return ResourceManager.GetString("Please_write_media_manufacturer", resourceCulture);
+ }
+ }
+
+ public static string Media_Type_Name_MMD_140A {
+ get {
+ return ResourceManager.GetString("Media_Type_Name_MMD_140A", resourceCulture);
+ }
+ }
+
+ public static string Media_Type_Name_MDW_60 {
+ get {
+ return ResourceManager.GetString("Media_Type_Name_MDW_60", resourceCulture);
+ }
+ }
+
+ public static string Media_Type_Name_MDW_74 {
+ get {
+ return ResourceManager.GetString("Media_Type_Name_MDW_74", resourceCulture);
+ }
+ }
+
+ public static string Media_Type_Name_MDW_80 {
+ get {
+ return ResourceManager.GetString("Media_Type_Name_MDW_80", resourceCulture);
+ }
+ }
+
+ public static string Media_Type_Name_MiniDisc {
+ get {
+ return ResourceManager.GetString("Media_Type_Name_MiniDisc", resourceCulture);
+ }
+ }
+
+ public static string Unknown_device_type {
+ get {
+ return ResourceManager.GetString("Unknown_device_type", resourceCulture);
+ }
+ }
+
+ public static string Device_supports_MCPT_Command_Set {
+ get {
+ return ResourceManager.GetString("Device_supports_MCPT_Command_Set", resourceCulture);
+ }
+ }
+
+ public static string Device_reports_incorrect_media_card_type {
+ get {
+ return ResourceManager.GetString("Device_reports_incorrect_media_card_type", resourceCulture);
+ }
+ }
+
+ public static string Device_contains_SD_card {
+ get {
+ return ResourceManager.GetString("Device_contains_SD_card", resourceCulture);
+ }
+ }
+
+ public static string Device_contains_MMC {
+ get {
+ return ResourceManager.GetString("Device_contains_MMC", resourceCulture);
+ }
+ }
+
+ public static string Device_contains_SDIO_card {
+ get {
+ return ResourceManager.GetString("Device_contains_SDIO_card", resourceCulture);
+ }
+ }
+
+ public static string Device_contains_SM_card {
+ get {
+ return ResourceManager.GetString("Device_contains_SM_card", resourceCulture);
+ }
+ }
+
+ public static string Device_contains_unknown_media_card_type_0 {
+ get {
+ return ResourceManager.GetString("Device_contains_unknown_media_card_type_0", resourceCulture);
+ }
+ }
+
+ public static string Media_card_is_write_protected {
+ get {
+ return ResourceManager.GetString("Media_card_is_write_protected", resourceCulture);
+ }
+ }
+
+ public static string Card_specific_data_0 {
+ get {
+ return ResourceManager.GetString("Card_specific_data_0", resourceCulture);
+ }
+ }
+
+ public static string Media_identified_as_0 {
+ get {
+ return ResourceManager.GetString("Media_identified_as_0", resourceCulture);
+ }
+ }
+
+ public static string Device_identified_as_0 {
+ get {
+ return ResourceManager.GetString("Device_identified_as_0", resourceCulture);
+ }
+ }
+
+ public static string ASCII_Page_0_1 {
+ get {
+ return ResourceManager.GetString("ASCII_Page_0_1", resourceCulture);
+ }
+ }
+
+ public static string Unit_Serial_Number_0 {
+ get {
+ return ResourceManager.GetString("Unit_Serial_Number_0", resourceCulture);
+ }
+ }
+
+ public static string ASCII_implemented_operating_definitions_0 {
+ get {
+ return ResourceManager.GetString("ASCII_implemented_operating_definitions_0", resourceCulture);
+ }
+ }
+
+ public static string Manufacturer_assigned_Serial_Number_0 {
+ get {
+ return ResourceManager.GetString("Manufacturer_assigned_Serial_Number_0", resourceCulture);
+ }
+ }
+
+ public static string TapeAlert_Supported_Flags_Bitmap_0 {
+ get {
+ return ResourceManager.GetString("TapeAlert_Supported_Flags_Bitmap_0", resourceCulture);
+ }
+ }
+
+ public static string Automation_Device_Serial_Number_0 {
+ get {
+ return ResourceManager.GetString("Automation_Device_Serial_Number_0", resourceCulture);
+ }
+ }
+
+ public static string Data_Transfer_Device_Element_Address_0 {
+ get {
+ return ResourceManager.GetString("Data_Transfer_Device_Element_Address_0", resourceCulture);
+ }
+ }
+
+ public static string Found_undecoded_SCSI_VPD_page_0 {
+ get {
+ return ResourceManager.GetString("Found_undecoded_SCSI_VPD_page_0", resourceCulture);
+ }
+ }
+
+ public static string GET_CONFIGURATION_length_is_0 {
+ get {
+ return ResourceManager.GetString("GET_CONFIGURATION_length_is_0", resourceCulture);
+ }
+ }
+
+ public static string GET_CONFIGURATION_current_profile_is_0 {
+ get {
+ return ResourceManager.GetString("GET_CONFIGURATION_current_profile_is_0", resourceCulture);
+ }
+ }
+
+ public static string Feature_0 {
+ get {
+ return ResourceManager.GetString("Feature_0", resourceCulture);
+ }
+ }
+
+ public static string Found_unknown_feature_code_0 {
+ get {
+ return ResourceManager.GetString("Found_unknown_feature_code_0", resourceCulture);
+ }
+ }
+
+ public static string GET_CONFIGURATION_returned_no_feature_descriptors {
+ get {
+ return ResourceManager.GetString("GET_CONFIGURATION_returned_no_feature_descriptors", resourceCulture);
+ }
+ }
+
+ public static string Drive_has_loaded_a_total_of_0_discs {
+ get {
+ return ResourceManager.GetString("Drive_has_loaded_a_total_of_0_discs", resourceCulture);
+ }
+ }
+
+ public static string Drive_has_spent_0_hours_1_minutes_and_2_seconds_reading_CDs {
+ get {
+ return ResourceManager.GetString("Drive_has_spent_0_hours_1_minutes_and_2_seconds_reading_CDs", resourceCulture);
+ }
+ }
+
+ public static string Drive_has_spent_0_hours_1_minutes_and_2_seconds_writing_CDs {
+ get {
+ return ResourceManager.GetString("Drive_has_spent_0_hours_1_minutes_and_2_seconds_writing_CDs", resourceCulture);
+ }
+ }
+
+ public static string Drive_has_spent_0_hours_1_minutes_and_2_seconds_reading_DVDs {
+ get {
+ return ResourceManager.GetString("Drive_has_spent_0_hours_1_minutes_and_2_seconds_reading_DVDs", resourceCulture);
+ }
+ }
+
+ public static string Drive_has_spent_0_hours_1_minutes_and_2_seconds_writing_DVDs {
+ get {
+ return ResourceManager.GetString("Drive_has_spent_0_hours_1_minutes_and_2_seconds_writing_DVDs", resourceCulture);
+ }
+ }
+
+ public static string Drive_supports_PoweRec_is_enabled_and_recommends_0 {
+ get {
+ return ResourceManager.GetString("Drive_supports_PoweRec_is_enabled_and_recommends_0", resourceCulture);
+ }
+ }
+
+ public static string Drive_supports_PoweRec_and_has_it_enabled {
+ get {
+ return ResourceManager.GetString("Drive_supports_PoweRec_and_has_it_enabled", resourceCulture);
+ }
+ }
+
+ public static string Selected_PoweRec_speed_for_currently_inserted_media_is_0_1 {
+ get {
+ return ResourceManager.GetString("Selected_PoweRec_speed_for_currently_inserted_media_is_0_1", resourceCulture);
+ }
+ }
+
+ public static string Maximum_PoweRec_speed_for_currently_inserted_media_is_0_1 {
+ get {
+ return ResourceManager.GetString("Maximum_PoweRec_speed_for_currently_inserted_media_is_0_1", resourceCulture);
+ }
+ }
+
+ public static string Last_used_PoweRec_was_0_1 {
+ get {
+ return ResourceManager.GetString("Last_used_PoweRec_was_0_1", resourceCulture);
+ }
+ }
+
+ public static string Drive_supports_PoweRec_and_has_it_disabled {
+ get {
+ return ResourceManager.GetString("Drive_supports_PoweRec_and_has_it_disabled", resourceCulture);
+ }
+ }
+
+ public static string Drive_supports_Plextor_SilentMode {
+ get {
+ return ResourceManager.GetString("Drive_supports_Plextor_SilentMode", resourceCulture);
+ }
+ }
+
+ public static string Plextor_SilentMode_is_enabled {
+ get {
+ return ResourceManager.GetString("Plextor_SilentMode_is_enabled", resourceCulture);
+ }
+ }
+
+ public static string Access_time_is_slow {
+ get {
+ return ResourceManager.GetString("Access_time_is_slow", resourceCulture);
+ }
+ }
+
+ public static string Access_time_is_fast {
+ get {
+ return ResourceManager.GetString("Access_time_is_fast", resourceCulture);
+ }
+ }
+
+ public static string CD_read_speed_limited_to_0 {
+ get {
+ return ResourceManager.GetString("CD_read_speed_limited_to_0", resourceCulture);
+ }
+ }
+
+ public static string DVD_read_speed_limited_to_0 {
+ get {
+ return ResourceManager.GetString("DVD_read_speed_limited_to_0", resourceCulture);
+ }
+ }
+
+ public static string CD_write_speed_limited_to_0 {
+ get {
+ return ResourceManager.GetString("CD_write_speed_limited_to_0", resourceCulture);
+ }
+ }
+
+ public static string Drive_supports_Plextor_GigaRec {
+ get {
+ return ResourceManager.GetString("Drive_supports_Plextor_GigaRec", resourceCulture);
+ }
+ }
+
+ public static string Drive_supports_Plextor_SecuRec {
+ get {
+ return ResourceManager.GetString("Drive_supports_Plextor_SecuRec", resourceCulture);
+ }
+ }
+
+ public static string Drive_supports_Plextor_SpeedRead {
+ get {
+ return ResourceManager.GetString("Drive_supports_Plextor_SpeedRead", resourceCulture);
+ }
+ }
+
+ public static string Drive_supports_Plextor_SpeedRead_and_has_it_enabled {
+ get {
+ return ResourceManager.GetString("Drive_supports_Plextor_SpeedRead_and_has_it_enabled", resourceCulture);
+ }
+ }
+
+ public static string Drive_supports_hiding_CDRs_and_forcing_single_session {
+ get {
+ return ResourceManager.GetString("Drive_supports_hiding_CDRs_and_forcing_single_session", resourceCulture);
+ }
+ }
+
+ public static string Drive_currently_hides_CDRs {
+ get {
+ return ResourceManager.GetString("Drive_currently_hides_CDRs", resourceCulture);
+ }
+ }
+
+ public static string Drive_currently_forces_single_session {
+ get {
+ return ResourceManager.GetString("Drive_currently_forces_single_session", resourceCulture);
+ }
+ }
+
+ public static string Drive_supports_Plextor_VariRec {
+ get {
+ return ResourceManager.GetString("Drive_supports_Plextor_VariRec", resourceCulture);
+ }
+ }
+
+ public static string Drive_supports_Plextor_VariRec_for_DVDs {
+ get {
+ return ResourceManager.GetString("Drive_supports_Plextor_VariRec_for_DVDs", resourceCulture);
+ }
+ }
+
+ public static string Drive_supports_bitsetting_DVD_R_book_type {
+ get {
+ return ResourceManager.GetString("Drive_supports_bitsetting_DVD_R_book_type", resourceCulture);
+ }
+ }
+
+ public static string Drive_supports_bitsetting_DVD_R_DL_book_type {
+ get {
+ return ResourceManager.GetString("Drive_supports_bitsetting_DVD_R_DL_book_type", resourceCulture);
+ }
+ }
+
+ public static string Drive_supports_test_writing_DVD_Plus {
+ get {
+ return ResourceManager.GetString("Drive_supports_test_writing_DVD_Plus", resourceCulture);
+ }
+ }
+
+ public static string Can_do_challenge_response_with_Xbox_discs {
+ get {
+ return ResourceManager.GetString("Can_do_challenge_response_with_Xbox_discs", resourceCulture);
+ }
+ }
+
+ public static string Can_read_and_decrypt_SS_from_Xbox_discs {
+ get {
+ return ResourceManager.GetString("Can_read_and_decrypt_SS_from_Xbox_discs", resourceCulture);
+ }
+ }
+
+ public static string Can_set_xtreme_unlock_state_with_Xbox_discs {
+ get {
+ return ResourceManager.GetString("Can_set_xtreme_unlock_state_with_Xbox_discs", resourceCulture);
+ }
+ }
+
+ public static string Can_set_wxripper_unlock_state_with_Xbox_discs {
+ get {
+ return ResourceManager.GetString("Can_set_wxripper_unlock_state_with_Xbox_discs", resourceCulture);
+ }
+ }
+
+ public static string Can_do_challenge_response_with_Xbox_360_discs {
+ get {
+ return ResourceManager.GetString("Can_do_challenge_response_with_Xbox_360_discs", resourceCulture);
+ }
+ }
+
+ public static string Can_read_and_decrypt_SS_from_Xbox_360_discs {
+ get {
+ return ResourceManager.GetString("Can_read_and_decrypt_SS_from_Xbox_360_discs", resourceCulture);
+ }
+ }
+
+ public static string Can_set_xtreme_unlock_state_with_Xbox_360_discs {
+ get {
+ return ResourceManager.GetString("Can_set_xtreme_unlock_state_with_Xbox_360_discs", resourceCulture);
+ }
+ }
+
+ public static string Can_set_wxripper_unlock_state_with_Xbox_360_discs {
+ get {
+ return ResourceManager.GetString("Can_set_wxripper_unlock_state_with_Xbox_360_discs", resourceCulture);
+ }
+ }
+
+ public static string Can_set_Kreon_locked_state {
+ get {
+ return ResourceManager.GetString("Can_set_Kreon_locked_state", resourceCulture);
+ }
+ }
+
+ public static string Kreon_Can_skip_read_errors {
+ get {
+ return ResourceManager.GetString("Kreon_Can_skip_read_errors", resourceCulture);
+ }
+ }
+
+ public static string Block_limits_for_device {
+ get {
+ return ResourceManager.GetString("Block_limits_for_device", resourceCulture);
+ }
+ }
+
+ public static string Generating_subchannels {
+ get {
+ return ResourceManager.GetString("Generating_subchannels", resourceCulture);
+ }
+ }
+
+ public static string Writing_metadata_sidecar {
+ get {
+ return ResourceManager.GetString("Writing_metadata_sidecar", resourceCulture);
+ }
+ }
+
+ public static string Cannot_create_a_sidecar_from_a_directory {
+ get {
+ return ResourceManager.GetString("Cannot_create_a_sidecar_from_a_directory", resourceCulture);
+ }
+ }
+
+ public static string Stack_trace_0 {
+ get {
+ return ResourceManager.GetString("Stack_trace_0", resourceCulture);
+ }
+ }
+
+ public static string Media_has_0_blocks_of_1_bytes_each_for_a_total_of_2_TiB {
+ get {
+ return ResourceManager.GetString("Media_has_0_blocks_of_1_bytes_each_for_a_total_of_2_TiB", resourceCulture);
+ }
+ }
+
+ public static string Media_has_0_blocks_of_1_bytes_each_for_a_total_of_2_GiB {
+ get {
+ return ResourceManager.GetString("Media_has_0_blocks_of_1_bytes_each_for_a_total_of_2_GiB", resourceCulture);
+ }
+ }
+
+ public static string Media_has_0_blocks_of_1_bytes_each_for_a_total_of_2_MiB {
+ get {
+ return ResourceManager.GetString("Media_has_0_blocks_of_1_bytes_each_for_a_total_of_2_MiB", resourceCulture);
+ }
+ }
+
+ public static string Media_has_0_blocks_of_1_bytes_each_for_a_total_of_2_KiB {
+ get {
+ return ResourceManager.GetString("Media_has_0_blocks_of_1_bytes_each_for_a_total_of_2_KiB", resourceCulture);
+ }
+ }
+
+ public static string Media_has_0_blocks_of_1_bytes_each_for_a_total_of_2_bytes {
+ get {
+ return ResourceManager.GetString("Media_has_0_blocks_of_1_bytes_each_for_a_total_of_2_bytes", resourceCulture);
+ }
+ }
+
+ public static string Xbox_DMI {
+ get {
+ return ResourceManager.GetString("Xbox_DMI", resourceCulture);
+ }
+ }
+
+ public static string Xbox_360_DMI {
+ get {
+ return ResourceManager.GetString("Xbox_360_DMI", resourceCulture);
+ }
+ }
+
+ public static string Lead_In_CMI {
+ get {
+ return ResourceManager.GetString("Lead_In_CMI", resourceCulture);
+ }
+ }
+
+ public static string Disc_Definition_Structure {
+ get {
+ return ResourceManager.GetString("Disc_Definition_Structure", resourceCulture);
+ }
+ }
+
+ public static string Medium_Status {
+ get {
+ return ResourceManager.GetString("Medium_Status", resourceCulture);
+ }
+ }
+
+ public static string Spare_Area_Information {
+ get {
+ return ResourceManager.GetString("Spare_Area_Information", resourceCulture);
+ }
+ }
+
+ public static string DVD_RW_Pre_Recorded_Information {
+ get {
+ return ResourceManager.GetString("DVD_RW_Pre_Recorded_Information", resourceCulture);
+ }
+ }
+
+ public static string DVD_RW_PFI {
+ get {
+ return ResourceManager.GetString("DVD_RW_PFI", resourceCulture);
+ }
+ }
+
+ public static string Bluray_Disc_Information {
+ get {
+ return ResourceManager.GetString("Bluray_Disc_Information", resourceCulture);
+ }
+ }
+
+ public static string Bluray_Burst_Cutting_Area {
+ get {
+ return ResourceManager.GetString("Bluray_Burst_Cutting_Area", resourceCulture);
+ }
+ }
+
+ public static string Bluray_Disc_Definition_Structure {
+ get {
+ return ResourceManager.GetString("Bluray_Disc_Definition_Structure", resourceCulture);
+ }
+ }
+
+ public static string Bluray_Cartridge_Status {
+ get {
+ return ResourceManager.GetString("Bluray_Cartridge_Status", resourceCulture);
+ }
+ }
+
+ public static string Bluray_Spare_Area_Information {
+ get {
+ return ResourceManager.GetString("Bluray_Spare_Area_Information", resourceCulture);
+ }
+ }
+
+ public static string Track_Resources_Information {
+ get {
+ return ResourceManager.GetString("Track_Resources_Information", resourceCulture);
+ }
+ }
+
+ public static string POW_Resources_Information {
+ get {
+ return ResourceManager.GetString("POW_Resources_Information", resourceCulture);
+ }
+ }
+
+ public static string TOC {
+ get {
+ return ResourceManager.GetString("TOC", resourceCulture);
+ }
+ }
+
+ public static string ATIP {
+ get {
+ return ResourceManager.GetString("ATIP", resourceCulture);
+ }
+ }
+
+ public static string Standard_Disc_Information {
+ get {
+ return ResourceManager.GetString("Standard_Disc_Information", resourceCulture);
+ }
+ }
+
+ public static string Session_information {
+ get {
+ return ResourceManager.GetString("Session_information", resourceCulture);
+ }
+ }
+
+ public static string Raw_TOC {
+ get {
+ return ResourceManager.GetString("Raw_TOC", resourceCulture);
+ }
+ }
+
+ public static string PMA {
+ get {
+ return ResourceManager.GetString("PMA", resourceCulture);
+ }
+ }
+
+ public static string CD_TEXT_on_Lead_In {
+ get {
+ return ResourceManager.GetString("CD_TEXT_on_Lead_In", resourceCulture);
+ }
+ }
+
+ public static string MCN {
+ get {
+ return ResourceManager.GetString("MCN", resourceCulture);
+ }
+ }
+
+ public static string Tracks_0_ISRC {
+ get {
+ return ResourceManager.GetString("Tracks_0_ISRC", resourceCulture);
+ }
+ }
+
+ public static string Xbox_Security_Sector {
+ get {
+ return ResourceManager.GetString("Xbox_Security_Sector", resourceCulture);
+ }
+ }
+
+ public static string Video_layer_zero_size {
+ get {
+ return ResourceManager.GetString("Video_layer_zero_size", resourceCulture);
+ }
+ }
+
+ public static string Video_layer_one_size {
+ get {
+ return ResourceManager.GetString("Video_layer_one_size", resourceCulture);
+ }
+ }
+
+ public static string Middle_zone_size {
+ get {
+ return ResourceManager.GetString("Middle_zone_size", resourceCulture);
+ }
+ }
+
+ public static string Game_data_size {
+ get {
+ return ResourceManager.GetString("Game_data_size", resourceCulture);
+ }
+ }
+
+ public static string Total_size {
+ get {
+ return ResourceManager.GetString("Total_size", resourceCulture);
+ }
+ }
+
+ public static string Real_layer_break {
+ get {
+ return ResourceManager.GetString("Real_layer_break", resourceCulture);
+ }
+ }
+
+ public static string Media_Serial_Number {
+ get {
+ return ResourceManager.GetString("Media_Serial_Number", resourceCulture);
+ }
+ }
+
+ public static string Media_identified_as {
+ get {
+ return ResourceManager.GetString("Media_identified_as", resourceCulture);
+ }
+ }
+
+ public static string Track_calculations {
+ get {
+ return ResourceManager.GetString("Track_calculations", resourceCulture);
+ }
+ }
+
+ public static string Offsets {
+ get {
+ return ResourceManager.GetString("Offsets", resourceCulture);
+ }
+ }
+
+ public static string Drive_reading_offset_not_found_in_database {
+ get {
+ return ResourceManager.GetString("Drive_reading_offset_not_found_in_database", resourceCulture);
+ }
+ }
+
+ public static string Disc_offset_cannot_be_calculated {
+ get {
+ return ResourceManager.GetString("Disc_offset_cannot_be_calculated", resourceCulture);
+ }
+ }
+
+ public static string Drive_reading_offset_is_0_bytes_1_samples {
+ get {
+ return ResourceManager.GetString("Drive_reading_offset_is_0_bytes_1_samples", resourceCulture);
+ }
+ }
+
+ public static string Disc_write_offset_is_unknown {
+ get {
+ return ResourceManager.GetString("Disc_write_offset_is_unknown", resourceCulture);
+ }
+ }
+
+ public static string Combined_disc_and_drive_offset_are_0_bytes_1_samples {
+ get {
+ return ResourceManager.GetString("Combined_disc_and_drive_offset_are_0_bytes_1_samples", resourceCulture);
+ }
+ }
+
+ public static string Combined_offset_is_0_bytes_1_samples {
+ get {
+ return ResourceManager.GetString("Combined_offset_is_0_bytes_1_samples", resourceCulture);
+ }
+ }
+
+ public static string Disc_offset_is_0_bytes_1_samples {
+ get {
+ return ResourceManager.GetString("Disc_offset_is_0_bytes_1_samples", resourceCulture);
+ }
+ }
+
+ public static string Took_a_total_of_0_seconds_1_processing_commands {
+ get {
+ return ResourceManager.GetString("Took_a_total_of_0_seconds_1_processing_commands", resourceCulture);
+ }
+ }
+
+ public static string Average_speed_0_MiB_sec {
+ get {
+ return ResourceManager.GetString("Average_speed_0_MiB_sec", resourceCulture);
+ }
+ }
+
+ public static string Fastest_speed_burst_0_MiB_sec {
+ get {
+ return ResourceManager.GetString("Fastest_speed_burst_0_MiB_sec", resourceCulture);
+ }
+ }
+
+ public static string Slowest_speed_burst_0_MiB_sec {
+ get {
+ return ResourceManager.GetString("Slowest_speed_burst_0_MiB_sec", resourceCulture);
+ }
+ }
+
+ public static string Summary {
+ get {
+ return ResourceManager.GetString("Summary", resourceCulture);
+ }
+ }
+
+ public static string _0_sectors_took_less_than_3_ms {
+ get {
+ return ResourceManager.GetString("_0_sectors_took_less_than_3_ms", resourceCulture);
+ }
+ }
+
+ public static string _0_sectors_took_less_than_10_ms_but_more_than_3_ms {
+ get {
+ return ResourceManager.GetString("_0_sectors_took_less_than_10_ms_but_more_than_3_ms", resourceCulture);
+ }
+ }
+
+ public static string _0_sectors_took_less_than_50_ms_but_more_than_10_ms {
+ get {
+ return ResourceManager.GetString("_0_sectors_took_less_than_50_ms_but_more_than_10_ms", resourceCulture);
+ }
+ }
+
+ public static string _0_sectors_took_less_than_150_ms_but_more_than_50_ms {
+ get {
+ return ResourceManager.GetString("_0_sectors_took_less_than_150_ms_but_more_than_50_ms", resourceCulture);
+ }
+ }
+
+ public static string _0_sectors_took_less_than_500_ms_but_more_than_150_ms {
+ get {
+ return ResourceManager.GetString("_0_sectors_took_less_than_500_ms_but_more_than_150_ms", resourceCulture);
+ }
+ }
+
+ public static string _0_sectors_took_more_than_500_ms {
+ get {
+ return ResourceManager.GetString("_0_sectors_took_more_than_500_ms", resourceCulture);
+ }
+ }
+
+ public static string _0_sectors_could_not_be_read {
+ get {
+ return ResourceManager.GetString("_0_sectors_could_not_be_read", resourceCulture);
+ }
+ }
+
+ public static string Sector_0_could_not_be_read {
+ get {
+ return ResourceManager.GetString("Sector_0_could_not_be_read", resourceCulture);
+ }
+ }
+
+ public static string Testing_0_seeks_longest_seek_took_1_ms_fastest_one_took_2_ms_3_ms_average {
+ get {
+ return ResourceManager.GetString("Testing_0_seeks_longest_seek_took_1_ms_fastest_one_took_2_ms_3_ms_average", resourceCulture);
+ }
+ }
+
+ public static string Whole_device {
+ get {
+ return ResourceManager.GetString("Whole_device", resourceCulture);
+ }
+ }
+ }
+}
diff --git a/Aaru.Localization/Core.resx b/Aaru.Localization/Core.resx
new file mode 100644
index 000000000..ef388ed24
--- /dev/null
+++ b/Aaru.Localization/Core.resx
@@ -0,0 +1,481 @@
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 1.3
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral,
+ PublicKeyToken=b77a5c561934e089
+
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral,
+ PublicKeyToken=b77a5c561934e089
+
+
+
+ Querying ATA IDENTIFY...
+
+
+ Querying USB information...
+
+
+ Querying PCMCIA information...
+
+
+ NVMe devices not yet supported.
+
+
+ Querying ATAPI IDENTIFY...
+
+
+ Waiting for drive to become ready
+
+
+ Device not ready. Sense {0} ASC {1:X2}h ASCQ {2:X2}h
+
+
+ Got sense status but no sense buffer
+
+
+ Drive supports SCSI READ LONG but I cannot find the correct size. Do you want me to try? (This can take hours)
+
+
+ Trying to READ LONG...
+
+
+ Trying to READ LONG with a size of {0} bytes...
+
+
+ Trying SCSI READ LONG (10)...
+
+
+ Trying SCSI READ LONG (16)...
+
+
+ Please write the media manufacturer and press enter:
+
+
+ MD DATA (140Mb data MiniDisc)
+
+
+ 60 minutes rewritable MiniDisc
+
+
+ 74 minutes rewritable MiniDisc
+
+
+ 80 minutes rewritable MiniDisc
+
+
+ Embossed Audio MiniDisc
+
+
+ Unknown device type.
+
+
+ Device supports the Media Card Pass Through Command Set
+
+
+ Device reports incorrect media card type
+
+
+ Device contains a Secure Digital card
+
+
+ Device contains a MultiMediaCard
+
+
+ Device contains a Secure Digital I/O card
+
+
+ Device contains a Smart Media card
+
+
+ Device contains unknown media card type {0}
+
+
+ Media card is write protected
+
+
+ Card specific data: 0x{0:X4}
+
+
+ Media identified as {0}.
+
+
+ Device identified as {0}
+
+
+ ASCII Page {0:X2}h: {1}
+
+
+ Unit Serial Number: {0}
+
+
+ ASCII implemented operating definitions: {0}
+
+
+ Manufacturer-assigned Serial Number: {0}
+
+
+ TapeAlert Supported Flags Bitmap: 0x{0:X16}
+
+
+ Automation Device Serial Number: {0}
+
+
+ Data Transfer Device Element Address: 0x{0}
+
+
+ Found undecoded SCSI VPD page 0x{0:X2}
+
+
+ GET CONFIGURATION length is {0} bytes
+
+
+ GET CONFIGURATION current profile is {0:X4}h
+
+
+ Feature {0:X4}h
+
+
+ Found unknown feature code {0:X4}h
+
+
+ GET CONFIGURATION returned no feature descriptors
+
+
+ Drive has loaded a total of {0} discs
+
+
+ Drive has spent {0} hours, {1} minutes and {2} seconds reading CDs
+
+
+ Drive has spent {0} hours, {1} minutes and {2} seconds writing CDs
+
+
+ Drive has spent {0} hours, {1} minutes and {2} seconds reading DVDs
+
+
+ Drive has spent {0} hours, {1} minutes and {2} seconds writing DVDs
+
+
+ Drive supports PoweRec, is enabled and recommends {0} Kb/sec.
+
+
+ Drive supports PoweRec and has it enabled.
+
+
+ Selected PoweRec speed for currently inserted media is {0} Kb/sec ({1}x)
+
+
+ Maximum PoweRec speed for currently inserted media is {0} Kb/sec ({1}x)
+
+
+ Last used PoweRec was {0} Kb/sec ({1}x)
+
+
+ Drive supports PoweRec and has it disabled.
+
+
+ Drive supports Plextor SilentMode
+
+
+ Plextor SilentMode is enabled:
+
+
+ Access time is slow
+
+
+ Access time is fast
+
+
+ CD read speed limited to {0}x
+
+
+ DVD read speed limited to {0}x
+
+
+ CD write speed limited to {0}x
+
+
+ Drive supports Plextor GigaRec
+
+
+ Drive supports Plextor SecuRec
+
+
+ Drive supports Plextor SpeedRead
+
+
+ Drive supports Plextor SpeedRead and has it enabled
+
+
+ Drive supports hiding CD-Rs and forcing single session
+
+
+ Drive currently hides CD-Rs
+
+
+ Drive currently forces single session
+
+
+ Drive supports Plextor VariRec
+
+
+ Drive supports Plextor VariRec for DVDs
+
+
+ Drive supports bitsetting DVD+R book type
+
+
+ Drive supports bitsetting DVD+R DL book type
+
+
+ Drive supports test writing DVD+
+
+
+ Can do challenge/response with Xbox discs
+
+
+ Can read and decrypt SS from Xbox discs
+
+
+ Can set xtreme unlock state with Xbox discs
+
+
+ Can set wxripper unlock state with Xbox discs
+
+
+ Can do challenge/response with Xbox 360 discs
+
+
+ Can read and decrypt SS from Xbox 360 discs
+
+
+ Can set xtreme unlock state with Xbox 360 discs
+
+
+ Can set wxripper unlock state with Xbox 360 discs
+
+
+ Can set locked state
+
+
+ Can skip read errors
+
+
+ Block limits for device:
+
+
+ Generating subchannels...
+
+
+ Writing metadata sidecar
+
+
+ Cannot create a sidecar from a directory.
+
+
+ Stack trace: {0}
+
+
+ Media has {0} blocks of {1} bytes/each. (for a total of {2:F3} TiB)
+ TiB = tebibyte
+
+
+ Media has {0} blocks of {1} bytes/each. (for a total of {2:F3} GiB)
+ GiB = gibibyte
+
+
+ Media has {0} blocks of {1} bytes/each. (for a total of {2:F3} MiB)
+ MiB = mebibyte
+
+
+ Media has {0} blocks of {1} bytes/each. (for a total of {2:F3} KiB)
+ KiB = kibibyte
+
+
+ Media has {0} blocks of {1} bytes/each. (for a total of {2} bytes)
+
+
+ Xbox DMI
+
+
+ Xbox 360 DMI
+
+
+ Lead-In CMI
+
+
+ Disc Definition Structure
+
+
+ Medium Status
+
+
+ Spare Area Information
+
+
+ DVD-R(W) Pre-Recorded Information
+
+
+ DVD-R(W) PFI
+
+
+ Blu-ray Disc Information
+
+
+ Blu-ray Burst Cutting Area
+
+
+ Blu-ray Disc Definition Structure
+
+
+ Blu-ray Cartridge Status
+
+
+ Blu-ray Spare Area Information
+
+
+ Track Resources Information
+
+
+ POW Resources Information
+
+
+ TOC
+
+
+ ATIP
+
+
+ Standard Disc Information
+
+
+ Session information
+
+
+ Raw TOC
+
+
+ PMA
+
+
+ CD-TEXT on Lead-In
+
+
+ MCN
+
+
+ Track's {0} ISRC
+
+
+ Xbox Security Sector
+
+
+ Video layer 0 size
+
+
+ Video layer 1 size
+
+
+ Middle zone size
+
+
+ Game data size
+
+
+ Total size
+
+
+ Real layer break
+
+
+ Media Serial Number
+
+
+ Media identified as
+
+
+ Track calculations
+
+
+ Offsets
+
+
+ Drive reading offset not found in database.
+
+
+ Disc offset cannot be calculated.
+
+
+ Drive reading offset is {0} bytes ({1} samples).
+
+
+ Disc write offset is unknown.
+
+
+ Combined disc and drive offset are {0} bytes ({1} samples).
+
+
+ Combined offset is {0} bytes ({1} samples).
+
+
+ Disc offset is {0} bytes ({1} samples).
+
+
+ Took a total of {0} seconds ({1} processing commands).
+
+
+ Average speed: {0:F3} MiB/sec.
+
+
+ Fastest speed burst: {0:F3} MiB/sec.
+
+
+ Slowest speed burst: {0:F3} MiB/sec.
+
+
+ Summary
+
+
+ {0} sectors took less than 3 ms.
+
+
+ {0} sectors took less than 10 ms but more than 3 ms.
+
+
+ {0} sectors took less than 50 ms but more than 10 ms.
+
+
+ {0} sectors took less than 150 ms but more than 50 ms.
+
+
+ {0} sectors took less than 500 ms but more than 150 ms.
+
+
+ {0} sectors took more than 500 ms.
+
+
+ {0} sectors could not be read.
+
+
+ Sector {0} could not be read
+
+
+ Testing {0} seeks, longest seek took {1:F3} ms, fastest one took {2:F3} ms. ({3:F3} ms average)
+
+
+ Whole device
+
+
\ No newline at end of file
diff --git a/Aaru.Localization/UI.Designer.cs b/Aaru.Localization/UI.Designer.cs
new file mode 100644
index 000000000..e001e2ebb
--- /dev/null
+++ b/Aaru.Localization/UI.Designer.cs
@@ -0,0 +1,3361 @@
+//------------------------------------------------------------------------------
+//
+// This code was generated by a tool.
+//
+// Changes to this file may cause incorrect behavior and will be lost if
+// the code is regenerated.
+//
+//------------------------------------------------------------------------------
+
+namespace Aaru.Localization {
+ using System;
+
+
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")]
+ [System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
+ public class UI {
+
+ private static System.Resources.ResourceManager resourceMan;
+
+ private static System.Globalization.CultureInfo resourceCulture;
+
+ [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
+ internal UI() {
+ }
+
+ [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+ public static System.Resources.ResourceManager ResourceManager {
+ get {
+ if (object.Equals(null, resourceMan)) {
+ System.Resources.ResourceManager temp = new System.Resources.ResourceManager("Aaru.Localization.UI", typeof(UI).Assembly);
+ resourceMan = temp;
+ }
+ return resourceMan;
+ }
+ }
+
+ [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+ public static System.Globalization.CultureInfo Culture {
+ get {
+ return resourceCulture;
+ }
+ set {
+ resourceCulture = value;
+ }
+ }
+
+ public static string New_database_version_updating {
+ get {
+ return ResourceManager.GetString("New_database_version_updating", resourceCulture);
+ }
+ }
+
+ public static string Exception_trying_to_remove_old_database_version {
+ get {
+ return ResourceManager.GetString("Exception_trying_to_remove_old_database_version", resourceCulture);
+ }
+ }
+
+ public static string Please_manually_remove_file_at_0 {
+ get {
+ return ResourceManager.GetString("Please_manually_remove_file_at_0", resourceCulture);
+ }
+ }
+
+ public static string Shows_verbose_output {
+ get {
+ return ResourceManager.GetString("Shows_verbose_output", resourceCulture);
+ }
+ }
+
+ public static string Shows_debug_output_from_plugins {
+ get {
+ return ResourceManager.GetString("Shows_debug_output_from_plugins", resourceCulture);
+ }
+ }
+
+ public static string Pauses_before_exiting {
+ get {
+ return ResourceManager.GetString("Pauses_before_exiting", resourceCulture);
+ }
+ }
+
+ public static string Press_any_key_to_exit {
+ get {
+ return ResourceManager.GetString("Press_any_key_to_exit", resourceCulture);
+ }
+ }
+
+ public static string Archive_Command_Family_Description {
+ get {
+ return ResourceManager.GetString("Archive_Command_Family_Description", resourceCulture);
+ }
+ }
+
+ public static string Archive_Info_Command_Description {
+ get {
+ return ResourceManager.GetString("Archive_Info_Command_Description", resourceCulture);
+ }
+ }
+
+ public static string Database_Command_Family_Description {
+ get {
+ return ResourceManager.GetString("Database_Command_Family_Description", resourceCulture);
+ }
+ }
+
+ public static string Device_Command_Family_Description {
+ get {
+ return ResourceManager.GetString("Device_Command_Family_Description", resourceCulture);
+ }
+ }
+
+ public static string Filesystem_Command_Family_Description {
+ get {
+ return ResourceManager.GetString("Filesystem_Command_Family_Description", resourceCulture);
+ }
+ }
+
+ public static string Image_Command_Family_Description {
+ get {
+ return ResourceManager.GetString("Image_Command_Family_Description", resourceCulture);
+ }
+ }
+
+ public static string Media_Command_Family_Description {
+ get {
+ return ResourceManager.GetString("Media_Command_Family_Description", resourceCulture);
+ }
+ }
+
+ public static string Database_Stats_Command_Description {
+ get {
+ return ResourceManager.GetString("Database_Stats_Command_Description", resourceCulture);
+ }
+ }
+
+ public static string Database_Update_Command_Description {
+ get {
+ return ResourceManager.GetString("Database_Update_Command_Description", resourceCulture);
+ }
+ }
+
+ public static string Device_Report_Command_Description {
+ get {
+ return ResourceManager.GetString("Device_Report_Command_Description", resourceCulture);
+ }
+ }
+
+ public static string Device_Info_Command_Description {
+ get {
+ return ResourceManager.GetString("Device_Info_Command_Description", resourceCulture);
+ }
+ }
+
+ public static string Device_List_Command_Description {
+ get {
+ return ResourceManager.GetString("Device_List_Command_Description", resourceCulture);
+ }
+ }
+
+ public static string Filesystem_Extract_Command_Description {
+ get {
+ return ResourceManager.GetString("Filesystem_Extract_Command_Description", resourceCulture);
+ }
+ }
+
+ public static string Filesystem_Info_Command_Description {
+ get {
+ return ResourceManager.GetString("Filesystem_Info_Command_Description", resourceCulture);
+ }
+ }
+
+ public static string Filesystem_List_Command_Description {
+ get {
+ return ResourceManager.GetString("Filesystem_List_Command_Description", resourceCulture);
+ }
+ }
+
+ public static string Filesystem_Options_Command_Description {
+ get {
+ return ResourceManager.GetString("Filesystem_Options_Command_Description", resourceCulture);
+ }
+ }
+
+ public static string Image_Checksum_Command_Description {
+ get {
+ return ResourceManager.GetString("Image_Checksum_Command_Description", resourceCulture);
+ }
+ }
+
+ public static string Image_Compare_Command_Description {
+ get {
+ return ResourceManager.GetString("Image_Compare_Command_Description", resourceCulture);
+ }
+ }
+
+ public static string Image_Convert_Command_Description {
+ get {
+ return ResourceManager.GetString("Image_Convert_Command_Description", resourceCulture);
+ }
+ }
+
+ public static string Image_Create_Sidecar_Command_Description {
+ get {
+ return ResourceManager.GetString("Image_Create_Sidecar_Command_Description", resourceCulture);
+ }
+ }
+
+ public static string Image_Decode_Command_Description {
+ get {
+ return ResourceManager.GetString("Image_Decode_Command_Description", resourceCulture);
+ }
+ }
+
+ public static string Image_Entropy_Command_Description {
+ get {
+ return ResourceManager.GetString("Image_Entropy_Command_Description", resourceCulture);
+ }
+ }
+
+ public static string Image_Info_Command_Description {
+ get {
+ return ResourceManager.GetString("Image_Info_Command_Description", resourceCulture);
+ }
+ }
+
+ public static string Image_Options_Command_Description {
+ get {
+ return ResourceManager.GetString("Image_Options_Command_Description", resourceCulture);
+ }
+ }
+
+ public static string Image_Print_Command_Description {
+ get {
+ return ResourceManager.GetString("Image_Print_Command_Description", resourceCulture);
+ }
+ }
+
+ public static string Image_Verify_Command_Description {
+ get {
+ return ResourceManager.GetString("Image_Verify_Command_Description", resourceCulture);
+ }
+ }
+
+ public static string Media_Dump_Command_Description {
+ get {
+ return ResourceManager.GetString("Media_Dump_Command_Description", resourceCulture);
+ }
+ }
+
+ public static string Media_Info_Command_Description {
+ get {
+ return ResourceManager.GetString("Media_Info_Command_Description", resourceCulture);
+ }
+ }
+
+ public static string Media_Scan_Command_Description {
+ get {
+ return ResourceManager.GetString("Media_Scan_Command_Description", resourceCulture);
+ }
+ }
+
+ public static string Configure_Command_Description {
+ get {
+ return ResourceManager.GetString("Configure_Command_Description", resourceCulture);
+ }
+ }
+
+ public static string List_Formats_Command_Description {
+ get {
+ return ResourceManager.GetString("List_Formats_Command_Description", resourceCulture);
+ }
+ }
+
+ public static string List_Encodings_Command_Description {
+ get {
+ return ResourceManager.GetString("List_Encodings_Command_Description", resourceCulture);
+ }
+ }
+
+ public static string List_Namespaces_Command_Description {
+ get {
+ return ResourceManager.GetString("List_Namespaces_Command_Description", resourceCulture);
+ }
+ }
+
+ public static string Remote_Command_Description {
+ get {
+ return ResourceManager.GetString("Remote_Command_Description", resourceCulture);
+ }
+ }
+
+ public static string There_are_no_statistics {
+ get {
+ return ResourceManager.GetString("There_are_no_statistics", resourceCulture);
+ }
+ }
+
+ public static string Commands_statistics {
+ get {
+ return ResourceManager.GetString("Commands_statistics", resourceCulture);
+ }
+ }
+
+ public static string Title_Command {
+ get {
+ return ResourceManager.GetString("Title_Command", resourceCulture);
+ }
+ }
+
+ public static string Title_Times_used {
+ get {
+ return ResourceManager.GetString("Title_Times_used", resourceCulture);
+ }
+ }
+
+ public static string Title_Filter {
+ get {
+ return ResourceManager.GetString("Title_Filter", resourceCulture);
+ }
+ }
+
+ public static string Filters_statistics {
+ get {
+ return ResourceManager.GetString("Filters_statistics", resourceCulture);
+ }
+ }
+
+ public static string Media_image_format_statistics {
+ get {
+ return ResourceManager.GetString("Media_image_format_statistics", resourceCulture);
+ }
+ }
+
+ public static string Title_Format {
+ get {
+ return ResourceManager.GetString("Title_Format", resourceCulture);
+ }
+ }
+
+ public static string Partitioning_scheme_statistics {
+ get {
+ return ResourceManager.GetString("Partitioning_scheme_statistics", resourceCulture);
+ }
+ }
+
+ public static string Title_Scheme {
+ get {
+ return ResourceManager.GetString("Title_Scheme", resourceCulture);
+ }
+ }
+
+ public static string Filesystem_statistics {
+ get {
+ return ResourceManager.GetString("Filesystem_statistics", resourceCulture);
+ }
+ }
+
+ public static string Title_Filesystem {
+ get {
+ return ResourceManager.GetString("Title_Filesystem", resourceCulture);
+ }
+ }
+
+ public static string Device_statistics {
+ get {
+ return ResourceManager.GetString("Device_statistics", resourceCulture);
+ }
+ }
+
+ public static string Title_Manufacturer {
+ get {
+ return ResourceManager.GetString("Title_Manufacturer", resourceCulture);
+ }
+ }
+
+ public static string Title_Model {
+ get {
+ return ResourceManager.GetString("Title_Model", resourceCulture);
+ }
+ }
+
+ public static string Title_Revision {
+ get {
+ return ResourceManager.GetString("Title_Revision", resourceCulture);
+ }
+ }
+
+ public static string Title_Bus {
+ get {
+ return ResourceManager.GetString("Title_Bus", resourceCulture);
+ }
+ }
+
+ public static string Media_found_in_real_device_statistics {
+ get {
+ return ResourceManager.GetString("Media_found_in_real_device_statistics", resourceCulture);
+ }
+ }
+
+ public static string Title_Type_for_media {
+ get {
+ return ResourceManager.GetString("Title_Type_for_media", resourceCulture);
+ }
+ }
+
+ public static string Media_found_in_images_statistics {
+ get {
+ return ResourceManager.GetString("Media_found_in_images_statistics", resourceCulture);
+ }
+ }
+
+ public static string Clear_existing_main_database {
+ get {
+ return ResourceManager.GetString("Clear_existing_main_database", resourceCulture);
+ }
+ }
+
+ public static string Clear_existing_main_and_local_database {
+ get {
+ return ResourceManager.GetString("Clear_existing_main_and_local_database", resourceCulture);
+ }
+ }
+
+ public static string Could_not_remove_local_database {
+ get {
+ return ResourceManager.GetString("Could_not_remove_local_database", resourceCulture);
+ }
+ }
+
+ public static string Could_not_remove_main_database {
+ get {
+ return ResourceManager.GetString("Could_not_remove_main_database", resourceCulture);
+ }
+ }
+
+ public static string Device_path {
+ get {
+ return ResourceManager.GetString("Device_path", resourceCulture);
+ }
+ }
+
+ public static string Device_report_using_trap_disc {
+ get {
+ return ResourceManager.GetString("Device_report_using_trap_disc", resourceCulture);
+ }
+ }
+
+ public static string Could_not_open_device_error_0 {
+ get {
+ return ResourceManager.GetString("Could_not_open_device_error_0", resourceCulture);
+ }
+ }
+
+ public static string Device_report_must_be_run_as_admin {
+ get {
+ return ResourceManager.GetString("Device_report_must_be_run_as_admin", resourceCulture);
+ }
+ }
+
+ public static string Not_continuing {
+ get {
+ return ResourceManager.GetString("Not_continuing", resourceCulture);
+ }
+ }
+
+ public static string Device_does_not_report_with_trap_discs {
+ get {
+ return ResourceManager.GetString("Device_does_not_report_with_trap_discs", resourceCulture);
+ }
+ }
+
+ public static string Is_the_device_natively_USB {
+ get {
+ return ResourceManager.GetString("Is_the_device_natively_USB", resourceCulture);
+ }
+ }
+
+ public static string Is_the_media_removable {
+ get {
+ return ResourceManager.GetString("Is_the_media_removable", resourceCulture);
+ }
+ }
+
+ public static string Is_the_device_natively_FireWire {
+ get {
+ return ResourceManager.GetString("Is_the_device_natively_FireWire", resourceCulture);
+ }
+ }
+
+ public static string Please_remove_any_media {
+ get {
+ return ResourceManager.GetString("Please_remove_any_media", resourceCulture);
+ }
+ }
+
+ public static string Do_you_have_media_you_can_insert {
+ get {
+ return ResourceManager.GetString("Do_you_have_media_you_can_insert", resourceCulture);
+ }
+ }
+
+ public static string Please_insert_it_in_the_drive {
+ get {
+ return ResourceManager.GetString("Please_insert_it_in_the_drive", resourceCulture);
+ }
+ }
+
+ public static string Please_write_description_of_media_type {
+ get {
+ return ResourceManager.GetString("Please_write_description_of_media_type", resourceCulture);
+ }
+ }
+
+ public static string Please_write_media_model {
+ get {
+ return ResourceManager.GetString("Please_write_media_model", resourceCulture);
+ }
+ }
+
+ public static string Unsupported_device_type_for_report {
+ get {
+ return ResourceManager.GetString("Unsupported_device_type_for_report", resourceCulture);
+ }
+ }
+
+ public static string Is_the_media_removable_flash_is_not {
+ get {
+ return ResourceManager.GetString("Is_the_media_removable_flash_is_not", resourceCulture);
+ }
+ }
+
+ public static string Asking_drive_to_unload_tape {
+ get {
+ return ResourceManager.GetString("Asking_drive_to_unload_tape", resourceCulture);
+ }
+ }
+
+ public static string Sure_report_trap_disc {
+ get {
+ return ResourceManager.GetString("Sure_report_trap_disc", resourceCulture);
+ }
+ }
+
+ public static string Do_you_have_audio_trap_disc {
+ get {
+ return ResourceManager.GetString("Do_you_have_audio_trap_disc", resourceCulture);
+ }
+ }
+
+ public static string Please_burn_audio_trap_disc {
+ get {
+ return ResourceManager.GetString("Please_burn_audio_trap_disc", resourceCulture);
+ }
+ }
+
+ public static string Do_you_have_GD_ROM_disc {
+ get {
+ return ResourceManager.GetString("Do_you_have_GD_ROM_disc", resourceCulture);
+ }
+ }
+
+ public static string Do_you_want_to_try_Plextor_commands {
+ get {
+ return ResourceManager.GetString("Do_you_want_to_try_Plextor_commands", resourceCulture);
+ }
+ }
+
+ public static string Do_you_want_to_try_NEC_commands {
+ get {
+ return ResourceManager.GetString("Do_you_want_to_try_NEC_commands", resourceCulture);
+ }
+ }
+
+ public static string Do_you_want_to_try_Pioneer_commands {
+ get {
+ return ResourceManager.GetString("Do_you_want_to_try_Pioneer_commands", resourceCulture);
+ }
+ }
+
+ public static string Do_you_want_to_try_HLDTST_commands {
+ get {
+ return ResourceManager.GetString("Do_you_want_to_try_HLDTST_commands", resourceCulture);
+ }
+ }
+
+ public static string Do_you_want_to_try_MediaTek_commands {
+ get {
+ return ResourceManager.GetString("Do_you_want_to_try_MediaTek_commands", resourceCulture);
+ }
+ }
+
+ public static string This_is_dangerous {
+ get {
+ return ResourceManager.GetString("This_is_dangerous", resourceCulture);
+ }
+ }
+
+ public static string Do_you_have_a_0_disc {
+ get {
+ return ResourceManager.GetString("Do_you_have_a_0_disc", resourceCulture);
+ }
+ }
+
+ public static string Prefix_for_saving_binary_information {
+ get {
+ return ResourceManager.GetString("Prefix_for_saving_binary_information", resourceCulture);
+ }
+ }
+
+ public static string Title_USB_device {
+ get {
+ return ResourceManager.GetString("Title_USB_device", resourceCulture);
+ }
+ }
+
+ public static string Title_FireWire_device {
+ get {
+ return ResourceManager.GetString("Title_FireWire_device", resourceCulture);
+ }
+ }
+
+ public static string Title_PCMCIA_device {
+ get {
+ return ResourceManager.GetString("Title_PCMCIA_device", resourceCulture);
+ }
+ }
+
+ public static string Title_SCSI_device {
+ get {
+ return ResourceManager.GetString("Title_SCSI_device", resourceCulture);
+ }
+ }
+
+ public static string Title_SCSI_MMC_GET_CONFIGURATION_Features {
+ get {
+ return ResourceManager.GetString("Title_SCSI_MMC_GET_CONFIGURATION_Features", resourceCulture);
+ }
+ }
+
+ public static string Title_Drive_has_kreon_firmware {
+ get {
+ return ResourceManager.GetString("Title_Drive_has_kreon_firmware", resourceCulture);
+ }
+ }
+
+ public static string Title_Descriptor_size {
+ get {
+ return ResourceManager.GetString("Title_Descriptor_size", resourceCulture);
+ }
+ }
+
+ public static string Title_Vendor_ID {
+ get {
+ return ResourceManager.GetString("Title_Vendor_ID", resourceCulture);
+ }
+ }
+
+ public static string Title_Product_ID {
+ get {
+ return ResourceManager.GetString("Title_Product_ID", resourceCulture);
+ }
+ }
+
+ public static string Title_Product {
+ get {
+ return ResourceManager.GetString("Title_Product", resourceCulture);
+ }
+ }
+
+ public static string Title_Serial_number {
+ get {
+ return ResourceManager.GetString("Title_Serial_number", resourceCulture);
+ }
+ }
+
+ public static string Title_Model_ID {
+ get {
+ return ResourceManager.GetString("Title_Model_ID", resourceCulture);
+ }
+ }
+
+ public static string Title_Vendor {
+ get {
+ return ResourceManager.GetString("Title_Vendor", resourceCulture);
+ }
+ }
+
+ public static string Title_GUID {
+ get {
+ return ResourceManager.GetString("Title_GUID", resourceCulture);
+ }
+ }
+
+ public static string PCMCIA_CIS_is_0_bytes {
+ get {
+ return ResourceManager.GetString("PCMCIA_CIS_is_0_bytes", resourceCulture);
+ }
+ }
+
+ public static string Invoke_Found_undecoded_tuple_ID_0 {
+ get {
+ return ResourceManager.GetString("Invoke_Found_undecoded_tuple_ID_0", resourceCulture);
+ }
+ }
+
+ public static string Found_unknown_tuple_ID_0 {
+ get {
+ return ResourceManager.GetString("Found_unknown_tuple_ID_0", resourceCulture);
+ }
+ }
+
+ public static string Could_not_get_tuples {
+ get {
+ return ResourceManager.GetString("Could_not_get_tuples", resourceCulture);
+ }
+ }
+
+ public static string aaruremote_host {
+ get {
+ return ResourceManager.GetString("aaruremote_host", resourceCulture);
+ }
+ }
+
+ public static string No_known_devices_attached {
+ get {
+ return ResourceManager.GetString("No_known_devices_attached", resourceCulture);
+ }
+ }
+
+ public static string Path {
+ get {
+ return ResourceManager.GetString("Path", resourceCulture);
+ }
+ }
+
+ public static string Serial {
+ get {
+ return ResourceManager.GetString("Serial", resourceCulture);
+ }
+ }
+
+ public static string Supported_Question {
+ get {
+ return ResourceManager.GetString("Supported_Question", resourceCulture);
+ }
+ }
+
+ public static string Name_of_character_encoding_to_use {
+ get {
+ return ResourceManager.GetString("Name_of_character_encoding_to_use", resourceCulture);
+ }
+ }
+
+ public static string Comma_separated_name_value_pairs_of_filesystem_options {
+ get {
+ return ResourceManager.GetString("Comma_separated_name_value_pairs_of_filesystem_options", resourceCulture);
+ }
+ }
+
+ public static string Extract_extended_attributes_if_present {
+ get {
+ return ResourceManager.GetString("Extract_extended_attributes_if_present", resourceCulture);
+ }
+ }
+
+ public static string Namespace_to_use_for_filenames {
+ get {
+ return ResourceManager.GetString("Namespace_to_use_for_filenames", resourceCulture);
+ }
+ }
+
+ public static string Disc_image_path {
+ get {
+ return ResourceManager.GetString("Disc_image_path", resourceCulture);
+ }
+ }
+
+ public static string Directory_where_extracted_files_will_be_created {
+ get {
+ return ResourceManager.GetString("Directory_where_extracted_files_will_be_created", resourceCulture);
+ }
+ }
+
+ public static string Identifying_file_filter {
+ get {
+ return ResourceManager.GetString("Identifying_file_filter", resourceCulture);
+ }
+ }
+
+ public static string Parsed_options {
+ get {
+ return ResourceManager.GetString("Parsed_options", resourceCulture);
+ }
+ }
+
+ public static string Cannot_open_specified_file {
+ get {
+ return ResourceManager.GetString("Cannot_open_specified_file", resourceCulture);
+ }
+ }
+
+ public static string encoding_for_0 {
+ get {
+ return ResourceManager.GetString("encoding_for_0", resourceCulture);
+ }
+ }
+
+ public static string Specified_encoding_is_not_supported {
+ get {
+ return ResourceManager.GetString("Specified_encoding_is_not_supported", resourceCulture);
+ }
+ }
+
+ public static string Identifying_image_format {
+ get {
+ return ResourceManager.GetString("Identifying_image_format", resourceCulture);
+ }
+ }
+
+ public static string Image_format_not_identified_not_proceeding_with_file_extraction {
+ get {
+ return ResourceManager.GetString("Image_format_not_identified_not_proceeding_with_file_extraction", resourceCulture);
+ }
+ }
+
+ public static string Command_not_supported_for_this_image_type {
+ get {
+ return ResourceManager.GetString("Command_not_supported_for_this_image_type", resourceCulture);
+ }
+ }
+
+ public static string Image_format_identified_by_0_1 {
+ get {
+ return ResourceManager.GetString("Image_format_identified_by_0_1", resourceCulture);
+ }
+ }
+
+ public static string Image_format_identified_by_0 {
+ get {
+ return ResourceManager.GetString("Image_format_identified_by_0", resourceCulture);
+ }
+ }
+
+ public static string Output_directory_missing {
+ get {
+ return ResourceManager.GetString("Output_directory_missing", resourceCulture);
+ }
+ }
+
+ public static string Destination_exists_aborting {
+ get {
+ return ResourceManager.GetString("Destination_exists_aborting", resourceCulture);
+ }
+ }
+
+ public static string Invoke_Opening_image_file {
+ get {
+ return ResourceManager.GetString("Invoke_Opening_image_file", resourceCulture);
+ }
+ }
+
+ public static string Unable_to_open_image_format {
+ get {
+ return ResourceManager.GetString("Unable_to_open_image_format", resourceCulture);
+ }
+ }
+
+ public static string Error_0 {
+ get {
+ return ResourceManager.GetString("Error_0", resourceCulture);
+ }
+ }
+
+ public static string Correctly_opened_image_file {
+ get {
+ return ResourceManager.GetString("Correctly_opened_image_file", resourceCulture);
+ }
+ }
+
+ public static string Image_without_headers_is_0_bytes {
+ get {
+ return ResourceManager.GetString("Image_without_headers_is_0_bytes", resourceCulture);
+ }
+ }
+
+ public static string Image_has_0_sectors {
+ get {
+ return ResourceManager.GetString("Image_has_0_sectors", resourceCulture);
+ }
+ }
+
+ public static string Image_identifies_disk_type_as_0 {
+ get {
+ return ResourceManager.GetString("Image_identifies_disk_type_as_0", resourceCulture);
+ }
+ }
+
+ public static string Enumerating_partitions {
+ get {
+ return ResourceManager.GetString("Enumerating_partitions", resourceCulture);
+ }
+ }
+
+ public static string No_partitions_found {
+ get {
+ return ResourceManager.GetString("No_partitions_found", resourceCulture);
+ }
+ }
+
+ public static string _0_partitions_found {
+ get {
+ return ResourceManager.GetString("_0_partitions_found", resourceCulture);
+ }
+ }
+
+ public static string Partition_0 {
+ get {
+ return ResourceManager.GetString("Partition_0", resourceCulture);
+ }
+ }
+
+ public static string Identifying_filesystems_on_partition {
+ get {
+ return ResourceManager.GetString("Identifying_filesystems_on_partition", resourceCulture);
+ }
+ }
+
+ public static string Filesystem_not_identified {
+ get {
+ return ResourceManager.GetString("Filesystem_not_identified", resourceCulture);
+ }
+ }
+
+ public static string Identified_by_0_plugins {
+ get {
+ return ResourceManager.GetString("Identified_by_0_plugins", resourceCulture);
+ }
+ }
+
+ public static string As_identified_by_0 {
+ get {
+ return ResourceManager.GetString("As_identified_by_0", resourceCulture);
+ }
+ }
+
+ public static string Mounting_filesystem {
+ get {
+ return ResourceManager.GetString("Mounting_filesystem", resourceCulture);
+ }
+ }
+
+ public static string Unable_to_mount_volume_error_0 {
+ get {
+ return ResourceManager.GetString("Unable_to_mount_volume_error_0", resourceCulture);
+ }
+ }
+
+ public static string Identified_by_0 {
+ get {
+ return ResourceManager.GetString("Identified_by_0", resourceCulture);
+ }
+ }
+
+ public static string Error_reading_file_0 {
+ get {
+ return ResourceManager.GetString("Error_reading_file_0", resourceCulture);
+ }
+ }
+
+ public static string Error_0_reading_root_directory {
+ get {
+ return ResourceManager.GetString("Error_0_reading_root_directory", resourceCulture);
+ }
+ }
+
+ public static string Retrieving_file_information {
+ get {
+ return ResourceManager.GetString("Retrieving_file_information", resourceCulture);
+ }
+ }
+
+ public static string Created_subdirectory_at_0 {
+ get {
+ return ResourceManager.GetString("Created_subdirectory_at_0", resourceCulture);
+ }
+ }
+
+ public static string Listing_extended_attributes {
+ get {
+ return ResourceManager.GetString("Listing_extended_attributes", resourceCulture);
+ }
+ }
+
+ public static string Reading_extended_attribute {
+ get {
+ return ResourceManager.GetString("Reading_extended_attribute", resourceCulture);
+ }
+ }
+
+ public static string Writing_extended_attribute {
+ get {
+ return ResourceManager.GetString("Writing_extended_attribute", resourceCulture);
+ }
+ }
+
+ public static string Written_0_bytes_of_xattr_1_from_file_2_to_3 {
+ get {
+ return ResourceManager.GetString("Written_0_bytes_of_xattr_1_from_file_2_to_3", resourceCulture);
+ }
+ }
+
+ public static string Cannot_write_xattr_0_for_1_output_exists {
+ get {
+ return ResourceManager.GetString("Cannot_write_xattr_0_for_1_output_exists", resourceCulture);
+ }
+ }
+
+ public static string Reading_file_0 {
+ get {
+ return ResourceManager.GetString("Reading_file_0", resourceCulture);
+ }
+ }
+
+ public static string Error_0_reading_file_1 {
+ get {
+ return ResourceManager.GetString("Error_0_reading_file_1", resourceCulture);
+ }
+ }
+
+ public static string Written_0_bytes_of_file_1_to_2 {
+ get {
+ return ResourceManager.GetString("Written_0_bytes_of_file_1_to_2", resourceCulture);
+ }
+ }
+
+ public static string Cannot_write_file_0_output_exists {
+ get {
+ return ResourceManager.GetString("Cannot_write_file_0_output_exists", resourceCulture);
+ }
+ }
+
+ public static string Searches_and_prints_information_about_filesystems {
+ get {
+ return ResourceManager.GetString("Searches_and_prints_information_about_filesystems", resourceCulture);
+ }
+ }
+
+ public static string Searches_and_interprets_partitions {
+ get {
+ return ResourceManager.GetString("Searches_and_interprets_partitions", resourceCulture);
+ }
+ }
+
+ public static string Media_image_path {
+ get {
+ return ResourceManager.GetString("Media_image_path", resourceCulture);
+ }
+ }
+
+ public static string Image_format_not_identified_not_proceeding_with_analysis {
+ get {
+ return ResourceManager.GetString("Image_format_not_identified_not_proceeding_with_analysis", resourceCulture);
+ }
+ }
+
+ public static string No_partitions_founds_not_searching_for_filesystems {
+ get {
+ return ResourceManager.GetString("No_partitions_founds_not_searching_for_filesystems", resourceCulture);
+ }
+ }
+
+ public static string Title_Name {
+ get {
+ return ResourceManager.GetString("Title_Name", resourceCulture);
+ }
+ }
+
+ public static string Title_Type {
+ get {
+ return ResourceManager.GetString("Title_Type", resourceCulture);
+ }
+ }
+
+ public static string Title_Start {
+ get {
+ return ResourceManager.GetString("Title_Start", resourceCulture);
+ }
+ }
+
+ public static string Title_Length {
+ get {
+ return ResourceManager.GetString("Title_Length", resourceCulture);
+ }
+ }
+
+ public static string sector_0_byte_1 {
+ get {
+ return ResourceManager.GetString("sector_0_byte_1", resourceCulture);
+ }
+ }
+
+ public static string _0_sectors_1_bytes {
+ get {
+ return ResourceManager.GetString("_0_sectors_1_bytes", resourceCulture);
+ }
+ }
+
+ public static string Title_Description {
+ get {
+ return ResourceManager.GetString("Title_Description", resourceCulture);
+ }
+ }
+
+ public static string Identifying_filesystems {
+ get {
+ return ResourceManager.GetString("Identifying_filesystems", resourceCulture);
+ }
+ }
+
+ public static string Use_long_format {
+ get {
+ return ResourceManager.GetString("Use_long_format", resourceCulture);
+ }
+ }
+
+ public static string Image_format_not_identified_not_proceeding_with_listing {
+ get {
+ return ResourceManager.GetString("Image_format_not_identified_not_proceeding_with_listing", resourceCulture);
+ }
+ }
+
+ public static string Root_directory {
+ get {
+ return ResourceManager.GetString("Root_directory", resourceCulture);
+ }
+ }
+
+ public static string Directory_0 {
+ get {
+ return ResourceManager.GetString("Directory_0", resourceCulture);
+ }
+ }
+
+ public static string Reading_directory {
+ get {
+ return ResourceManager.GetString("Reading_directory", resourceCulture);
+ }
+ }
+
+ public static string Error_0_reading_directory_1 {
+ get {
+ return ResourceManager.GetString("Error_0_reading_directory_1", resourceCulture);
+ }
+ }
+
+ public static string Directory_abbreviation {
+ get {
+ return ResourceManager.GetString("Directory_abbreviation", resourceCulture);
+ }
+ }
+
+ public static string Read_only_filesystems_options {
+ get {
+ return ResourceManager.GetString("Read_only_filesystems_options", resourceCulture);
+ }
+ }
+
+ public static string Options_for_0 {
+ get {
+ return ResourceManager.GetString("Options_for_0", resourceCulture);
+ }
+ }
+
+ public static string TypeToString_boolean {
+ get {
+ return ResourceManager.GetString("TypeToString_boolean", resourceCulture);
+ }
+ }
+
+ public static string TypeToString_signed_number {
+ get {
+ return ResourceManager.GetString("TypeToString_signed_number", resourceCulture);
+ }
+ }
+
+ public static string TypeToString_number {
+ get {
+ return ResourceManager.GetString("TypeToString_number", resourceCulture);
+ }
+ }
+
+ public static string TypeToString_float_number {
+ get {
+ return ResourceManager.GetString("TypeToString_float_number", resourceCulture);
+ }
+ }
+
+ public static string TypeToString_uuid {
+ get {
+ return ResourceManager.GetString("TypeToString_uuid", resourceCulture);
+ }
+ }
+
+ public static string TypeToString_string {
+ get {
+ return ResourceManager.GetString("TypeToString_string", resourceCulture);
+ }
+ }
+
+ public static string Calculates_Adler_32 {
+ get {
+ return ResourceManager.GetString("Calculates_Adler_32", resourceCulture);
+ }
+ }
+
+ public static string Calculates_CRC16 {
+ get {
+ return ResourceManager.GetString("Calculates_CRC16", resourceCulture);
+ }
+ }
+
+ public static string Calculates_CRC32 {
+ get {
+ return ResourceManager.GetString("Calculates_CRC32", resourceCulture);
+ }
+ }
+
+ public static string Calculates_CRC64_ECMA {
+ get {
+ return ResourceManager.GetString("Calculates_CRC64_ECMA", resourceCulture);
+ }
+ }
+
+ public static string Calculates_Fletcher_16 {
+ get {
+ return ResourceManager.GetString("Calculates_Fletcher_16", resourceCulture);
+ }
+ }
+
+ public static string Calculates_Fletcher_32 {
+ get {
+ return ResourceManager.GetString("Calculates_Fletcher_32", resourceCulture);
+ }
+ }
+
+ public static string Calculates_MD5 {
+ get {
+ return ResourceManager.GetString("Calculates_MD5", resourceCulture);
+ }
+ }
+
+ public static string Checksums_each_track_separately {
+ get {
+ return ResourceManager.GetString("Checksums_each_track_separately", resourceCulture);
+ }
+ }
+
+ public static string Calculates_SHA1 {
+ get {
+ return ResourceManager.GetString("Calculates_SHA1", resourceCulture);
+ }
+ }
+
+ public static string Calculates_SHA256 {
+ get {
+ return ResourceManager.GetString("Calculates_SHA256", resourceCulture);
+ }
+ }
+
+ public static string Calculates_SHA384 {
+ get {
+ return ResourceManager.GetString("Calculates_SHA384", resourceCulture);
+ }
+ }
+
+ public static string Calculates_SHA512 {
+ get {
+ return ResourceManager.GetString("Calculates_SHA512", resourceCulture);
+ }
+ }
+
+ public static string Calculates_SpamSum_fuzzy_hash {
+ get {
+ return ResourceManager.GetString("Calculates_SpamSum_fuzzy_hash", resourceCulture);
+ }
+ }
+
+ public static string Checksums_the_whole_disc {
+ get {
+ return ResourceManager.GetString("Checksums_the_whole_disc", resourceCulture);
+ }
+ }
+
+ public static string Unable_to_recognize_image_format_not_checksumming {
+ get {
+ return ResourceManager.GetString("Unable_to_recognize_image_format_not_checksumming", resourceCulture);
+ }
+ }
+
+ public static string Hashing_tracks {
+ get {
+ return ResourceManager.GetString("Hashing_tracks", resourceCulture);
+ }
+ }
+
+ public static string Hashing_track_0_of_1 {
+ get {
+ return ResourceManager.GetString("Hashing_track_0_of_1", resourceCulture);
+ }
+ }
+
+ public static string Hashing_sector {
+ get {
+ return ResourceManager.GetString("Hashing_sector", resourceCulture);
+ }
+ }
+
+ public static string Track_0_starts_at_sector_1_and_ends_at_sector_2 {
+ get {
+ return ResourceManager.GetString("Track_0_starts_at_sector_1_and_ends_at_sector_2", resourceCulture);
+ }
+ }
+
+ public static string Hashing_sectors_0_to_2_of_track_1 {
+ get {
+ return ResourceManager.GetString("Hashing_sectors_0_to_2_of_track_1", resourceCulture);
+ }
+ }
+
+ public static string Error_0_while_reading_1_sectors_from_sector_2 {
+ get {
+ return ResourceManager.GetString("Error_0_while_reading_1_sectors_from_sector_2", resourceCulture);
+ }
+ }
+
+ public static string Checksums_Track_0_has_1 {
+ get {
+ return ResourceManager.GetString("Checksums_Track_0_has_1", resourceCulture);
+ }
+ }
+
+ public static string Checksums_Disc_has_0 {
+ get {
+ return ResourceManager.GetString("Checksums_Disc_has_0", resourceCulture);
+ }
+ }
+
+ public static string Could_not_get_tracks_because_0 {
+ get {
+ return ResourceManager.GetString("Could_not_get_tracks_because_0", resourceCulture);
+ }
+ }
+
+ public static string Hashing_files {
+ get {
+ return ResourceManager.GetString("Hashing_files", resourceCulture);
+ }
+ }
+
+ public static string Hashing_file_0_of_1 {
+ get {
+ return ResourceManager.GetString("Hashing_file_0_of_1", resourceCulture);
+ }
+ }
+
+ public static string Hashing_file_less_block_0 {
+ get {
+ return ResourceManager.GetString("Hashing_file_less_block_0", resourceCulture);
+ }
+ }
+
+ public static string Error_0_while_reading_block_1 {
+ get {
+ return ResourceManager.GetString("Error_0_while_reading_block_1", resourceCulture);
+ }
+ }
+
+ public static string File_0_starts_at_block_1_and_ends_at_block_2 {
+ get {
+ return ResourceManager.GetString("File_0_starts_at_block_1_and_ends_at_block_2", resourceCulture);
+ }
+ }
+
+ public static string Hashing_blocks_0_to_2_of_file_1 {
+ get {
+ return ResourceManager.GetString("Hashing_blocks_0_to_2_of_file_1", resourceCulture);
+ }
+ }
+
+ public static string Checksums_File_0_has_1 {
+ get {
+ return ResourceManager.GetString("Checksums_File_0_has_1", resourceCulture);
+ }
+ }
+
+ public static string Checksums_Tape_has_0 {
+ get {
+ return ResourceManager.GetString("Checksums_Tape_has_0", resourceCulture);
+ }
+ }
+
+ public static string Hashing_image {
+ get {
+ return ResourceManager.GetString("Hashing_image", resourceCulture);
+ }
+ }
+
+ public static string Error_0_while_reading_1_bytes_from_2 {
+ get {
+ return ResourceManager.GetString("Error_0_while_reading_1_bytes_from_2", resourceCulture);
+ }
+ }
+
+ public static string Hashing_bytes_0_to_1 {
+ get {
+ return ResourceManager.GetString("Hashing_bytes_0_to_1", resourceCulture);
+ }
+ }
+
+ public static string Checksums_Media_has_0 {
+ get {
+ return ResourceManager.GetString("Checksums_Media_has_0", resourceCulture);
+ }
+ }
+
+ public static string Hashing_sectors {
+ get {
+ return ResourceManager.GetString("Hashing_sectors", resourceCulture);
+ }
+ }
+
+ public static string Hashing_sectors_0_to_1 {
+ get {
+ return ResourceManager.GetString("Hashing_sectors_0_to_1", resourceCulture);
+ }
+ }
+
+ public static string Checksums_Disk_has_0 {
+ get {
+ return ResourceManager.GetString("Checksums_Disk_has_0", resourceCulture);
+ }
+ }
+
+ public static string First_media_image_path {
+ get {
+ return ResourceManager.GetString("First_media_image_path", resourceCulture);
+ }
+ }
+
+ public static string Second_media_image_path {
+ get {
+ return ResourceManager.GetString("Second_media_image_path", resourceCulture);
+ }
+ }
+
+ public static string Identifying_first_file_filter {
+ get {
+ return ResourceManager.GetString("Identifying_first_file_filter", resourceCulture);
+ }
+ }
+
+ public static string Identifying_second_file_filter {
+ get {
+ return ResourceManager.GetString("Identifying_second_file_filter", resourceCulture);
+ }
+ }
+
+ public static string Cannot_open_first_input_file {
+ get {
+ return ResourceManager.GetString("Cannot_open_first_input_file", resourceCulture);
+ }
+ }
+
+ public static string Cannot_open_second_input_file {
+ get {
+ return ResourceManager.GetString("Cannot_open_second_input_file", resourceCulture);
+ }
+ }
+
+ public static string Identifying_first_image_format {
+ get {
+ return ResourceManager.GetString("Identifying_first_image_format", resourceCulture);
+ }
+ }
+
+ public static string Identifying_second_image_format {
+ get {
+ return ResourceManager.GetString("Identifying_second_image_format", resourceCulture);
+ }
+ }
+
+ public static string First_input_file_format_not_identified {
+ get {
+ return ResourceManager.GetString("First_input_file_format_not_identified", resourceCulture);
+ }
+ }
+
+ public static string First_input_file_format_identified_by_0_1 {
+ get {
+ return ResourceManager.GetString("First_input_file_format_identified_by_0_1", resourceCulture);
+ }
+ }
+
+ public static string First_input_file_format_identified_by_0 {
+ get {
+ return ResourceManager.GetString("First_input_file_format_identified_by_0", resourceCulture);
+ }
+ }
+
+ public static string Second_input_file_format_not_identified {
+ get {
+ return ResourceManager.GetString("Second_input_file_format_not_identified", resourceCulture);
+ }
+ }
+
+ public static string Second_input_file_format_identified_by_0_1 {
+ get {
+ return ResourceManager.GetString("Second_input_file_format_identified_by_0_1", resourceCulture);
+ }
+ }
+
+ public static string Second_input_file_format_identified_by_0 {
+ get {
+ return ResourceManager.GetString("Second_input_file_format_identified_by_0", resourceCulture);
+ }
+ }
+
+ public static string Opening_first_image_file {
+ get {
+ return ResourceManager.GetString("Opening_first_image_file", resourceCulture);
+ }
+ }
+
+ public static string Unable_to_open_first_image_format {
+ get {
+ return ResourceManager.GetString("Unable_to_open_first_image_format", resourceCulture);
+ }
+ }
+
+ public static string Opening_second_image_file {
+ get {
+ return ResourceManager.GetString("Opening_second_image_file", resourceCulture);
+ }
+ }
+
+ public static string Unable_to_open_second_image_format {
+ get {
+ return ResourceManager.GetString("Unable_to_open_second_image_format", resourceCulture);
+ }
+ }
+
+ public static string Title_First_Media_image {
+ get {
+ return ResourceManager.GetString("Title_First_Media_image", resourceCulture);
+ }
+ }
+
+ public static string Title_Second_Media_image {
+ get {
+ return ResourceManager.GetString("Title_Second_Media_image", resourceCulture);
+ }
+ }
+
+ public static string Title_File {
+ get {
+ return ResourceManager.GetString("Title_File", resourceCulture);
+ }
+ }
+
+ public static string Title_Media_image_format {
+ get {
+ return ResourceManager.GetString("Title_Media_image_format", resourceCulture);
+ }
+ }
+
+ public static string Has_partitions_Question {
+ get {
+ return ResourceManager.GetString("Has_partitions_Question", resourceCulture);
+ }
+ }
+
+ public static string Has_sessions_Question {
+ get {
+ return ResourceManager.GetString("Has_sessions_Question", resourceCulture);
+ }
+ }
+
+ public static string Title_Image_size {
+ get {
+ return ResourceManager.GetString("Title_Image_size", resourceCulture);
+ }
+ }
+
+ public static string Title_Sectors {
+ get {
+ return ResourceManager.GetString("Title_Sectors", resourceCulture);
+ }
+ }
+
+ public static string Title_Sector_size {
+ get {
+ return ResourceManager.GetString("Title_Sector_size", resourceCulture);
+ }
+ }
+
+ public static string Title_Creation_time {
+ get {
+ return ResourceManager.GetString("Title_Creation_time", resourceCulture);
+ }
+ }
+
+ public static string Title_Last_modification_time {
+ get {
+ return ResourceManager.GetString("Title_Last_modification_time", resourceCulture);
+ }
+ }
+
+ public static string Title_Media_type {
+ get {
+ return ResourceManager.GetString("Title_Media_type", resourceCulture);
+ }
+ }
+
+ public static string Title_Image_version {
+ get {
+ return ResourceManager.GetString("Title_Image_version", resourceCulture);
+ }
+ }
+
+ public static string Title_Image_application {
+ get {
+ return ResourceManager.GetString("Title_Image_application", resourceCulture);
+ }
+ }
+
+ public static string Title_Image_application_version {
+ get {
+ return ResourceManager.GetString("Title_Image_application_version", resourceCulture);
+ }
+ }
+
+ public static string Title_Image_creator {
+ get {
+ return ResourceManager.GetString("Title_Image_creator", resourceCulture);
+ }
+ }
+
+ public static string Title_Image_name {
+ get {
+ return ResourceManager.GetString("Title_Image_name", resourceCulture);
+ }
+ }
+
+ public static string Title_Image_comments {
+ get {
+ return ResourceManager.GetString("Title_Image_comments", resourceCulture);
+ }
+ }
+
+ public static string Title_Media_manufacturer {
+ get {
+ return ResourceManager.GetString("Title_Media_manufacturer", resourceCulture);
+ }
+ }
+
+ public static string Title_Media_model {
+ get {
+ return ResourceManager.GetString("Title_Media_model", resourceCulture);
+ }
+ }
+
+ public static string Title_Media_serial_number {
+ get {
+ return ResourceManager.GetString("Title_Media_serial_number", resourceCulture);
+ }
+ }
+
+ public static string Title_Media_barcode {
+ get {
+ return ResourceManager.GetString("Title_Media_barcode", resourceCulture);
+ }
+ }
+
+ public static string Title_Media_part_number {
+ get {
+ return ResourceManager.GetString("Title_Media_part_number", resourceCulture);
+ }
+ }
+
+ public static string Title_Media_sequence {
+ get {
+ return ResourceManager.GetString("Title_Media_sequence", resourceCulture);
+ }
+ }
+
+ public static string Title_Last_media_on_sequence {
+ get {
+ return ResourceManager.GetString("Title_Last_media_on_sequence", resourceCulture);
+ }
+ }
+
+ public static string Title_Drive_manufacturer {
+ get {
+ return ResourceManager.GetString("Title_Drive_manufacturer", resourceCulture);
+ }
+ }
+
+ public static string Title_Drive_firmware_revision {
+ get {
+ return ResourceManager.GetString("Title_Drive_firmware_revision", resourceCulture);
+ }
+ }
+
+ public static string Title_Drive_model {
+ get {
+ return ResourceManager.GetString("Title_Drive_model", resourceCulture);
+ }
+ }
+
+ public static string Title_Drive_serial_number {
+ get {
+ return ResourceManager.GetString("Title_Drive_serial_number", resourceCulture);
+ }
+ }
+
+ public static string Has_tag_0_Question {
+ get {
+ return ResourceManager.GetString("Has_tag_0_Question", resourceCulture);
+ }
+ }
+
+ public static string Comparing_media_image_characteristics {
+ get {
+ return ResourceManager.GetString("Comparing_media_image_characteristics", resourceCulture);
+ }
+ }
+
+ public static string Image_partitioned_status_differ {
+ get {
+ return ResourceManager.GetString("Image_partitioned_status_differ", resourceCulture);
+ }
+ }
+
+ public static string Image_session_status_differ {
+ get {
+ return ResourceManager.GetString("Image_session_status_differ", resourceCulture);
+ }
+ }
+
+ public static string Image_sectors_differ {
+ get {
+ return ResourceManager.GetString("Image_sectors_differ", resourceCulture);
+ }
+ }
+
+ public static string Image_sector_size_differ {
+ get {
+ return ResourceManager.GetString("Image_sector_size_differ", resourceCulture);
+ }
+ }
+
+ public static string Media_type_differs {
+ get {
+ return ResourceManager.GetString("Media_type_differs", resourceCulture);
+ }
+ }
+
+ public static string Second_image_has_more_sectors {
+ get {
+ return ResourceManager.GetString("Second_image_has_more_sectors", resourceCulture);
+ }
+ }
+
+ public static string First_image_has_more_sectors {
+ get {
+ return ResourceManager.GetString("First_image_has_more_sectors", resourceCulture);
+ }
+ }
+
+ public static string Comparing_sectors {
+ get {
+ return ResourceManager.GetString("Comparing_sectors", resourceCulture);
+ }
+ }
+
+ public static string Comparing_sector_0_of_1 {
+ get {
+ return ResourceManager.GetString("Comparing_sector_0_of_1", resourceCulture);
+ }
+ }
+
+ public static string Error_0_reading_sector_1_from_first_image {
+ get {
+ return ResourceManager.GetString("Error_0_reading_sector_1_from_first_image", resourceCulture);
+ }
+ }
+
+ public static string Error_0_reading_sector_1_from_second_image {
+ get {
+ return ResourceManager.GetString("Error_0_reading_sector_1_from_second_image", resourceCulture);
+ }
+ }
+
+ public static string Comparing_images {
+ get {
+ return ResourceManager.GetString("Comparing_images", resourceCulture);
+ }
+ }
+
+ public static string Images_differ {
+ get {
+ return ResourceManager.GetString("Images_differ", resourceCulture);
+ }
+ }
+
+ public static string Images_do_not_differ {
+ get {
+ return ResourceManager.GetString("Images_do_not_differ", resourceCulture);
+ }
+ }
+
+ public static string Take_metadata_from_existing_CICM_XML_sidecar {
+ get {
+ return ResourceManager.GetString("Take_metadata_from_existing_CICM_XML_sidecar", resourceCulture);
+ }
+ }
+
+ public static string Image_comments {
+ get {
+ return ResourceManager.GetString("Image_comments", resourceCulture);
+ }
+ }
+
+ public static string How_many_sectors_to_convert_at_once {
+ get {
+ return ResourceManager.GetString("How_many_sectors_to_convert_at_once", resourceCulture);
+ }
+ }
+
+ public static string Who_person_created_the_image {
+ get {
+ return ResourceManager.GetString("Who_person_created_the_image", resourceCulture);
+ }
+ }
+
+ public static string Manufacturer_of_drive_read_the_media_by_image {
+ get {
+ return ResourceManager.GetString("Manufacturer_of_drive_read_the_media_by_image", resourceCulture);
+ }
+ }
+
+ public static string Model_of_drive_read_the_media_by_image {
+ get {
+ return ResourceManager.GetString("Model_of_drive_read_the_media_by_image", resourceCulture);
+ }
+ }
+
+ public static string Firmware_revision_of_drive_read_the_media_by_image {
+ get {
+ return ResourceManager.GetString("Firmware_revision_of_drive_read_the_media_by_image", resourceCulture);
+ }
+ }
+
+ public static string Serial_number_of_drive_read_the_media_by_image {
+ get {
+ return ResourceManager.GetString("Serial_number_of_drive_read_the_media_by_image", resourceCulture);
+ }
+ }
+
+ public static string Continue_conversion_even_if_data_lost {
+ get {
+ return ResourceManager.GetString("Continue_conversion_even_if_data_lost", resourceCulture);
+ }
+ }
+
+ public static string Format_of_the_output_image_as_plugin_name_or_plugin_id {
+ get {
+ return ResourceManager.GetString("Format_of_the_output_image_as_plugin_name_or_plugin_id", resourceCulture);
+ }
+ }
+
+ public static string Barcode_of_the_media_by_image {
+ get {
+ return ResourceManager.GetString("Barcode_of_the_media_by_image", resourceCulture);
+ }
+ }
+
+ public static string Last_media_of_sequence_by_image {
+ get {
+ return ResourceManager.GetString("Last_media_of_sequence_by_image", resourceCulture);
+ }
+ }
+
+ public static string Manufacturer_of_media_by_image {
+ get {
+ return ResourceManager.GetString("Manufacturer_of_media_by_image", resourceCulture);
+ }
+ }
+
+ public static string Model_of_media_by_image {
+ get {
+ return ResourceManager.GetString("Model_of_media_by_image", resourceCulture);
+ }
+ }
+
+ public static string Part_number_of_media_by_image {
+ get {
+ return ResourceManager.GetString("Part_number_of_media_by_image", resourceCulture);
+ }
+ }
+
+ public static string Number_in_sequence_for_media_by_image {
+ get {
+ return ResourceManager.GetString("Number_in_sequence_for_media_by_image", resourceCulture);
+ }
+ }
+
+ public static string Serial_number_of_media_by_image {
+ get {
+ return ResourceManager.GetString("Serial_number_of_media_by_image", resourceCulture);
+ }
+ }
+
+ public static string Title_of_media_represented_by_image {
+ get {
+ return ResourceManager.GetString("Title_of_media_represented_by_image", resourceCulture);
+ }
+ }
+
+ public static string Comma_separated_name_value_pairs_of_image_options {
+ get {
+ return ResourceManager.GetString("Comma_separated_name_value_pairs_of_image_options", resourceCulture);
+ }
+ }
+
+ public static string Take_dump_hardware_from_existing_resume {
+ get {
+ return ResourceManager.GetString("Take_dump_hardware_from_existing_resume", resourceCulture);
+ }
+ }
+
+ public static string Force_geometry_help {
+ get {
+ return ResourceManager.GetString("Force_geometry_help", resourceCulture);
+ }
+ }
+
+ public static string Fix_subchannel_position_help {
+ get {
+ return ResourceManager.GetString("Fix_subchannel_position_help", resourceCulture);
+ }
+ }
+
+ public static string Fix_subchannel_help {
+ get {
+ return ResourceManager.GetString("Fix_subchannel_help", resourceCulture);
+ }
+ }
+
+ public static string Fix_subchannel_crc_help {
+ get {
+ return ResourceManager.GetString("Fix_subchannel_crc_help", resourceCulture);
+ }
+ }
+
+ public static string Generates_subchannels_help {
+ get {
+ return ResourceManager.GetString("Generates_subchannels_help", resourceCulture);
+ }
+ }
+
+ public static string Input_image_path {
+ get {
+ return ResourceManager.GetString("Input_image_path", resourceCulture);
+ }
+ }
+
+ public static string Output_image_path {
+ get {
+ return ResourceManager.GetString("Output_image_path", resourceCulture);
+ }
+ }
+
+ public static string Need_to_specify_more_than_zero_sectors_to_copy_at_once {
+ get {
+ return ResourceManager.GetString("Need_to_specify_more_than_zero_sectors_to_copy_at_once", resourceCulture);
+ }
+ }
+
+ public static string Invalid_geometry_specified {
+ get {
+ return ResourceManager.GetString("Invalid_geometry_specified", resourceCulture);
+ }
+ }
+
+ public static string Invalid_number_of_cylinders_specified {
+ get {
+ return ResourceManager.GetString("Invalid_number_of_cylinders_specified", resourceCulture);
+ }
+ }
+
+ public static string Invalid_number_of_heads_specified {
+ get {
+ return ResourceManager.GetString("Invalid_number_of_heads_specified", resourceCulture);
+ }
+ }
+
+ public static string Invalid_sectors_per_track_specified {
+ get {
+ return ResourceManager.GetString("Invalid_sectors_per_track_specified", resourceCulture);
+ }
+ }
+
+ public static string Incorrect_metadata_sidecar_file {
+ get {
+ return ResourceManager.GetString("Incorrect_metadata_sidecar_file", resourceCulture);
+ }
+ }
+
+ public static string Could_not_find_metadata_sidecar {
+ get {
+ return ResourceManager.GetString("Could_not_find_metadata_sidecar", resourceCulture);
+ }
+ }
+
+ public static string Incorrect_resume_file {
+ get {
+ return ResourceManager.GetString("Incorrect_resume_file", resourceCulture);
+ }
+ }
+
+ public static string Could_not_find_resume_file {
+ get {
+ return ResourceManager.GetString("Could_not_find_resume_file", resourceCulture);
+ }
+ }
+
+ public static string Output_file_already_exists {
+ get {
+ return ResourceManager.GetString("Output_file_already_exists", resourceCulture);
+ }
+ }
+
+ public static string Input_image_format_not_identified {
+ get {
+ return ResourceManager.GetString("Input_image_format_not_identified", resourceCulture);
+ }
+ }
+
+ public static string Command_not_yet_supported_for_this_image_type {
+ get {
+ return ResourceManager.GetString("Command_not_yet_supported_for_this_image_type", resourceCulture);
+ }
+ }
+
+ public static string Input_image_format_identified_by_0_1 {
+ get {
+ return ResourceManager.GetString("Input_image_format_identified_by_0_1", resourceCulture);
+ }
+ }
+
+ public static string Input_image_format_identified_by_0 {
+ get {
+ return ResourceManager.GetString("Input_image_format_identified_by_0", resourceCulture);
+ }
+ }
+
+ public static string Image_identifies_media_type_as_0 {
+ get {
+ return ResourceManager.GetString("Image_identifies_media_type_as_0", resourceCulture);
+ }
+ }
+
+ public static string No_plugin_supports_requested_extension {
+ get {
+ return ResourceManager.GetString("No_plugin_supports_requested_extension", resourceCulture);
+ }
+ }
+
+ public static string More_than_one_plugin_supports_requested_extension {
+ get {
+ return ResourceManager.GetString("More_than_one_plugin_supports_requested_extension", resourceCulture);
+ }
+ }
+
+ public static string Output_image_format_0_1 {
+ get {
+ return ResourceManager.GetString("Output_image_format_0_1", resourceCulture);
+ }
+ }
+
+ public static string Output_image_format_0 {
+ get {
+ return ResourceManager.GetString("Output_image_format_0", resourceCulture);
+ }
+ }
+
+ public static string Output_format_does_not_support_media_type {
+ get {
+ return ResourceManager.GetString("Output_format_does_not_support_media_type", resourceCulture);
+ }
+ }
+
+ public static string Converting_image_will_lose_media_tag_0 {
+ get {
+ return ResourceManager.GetString("Converting_image_will_lose_media_tag_0", resourceCulture);
+ }
+ }
+
+ public static string If_you_dont_care_use_force_option {
+ get {
+ return ResourceManager.GetString("If_you_dont_care_use_force_option", resourceCulture);
+ }
+ }
+
+ public static string Converting_image_will_lose_sector_tag_0 {
+ get {
+ return ResourceManager.GetString("Converting_image_will_lose_sector_tag_0", resourceCulture);
+ }
+ }
+
+ public static string If_you_dont_care_use_force_option_This_will_skip_all_sector_tags_converting_only_user_data {
+ get {
+ return ResourceManager.GetString("If_you_dont_care_use_force_option_This_will_skip_all_sector_tags_converting_only_" +
+ "user_data", resourceCulture);
+ }
+ }
+
+ public static string Input_format_contains_a_tape_image_and_is_not_supported_by_output_format {
+ get {
+ return ResourceManager.GetString("Input_format_contains_a_tape_image_and_is_not_supported_by_output_format", resourceCulture);
+ }
+ }
+
+ public static string Error_setting_output_image_in_tape_mode {
+ get {
+ return ResourceManager.GetString("Error_setting_output_image_in_tape_mode", resourceCulture);
+ }
+ }
+
+ public static string Output_format_does_not_support_sessions {
+ get {
+ return ResourceManager.GetString("Output_format_does_not_support_sessions", resourceCulture);
+ }
+ }
+
+ public static string Error_0_creating_output_image {
+ get {
+ return ResourceManager.GetString("Error_0_creating_output_image", resourceCulture);
+ }
+ }
+
+ public static string Error_0_setting_metadata_not_continuing {
+ get {
+ return ResourceManager.GetString("Error_0_setting_metadata_not_continuing", resourceCulture);
+ }
+ }
+
+ public static string Error_0_setting_metadata {
+ get {
+ return ResourceManager.GetString("Error_0_setting_metadata", resourceCulture);
+ }
+ }
+
+ public static string Converting_media_tag_0 {
+ get {
+ return ResourceManager.GetString("Converting_media_tag_0", resourceCulture);
+ }
+ }
+
+ public static string Error_0_reading_media_tag {
+ get {
+ return ResourceManager.GetString("Error_0_reading_media_tag", resourceCulture);
+ }
+ }
+
+ public static string Error_0_writing_media_tag_not_continuing {
+ get {
+ return ResourceManager.GetString("Error_0_writing_media_tag_not_continuing", resourceCulture);
+ }
+ }
+
+ public static string Error_0_reading_media_tag_not_continuing {
+ get {
+ return ResourceManager.GetString("Error_0_reading_media_tag_not_continuing", resourceCulture);
+ }
+ }
+
+ public static string Error_0_writing_media_tag {
+ get {
+ return ResourceManager.GetString("Error_0_writing_media_tag", resourceCulture);
+ }
+ }
+
+ public static string _0_sectors_to_convert {
+ get {
+ return ResourceManager.GetString("_0_sectors_to_convert", resourceCulture);
+ }
+ }
+
+ public static string Error_0_sending_tracks_list_to_output_image {
+ get {
+ return ResourceManager.GetString("Error_0_sending_tracks_list_to_output_image", resourceCulture);
+ }
+ }
+
+ public static string Converting_disc {
+ get {
+ return ResourceManager.GetString("Converting_disc", resourceCulture);
+ }
+ }
+
+ public static string Converting_sectors_in_track_0_of_1 {
+ get {
+ return ResourceManager.GetString("Converting_sectors_in_track_0_of_1", resourceCulture);
+ }
+ }
+
+ public static string Converting_track {
+ get {
+ return ResourceManager.GetString("Converting_track", resourceCulture);
+ }
+ }
+
+ public static string Converting_sectors_0_to_1_in_track_2 {
+ get {
+ return ResourceManager.GetString("Converting_sectors_0_to_1_in_track_2", resourceCulture);
+ }
+ }
+
+ public static string Error_0_reading_sector_1_continuing {
+ get {
+ return ResourceManager.GetString("Error_0_reading_sector_1_continuing", resourceCulture);
+ }
+ }
+
+ public static string Error_0_reading_sector_1_not_continuing {
+ get {
+ return ResourceManager.GetString("Error_0_reading_sector_1_not_continuing", resourceCulture);
+ }
+ }
+
+ public static string Input_image_is_not_returning_raw_sectors_use_force_if_you_want_to_continue {
+ get {
+ return ResourceManager.GetString("Input_image_is_not_returning_raw_sectors_use_force_if_you_want_to_continue", resourceCulture);
+ }
+ }
+
+ public static string Error_0_writing_sector_1_continuing {
+ get {
+ return ResourceManager.GetString("Error_0_writing_sector_1_continuing", resourceCulture);
+ }
+ }
+
+ public static string Error_0_writing_sector_1_not_continuing {
+ get {
+ return ResourceManager.GetString("Error_0_writing_sector_1_not_continuing", resourceCulture);
+ }
+ }
+
+ public static string Converting_tags_in_track_0_of_1 {
+ get {
+ return ResourceManager.GetString("Converting_tags_in_track_0_of_1", resourceCulture);
+ }
+ }
+
+ public static string Error_0_writing_tag_continuing {
+ get {
+ return ResourceManager.GetString("Error_0_writing_tag_continuing", resourceCulture);
+ }
+ }
+
+ public static string Error_0_writing_tag_not_continuing {
+ get {
+ return ResourceManager.GetString("Error_0_writing_tag_not_continuing", resourceCulture);
+ }
+ }
+
+ public static string Converting_tag_3_for_sectors_0_to_1_in_track_2 {
+ get {
+ return ResourceManager.GetString("Converting_tag_3_for_sectors_0_to_1_in_track_2", resourceCulture);
+ }
+ }
+
+ public static string Error_0_reading_tag_for_sector_1_continuing {
+ get {
+ return ResourceManager.GetString("Error_0_reading_tag_for_sector_1_continuing", resourceCulture);
+ }
+ }
+
+ public static string Error_0_reading_tag_for_sector_1_not_continuing {
+ get {
+ return ResourceManager.GetString("Error_0_reading_tag_for_sector_1_not_continuing", resourceCulture);
+ }
+ }
+
+ public static string Error_0_writing_tag_for_sector_1_continuing {
+ get {
+ return ResourceManager.GetString("Error_0_writing_tag_for_sector_1_continuing", resourceCulture);
+ }
+ }
+
+ public static string Error_0_writing_tag_for_sector_1_not_continuing {
+ get {
+ return ResourceManager.GetString("Error_0_writing_tag_for_sector_1_not_continuing", resourceCulture);
+ }
+ }
+
+ public static string Setting_geometry_to_0_cylinders_1_heads_and_2_sectors_per_track {
+ get {
+ return ResourceManager.GetString("Setting_geometry_to_0_cylinders_1_heads_and_2_sectors_per_track", resourceCulture);
+ }
+ }
+
+ public static string Error_0_setting_geometry_image_may_be_incorrect_continuing {
+ get {
+ return ResourceManager.GetString("Error_0_setting_geometry_image_may_be_incorrect_continuing", resourceCulture);
+ }
+ }
+
+ public static string Converting_media {
+ get {
+ return ResourceManager.GetString("Converting_media", resourceCulture);
+ }
+ }
+
+ public static string Converting_sectors_0_to_1 {
+ get {
+ return ResourceManager.GetString("Converting_sectors_0_to_1", resourceCulture);
+ }
+ }
+
+ public static string Converting_tags {
+ get {
+ return ResourceManager.GetString("Converting_tags", resourceCulture);
+ }
+ }
+
+ public static string Converting_tag_2_for_sectors_0_to_1 {
+ get {
+ return ResourceManager.GetString("Converting_tag_2_for_sectors_0_to_1", resourceCulture);
+ }
+ }
+
+ public static string Converting_files {
+ get {
+ return ResourceManager.GetString("Converting_files", resourceCulture);
+ }
+ }
+
+ public static string Converting_file_0_of_partition_1 {
+ get {
+ return ResourceManager.GetString("Converting_file_0_of_partition_1", resourceCulture);
+ }
+ }
+
+ public static string Converting_tape_partition_0 {
+ get {
+ return ResourceManager.GetString("Converting_tape_partition_0", resourceCulture);
+ }
+ }
+
+ public static string Writing_dump_hardware_list {
+ get {
+ return ResourceManager.GetString("Writing_dump_hardware_list", resourceCulture);
+ }
+ }
+
+ public static string Written_dump_hardware_list_to_output_image {
+ get {
+ return ResourceManager.GetString("Written_dump_hardware_list_to_output_image", resourceCulture);
+ }
+ }
+
+ public static string Writing_metadata {
+ get {
+ return ResourceManager.GetString("Writing_metadata", resourceCulture);
+ }
+ }
+
+ public static string Written_CICM_XML_metadata_to_output_image {
+ get {
+ return ResourceManager.GetString("Written_CICM_XML_metadata_to_output_image", resourceCulture);
+ }
+ }
+
+ public static string Closing_output_image {
+ get {
+ return ResourceManager.GetString("Closing_output_image", resourceCulture);
+ }
+ }
+
+ public static string Error_0_closing_output_image_Contents_are_not_correct {
+ get {
+ return ResourceManager.GetString("Error_0_closing_output_image_Contents_are_not_correct", resourceCulture);
+ }
+ }
+
+ public static string Conversion_done {
+ get {
+ return ResourceManager.GetString("Conversion_done", resourceCulture);
+ }
+ }
+
+ public static string Tape_block_size_argument_help {
+ get {
+ return ResourceManager.GetString("Tape_block_size_argument_help", resourceCulture);
+ }
+ }
+
+ public static string Tape_argument_input_help {
+ get {
+ return ResourceManager.GetString("Tape_argument_input_help", resourceCulture);
+ }
+ }
+
+ public static string You_cannot_use_tape_option_when_input_is_a_file {
+ get {
+ return ResourceManager.GetString("You_cannot_use_tape_option_when_input_is_a_file", resourceCulture);
+ }
+ }
+
+ public static string Image_format_not_identified_not_proceeding_with_sidecar_creation {
+ get {
+ return ResourceManager.GetString("Image_format_not_identified_not_proceeding_with_sidecar_creation", resourceCulture);
+ }
+ }
+
+ public static string The_specified_input_file_cannot_be_found {
+ get {
+ return ResourceManager.GetString("The_specified_input_file_cannot_be_found", resourceCulture);
+ }
+ }
+
+ public static string Decode_disk_tags {
+ get {
+ return ResourceManager.GetString("Decode_disk_tags", resourceCulture);
+ }
+ }
+
+ public static string Parameter_response_all_sectors {
+ get {
+ return ResourceManager.GetString("Parameter_response_all_sectors", resourceCulture);
+ }
+ }
+
+ public static string How_many_sectors_to_decode_or_all {
+ get {
+ return ResourceManager.GetString("How_many_sectors_to_decode_or_all", resourceCulture);
+ }
+ }
+
+ public static string Decode_sector_tags {
+ get {
+ return ResourceManager.GetString("Decode_sector_tags", resourceCulture);
+ }
+ }
+
+ public static string Sector_to_start_decoding_from {
+ get {
+ return ResourceManager.GetString("Sector_to_start_decoding_from", resourceCulture);
+ }
+ }
+
+ public static string Unable_to_recognize_image_format_not_decoding {
+ get {
+ return ResourceManager.GetString("Unable_to_recognize_image_format_not_decoding", resourceCulture);
+ }
+ }
+
+ public static string There_are_no_disk_tags_in_chosen_disc_image {
+ get {
+ return ResourceManager.GetString("There_are_no_disk_tags_in_chosen_disc_image", resourceCulture);
+ }
+ }
+
+ public static string Error_0_reading_SCSI_INQUIRY_response_from_disc_image {
+ get {
+ return ResourceManager.GetString("Error_0_reading_SCSI_INQUIRY_response_from_disc_image", resourceCulture);
+ }
+ }
+
+ public static string SCSI_INQUIRY_command_response {
+ get {
+ return ResourceManager.GetString("SCSI_INQUIRY_command_response", resourceCulture);
+ }
+ }
+
+ public static string Error_0_reading_ATA_IDENTIFY_DEVICE_response_from_disc_image {
+ get {
+ return ResourceManager.GetString("Error_0_reading_ATA_IDENTIFY_DEVICE_response_from_disc_image", resourceCulture);
+ }
+ }
+
+ public static string ATA_IDENTIFY_DEVICE_command_response {
+ get {
+ return ResourceManager.GetString("ATA_IDENTIFY_DEVICE_command_response", resourceCulture);
+ }
+ }
+
+ public static string Error_0_reading_ATA_IDENTIFY_PACKET_DEVICE_response_from_disc_image {
+ get {
+ return ResourceManager.GetString("Error_0_reading_ATA_IDENTIFY_PACKET_DEVICE_response_from_disc_image", resourceCulture);
+ }
+ }
+
+ public static string ATA_IDENTIFY_PACKET_DEVICE_command_response {
+ get {
+ return ResourceManager.GetString("ATA_IDENTIFY_PACKET_DEVICE_command_response", resourceCulture);
+ }
+ }
+
+ public static string Error_0_reading_CD_ATIP_from_disc_image {
+ get {
+ return ResourceManager.GetString("Error_0_reading_CD_ATIP_from_disc_image", resourceCulture);
+ }
+ }
+
+ public static string CD_ATIP {
+ get {
+ return ResourceManager.GetString("CD_ATIP", resourceCulture);
+ }
+ }
+
+ public static string Error_0_reading_CD_full_TOC_from_disc_image {
+ get {
+ return ResourceManager.GetString("Error_0_reading_CD_full_TOC_from_disc_image", resourceCulture);
+ }
+ }
+
+ public static string CD_full_TOC {
+ get {
+ return ResourceManager.GetString("CD_full_TOC", resourceCulture);
+ }
+ }
+
+ public static string Error_0_reading_CD_PMA_from_disc_image {
+ get {
+ return ResourceManager.GetString("Error_0_reading_CD_PMA_from_disc_image", resourceCulture);
+ }
+ }
+
+ public static string Error_0_reading_CD_session_information_from_disc_image {
+ get {
+ return ResourceManager.GetString("Error_0_reading_CD_session_information_from_disc_image", resourceCulture);
+ }
+ }
+
+ public static string CD_session_information {
+ get {
+ return ResourceManager.GetString("CD_session_information", resourceCulture);
+ }
+ }
+
+ public static string Error_reading_CD_TEXT_from_disc_image {
+ get {
+ return ResourceManager.GetString("Error_reading_CD_TEXT_from_disc_image", resourceCulture);
+ }
+ }
+
+ public static string CD_TEXT {
+ get {
+ return ResourceManager.GetString("CD_TEXT", resourceCulture);
+ }
+ }
+
+ public static string Error_reading_CD_TOC_from_disc_image {
+ get {
+ return ResourceManager.GetString("Error_reading_CD_TOC_from_disc_image", resourceCulture);
+ }
+ }
+
+ public static string CD_TOC {
+ get {
+ return ResourceManager.GetString("CD_TOC", resourceCulture);
+ }
+ }
+
+ public static string Decoder_for_disk_tag_type_0_not_yet_implemented_sorry {
+ get {
+ return ResourceManager.GetString("Decoder_for_disk_tag_type_0_not_yet_implemented_sorry", resourceCulture);
+ }
+ }
+
+ public static string Value_0_is_not_a_valid_number_for_length {
+ get {
+ return ResourceManager.GetString("Value_0_is_not_a_valid_number_for_length", resourceCulture);
+ }
+ }
+
+ public static string Not_decoding_sectors_tags {
+ get {
+ return ResourceManager.GetString("Not_decoding_sectors_tags", resourceCulture);
+ }
+ }
+
+ public static string There_are_no_sector_tags_in_chosen_disc_image {
+ get {
+ return ResourceManager.GetString("There_are_no_sector_tags_in_chosen_disc_image", resourceCulture);
+ }
+ }
+
+ public static string Decoder_for_sector_tag_type_0_not_yet_implemented_sorry {
+ get {
+ return ResourceManager.GetString("Decoder_for_sector_tag_type_0_not_yet_implemented_sorry", resourceCulture);
+ }
+ }
+
+ public static string Calculates_how_many_sectors_are_duplicated {
+ get {
+ return ResourceManager.GetString("Calculates_how_many_sectors_are_duplicated", resourceCulture);
+ }
+ }
+
+ public static string Calculates_entropy_for_each_track_separately {
+ get {
+ return ResourceManager.GetString("Calculates_entropy_for_each_track_separately", resourceCulture);
+ }
+ }
+
+ public static string Calculates_entropy_for_the_whole_disc {
+ get {
+ return ResourceManager.GetString("Calculates_entropy_for_the_whole_disc", resourceCulture);
+ }
+ }
+
+ public static string Calculating_disc_entropy_of_multisession_images_is_not_yet_implemented {
+ get {
+ return ResourceManager.GetString("Calculating_disc_entropy_of_multisession_images_is_not_yet_implemented", resourceCulture);
+ }
+ }
+
+ public static string Entropy_for_track_0_is_1 {
+ get {
+ return ResourceManager.GetString("Entropy_for_track_0_is_1", resourceCulture);
+ }
+ }
+
+ public static string Track_0_has_1_unique_sectors_2 {
+ get {
+ return ResourceManager.GetString("Track_0_has_1_unique_sectors_2", resourceCulture);
+ }
+ }
+
+ public static string Entropy_for_disk_is_0 {
+ get {
+ return ResourceManager.GetString("Entropy_for_disk_is_0", resourceCulture);
+ }
+ }
+
+ public static string Disk_has_0_unique_sectors_1 {
+ get {
+ return ResourceManager.GetString("Disk_has_0_unique_sectors_1", resourceCulture);
+ }
+ }
+
+ public static string Image_format_not_identified {
+ get {
+ return ResourceManager.GetString("Image_format_not_identified", resourceCulture);
+ }
+ }
+
+ public static string Read_Write_media_images_options {
+ get {
+ return ResourceManager.GetString("Read_Write_media_images_options", resourceCulture);
+ }
+ }
+
+ public static string Default {
+ get {
+ return ResourceManager.GetString("Default", resourceCulture);
+ }
+ }
+
+ public static string How_many_sectors_to_print {
+ get {
+ return ResourceManager.GetString("How_many_sectors_to_print", resourceCulture);
+ }
+ }
+
+ public static string Print_sectors_with_tags_included {
+ get {
+ return ResourceManager.GetString("Print_sectors_with_tags_included", resourceCulture);
+ }
+ }
+
+ public static string Starting_sector {
+ get {
+ return ResourceManager.GetString("Starting_sector", resourceCulture);
+ }
+ }
+
+ public static string How_many_bytes_to_print_per_line {
+ get {
+ return ResourceManager.GetString("How_many_bytes_to_print_per_line", resourceCulture);
+ }
+ }
+
+ public static string Unable_to_recognize_image_format_not_printing {
+ get {
+ return ResourceManager.GetString("Unable_to_recognize_image_format_not_printing", resourceCulture);
+ }
+ }
+
+ public static string Start_0_as_in_sector_start {
+ get {
+ return ResourceManager.GetString("Start_0_as_in_sector_start", resourceCulture);
+ }
+ }
+
+ public static string Reading_data {
+ get {
+ return ResourceManager.GetString("Reading_data", resourceCulture);
+ }
+ }
+
+ public static string Error_0_reading_data_from_1 {
+ get {
+ return ResourceManager.GetString("Error_0_reading_data_from_1", resourceCulture);
+ }
+ }
+
+ public static string Cannot_open_image_file_aborting {
+ get {
+ return ResourceManager.GetString("Cannot_open_image_file_aborting", resourceCulture);
+ }
+ }
+
+ public static string Sector_0_as_in_sector_number {
+ get {
+ return ResourceManager.GetString("Sector_0_as_in_sector_number", resourceCulture);
+ }
+ }
+
+ public static string Requested_sectors_tags_unsupported_by_image_format_printing_user_data {
+ get {
+ return ResourceManager.GetString("Requested_sectors_tags_unsupported_by_image_format_printing_user_data", resourceCulture);
+ }
+ }
+
+ public static string Reading_sector {
+ get {
+ return ResourceManager.GetString("Reading_sector", resourceCulture);
+ }
+ }
+
+ public static string Error_0_reading_sector_1 {
+ get {
+ return ResourceManager.GetString("Error_0_reading_sector_1", resourceCulture);
+ }
+ }
+
+ public static string Verify_disc_image_if_supported {
+ get {
+ return ResourceManager.GetString("Verify_disc_image_if_supported", resourceCulture);
+ }
+ }
+
+ public static string Verify_all_sectors_if_supported {
+ get {
+ return ResourceManager.GetString("Verify_all_sectors_if_supported", resourceCulture);
+ }
+ }
+
+ public static string Unable_to_recognize_image_format_not_verifying {
+ get {
+ return ResourceManager.GetString("Unable_to_recognize_image_format_not_verifying", resourceCulture);
+ }
+ }
+
+ public static string The_specified_image_does_not_support_any_kind_of_verification {
+ get {
+ return ResourceManager.GetString("The_specified_image_does_not_support_any_kind_of_verification", resourceCulture);
+ }
+ }
+
+ public static string Verifying_image_checksums {
+ get {
+ return ResourceManager.GetString("Verifying_image_checksums", resourceCulture);
+ }
+ }
+
+ public static string Disc_image_checksums_are_correct {
+ get {
+ return ResourceManager.GetString("Disc_image_checksums_are_correct", resourceCulture);
+ }
+ }
+
+ public static string Disc_image_checksums_are_incorrect {
+ get {
+ return ResourceManager.GetString("Disc_image_checksums_are_incorrect", resourceCulture);
+ }
+ }
+
+ public static string Disc_image_does_not_contain_checksums {
+ get {
+ return ResourceManager.GetString("Disc_image_does_not_contain_checksums", resourceCulture);
+ }
+ }
+
+ public static string Checking_disc_image_checksums_took_0_seconds {
+ get {
+ return ResourceManager.GetString("Checking_disc_image_checksums_took_0_seconds", resourceCulture);
+ }
+ }
+
+ public static string Checking_tracks {
+ get {
+ return ResourceManager.GetString("Checking_tracks", resourceCulture);
+ }
+ }
+
+ public static string Checking_track_0_of_1 {
+ get {
+ return ResourceManager.GetString("Checking_track_0_of_1", resourceCulture);
+ }
+ }
+
+ public static string Checking_sector {
+ get {
+ return ResourceManager.GetString("Checking_sector", resourceCulture);
+ }
+ }
+
+ public static string Checking_sector_0_of_1_on_track_2 {
+ get {
+ return ResourceManager.GetString("Checking_sector_0_of_1_on_track_2", resourceCulture);
+ }
+ }
+
+ public static string Checking_sectors {
+ get {
+ return ResourceManager.GetString("Checking_sectors", resourceCulture);
+ }
+ }
+
+ public static string Checking_sector_0_of_1 {
+ get {
+ return ResourceManager.GetString("Checking_sector_0_of_1", resourceCulture);
+ }
+ }
+
+ public static string There_is_at_least_one_sector_that_does_not_contain_a_checksum {
+ get {
+ return ResourceManager.GetString("There_is_at_least_one_sector_that_does_not_contain_a_checksum", resourceCulture);
+ }
+ }
+
+ public static string There_is_at_least_one_sector_with_incorrect_checksum_or_errors {
+ get {
+ return ResourceManager.GetString("There_is_at_least_one_sector_with_incorrect_checksum_or_errors", resourceCulture);
+ }
+ }
+
+ public static string All_sector_checksums_are_correct {
+ get {
+ return ResourceManager.GetString("All_sector_checksums_are_correct", resourceCulture);
+ }
+ }
+
+ public static string Checking_sector_checksums_took_0_seconds {
+ get {
+ return ResourceManager.GetString("Checking_sector_checksums_took_0_seconds", resourceCulture);
+ }
+ }
+
+ public static string LBAs_with_error {
+ get {
+ return ResourceManager.GetString("LBAs_with_error", resourceCulture);
+ }
+ }
+
+ public static string all_sectors {
+ get {
+ return ResourceManager.GetString("all_sectors", resourceCulture);
+ }
+ }
+
+ public static string LBAs_without_checksum {
+ get {
+ return ResourceManager.GetString("LBAs_without_checksum", resourceCulture);
+ }
+ }
+
+ public static string Total_sectors {
+ get {
+ return ResourceManager.GetString("Total_sectors", resourceCulture);
+ }
+ }
+
+ public static string Total_errors {
+ get {
+ return ResourceManager.GetString("Total_errors", resourceCulture);
+ }
+ }
+
+ public static string Total_unknowns {
+ get {
+ return ResourceManager.GetString("Total_unknowns", resourceCulture);
+ }
+ }
+
+ public static string Total_errors_plus_unknowns {
+ get {
+ return ResourceManager.GetString("Total_errors_plus_unknowns", resourceCulture);
+ }
+ }
+
+ public static string Try_to_read_first_track_pregap {
+ get {
+ return ResourceManager.GetString("Try_to_read_first_track_pregap", resourceCulture);
+ }
+ }
+
+ public static string Fix_audio_tracks_offset {
+ get {
+ return ResourceManager.GetString("Fix_audio_tracks_offset", resourceCulture);
+ }
+ }
+
+ public static string Continue_dump_whatever_happens {
+ get {
+ return ResourceManager.GetString("Continue_dump_whatever_happens", resourceCulture);
+ }
+ }
+
+ public static string Enables_creating_CICM_XML_sidecar {
+ get {
+ return ResourceManager.GetString("Enables_creating_CICM_XML_sidecar", resourceCulture);
+ }
+ }
+
+ public static string Enables_trimming_errored_from_skipped_sectors {
+ get {
+ return ResourceManager.GetString("Enables_trimming_errored_from_skipped_sectors", resourceCulture);
+ }
+ }
+
+ public static string Try_to_recover_partial_or_incorrect_data {
+ get {
+ return ResourceManager.GetString("Try_to_recover_partial_or_incorrect_data", resourceCulture);
+ }
+ }
+
+ public static string Create_or_use_resume_mapfile {
+ get {
+ return ResourceManager.GetString("Create_or_use_resume_mapfile", resourceCulture);
+ }
+ }
+
+ public static string How_many_retry_passes_to_do {
+ get {
+ return ResourceManager.GetString("How_many_retry_passes_to_do", resourceCulture);
+ }
+ }
+
+ public static string When_an_unreadable_sector_is_found_skip_this_many_sectors {
+ get {
+ return ResourceManager.GetString("When_an_unreadable_sector_is_found_skip_this_many_sectors", resourceCulture);
+ }
+ }
+
+ public static string Stop_media_dump_on_first_error {
+ get {
+ return ResourceManager.GetString("Stop_media_dump_on_first_error", resourceCulture);
+ }
+ }
+
+ public static string Subchannel_name_any {
+ get {
+ return ResourceManager.GetString("Subchannel_name_any", resourceCulture);
+ }
+ }
+
+ public static string Subchannel_to_dump_help {
+ get {
+ return ResourceManager.GetString("Subchannel_to_dump_help", resourceCulture);
+ }
+ }
+
+ public static string Speed_to_dump {
+ get {
+ return ResourceManager.GetString("Speed_to_dump", resourceCulture);
+ }
+ }
+
+ public static string Output_image_path_Dump_help {
+ get {
+ return ResourceManager.GetString("Output_image_path_Dump_help", resourceCulture);
+ }
+ }
+
+ public static string Do_not_store_paths_and_serial_numbers_in_log_or_metadata {
+ get {
+ return ResourceManager.GetString("Do_not_store_paths_and_serial_numbers_in_log_or_metadata", resourceCulture);
+ }
+ }
+
+ public static string Retry_subchannel_help {
+ get {
+ return ResourceManager.GetString("Retry_subchannel_help", resourceCulture);
+ }
+ }
+
+ public static string Generate_subchannels_dump_help {
+ get {
+ return ResourceManager.GetString("Generate_subchannels_dump_help", resourceCulture);
+ }
+ }
+
+ public static string Skip_CDi_Ready_hole_help {
+ get {
+ return ResourceManager.GetString("Skip_CDi_Ready_hole_help", resourceCulture);
+ }
+ }
+
+ public static string Eject_media_after_dump_finishes {
+ get {
+ return ResourceManager.GetString("Eject_media_after_dump_finishes", resourceCulture);
+ }
+ }
+
+ public static string Maximum_number_of_blocks_to_read_at_once {
+ get {
+ return ResourceManager.GetString("Maximum_number_of_blocks_to_read_at_once", resourceCulture);
+ }
+ }
+
+ public static string OS_buffered_reads_help {
+ get {
+ return ResourceManager.GetString("OS_buffered_reads_help", resourceCulture);
+ }
+ }
+
+ public static string Store_encrypted_data_as_is {
+ get {
+ return ResourceManager.GetString("Store_encrypted_data_as_is", resourceCulture);
+ }
+ }
+
+ public static string Try_to_read_the_title_keys_from_CSS_DVDs {
+ get {
+ return ResourceManager.GetString("Try_to_read_the_title_keys_from_CSS_DVDs", resourceCulture);
+ }
+ }
+
+ public static string How_many_CDRW_run_out_sectors_to_ignore_and_regenerate {
+ get {
+ return ResourceManager.GetString("How_many_CDRW_run_out_sectors_to_ignore_and_regenerate", resourceCulture);
+ }
+ }
+
+ public static string Subchannel_name_rw {
+ get {
+ return ResourceManager.GetString("Subchannel_name_rw", resourceCulture);
+ }
+ }
+
+ public static string Subchannel_name_rw_or_pq {
+ get {
+ return ResourceManager.GetString("Subchannel_name_rw_or_pq", resourceCulture);
+ }
+ }
+
+ public static string Subchannel_name_pq {
+ get {
+ return ResourceManager.GetString("Subchannel_name_pq", resourceCulture);
+ }
+ }
+
+ public static string Subchannel_name_none {
+ get {
+ return ResourceManager.GetString("Subchannel_name_none", resourceCulture);
+ }
+ }
+
+ public static string Incorrect_subchannel_type_0_requested {
+ get {
+ return ResourceManager.GetString("Incorrect_subchannel_type_0_requested", resourceCulture);
+ }
+ }
+
+ public static string Invalid_characters_found_in_list_of_files {
+ get {
+ return ResourceManager.GetString("Invalid_characters_found_in_list_of_files", resourceCulture);
+ }
+ }
+
+ public static string Please_insert_media_with_title_0_and_press_any_key_to_continue_ {
+ get {
+ return ResourceManager.GetString("Please_insert_media_with_title_0_and_press_any_key_to_continue_", resourceCulture);
+ }
+ }
+
+ public static string Opening_device {
+ get {
+ return ResourceManager.GetString("Opening_device", resourceCulture);
+ }
+ }
+
+ public static string Incorrect_resume_file_not_continuing {
+ get {
+ return ResourceManager.GetString("Incorrect_resume_file_not_continuing", resourceCulture);
+ }
+ }
+
+ public static string Media_already_dumped_correctly_not_continuing {
+ get {
+ return ResourceManager.GetString("Media_already_dumped_correctly_not_continuing", resourceCulture);
+ }
+ }
+
+ public static string Ejecting_media {
+ get {
+ return ResourceManager.GetString("Ejecting_media", resourceCulture);
+ }
+ }
+
+ public static string Please_use_device_info_command_for_ATA_devices {
+ get {
+ return ResourceManager.GetString("Please_use_device_info_command_for_ATA_devices", resourceCulture);
+ }
+ }
+
+ public static string Please_use_device_info_command_for_MMC_SD_devices {
+ get {
+ return ResourceManager.GetString("Please_use_device_info_command_for_MMC_SD_devices", resourceCulture);
+ }
+ }
+
+ public static string Retrieving_SCSI_information {
+ get {
+ return ResourceManager.GetString("Retrieving_SCSI_information", resourceCulture);
+ }
+ }
+
+ public static string Densities_supported_by_currently_inserted_media {
+ get {
+ return ResourceManager.GetString("Densities_supported_by_currently_inserted_media", resourceCulture);
+ }
+ }
+
+ public static string Medium_types_currently_inserted_in_device {
+ get {
+ return ResourceManager.GetString("Medium_types_currently_inserted_in_device", resourceCulture);
+ }
+ }
+
+ public static string The_drive_has_returned_incorrect_Q_positioning_calculating_pregaps {
+ get {
+ return ResourceManager.GetString("The_drive_has_returned_incorrect_Q_positioning_calculating_pregaps", resourceCulture);
+ }
+ }
+
+ public static string Hidden_track_starts_at_LBA_0_ends_at_LBA_1 {
+ get {
+ return ResourceManager.GetString("Hidden_track_starts_at_LBA_0_ends_at_LBA_1", resourceCulture);
+ }
+ }
+
+ public static string Track_0_starts_at_LBA_1_ends_at_LBA_2_has_a_pregap_of_3_sectors_and_is_of_type_4 {
+ get {
+ return ResourceManager.GetString("Track_0_starts_at_LBA_1_ends_at_LBA_2_has_a_pregap_of_3_sectors_and_is_of_type_4", resourceCulture);
+ }
+ }
+
+ public static string Write_a_log_of_the_scan_in_the_format_used_by_MHDD {
+ get {
+ return ResourceManager.GetString("Write_a_log_of_the_scan_in_the_format_used_by_MHDD", resourceCulture);
+ }
+ }
+
+ public static string Write_a_log_of_the_scan_in_the_format_used_by_ImgBurn {
+ get {
+ return ResourceManager.GetString("Write_a_log_of_the_scan_in_the_format_used_by_ImgBurn", resourceCulture);
+ }
+ }
+
+ public static string GDPR_Compliance {
+ get {
+ return ResourceManager.GetString("GDPR_Compliance", resourceCulture);
+ }
+ }
+
+ public static string GDPR_Open_Source_Disclaimer {
+ get {
+ return ResourceManager.GetString("GDPR_Open_Source_Disclaimer", resourceCulture);
+ }
+ }
+
+ public static string GDPR_Information_sharing {
+ get {
+ return ResourceManager.GetString("GDPR_Information_sharing", resourceCulture);
+ }
+ }
+
+ public static string Configure_enable_decryption_disclaimer {
+ get {
+ return ResourceManager.GetString("Configure_enable_decryption_disclaimer", resourceCulture);
+ }
+ }
+
+ public static string Do_you_want_to_enable_decryption_of_copy_protected_media_Q {
+ get {
+ return ResourceManager.GetString("Do_you_want_to_enable_decryption_of_copy_protected_media_Q", resourceCulture);
+ }
+ }
+
+ public static string Configure_Device_Report_information_disclaimer {
+ get {
+ return ResourceManager.GetString("Configure_Device_Report_information_disclaimer", resourceCulture);
+ }
+ }
+
+ public static string Configure_Do_you_want_to_save_device_reports_in_shared_folder_of_your_computer_Q {
+ get {
+ return ResourceManager.GetString("Configure_Do_you_want_to_save_device_reports_in_shared_folder_of_your_computer_Q", resourceCulture);
+ }
+ }
+
+ public static string Configure_share_report_disclaimer {
+ get {
+ return ResourceManager.GetString("Configure_share_report_disclaimer", resourceCulture);
+ }
+ }
+
+ public static string Do_you_want_to_share_your_device_reports_with_us_Q {
+ get {
+ return ResourceManager.GetString("Do_you_want_to_share_your_device_reports_with_us_Q", resourceCulture);
+ }
+ }
+
+ public static string Statistics_disclaimer {
+ get {
+ return ResourceManager.GetString("Statistics_disclaimer", resourceCulture);
+ }
+ }
+
+ public static string Do_you_want_to_save_stats_about_your_Aaru_usage_Q {
+ get {
+ return ResourceManager.GetString("Do_you_want_to_save_stats_about_your_Aaru_usage_Q", resourceCulture);
+ }
+ }
+
+ public static string Do_you_want_to_share_your_stats__anonymously_Q {
+ get {
+ return ResourceManager.GetString("Do_you_want_to_share_your_stats__anonymously_Q", resourceCulture);
+ }
+ }
+
+ public static string Do_you_want_to_gather_statistics_about_command_usage_Q {
+ get {
+ return ResourceManager.GetString("Do_you_want_to_gather_statistics_about_command_usage_Q", resourceCulture);
+ }
+ }
+
+ public static string Do_you_want_to_gather_statistics_about_found_devices_Q {
+ get {
+ return ResourceManager.GetString("Do_you_want_to_gather_statistics_about_found_devices_Q", resourceCulture);
+ }
+ }
+
+ public static string Do_you_want_to_gather_statistics_about_found_filesystems_Q {
+ get {
+ return ResourceManager.GetString("Do_you_want_to_gather_statistics_about_found_filesystems_Q", resourceCulture);
+ }
+ }
+
+ public static string Do_you_want_to_gather_statistics_about_found_file_filters_Q {
+ get {
+ return ResourceManager.GetString("Do_you_want_to_gather_statistics_about_found_file_filters_Q", resourceCulture);
+ }
+ }
+
+ public static string Do_you_want_to_gather_statistics_about_found_media_image_formats_Q {
+ get {
+ return ResourceManager.GetString("Do_you_want_to_gather_statistics_about_found_media_image_formats_Q", resourceCulture);
+ }
+ }
+
+ public static string Do_you_want_to_gather_statistics_about_scanned_media_Q {
+ get {
+ return ResourceManager.GetString("Do_you_want_to_gather_statistics_about_scanned_media_Q", resourceCulture);
+ }
+ }
+
+ public static string Do_you_want_to_gather_statistics_about_found_partitioning_schemes_Q {
+ get {
+ return ResourceManager.GetString("Do_you_want_to_gather_statistics_about_found_partitioning_schemes_Q", resourceCulture);
+ }
+ }
+
+ public static string Do_you_want_to_gather_statistics_about_media_types_Q {
+ get {
+ return ResourceManager.GetString("Do_you_want_to_gather_statistics_about_media_types_Q", resourceCulture);
+ }
+ }
+
+ public static string Do_you_want_to_gather_statistics_about_media_image_verifications_Q {
+ get {
+ return ResourceManager.GetString("Do_you_want_to_gather_statistics_about_media_image_verifications_Q", resourceCulture);
+ }
+ }
+
+ public static string Supported_filters_0 {
+ get {
+ return ResourceManager.GetString("Supported_filters_0", resourceCulture);
+ }
+ }
+
+ public static string Read_only_media_image_formats_0 {
+ get {
+ return ResourceManager.GetString("Read_only_media_image_formats_0", resourceCulture);
+ }
+ }
+
+ public static string Read_write_media_image_formats_0 {
+ get {
+ return ResourceManager.GetString("Read_write_media_image_formats_0", resourceCulture);
+ }
+ }
+
+ public static string Supported_filesystems_for_identification_and_information_only_0 {
+ get {
+ return ResourceManager.GetString("Supported_filesystems_for_identification_and_information_only_0", resourceCulture);
+ }
+ }
+
+ public static string Supported_filesystems_that_can_read_their_contents_0 {
+ get {
+ return ResourceManager.GetString("Supported_filesystems_that_can_read_their_contents_0", resourceCulture);
+ }
+ }
+
+ public static string Supported_partitioning_schemes_0 {
+ get {
+ return ResourceManager.GetString("Supported_partitioning_schemes_0", resourceCulture);
+ }
+ }
+
+ public static string Supported_archive_formats_0 {
+ get {
+ return ResourceManager.GetString("Supported_archive_formats_0", resourceCulture);
+ }
+ }
+
+ public static string Namespaces_for_0 {
+ get {
+ return ResourceManager.GetString("Namespaces_for_0", resourceCulture);
+ }
+ }
+
+ public static string Title_Namespace {
+ get {
+ return ResourceManager.GetString("Title_Namespace", resourceCulture);
+ }
+ }
+ }
+}
diff --git a/Aaru.Localization/UI.resx b/Aaru.Localization/UI.resx
new file mode 100644
index 000000000..95d49be31
--- /dev/null
+++ b/Aaru.Localization/UI.resx
@@ -0,0 +1,1728 @@
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 1.3
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral,
+ PublicKeyToken=b77a5c561934e089
+
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral,
+ PublicKeyToken=b77a5c561934e089
+
+
+
+ New database version, updating...
+
+
+ Exception trying to remove old database version, cannot continue...
+
+
+ Please manually remove file at {0}
+
+
+ Shows verbose output.
+
+
+ Shows debug output from plugins.
+
+
+ Pauses before exiting.
+
+
+ Press any key to exit.
+
+
+ Commands to manage archive files
+
+
+ Identifies an archive file and shows information about it.
+
+
+ Commands to manage the device and statistics database
+
+
+ Commands that talk to devices
+
+
+ Commands to manage filesystems
+
+
+ Commands to manage images
+
+
+ Commands to manage media inserted in devices
+
+
+ Shows statistics.
+
+
+ Updates the database.
+
+
+ Tests the device capabilities and creates an JSON report of them.
+
+
+ Gets information about a device.
+
+
+ Lists all connected devices.
+
+
+ Extracts all files in disc image.
+
+
+ Opens a disc image and prints info on the found partitions and/or filesystems.
+
+
+ Lists files in disc image.
+
+
+ Lists all options supported by read-only filesystems.
+
+
+ Checksums an image.
+
+
+ Compares two disc images.
+
+
+ Converts one image to another format.
+
+
+ Creates CICM Metadata XML sidecar.
+
+
+ Decodes and pretty prints disk and/or sector tags.
+
+
+ Calculates entropy and/or duplicated sectors of an image.
+
+
+ Identifies a media image and shows information about the media it represents and metadata.
+
+
+ Lists all options supported by writable media images.
+
+
+ Prints a sector, in hexadecimal values, to the console.
+
+
+ Verifies a disc image integrity, and if supported, sector integrity.
+
+
+ Dumps the media inserted on a device to a media image.
+
+
+ Gets information about the media inserted on a device.
+
+
+ Scans the media inserted on a device.
+
+
+ Configures user settings and statistics.
+
+
+ Lists all supported disc images, partition schemes and file systems.
+
+
+ Lists all supported text encodings and code pages.
+
+
+ Lists all namespaces supported by read-only filesystems.
+
+
+ Tests connection to a Aaru Remote Server.
+
+
+ There are no statistics.
+
+
+ Commands statistics
+
+
+ Command
+
+
+ Times used
+
+
+ Filter
+
+
+ Filters statistics
+
+
+ Media image format statistics
+
+
+ Format
+
+
+ Partitioning scheme statistics
+
+
+ Scheme
+
+
+ Filesystem statistics
+
+
+ Filesystem
+
+
+ Device statistics
+
+
+ Manufacturer
+
+
+ Model
+
+
+ Revision
+
+
+ Bus
+
+
+ Media found in real device statistics
+
+
+ Type
+
+
+ Media found in images statistics
+
+
+ Clear existing main database.
+
+
+ Clear existing main and local database.
+
+
+ Could not remove local database.
+
+
+ Could not remove main database.
+
+
+ Device path
+
+
+ Does a device report using a trap disc.
+
+
+ Could not open device, error {0}.
+
+
+ Because of the commands sent to a device, device report must be run with administrative privileges.
+
+
+ Not continuing.
+
+
+ This device type does not support doing reports with trap discs.
+
+
+ Is the device natively USB (in case of doubt, press Y)?
+
+
+ Is the media removable from the reading/writing elements?
+
+
+ Is the device natively FireWire (in case of doubt, press Y)?
+
+
+ Please remove any media from the device and press any key when it is out.
+
+
+ Do you have media that you can insert in the drive?
+
+
+ Please insert it in the drive and press any key when it is ready.
+
+
+ Please write a description of the media type and press enter:
+
+
+ Please write the media model and press enter:
+
+
+ Unsupported device type, report cannot be created
+
+
+ Is the media removable from the reading/writing elements (flash memories ARE NOT removable)?
+
+
+ Asking drive to unload tape (can take a few minutes)...
+
+
+ Are you sure you want to do a report using a trap disc and the swapping method?
+This method can damage the drive, or the disc, and requires some ability.
+In you are unsure, please press N to not continue.
+
+
+ Do you have an audio trap disc (if unsure press N)?
+
+
+ Please burn an audio trap disc before continuing...
+
+
+ Do you have a GD-ROM disc (if unsure press N)?
+
+
+ Do you have want to try Plextor vendor commands?
+
+
+ Do you have want to try NEC vendor commands?
+
+
+ Do you have want to try Pioneer vendor commands?
+
+
+ Do you have want to try HL-DT-ST (aka LG) vendor commands?
+
+
+ Do you have want to try MediaTek vendor command F1h subcommand 06h?
+
+
+ THIS IS DANGEROUS AND CAN IRREVERSIBLY DESTROY YOUR DRIVE (IF IN DOUBT PRESS 'N')
+
+
+ Do you have a {0} disc that you can insert in the drive?
+
+
+ Prefix for saving binary information from device.
+
+
+ USB device
+
+
+ FireWire device
+
+
+ PCMCIA device
+
+
+ SCSI device
+
+
+ SCSI MMC GET CONFIGURATION Features:
+
+
+ Drive has kreon firmware:
+
+
+ Descriptor size
+
+
+ Vendor ID
+
+
+ Product ID
+
+
+ Product
+
+
+ Serial number
+
+
+ Model ID
+
+
+ Vendor
+
+
+ GUID
+
+
+ PCMCIA CIS is {0} bytes
+
+
+ Found undecoded tuple ID {0}
+
+
+ Found unknown tuple ID 0x{0:X2}
+
+
+ Could not get tuples
+
+
+ aaruremote host
+
+
+ No known devices attached.
+
+
+ Path
+
+
+ Serial
+ From "Serial number"
+
+
+ Supported?
+
+
+ Name of character encoding to use.
+
+
+ Comma separated name=value pairs of options to pass to filesystem plugin.
+
+
+ Extract extended attributes if present.
+
+
+ Namespace to use for filenames.
+
+
+ Disc image path
+
+
+ Directory where extracted files will be created. Will abort if it exists
+
+
+ Identifying file filter...
+
+
+ Parsed options:
+
+
+ Cannot open specified file.
+
+
+ Using encoding for {0}.
+
+
+ Specified encoding is not supported.
+
+
+ Identifying image format...
+
+
+ Image format not identified, not proceeding with file extraction.
+
+
+ Command not supported for this image type.
+
+
+ Image format identified by {0} ({1}).
+
+
+ Image format identified by {0}.
+
+
+ Output directory missing.
+
+
+ Destination exists, aborting.
+
+
+ Opening image file...
+
+
+ Unable to open image format
+
+
+ Error: {0}
+
+
+ Correctly opened image file.
+
+
+ Image without headers is {0} bytes.
+
+
+ Image has {0} sectors.
+
+
+ Image identifies disk type as {0}.
+
+
+ Enumerating partitions...
+
+
+ No partitions found
+
+
+ {0} partitions found.
+
+
+ Partition {0}:
+
+
+ Identifying filesystems on partition...
+
+
+ Filesystem not identified
+
+
+ Identified by {0} plugins
+
+
+ As identified by {0}.
+
+
+ Mounting filesystem...
+
+
+ Unable to mount volume, error {0}
+
+
+ Identified by {0}.
+
+
+ Error reading file: {0}
+
+
+ Error {0} reading root directory.
+
+
+ Retrieving file information...
+
+
+ Created subdirectory at {0}
+
+
+ Listing extended attributes...
+
+
+ Reading extended attribute...
+
+
+ Writing extended attribute...
+
+
+ Written {0} bytes of xattr {1} from file {2} to {3}
+
+
+ Cannot write xattr {0} for {1}, output exists
+
+
+ Reading file {0}...
+
+
+ Error {0} reading file {1}
+
+
+ Written {0} bytes of file {1} to {2}
+
+
+ Cannot write file {0}, output exists
+
+
+ Searches and prints information about filesystems.
+
+
+ Searches and interprets partitions.
+
+
+ Media image path
+
+
+ Image format not identified, not proceeding with analysis.
+
+
+ No partitions founds, not searching for filesystems
+
+
+ Name
+
+
+ Type
+
+
+ Start
+
+
+ Length
+
+
+ sector {0}, byte {1}
+
+
+ {0} sectors, {1} bytes
+
+
+ Description
+
+
+ Identifying filesystems...
+
+
+ Use long format.
+
+
+ Image format not identified, not proceeding with listing.
+
+
+ Root directory
+
+
+ Directory: {0}
+
+
+ Reading directory...
+
+
+ Error {0} reading directory {1}
+
+
+ <DIR>
+ Directory abbreviation as shown in CLI filesystem listing, like old DOS showed
+
+
+ Read-only filesystems options:
+
+
+ Options for {0}:
+ 0 is plugin name
+
+
+ boolean
+
+
+ signed number
+
+
+ number
+
+
+ float number
+
+
+ uuid
+
+
+ string
+
+
+ Calculates Adler-32.
+
+
+ Calculates CRC16.
+
+
+ Calculates CRC32.
+
+
+ Calculates CRC64 (ECMA).
+
+
+ Calculates Fletcher-16.
+
+
+ Calculates Fletcher-32.
+
+
+ Calculates MD5.
+
+
+ Checksums each track separately.
+
+
+ Calculates SHA1.
+
+
+ Calculates SHA256.
+
+
+ Calculates SHA384.
+
+
+ Calculates SHA512.
+
+
+ Calculates SpamSum fuzzy hash.
+
+
+ Checksums the whole disc.
+
+
+ Unable to recognize image format, not checksumming
+
+
+ Hashing tracks...
+
+
+ Hashing track {0} of {1}
+
+
+ Hashing sector
+
+
+ Track {0} starts at sector {1} and ends at sector {2}
+
+
+ Hashing sectors {0} to {2} of track {1}
+
+
+ Error {0} while reading {1} sectors from sector {2}, not continuing...
+
+
+ Track {0}'s {1}:
+ {0} is track number, {1} is checksum name
+
+
+ Disc's {0}
+ {0} is checksum name
+
+
+ Could not get tracks because {0}
+ {0} is exception message
+
+
+ Hashing files...
+
+
+ Hashing file {0} of {1}
+
+
+ Hashing file-less block {0}
+
+
+ Error {0} while reading block {1}, not continuing...
+
+
+ File {0} starts at block {1} and ends at block {2}
+
+
+ Hashing blocks {0} to {2} of file {1}
+
+
+ File {0}'s {1}
+ {0} is file's number, {1} is checksum name
+
+
+ Tape's {0}:
+ {0} is checksum name
+
+
+ Hashing image...
+
+
+ Error {0} while reading {1} bytes from {2}, not continuing...
+
+
+ Hashing bytes {0} to {1}
+
+
+ Media's {0}:
+ {0} is checksum name
+
+
+ Hashing sectors...
+
+
+ Hashing sectors {0} to {1}
+
+
+ Disk's {0}:
+ {0} is checksum name
+
+
+ First media image path
+
+
+ Second media image path
+
+
+ Identifying file 1 filter...
+
+
+ Identifying file 2 filter...
+
+
+ Cannot open input file 1
+
+
+ Cannot open input file 2
+
+
+ Identifying image 1 format...
+
+
+ Identifying image 2 format...
+
+
+ Input file 1 format not identified, not proceeding with comparison.
+
+
+ Input file 1 format identified by {0} ({1}).
+
+
+ Input file 1 format identified by {0}.
+
+
+ Input file 2 format not identified, not proceeding with comparison.
+
+
+ Input file 2 format identified by {0} ({1}).
+
+
+ Input file 2 format identified by {0}.
+
+
+ Opening image 1 file...
+
+
+ Unable to open image 1 format
+
+
+ Opening image 2 file...
+
+
+ Unable to open image 2 format
+
+
+ Media image 1
+
+
+ Media image 2
+
+
+ File
+
+
+ Media image format
+
+
+ Has partitions?
+
+
+ Has sessions?
+
+
+ Image size
+
+
+ Sectors
+
+
+ Sector size
+
+
+ Creation time
+
+
+ Last modification time
+
+
+ Media type
+
+
+ Image version
+
+
+ Image application
+
+
+ Image application version
+
+
+ Image creator
+
+
+ Image name
+
+
+ Image comments
+
+
+ Media manufacturer
+
+
+ Media model
+
+
+ Media serial number
+
+
+ Media barcode
+
+
+ Media part no.
+
+
+ Media sequence
+
+
+ Last media on sequence
+
+
+ Drive manufacturer
+
+
+ Drive firmware revision
+
+
+ Drive model
+
+
+ Drive serial number
+
+
+ Has {0}?
+
+
+ Comparing media image characteristics
+
+
+ Image partitioned status differ
+
+
+ Image session status differ
+
+
+ Image sectors differ
+
+
+ Image sector size differ
+
+
+ Media type differs
+
+
+ Image 2 has more sectors
+
+
+ Image 1 has more sectors
+
+
+ Comparing sectors...
+
+
+ Comparing sector {0} of {1}...
+
+
+ Error {0} reading sector {1} from image 1.
+
+
+ Error {0} reading sector {1} from image 2.
+
+
+ Comparing images...
+
+
+ Images differ
+
+
+ Images do not differ
+
+
+ Take metadata from existing CICM XML sidecar.
+
+
+ Image comments.
+
+
+ How many sectors to convert at once.
+
+
+ Who (person) created the image?.
+
+
+ Manufacturer of the drive used to read the media represented by the image.
+
+
+ Model of the drive used to read the media represented by the image.
+
+
+ Firmware revision of the drive used to read the media represented by the image.
+
+
+ Serial number of the drive used to read the media represented by the image.
+
+
+ Continue conversion even if sector or media tags will be lost in the process.
+
+
+ Format of the output image, as plugin name or plugin id. If not present, will try to detect it from output image extension.
+
+
+ Barcode of the media represented by the image.
+
+
+ Last media of the sequence the media represented by the image corresponds to.
+
+
+ Manufacturer of the media represented by the image.
+
+
+ Model of the media represented by the image.
+
+
+ Part number of the media represented by the image.
+
+
+ Number in sequence for the media represented by the image.
+
+
+ Serial number of the media represented by the image.
+
+
+ Title of the media represented by the image.
+
+
+ Comma separated name=value pairs of options to pass to output image plugin.
+
+
+ Take list of dump hardware from existing resume file.
+
+
+ Force geometry, only supported in not tape block media. Specify as C/H/S.
+
+
+ Store subchannel according to the sector they describe.
+
+
+ Try to fix subchannel. Implies fixing subchannel position.
+
+
+ If subchannel looks OK but CRC fails, rewrite it. Implies fixing subchannel.
+
+
+ Generates missing subchannels.
+
+
+ Input image path
+
+
+ Output image path
+
+
+ Need to specify more than 0 sectors to copy at once
+
+
+ Invalid geometry specified
+
+
+ Invalid number of cylinders specified
+
+
+ Invalid number of heads specified
+
+
+ Invalid sectors per track specified
+
+
+ Incorrect metadata sidecar file, not continuing...
+
+
+ Could not find metadata sidecar, not continuing...
+
+
+ Incorrect resume file, not continuing...
+
+
+ Could not find resume file, not continuing...
+
+
+ Output file already exists, not continuing.
+
+
+ Input image format not identified, not proceeding with conversion.
+
+
+ Command not yet supported for this image type.
+
+
+ Input image format identified by {0} ({1}).
+
+
+ Input image format identified by {0}.
+
+
+ Image identifies media type as {0}.
+
+
+ No plugin supports requested extension.
+
+
+ More than one plugin supports requested extension.
+
+
+ Output image format: {0} ({1}).
+
+
+ Output image format: {0}.
+
+
+ Output format does not support media type, cannot continue...
+
+
+ Converting image will lose media tag {0}, not continuing...
+
+
+ If you don't care, use force option.
+
+
+ Converting image will lose sector tag {0}, not continuing...
+
+
+ If you don't care, use force option. This will skip all sector tags converting only user data.
+
+
+ Input format contains a tape image and is not supported by output format, not continuing...
+
+
+ Error setting output image in tape mode, not continuing...
+
+
+ Output format does not support sessions, this will end in a loss of data, not continuing...
+
+
+ Error {0} creating output image.
+
+
+ Error {0} setting metadata, not continuing...
+
+
+ Error {0} setting metadata, continuing...
+
+
+ Converting media tag {0}
+
+
+ Error {0} reading media tag, continuing...
+
+
+ Error {0} writing media tag, not continuing...
+
+
+ Error {0} reading media tag, not continuing...
+
+
+ Error {0} writing media tag, continuing...
+
+
+ {0} sectors to convert
+
+
+ Error {0} sending tracks list to output image.
+
+
+ Converting disc...
+
+
+ Converting sectors in track {0} of {1}
+
+
+ Converting track
+
+
+ Converting sectors {0} to {1} in track {2}
+
+
+ Error {0} reading sector {1}, continuing...
+
+
+ Error {0} reading sector {1}, not continuing...
+
+
+ Input image is not returning raw sectors, use force if you want to continue...
+
+
+ Error {0} writing sector {1}, continuing...
+
+
+ Error {0} writing sector {1}, not continuing...
+
+
+ Converting tags in track {0} of {1}
+
+
+ Error {0} writing tag, continuing...
+
+
+ Error {0} writing tag, not continuing...
+
+
+ Converting tag {3} for sectors {0} to {1} in track {2}
+
+
+ Error {0} reading tag for sector {1}, continuing...
+
+
+ Error {0} reading tag for sector {1}, not continuing...
+
+
+ Error {0} writing tag for sector {1}, continuing...
+
+
+ Error {0} writing tag for sector {1}, not continuing...
+
+
+ Setting geometry to {0} cylinders, {1} heads and {2} sectors per track
+
+
+ Error {0} setting geometry, image may be incorrect, continuing...
+
+
+ Converting media
+
+
+ Converting sectors {0} to {1}
+
+
+ Converting tags
+
+
+ Converting tag {2} for sectors {0} to {1}
+
+
+ Converting files
+
+
+ Converting file {0} of partition {1}...
+
+
+ Converting tape partition {0}...
+
+
+ Writing dump hardware list...
+
+
+ Written dump hardware list to output image.
+
+
+ Writing metadata...
+
+
+ Written CICM XML metadata to output image.
+
+
+ Closing output image...
+
+
+ Error {0} closing output image... Contents are not correct.
+
+
+ Conversion done.
+
+
+ Only used for tapes, indicates block size. Files in the folder whose size is not a multiple of this value will simply be ignored.
+
+
+ When used indicates that input is a folder containing alphabetically sorted files extracted from a linear block-based tape with fixed block size (e.g. a SCSI tape device).
+
+
+ You cannot use --tape option when input is a file.
+
+
+ Image format not identified, not proceeding with sidecar creation.
+
+
+ The specified input file cannot be found.
+
+
+ Decode disk tags.
+
+
+ all
+ As in "all sectors"
+
+
+ How many sectors to decode, or "all".
+
+
+ Decode sector tags.
+
+
+ Sector to start decoding from.
+
+
+ Unable to recognize image format, not decoding
+
+
+ There are no disk tags in chosen disc image.
+
+
+ Error {0} reading SCSI INQUIRY response from disc image
+
+
+ SCSI INQUIRY command response:
+
+
+ Error {0} reading ATA IDENTIFY DEVICE response from disc image
+
+
+ ATA IDENTIFY DEVICE command response:
+
+
+ Error {0} reading ATA IDENTIFY PACKET DEVICE response from disc image
+
+
+ ATA IDENTIFY PACKET DEVICE command response:
+
+
+ Error {0} reading CD ATIP from disc image
+
+
+ CD ATIP:
+
+
+ Error {0} reading CD full TOC from disc image
+
+
+ CD full TOC:
+
+
+ Error {0} reading CD PMA from disc image
+
+
+ Error {0} reading CD session information from disc image
+
+
+ CD session information:
+
+
+ Error reading CD-TEXT from disc image
+
+
+ CD-TEXT:
+
+
+ Error reading CD TOC from disc image
+
+
+ CD TOC:
+
+
+ Decoder for disk tag type "{0}" not yet implemented, sorry.
+
+
+ Value "{0}" is not a valid number for length.
+
+
+ Not decoding sectors tags
+
+
+ There are no sector tags in chosen disc image.
+
+
+ Decoder for sector tag type "{0}" not yet implemented, sorry.
+
+
+ Calculates how many sectors are duplicated (have same exact data in user area).
+
+
+ Calculates entropy for each track separately.
+
+
+ Calculates entropy for the whole disc.
+
+
+ Calculating disc entropy of multisession images is not yet implemented.
+
+
+ Entropy for track {0} is {1:F4}.
+
+
+ Track {0} has {1} unique sectors ({2:P3})
+ {0} is the track number, {1} how many sectors are unique, {2:P3} the percentage of total sectors that are unique (percent symbol included)
+
+
+ Entropy for disk is {0:F4}.
+
+
+ Disk has {0} unique sectors ({1:P3})
+ {0} is how many sectors are unique, {1:P3} the percentage of total sectors that are unique (percent symbol included)
+
+
+ Image format not identified.
+
+
+ Read/Write media images options:
+
+
+ Default
+
+
+ How many sectors to print.
+
+
+ Print sectors with tags included.
+
+
+ Starting sector.
+
+
+ How many bytes to print per line.
+
+
+ Unable to recognize image format, not printing
+
+
+ Start {0}
+
+
+ Reading data...
+
+
+ Error {0} reading data from {1}.
+ {0} is error name and {1} is starting sector number
+
+
+ Cannot open image file, aborting...
+
+
+ Sector {0}
+
+
+ Requested sectors with tags, unsupported by underlying image format, printing only user data.
+
+
+ Reading sector...
+
+
+ Error {0} reading sector {1}.
+ {0} is error name and {1} is sector number
+
+
+ Verify disc image if supported.
+
+
+ Verify all sectors if supported.
+
+
+ Unable to recognize image format, not verifying
+
+
+ The specified image does not support any kind of verification
+
+
+ Verifying image checksums...
+
+
+ Disc image checksums are correct
+
+
+ Disc image checksums are incorrect
+
+
+ Disc image does not contain checksums
+
+
+ Checking disc image checksums took {0} seconds
+
+
+ Checking tracks...
+
+
+ Checking track {0} of {1}
+
+
+ Checking sector
+
+
+ Checking sector {0} of {1}, on track {2}
+
+
+ Checking sectors...
+
+
+ Checking sector {0} of {1}
+
+
+ There is at least one sector that does not contain a checksum
+
+
+ There is at least one sector with incorrect checksum or errors
+
+
+ All sector checksums are correct
+
+
+ Checking sector checksums took {0} seconds
+
+
+ LBAs with error:
+
+
+ all sectors.
+
+
+ LBAs without checksum:
+
+
+ Total sectors...........
+
+
+ Total errors............
+
+
+ Total unknowns..........
+
+
+ Total errors+unknowns...
+
+
+ Try to read first track pregap. Only applicable to CD/DDCD/GD.
+
+
+ Fix audio tracks offset. Only applicable to CD/GD.
+
+
+ Continue dump whatever happens.
+
+
+ Enables creating CICM XML sidecar.
+
+
+ Enables trimming errored from skipped sectors.
+
+
+ Try to recover partial or incorrect data.
+
+
+ Create/use resume mapfile.
+
+
+ How many retry passes to do.
+
+
+ When an unreadable sector is found skip this many sectors.
+
+
+ Stop media dump on first error.
+
+
+ any
+
+
+ Subchannel to dump. Only applicable to CD/GD. Values: any, rw, rw-or-pq, pq, none.
+
+
+ Speed to dump. Only applicable to optical drives, 0 for maximum.
+
+
+ Output image path. If filename starts with # and exists, it will be read as a list of output images, its extension will be used to detect the image output format, each media will be ejected and confirmation for the next one will be asked.
+
+
+ Do not store paths and serial numbers in log or metadata.
+
+
+ Retry subchannel. Implies fixing subchannel position.
+
+
+ Generates missing subchannels (they don't count as dumped in resume file).
+
+
+ Skip the hole between data and audio in a CD-i Ready disc.
+
+
+ Eject media after dump finishes.
+
+
+ Maximum number of blocks to read at once.
+
+
+ For MMC/SD, use OS buffered reads if CMD23 is not supported.
+
+
+ Store encrypted data as is.
+
+
+ Try to read the title keys from CSS encrypted DVDs (very slow).
+
+
+ How many CD-R(W) run-out sectors to ignore and regenerate (0 for none).
+
+
+ rw
+
+
+ rw-or-pq
+
+
+ pq
+
+
+ none
+
+
+ Incorrect subchannel type "{0}" requested.
+
+
+ Invalid characters found in list of files, exiting...
+
+
+ Please insert media with title {0} and press any key to continue...
+
+
+ Opening device...
+
+
+ Incorrect resume file, not continuing...
+
+
+ Media already dumped correctly, not continuing...
+
+
+ Ejecting media...
+
+
+ Please use device-info command for ATA devices.
+
+
+ Please use device-info command for MMC/SD devices.
+
+
+ Retrieving SCSI information...
+
+
+ Densities supported by currently inserted media
+
+
+ Medium types currently inserted in device
+
+
+ WARNING: The drive has returned incorrect Q positioning when calculating pregaps. A best effort has been tried but they may be incorrect.
+
+
+ Hidden track starts at LBA {0}, ends at LBA {1}
+
+
+ Track {0} starts at LBA {1}, ends at LBA {2}, has a pregap of {3} sectors and is of type {4}
+
+
+ Write a log of the scan in the format used by MHDD.
+
+
+ Write a log of the scan in the format used by ImgBurn.
+
+
+ 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.
+
+
+ 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.
+
+
+ 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.
+
+
+ Do you want to enable the decryption of copy protected media (also known as DRM),
+like for example DVD Video CSS encryption.
+Consult your local laws before enabling it, as this is illegal in some countries, or
+only legal under some circumstances.
+
+
+ Do you want to enable decryption of copy protected media?
+
+
+ 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.
+
+
+ Do you want to save device reports in shared folder of your computer?
+
+
+ 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.
+
+
+ Do you want to share your device reports with us?
+
+
+ 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.
+
+
+ Do you want to save stats about your Aaru usage?
+
+
+ Do you want to share your stats (anonymously)?
+
+
+ Do you want to gather statistics about command usage?
+
+
+ Do you want to gather statistics about found devices?
+
+
+ Do you want to gather statistics about found filesystems?
+
+
+ Do you want to gather statistics about found file filters?
+
+
+ Do you want to gather statistics about found media image formats?
+
+
+ Do you want to gather statistics about scanned media?
+
+
+ Do you want to gather statistics about found partitioning schemes?
+
+
+ Do you want to gather statistics about media types?
+
+
+ Do you want to gather statistics about media image verifications?
+
+
+ Supported filters ({0}):
+ {0} is the number of supported filters
+
+
+ Read-only media image formats ({0}):
+ {0} is the number of read only media image formats
+
+
+ Read/write media image formats ({0}):
+ {0} is the number of read/write media image formats
+
+
+ Supported filesystems for identification and information only ({0}):
+ {0} is the number of supported filesystems only for identification
+
+
+ Supported filesystems that can read their contents ({0}):
+ {0} is the number of supported filesystem that can read their contents
+
+
+ Supported partitioning schemes ({0}):
+ {0} is the number of supported partitioning schemes
+
+
+ Supported archive formats ({0}):
+ {0} is the number of supported archive formats
+
+
+ Namespaces for {0}:
+ {0} is the filesystem plugin name
+
+
+ Namespace
+
+
\ No newline at end of file
diff --git a/Aaru.sln b/Aaru.sln
index 7097a34de..33c371a9e 100644
--- a/Aaru.sln
+++ b/Aaru.sln
@@ -44,6 +44,8 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Aaru.Decryption", "Aaru.Dec
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Aaru.Archives", "Aaru.Archives\Aaru.Archives.csproj", "{282271D0-CCC2-4ED7-BA38-EC06A84BB974}"
EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Aaru.Localization", "Aaru.Localization\Aaru.Localization.csproj", "{90B96C70-F449-4B83-9DC7-F69150806F9B}"
+EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
@@ -220,6 +222,14 @@ Global
{282271D0-CCC2-4ED7-BA38-EC06A84BB974}.Release|Any CPU.Build.0 = Release|Any CPU
{282271D0-CCC2-4ED7-BA38-EC06A84BB974}.Release|x86.ActiveCfg = Release|Any CPU
{282271D0-CCC2-4ED7-BA38-EC06A84BB974}.Release|x86.Build.0 = Release|Any CPU
+ {90B96C70-F449-4B83-9DC7-F69150806F9B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {90B96C70-F449-4B83-9DC7-F69150806F9B}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {90B96C70-F449-4B83-9DC7-F69150806F9B}.Debug|x86.ActiveCfg = Debug|Any CPU
+ {90B96C70-F449-4B83-9DC7-F69150806F9B}.Debug|x86.Build.0 = Debug|Any CPU
+ {90B96C70-F449-4B83-9DC7-F69150806F9B}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {90B96C70-F449-4B83-9DC7-F69150806F9B}.Release|Any CPU.Build.0 = Release|Any CPU
+ {90B96C70-F449-4B83-9DC7-F69150806F9B}.Release|x86.ActiveCfg = Release|Any CPU
+ {90B96C70-F449-4B83-9DC7-F69150806F9B}.Release|x86.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
diff --git a/Aaru/Aaru.csproj b/Aaru/Aaru.csproj
index 4edecce26..6bac01eec 100644
--- a/Aaru/Aaru.csproj
+++ b/Aaru/Aaru.csproj
@@ -104,6 +104,7 @@
+
diff --git a/Aaru/Commands/Archive/ArchiveFamily.cs b/Aaru/Commands/Archive/ArchiveFamily.cs
index 46b861aaf..6ac71fb10 100644
--- a/Aaru/Commands/Archive/ArchiveFamily.cs
+++ b/Aaru/Commands/Archive/ArchiveFamily.cs
@@ -32,12 +32,13 @@
// ****************************************************************************/
using System.CommandLine;
+using Aaru.Localization;
namespace Aaru.Commands.Archive;
sealed class ArchiveFamily : Command
{
- internal ArchiveFamily() : base("archive", "Commands to manage archive files")
+ internal ArchiveFamily() : base("archive", UI.Archive_Command_Family_Description)
{
AddAlias("arc");
diff --git a/Aaru/Commands/Archive/Info.cs b/Aaru/Commands/Archive/Info.cs
index 6c45c025e..ad36a6b42 100644
--- a/Aaru/Commands/Archive/Info.cs
+++ b/Aaru/Commands/Archive/Info.cs
@@ -36,13 +36,14 @@ using System.CommandLine.NamingConventionBinder;
using Aaru.CommonTypes.Enums;
using Aaru.Console;
using Aaru.Core;
+using Aaru.Localization;
using Spectre.Console;
namespace Aaru.Commands.Archive;
sealed class ArchiveInfoCommand : Command
{
- public ArchiveInfoCommand() : base("info", "Identifies an archive file and shows information about it.")
+ public ArchiveInfoCommand() : base("info", UI.Archive_Info_Command_Description)
{
AddArgument(new Argument
{
diff --git a/Aaru/Commands/Configure.cs b/Aaru/Commands/Configure.cs
index a24434646..bd868d58b 100644
--- a/Aaru/Commands/Configure.cs
+++ b/Aaru/Commands/Configure.cs
@@ -35,6 +35,7 @@ using System.CommandLine;
using System.CommandLine.NamingConventionBinder;
using Aaru.CommonTypes.Enums;
using Aaru.Console;
+using Aaru.Localization;
using Aaru.Settings;
using Spectre.Console;
@@ -42,7 +43,7 @@ namespace Aaru.Commands;
sealed class ConfigureCommand : Command
{
- public ConfigureCommand() : base("configure", "Configures user settings and statistics.") =>
+ public ConfigureCommand() : base("configure", UI.Configure_Command_Description) =>
Handler = CommandHandler.Create((Func)Invoke);
int Invoke(bool debug, bool verbose)
@@ -81,112 +82,72 @@ sealed class ConfigureCommand : Command
{
if(gdprChange)
{
- AaruConsole.
- WriteLine("In compliance with the [bold]European Union General Data Protection Regulation 2016/679 ([italic]GDPR[/])[/],\n" +
- "we must give you the following information about [italic]Aaru[/] and ask if you want to opt-in\n" +
- "in some information sharing.");
+ AaruConsole.WriteLine(UI.GDPR_Compliance);
AaruConsole.WriteLine();
- AaruConsole.
- WriteLine("Disclaimer: Because [italic]Aaru[/] is an open source software this information, and therefore,\n" +
- "compliance with [bold]GDPR[/] only holds true if you obtained a certificated copy from its original\n" +
- "authors. In case of doubt, close [italic]Aaru[/] now and ask in our IRC support channel.");
+ AaruConsole.WriteLine(UI.GDPR_Open_Source_Disclaimer);
AaruConsole.WriteLine();
- AaruConsole.
- WriteLine("For any information sharing your IP address may be stored in our server, in a way that is not\n" +
- "possible for any person, manual, or automated process, to link with your identity, unless\n" +
- "specified otherwise.");
+ AaruConsole.WriteLine(UI.GDPR_Information_sharing);
}
- var pressedKey = new ConsoleKeyInfo();
-
AaruConsole.WriteLine();
- AaruConsole.
- WriteLine("Do you want to enable the decryption of copy protected media (also known as [italic]DRM[/]),\n" +
- "like for example [italic]DVD Video CSS[/] encryption.\n" +
- "[bold]Consult your local laws before enabling it, as this is illegal in some countries, or\n" +
- "only legal under some circumstances[/].");
+ AaruConsole.WriteLine(UI.Configure_enable_decryption_disclaimer);
- while(pressedKey.Key != ConsoleKey.Y &&
- pressedKey.Key != ConsoleKey.N)
- {
- AaruConsole.
- Write("[italic]Do you want to enable decryption of copy protected media?[/] [bold]([green]Y[/]/[red]N[/]):[/] ");
-
- Settings.Settings.Current.EnableDecryption = AnsiConsole.Confirm(string.Format("[italic]{0}[/]", "Do you want to enable decryption of copy protected media?"));
+ Settings.Settings.Current.EnableDecryption =
+ AnsiConsole.Confirm($"[italic]{UI.Do_you_want_to_enable_decryption_of_copy_protected_media_Q}[/]");
#region Device reports
AaruConsole.WriteLine();
- AaruConsole.
- WriteLine(
- "With the 'device-report' command, [italic]Aaru[/] creates a report of a device, that includes its\n" +
- "manufacturer, model, firmware revision and/or version, attached bus, size, and supported commands.\n" +
- "The serial number of the device is not stored in the report. If used with the debug parameter,\n" +
- "extra information about the device will be stored in the report. This information is known to contain\n" +
- "the device serial number in non-standard places that prevent the automatic removal of it on a handful\n" +
- "of devices. A human-readable copy of the report in XML format is always created in the same directory\n" +
- "where [italic]Aaru[/] is being run from.");
+ AaruConsole.WriteLine(UI.Configure_Device_Report_information_disclaimer);
- while(pressedKey.Key != ConsoleKey.Y &&
- pressedKey.Key != ConsoleKey.N)
- {
- AaruConsole.
- Write("[italic]Do you want to save device reports in shared folder of your computer? [bold]([green]Y[/]/[red]N[/]):[/] ");
+ Settings.Settings.Current.SaveReportsGlobally = AnsiConsole.Confirm($"[italic]{UI.
+ Configure_Do_you_want_to_save_device_reports_in_shared_folder_of_your_computer_Q}[/]");
- Settings.Settings.Current.SaveReportsGlobally = AnsiConsole.Confirm(string.Format("[italic]{0}[/]", "Do you want to save device reports in shared folder of your computer?"));
-
- Settings.Settings.Current.SaveReportsGlobally = pressedKey.Key == ConsoleKey.Y;
-
- pressedKey = new ConsoleKeyInfo();
AaruConsole.WriteLine();
- AaruConsole.
- WriteLine("Sharing a report with us will send it to our server, that's in the european union territory, where it\n" +
- "will be manually analyzed by an european union citizen to remove any trace of personal identification\n" +
- "from it. Once that is done, it will be shared in our stats website, [italic][blue]https://www.aaru.app[/][/]\n" +
- "These report will be used to improve [italic]Aaru[/] support, and in some cases, to provide emulation of the\n" +
- "devices to other open-source projects. In any case, no information linking the report to you will be stored.");
+ AaruConsole.WriteLine(UI.Configure_share_report_disclaimer);
- Settings.Settings.Current.ShareReports = AnsiConsole.Confirm(string.Format("[italic]{0}[/]", "Do you want to share your device reports with us?"));
+ Settings.Settings.Current.ShareReports =
+ AnsiConsole.Confirm($"[italic]{UI.Do_you_want_to_share_your_device_reports_with_us_Q}[/]");
#endregion Device reports
#region Statistics
AaruConsole.WriteLine();
- AaruConsole.
- WriteLine("[italic]Aaru[/] can store some usage statistics. These statistics are limited to the number of times a\n" +
- "command is executed, a filesystem, partition, or device is used, the operating system version, and other.\n" +
- "In no case, any information besides pure statistical usage numbers is stored, and they're just joint to the\n" +
- "pool with no way of using them to identify you.");
+ AaruConsole.WriteLine(UI.Statistics_disclaimer);
- if(AnsiConsole.Confirm(string.Format("[italic]{0}[/]", "Do you want to save stats about your Aaru usage?")))
+ if(AnsiConsole.Confirm($"[italic]{UI.Do_you_want_to_save_stats_about_your_Aaru_usage_Q}[/]"))
{
- Settings.Settings.Current.Stats = new StatsSettings();
-
- Settings.Settings.Current.Stats.ShareStats = AnsiConsole.Confirm(string.Format("[italic]{0}[/]", "Do you want to share your stats (anonymously)?"));
-
- Settings.Settings.Current.Stats.CommandStats = AnsiConsole.Confirm(string.Format("[italic]{0}[/]", "Do you want to gather statistics about command usage?"));
-
- Settings.Settings.Current.Stats.DeviceStats = AnsiConsole.Confirm(string.Format("[italic]{0}[/]", "Do you want to gather statistics about found devices?"));
-
- Settings.Settings.Current.Stats.FilesystemStats = AnsiConsole.Confirm(string.Format("[italic]{0}[/]", "Do you want to gather statistics about found filesystems?"));
-
- Settings.Settings.Current.Stats.FilterStats = AnsiConsole.Confirm(string.Format("[italic]{0}[/]", "Do you want to gather statistics about found file filters?"));
-
- Settings.Settings.Current.Stats.MediaImageStats = AnsiConsole.Confirm(string.Format("[italic]{0}[/]", "Do you want to gather statistics about found media image formats?"));
-
- Settings.Settings.Current.Stats.MediaScanStats = AnsiConsole.Confirm(string.Format("[italic]{0}[/]", "Do you want to gather statistics about scanned media?"));
-
- Settings.Settings.Current.Stats.PartitionStats = AnsiConsole.Confirm(string.Format("[italic]{0}[/]", "Do you want to gather statistics about found partitioning schemes?"));
-
- Settings.Settings.Current.Stats.MediaStats = AnsiConsole.Confirm(string.Format("[italic]{0}[/]", "Do you want to gather statistics about media types?"));
-
- Settings.Settings.Current.Stats.VerifyStats = AnsiConsole.Confirm(string.Format("[italic]{0}[/]", "Do you want to gather statistics about media image verifications?"));
+ Settings.Settings.Current.Stats = new StatsSettings
+ {
+ ShareStats = AnsiConsole.Confirm($"[italic]{UI.Do_you_want_to_share_your_stats__anonymously_Q}[/]"),
+ CommandStats =
+ AnsiConsole.Confirm($"[italic]{UI.Do_you_want_to_gather_statistics_about_command_usage_Q}[/]"),
+ DeviceStats =
+ AnsiConsole.Confirm($"[italic]{UI.Do_you_want_to_gather_statistics_about_found_devices_Q}[/]"),
+ FilesystemStats =
+ AnsiConsole.Confirm($"[italic]{UI.Do_you_want_to_gather_statistics_about_found_filesystems_Q}[/]"),
+ FilterStats =
+ AnsiConsole.Confirm($"[italic]{UI.Do_you_want_to_gather_statistics_about_found_file_filters_Q}[/]"),
+ MediaImageStats =
+ AnsiConsole.Confirm($"[italic]{UI.Do_you_want_to_gather_statistics_about_found_media_image_formats_Q
+ }[/]"),
+ MediaScanStats =
+ AnsiConsole.Confirm($"[italic]{UI.Do_you_want_to_gather_statistics_about_scanned_media_Q}[/]"),
+ PartitionStats =
+ AnsiConsole.Confirm($"[italic]{UI.
+ Do_you_want_to_gather_statistics_about_found_partitioning_schemes_Q}[/]"),
+ MediaStats =
+ AnsiConsole.Confirm($"[italic]{UI.Do_you_want_to_gather_statistics_about_media_types_Q}[/]"),
+ VerifyStats =
+ AnsiConsole.Confirm($"[italic]{UI.Do_you_want_to_gather_statistics_about_media_image_verifications_Q
+ }[/]")
+ };
}
else
Settings.Settings.Current.Stats = null;
diff --git a/Aaru/Commands/Database/DatabaseFamily.cs b/Aaru/Commands/Database/DatabaseFamily.cs
index 6c6048057..d71aaa8d4 100644
--- a/Aaru/Commands/Database/DatabaseFamily.cs
+++ b/Aaru/Commands/Database/DatabaseFamily.cs
@@ -31,13 +31,13 @@
// ****************************************************************************/
using System.CommandLine;
+using Aaru.Localization;
namespace Aaru.Commands.Database;
sealed class DatabaseFamily : Command
{
- internal DatabaseFamily(bool mainDbUpdate) : base("database",
- "Commands to manage the device and statistics database")
+ internal DatabaseFamily(bool mainDbUpdate) : base("database", UI.Database_Command_Family_Description)
{
AddAlias("db");
diff --git a/Aaru/Commands/Database/Statistics.cs b/Aaru/Commands/Database/Statistics.cs
index f0b322496..4088e0aea 100644
--- a/Aaru/Commands/Database/Statistics.cs
+++ b/Aaru/Commands/Database/Statistics.cs
@@ -36,6 +36,7 @@ using Aaru.CommonTypes.Enums;
using Aaru.Console;
using Aaru.Database;
using Aaru.Database.Models;
+using Aaru.Localization;
using Spectre.Console;
using Command = System.CommandLine.Command;
@@ -43,7 +44,7 @@ namespace Aaru.Commands.Database;
sealed class StatisticsCommand : Command
{
- public StatisticsCommand() : base("stats", "Shows statistics.") =>
+ public StatisticsCommand() : base("stats", UI.Database_Stats_Command_Description) =>
Handler = CommandHandler.Create(GetType().GetMethod(nameof(Invoke)));
public static int Invoke(bool debug, bool verbose)
@@ -85,7 +86,7 @@ sealed class StatisticsCommand : Command
!ctx.Partitions.Any() &&
!ctx.SeenDevices.Any())
{
- AaruConsole.WriteLine("There are no statistics.");
+ AaruConsole.WriteLine(UI.There_are_no_statistics);
return (int)ErrorNumber.NothingFound;
}
@@ -97,11 +98,11 @@ sealed class StatisticsCommand : Command
{
table = new Table
{
- Title = new TableTitle("Commands statistics")
+ Title = new TableTitle(UI.Commands_statistics)
};
- table.AddColumn("Command");
- table.AddColumn("Times used");
+ table.AddColumn(UI.Title_Command);
+ table.AddColumn(UI.Title_Times_used);
table.Columns[1].RightAligned();
if(ctx.Commands.Any(c => c.Name == "analyze"))
@@ -154,11 +155,11 @@ sealed class StatisticsCommand : Command
{
table = new Table
{
- Title = new TableTitle("Filters statistics")
+ Title = new TableTitle(UI.Filters_statistics)
};
- table.AddColumn("Filter");
- table.AddColumn("Times found");
+ table.AddColumn(UI.Title_Filter);
+ table.AddColumn(UI.Title_Times_used);
table.Columns[1].RightAligned();
foreach(string filter in ctx.Filters.Select(c => c.Name).Distinct().OrderBy(c => c))
@@ -183,11 +184,11 @@ sealed class StatisticsCommand : Command
{
table = new Table
{
- Title = new TableTitle("Media image format statistics")
+ Title = new TableTitle(UI.Media_image_format_statistics)
};
- table.AddColumn("Format");
- table.AddColumn("Times found");
+ table.AddColumn(UI.Title_Format);
+ table.AddColumn(UI.Title_Times_used);
table.Columns[1].RightAligned();
foreach(string format in ctx.MediaFormats.Select(c => c.Name).Distinct().OrderBy(c => c))
@@ -212,11 +213,11 @@ sealed class StatisticsCommand : Command
{
table = new Table
{
- Title = new TableTitle("Partitioning scheme statistics")
+ Title = new TableTitle(UI.Partitioning_scheme_statistics)
};
- table.AddColumn("Scheme");
- table.AddColumn("Times found");
+ table.AddColumn(UI.Title_Scheme);
+ table.AddColumn(UI.Title_Times_used);
table.Columns[1].RightAligned();
foreach(string partition in ctx.Partitions.Select(c => c.Name).Distinct().OrderBy(c => c))
@@ -241,11 +242,11 @@ sealed class StatisticsCommand : Command
{
table = new Table
{
- Title = new TableTitle("Filesystem statistics")
+ Title = new TableTitle(UI.Filesystem_statistics)
};
- table.AddColumn("Filesystem");
- table.AddColumn("Times found");
+ table.AddColumn(UI.Title_Filesystem);
+ table.AddColumn(UI.Title_Times_used);
table.Columns[1].RightAligned();
foreach(string filesystem in ctx.Filesystems.Select(c => c.Name).Distinct().OrderBy(c => c))
@@ -270,13 +271,13 @@ sealed class StatisticsCommand : Command
{
table = new Table
{
- Title = new TableTitle("Device statistics")
+ Title = new TableTitle(UI.Device_statistics)
};
- table.AddColumn("Manufacturer");
- table.AddColumn("Model");
- table.AddColumn("Revision");
- table.AddColumn("Bus");
+ table.AddColumn(UI.Title_Manufacturer);
+ table.AddColumn(UI.Title_Model);
+ table.AddColumn(UI.Title_Revision);
+ table.AddColumn(UI.Title_Bus);
foreach(DeviceStat ds in ctx.SeenDevices.OrderBy(ds => ds.Manufacturer).ThenBy(ds => ds.Model).
ThenBy(ds => ds.Revision).ThenBy(ds => ds.Bus))
@@ -292,11 +293,11 @@ sealed class StatisticsCommand : Command
{
table = new Table
{
- Title = new TableTitle("Media found in real device statistics")
+ Title = new TableTitle(UI.Media_found_in_real_device_statistics)
};
- table.AddColumn("Type");
- table.AddColumn("Times found");
+ table.AddColumn(UI.Title_Type_for_media);
+ table.AddColumn(UI.Title_Times_used);
table.Columns[1].RightAligned();
foreach(string media in ctx.Medias.Where(ms => ms.Real).Select(ms => ms.Type).Distinct().OrderBy(ms => ms))
@@ -322,11 +323,11 @@ sealed class StatisticsCommand : Command
{
table = new Table
{
- Title = new TableTitle("Media found in images statistics")
+ Title = new TableTitle(UI.Media_found_in_images_statistics)
};
- table.AddColumn("Type");
- table.AddColumn("Times found");
+ table.AddColumn(UI.Title_Type_for_media);
+ table.AddColumn(UI.Title_Times_used);
table.Columns[1].RightAligned();
foreach(string media in ctx.Medias.Where(ms => !ms.Real).Select(ms => ms.Type).Distinct().OrderBy(ms => ms))
@@ -349,7 +350,7 @@ sealed class StatisticsCommand : Command
}
if(!thereAreStats)
- AaruConsole.WriteLine("There are no statistics.");
+ AaruConsole.WriteLine(UI.There_are_no_statistics);
return (int)ErrorNumber.NoError;
}
diff --git a/Aaru/Commands/Database/Update.cs b/Aaru/Commands/Database/Update.cs
index bd8f5e06d..22b06a37e 100644
--- a/Aaru/Commands/Database/Update.cs
+++ b/Aaru/Commands/Database/Update.cs
@@ -39,6 +39,7 @@ using Aaru.CommonTypes.Enums;
using Aaru.Console;
using Aaru.Core;
using Aaru.Database;
+using Aaru.Localization;
using Microsoft.EntityFrameworkCore;
using Spectre.Console;
@@ -48,12 +49,12 @@ sealed class UpdateCommand : Command
{
readonly bool _mainDbUpdate;
- public UpdateCommand(bool mainDbUpdate) : base("update", "Updates the database.")
+ public UpdateCommand(bool mainDbUpdate) : base("update", UI.Database_Update_Command_Description)
{
_mainDbUpdate = mainDbUpdate;
- Add(new Option("--clear", () => false, "Clear existing main database."));
- Add(new Option("--clear-all", () => false, "Clear existing main and local database."));
+ Add(new Option("--clear", () => false, UI.Clear_existing_main_database));
+ Add(new Option("--clear-all", () => false, UI.Clear_existing_main_and_local_database));
Handler = CommandHandler.Create((Func)Invoke);
}
@@ -107,7 +108,7 @@ sealed class UpdateCommand : Command
if(Debugger.IsAttached)
throw;
- AaruConsole.ErrorWriteLine("Could not remove local database.");
+ AaruConsole.ErrorWriteLine(UI.Could_not_remove_local_database);
return (int)ErrorNumber.CannotRemoveDatabase;
}
@@ -122,7 +123,7 @@ sealed class UpdateCommand : Command
if(Debugger.IsAttached)
throw;
- AaruConsole.ErrorWriteLine("Could not remove main database.");
+ AaruConsole.ErrorWriteLine(UI.Could_not_remove_main_database);
return (int)ErrorNumber.CannotRemoveDatabase;
}
diff --git a/Aaru/Commands/Device/DeviceFamily.cs b/Aaru/Commands/Device/DeviceFamily.cs
index 4726f0d0c..4b6e50e0f 100644
--- a/Aaru/Commands/Device/DeviceFamily.cs
+++ b/Aaru/Commands/Device/DeviceFamily.cs
@@ -31,12 +31,13 @@
// ****************************************************************************/
using System.CommandLine;
+using Aaru.Localization;
namespace Aaru.Commands.Device;
sealed class DeviceFamily : Command
{
- public DeviceFamily() : base("device", "Commands that talks to devices")
+ public DeviceFamily() : base("device", UI.Device_Command_Family_Description)
{
AddAlias("dev");
diff --git a/Aaru/Commands/Device/DeviceReport.cs b/Aaru/Commands/Device/DeviceReport.cs
index 56fbd4197..6f7986c83 100644
--- a/Aaru/Commands/Device/DeviceReport.cs
+++ b/Aaru/Commands/Device/DeviceReport.cs
@@ -49,6 +49,7 @@ using Aaru.Database.Models;
using Aaru.Decoders.SCSI;
using Aaru.Decoders.SCSI.MMC;
using Aaru.Helpers;
+using Aaru.Localization;
using Newtonsoft.Json;
using Spectre.Console;
using Command = System.CommandLine.Command;
@@ -59,19 +60,19 @@ namespace Aaru.Commands.Device;
sealed class DeviceReportCommand : Command
{
- public DeviceReportCommand() : base("report", "Tests the device capabilities and creates an JSON report of them.")
+ public DeviceReportCommand() : base("report", UI.Device_Report_Command_Description)
{
AddArgument(new Argument
{
Arity = ArgumentArity.ExactlyOne,
- Description = "Device path",
+ Description = UI.Device_path,
Name = "device-path"
});
Add(new Option(new[]
{
"--trap-disc", "-t"
- }, () => false, "Does a device report using a trap disc."));
+ }, () => false, UI.Device_report_using_trap_disc));
Handler = CommandHandler.Create(GetType().GetMethod(nameof(Invoke)));
}
@@ -122,7 +123,7 @@ sealed class DeviceReportCommand : Command
switch(dev)
{
case null:
- AaruConsole.ErrorWriteLine($"Could not open device, error {devErrno}.");
+ AaruConsole.ErrorWriteLine(string.Format(UI.Could_not_open_device_error_0, devErrno));
return (int)devErrno;
case Devices.Remote.Device remoteDev:
@@ -146,10 +147,9 @@ sealed class DeviceReportCommand : Command
if(!isAdmin)
{
- AaruConsole.
- ErrorWriteLine("Because of the commands sent to a device, device report must be run with administrative privileges.");
+ AaruConsole.ErrorWriteLine(UI.Device_report_must_be_run_as_admin);
- AaruConsole.ErrorWriteLine("Not continuing.");
+ AaruConsole.ErrorWriteLine(UI.Not_continuing);
return (int)ErrorNumber.NotPermitted;
}
@@ -190,7 +190,7 @@ sealed class DeviceReportCommand : Command
if(trapDisc && dev.ScsiType != PeripheralDeviceTypes.MultiMediaDevice)
{
- AaruConsole.ErrorWriteLine("This device type does not support doing reports with trap discs.");
+ AaruConsole.ErrorWriteLine(UI.Device_does_not_report_with_trap_discs);
return (int)ErrorNumber.InvalidArgument;
}
@@ -198,22 +198,21 @@ sealed class DeviceReportCommand : Command
var reporter = new DeviceReport(dev);
if(dev.IsUsb)
- if(AnsiConsole.Confirm("[italic]Is the device natively USB (in case of doubt, press Y)?[/]"))
+ if(AnsiConsole.Confirm($"[italic]{UI.Is_the_device_natively_USB}[/]"))
{
Core.Spectre.ProgressSingleSpinner(ctx =>
{
- ctx.AddTask("Querying USB information...").IsIndeterminate();
+ ctx.AddTask(Localization.Core.Querying_USB_information).IsIndeterminate();
report.USB = reporter.UsbReport();
});
- report.USB.RemovableMedia =
- AnsiConsole.Confirm("[italic]Is the media removable from the reading/writing elements?[/]");
+ report.USB.RemovableMedia = AnsiConsole.Confirm($"[italic]{UI.Is_the_media_removable}[/]");
removable = report.USB.RemovableMedia;
}
if(dev.IsFireWire)
- if(AnsiConsole.Confirm("[italic]Is the device natively FireWire (in case of doubt, press Y)?[/]"))
+ if(AnsiConsole.Confirm($"[italic]{UI.Is_the_device_natively_FireWire}[/]"))
{
Core.Spectre.ProgressSingleSpinner(ctx =>
{
@@ -221,8 +220,7 @@ sealed class DeviceReportCommand : Command
report.FireWire = reporter.FireWireReport();
});
- report.FireWire.RemovableMedia =
- AnsiConsole.Confirm("[italic]Is the media removable from the reading/writing elements?[/]");
+ report.FireWire.RemovableMedia = AnsiConsole.Confirm($"[italic]{UI.Is_the_media_removable}[/]");
removable = report.FireWire.RemovableMedia;
}
@@ -230,7 +228,7 @@ sealed class DeviceReportCommand : Command
if(dev.IsPcmcia)
Core.Spectre.ProgressSingleSpinner(ctx =>
{
- ctx.AddTask("Querying PCMCIA information...").IsIndeterminate();
+ ctx.AddTask(Localization.Core.Querying_PCMCIA_information).IsIndeterminate();
report.PCMCIA = reporter.PcmciaReport();
});
@@ -244,7 +242,7 @@ sealed class DeviceReportCommand : Command
{
Core.Spectre.ProgressSingleSpinner(ctx =>
{
- ctx.AddTask("Querying ATA IDENTIFY...").IsIndeterminate();
+ ctx.AddTask(Localization.Core.Querying_ATA_IDENTIFY).IsIndeterminate();
dev.AtaIdentify(out buffer, out _, dev.Timeout, out _);
});
@@ -267,33 +265,31 @@ sealed class DeviceReportCommand : Command
else if(!removable &&
report.ATA.IdentifyDevice?.GeneralConfiguration.HasFlag(Identify.GeneralConfigurationBit.
Removable) == true)
- removable =
- AnsiConsole.Confirm("[italic]Is the media removable from the reading/writing elements?[/]");
+ removable = AnsiConsole.Confirm($"[italic]{UI.Is_the_media_removable}[/]");
if(removable)
{
- AaruConsole.WriteLine("Please remove any media from the device and press any key when it is out.");
+ AaruConsole.WriteLine(UI.Please_remove_any_media);
System.Console.ReadKey(true);
Core.Spectre.ProgressSingleSpinner(ctx =>
{
- ctx.AddTask("Querying ATA IDENTIFY...").IsIndeterminate();
+ ctx.AddTask(Localization.Core.Querying_ATA_IDENTIFY).IsIndeterminate();
dev.AtaIdentify(out buffer, out _, dev.Timeout, out _);
});
report.ATA.Identify = DeviceReport.ClearIdentify(buffer);
List mediaTests = new();
- while(AnsiConsole.Confirm("[italic]Do you have media that you can insert in the drive?[/]"))
+ while(AnsiConsole.Confirm($"[italic]{UI.Do_you_have_media_you_can_insert}[/]"))
{
- AaruConsole.WriteLine("Please insert it in the drive and press any key when it is ready.");
+ AaruConsole.WriteLine(UI.Please_insert_it_in_the_drive);
System.Console.ReadKey(true);
- mediumTypeName =
- AnsiConsole.Ask("Please write a description of the media type and press enter: ");
+ mediumTypeName = AnsiConsole.Ask(UI.Please_write_description_of_media_type);
- mediumModel = AnsiConsole.Ask("Please write the media model and press enter: ");
+ mediumModel = AnsiConsole.Ask(UI.Please_write_media_model);
TestedMedia mediaTest = reporter.ReportAtaMedia();
mediaTest.MediumTypeName = mediumTypeName;
@@ -318,11 +314,11 @@ sealed class DeviceReportCommand : Command
report.SecureDigital = reporter.MmcSdReport();
break;
- case DeviceType.NVMe: throw new NotImplementedException("NVMe devices not yet supported.");
+ case DeviceType.NVMe: throw new NotImplementedException(Localization.Core.NVMe_devices_not_yet_supported);
case DeviceType.ATAPI:
Core.Spectre.ProgressSingleSpinner(ctx =>
{
- ctx.AddTask("Querying ATAPI IDENTIFY...").IsIndeterminate();
+ ctx.AddTask(Localization.Core.Querying_ATAPI_IDENTIFY).IsIndeterminate();
dev.AtapiIdentify(out buffer, out _, dev.Timeout, out _);
});
@@ -347,7 +343,7 @@ sealed class DeviceReportCommand : Command
case PeripheralDeviceTypes.SCSIZonedBlockDevice: break;
default:
{
- AaruConsole.ErrorWriteLine("Unsupported device type, report cannot be created");
+ AaruConsole.ErrorWriteLine(UI.Unsupported_device_type_for_report);
throw new IOException();
}
@@ -356,9 +352,7 @@ sealed class DeviceReportCommand : Command
if(!dev.IsUsb &&
!dev.IsFireWire &&
dev.IsRemovable)
- removable =
- AnsiConsole.
- Confirm("[italic]Is the media removable from the reading/writing elements (flash memories ARE NOT removable)?[/]");
+ removable = AnsiConsole.Confirm($"[italic]{UI.Is_the_media_removable_flash_is_not}[/]");
if(removable)
{
@@ -377,8 +371,7 @@ sealed class DeviceReportCommand : Command
Core.Spectre.ProgressSingleSpinner(ctx =>
{
- ctx.AddTask("Asking drive to unload tape (can take a few minutes)...").
- IsIndeterminate();
+ ctx.AddTask(UI.Asking_drive_to_unload_tape).IsIndeterminate();
dev.Unload(out buffer, dev.Timeout, out _);
});
@@ -386,7 +379,7 @@ sealed class DeviceReportCommand : Command
break;
}
- AaruConsole.WriteLine("Please remove any media from the device and press any key when it is out.");
+ AaruConsole.WriteLine(UI.Please_remove_any_media);
System.Console.ReadKey(true);
}
@@ -422,26 +415,22 @@ sealed class DeviceReportCommand : Command
{
if(iomegaRev)
{
- AaruConsole.
- ErrorWriteLine("This device type does not support doing reports with trap discs.");
+ AaruConsole.ErrorWriteLine(UI.Device_does_not_report_with_trap_discs);
return (int)ErrorNumber.InvalidArgument;
}
- if(!AnsiConsole.
- Confirm("[italic]Are you sure you want to do a report using a trap disc and the swapping method?\n" +
- "This method can damage the drive, or the disc, and requires some ability.\n" +
- "In you are unsure, please press N to not continue.[/]"))
+ if(!AnsiConsole.Confirm($"[italic]{UI.Sure_report_trap_disc}[/]"))
return (int)ErrorNumber.NoError;
- if(!AnsiConsole.Confirm("[italic]Do you have an audio trap disc (if unsure press N)?[/]"))
+ if(!AnsiConsole.Confirm($"[italic]{UI.Do_you_have_audio_trap_disc}[/]"))
{
- AaruConsole.ErrorWriteLine("Please burn an audio trap disc before continuing...");
+ AaruConsole.ErrorWriteLine(UI.Please_burn_audio_trap_disc);
return (int)ErrorNumber.NoError;
}
- if(AnsiConsole.Confirm("[italic]Do you have a GD-ROM disc (if unsure press N)?[/]"))
+ if(AnsiConsole.Confirm($"[italic]{UI.Do_you_have_GD_ROM_disc}[/]"))
reporter.ReportGdRomSwapTrick(ref report);
else
return (int)ErrorNumber.NoError;
@@ -702,30 +691,30 @@ sealed class DeviceReportCommand : Command
if(!tryPlextor)
tryPlextor |=
AnsiConsole.
- Confirm("[italic]Do you have want to try Plextor vendor commands? [red]THIS IS DANGEROUS AND CAN IRREVERSIBLY DESTROY YOUR DRIVE (IF IN DOUBT PRESS 'N')[/][/]",
+ Confirm($"[italic]{UI.Do_you_want_to_try_Plextor_commands} [red]{UI.This_is_dangerous}[/][/]",
false);
if(!tryNec)
tryNec |=
AnsiConsole.
- Confirm("[italic]Do you have want to try NEC vendor commands? [red]THIS IS DANGEROUS AND CAN IRREVERSIBLY DESTROY YOUR DRIVE (IF IN DOUBT PRESS 'N')[/][/]",
+ Confirm($"[italic]{UI.Do_you_want_to_try_NEC_commands} [red]{UI.This_is_dangerous}[/][/]",
false);
if(!tryPioneer)
tryPioneer |=
AnsiConsole.
- Confirm("[italic]Do you have want to try Pioneer vendor commands? [red]THIS IS DANGEROUS AND CAN IRREVERSIBLY DESTROY YOUR DRIVE (IF IN DOUBT PRESS 'N')[/][/]",
+ Confirm($"[italic]{UI.Do_you_want_to_try_Pioneer_commands} [red]{UI.This_is_dangerous}[/][/]",
false);
if(!tryHldtst)
tryHldtst |=
AnsiConsole.
- Confirm("[italic]Do you have want to try HL-DT-ST (aka LG) vendor commands? [red]THIS IS DANGEROUS AND CAN IRREVERSIBLY DESTROY YOUR DRIVE (IF IN DOUBT PRESS 'N')[/][/]",
+ Confirm($"[italic]{UI.Do_you_want_to_try_HLDTST_commands} [red]{UI.This_is_dangerous}[/][/]",
false);
tryMediaTekF106 =
AnsiConsole.
- Confirm("[italic]Do you have want to try MediaTek vendor command F1h subcommand 06h? [red]THIS IS DANGEROUS AND CAN IRREVERSIBLY DESTROY YOUR DRIVE (IF IN DOUBT PRESS 'N')[/][/]",
+ Confirm($"[italic]{UI.Do_you_want_to_try_MediaTek_commands} [red]{UI.This_is_dangerous}[/][/]",
false);
}
@@ -736,12 +725,11 @@ sealed class DeviceReportCommand : Command
foreach(string mediaType in mediaTypes)
{
- if(!AnsiConsole.Confirm($"[italic]Do you have a {mediaType
- } disc that you can insert in the drive?[/]"))
+ if(!AnsiConsole.Confirm($"[italic]{string.Format(UI.Do_you_have_a_0_disc, mediaType)
+ }[/]"))
continue;
- AaruConsole.
- WriteLine("Please insert it in the drive and press any key when it is ready.");
+ AaruConsole.WriteLine(UI.Please_insert_it_in_the_drive);
System.Console.ReadKey(true);
@@ -749,7 +737,7 @@ sealed class DeviceReportCommand : Command
Core.Spectre.ProgressSingleSpinner(ctx =>
{
- ctx.AddTask("Waiting for drive to become ready").IsIndeterminate();
+ ctx.AddTask(Localization.Core.Waiting_for_drive_to_become_ready).IsIndeterminate();
sense = dev.ScsiTestUnitReady(out senseBuffer, dev.Timeout, out _);
if(!sense)
@@ -830,7 +818,7 @@ sealed class DeviceReportCommand : Command
}
default:
AaruConsole.DebugWriteLine("Device-Report command",
- "Device not ready. Sense {0}h ASC {1:X2}h ASCQ {2:X2}h",
+ Localization.Core.Device_not_ready_Sense,
decSense.Value.SenseKey, decSense.Value.ASC,
decSense.Value.ASCQ);
@@ -841,7 +829,8 @@ sealed class DeviceReportCommand : Command
else
{
AaruConsole.DebugWriteLine("Device-Report command",
- "Got sense status but no sense buffer");
+ Localization.Core.
+ Got_sense_status_but_no_sense_buffer);
mediaIsRecognized = false;
}
@@ -859,19 +848,23 @@ sealed class DeviceReportCommand : Command
if((mediaTest.SupportsReadLong == true || mediaTest.SupportsReadLong16 == true) &&
mediaTest.LongBlockSize == mediaTest.BlockSize &&
- AnsiConsole.
- Confirm("[italic]Drive supports SCSI READ LONG but I cannot find the correct size. Do you want me to try? (This can take hours)[/]"))
+ AnsiConsole.Confirm($"[italic]{Localization.Core.Try_to_find_SCSI_READ_LONG_size
+ }[/]"))
AnsiConsole.Progress().AutoClear(true).HideCompleted(true).
Columns(new TaskDescriptionColumn(), new ProgressBarColumn(),
new PercentageColumn()).Start(ctx =>
{
- ProgressTask task = ctx.AddTask("Trying to READ LONG...");
+ ProgressTask task =
+ ctx.AddTask(Localization.Core.Trying_to_READ_LONG);
+
task.MaxValue = ushort.MaxValue;
for(ushort i = (ushort)mediaTest.BlockSize;; i++)
{
- task.Description = $"Trying to READ LONG with a size of {i
- } bytes...";
+ task.Description =
+ string.
+ Format(Localization.Core.Trying_READ_LONG_with_size_0,
+ i);
task.Value = i;
@@ -899,7 +892,7 @@ sealed class DeviceReportCommand : Command
{
Core.Spectre.ProgressSingleSpinner(ctx =>
{
- ctx.AddTask("Trying SCSI READ LONG (10)...").IsIndeterminate();
+ ctx.AddTask(Localization.Core.Trying_SCSI_READ_LONG_10).IsIndeterminate();
sense = dev.ReadLong10(out buffer, out senseBuffer, false, false, 0,
(ushort)mediaTest.LongBlockSize, dev.Timeout, out _);
@@ -914,7 +907,7 @@ sealed class DeviceReportCommand : Command
{
Core.Spectre.ProgressSingleSpinner(ctx =>
{
- ctx.AddTask("Trying SCSI READ LONG (16)...").IsIndeterminate();
+ ctx.AddTask(Localization.Core.Trying_SCSI_READ_LONG_16).IsIndeterminate();
sense = dev.ReadLong16(out buffer, out senseBuffer, false, 0,
mediaTest.LongBlockSize.Value, dev.Timeout, out _);
@@ -944,26 +937,24 @@ sealed class DeviceReportCommand : Command
List seqTests = new();
- while(AnsiConsole.Confirm("[italic]Do you have media that you can insert in the drive?[/]"))
+ while(AnsiConsole.Confirm($"[italic]{UI.Do_you_have_media_you_can_insert}[/]"))
{
- AaruConsole.WriteLine("Please insert it in the drive and press any key when it is ready.");
+ AaruConsole.WriteLine(UI.Please_insert_it_in_the_drive);
System.Console.ReadKey(true);
- mediumTypeName =
- AnsiConsole.
- Ask("Please write a description of the media type and press enter: ");
+ mediumTypeName = AnsiConsole.Ask(UI.Please_write_description_of_media_type);
mediumManufacturer =
- AnsiConsole.Ask("Please write the media manufacturer and press enter: ");
+ AnsiConsole.Ask(Localization.Core.Please_write_media_manufacturer);
- mediumModel = AnsiConsole.Ask("Please write the media model and press enter: ");
+ mediumModel = AnsiConsole.Ask(UI.Please_write_media_model);
bool mediaIsRecognized = true;
Core.Spectre.ProgressSingleSpinner(ctx =>
{
- ctx.AddTask("Waiting for drive to become ready").IsIndeterminate();
+ ctx.AddTask(Localization.Core.Waiting_for_drive_to_become_ready).IsIndeterminate();
sense = dev.ScsiTestUnitReady(out senseBuffer, dev.Timeout, out _);
AaruConsole.DebugWriteLine("Device reporting", "sense = {0}", sense);
@@ -1046,7 +1037,7 @@ sealed class DeviceReportCommand : Command
}
default:
AaruConsole.DebugWriteLine("Device-Report command",
- "Device not ready. Sense {0} ASC {1:X2}h ASCQ {2:X2}h",
+ Localization.Core.Device_not_ready_Sense,
decSense.Value.SenseKey, decSense.Value.ASC,
decSense.Value.ASCQ);
@@ -1057,7 +1048,7 @@ sealed class DeviceReportCommand : Command
else
{
AaruConsole.DebugWriteLine("Device-Report command",
- "Got sense status but no sense buffer");
+ Localization.Core.Got_sense_status_but_no_sense_buffer);
mediaIsRecognized = false;
}
@@ -1077,8 +1068,7 @@ sealed class DeviceReportCommand : Command
Core.Spectre.ProgressSingleSpinner(ctx =>
{
- ctx.AddTask("Asking drive to unload tape (can take a few minutes)...").
- IsIndeterminate();
+ ctx.AddTask(UI.Asking_drive_to_unload_tape).IsIndeterminate();
dev.SpcAllowMediumRemoval(out buffer, dev.Timeout, out _);
dev.Unload(out buffer, dev.Timeout, out _);
@@ -1095,11 +1085,11 @@ sealed class DeviceReportCommand : Command
{
List mediaTypes = new()
{
- "MD DATA (140Mb data MiniDisc)",
- "60 minutes rewritable MiniDisc",
- "74 minutes rewritable MiniDisc",
- "80 minutes rewritable MiniDisc",
- "Embossed Audio MiniDisc"
+ Localization.Core.Media_Type_Name_MMD_140A,
+ Localization.Core.Media_Type_Name_MDW_60,
+ Localization.Core.Media_Type_Name_MDW_74,
+ Localization.Core.Media_Type_Name_MDW_80,
+ Localization.Core.Media_Type_Name_MiniDisc
};
mediaTypes.Sort();
@@ -1108,11 +1098,10 @@ sealed class DeviceReportCommand : Command
foreach(string mediaType in mediaTypes)
{
- if(!AnsiConsole.Confirm($"[italic]Do you have a {mediaType
- } disc that you can insert in the drive?[/]"))
+ if(!AnsiConsole.Confirm($"[italic]{string.Format(UI.Do_you_have_a_0_disc, mediaType)}[/]"))
continue;
- AaruConsole.WriteLine("Please insert it in the drive and press any key when it is ready.");
+ AaruConsole.WriteLine(UI.Please_insert_it_in_the_drive);
System.Console.ReadKey(true);
@@ -1120,7 +1109,7 @@ sealed class DeviceReportCommand : Command
Core.Spectre.ProgressSingleSpinner(ctx =>
{
- ctx.AddTask("Waiting for drive to become ready").IsIndeterminate();
+ ctx.AddTask(Localization.Core.Waiting_for_drive_to_become_ready).IsIndeterminate();
sense = dev.ScsiTestUnitReady(out senseBuffer, dev.Timeout, out _);
@@ -1196,7 +1185,7 @@ sealed class DeviceReportCommand : Command
}
default:
AaruConsole.DebugWriteLine("Device-Report command",
- "Device not ready. Sense {0}h ASC {1:X2}h ASCQ {2:X2}h",
+ Localization.Core.Device_not_ready_Sense,
decSense.Value.SenseKey, decSense.Value.ASC,
decSense.Value.ASCQ);
@@ -1207,7 +1196,7 @@ sealed class DeviceReportCommand : Command
else
{
AaruConsole.DebugWriteLine("Device-Report command",
- "Got sense status but no sense buffer");
+ Localization.Core.Got_sense_status_but_no_sense_buffer);
mediaIsRecognized = false;
}
@@ -1224,21 +1213,25 @@ sealed class DeviceReportCommand : Command
if((mediaTest.SupportsReadLong == true || mediaTest.SupportsReadLong16 == true) &&
mediaTest.LongBlockSize == mediaTest.BlockSize &&
- AnsiConsole.
- Confirm("[italic]Drive supports SCSI READ LONG but I cannot find the correct size. Do you want me to try? (This can take hours)[/]"))
+ AnsiConsole.Confirm($"[italic]{Localization.Core.Try_to_find_SCSI_READ_LONG_size
+ }[/]"))
AnsiConsole.Progress().AutoClear(true).HideCompleted(true).
Columns(new TaskDescriptionColumn(), new ProgressBarColumn(),
new PercentageColumn()).Start(ctx =>
{
- ProgressTask task = ctx.AddTask("Trying to READ LONG...");
+ ProgressTask task =
+ ctx.AddTask(Localization.Core.Trying_to_READ_LONG);
+
task.MaxValue = ushort.MaxValue;
for(ushort i = (ushort)mediaTest.BlockSize;; i++)
{
task.Value = i;
- task.Description = $"Trying to READ LONG with a size of {i
- } bytes...";
+ task.Description =
+ string.
+ Format(Localization.Core.Trying_READ_LONG_with_size_0,
+ i);
sense = mediaTest.SupportsReadLong16 == true
? dev.ReadLong16(out buffer, out senseBuffer, false,
@@ -1265,7 +1258,7 @@ sealed class DeviceReportCommand : Command
{
Core.Spectre.ProgressSingleSpinner(ctx =>
{
- ctx.AddTask("Trying SCSI READ LONG (10)...").IsIndeterminate();
+ ctx.AddTask(Localization.Core.Trying_SCSI_READ_LONG_10).IsIndeterminate();
sense = dev.ReadLong10(out buffer, out senseBuffer, false, false, 0,
(ushort)mediaTest.LongBlockSize, dev.Timeout, out _);
@@ -1280,7 +1273,7 @@ sealed class DeviceReportCommand : Command
{
Core.Spectre.ProgressSingleSpinner(ctx =>
{
- ctx.AddTask("Trying SCSI READ LONG (16)...").IsIndeterminate();
+ ctx.AddTask(Localization.Core.Trying_SCSI_READ_LONG_16).IsIndeterminate();
sense = dev.ReadLong16(out buffer, out senseBuffer, false, 0,
(ushort)mediaTest.LongBlockSize, dev.Timeout, out _);
@@ -1291,15 +1284,16 @@ sealed class DeviceReportCommand : Command
}
}
- mediaTest.MediumTypeName = mediaType switch
- {
- "MD DATA (140Mb data MiniDisc)" => "MMD-140A",
- "60 minutes rewritable MiniDisc" => "MDW-60",
- "74 minutes rewritable MiniDisc" => "MDW-74",
- "80 minutes rewritable MiniDisc" => "MDW-80",
- "Embossed Audio MiniDisc" => "MiniDisc",
- _ => mediaTest.MediumTypeName
- };
+ if(mediaType == Localization.Core.Media_Type_Name_MMD_140A)
+ mediaTest.MediumTypeName = "MMD-140A";
+ else if(mediaType == Localization.Core.Media_Type_Name_MDW_60)
+ mediaTest.MediumTypeName = "MDW-60";
+ else if(mediaType == Localization.Core.Media_Type_Name_MDW_74)
+ mediaTest.MediumTypeName = "MDW-74";
+ else if(mediaType == Localization.Core.Media_Type_Name_MDW_80)
+ mediaTest.MediumTypeName = "MDW-80";
+ else if(mediaType == Localization.Core.Media_Type_Name_MiniDisc)
+ mediaTest.MediumTypeName = "MiniDisc";
mediaTest.Manufacturer = "SONY";
mediaTest.MediaIsRecognized = mediaIsRecognized;
@@ -1319,27 +1313,24 @@ sealed class DeviceReportCommand : Command
{
List mediaTests = new();
- while(AnsiConsole.Confirm("[italic]Do you have media that you can insert in the drive?[/]"))
+ while(AnsiConsole.Confirm($"[italic]{UI.Do_you_have_media_you_can_insert}[/]"))
{
- AaruConsole.
- WriteLine("Please insert it in the drive and press any key when it is ready.");
+ AaruConsole.WriteLine(UI.Please_insert_it_in_the_drive);
System.Console.ReadKey(true);
- mediumTypeName =
- AnsiConsole.
- Ask("Please write a description of the media type and press enter: ");
+ mediumTypeName = AnsiConsole.Ask(UI.Please_write_description_of_media_type);
mediumManufacturer =
- AnsiConsole.Ask("Please write the media manufacturer and press enter: ");
+ AnsiConsole.Ask(Localization.Core.Please_write_media_manufacturer);
- mediumModel = AnsiConsole.Ask("Please write the media model and press enter: ");
+ mediumModel = AnsiConsole.Ask(UI.Please_write_media_model);
bool mediaIsRecognized = true;
Core.Spectre.ProgressSingleSpinner(ctx =>
{
- ctx.AddTask("Waiting for drive to become ready").IsIndeterminate();
+ ctx.AddTask(Localization.Core.Waiting_for_drive_to_become_ready).IsIndeterminate();
sense = dev.ScsiTestUnitReady(out senseBuffer, dev.Timeout, out _);
if(!sense)
@@ -1407,21 +1398,25 @@ sealed class DeviceReportCommand : Command
if((mediaTest.SupportsReadLong == true || mediaTest.SupportsReadLong16 == true) &&
mediaTest.LongBlockSize == mediaTest.BlockSize &&
- AnsiConsole.
- Confirm("[italic]Drive supports SCSI READ LONG but I cannot find the correct size. Do you want me to try? (This can take hours)[/]"))
+ AnsiConsole.Confirm($"[italic]{Localization.Core.Try_to_find_SCSI_READ_LONG_size
+ }[/]"))
AnsiConsole.Progress().AutoClear(true).HideCompleted(true).
Columns(new TaskDescriptionColumn(), new ProgressBarColumn(),
new PercentageColumn()).Start(ctx =>
{
- ProgressTask task = ctx.AddTask("Trying to READ LONG...");
+ ProgressTask task =
+ ctx.AddTask(Localization.Core.Trying_to_READ_LONG);
+
task.MaxValue = ushort.MaxValue;
for(ushort i = (ushort)mediaTest.BlockSize;; i++)
{
task.Value = i;
- task.Description = $"Trying to READ LONG with a size of {i
- } bytes...";
+ task.Description =
+ string.
+ Format(Localization.Core.Trying_READ_LONG_with_size_0,
+ i);
sense = mediaTest.SupportsReadLong16 == true
? dev.ReadLong16(out buffer, out senseBuffer,
@@ -1449,7 +1444,7 @@ sealed class DeviceReportCommand : Command
{
Core.Spectre.ProgressSingleSpinner(ctx =>
{
- ctx.AddTask("Trying SCSI READ LONG (10)...").IsIndeterminate();
+ ctx.AddTask(Localization.Core.Trying_SCSI_READ_LONG_10).IsIndeterminate();
sense = dev.ReadLong10(out buffer, out senseBuffer, false, false, 0,
(ushort)mediaTest.LongBlockSize, dev.Timeout, out _);
@@ -1464,7 +1459,7 @@ sealed class DeviceReportCommand : Command
{
Core.Spectre.ProgressSingleSpinner(ctx =>
{
- ctx.AddTask("Trying SCSI READ LONG (16)...").IsIndeterminate();
+ ctx.AddTask(Localization.Core.Trying_SCSI_READ_LONG_16).IsIndeterminate();
sense = dev.ReadLong16(out buffer, out senseBuffer, false, 0,
(ushort)mediaTest.LongBlockSize, dev.Timeout, out _);
@@ -1495,21 +1490,25 @@ sealed class DeviceReportCommand : Command
if((report.SCSI.ReadCapabilities.SupportsReadLong == true ||
report.SCSI.ReadCapabilities.SupportsReadLong16 == true) &&
report.SCSI.ReadCapabilities.LongBlockSize == report.SCSI.ReadCapabilities.BlockSize)
- if(AnsiConsole.
- Confirm("[italic]Drive supports SCSI READ LONG but I cannot find the correct size. Do you want me to try? (This can take hours)[/]"))
+ if(AnsiConsole.Confirm($"[italic]{Localization.Core.Try_to_find_SCSI_READ_LONG_size
+ }[/]"))
AnsiConsole.Progress().AutoClear(true).HideCompleted(true).
Columns(new TaskDescriptionColumn(), new ProgressBarColumn(),
new PercentageColumn()).Start(ctx =>
{
- ProgressTask task = ctx.AddTask("Trying to READ LONG...");
+ ProgressTask task =
+ ctx.AddTask(Localization.Core.Trying_to_READ_LONG);
+
task.MaxValue = ushort.MaxValue;
for(ushort i = (ushort)report.SCSI.ReadCapabilities.BlockSize;; i++)
{
task.Value = i;
- task.Description = $"Trying to READ LONG with a size of {i
- } bytes...";
+ task.Description =
+ string.
+ Format(Localization.Core.Trying_READ_LONG_with_size_0,
+ i);
sense = report.SCSI.ReadCapabilities.SupportsReadLong16 == true
? dev.ReadLong16(out buffer, out senseBuffer, false,
@@ -1536,7 +1535,7 @@ sealed class DeviceReportCommand : Command
{
Core.Spectre.ProgressSingleSpinner(ctx =>
{
- ctx.AddTask("Trying SCSI READ LONG (10)...").IsIndeterminate();
+ ctx.AddTask(Localization.Core.Trying_SCSI_READ_LONG_10).IsIndeterminate();
sense = dev.ReadLong10(out buffer, out senseBuffer, false, false, 0,
(ushort)report.SCSI.ReadCapabilities.LongBlockSize,
@@ -1552,7 +1551,7 @@ sealed class DeviceReportCommand : Command
{
Core.Spectre.ProgressSingleSpinner(ctx =>
{
- ctx.AddTask("Trying SCSI READ LONG (16)...").IsIndeterminate();
+ ctx.AddTask(Localization.Core.Trying_SCSI_READ_LONG_16).IsIndeterminate();
sense = dev.ReadLong16(out buffer, out senseBuffer, false, 0,
report.SCSI.ReadCapabilities.LongBlockSize.Value,
@@ -1569,7 +1568,7 @@ sealed class DeviceReportCommand : Command
}
break;
- default: throw new NotSupportedException("Unknown device type.");
+ default: throw new NotSupportedException(Localization.Core.Unknown_device_type);
}
var jsonFs = new FileStream(jsonFile, FileMode.Create);
diff --git a/Aaru/Commands/Device/Info.cs b/Aaru/Commands/Device/Info.cs
index 0e476670c..2ba8cc092 100644
--- a/Aaru/Commands/Device/Info.cs
+++ b/Aaru/Commands/Device/Info.cs
@@ -51,6 +51,7 @@ using Aaru.Decoders.SCSI.MMC;
using Aaru.Decoders.SCSI.SSC;
using Aaru.Devices;
using Aaru.Helpers;
+using Aaru.Localization;
using Spectre.Console;
using Command = System.CommandLine.Command;
using DeviceInfo = Aaru.Core.Devices.Info.DeviceInfo;
@@ -61,17 +62,17 @@ namespace Aaru.Commands.Device;
sealed class DeviceInfoCommand : Command
{
- public DeviceInfoCommand() : base("info", "Gets information about a device.")
+ public DeviceInfoCommand() : base("info", UI.Device_Info_Command_Description)
{
Add(new Option(new[]
{
"--output-prefix", "-w"
- }, () => null, "Prefix for saving binary information from device."));
+ }, () => null, UI.Prefix_for_saving_binary_information));
AddArgument(new Argument
{
Arity = ArgumentArity.ExactlyOne,
- Description = "Device path",
+ Description = UI.Device_path,
Name = "device-path"
});
@@ -125,7 +126,7 @@ sealed class DeviceInfoCommand : Command
switch(dev)
{
case null:
- AaruConsole.ErrorWriteLine($"Could not open device, error {devErrno}.");
+ AaruConsole.ErrorWriteLine(string.Format(UI.Could_not_open_device_error_0, devErrno));
return (int)devErrno;
case Devices.Remote.Device remoteDev:
@@ -151,7 +152,7 @@ sealed class DeviceInfoCommand : Command
{
table = new Table
{
- Title = new TableTitle("[bold]USB device[/]")
+ Title = new TableTitle($"[bold]{UI.Title_USB_device}[/]")
};
table.HideHeaders();
@@ -160,13 +161,13 @@ sealed class DeviceInfoCommand : Command
table.Columns[0].RightAligned();
if(dev.UsbDescriptors != null)
- table.AddRow("Descriptor size", $"{dev.UsbDescriptors.Length}");
+ table.AddRow(UI.Title_Descriptor_size, $"{dev.UsbDescriptors.Length}");
- table.AddRow("Vendor ID", $"{dev.UsbVendorId:X4}");
- table.AddRow("Product ID", $"{dev.UsbProductId:X4}");
- table.AddRow("Manufacturer", $"{Markup.Escape(dev.UsbManufacturerString ?? "")}");
- table.AddRow("Product", $"{Markup.Escape(dev.UsbProductString ?? "")}");
- table.AddRow("Serial number", $"{Markup.Escape(dev.UsbSerialString ?? "")}");
+ table.AddRow(UI.Title_Vendor_ID, $"{dev.UsbVendorId:X4}");
+ table.AddRow(UI.Title_Product_ID, $"{dev.UsbProductId:X4}");
+ table.AddRow(UI.Title_Manufacturer, Markup.Escape(dev.UsbManufacturerString ?? ""));
+ table.AddRow(UI.Title_Product, Markup.Escape(dev.UsbProductString ?? ""));
+ table.AddRow(UI.Title_Serial_number, Markup.Escape(dev.UsbSerialString ?? ""));
AnsiConsole.Write(table);
AaruConsole.WriteLine();
@@ -176,7 +177,7 @@ sealed class DeviceInfoCommand : Command
{
table = new Table
{
- Title = new TableTitle("[bold]FireWire device[/]")
+ Title = new TableTitle($"[bold]{UI.Title_FireWire_device}[/]")
};
table.HideHeaders();
@@ -184,11 +185,11 @@ sealed class DeviceInfoCommand : Command
table.AddColumn("");
table.Columns[0].RightAligned();
- table.AddRow("Vendor ID", $"{dev.FireWireVendor:X6}");
- table.AddRow("Model ID", $"{dev.FireWireModel:X6}");
- table.AddRow("Vendor", $"{Markup.Escape(dev.FireWireVendorName ?? "")}");
- table.AddRow("Model", $"{Markup.Escape(dev.FireWireModelName ?? "")}");
- table.AddRow("GUID", $"{dev.FireWireGuid:X16}");
+ table.AddRow(UI.Title_Vendor_ID, $"{dev.FireWireVendor:X6}");
+ table.AddRow(UI.Title_Model_ID, $"{dev.FireWireModel:X6}");
+ table.AddRow(UI.Title_Vendor, $"{Markup.Escape(dev.FireWireVendorName ?? "")}");
+ table.AddRow(UI.Title_Model, $"{Markup.Escape(dev.FireWireModelName ?? "")}");
+ table.AddRow(UI.Title_GUID, $"{dev.FireWireGuid:X16}");
AnsiConsole.Write(table);
AaruConsole.WriteLine();
@@ -196,8 +197,8 @@ sealed class DeviceInfoCommand : Command
if(dev.IsPcmcia)
{
- AaruConsole.WriteLine("[bold]PCMCIA device[/]");
- AaruConsole.WriteLine("PCMCIA CIS is {0} bytes", dev.Cis.Length);
+ AaruConsole.WriteLine($"[bold]{UI.Title_PCMCIA_device}[/]");
+ AaruConsole.WriteLine(UI.PCMCIA_CIS_is_0_bytes, dev.Cis.Length);
Tuple[] tuples = CIS.GetTuples(dev.Cis);
if(tuples != null)
@@ -253,18 +254,18 @@ sealed class DeviceInfoCommand : Command
case TupleCodes.CISTPL_SPCL:
case TupleCodes.CISTPL_SWIL:
case TupleCodes.CISTPL_VERS_2:
- AaruConsole.DebugWriteLine("Device-Info command", "Found undecoded tuple ID {0}",
+ AaruConsole.DebugWriteLine("Device-Info command", UI.Invoke_Found_undecoded_tuple_ID_0,
tuple.Code);
break;
default:
- AaruConsole.DebugWriteLine("Device-Info command", "Found unknown tuple ID 0x{0:X2}",
+ AaruConsole.DebugWriteLine("Device-Info command", UI.Found_unknown_tuple_ID_0,
(byte)tuple.Code);
break;
}
else
- AaruConsole.DebugWriteLine("Device-Info command", "Could not get tuples");
+ AaruConsole.DebugWriteLine("Device-Info command", UI.Could_not_get_tuples);
}
var devInfo = new DeviceInfo(dev);
@@ -279,45 +280,45 @@ sealed class DeviceInfoCommand : Command
if(devInfo.AtaMcptError.HasValue)
{
- AaruConsole.WriteLine("Device supports the Media Card Pass Through Command Set");
+ AaruConsole.WriteLine(Localization.Core.Device_supports_MCPT_Command_Set);
switch(devInfo.AtaMcptError.Value.DeviceHead & 0x7)
{
case 0:
- AaruConsole.WriteLine("Device reports incorrect media card type");
+ AaruConsole.WriteLine(Localization.Core.Device_reports_incorrect_media_card_type);
break;
case 1:
- AaruConsole.WriteLine("Device contains a Secure Digital card");
+ AaruConsole.WriteLine(Localization.Core.Device_contains_SD_card);
break;
case 2:
- AaruConsole.WriteLine("Device contains a MultiMediaCard ");
+ AaruConsole.WriteLine(Localization.Core.Device_contains_MMC);
break;
case 3:
- AaruConsole.WriteLine("Device contains a Secure Digital I/O card");
+ AaruConsole.WriteLine(Localization.Core.Device_contains_SDIO_card);
break;
case 4:
- AaruConsole.WriteLine("Device contains a Smart Media card");
+ AaruConsole.WriteLine(Localization.Core.Device_contains_SM_card);
break;
default:
- AaruConsole.WriteLine("Device contains unknown media card type {0}",
+ AaruConsole.WriteLine(Localization.Core.Device_contains_unknown_media_card_type_0,
devInfo.AtaMcptError.Value.DeviceHead & 0x07);
break;
}
if((devInfo.AtaMcptError.Value.DeviceHead & 0x08) == 0x08)
- AaruConsole.WriteLine("Media card is write protected");
+ AaruConsole.WriteLine(Localization.Core.Media_card_is_write_protected);
ushort specificData = (ushort)((devInfo.AtaMcptError.Value.CylinderHigh * 0x100) +
devInfo.AtaMcptError.Value.CylinderLow);
if(specificData != 0)
- AaruConsole.WriteLine("Card specific data: 0x{0:X4}", specificData);
+ AaruConsole.WriteLine(Localization.Core.Card_specific_data_0, specificData);
}
if(decodedIdentify.HasValue)
@@ -343,7 +344,9 @@ sealed class DeviceInfoCommand : Command
MediaType mediaType = MediaTypeFromDevice.GetFromAta(dev.Manufacturer, dev.Model, removable,
dev.IsCompactFlash, dev.IsPcmcia, blocks);
- AaruConsole.WriteLine(removable ? "Media identified as {0}" : "Device identified as {0}", mediaType);
+ AaruConsole.
+ WriteLine(removable ? Localization.Core.Media_identified_as_0 : Localization.Core.Device_identified_as_0,
+ mediaType);
Statistics.AddMedia(mediaType, true);
}
@@ -360,7 +363,7 @@ sealed class DeviceInfoCommand : Command
if(devInfo.ScsiInquiry != null)
{
if(dev.Type != DeviceType.ATAPI)
- AaruConsole.WriteLine("[bold]SCSI device[/]");
+ AaruConsole.WriteLine($"[bold]{UI.Title_SCSI_device}[/]");
DataFile.WriteTo("Device-Info command", outputPrefix, "_scsi_inquiry.bin", "SCSI INQUIRY",
devInfo.ScsiInquiryData);
@@ -372,14 +375,15 @@ sealed class DeviceInfoCommand : Command
switch(page.Key)
{
case >= 0x01 and <= 0x7F:
- AaruConsole.WriteLine("ASCII Page {0:X2}h: {1}", page.Key,
+ AaruConsole.WriteLine(Localization.Core.ASCII_Page_0_1, page.Key,
EVPD.DecodeASCIIPage(page.Value));
DataFile.WriteTo("Device-Info command", outputPrefix, page.Value);
break;
case 0x80:
- AaruConsole.WriteLine("Unit Serial Number: {0}", EVPD.DecodePage80(page.Value));
+ AaruConsole.WriteLine(Localization.Core.Unit_Serial_Number_0,
+ EVPD.DecodePage80(page.Value));
DataFile.WriteTo("Device-Info command", outputPrefix, $"_scsi_evpd_{page.Key:X2}h.bin",
$"SCSI INQUIRY EVPD {page.Key:X2}h", page.Value);
@@ -393,7 +397,7 @@ sealed class DeviceInfoCommand : Command
break;
case 0x82:
- AaruConsole.WriteLine("ASCII implemented operating definitions: {0}",
+ AaruConsole.WriteLine(Localization.Core.ASCII_implemented_operating_definitions_0,
EVPD.DecodePage82(page.Value));
DataFile.WriteTo("Device-Info command", outputPrefix, $"_scsi_evpd_{page.Key:X2}h.bin",
@@ -443,7 +447,7 @@ sealed class DeviceInfoCommand : Command
break;
case 0xB1:
- AaruConsole.WriteLine("Manufacturer-assigned Serial Number: {0}",
+ AaruConsole.WriteLine(Localization.Core.Manufacturer_assigned_Serial_Number_0,
EVPD.DecodePageB1(page.Value));
DataFile.WriteTo("Device-Info command", outputPrefix, $"_scsi_evpd_{page.Key:X2}h.bin",
@@ -451,7 +455,7 @@ sealed class DeviceInfoCommand : Command
break;
case 0xB2:
- AaruConsole.WriteLine("TapeAlert Supported Flags Bitmap: 0x{0:X16}",
+ AaruConsole.WriteLine(Localization.Core.TapeAlert_Supported_Flags_Bitmap_0,
EVPD.DecodePageB2(page.Value));
DataFile.WriteTo("Device-Info command", outputPrefix, $"_scsi_evpd_{page.Key:X2}h.bin",
@@ -459,7 +463,7 @@ sealed class DeviceInfoCommand : Command
break;
case 0xB3:
- AaruConsole.WriteLine("Automation Device Serial Number: {0}",
+ AaruConsole.WriteLine(Localization.Core.Automation_Device_Serial_Number_0,
EVPD.DecodePageB3(page.Value));
DataFile.WriteTo("Device-Info command", outputPrefix, $"_scsi_evpd_{page.Key:X2}h.bin",
@@ -467,7 +471,7 @@ sealed class DeviceInfoCommand : Command
break;
case 0xB4:
- AaruConsole.WriteLine("Data Transfer Device Element Address: 0x{0}",
+ AaruConsole.WriteLine(Localization.Core.Data_Transfer_Device_Element_Address_0,
EVPD.DecodePageB4(page.Value));
DataFile.WriteTo("Device-Info command", outputPrefix, $"_scsi_evpd_{page.Key:X2}h.bin",
@@ -546,8 +550,8 @@ sealed class DeviceInfoCommand : Command
if(page.Key == 0x00)
continue;
- AaruConsole.DebugWriteLine("Device-Info command", "Found undecoded SCSI VPD page 0x{0:X2}",
- page.Key);
+ AaruConsole.DebugWriteLine("Device-Info command",
+ Localization.Core.Found_undecoded_SCSI_VPD_page_0, page.Key);
DataFile.WriteTo("Device-Info command", outputPrefix, $"_scsi_evpd_{page.Key:X2}h.bin",
$"SCSI INQUIRY EVPD {page.Key:X2}h", page.Value);
@@ -576,19 +580,20 @@ sealed class DeviceInfoCommand : Command
Features.SeparatedFeatures ftr = Features.Separate(devInfo.MmcConfiguration);
- AaruConsole.DebugWriteLine("Device-Info command", "GET CONFIGURATION length is {0} bytes",
+ AaruConsole.DebugWriteLine("Device-Info command", Localization.Core.GET_CONFIGURATION_length_is_0,
ftr.DataLength);
- AaruConsole.DebugWriteLine("Device-Info command", "GET CONFIGURATION current profile is {0:X4}h",
+ AaruConsole.DebugWriteLine("Device-Info command",
+ Localization.Core.GET_CONFIGURATION_current_profile_is_0,
ftr.CurrentProfile);
if(ftr.Descriptors != null)
{
- AaruConsole.WriteLine("[bold]SCSI MMC GET CONFIGURATION Features:[/]");
+ AaruConsole.WriteLine($"[bold]{UI.Title_SCSI_MMC_GET_CONFIGURATION_Features}[/]");
foreach(Features.FeatureDescriptor desc in ftr.Descriptors)
{
- AaruConsole.DebugWriteLine("Device-Info command", "Feature {0:X4}h", desc.Code);
+ AaruConsole.DebugWriteLine("Device-Info command", Localization.Core.Feature_0, desc.Code);
switch(desc.Code)
{
@@ -825,7 +830,7 @@ sealed class DeviceInfoCommand : Command
break;
default:
- AaruConsole.WriteLine("Found unknown feature code {0:X4}h", desc.Code);
+ AaruConsole.WriteLine(Localization.Core.Found_unknown_feature_code_0, desc.Code);
break;
}
@@ -833,7 +838,7 @@ sealed class DeviceInfoCommand : Command
}
else
AaruConsole.DebugWriteLine("Device-Info command",
- "GET CONFIGURATION returned no feature descriptors");
+ Localization.Core.GET_CONFIGURATION_returned_no_feature_descriptors);
}
if(devInfo.RPC != null)
@@ -844,173 +849,165 @@ sealed class DeviceInfoCommand : Command
DataFile.WriteTo("Device-Info command", outputPrefix, "_plextor_eeprom.bin", "PLEXTOR READ EEPROM",
devInfo.PlextorFeatures.Eeprom);
- AaruConsole.WriteLine("Drive has loaded a total of {0} discs", devInfo.PlextorFeatures.Discs);
+ AaruConsole.WriteLine(Localization.Core.Drive_has_loaded_a_total_of_0_discs,
+ devInfo.PlextorFeatures.Discs);
- AaruConsole.WriteLine("Drive has spent {0} hours, {1} minutes and {2} seconds reading CDs",
+ AaruConsole.WriteLine(Localization.Core.Drive_has_spent_0_hours_1_minutes_and_2_seconds_reading_CDs,
devInfo.PlextorFeatures.CdReadTime / 3600,
devInfo.PlextorFeatures.CdReadTime / 60 % 60,
devInfo.PlextorFeatures.CdReadTime % 60);
- AaruConsole.WriteLine("Drive has spent {0} hours, {1} minutes and {2} seconds writing CDs",
+ AaruConsole.WriteLine(Localization.Core.Drive_has_spent_0_hours_1_minutes_and_2_seconds_writing_CDs,
devInfo.PlextorFeatures.CdWriteTime / 3600,
devInfo.PlextorFeatures.CdWriteTime / 60 % 60,
devInfo.PlextorFeatures.CdWriteTime % 60);
if(devInfo.PlextorFeatures.IsDvd)
{
- AaruConsole.WriteLine("Drive has spent {0} hours, {1} minutes and {2} seconds reading DVDs",
- devInfo.PlextorFeatures.DvdReadTime / 3600,
- devInfo.PlextorFeatures.DvdReadTime / 60 % 60,
- devInfo.PlextorFeatures.DvdReadTime % 60);
+ AaruConsole.
+ WriteLine(Localization.Core.Drive_has_spent_0_hours_1_minutes_and_2_seconds_reading_DVDs,
+ devInfo.PlextorFeatures.DvdReadTime / 3600,
+ devInfo.PlextorFeatures.DvdReadTime / 60 % 60,
+ devInfo.PlextorFeatures.DvdReadTime % 60);
- AaruConsole.WriteLine("Drive has spent {0} hours, {1} minutes and {2} seconds writing DVDs",
- devInfo.PlextorFeatures.DvdWriteTime / 3600,
- devInfo.PlextorFeatures.DvdWriteTime / 60 % 60,
- devInfo.PlextorFeatures.DvdWriteTime % 60);
+ AaruConsole.
+ WriteLine(Localization.Core.Drive_has_spent_0_hours_1_minutes_and_2_seconds_writing_DVDs,
+ devInfo.PlextorFeatures.DvdWriteTime / 3600,
+ devInfo.PlextorFeatures.DvdWriteTime / 60 % 60,
+ devInfo.PlextorFeatures.DvdWriteTime % 60);
}
}
if(devInfo.PlextorFeatures?.PoweRec == true)
{
- AaruConsole.Write("Drive supports PoweRec");
-
if(devInfo.PlextorFeatures.PoweRecEnabled)
{
- AaruConsole.Write(", has it enabled");
-
if(devInfo.PlextorFeatures.PoweRecRecommendedSpeed > 0)
- AaruConsole.WriteLine(" and recommends {0} Kb/sec.",
+ AaruConsole.WriteLine(Localization.Core.Drive_supports_PoweRec_is_enabled_and_recommends_0,
devInfo.PlextorFeatures.PoweRecRecommendedSpeed);
else
- AaruConsole.WriteLine(".");
+ AaruConsole.WriteLine(Localization.Core.Drive_supports_PoweRec_and_has_it_enabled);
if(devInfo.PlextorFeatures.PoweRecSelected > 0)
AaruConsole.
- WriteLine("Selected PoweRec speed for currently inserted media is {0} Kb/sec ({1}x)",
+ WriteLine(Localization.Core.Selected_PoweRec_speed_for_currently_inserted_media_is_0_1,
devInfo.PlextorFeatures.PoweRecSelected,
devInfo.PlextorFeatures.PoweRecSelected / 177);
if(devInfo.PlextorFeatures.PoweRecMax > 0)
- AaruConsole.WriteLine("Maximum PoweRec speed for currently inserted media is {0} Kb/sec ({1}x)",
- devInfo.PlextorFeatures.PoweRecMax,
- devInfo.PlextorFeatures.PoweRecMax / 177);
+ AaruConsole.
+ WriteLine(Localization.Core.Maximum_PoweRec_speed_for_currently_inserted_media_is_0_1,
+ devInfo.PlextorFeatures.PoweRecMax, devInfo.PlextorFeatures.PoweRecMax / 177);
if(devInfo.PlextorFeatures.PoweRecLast > 0)
- AaruConsole.WriteLine("Last used PoweRec was {0} Kb/sec ({1}x)",
+ AaruConsole.WriteLine(Localization.Core.Last_used_PoweRec_was_0_1,
devInfo.PlextorFeatures.PoweRecLast,
devInfo.PlextorFeatures.PoweRecLast / 177);
}
else
- {
- AaruConsole.WriteLine(".");
- AaruConsole.WriteLine("PoweRec is disabled");
- }
+ AaruConsole.WriteLine(Localization.Core.Drive_supports_PoweRec_and_has_it_disabled);
}
if(devInfo.PlextorFeatures?.SilentMode == true)
{
- AaruConsole.WriteLine("Drive supports Plextor SilentMode");
+ AaruConsole.WriteLine(Localization.Core.Drive_supports_Plextor_SilentMode);
if(devInfo.PlextorFeatures.SilentModeEnabled)
{
- AaruConsole.WriteLine("Plextor SilentMode is enabled:");
+ AaruConsole.WriteLine(Localization.Core.Plextor_SilentMode_is_enabled);
- AaruConsole.WriteLine(devInfo.PlextorFeatures.AccessTimeLimit == 2 ? "\tAccess time is slow"
- : "\tAccess time is fast");
+ AaruConsole.WriteLine("\t" + (devInfo.PlextorFeatures.AccessTimeLimit == 2
+ ? Localization.Core.Access_time_is_slow
+ : Localization.Core.Access_time_is_fast));
if(devInfo.PlextorFeatures.CdReadSpeedLimit > 0)
- AaruConsole.WriteLine("\tCD read speed limited to {0}x",
+ AaruConsole.WriteLine("\t" + Localization.Core.CD_read_speed_limited_to_0,
devInfo.PlextorFeatures.CdReadSpeedLimit);
if(devInfo.PlextorFeatures.DvdReadSpeedLimit > 0 &&
devInfo.PlextorFeatures.IsDvd)
- AaruConsole.WriteLine("\tDVD read speed limited to {0}x",
+ AaruConsole.WriteLine("\t" + Localization.Core.DVD_read_speed_limited_to_0,
devInfo.PlextorFeatures.DvdReadSpeedLimit);
if(devInfo.PlextorFeatures.CdWriteSpeedLimit > 0)
- AaruConsole.WriteLine("\tCD write speed limited to {0}x",
+ AaruConsole.WriteLine("\t" + Localization.Core.CD_write_speed_limited_to_0,
devInfo.PlextorFeatures.CdWriteSpeedLimit);
}
}
if(devInfo.PlextorFeatures?.GigaRec == true)
- AaruConsole.WriteLine("Drive supports Plextor GigaRec");
+ AaruConsole.WriteLine(Localization.Core.Drive_supports_Plextor_GigaRec);
if(devInfo.PlextorFeatures?.SecuRec == true)
- AaruConsole.WriteLine("Drive supports Plextor SecuRec");
+ AaruConsole.WriteLine(Localization.Core.Drive_supports_Plextor_SecuRec);
if(devInfo.PlextorFeatures?.SpeedRead == true)
- {
- AaruConsole.Write("Drive supports Plextor SpeedRead");
-
- if(devInfo.PlextorFeatures.SpeedReadEnabled)
- AaruConsole.WriteLine("and has it enabled");
- else
- AaruConsole.WriteLine();
- }
+ AaruConsole.WriteLine(devInfo.PlextorFeatures.SpeedReadEnabled
+ ? Localization.Core.Drive_supports_Plextor_SpeedRead_and_has_it_enabled
+ : Localization.Core.Drive_supports_Plextor_SpeedRead);
if(devInfo.PlextorFeatures?.Hiding == true)
{
- AaruConsole.WriteLine("Drive supports hiding CD-Rs and forcing single session");
+ AaruConsole.WriteLine(Localization.Core.Drive_supports_hiding_CDRs_and_forcing_single_session);
if(devInfo.PlextorFeatures.HidesRecordables)
- AaruConsole.WriteLine("Drive currently hides CD-Rs");
+ AaruConsole.WriteLine(Localization.Core.Drive_currently_hides_CDRs);
if(devInfo.PlextorFeatures.HidesSessions)
- AaruConsole.WriteLine("Drive currently forces single session");
+ AaruConsole.WriteLine(Localization.Core.Drive_currently_forces_single_session);
}
if(devInfo.PlextorFeatures?.VariRec == true)
- AaruConsole.WriteLine("Drive supports Plextor VariRec");
+ AaruConsole.WriteLine(Localization.Core.Drive_supports_Plextor_VariRec);
if(devInfo.PlextorFeatures?.IsDvd == true)
{
if(devInfo.PlextorFeatures.VariRecDvd)
- AaruConsole.WriteLine("Drive supports Plextor VariRec for DVDs");
+ AaruConsole.WriteLine(Localization.Core.Drive_supports_Plextor_VariRec_for_DVDs);
if(devInfo.PlextorFeatures.BitSetting)
- AaruConsole.WriteLine("Drive supports bitsetting DVD+R book type");
+ AaruConsole.WriteLine(Localization.Core.Drive_supports_bitsetting_DVD_R_book_type);
if(devInfo.PlextorFeatures.BitSettingDl)
- AaruConsole.WriteLine("Drive supports bitsetting DVD+R DL book type");
+ AaruConsole.WriteLine(Localization.Core.Drive_supports_bitsetting_DVD_R_DL_book_type);
if(devInfo.PlextorFeatures.DvdPlusWriteTest)
- AaruConsole.WriteLine("Drive supports test writing DVD+");
+ AaruConsole.WriteLine(Localization.Core.Drive_supports_test_writing_DVD_Plus);
}
if(devInfo.ScsiInquiry.Value.KreonPresent)
{
- AaruConsole.WriteLine("[bold]Drive has kreon firmware:[/]");
+ AaruConsole.WriteLine($"[bold]{UI.Title_Drive_has_kreon_firmware}[/]");
if(devInfo.KreonFeatures.HasFlag(KreonFeatures.ChallengeResponse))
- AaruConsole.WriteLine("\tCan do challenge/response with Xbox discs");
+ AaruConsole.WriteLine("\t" + Localization.Core.Can_do_challenge_response_with_Xbox_discs);
if(devInfo.KreonFeatures.HasFlag(KreonFeatures.DecryptSs))
- AaruConsole.WriteLine("\tCan read and decrypt SS from Xbox discs");
+ AaruConsole.WriteLine("\t" + Localization.Core.Can_read_and_decrypt_SS_from_Xbox_discs);
if(devInfo.KreonFeatures.HasFlag(KreonFeatures.XtremeUnlock))
- AaruConsole.WriteLine("\tCan set xtreme unlock state with Xbox discs");
+ AaruConsole.WriteLine("\t" + Localization.Core.Can_set_xtreme_unlock_state_with_Xbox_discs);
if(devInfo.KreonFeatures.HasFlag(KreonFeatures.WxripperUnlock))
- AaruConsole.WriteLine("\tCan set wxripper unlock state with Xbox discs");
+ AaruConsole.WriteLine("\t" + Localization.Core.Can_set_wxripper_unlock_state_with_Xbox_discs);
if(devInfo.KreonFeatures.HasFlag(KreonFeatures.ChallengeResponse360))
- AaruConsole.WriteLine("\tCan do challenge/response with Xbox 360 discs");
+ AaruConsole.WriteLine("\t" + Localization.Core.Can_do_challenge_response_with_Xbox_360_discs);
if(devInfo.KreonFeatures.HasFlag(KreonFeatures.DecryptSs360))
- AaruConsole.WriteLine("\tCan read and decrypt SS from Xbox 360 discs");
+ AaruConsole.WriteLine("\t" + Localization.Core.Can_read_and_decrypt_SS_from_Xbox_360_discs);
if(devInfo.KreonFeatures.HasFlag(KreonFeatures.XtremeUnlock360))
- AaruConsole.WriteLine("\tCan set xtreme unlock state with Xbox 360 discs");
+ AaruConsole.WriteLine("\t" + Localization.Core.Can_set_xtreme_unlock_state_with_Xbox_360_discs);
if(devInfo.KreonFeatures.HasFlag(KreonFeatures.WxripperUnlock360))
- AaruConsole.WriteLine("\tCan set wxripper unlock state with Xbox 360 discs");
+ AaruConsole.WriteLine("\t" + Localization.Core.Can_set_wxripper_unlock_state_with_Xbox_360_discs);
if(devInfo.KreonFeatures.HasFlag(KreonFeatures.Lock))
- AaruConsole.WriteLine("\tCan set locked state");
+ AaruConsole.WriteLine("\t" + Localization.Core.Can_set_Kreon_locked_state);
if(devInfo.KreonFeatures.HasFlag(KreonFeatures.ErrorSkipping))
- AaruConsole.WriteLine("\tCan skip read errors");
+ AaruConsole.WriteLine("\t" + Localization.Core.Kreon_Can_skip_read_errors);
}
if(devInfo.BlockLimits != null)
@@ -1018,7 +1015,7 @@ sealed class DeviceInfoCommand : Command
DataFile.WriteTo("Device-Info command", outputPrefix, "_ssc_readblocklimits.bin",
"SSC READ BLOCK LIMITS", devInfo.BlockLimits);
- AaruConsole.WriteLine("Block limits for device:");
+ AaruConsole.WriteLine(Localization.Core.Block_limits_for_device);
AaruConsole.WriteLine(BlockLimits.Prettify(devInfo.BlockLimits));
}
diff --git a/Aaru/Commands/Device/List.cs b/Aaru/Commands/Device/List.cs
index 4ee61cc1e..1b480f495 100644
--- a/Aaru/Commands/Device/List.cs
+++ b/Aaru/Commands/Device/List.cs
@@ -37,6 +37,7 @@ using Aaru.CommonTypes.Enums;
using Aaru.Console;
using Aaru.Core;
using Aaru.Devices;
+using Aaru.Localization;
using JetBrains.Annotations;
using Spectre.Console;
@@ -44,12 +45,12 @@ namespace Aaru.Commands.Device;
sealed class ListDevicesCommand : Command
{
- public ListDevicesCommand() : base("list", "Lists all connected devices.")
+ public ListDevicesCommand() : base("list", UI.Device_List_Command_Description)
{
AddArgument(new Argument
{
Arity = ArgumentArity.ZeroOrOne,
- Description = "aaruremote host",
+ Description = UI.aaruremote_host,
Name = "aaru-remote-host"
});
@@ -101,16 +102,16 @@ sealed class ListDevicesCommand : Command
if(devices == null ||
devices.Length == 0)
- AaruConsole.WriteLine("No known devices attached.");
+ AaruConsole.WriteLine(UI.No_known_devices_attached);
else
{
Table table = new();
- table.AddColumn("Path");
- table.AddColumn("Vendor");
- table.AddColumn("Model");
- table.AddColumn("Serial");
- table.AddColumn("Bus");
- table.AddColumn("Supported?");
+ table.AddColumn(UI.Path);
+ table.AddColumn(UI.Title_Vendor);
+ table.AddColumn(UI.Title_Model);
+ table.AddColumn(UI.Serial);
+ table.AddColumn(UI.Title_Bus);
+ table.AddColumn(UI.Supported_Question);
foreach(DeviceInfo dev in devices.OrderBy(d => d.Path))
table.AddRow(Markup.Escape(dev.Path ?? ""), Markup.Escape(dev.Vendor ?? ""),
diff --git a/Aaru/Commands/Filesystem/ExtractFiles.cs b/Aaru/Commands/Filesystem/ExtractFiles.cs
index b352ba1ce..7ec247644 100644
--- a/Aaru/Commands/Filesystem/ExtractFiles.cs
+++ b/Aaru/Commands/Filesystem/ExtractFiles.cs
@@ -43,6 +43,7 @@ using Aaru.CommonTypes.Interfaces;
using Aaru.CommonTypes.Structs;
using Aaru.Console;
using Aaru.Core;
+using Aaru.Localization;
using JetBrains.Annotations;
using Spectre.Console;
using FileAttributes = Aaru.CommonTypes.Structs.FileAttributes;
@@ -53,39 +54,39 @@ sealed class ExtractFilesCommand : Command
{
const long BUFFER_SIZE = 16777216;
- public ExtractFilesCommand() : base("extract", "Extracts all files in disc image.")
+ public ExtractFilesCommand() : base("extract", UI.Filesystem_Extract_Command_Description)
{
Add(new Option(new[]
{
"--encoding", "-e"
- }, () => null, "Name of character encoding to use."));
+ }, () => null, UI.Name_of_character_encoding_to_use));
Add(new Option(new[]
{
"--options", "-O"
- }, () => null, "Comma separated name=value pairs of options to pass to filesystem plugin."));
+ }, () => null, UI.Comma_separated_name_value_pairs_of_filesystem_options));
Add(new Option(new[]
{
"--xattrs", "-x"
- }, () => false, "Extract extended attributes if present."));
+ }, () => false, UI.Extract_extended_attributes_if_present));
Add(new Option(new[]
{
"--namespace", "-n"
- }, () => null, "Namespace to use for filenames."));
+ }, () => null, UI.Namespace_to_use_for_filenames));
AddArgument(new Argument
{
Arity = ArgumentArity.ExactlyOne,
- Description = "Disc image path",
+ Description = UI.Disc_image_path,
Name = "image-path"
});
AddArgument(new Argument
{
Arity = ArgumentArity.ExactlyOne,
- Description = "Directory where extracted files will be created. Will abort if it exists",
+ Description = UI.Directory_where_extracted_files_will_be_created,
Name = "output-dir"
});
@@ -137,12 +138,12 @@ sealed class ExtractFilesCommand : Command
Core.Spectre.ProgressSingleSpinner(ctx =>
{
- ctx.AddTask("Identifying file filter...").IsIndeterminate();
+ ctx.AddTask(UI.Identifying_file_filter).IsIndeterminate();
inputFilter = filtersList.GetFilter(imagePath);
});
Dictionary parsedOptions = Core.Options.Parse(options);
- AaruConsole.DebugWriteLine("Extract-Files command", "Parsed options:");
+ AaruConsole.DebugWriteLine("Extract-Files command", UI.Parsed_options);
foreach(KeyValuePair parsedOption in parsedOptions)
AaruConsole.DebugWriteLine("Extract-Files command", "{0} = {1}", parsedOption.Key, parsedOption.Value);
@@ -151,7 +152,7 @@ sealed class ExtractFilesCommand : Command
if(inputFilter == null)
{
- AaruConsole.ErrorWriteLine("Cannot open specified file.");
+ AaruConsole.ErrorWriteLine(UI.Cannot_open_specified_file);
return (int)ErrorNumber.CannotOpenFile;
}
@@ -164,11 +165,11 @@ sealed class ExtractFilesCommand : Command
encodingClass = Claunia.Encoding.Encoding.GetEncoding(encoding);
if(verbose)
- AaruConsole.VerboseWriteLine("Using encoding for {0}.", encodingClass.EncodingName);
+ AaruConsole.VerboseWriteLine(UI.encoding_for_0, encodingClass.EncodingName);
}
catch(ArgumentException)
{
- AaruConsole.ErrorWriteLine("Specified encoding is not supported.");
+ AaruConsole.ErrorWriteLine(UI.Specified_encoding_is_not_supported);
return (int)ErrorNumber.EncodingUnknown;
}
@@ -182,33 +183,33 @@ sealed class ExtractFilesCommand : Command
Core.Spectre.ProgressSingleSpinner(ctx =>
{
- ctx.AddTask("Identifying image format...").IsIndeterminate();
+ ctx.AddTask(UI.Identifying_image_format).IsIndeterminate();
baseImage = ImageFormat.Detect(inputFilter);
imageFormat = baseImage as IMediaImage;
});
if(baseImage == null)
{
- AaruConsole.WriteLine("Image format not identified, not proceeding with analysis.");
+ AaruConsole.WriteLine(UI.Image_format_not_identified_not_proceeding_with_file_extraction);
return (int)ErrorNumber.UnrecognizedFormat;
}
if(imageFormat == null)
{
- AaruConsole.WriteLine("Command not supported for this image type.");
+ AaruConsole.WriteLine(UI.Command_not_supported_for_this_image_type);
return (int)ErrorNumber.InvalidArgument;
}
if(verbose)
- AaruConsole.VerboseWriteLine("Image format identified by {0} ({1}).", imageFormat.Name, imageFormat.Id);
+ AaruConsole.VerboseWriteLine(UI.Image_format_identified_by_0_1, imageFormat.Name, imageFormat.Id);
else
- AaruConsole.WriteLine("Image format identified by {0}.", imageFormat.Name);
+ AaruConsole.WriteLine(UI.Image_format_identified_by_0, imageFormat.Name);
if(outputDir == null)
{
- AaruConsole.WriteLine("Output directory missing.");
+ AaruConsole.WriteLine(UI.Output_directory_missing);
return (int)ErrorNumber.MissingArgument;
}
@@ -216,7 +217,7 @@ sealed class ExtractFilesCommand : Command
if(Directory.Exists(outputDir) ||
File.Exists(outputDir))
{
- AaruConsole.ErrorWriteLine("Destination exists, aborting.");
+ AaruConsole.ErrorWriteLine(UI.Destination_exists_aborting);
return (int)ErrorNumber.FileExists;
}
@@ -229,26 +230,26 @@ sealed class ExtractFilesCommand : Command
Core.Spectre.ProgressSingleSpinner(ctx =>
{
- ctx.AddTask("Opening image file...").IsIndeterminate();
+ ctx.AddTask(UI.Invoke_Opening_image_file).IsIndeterminate();
opened = imageFormat.Open(inputFilter);
});
if(opened != ErrorNumber.NoError)
{
- AaruConsole.WriteLine("Unable to open image format");
- AaruConsole.WriteLine("Error {0}", opened);
+ AaruConsole.WriteLine(UI.Unable_to_open_image_format);
+ AaruConsole.WriteLine(UI.Error_0, opened);
return (int)opened;
}
- AaruConsole.DebugWriteLine("Extract-Files command", "Correctly opened image file.");
+ AaruConsole.DebugWriteLine("Extract-Files command", UI.Correctly_opened_image_file);
- AaruConsole.DebugWriteLine("Extract-Files command", "Image without headers is {0} bytes.",
+ AaruConsole.DebugWriteLine("Extract-Files command", UI.Image_without_headers_is_0_bytes,
imageFormat.Info.ImageSize);
- AaruConsole.DebugWriteLine("Extract-Files command", "Image has {0} sectors.", imageFormat.Info.Sectors);
+ AaruConsole.DebugWriteLine("Extract-Files command", UI.Image_has_0_sectors, imageFormat.Info.Sectors);
- AaruConsole.DebugWriteLine("Extract-Files command", "Image identifies disk type as {0}.",
+ AaruConsole.DebugWriteLine("Extract-Files command", UI.Image_identifies_disk_type_as_0,
imageFormat.Info.MediaType);
Statistics.AddMediaFormat(imageFormat.Format);
@@ -257,8 +258,8 @@ sealed class ExtractFilesCommand : Command
}
catch(Exception ex)
{
- AaruConsole.ErrorWriteLine("Unable to open image format");
- AaruConsole.ErrorWriteLine("Error: {0}", ex.Message);
+ AaruConsole.ErrorWriteLine(UI.Unable_to_open_image_format);
+ AaruConsole.ErrorWriteLine(UI.Error_0, ex.Message);
return (int)ErrorNumber.CannotOpenFormat;
}
@@ -267,7 +268,7 @@ sealed class ExtractFilesCommand : Command
Core.Spectre.ProgressSingleSpinner(ctx =>
{
- ctx.AddTask("Enumerating partitions...").IsIndeterminate();
+ ctx.AddTask(UI.Enumerating_partitions).IsIndeterminate();
partitions = Core.Partitions.GetAll(imageFormat);
});
@@ -275,11 +276,11 @@ sealed class ExtractFilesCommand : Command
if(partitions.Count == 0)
{
- AaruConsole.DebugWriteLine("Ls command", "No partitions found");
+ AaruConsole.DebugWriteLine("Ls command", UI.No_partitions_found);
partitions.Add(new Partition
{
- Description = "Whole device",
+ Description = Localization.Core.Whole_device,
Length = imageFormat.Info.Sectors,
Offset = 0,
Size = imageFormat.Info.SectorSize * imageFormat.Info.Sectors,
@@ -288,23 +289,23 @@ sealed class ExtractFilesCommand : Command
});
}
- AaruConsole.WriteLine("{0} partitions found.", partitions.Count);
+ AaruConsole.WriteLine(UI._0_partitions_found, partitions.Count);
for(int i = 0; i < partitions.Count; i++)
{
AaruConsole.WriteLine();
- AaruConsole.WriteLine("[bold]Partition {0}:[/]", partitions[i].Sequence);
+ AaruConsole.WriteLine($"[bold]{string.Format(UI.Partition_0, partitions[i].Sequence)}[/]");
List idPlugins = null;
Core.Spectre.ProgressSingleSpinner(ctx =>
{
- ctx.AddTask("Identifying filesystems on partition...").IsIndeterminate();
+ ctx.AddTask(UI.Identifying_filesystems_on_partition).IsIndeterminate();
Core.Filesystems.Identify(imageFormat, out idPlugins, partitions[i]);
});
if(idPlugins.Count == 0)
- AaruConsole.WriteLine("Filesystem not identified");
+ AaruConsole.WriteLine(UI.Filesystem_not_identified);
else
{
IReadOnlyFilesystem plugin;
@@ -312,12 +313,13 @@ sealed class ExtractFilesCommand : Command
if(idPlugins.Count > 1)
{
- AaruConsole.WriteLine($"[italic]Identified by {idPlugins.Count} plugins[/]");
+ AaruConsole.WriteLine($"[italic]{string.Format(UI.Identified_by_0_plugins, idPlugins.Count)
+ }[/]");
foreach(string pluginName in idPlugins)
if(plugins.ReadOnlyFilesystems.TryGetValue(pluginName, out plugin))
{
- AaruConsole.WriteLine($"[bold]As identified by {plugin.Name}.[/]");
+ AaruConsole.WriteLine($"[bold]{string.Format(UI.As_identified_by_0, plugin.Name)}[/]");
var fs = (IReadOnlyFilesystem)plugin.GetType().GetConstructor(Type.EmptyTypes)?.
Invoke(Array.Empty