diff --git a/.editorconfig b/.editorconfig index 7586c80d3..846f028a1 100644 --- a/.editorconfig +++ b/.editorconfig @@ -71,7 +71,7 @@ indent_preprocessor_other = usual_indent indent_switch_labels = true indent_type_constraints = true stick_comment = false -alignment_tab_fill_style = use_spaces +alignment_fill_style = use_spaces align_multiline_parameter = true align_multiline_extends_list = true align_linq_query = true @@ -475,7 +475,7 @@ csharp_indent_preprocessor_other = usual_indent csharp_indent_switch_labels = true csharp_indent_type_constraints = true csharp_stick_comment = false -csharp_alignment_tab_fill_style = use_spaces +csharp_alignment_fill_style = use_spaces csharp_align_multiline_parameter = true csharp_align_multiline_extends_list = true csharp_align_linq_query = true diff --git a/ATA/Identify.cs b/ATA/Identify.cs index 42da0134b..d69f4a1f0 100644 --- a/ATA/Identify.cs +++ b/ATA/Identify.cs @@ -34,6 +34,7 @@ using System; using System.Diagnostics.CodeAnalysis; using System.Text; using Aaru.CommonTypes.Structs.Devices.SCSI; +using Aaru.Localization; namespace Aaru.Decoders.ATA; @@ -84,23 +85,23 @@ public static class Identify cfa = true; if(atapi) - sb.AppendLine("ATAPI device"); + sb.AppendLine(Localization.ATAPI_device); else if(cfa) - sb.AppendLine("CompactFlash device"); + sb.AppendLine(Localization.CompactFlash_device); else - sb.AppendLine("ATA device"); + sb.AppendLine(Localization.ATA_device); if(ATAID.Model != "") - sb.AppendFormat("Model: {0}", ATAID.Model).AppendLine(); + sb.AppendFormat(Core.Model_0, ATAID.Model).AppendLine(); if(ATAID.FirmwareRevision != "") - sb.AppendFormat("Firmware revision: {0}", ATAID.FirmwareRevision).AppendLine(); + sb.AppendFormat(Core.Firmware_revision_0, ATAID.FirmwareRevision).AppendLine(); if(ATAID.SerialNumber != "") - sb.AppendFormat("Serial #: {0}", ATAID.SerialNumber).AppendLine(); + sb.AppendFormat(Core.Serial_number_0, ATAID.SerialNumber).AppendLine(); if(ATAID.AdditionalPID != "") - sb.AppendFormat("Additional product ID: {0}", ATAID.AdditionalPID).AppendLine(); + sb.AppendFormat(Localization.Additional_product_ID_0, ATAID.AdditionalPID).AppendLine(); if(ATAID.CommandSet3.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.CommandSetBit3.MustBeSet) && !ATAID.CommandSet3.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.CommandSetBit3.MustBeClear)) @@ -108,14 +109,14 @@ public static class Identify if(ATAID.EnabledCommandSet3.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.CommandSetBit3.MediaSerial)) { if(ATAID.MediaManufacturer != "") - sb.AppendFormat("Media manufacturer: {0}", ATAID.MediaManufacturer).AppendLine(); + sb.AppendFormat(Core.Media_manufacturer_0, ATAID.MediaManufacturer).AppendLine(); if(ATAID.MediaSerial != "") - sb.AppendFormat("Media serial #: {0}", ATAID.MediaSerial).AppendLine(); + sb.AppendFormat(Core.Media_serial_number_0, ATAID.MediaSerial).AppendLine(); } if(ATAID.EnabledCommandSet3.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.CommandSetBit3.WWN)) - sb.AppendFormat("World Wide Name: {0:X16}", ATAID.WWN).AppendLine(); + sb.AppendFormat(Localization.World_Wide_Name_0, ATAID.WWN).AppendLine(); } bool ata1 = false, ata2 = false, ata3 = false, ata4 = false, ata5 = false, ata6 = false, ata7 = false, @@ -170,7 +171,7 @@ public static class Identify int maxatalevel = 0; int minatalevel = 255; - sb.Append("Supported ATA versions: "); + sb.Append(Localization.Supported_ATA_versions); if(ata1) { @@ -271,202 +272,202 @@ public static class Identify sb.AppendLine(); - sb.Append("Maximum ATA revision supported: "); + sb.Append(Localization.Maximum_ATA_revision_supported); if(maxatalevel >= 3) switch(ATAID.MinorVersion) { case 0x0000: case 0xFFFF: - sb.AppendLine("Minor ATA version not specified"); + sb.AppendLine(Localization.Minor_ATA_version_not_specified); break; case 0x0001: - sb.AppendLine("ATA (ATA-1) X3T9.2 781D prior to revision 4"); + sb.AppendLine(Localization.ATA_ATA_1_X3T9_2_781D_prior_to_revision_4); break; case 0x0002: - sb.AppendLine("ATA-1 published, ANSI X3.221-1994"); + sb.AppendLine(Localization.ATA_1_published_ANSI_X3_221_1994); break; case 0x0003: - sb.AppendLine("ATA (ATA-1) X3T9.2 781D revision 4"); + sb.AppendLine(Localization.ATA_ATA_1_X3T9_2_781D_revision_4); break; case 0x0004: - sb.AppendLine("ATA-2 published, ANSI X3.279-1996"); + sb.AppendLine(Localization.ATA_2_published_ANSI_X3_279_1996); break; case 0x0005: - sb.AppendLine("ATA-2 X3T10 948D prior to revision 2k"); + sb.AppendLine(Localization.ATA_2_X3T10_948D_prior_to_revision_2k); break; case 0x0006: - sb.AppendLine("ATA-3 X3T10 2008D revision 1"); + sb.AppendLine(Localization.ATA_3_X3T10_2008D_revision_1); break; case 0x0007: - sb.AppendLine("ATA-2 X3T10 948D revision 2k"); + sb.AppendLine(Localization.ATA_2_X3T10_948D_revision_2k); break; case 0x0008: - sb.AppendLine("ATA-3 X3T10 2008D revision 0"); + sb.AppendLine(Localization.ATA_3_X3T10_2008D_revision_0); break; case 0x0009: - sb.AppendLine("ATA-2 X3T10 948D revision 3"); + sb.AppendLine(Localization.ATA_2_X3T10_948D_revision_3); break; case 0x000A: - sb.AppendLine("ATA-3 published, ANSI X3.298-1997"); + sb.AppendLine(Localization.ATA_3_published_ANSI_X3_298_1997); break; case 0x000B: - sb.AppendLine("ATA-3 X3T10 2008D revision 6"); + sb.AppendLine(Localization.ATA_3_X3T10_2008D_revision_6); break; case 0x000C: - sb.AppendLine("ATA-3 X3T13 2008D revision 7"); + sb.AppendLine(Localization.ATA_3_X3T13_2008D_revision_7); break; case 0x000D: - sb.AppendLine("ATA/ATAPI-4 X3T13 1153D revision 6"); + sb.AppendLine(Localization.ATA_ATAPI_4_X3T13_1153D_revision_6); break; case 0x000E: - sb.AppendLine("ATA/ATAPI-4 T13 1153D revision 13"); + sb.AppendLine(Localization.ATA_ATAPI_4_T13_1153D_revision_13); break; case 0x000F: - sb.AppendLine("ATA/ATAPI-4 X3T13 1153D revision 7"); + sb.AppendLine(Localization.ATA_ATAPI_4_X3T13_1153D_revision_7); break; case 0x0010: - sb.AppendLine("ATA/ATAPI-4 T13 1153D revision 18"); + sb.AppendLine(Localization.ATA_ATAPI_4_T13_1153D_revision_18); break; case 0x0011: - sb.AppendLine("ATA/ATAPI-4 T13 1153D revision 15"); + sb.AppendLine(Localization.ATA_ATAPI_4_T13_1153D_revision_15); break; case 0x0012: - sb.AppendLine("ATA/ATAPI-4 published, ANSI INCITS 317-1998"); + sb.AppendLine(Localization.ATA_ATAPI_4_published_ANSI_INCITS_317_1998); break; case 0x0013: - sb.AppendLine("ATA/ATAPI-5 T13 1321D revision 3"); + sb.AppendLine(Localization.ATA_ATAPI_5_T13_1321D_revision_3); break; case 0x0014: - sb.AppendLine("ATA/ATAPI-4 T13 1153D revision 14"); + sb.AppendLine(Localization.ATA_ATAPI_4_T13_1153D_revision_14); break; case 0x0015: - sb.AppendLine("ATA/ATAPI-5 T13 1321D revision 1"); + sb.AppendLine(Localization.ATA_ATAPI_5_T13_1321D_revision_1); break; case 0x0016: - sb.AppendLine("ATA/ATAPI-5 published, ANSI INCITS 340-2000"); + sb.AppendLine(Localization.ATA_ATAPI_5_published_ANSI_INCITS_340_2000); break; case 0x0017: - sb.AppendLine("ATA/ATAPI-4 T13 1153D revision 17"); + sb.AppendLine(Localization.ATA_ATAPI_4_T13_1153D_revision_17); break; case 0x0018: - sb.AppendLine("ATA/ATAPI-6 T13 1410D revision 0"); + sb.AppendLine(Localization.ATA_ATAPI_6_T13_1410D_revision_0); break; case 0x0019: - sb.AppendLine("ATA/ATAPI-6 T13 1410D revision 3a"); + sb.AppendLine(Localization.ATA_ATAPI_6_T13_1410D_revision_3a); break; case 0x001A: - sb.AppendLine("ATA/ATAPI-7 T13 1532D revision 1"); + sb.AppendLine(Localization.ATA_ATAPI_7_T13_1532D_revision_1); break; case 0x001B: - sb.AppendLine("ATA/ATAPI-6 T13 1410D revision 2"); + sb.AppendLine(Localization.ATA_ATAPI_6_T13_1410D_revision_2); break; case 0x001C: - sb.AppendLine("ATA/ATAPI-6 T13 1410D revision 1"); + sb.AppendLine(Localization.ATA_ATAPI_6_T13_1410D_revision_1); break; case 0x001D: - sb.AppendLine("ATA/ATAPI-7 published ANSI INCITS 397-2005"); + sb.AppendLine(Localization.ATA_ATAPI_7_published_ANSI_INCITS_397_2005); break; case 0x001E: - sb.AppendLine("ATA/ATAPI-7 T13 1532D revision 0"); + sb.AppendLine(Localization.ATA_ATAPI_7_T13_1532D_revision_0); break; case 0x001F: - sb.AppendLine("ACS-3 Revision 3b"); + sb.AppendLine(Localization.ACS_3_Revision_3b); break; case 0x0021: - sb.AppendLine("ATA/ATAPI-7 T13 1532D revision 4a"); + sb.AppendLine(Localization.ATA_ATAPI_7_T13_1532D_revision_4a); break; case 0x0022: - sb.AppendLine("ATA/ATAPI-6 published, ANSI INCITS 361-2002"); + sb.AppendLine(Localization.ATA_ATAPI_6_published_ANSI_INCITS_361_2002); break; case 0x0027: - sb.AppendLine("ATA8-ACS revision 3c"); + sb.AppendLine(Localization.ATA8_ACS_revision_3c); break; case 0x0028: - sb.AppendLine("ATA8-ACS revision 6"); + sb.AppendLine(Localization.ATA8_ACS_revision_6); break; case 0x0029: - sb.AppendLine("ATA8-ACS revision 4"); + sb.AppendLine(Localization.ATA8_ACS_revision_4); break; case 0x0031: - sb.AppendLine("ACS-2 Revision 2"); + sb.AppendLine(Localization.ACS_2_Revision_2); break; case 0x0033: - sb.AppendLine("ATA8-ACS Revision 3e"); + sb.AppendLine(Localization.ATA8_ACS_Revision_3e); break; case 0x0039: - sb.AppendLine("ATA8-ACS Revision 4c"); + sb.AppendLine(Localization.ATA8_ACS_Revision_4c); break; case 0x0042: - sb.AppendLine("ATA8-ACS Revision 3f"); + sb.AppendLine(Localization.ATA8_ACS_Revision_3f); break; case 0x0052: - sb.AppendLine("ATA8-ACS revision 3b"); + sb.AppendLine(Localization.ATA8_ACS_revision_3b); break; case 0x006D: - sb.AppendLine("ACS-3 Revision 5"); + sb.AppendLine(Localization.ACS_3_Revision_5); break; case 0x0082: - sb.AppendLine("ACS-2 published, ANSI INCITS 482-2012"); + sb.AppendLine(Localization.ACS_2_published_ANSI_INCITS_482_2012); break; case 0x0107: - sb.AppendLine("ATA8-ACS revision 2d"); + sb.AppendLine(Localization.ATA8_ACS_revision_2d); break; case 0x0110: - sb.AppendLine("ACS-2 Revision 3"); + sb.AppendLine(Localization.ACS_2_Revision_3); break; case 0x011B: - sb.AppendLine("ACS-3 Revision 4"); + sb.AppendLine(Localization.ACS_3_Revision_4); break; default: - sb.AppendFormat("Unknown ATA revision 0x{0:X4}", ATAID.MinorVersion).AppendLine(); + sb.AppendFormat(Localization.Unknown_ATA_revision_0, ATAID.MinorVersion).AppendLine(); break; } @@ -474,7 +475,7 @@ public static class Identify switch((ATAID.TransportMajorVersion & 0xF000) >> 12) { case 0x0: - sb.Append("Parallel ATA device: "); + sb.Append(Localization.Parallel_ATA_device); if((ATAID.TransportMajorVersion & 0x0002) == 0x0002) sb.Append("ATA/ATAPI-7 "); @@ -486,7 +487,7 @@ public static class Identify break; case 0x1: - sb.Append("Serial ATA device: "); + sb.Append(Localization.Serial_ATA_device); if((ATAID.TransportMajorVersion & 0x0001) == 0x0001) sb.Append("ATA8-AST "); @@ -513,11 +514,11 @@ public static class Identify break; case 0xE: - sb.AppendLine("SATA Express device"); + sb.AppendLine(Localization.SATA_Express_device); break; default: - sb.AppendFormat("Unknown transport type 0x{0:X1}", (ATAID.TransportMajorVersion & 0xF000) >> 12). + sb.AppendFormat(Localization.Unknown_transport_type_0, (ATAID.TransportMajorVersion & 0xF000) >> 12). AppendLine(); break; @@ -529,91 +530,91 @@ public static class Identify switch((PeripheralDeviceTypes)(((ushort)ATAID.GeneralConfiguration & 0x1F00) >> 8)) { case PeripheralDeviceTypes.DirectAccess: //0x00, - sb.AppendLine("ATAPI Direct-access device"); + sb.AppendLine(Localization.ATAPI_Direct_access_device); break; case PeripheralDeviceTypes.SequentialAccess: //0x01, - sb.AppendLine("ATAPI Sequential-access device"); + sb.AppendLine(Localization.ATAPI_Sequential_access_device); break; case PeripheralDeviceTypes.PrinterDevice: //0x02, - sb.AppendLine("ATAPI Printer device"); + sb.AppendLine(Localization.ATAPI_Printer_device); break; case PeripheralDeviceTypes.ProcessorDevice: //0x03, - sb.AppendLine("ATAPI Processor device"); + sb.AppendLine(Localization.ATAPI_Processor_device); break; case PeripheralDeviceTypes.WriteOnceDevice: //0x04, - sb.AppendLine("ATAPI Write-once device"); + sb.AppendLine(Localization.ATAPI_Write_once_device); break; case PeripheralDeviceTypes.MultiMediaDevice: //0x05, - sb.AppendLine("ATAPI CD-ROM/DVD/etc device"); + sb.AppendLine(Localization.ATAPI_CD_ROM_DVD_etc_device); break; case PeripheralDeviceTypes.ScannerDevice: //0x06, - sb.AppendLine("ATAPI Scanner device"); + sb.AppendLine(Localization.ATAPI_Scanner_device); break; case PeripheralDeviceTypes.OpticalDevice: //0x07, - sb.AppendLine("ATAPI Optical memory device"); + sb.AppendLine(Localization.ATAPI_Optical_memory_device); break; case PeripheralDeviceTypes.MediumChangerDevice: //0x08, - sb.AppendLine("ATAPI Medium change device"); + sb.AppendLine(Localization.ATAPI_Medium_change_device); break; case PeripheralDeviceTypes.CommsDevice: //0x09, - sb.AppendLine("ATAPI Communications device"); + sb.AppendLine(Localization.ATAPI_Communications_device); break; case PeripheralDeviceTypes.PrePressDevice1: //0x0A, - sb.AppendLine("ATAPI Graphics arts pre-press device (defined in ASC IT8)"); + sb.AppendLine(Localization.ATAPI_Graphics_arts_pre_press_device_defined_in_ASC_IT8); break; case PeripheralDeviceTypes.PrePressDevice2: //0x0B, - sb.AppendLine("ATAPI Graphics arts pre-press device (defined in ASC IT8)"); + sb.AppendLine(Localization.ATAPI_Graphics_arts_pre_press_device_defined_in_ASC_IT8); break; case PeripheralDeviceTypes.ArrayControllerDevice: //0x0C, - sb.AppendLine("ATAPI Array controller device"); + sb.AppendLine(Localization.ATAPI_Array_controller_device); break; case PeripheralDeviceTypes.EnclosureServiceDevice: //0x0D, - sb.AppendLine("ATAPI Enclosure services device"); + sb.AppendLine(Localization.ATAPI_Enclosure_services_device); break; case PeripheralDeviceTypes.SimplifiedDevice: //0x0E, - sb.AppendLine("ATAPI Simplified direct-access device"); + sb.AppendLine(Localization.ATAPI_Simplified_direct_access_device); break; case PeripheralDeviceTypes.OCRWDevice: //0x0F, - sb.AppendLine("ATAPI Optical card reader/writer device"); + sb.AppendLine(Localization.ATAPI_Optical_card_reader_writer_device); break; case PeripheralDeviceTypes.BridgingExpander: //0x10, - sb.AppendLine("ATAPI Bridging Expanders"); + sb.AppendLine(Localization.ATAPI_Bridging_Expanders); break; case PeripheralDeviceTypes.ObjectDevice: //0x11, - sb.AppendLine("ATAPI Object-based Storage Device"); + sb.AppendLine(Localization.ATAPI_Object_based_Storage_Device); break; case PeripheralDeviceTypes.ADCDevice: //0x12, - sb.AppendLine("ATAPI Automation/Drive Interface"); + sb.AppendLine(Localization.ATAPI_Automation_Drive_Interface); break; case PeripheralDeviceTypes.WellKnownDevice: //0x1E, - sb.AppendLine("ATAPI Well known logical unit"); + sb.AppendLine(Localization.ATAPI_Well_known_logical_unit); break; case PeripheralDeviceTypes.UnknownDevice: //0x1F - sb.AppendLine("ATAPI Unknown or no device type"); + sb.AppendLine(Localization.ATAPI_Unknown_or_no_device_type); break; default: - sb.AppendFormat("ATAPI Unknown device type field value 0x{0:X2}", + sb.AppendFormat(Localization.ATAPI_Unknown_device_type_field_value_0, ((ushort)ATAID.GeneralConfiguration & 0x1F00) >> 8).AppendLine(); break; @@ -623,19 +624,19 @@ public static class Identify switch(((ushort)ATAID.GeneralConfiguration & 0x60) >> 5) { case 0: - sb.AppendLine("Device shall set DRQ within 3 ms of receiving PACKET"); + sb.AppendLine(Localization.Device_shall_set_DRQ_within_3_ms_of_receiving_PACKET); break; case 1: - sb.AppendLine("Device shall assert INTRQ when DRQ is set to one"); + sb.AppendLine(Localization.Device_shall_assert_INTRQ_when_DRQ_is_set_to_one); break; case 2: - sb.AppendLine("Device shall set DRQ within 50 µs of receiving PACKET"); + sb.AppendLine(Localization.Device_shall_set_DRQ_within_50_µs_of_receiving_PACKET); break; default: - sb.AppendFormat("Unknown ATAPI DRQ behaviour code {0}", + sb.AppendFormat(Localization.Unknown_ATAPI_DRQ_behaviour_code_0, ((ushort)ATAID.GeneralConfiguration & 0x60) >> 5).AppendLine(); break; @@ -645,16 +646,16 @@ public static class Identify switch((ushort)ATAID.GeneralConfiguration & 0x03) { case 0: - sb.AppendLine("ATAPI device uses 12 byte command packet"); + sb.AppendLine(Localization.ATAPI_device_uses_12_byte_command_packet); break; case 1: - sb.AppendLine("ATAPI device uses 16 byte command packet"); + sb.AppendLine(Localization.ATAPI_device_uses_16_byte_command_packet); break; default: - sb.AppendFormat("Unknown ATAPI packet size code {0}", (ushort)ATAID.GeneralConfiguration & 0x03). - AppendLine(); + sb.AppendFormat(Localization.Unknown_ATAPI_packet_size_code_0, + (ushort)ATAID.GeneralConfiguration & 0x03).AppendLine(); break; } @@ -664,79 +665,79 @@ public static class Identify if(minatalevel >= 5) if(ATAID.GeneralConfiguration.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.GeneralConfigurationBit. IncompleteResponse)) - sb.AppendLine("Incomplete identify response"); + sb.AppendLine(Localization.Incomplete_identify_response); if(ATAID.GeneralConfiguration.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.GeneralConfigurationBit. NonMagnetic)) - sb.AppendLine("Device uses non-magnetic media"); + sb.AppendLine(Localization.Device_uses_non_magnetic_media); if(ATAID.GeneralConfiguration.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.GeneralConfigurationBit. Removable)) - sb.AppendLine("Device is removable"); + sb.AppendLine(Localization.Device_is_removable); if(minatalevel <= 5) if(ATAID.GeneralConfiguration.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.GeneralConfigurationBit. Fixed)) - sb.AppendLine("Device is fixed"); + sb.AppendLine(Localization.Device_is_fixed); if(ata1) { if(ATAID.GeneralConfiguration.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.GeneralConfigurationBit. SlowIDE)) - sb.AppendLine("Device transfer rate is <= 5 Mb/s"); + sb.AppendLine(Localization.Device_transfer_rate_less_than_5_Mbs); if(ATAID.GeneralConfiguration.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.GeneralConfigurationBit. FastIDE)) - sb.AppendLine("Device transfer rate is > 5 Mb/s but <= 10 Mb/s"); + sb.AppendLine(Localization.Device_transfer_rate_is_more_5_Mbs_less_10_Mbs); if(ATAID.GeneralConfiguration.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.GeneralConfigurationBit. UltraFastIDE)) - sb.AppendLine("Device transfer rate is > 10 Mb/s"); + sb.AppendLine(Localization.Device_transfer_rate_more_than_10_Mbs); if(ATAID.GeneralConfiguration.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.GeneralConfigurationBit. SoftSector)) - sb.AppendLine("Device is soft sectored"); + sb.AppendLine(Localization.Device_is_soft_sectored); if(ATAID.GeneralConfiguration.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.GeneralConfigurationBit. HardSector)) - sb.AppendLine("Device is hard sectored"); + sb.AppendLine(Localization.Device_is_hard_sectored); if(ATAID.GeneralConfiguration.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.GeneralConfigurationBit. NotMFM)) - sb.AppendLine("Device is not MFM encoded"); + sb.AppendLine(Localization.Device_is_not_MFM_encoded); if(ATAID.GeneralConfiguration.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.GeneralConfigurationBit. FormatGapReq)) - sb.AppendLine("Format speed tolerance gap is required"); + sb.AppendLine(Localization.Format_speed_tolerance_gap_is_required); if(ATAID.GeneralConfiguration.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.GeneralConfigurationBit. TrackOffset)) - sb.AppendLine("Track offset option is available"); + sb.AppendLine(Localization.Track_offset_option_is_available); if(ATAID.GeneralConfiguration.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.GeneralConfigurationBit. DataStrobeOffset)) - sb.AppendLine("Data strobe offset option is available"); + sb.AppendLine(Localization.Data_strobe_offset_option_is_available); if(ATAID.GeneralConfiguration.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.GeneralConfigurationBit. RotationalSpeedTolerance)) - sb.AppendLine("Rotational speed tolerance is higher than 0,5%"); + sb.AppendLine(Localization.Rotational_speed_tolerance_is_higher_than_0_5_percent); if(ATAID.GeneralConfiguration.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.GeneralConfigurationBit. SpindleControl)) - sb.AppendLine("Spindle motor control is implemented"); + sb.AppendLine(Localization.Spindle_motor_control_is_implemented); if(ATAID.GeneralConfiguration.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.GeneralConfigurationBit. HighHeadSwitch)) - sb.AppendLine("Head switch time is bigger than 15 µs."); + sb.AppendLine(Localization.Head_switch_time_is_bigger_than_15_µs); } } if(ATAID.NominalRotationRate != 0x0000 && ATAID.NominalRotationRate != 0xFFFF) if(ATAID.NominalRotationRate == 0x0001) - sb.AppendLine("Device does not rotate."); + sb.AppendLine(Localization.Device_does_not_rotate); else - sb.AppendFormat("Device rotate at {0} rpm", ATAID.NominalRotationRate).AppendLine(); + sb.AppendFormat(Localization.Device_rotates_at_0_rpm, ATAID.NominalRotationRate).AppendLine(); uint logicalSectorSize = 0; @@ -767,50 +768,50 @@ public static class Identify physicalSectorSize = 512; } - sb.AppendFormat("Physical sector size: {0} bytes", physicalSectorSize).AppendLine(); - sb.AppendFormat("Logical sector size: {0} bytes", logicalSectorSize).AppendLine(); + sb.AppendFormat(Localization.Physical_sector_size_0_bytes, physicalSectorSize).AppendLine(); + sb.AppendFormat(Localization.Logical_sector_size_0_bytes, logicalSectorSize).AppendLine(); if(logicalSectorSize != physicalSectorSize && (ATAID.LogicalAlignment & 0x8000) == 0x0000 && (ATAID.LogicalAlignment & 0x4000) == 0x4000) - sb.AppendFormat("Logical sector starts at offset {0} from physical sector", + sb.AppendFormat(Localization.Logical_sector_starts_at_offset_0_from_physical_sector, ATAID.LogicalAlignment & 0x3FFF).AppendLine(); if(minatalevel <= 5) if(ATAID.CurrentCylinders > 0 && ATAID is { CurrentHeads: > 0, CurrentSectorsPerTrack: > 0 }) { - sb.AppendFormat("Cylinders: {0} max., {1} current", ATAID.Cylinders, ATAID.CurrentCylinders). + sb.AppendFormat(Localization.Cylinders_0_max_1_current, ATAID.Cylinders, ATAID.CurrentCylinders). AppendLine(); - sb.AppendFormat("Heads: {0} max., {1} current", ATAID.Heads, ATAID.CurrentHeads).AppendLine(); + sb.AppendFormat(Localization.Heads_0_max_1_current, ATAID.Heads, ATAID.CurrentHeads).AppendLine(); - sb.AppendFormat("Sectors per track: {0} max., {1} current", ATAID.SectorsPerTrack, + sb.AppendFormat(Localization.Sectors_per_track_0_max_1_current, ATAID.SectorsPerTrack, ATAID.CurrentSectorsPerTrack).AppendLine(); - sb.AppendFormat("Sectors addressable in CHS mode: {0} max., {1} current", + sb.AppendFormat(Localization.Sectors_addressable_in_CHS_mode_0_max_1_current, ATAID.Cylinders * ATAID.Heads * ATAID.SectorsPerTrack, ATAID.CurrentSectors). AppendLine(); } else { - sb.AppendFormat("Cylinders: {0}", ATAID.Cylinders).AppendLine(); - sb.AppendFormat("Heads: {0}", ATAID.Heads).AppendLine(); - sb.AppendFormat("Sectors per track: {0}", ATAID.SectorsPerTrack).AppendLine(); + sb.AppendFormat(Localization.Cylinders_0, ATAID.Cylinders).AppendLine(); + sb.AppendFormat(Localization.Heads_0, ATAID.Heads).AppendLine(); + sb.AppendFormat(Localization.Sectors_per_track_0, ATAID.SectorsPerTrack).AppendLine(); - sb.AppendFormat("Sectors addressable in CHS mode: {0}", + sb.AppendFormat(Localization.Sectors_addressable_in_CHS_mode_0, ATAID.Cylinders * ATAID.Heads * ATAID.SectorsPerTrack).AppendLine(); } if(ATAID.Capabilities.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.CapabilitiesBit.LBASupport)) - sb.AppendFormat("{0} sectors in 28-bit LBA mode", ATAID.LBASectors).AppendLine(); + sb.AppendFormat(Localization._0_sectors_in_28_bit_LBA_mode, ATAID.LBASectors).AppendLine(); if(ATAID.CommandSet2.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.CommandSetBit2.LBA48)) - sb.AppendFormat("{0} sectors in 48-bit LBA mode", ATAID.LBA48Sectors).AppendLine(); + sb.AppendFormat(Localization._0_sectors_in_48_bit_LBA_mode, ATAID.LBA48Sectors).AppendLine(); if(minatalevel <= 5) if(ATAID.CurrentSectors > 0) - sb.AppendFormat("Device size in CHS mode: {0} bytes, {1} Mb, {2} MiB", + sb.AppendFormat(Localization.Device_size_in_CHS_mode_0_bytes_1_Mb_2_MiB, (ulong)ATAID.CurrentSectors * logicalSectorSize, (ulong)ATAID.CurrentSectors * logicalSectorSize / 1000 / 1000, (ulong)ATAID.CurrentSectors * 512 / 1024 / 1024).AppendLine(); @@ -818,7 +819,7 @@ public static class Identify { ulong currentSectors = (ulong)(ATAID.Cylinders * ATAID.Heads * ATAID.SectorsPerTrack); - sb.AppendFormat("Device size in CHS mode: {0} bytes, {1} Mb, {2} MiB", + sb.AppendFormat(Localization.Device_size_in_CHS_mode_0_bytes_1_Mb_2_MiB, currentSectors * logicalSectorSize, currentSectors * logicalSectorSize / 1000 / 1000, currentSectors * 512 / 1024 / 1024).AppendLine(); @@ -828,21 +829,21 @@ public static class Identify switch((ulong)ATAID.LBASectors * logicalSectorSize / 1024 / 1024) { case > 1000000: - sb.AppendFormat("Device size in 28-bit LBA mode: {0} bytes, {1} Tb, {2} TiB", + sb.AppendFormat(Localization.Device_size_in_28_bit_LBA_mode_0_bytes_1_Tb_2_TiB, (ulong)ATAID.LBASectors * logicalSectorSize, (ulong)ATAID.LBASectors * logicalSectorSize / 1000 / 1000 / 1000 / 1000, (ulong)ATAID.LBASectors * 512 / 1024 / 1024 / 1024 / 1024).AppendLine(); break; case > 1000: - sb.AppendFormat("Device size in 28-bit LBA mode: {0} bytes, {1} Gb, {2} GiB", + sb.AppendFormat(Localization.Device_size_in_28_bit_LBA_mode_0_bytes_1_Gb_2_GiB, (ulong)ATAID.LBASectors * logicalSectorSize, (ulong)ATAID.LBASectors * logicalSectorSize / 1000 / 1000 / 1000, (ulong)ATAID.LBASectors * 512 / 1024 / 1024 / 1024).AppendLine(); break; default: - sb.AppendFormat("Device size in 28-bit LBA mode: {0} bytes, {1} Mb, {2} MiB", + sb.AppendFormat(Localization.Device_size_in_28_bit_LBA_mode_0_bytes_1_Mb_2_MiB, (ulong)ATAID.LBASectors * logicalSectorSize, (ulong)ATAID.LBASectors * logicalSectorSize / 1000 / 1000, (ulong)ATAID.LBASectors * 512 / 1024 / 1024).AppendLine(); @@ -855,7 +856,7 @@ public static class Identify switch(ATAID.ExtendedUserSectors * logicalSectorSize / 1024 / 1024) { case > 1000000: - sb.AppendFormat("Device size in 48-bit LBA mode: {0} bytes, {1} Tb, {2} TiB", + sb.AppendFormat(Localization.Device_size_in_48_bit_LBA_mode_0_bytes_1_Tb_2_TiB, ATAID.ExtendedUserSectors * logicalSectorSize, ATAID.ExtendedUserSectors * logicalSectorSize / 1000 / 1000 / 1000 / 1000, ATAID.ExtendedUserSectors * logicalSectorSize / 1024 / 1024 / 1024 / 1024). @@ -863,7 +864,7 @@ public static class Identify break; case > 1000: - sb.AppendFormat("Device size in 48-bit LBA mode: {0} bytes, {1} Gb, {2} GiB", + sb.AppendFormat(Localization.Device_size_in_48_bit_LBA_mode_0_bytes_1_Gb_2_GiB, ATAID.ExtendedUserSectors * logicalSectorSize, ATAID.ExtendedUserSectors * logicalSectorSize / 1000 / 1000 / 1000, ATAID.ExtendedUserSectors * logicalSectorSize / 1024 / 1024 / 1024). @@ -871,7 +872,7 @@ public static class Identify break; default: - sb.AppendFormat("Device size in 48-bit LBA mode: {0} bytes, {1} Mb, {2} MiB", + sb.AppendFormat(Localization.Device_size_in_48_bit_LBA_mode_0_bytes_1_Mb_2_MiB, ATAID.ExtendedUserSectors * logicalSectorSize, ATAID.ExtendedUserSectors * logicalSectorSize / 1000 / 1000, ATAID.ExtendedUserSectors * logicalSectorSize / 1024 / 1024).AppendLine(); @@ -882,7 +883,7 @@ public static class Identify switch(ATAID.LBA48Sectors * logicalSectorSize / 1024 / 1024) { case > 1000000: - sb.AppendFormat("Device size in 48-bit LBA mode: {0} bytes, {1} Tb, {2} TiB", + sb.AppendFormat(Localization.Device_size_in_48_bit_LBA_mode_0_bytes_1_Tb_2_TiB, ATAID.LBA48Sectors * logicalSectorSize, ATAID.LBA48Sectors * logicalSectorSize / 1000 / 1000 / 1000 / 1000, ATAID.LBA48Sectors * logicalSectorSize / 1024 / 1024 / 1024 / 1024). @@ -890,14 +891,14 @@ public static class Identify break; case > 1000: - sb.AppendFormat("Device size in 48-bit LBA mode: {0} bytes, {1} Gb, {2} GiB", + sb.AppendFormat(Localization.Device_size_in_48_bit_LBA_mode_0_bytes_1_Gb_2_GiB, ATAID.LBA48Sectors * logicalSectorSize, ATAID.LBA48Sectors * logicalSectorSize / 1000 / 1000 / 1000, ATAID.LBA48Sectors * logicalSectorSize / 1024 / 1024 / 1024).AppendLine(); break; default: - sb.AppendFormat("Device size in 48-bit LBA mode: {0} bytes, {1} Mb, {2} MiB", + sb.AppendFormat(Localization.Device_size_in_48_bit_LBA_mode_0_bytes_1_Mb_2_MiB, ATAID.LBA48Sectors * logicalSectorSize, ATAID.LBA48Sectors * logicalSectorSize / 1000 / 1000, ATAID.LBA48Sectors * logicalSectorSize / 1024 / 1024).AppendLine(); @@ -908,13 +909,13 @@ public static class Identify if(ata1 || cfa) { if(cfa) - sb.AppendFormat("{0} sectors in card", ATAID.SectorsPerCard).AppendLine(); + sb.AppendFormat(Localization._0_sectors_in_card, ATAID.SectorsPerCard).AppendLine(); if(ATAID.UnformattedBPT > 0) - sb.AppendFormat("{0} bytes per unformatted track", ATAID.UnformattedBPT).AppendLine(); + sb.AppendFormat(Localization._0_bytes_per_unformatted_track, ATAID.UnformattedBPT).AppendLine(); if(ATAID.UnformattedBPS > 0) - sb.AppendFormat("{0} bytes per unformatted sector", ATAID.UnformattedBPS).AppendLine(); + sb.AppendFormat(Localization._0_bytes_per_unformatted_sector, ATAID.UnformattedBPS).AppendLine(); } } @@ -923,24 +924,28 @@ public static class Identify switch(ATAID.SpecificConfiguration) { case CommonTypes.Structs.Devices.ATA.Identify.SpecificConfigurationEnum.RequiresSetIncompleteResponse: - sb.AppendLine("Device requires SET FEATURES to spin up and IDENTIFY DEVICE response is incomplete."); + sb.AppendLine(Localization. + Device_requires_SET_FEATURES_to_spin_up_and_IDENTIFY_DEVICE_response_is_incomplete); break; case CommonTypes.Structs.Devices.ATA.Identify.SpecificConfigurationEnum.RequiresSetCompleteResponse: - sb.AppendLine("Device requires SET FEATURES to spin up and IDENTIFY DEVICE response is complete."); + sb.AppendLine(Localization. + Device_requires_SET_FEATURES_to_spin_up_and_IDENTIFY_DEVICE_response_is_complete); break; case CommonTypes.Structs.Devices.ATA.Identify.SpecificConfigurationEnum. NotRequiresSetIncompleteResponse: - sb.AppendLine("Device does not require SET FEATURES to spin up and IDENTIFY DEVICE response is incomplete."); + sb.AppendLine(Localization. + Device_does_not_require_SET_FEATURES_to_spin_up_and_IDENTIFY_DEVICE_response_is_incomplete); break; case CommonTypes.Structs.Devices.ATA.Identify.SpecificConfigurationEnum.NotRequiresSetCompleteResponse: - sb.AppendLine("Device does not require SET FEATURES to spin up and IDENTIFY DEVICE response is complete."); + sb.AppendLine(Localization. + Device_does_not_require_SET_FEATURES_to_spin_up_and_IDENTIFY_DEVICE_response_is_complete); break; default: - sb.AppendFormat("Unknown device specific configuration 0x{0:X4}", + sb.AppendFormat(Localization.Unknown_device_specific_configuration_0, (ushort)ATAID.SpecificConfiguration).AppendLine(); break; @@ -954,22 +959,22 @@ public static class Identify switch(ATAID.BufferType) { case 1: - sb.AppendFormat("{0} KiB of single ported single sector buffer", ATAID.BufferSize * 512 / 1024). - AppendLine(); + sb.AppendFormat(Localization._0_KiB_of_single_ported_single_sector_buffer, + ATAID.BufferSize * 512 / 1024).AppendLine(); break; case 2: - sb.AppendFormat("{0} KiB of dual ported multi sector buffer", ATAID.BufferSize * 512 / 1024). - AppendLine(); + sb.AppendFormat(Localization._0_KiB_of_dual_ported_multi_sector_buffer, + ATAID.BufferSize * 512 / 1024).AppendLine(); break; case 3: - sb.AppendFormat("{0} KiB of dual ported multi sector buffer with read caching", + sb.AppendFormat(Localization._0_KiB_of_dual_ported_multi_sector_buffer_with_read_caching, ATAID.BufferSize * 512 / 1024).AppendLine(); break; default: - sb.AppendFormat("{0} KiB of unknown type {1} buffer", ATAID.BufferSize * 512 / 1024, + sb.AppendFormat(Localization._0_KiB_of_unknown_type_1_buffer, ATAID.BufferSize * 512 / 1024, ATAID.BufferType).AppendLine(); break; @@ -977,73 +982,75 @@ public static class Identify if(ATAID.EccBytes != 0x0000 && ATAID.EccBytes != 0xFFFF) - sb.AppendFormat("READ/WRITE LONG has {0} extra bytes", ATAID.EccBytes).AppendLine(); + sb.AppendFormat(Localization.READ_WRITE_LONG_has_0_extra_bytes, ATAID.EccBytes).AppendLine(); sb.AppendLine(); - sb.Append("Device capabilities:"); + sb.Append(Localization.Device_capabilities); if(ATAID.Capabilities.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.CapabilitiesBit.StandardStandbyTimer)) - sb.AppendLine().Append("Standby time values are standard"); + sb.AppendLine().Append(Localization.Standby_time_values_are_standard); if(ATAID.Capabilities.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.CapabilitiesBit.IORDY)) { - sb.AppendLine().Append("IORDY is supported"); - - if(ATAID.Capabilities.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.CapabilitiesBit.CanDisableIORDY)) - sb.Append(" and can be disabled"); + sb.AppendLine(). + Append(ATAID.Capabilities.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.CapabilitiesBit. + CanDisableIORDY) + ? Localization.IORDY_is_supported_and_can_be_disabled : Localization.IORDY_is_supported); } if(ATAID.Capabilities.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.CapabilitiesBit.DMASupport)) - sb.AppendLine().Append("DMA is supported"); + sb.AppendLine().Append(Localization.DMA_is_supported); if(ATAID.Capabilities2.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.CapabilitiesBit2.MustBeSet) && !ATAID.Capabilities2.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.CapabilitiesBit2.MustBeClear)) if(ATAID.Capabilities2.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.CapabilitiesBit2. SpecificStandbyTimer)) - sb.AppendLine().Append("Device indicates a specific minimum standby timer value"); + sb.AppendLine().Append(Localization.Device_indicates_a_specific_minimum_standby_timer_value); if(ATAID.Capabilities3.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.CapabilitiesBit3.MultipleValid)) { sb.AppendLine(). - AppendFormat("A maximum of {0} sectors can be transferred per interrupt on READ/WRITE MULTIPLE", + AppendFormat(Localization.A_maximum_of_0_sectors_can_be_transferred_per_interrupt_on_READ_WRITE_MULTIPLE, ATAID.MultipleSectorNumber); - sb.AppendLine().AppendFormat("Device supports setting a maximum of {0} sectors", ATAID.MultipleMaxSectors); + sb.AppendLine().AppendFormat(Localization.Device_supports_setting_a_maximum_of_0_sectors, + ATAID.MultipleMaxSectors); } if(ATAID.Capabilities.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.CapabilitiesBit.PhysicalAlignment1) || ATAID.Capabilities.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.CapabilitiesBit.PhysicalAlignment0)) - sb.AppendLine().AppendFormat("Long Physical Alignment setting is {0}", (ushort)ATAID.Capabilities & 0x03); + sb.AppendLine().AppendFormat(Localization.Long_Physical_Alignment_setting_is_0, + (ushort)ATAID.Capabilities & 0x03); if(ata1) if(ATAID.TrustedComputing.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.TrustedComputingBit. TrustedComputing)) - sb.AppendLine().Append("Device supports doubleword I/O"); + sb.AppendLine().Append(Localization.Device_supports_doubleword_IO); if(atapi) { if(ATAID.Capabilities.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.CapabilitiesBit.InterleavedDMA)) - sb.AppendLine().Append("ATAPI device supports interleaved DMA"); + sb.AppendLine().Append(Localization.ATAPI_device_supports_interleaved_DMA); if(ATAID.Capabilities.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.CapabilitiesBit.CommandQueue)) - sb.AppendLine().Append("ATAPI device supports command queueing"); + sb.AppendLine().Append(Localization.ATAPI_device_supports_command_queueing); if(ATAID.Capabilities.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.CapabilitiesBit.OverlapOperation)) - sb.AppendLine().Append("ATAPI device supports overlapped operations"); + sb.AppendLine().Append(Localization.ATAPI_device_supports_overlapped_operations); if(ATAID.Capabilities.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.CapabilitiesBit. RequiresATASoftReset)) - sb.AppendLine().Append("ATAPI device requires ATA software reset"); + sb.AppendLine().Append(Localization.ATAPI_device_requires_ATA_software_reset); } if(minatalevel <= 3) { - sb.AppendLine().AppendFormat("PIO timing mode: {0}", ATAID.PIOTransferTimingMode); - sb.AppendLine().AppendFormat("DMA timing mode: {0}", ATAID.DMATransferTimingMode); + sb.AppendLine().AppendFormat(Localization.PIO_timing_mode_0, ATAID.PIOTransferTimingMode); + sb.AppendLine().AppendFormat(Localization.DMA_timing_mode_0, ATAID.DMATransferTimingMode); } - sb.AppendLine().Append("Advanced PIO: "); + sb.AppendLine().Append(Localization.Advanced_PIO); if(ATAID.APIOSupported.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.TransferMode.Mode0)) sb.Append("PIO0 "); @@ -1072,14 +1079,14 @@ public static class Identify if(minatalevel <= 3 && !atapi) { - sb.AppendLine().Append("Single-word DMA: "); + sb.AppendLine().Append(Localization.Single_word_DMA); if(ATAID.DMASupported.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.TransferMode.Mode0)) { sb.Append("DMA0 "); if(ATAID.DMAActive.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.TransferMode.Mode0)) - sb.Append("(active) "); + sb.Append(Localization._active_); } if(ATAID.DMASupported.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.TransferMode.Mode1)) @@ -1087,7 +1094,7 @@ public static class Identify sb.Append("DMA1 "); if(ATAID.DMAActive.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.TransferMode.Mode1)) - sb.Append("(active) "); + sb.Append(Localization._active_); } if(ATAID.DMASupported.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.TransferMode.Mode2)) @@ -1095,7 +1102,7 @@ public static class Identify sb.Append("DMA2 "); if(ATAID.DMAActive.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.TransferMode.Mode2)) - sb.Append("(active) "); + sb.Append(Localization._active_); } if(ATAID.DMASupported.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.TransferMode.Mode3)) @@ -1103,7 +1110,7 @@ public static class Identify sb.Append("DMA3 "); if(ATAID.DMAActive.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.TransferMode.Mode3)) - sb.Append("(active) "); + sb.Append(Localization._active_); } if(ATAID.DMASupported.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.TransferMode.Mode4)) @@ -1111,7 +1118,7 @@ public static class Identify sb.Append("DMA4 "); if(ATAID.DMAActive.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.TransferMode.Mode4)) - sb.Append("(active) "); + sb.Append(Localization._active_); } if(ATAID.DMASupported.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.TransferMode.Mode5)) @@ -1119,7 +1126,7 @@ public static class Identify sb.Append("DMA5 "); if(ATAID.DMAActive.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.TransferMode.Mode5)) - sb.Append("(active) "); + sb.Append(Localization._active_); } if(ATAID.DMASupported.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.TransferMode.Mode6)) @@ -1127,7 +1134,7 @@ public static class Identify sb.Append("DMA6 "); if(ATAID.DMAActive.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.TransferMode.Mode6)) - sb.Append("(active) "); + sb.Append(Localization._active_); } if(ATAID.DMASupported.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.TransferMode.Mode7)) @@ -1135,18 +1142,18 @@ public static class Identify sb.Append("DMA7 "); if(ATAID.DMAActive.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.TransferMode.Mode7)) - sb.Append("(active) "); + sb.Append(Localization._active_); } } - sb.AppendLine().Append("Multi-word DMA: "); + sb.AppendLine().Append(Localization.Multi_word_DMA); if(ATAID.MDMASupported.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.TransferMode.Mode0)) { sb.Append("MDMA0 "); if(ATAID.MDMAActive.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.TransferMode.Mode0)) - sb.Append("(active) "); + sb.Append(Localization._active_); } if(ATAID.MDMASupported.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.TransferMode.Mode1)) @@ -1154,7 +1161,7 @@ public static class Identify sb.Append("MDMA1 "); if(ATAID.MDMAActive.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.TransferMode.Mode1)) - sb.Append("(active) "); + sb.Append(Localization._active_); } if(ATAID.MDMASupported.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.TransferMode.Mode2)) @@ -1162,7 +1169,7 @@ public static class Identify sb.Append("MDMA2 "); if(ATAID.MDMAActive.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.TransferMode.Mode2)) - sb.Append("(active) "); + sb.Append(Localization._active_); } if(ATAID.MDMASupported.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.TransferMode.Mode3)) @@ -1170,7 +1177,7 @@ public static class Identify sb.Append("MDMA3 "); if(ATAID.MDMAActive.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.TransferMode.Mode3)) - sb.Append("(active) "); + sb.Append(Localization._active_); } if(ATAID.MDMASupported.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.TransferMode.Mode4)) @@ -1178,7 +1185,7 @@ public static class Identify sb.Append("MDMA4 "); if(ATAID.MDMAActive.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.TransferMode.Mode4)) - sb.Append("(active) "); + sb.Append(Localization._active_); } if(ATAID.MDMASupported.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.TransferMode.Mode5)) @@ -1186,7 +1193,7 @@ public static class Identify sb.Append("MDMA5 "); if(ATAID.MDMAActive.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.TransferMode.Mode5)) - sb.Append("(active) "); + sb.Append(Localization._active_); } if(ATAID.MDMASupported.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.TransferMode.Mode6)) @@ -1194,7 +1201,7 @@ public static class Identify sb.Append("MDMA6 "); if(ATAID.MDMAActive.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.TransferMode.Mode6)) - sb.Append("(active) "); + sb.Append(Localization._active_); } if(ATAID.MDMASupported.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.TransferMode.Mode7)) @@ -1202,17 +1209,17 @@ public static class Identify sb.Append("MDMA7 "); if(ATAID.MDMAActive.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.TransferMode.Mode7)) - sb.Append("(active) "); + sb.Append(Localization._active_); } - sb.AppendLine().Append("Ultra DMA: "); + sb.AppendLine().Append(Localization.Ultra_DMA); if(ATAID.UDMASupported.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.TransferMode.Mode0)) { sb.Append("UDMA0 "); if(ATAID.UDMAActive.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.TransferMode.Mode0)) - sb.Append("(active) "); + sb.Append(Localization._active_); } if(ATAID.UDMASupported.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.TransferMode.Mode1)) @@ -1220,7 +1227,7 @@ public static class Identify sb.Append("UDMA1 "); if(ATAID.UDMAActive.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.TransferMode.Mode1)) - sb.Append("(active) "); + sb.Append(Localization._active_); } if(ATAID.UDMASupported.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.TransferMode.Mode2)) @@ -1228,7 +1235,7 @@ public static class Identify sb.Append("UDMA2 "); if(ATAID.UDMAActive.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.TransferMode.Mode2)) - sb.Append("(active) "); + sb.Append(Localization._active_); } if(ATAID.UDMASupported.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.TransferMode.Mode3)) @@ -1236,7 +1243,7 @@ public static class Identify sb.Append("UDMA3 "); if(ATAID.UDMAActive.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.TransferMode.Mode3)) - sb.Append("(active) "); + sb.Append(Localization._active_); } if(ATAID.UDMASupported.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.TransferMode.Mode4)) @@ -1244,7 +1251,7 @@ public static class Identify sb.Append("UDMA4 "); if(ATAID.UDMAActive.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.TransferMode.Mode4)) - sb.Append("(active) "); + sb.Append(Localization._active_); } if(ATAID.UDMASupported.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.TransferMode.Mode5)) @@ -1252,7 +1259,7 @@ public static class Identify sb.Append("UDMA5 "); if(ATAID.UDMAActive.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.TransferMode.Mode5)) - sb.Append("(active) "); + sb.Append(Localization._active_); } if(ATAID.UDMASupported.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.TransferMode.Mode6)) @@ -1260,7 +1267,7 @@ public static class Identify sb.Append("UDMA6 "); if(ATAID.UDMAActive.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.TransferMode.Mode6)) - sb.Append("(active) "); + sb.Append(Localization._active_); } if(ATAID.UDMASupported.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.TransferMode.Mode7)) @@ -1268,36 +1275,36 @@ public static class Identify sb.Append("UDMA7 "); if(ATAID.UDMAActive.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.TransferMode.Mode7)) - sb.Append("(active) "); + sb.Append(Localization._active_); } if(ATAID.MinMDMACycleTime != 0 && ATAID.RecMDMACycleTime != 0) sb.AppendLine(). - AppendFormat("At minimum {0} ns. transfer cycle time per word in MDMA, " + "{1} ns. recommended", + AppendFormat(Localization.At_minimum_0_ns_transfer_cycle_time_per_word_in_MDMA_1_ns_recommended, ATAID.MinMDMACycleTime, ATAID.RecMDMACycleTime); if(ATAID.MinPIOCycleTimeNoFlow != 0) sb.AppendLine(). - AppendFormat("At minimum {0} ns. transfer cycle time per word in PIO, " + "without flow control", + AppendFormat(Localization.At_minimum_0_ns_transfer_cycle_time_per_word_in_PIO_without_flow_control, ATAID.MinPIOCycleTimeNoFlow); if(ATAID.MinPIOCycleTimeFlow != 0) sb.AppendLine(). - AppendFormat("At minimum {0} ns. transfer cycle time per word in PIO, " + "with IORDY flow control", + AppendFormat(Localization.At_minimum_0_ns_transfer_cycle_time_per_word_in_PIO_with_IORDY_flow_control, ATAID.MinPIOCycleTimeFlow); if(ATAID.MaxQueueDepth != 0) - sb.AppendLine().AppendFormat("{0} depth of queue maximum", ATAID.MaxQueueDepth + 1); + sb.AppendLine().AppendFormat(Localization._0_depth_of_queue_maximum, ATAID.MaxQueueDepth + 1); if(atapi) { if(ATAID.PacketBusRelease != 0) - sb.AppendLine().AppendFormat("{0} ns. typical to release bus from receipt of PACKET", + sb.AppendLine().AppendFormat(Localization._0_ns_typical_to_release_bus_from_receipt_of_PACKET, ATAID.PacketBusRelease); if(ATAID.ServiceBusyClear != 0) - sb.AppendLine().AppendFormat("{0} ns. typical to clear BSY bit from receipt of SERVICE", + sb.AppendLine().AppendFormat(Localization._0_ns_typical_to_clear_BSY_bit_from_receipt_of_SERVICE, ATAID.ServiceBusyClear); } @@ -1308,43 +1315,46 @@ public static class Identify { if(ATAID.SATACapabilities.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.SATACapabilitiesBit. Gen1Speed)) - sb.AppendLine().Append("SATA 1.5Gb/s is supported"); + sb.AppendLine().Append(Localization.SATA_1_5Gbs_is_supported); if(ATAID.SATACapabilities.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.SATACapabilitiesBit. Gen2Speed)) - sb.AppendLine().Append("SATA 3.0Gb/s is supported"); + sb.AppendLine().Append(Localization.SATA_3_0Gbs_is_supported); if(ATAID.SATACapabilities.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.SATACapabilitiesBit. Gen3Speed)) - sb.AppendLine().Append("SATA 6.0Gb/s is supported"); + sb.AppendLine().Append(Localization.SATA_6_0Gbs_is_supported); if(ATAID.SATACapabilities.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.SATACapabilitiesBit. PowerReceipt)) - sb.AppendLine().Append("Receipt of host initiated power management requests is supported"); + sb.AppendLine(). + Append(Localization.Receipt_of_host_initiated_power_management_requests_is_supported); if(ATAID.SATACapabilities.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.SATACapabilitiesBit. PHYEventCounter)) - sb.AppendLine().Append("PHY Event counters are supported"); + sb.AppendLine().Append(Localization.PHY_Event_counters_are_supported); if(ATAID.SATACapabilities.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.SATACapabilitiesBit. HostSlumbTrans)) - sb.AppendLine().Append("Supports host automatic partial to slumber transitions is supported"); + sb.AppendLine(). + Append(Localization.Supports_host_automatic_partial_to_slumber_transitions_is_supported); if(ATAID.SATACapabilities.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.SATACapabilitiesBit. DevSlumbTrans)) - sb.AppendLine().Append("Supports device automatic partial to slumber transitions is supported"); + sb.AppendLine(). + Append(Localization.Supports_device_automatic_partial_to_slumber_transitions_is_supported); if(ATAID.SATACapabilities.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.SATACapabilitiesBit.NCQ)) { - sb.AppendLine().Append("NCQ is supported"); + sb.AppendLine().Append(Localization.NCQ_is_supported); if(ATAID.SATACapabilities.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.SATACapabilitiesBit. NCQPriority)) - sb.AppendLine().Append("NCQ priority is supported"); + sb.AppendLine().Append(Localization.NCQ_priority_is_supported); if(ATAID.SATACapabilities.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.SATACapabilitiesBit. UnloadNCQ)) - sb.AppendLine().Append("Unload is supported with outstanding NCQ commands"); + sb.AppendLine().Append(Localization.Unload_is_supported_with_outstanding_NCQ_commands); } } @@ -1356,22 +1366,23 @@ public static class Identify { if(ATAID.SATACapabilities2.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.SATACapabilitiesBit2. NCQMgmt)) - sb.AppendLine().Append("NCQ queue management is supported"); + sb.AppendLine().Append(Localization.NCQ_queue_management_is_supported); if(ATAID.SATACapabilities2.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.SATACapabilitiesBit2. NCQStream)) - sb.AppendLine().Append("NCQ streaming is supported"); + sb.AppendLine().Append(Localization.NCQ_streaming_is_supported); } if(atapi) { if(ATAID.SATACapabilities2.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.SATACapabilitiesBit2. HostEnvDetect)) - sb.AppendLine().Append("ATAPI device supports host environment detection"); + sb.AppendLine().Append(Localization.ATAPI_device_supports_host_environment_detection); if(ATAID.SATACapabilities2.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.SATACapabilitiesBit2. DevAttSlimline)) - sb.AppendLine().Append("ATAPI device supports attention on slimline connected devices"); + sb.AppendLine(). + Append(Localization.ATAPI_device_supports_attention_on_slimline_connected_devices); } //sb.AppendFormat("Negotiated speed = {0}", ((ushort)ATAID.SATACapabilities2 & 0x000E) >> 1); @@ -1380,7 +1391,7 @@ public static class Identify if(ATAID.InterseekDelay != 0x0000 && ATAID.InterseekDelay != 0xFFFF) - sb.AppendLine().AppendFormat("{0} microseconds of interseek delay for ISO-7779 acoustic testing", + sb.AppendLine().AppendFormat(Localization._0_microseconds_of_interseek_delay_for_ISO_7779_acoustic_testing, ATAID.InterseekDelay); if((ushort)ATAID.DeviceFormFactor != 0x0000 && @@ -1388,27 +1399,27 @@ public static class Identify switch(ATAID.DeviceFormFactor) { case CommonTypes.Structs.Devices.ATA.Identify.DeviceFormFactorEnum.FiveAndQuarter: - sb.AppendLine().Append("Device nominal size is 5.25\""); + sb.AppendLine().Append(Localization.Device_nominal_size_is_5_25); break; case CommonTypes.Structs.Devices.ATA.Identify.DeviceFormFactorEnum.ThreeAndHalf: - sb.AppendLine().Append("Device nominal size is 3.5\""); + sb.AppendLine().Append(Localization.Device_nominal_size_is_3_5); break; case CommonTypes.Structs.Devices.ATA.Identify.DeviceFormFactorEnum.TwoAndHalf: - sb.AppendLine().Append("Device nominal size is 2.5\""); + sb.AppendLine().Append(Localization.Device_nominal_size_is_2_5); break; case CommonTypes.Structs.Devices.ATA.Identify.DeviceFormFactorEnum.OnePointEight: - sb.AppendLine().Append("Device nominal size is 1.8\""); + sb.AppendLine().Append(Localization.Device_nominal_size_is_1_8); break; case CommonTypes.Structs.Devices.ATA.Identify.DeviceFormFactorEnum.LessThanOnePointEight: - sb.AppendLine().Append("Device nominal size is smaller than 1.8\""); + sb.AppendLine().Append(Localization.Device_nominal_size_is_smaller_than_1_8); break; default: - sb.AppendLine().AppendFormat("Device nominal size field value {0} is unknown", + sb.AppendLine().AppendFormat(Localization.Device_nominal_size_field_value_0_is_unknown, ATAID.DeviceFormFactor); break; @@ -1416,350 +1427,290 @@ public static class Identify if(atapi) if(ATAID.ATAPIByteCount > 0) - sb.AppendLine().AppendFormat("{0} bytes count limit for ATAPI", ATAID.ATAPIByteCount); + sb.AppendLine().AppendFormat(Localization._0_bytes_count_limit_for_ATAPI, ATAID.ATAPIByteCount); if(cfa) if((ATAID.CFAPowerMode & 0x8000) == 0x8000) { - sb.AppendLine().Append("CompactFlash device supports power mode 1"); + sb.AppendLine().Append(Localization.CompactFlash_device_supports_power_mode_1); if((ATAID.CFAPowerMode & 0x2000) == 0x2000) - sb.AppendLine().Append("CompactFlash power mode 1 required for one or more commands"); + sb.AppendLine().Append(Localization.CompactFlash_power_mode_1_required_for_one_or_more_commands); if((ATAID.CFAPowerMode & 0x1000) == 0x1000) - sb.AppendLine().Append("CompactFlash power mode 1 is disabled"); + sb.AppendLine().Append(Localization.CompactFlash_power_mode_1_is_disabled); - sb.AppendLine().AppendFormat("CompactFlash device uses a maximum of {0} mA", + sb.AppendLine().AppendFormat(Localization.CompactFlash_device_uses_a_maximum_of_0_mA, ATAID.CFAPowerMode & 0x0FFF); } sb.AppendLine(); - sb.AppendLine().Append("Command set and features:"); + sb.AppendLine().Append(Localization.Command_set_and_features); if(ATAID.CommandSet.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.CommandSetBit.Nop)) - { - sb.AppendLine().Append("NOP is supported"); - - if(ATAID.EnabledCommandSet.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.CommandSetBit.Nop)) - sb.Append(" and enabled"); - } + sb.AppendLine(). + Append(ATAID.EnabledCommandSet.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.CommandSetBit.Nop) + ? Localization.NOP_is_supported_and_enabled : Localization.NOP_is_supported); if(ATAID.CommandSet.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.CommandSetBit.ReadBuffer)) - { - sb.AppendLine().Append("READ BUFFER is supported"); - - if(ATAID.EnabledCommandSet.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.CommandSetBit.ReadBuffer)) - sb.Append(" and enabled"); - } + sb.AppendLine(). + Append(ATAID.EnabledCommandSet.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.CommandSetBit.ReadBuffer) + ? Localization.READ_BUFFER_is_supported_and_enabled : Localization.READ_BUFFER_is_supported); if(ATAID.CommandSet.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.CommandSetBit.WriteBuffer)) - { - sb.AppendLine().Append("WRITE BUFFER is supported"); - - if(ATAID.EnabledCommandSet.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.CommandSetBit.WriteBuffer)) - sb.Append(" and enabled"); - } + sb.AppendLine(). + Append(ATAID.EnabledCommandSet.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.CommandSetBit. + WriteBuffer) + ? Localization.WRITE_BUFFER_is_supported_and_enabled + : Localization.WRITE_BUFFER_is_supported); if(ATAID.CommandSet.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.CommandSetBit.HPA)) - { - sb.AppendLine().Append("Host Protected Area is supported"); - - if(ATAID.EnabledCommandSet.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.CommandSetBit.HPA)) - sb.Append(" and enabled"); - } + sb.AppendLine(). + Append(ATAID.EnabledCommandSet.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.CommandSetBit.HPA) + ? Localization.Host_Protected_Area_is_supported_and_enabled + : Localization.Host_Protected_Area_is_supported); if(ATAID.CommandSet.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.CommandSetBit.DeviceReset)) - { - sb.AppendLine().Append("DEVICE RESET is supported"); - - if(ATAID.EnabledCommandSet.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.CommandSetBit.DeviceReset)) - sb.Append(" and enabled"); - } + sb.AppendLine(). + Append(ATAID.EnabledCommandSet.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.CommandSetBit. + DeviceReset) + ? Localization.DEVICE_RESET_is_supported_and_enabled : Localization._); if(ATAID.CommandSet.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.CommandSetBit.Service)) - { - sb.AppendLine().Append("SERVICE interrupt is supported"); - - if(ATAID.EnabledCommandSet.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.CommandSetBit.Service)) - sb.Append(" and enabled"); - } + sb.AppendLine(). + Append(ATAID.EnabledCommandSet.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.CommandSetBit.Service) + ? Localization.SERVICE_interrupt_is_supported_and_enabled + : Localization.SERVICE_interrupt_is_supported); if(ATAID.CommandSet.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.CommandSetBit.Release)) - { - sb.AppendLine().Append("Release is supported"); - - if(ATAID.EnabledCommandSet.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.CommandSetBit.Release)) - sb.Append(" and enabled"); - } + sb.AppendLine(). + Append(ATAID.EnabledCommandSet.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.CommandSetBit.Release) + ? Localization.Release_is_supported_and_enabled : Localization.Release_is_supported); if(ATAID.CommandSet.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.CommandSetBit.LookAhead)) - { - sb.AppendLine().Append("Look-ahead read is supported"); - - if(ATAID.EnabledCommandSet.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.CommandSetBit.LookAhead)) - sb.Append(" and enabled"); - } + sb.AppendLine(). + Append(ATAID.EnabledCommandSet.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.CommandSetBit.LookAhead) + ? Localization.Look_ahead_read_is_supported_and_enabled + : Localization.Look_ahead_read_is_supported); if(ATAID.CommandSet.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.CommandSetBit.WriteCache)) - { - sb.AppendLine().Append("Write cache is supported"); - - if(ATAID.EnabledCommandSet.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.CommandSetBit.WriteCache)) - sb.Append(" and enabled"); - } + sb.AppendLine(). + Append(ATAID.EnabledCommandSet.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.CommandSetBit.WriteCache) + ? Localization.Write_cache_is_supported_and_enabled : Localization.Write_cache_is_supported); if(ATAID.CommandSet.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.CommandSetBit.Packet)) - { - sb.AppendLine().Append("PACKET is supported"); - - if(ATAID.EnabledCommandSet.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.CommandSetBit.Packet)) - sb.Append(" and enabled"); - } + sb.AppendLine(). + Append(ATAID.EnabledCommandSet.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.CommandSetBit.Packet) + ? Localization.PACKET_is_supported_and_enabled : Localization.PACKET_is_supported); if(ATAID.CommandSet.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.CommandSetBit.PowerManagement)) - { - sb.AppendLine().Append("Power management is supported"); - - if(ATAID.EnabledCommandSet.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.CommandSetBit.PowerManagement)) - sb.Append(" and enabled"); - } + sb.AppendLine(). + Append(ATAID.EnabledCommandSet.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.CommandSetBit. + PowerManagement) + ? Localization.Power_management_is_supported_and_enabled + : Localization.Power_management_is_supported); if(ATAID.CommandSet.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.CommandSetBit.RemovableMedia)) - { - sb.AppendLine().Append("Removable media feature set is supported"); - - if(ATAID.EnabledCommandSet.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.CommandSetBit.RemovableMedia)) - sb.Append(" and enabled"); - } + sb.AppendLine(). + Append(ATAID.EnabledCommandSet.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.CommandSetBit. + RemovableMedia) + ? Localization.Removable_media_feature_set_is_supported_and_enabled + : Localization.Removable_media_feature_set_is_supported); if(ATAID.CommandSet.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.CommandSetBit.SecurityMode)) - { - sb.AppendLine().Append("Security mode is supported"); - - if(ATAID.EnabledCommandSet.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.CommandSetBit.SecurityMode)) - sb.Append(" and enabled"); - } + sb.AppendLine(). + Append(ATAID.EnabledCommandSet.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.CommandSetBit. + SecurityMode) + ? Localization.Security_mode_is_supported_and_enabled + : Localization.Security_mode_is_supported); if(ATAID.Capabilities.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.CapabilitiesBit.LBASupport)) - sb.AppendLine().Append("28-bit LBA is supported"); + sb.AppendLine().Append(Localization._28_bit_LBA_is_supported); if(ATAID.CommandSet2.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.CommandSetBit2.MustBeSet) && !ATAID.CommandSet2.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.CommandSetBit2.MustBeClear)) { if(ATAID.CommandSet2.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.CommandSetBit2.LBA48)) - { - sb.AppendLine().Append("48-bit LBA is supported"); - - if(ATAID.EnabledCommandSet2.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.CommandSetBit2.LBA48)) - sb.Append(" and enabled"); - } + sb.AppendLine(). + Append(ATAID.EnabledCommandSet2.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.CommandSetBit2. + LBA48) ? Localization. + _48_bit_LBA_is_supported_and_enabled : Localization._48_bit_LBA_is_supported); if(ATAID.CommandSet2.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.CommandSetBit2.FlushCache)) - { - sb.AppendLine().Append("FLUSH CACHE is supported"); - - if(ATAID.EnabledCommandSet2.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.CommandSetBit2.FlushCache)) - sb.Append(" and enabled"); - } + sb.AppendLine(). + Append(ATAID.EnabledCommandSet2.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.CommandSetBit2. + FlushCache) ? Localization. + FLUSH_CACHE_is_supported_and_enabled : Localization.FLUSH_CACHE_is_supported); if(ATAID.CommandSet2.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.CommandSetBit2.FlushCacheExt)) - { - sb.AppendLine().Append("FLUSH CACHE EXT is supported"); - - if(ATAID.EnabledCommandSet2.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.CommandSetBit2. - FlushCacheExt)) - sb.Append(" and enabled"); - } + sb.AppendLine(). + Append(ATAID.EnabledCommandSet2.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.CommandSetBit2. + FlushCacheExt) + ? Localization.FLUSH_CACHE_EXT_is_supported_and_enabled + : Localization.FLUSH_CACHE_EXT_is_supported); if(ATAID.CommandSet2.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.CommandSetBit2.DCO)) - { - sb.AppendLine().Append("Device Configuration Overlay feature set is supported"); - - if(ATAID.EnabledCommandSet2.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.CommandSetBit2.DCO)) - sb.Append(" and enabled"); - } + sb.AppendLine(). + Append(ATAID.EnabledCommandSet2.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.CommandSetBit2.DCO) + ? Localization.Device_Configuration_Overlay_feature_set_is_supported_and_enabled + : Localization.Device_Configuration_Overlay_feature_set_is_supported); if(ATAID.CommandSet2.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.CommandSetBit2.AAM)) { - sb.AppendLine().Append("Automatic Acoustic Management is supported"); - if(ATAID.EnabledCommandSet2.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.CommandSetBit2.AAM)) - sb.AppendFormat(" and enabled with value {0} (vendor recommends {1}", ATAID.CurrentAAM, - ATAID.RecommendedAAM); + sb.AppendLine(). + AppendFormat(Localization.Automatic_Acoustic_Management_is_supported_and_enabled_with_value_0_vendor_recommends_1, + ATAID.CurrentAAM, ATAID.RecommendedAAM); + else + sb.AppendLine().Append(Localization.Automatic_Acoustic_Management_is_supported); } if(ATAID.CommandSet2.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.CommandSetBit2.SetMax)) - { - sb.AppendLine().Append("SET MAX security extension is supported"); - - if(ATAID.EnabledCommandSet2.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.CommandSetBit2.SetMax)) - sb.Append(" and enabled"); - } + sb.AppendLine(). + Append(ATAID.EnabledCommandSet2.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.CommandSetBit2. + SetMax) ? Localization. + SET_MAX_security_extension_is_supported_and_enabled + : Localization.SET_MAX_security_extension_is_supported); if(ATAID.CommandSet2.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.CommandSetBit2. AddressOffsetReservedAreaBoot)) - { - sb.AppendLine().Append("Address Offset Reserved Area Boot is supported"); - - if(ATAID.EnabledCommandSet2.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.CommandSetBit2. - AddressOffsetReservedAreaBoot)) - sb.Append(" and enabled"); - } + sb.AppendLine(). + Append(ATAID.EnabledCommandSet2.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.CommandSetBit2. + AddressOffsetReservedAreaBoot) + ? Localization.Address_Offset_Reserved_Area_Boot_is_supported_and_enabled + : Localization.Address_Offset_Reserved_Area_Boot_is_supported); if(ATAID.CommandSet2.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.CommandSetBit2.SetFeaturesRequired)) - sb.AppendLine().Append("SET FEATURES is required before spin-up"); + sb.AppendLine().Append(Localization.SET_FEATURES_is_required_before_spin_up); if(ATAID.CommandSet2.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.CommandSetBit2.PowerUpInStandby)) - { - sb.AppendLine().Append("Power-up in standby is supported"); - - if(ATAID.EnabledCommandSet2.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.CommandSetBit2. - PowerUpInStandby)) - sb.Append(" and enabled"); - } + sb.AppendLine(). + Append(ATAID.EnabledCommandSet2.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.CommandSetBit2. + PowerUpInStandby) + ? Localization.Power_up_in_standby_is_supported_and_enabled + : Localization.Power_up_in_standby_is_supported); if(ATAID.CommandSet2.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.CommandSetBit2.RemovableNotification)) - { - sb.AppendLine().Append("Removable Media Status Notification is supported"); - - if(ATAID.EnabledCommandSet2.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.CommandSetBit2. - RemovableNotification)) - sb.Append(" and enabled"); - } + sb.AppendLine(). + Append(ATAID.EnabledCommandSet2.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.CommandSetBit2. + RemovableNotification) + ? Localization.Removable_Media_Status_Notification_is_supported_and_enabled + : Localization.Removable_Media_Status_Notification_is_supported); if(ATAID.CommandSet2.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.CommandSetBit2.APM)) { - sb.AppendLine().Append("Advanced Power Management is supported"); - if(ATAID.EnabledCommandSet2.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.CommandSetBit2.APM)) - sb.AppendFormat(" and enabled with value {0}", ATAID.CurrentAPM); + sb.AppendLine(). + AppendFormat(Localization.Advanced_Power_Management_is_supported_and_enabled_with_value_0, + ATAID.CurrentAPM); + else + sb.AppendLine().Append(Localization.Advanced_Power_Management_is_supported); } if(ATAID.CommandSet2.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.CommandSetBit2.CompactFlash)) - { - sb.AppendLine().Append("CompactFlash feature set is supported"); - - if(ATAID.EnabledCommandSet2.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.CommandSetBit2. - CompactFlash)) - sb.Append(" and enabled"); - } + sb.AppendLine(). + Append(ATAID.EnabledCommandSet2.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.CommandSetBit2. + CompactFlash) + ? Localization.CompactFlash_feature_set_is_supported_and_enabled + : Localization.CompactFlash_feature_set_is_supported); if(ATAID.CommandSet2.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.CommandSetBit2.RWQueuedDMA)) - { - sb.AppendLine().Append("READ DMA QUEUED and WRITE DMA QUEUED are supported"); - - if(ATAID.EnabledCommandSet2.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.CommandSetBit2. - RWQueuedDMA)) - sb.Append(" and enabled"); - } + sb.AppendLine(). + Append(ATAID.EnabledCommandSet2.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.CommandSetBit2. + RWQueuedDMA) + ? Localization.READ_DMA_QUEUED_and_WRITE_DMA_QUEUED_are_supported_and_enabled + : Localization.READ_DMA_QUEUED_and_WRITE_DMA_QUEUED_are_supported); if(ATAID.CommandSet2.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.CommandSetBit2.DownloadMicrocode)) - { - sb.AppendLine().Append("DOWNLOAD MICROCODE is supported"); - - if(ATAID.EnabledCommandSet2.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.CommandSetBit2. - DownloadMicrocode)) - sb.Append(" and enabled"); - } + sb.AppendLine(). + Append(ATAID.EnabledCommandSet2.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.CommandSetBit2. + DownloadMicrocode) + ? Localization.DOWNLOAD_MICROCODE_is_supported_and_enabled + : Localization.DOWNLOAD_MICROCODE_is_supported); } if(ATAID.CommandSet.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.CommandSetBit.SMART)) - { - sb.AppendLine().Append("S.M.A.R.T. is supported"); - - if(ATAID.EnabledCommandSet.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.CommandSetBit.SMART)) - sb.Append(" and enabled"); - } + sb.AppendLine(). + Append(ATAID.EnabledCommandSet.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.CommandSetBit.SMART) + ? Localization.SMART_is_supported_and_enabled : Localization.SMART_is_supported); if(ATAID.SCTCommandTransport.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.SCTCommandTransportBit.Supported)) - sb.AppendLine().Append("S.M.A.R.T. Command Transport is supported"); + sb.AppendLine().Append(Localization.SMART_Command_Transport_is_supported); if(ATAID.CommandSet3.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.CommandSetBit3.MustBeSet) && !ATAID.CommandSet3.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.CommandSetBit3.MustBeClear)) { if(ATAID.CommandSet3.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.CommandSetBit3.SMARTSelfTest)) - { - sb.AppendLine().Append("S.M.A.R.T. self-testing is supported"); - - if(ATAID.EnabledCommandSet3.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.CommandSetBit3. - SMARTSelfTest)) - sb.Append(" and enabled"); - } + sb.AppendLine(). + Append(ATAID.EnabledCommandSet3.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.CommandSetBit3. + SMARTSelfTest) + ? Localization.SMART_self_testing_is_supported_and_enabled + : Localization.SMART_self_testing_is_supported); if(ATAID.CommandSet3.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.CommandSetBit3.SMARTLog)) - { - sb.AppendLine().Append("S.M.A.R.T. error logging is supported"); - - if(ATAID.EnabledCommandSet3.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.CommandSetBit3.SMARTLog)) - sb.Append(" and enabled"); - } + sb.AppendLine(). + Append(ATAID.EnabledCommandSet3.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.CommandSetBit3. + SMARTLog) ? Localization. + SMART_error_logging_is_supported_and_enabled + : Localization.SMART_error_logging_is_supported); if(ATAID.CommandSet3.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.CommandSetBit3.IdleImmediate)) - { - sb.AppendLine().Append("IDLE IMMEDIATE with UNLOAD FEATURE is supported"); - - if(ATAID.EnabledCommandSet3.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.CommandSetBit3. - IdleImmediate)) - sb.Append(" and enabled"); - } + sb.AppendLine(). + Append(ATAID.EnabledCommandSet3.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.CommandSetBit3. + IdleImmediate) + ? Localization.IDLE_IMMEDIATE_with_UNLOAD_FEATURE_is_supported_and_enabled + : Localization.IDLE_IMMEDIATE_with_UNLOAD_FEATURE_is_supported); if(ATAID.CommandSet3.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.CommandSetBit3.WriteURG)) - sb.AppendLine().Append("URG bit is supported in WRITE STREAM DMA EXT and WRITE STREAM EXT"); + sb.AppendLine().Append(Localization.URG_bit_is_supported_in_WRITE_STREAM_DMA_EXT_and_WRITE_STREAM_EXT); if(ATAID.CommandSet3.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.CommandSetBit3.ReadURG)) - sb.AppendLine().Append("URG bit is supported in READ STREAM DMA EXT and READ STREAM EXT"); + sb.AppendLine().Append(Localization.URG_bit_is_supported_in_READ_STREAM_DMA_EXT_and_READ_STREAM_EXT); if(ATAID.CommandSet3.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.CommandSetBit3.WWN)) - sb.AppendLine().Append("Device has a World Wide Name"); + sb.AppendLine().Append(Localization.Device_has_a_World_Wide_Name); if(ATAID.CommandSet3.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.CommandSetBit3.FUAWriteQ)) - { - sb.AppendLine().Append("WRITE DMA QUEUED FUA EXT is supported"); - - if(ATAID.EnabledCommandSet3.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.CommandSetBit3.FUAWriteQ)) - sb.Append(" and enabled"); - } + sb.AppendLine(). + Append(ATAID.EnabledCommandSet3.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.CommandSetBit3. + FUAWriteQ) + ? Localization.WRITE_DMA_QUEUED_FUA_EXT_is_supported_and_enabled + : Localization.WRITE_DMA_QUEUED_FUA_EXT_is_supported); if(ATAID.CommandSet3.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.CommandSetBit3.FUAWrite)) - { - sb.AppendLine().Append("WRITE DMA FUA EXT and WRITE MULTIPLE FUA EXT are supported"); - - if(ATAID.EnabledCommandSet3.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.CommandSetBit3.FUAWrite)) - sb.Append(" and enabled"); - } + sb.AppendLine(). + Append(ATAID.EnabledCommandSet3.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.CommandSetBit3. + FUAWrite) + ? Localization.WRITE_DMA_FUA_EXT_and_WRITE_MULTIPLE_FUA_EXT_are_supported_and_enabled + : Localization.WRITE_DMA_FUA_EXT_and_WRITE_MULTIPLE_FUA_EXT_are_supported); if(ATAID.CommandSet3.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.CommandSetBit3.GPL)) - { - sb.AppendLine().Append("General Purpose Logging is supported"); - - if(ATAID.EnabledCommandSet3.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.CommandSetBit3.GPL)) - sb.Append(" and enabled"); - } + sb.AppendLine(). + Append(ATAID.EnabledCommandSet3.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.CommandSetBit3.GPL) + ? Localization.General_Purpose_Logging_is_supported_and_enabled + : Localization.General_Purpose_Logging_is_supported); if(ATAID.CommandSet3.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.CommandSetBit3.Streaming)) - { - sb.AppendLine().Append("Streaming feature set is supported"); - - if(ATAID.EnabledCommandSet3.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.CommandSetBit3.Streaming)) - sb.Append(" and enabled"); - } + sb.AppendLine(). + Append(ATAID.EnabledCommandSet3.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.CommandSetBit3. + Streaming) + ? Localization.Streaming_feature_set_is_supported_and_enabled + : Localization.Streaming_feature_set_is_supported); if(ATAID.CommandSet3.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.CommandSetBit3.MCPT)) - { - sb.AppendLine().Append("Media Card Pass Through command set is supported"); - - if(ATAID.EnabledCommandSet3.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.CommandSetBit3.MCPT)) - sb.Append(" and enabled"); - } + sb.AppendLine(). + Append(ATAID.EnabledCommandSet3.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.CommandSetBit3.MCPT) + ? Localization.Media_Card_Pass_Through_command_set_is_supported_and_enabled + : Localization.Media_Card_Pass_Through_command_set_is_supported); if(ATAID.CommandSet3.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.CommandSetBit3.MediaSerial)) { - sb.AppendLine().Append("Media Serial is supported"); - if(ATAID.EnabledCommandSet3.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.CommandSetBit3. MediaSerial)) - sb.Append(" and valid"); + sb.AppendLine().Append(Localization.Media_Serial_is_supported_and_valid); + + sb.AppendLine().Append(Localization.Media_Serial_is_supported); } } @@ -1767,165 +1718,152 @@ public static class Identify !ATAID.CommandSet4.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.CommandSetBit4.MustBeClear)) { if(ATAID.CommandSet4.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.CommandSetBit4.DSN)) - { - sb.AppendLine().Append("DSN feature set is supported"); - - if(ATAID.EnabledCommandSet4.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.CommandSetBit4.DSN)) - sb.Append(" and enabled"); - } + sb.AppendLine(). + Append(ATAID.EnabledCommandSet4.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.CommandSetBit4.DSN) + ? Localization.DSN_feature_set_is_supported_and_enabled + : Localization.DSN_feature_set_is_supported); if(ATAID.CommandSet4.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.CommandSetBit4.AMAC)) - { - sb.AppendLine().Append("Accessible Max Address Configuration is supported"); - - if(ATAID.EnabledCommandSet4.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.CommandSetBit4.AMAC)) - sb.Append(" and enabled"); - } + sb.AppendLine(). + Append(ATAID.EnabledCommandSet4.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.CommandSetBit4.AMAC) + ? Localization.Accessible_Max_Address_Configuration_is_supported_and_enabled + : Localization.Accessible_Max_Address_Configuration_is_supported); if(ATAID.CommandSet4.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.CommandSetBit4.ExtPowerCond)) - { - sb.AppendLine().Append("Extended Power Conditions are supported"); - - if(ATAID.EnabledCommandSet4.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.CommandSetBit4. - ExtPowerCond)) - sb.Append(" and enabled"); - } + sb.AppendLine(). + Append(ATAID.EnabledCommandSet4.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.CommandSetBit4. + ExtPowerCond) + ? Localization.Extended_Power_Conditions_are_supported_and_enabled + : Localization.Extended_Power_Conditions_are_supported); if(ATAID.CommandSet4.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.CommandSetBit4.ExtStatusReport)) - { - sb.AppendLine().Append("Extended Status Reporting is supported"); - - if(ATAID.EnabledCommandSet4.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.CommandSetBit4. - ExtStatusReport)) - sb.Append(" and enabled"); - } + sb.AppendLine(). + Append(ATAID.EnabledCommandSet4.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.CommandSetBit4. + ExtStatusReport) + ? Localization.Extended_Status_Reporting_is_supported_and_enabled + : Localization.Extended_Status_Reporting_is_supported); if(ATAID.CommandSet4.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.CommandSetBit4.FreeFallControl)) - { - sb.AppendLine().Append("Free-fall control feature set is supported"); - - if(ATAID.EnabledCommandSet4.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.CommandSetBit4. - FreeFallControl)) - sb.Append(" and enabled"); - } + sb.AppendLine(). + Append(ATAID.EnabledCommandSet4.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.CommandSetBit4. + FreeFallControl) + ? Localization.Free_fall_control_feature_set_is_supported_and_enabled + : Localization.Free_fall_control_feature_set_is_supported); if(ATAID.CommandSet4.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.CommandSetBit4. SegmentedDownloadMicrocode)) - { - sb.AppendLine().Append("Segmented feature in DOWNLOAD MICROCODE is supported"); - - if(ATAID.EnabledCommandSet4.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.CommandSetBit4. - SegmentedDownloadMicrocode)) - sb.Append(" and enabled"); - } + sb.AppendLine(). + Append(ATAID.EnabledCommandSet4.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.CommandSetBit4. + SegmentedDownloadMicrocode) + ? Localization.Segmented_feature_in_DOWNLOAD_MICROCODE_is_supported_and_enabled + : Localization.Segmented_feature_in_DOWNLOAD_MICROCODE_is_supported); if(ATAID.CommandSet4.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.CommandSetBit4.RWDMAExtGpl)) - { - sb.AppendLine().Append("READ/WRITE DMA EXT GPL are supported"); - - if(ATAID.EnabledCommandSet4.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.CommandSetBit4. - RWDMAExtGpl)) - sb.Append(" and enabled"); - } + sb.AppendLine(). + Append(ATAID.EnabledCommandSet4.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.CommandSetBit4. + RWDMAExtGpl) + ? Localization.READ_WRITE_DMA_EXT_GPL_are_supported_and_enabled + : Localization.READ_WRITE_DMA_EXT_GPL_are_supported); if(ATAID.CommandSet4.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.CommandSetBit4.WriteUnc)) - { - sb.AppendLine().Append("WRITE UNCORRECTABLE is supported"); - - if(ATAID.EnabledCommandSet4.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.CommandSetBit4.WriteUnc)) - sb.Append(" and enabled"); - } + sb.AppendLine(). + Append(ATAID.EnabledCommandSet4.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.CommandSetBit4. + WriteUnc) ? Localization. + WRITE_UNCORRECTABLE_is_supported_and_enabled + : Localization.WRITE_UNCORRECTABLE_is_supported); if(ATAID.CommandSet4.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.CommandSetBit4.WRV)) { - sb.AppendLine().Append("Write/Read/Verify is supported"); + sb.AppendLine(). + Append(ATAID.EnabledCommandSet4.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.CommandSetBit4.WRV) + ? Localization.Write_Read_Verify_is_supported_and_enabled + : Localization.Write_Read_Verify_is_supported); + + sb.AppendLine().AppendFormat(Localization._0_sectors_for_Write_Read_Verify_mode_two, + ATAID.WRVSectorCountMode2); + + sb.AppendLine().AppendFormat(Localization._0_sectors_for_Write_Read_Verify_mode_three, + ATAID.WRVSectorCountMode3); if(ATAID.EnabledCommandSet4.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.CommandSetBit4.WRV)) - sb.Append(" and enabled"); - - sb.AppendLine().AppendFormat("{0} sectors for Write/Read/Verify mode 2", ATAID.WRVSectorCountMode2); - sb.AppendLine().AppendFormat("{0} sectors for Write/Read/Verify mode 3", ATAID.WRVSectorCountMode3); - - if(ATAID.EnabledCommandSet4.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.CommandSetBit4.WRV)) - sb.AppendLine().AppendFormat("Current Write/Read/Verify mode: {0}", ATAID.WRVMode); + sb.AppendLine().AppendFormat(Localization.Current_Write_Read_Verify_mode_0, ATAID.WRVMode); } if(ATAID.CommandSet4.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.CommandSetBit4.DT1825)) - { - sb.AppendLine().Append("DT1825 is supported"); - - if(ATAID.EnabledCommandSet4.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.CommandSetBit4.DT1825)) - sb.Append(" and enabled"); - } + sb.AppendLine(). + Append(ATAID.EnabledCommandSet4.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.CommandSetBit4. + DT1825) ? Localization. + DT1825_is_supported_and_enabled : Localization.DT1825_is_supported); } if(ATAID.Capabilities3.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.CapabilitiesBit3.BlockErase)) - sb.AppendLine().Append("BLOCK ERASE EXT is supported"); + sb.AppendLine().Append(Localization.BLOCK_ERASE_EXT_is_supported); if(ATAID.Capabilities3.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.CapabilitiesBit3.Overwrite)) - sb.AppendLine().Append("OVERWRITE EXT is supported"); + sb.AppendLine().Append(Localization.OVERWRITE_EXT_is_supported); if(ATAID.Capabilities3.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.CapabilitiesBit3.CryptoScramble)) - sb.AppendLine().Append("CRYPTO SCRAMBLE EXT is supported"); + sb.AppendLine().Append(Localization.CRYPTO_SCRAMBLE_EXT_is_supported); if(ATAID.CommandSet5.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.CommandSetBit5.DeviceConfDMA)) - sb.AppendLine().Append("DEVICE CONFIGURATION IDENTIFY DMA and DEVICE CONFIGURATION SET DMA are supported"); + sb.AppendLine().Append(Localization. + DEVICE_CONFIGURATION_IDENTIFY_DMA_and_DEVICE_CONFIGURATION_SET_DMA_are_supported); if(ATAID.CommandSet5.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.CommandSetBit5.ReadBufferDMA)) - sb.AppendLine().Append("READ BUFFER DMA is supported"); + sb.AppendLine().Append(Localization.READ_BUFFER_DMA_is_supported); if(ATAID.CommandSet5.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.CommandSetBit5.WriteBufferDMA)) - sb.AppendLine().Append("WRITE BUFFER DMA is supported"); + sb.AppendLine().Append(Localization.WRITE_BUFFER_DMA_is_supported); if(ATAID.CommandSet5.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.CommandSetBit5.DownloadMicroCodeDMA)) - sb.AppendLine().Append("DOWNLOAD MICROCODE DMA is supported"); + sb.AppendLine().Append(Localization.DOWNLOAD_MICROCODE_DMA_is_supported); if(ATAID.CommandSet5.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.CommandSetBit5.SetMaxDMA)) - sb.AppendLine().Append("SET PASSWORD DMA and SET UNLOCK DMA are supported"); + sb.AppendLine().Append(Localization.SET_PASSWORD_DMA_and_SET_UNLOCK_DMA_are_supported); if(ATAID.CommandSet5.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.CommandSetBit5.Ata28)) - sb.AppendLine().Append("Not all 28-bit commands are supported"); + sb.AppendLine().Append(Localization.Not_all_28_bit_commands_are_supported); if(ATAID.CommandSet5.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.CommandSetBit5.CFast)) - sb.AppendLine().Append("Device follows CFast specification"); + sb.AppendLine().Append(Localization.Device_follows_CFast_specification); if(ATAID.CommandSet5.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.CommandSetBit5.IEEE1667)) - sb.AppendLine().Append("Device follows IEEE-1667"); + sb.AppendLine().Append(Localization.Device_follows_IEEE_1667); if(ATAID.CommandSet5.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.CommandSetBit5.DeterministicTrim)) { - sb.AppendLine().Append("Read after TRIM is deterministic"); + sb.AppendLine().Append(Localization.Read_after_TRIM_is_deterministic); if(ATAID.CommandSet5.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.CommandSetBit5.ReadZeroTrim)) - sb.AppendLine().Append("Read after TRIM returns empty data"); + sb.AppendLine().Append(Localization.Read_after_TRIM_returns_empty_data); } if(ATAID.CommandSet5.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.CommandSetBit5.LongPhysSectorAligError)) - sb.AppendLine().Append("Device supports Long Physical Sector Alignment Error Reporting Control"); + sb.AppendLine().Append(Localization.Device_supports_Long_Physical_Sector_Alignment_Error_Reporting_Control); if(ATAID.CommandSet5.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.CommandSetBit5.Encrypted)) - sb.AppendLine().Append("Device encrypts all user data"); + sb.AppendLine().Append(Localization.Device_encrypts_all_user_data); if(ATAID.CommandSet5.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.CommandSetBit5.AllCacheNV)) - sb.AppendLine().Append("Device's write cache is non-volatile"); + sb.AppendLine().Append(Localization.Device_s_write_cache_is_non_volatile); if(ATAID.CommandSet5.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.CommandSetBit5.ZonedBit0) || ATAID.CommandSet5.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.CommandSetBit5.ZonedBit1)) - sb.AppendLine().Append("Device is zoned"); + sb.AppendLine().Append(Localization.Device_is_zoned); if(ATAID.Capabilities3.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.CapabilitiesBit3.Sanitize)) { - sb.AppendLine().Append("Sanitize feature set is supported"); + sb.AppendLine().Append(Localization.Sanitize_feature_set_is_supported); sb.AppendLine(). Append(ATAID.Capabilities3.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.CapabilitiesBit3. SanitizeCommands) - ? "Sanitize commands are specified by ACS-3 or higher" - : "Sanitize commands are specified by ACS-2"); + ? Localization.Sanitize_commands_are_specified_by_ACS_3_or_higher + : Localization.Sanitize_commands_are_specified_by_ACS_2); if(ATAID.Capabilities3.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.CapabilitiesBit3. SanitizeAntifreeze)) - sb.AppendLine().Append("SANITIZE ANTIFREEZE LOCK EXT is supported"); + sb.AppendLine().Append(Localization.SANITIZE_ANTIFREEZE_LOCK_EXT_is_supported); } if(!ata1 && @@ -1934,7 +1872,7 @@ public static class Identify !ATAID.TrustedComputing.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.TrustedComputingBit.Clear) && ATAID.TrustedComputing.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.TrustedComputingBit. TrustedComputing)) - sb.AppendLine().Append("Trusted Computing feature set is supported"); + sb.AppendLine().Append(Localization.Trusted_Computing_feature_set_is_supported); if((ATAID.TransportMajorVersion & 0xF000) >> 12 == 0x1 || (ATAID.TransportMajorVersion & 0xF000) >> 12 == 0xE) @@ -1942,51 +1880,43 @@ public static class Identify if(!ATAID.SATACapabilities.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.SATACapabilitiesBit.Clear)) if(ATAID.SATACapabilities.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.SATACapabilitiesBit. ReadLogDMAExt)) - sb.AppendLine().Append("READ LOG DMA EXT is supported"); + sb.AppendLine().Append(Localization.READ_LOG_DMA_EXT_is_supported); if(!ATAID.SATACapabilities2.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.SATACapabilitiesBit2.Clear)) if(ATAID.SATACapabilities2.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.SATACapabilitiesBit2. FPDMAQ)) - sb.AppendLine().Append("RECEIVE FPDMA QUEUED and SEND FPDMA QUEUED are supported"); + sb.AppendLine().Append(Localization.RECEIVE_FPDMA_QUEUED_and_SEND_FPDMA_QUEUED_are_supported); if(!ATAID.SATAFeatures.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.SATAFeaturesBit.Clear)) { if(ATAID.SATAFeatures.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.SATAFeaturesBit. NonZeroBufferOffset)) - { - sb.AppendLine().Append("Non-zero buffer offsets are supported"); - - if(ATAID.EnabledSATAFeatures.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.SATAFeaturesBit. - NonZeroBufferOffset)) - sb.Append(" and enabled"); - } + sb.AppendLine(). + Append(ATAID.EnabledSATAFeatures.HasFlag(CommonTypes.Structs.Devices.ATA.Identify. + SATAFeaturesBit.NonZeroBufferOffset) + ? Localization.Non_zero_buffer_offsets_are_supported_and_enabled + : Localization.Non_zero_buffer_offsets_are_supported); if(ATAID.SATAFeatures.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.SATAFeaturesBit.DMASetup)) - { - sb.AppendLine().Append("DMA Setup auto-activation is supported"); - - if(ATAID.EnabledSATAFeatures.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.SATAFeaturesBit. - DMASetup)) - sb.Append(" and enabled"); - } + sb.AppendLine(). + Append(ATAID.EnabledSATAFeatures.HasFlag(CommonTypes.Structs.Devices.ATA.Identify. + SATAFeaturesBit.DMASetup) + ? Localization.DMA_Setup_auto_activation_is_supported_and_enabled + : Localization.DMA_Setup_auto_activation_is_supported); if(ATAID.SATAFeatures.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.SATAFeaturesBit.InitPowerMgmt)) - { - sb.AppendLine().Append("Device-initiated power management is supported"); - - if(ATAID.EnabledSATAFeatures.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.SATAFeaturesBit. - InitPowerMgmt)) - sb.Append(" and enabled"); - } + sb.AppendLine(). + Append(ATAID.EnabledSATAFeatures.HasFlag(CommonTypes.Structs.Devices.ATA.Identify. + SATAFeaturesBit.InitPowerMgmt) + ? Localization.Device_initiated_power_management_is_supported_and_enabled + : Localization.Device_initiated_power_management_is_supported); if(ATAID.SATAFeatures.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.SATAFeaturesBit.InOrderData)) - { - sb.AppendLine().Append("In-order data delivery is supported"); - - if(ATAID.EnabledSATAFeatures.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.SATAFeaturesBit. - InOrderData)) - sb.Append(" and enabled"); - } + sb.AppendLine(). + Append(ATAID.EnabledSATAFeatures.HasFlag(CommonTypes.Structs.Devices.ATA.Identify. + SATAFeaturesBit.InOrderData) + ? Localization.In_order_data_delivery_is_supported_and_enabled + : Localization.In_order_data_delivery_is_supported); switch(atapi) { @@ -1994,13 +1924,11 @@ public static class Identify { if(ATAID.SATAFeatures.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.SATAFeaturesBit. HardwareFeatureControl)) - { - sb.AppendLine().Append("Hardware Feature Control is supported"); - - if(ATAID.EnabledSATAFeatures.HasFlag(CommonTypes.Structs.Devices.ATA.Identify. - SATAFeaturesBit.HardwareFeatureControl)) - sb.Append(" and enabled"); - } + sb.AppendLine(). + Append(ATAID.EnabledSATAFeatures.HasFlag(CommonTypes.Structs.Devices.ATA.Identify. + SATAFeaturesBit.HardwareFeatureControl) + ? Localization.Hardware_Feature_Control_is_supported_and_enabled + : Localization.Hardware_Feature_Control_is_supported); break; } @@ -2008,13 +1936,11 @@ public static class Identify { if(ATAID.SATAFeatures.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.SATAFeaturesBit. AsyncNotification)) - { - sb.AppendLine().Append("Asynchronous notification is supported"); - - if(ATAID.EnabledSATAFeatures.HasFlag(CommonTypes.Structs.Devices.ATA.Identify. - SATAFeaturesBit.AsyncNotification)) - sb.Append(" and enabled"); - } + sb.AppendLine(). + Append(ATAID.EnabledSATAFeatures.HasFlag(CommonTypes.Structs.Devices.ATA.Identify. + SATAFeaturesBit.AsyncNotification) + ? Localization.Asynchronous_notification_is_supported_and_enabled + : Localization.Asynchronous_notification_is_supported); break; } @@ -2022,133 +1948,133 @@ public static class Identify if(ATAID.SATAFeatures.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.SATAFeaturesBit. SettingsPreserve)) - { - sb.AppendLine().Append("Software Settings Preservation is supported"); - - if(ATAID.EnabledSATAFeatures.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.SATAFeaturesBit. - SettingsPreserve)) - sb.Append(" and enabled"); - } + sb.AppendLine(). + Append(ATAID.EnabledSATAFeatures.HasFlag(CommonTypes.Structs.Devices.ATA.Identify. + SATAFeaturesBit.SettingsPreserve) + ? Localization.Software_Settings_Preservation_is_supported_and_enabled + : Localization.Software_Settings_Preservation_is_supported); if(ATAID.SATAFeatures.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.SATAFeaturesBit.NCQAutoSense)) - sb.AppendLine().Append("NCQ Autosense is supported"); + sb.AppendLine().Append(Localization.NCQ_Autosense_is_supported); if(ATAID.EnabledSATAFeatures.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.SATAFeaturesBit. EnabledSlumber)) - sb.AppendLine().Append("Automatic Partial to Slumber transitions are enabled"); + sb.AppendLine().Append(Localization.Automatic_Partial_to_Slumber_transitions_are_enabled); } } if((ATAID.RemovableStatusSet & 0x03) > 0) - sb.AppendLine().Append("Removable Media Status Notification feature set is supported"); + sb.AppendLine().Append(Localization.Removable_Media_Status_Notification_feature_set_is_supported); if(ATAID.FreeFallSensitivity != 0x00 && ATAID.FreeFallSensitivity != 0xFF) - sb.AppendLine().AppendFormat("Free-fall sensitivity set to {0}", ATAID.FreeFallSensitivity); + sb.AppendLine().AppendFormat(Localization.Free_fall_sensitivity_set_to_0, ATAID.FreeFallSensitivity); if(ATAID.DataSetMgmt.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.DataSetMgmtBit.Trim)) sb.AppendLine().Append("TRIM is supported"); if(ATAID.DataSetMgmtSize > 0) - sb.AppendLine().AppendFormat("DATA SET MANAGEMENT can receive a maximum of {0} blocks of 512 bytes", - ATAID.DataSetMgmtSize); + sb.AppendLine(). + AppendFormat(Localization.DATA_SET_MANAGEMENT_can_receive_a_maximum_of_0_blocks_of_512_bytes, + ATAID.DataSetMgmtSize); sb.AppendLine().AppendLine(); if(ATAID.SecurityStatus.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.SecurityStatusBit.Supported)) { - sb.AppendLine("Security:"); + sb.AppendLine(Localization.Security); if(ATAID.SecurityStatus.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.SecurityStatusBit.Enabled)) { - sb.AppendLine("Security is enabled"); + sb.AppendLine(Localization.Security_is_enabled); sb.AppendLine(ATAID.SecurityStatus.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.SecurityStatusBit. - Locked) ? "Security is locked" - : "Security is not locked"); + Locked) ? Localization.Security_is_locked + : Localization.Security_is_not_locked); sb.AppendLine(ATAID.SecurityStatus.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.SecurityStatusBit. - Frozen) ? "Security is frozen" - : "Security is not frozen"); + Frozen) ? Localization.Security_is_frozen + : Localization.Security_is_not_frozen); sb.AppendLine(ATAID.SecurityStatus.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.SecurityStatusBit. - Expired) ? "Security count has expired" - : "Security count has not expired"); + Expired) ? Localization. + Security_count_has_expired : Localization.Security_count_has_not_expired); sb.AppendLine(ATAID.SecurityStatus.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.SecurityStatusBit. - Maximum) ? "Security level is maximum" - : "Security level is high"); + Maximum) ? Localization.Security_level_is_maximum + : Localization.Security_level_is_high); } else - sb.AppendLine("Security is not enabled"); + sb.AppendLine(Localization.Security_is_not_enabled); if(ATAID.SecurityStatus.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.SecurityStatusBit.Enhanced)) - sb.AppendLine("Supports enhanced security erase"); + sb.AppendLine(Localization.Supports_enhanced_security_erase); - sb.AppendFormat("{0} minutes to complete secure erase", ATAID.SecurityEraseTime * 2).AppendLine(); + sb.AppendFormat(Localization._0_minutes_to_complete_secure_erase, ATAID.SecurityEraseTime * 2).AppendLine(); if(ATAID.SecurityStatus.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.SecurityStatusBit.Enhanced)) - sb.AppendFormat("{0} minutes to complete enhanced secure erase", ATAID.EnhancedSecurityEraseTime * 2). - AppendLine(); + sb.AppendFormat(Localization._0_minutes_to_complete_enhanced_secure_erase, + ATAID.EnhancedSecurityEraseTime * 2).AppendLine(); - sb.AppendFormat("Master password revision code: {0}", ATAID.MasterPasswordRevisionCode).AppendLine(); + sb.AppendFormat(Localization.Master_password_revision_code_0, ATAID.MasterPasswordRevisionCode). + AppendLine(); } if(ATAID.CommandSet3.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.CommandSetBit3.MustBeSet) && !ATAID.CommandSet3.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.CommandSetBit3.MustBeClear) && ATAID.CommandSet3.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.CommandSetBit3.Streaming)) { - sb.AppendLine().AppendLine("Streaming:"); - sb.AppendFormat("Minimum request size is {0}", ATAID.StreamMinReqSize); - sb.AppendFormat("Streaming transfer time in PIO is {0}", ATAID.StreamTransferTimePIO); - sb.AppendFormat("Streaming transfer time in DMA is {0}", ATAID.StreamTransferTimeDMA); - sb.AppendFormat("Streaming access latency is {0}", ATAID.StreamAccessLatency); - sb.AppendFormat("Streaming performance granularity is {0}", ATAID.StreamPerformanceGranularity); + sb.AppendLine().AppendLine(Localization.Streaming); + sb.AppendFormat(Localization.Minimum_request_size_is_0, ATAID.StreamMinReqSize); + sb.AppendFormat(Localization.Streaming_transfer_time_in_PIO_is_0, ATAID.StreamTransferTimePIO); + sb.AppendFormat(Localization.Streaming_transfer_time_in_DMA_is_0, ATAID.StreamTransferTimeDMA); + sb.AppendFormat(Localization.Streaming_access_latency_is_0, ATAID.StreamAccessLatency); + sb.AppendFormat(Localization.Streaming_performance_granularity_is_0, ATAID.StreamPerformanceGranularity); } if(ATAID.SCTCommandTransport.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.SCTCommandTransportBit.Supported)) { - sb.AppendLine().AppendLine("S.M.A.R.T. Command Transport (SCT):"); + sb.AppendLine().AppendLine(Localization.SMART_Command_Transport_SCT); if(ATAID.SCTCommandTransport.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.SCTCommandTransportBit. LongSectorAccess)) - sb.AppendLine("SCT Long Sector Address is supported"); + sb.AppendLine(Localization.SCT_Long_Sector_Address_is_supported); if(ATAID.SCTCommandTransport.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.SCTCommandTransportBit. WriteSame)) - sb.AppendLine("SCT Write Same is supported"); + sb.AppendLine(Localization.SCT_Write_Same_is_supported); if(ATAID.SCTCommandTransport.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.SCTCommandTransportBit. ErrorRecoveryControl)) - sb.AppendLine("SCT Error Recovery Control is supported"); + sb.AppendLine(Localization.SCT_Error_Recovery_Control_is_supported); if(ATAID.SCTCommandTransport.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.SCTCommandTransportBit. FeaturesControl)) - sb.AppendLine("SCT Features Control is supported"); + sb.AppendLine(Localization.SCT_Features_Control_is_supported); if(ATAID.SCTCommandTransport.HasFlag(CommonTypes.Structs.Devices.ATA.Identify.SCTCommandTransportBit. DataTables)) - sb.AppendLine("SCT Data Tables are supported"); + sb.AppendLine(Localization.SCT_Data_Tables_are_supported); } if((ATAID.NVCacheCaps & 0x0010) == 0x0010) { - sb.AppendLine().AppendLine("Non-Volatile Cache:"); - sb.AppendLine().AppendFormat("Version {0}", (ATAID.NVCacheCaps & 0xF000) >> 12).AppendLine(); + sb.AppendLine().AppendLine(Localization.Non_Volatile_Cache); + sb.AppendLine().AppendFormat(Localization.Version_0, (ATAID.NVCacheCaps & 0xF000) >> 12).AppendLine(); if((ATAID.NVCacheCaps & 0x0001) == 0x0001) { - sb.Append("Power mode feature set is supported"); - - if((ATAID.NVCacheCaps & 0x0002) == 0x0002) - sb.Append(" and enabled"); + sb.Append((ATAID.NVCacheCaps & 0x0002) == 0x0002 + ? Localization.Power_mode_feature_set_is_supported_and_enabled + : Localization.Power_mode_feature_set_is_supported); sb.AppendLine(); - sb.AppendLine().AppendFormat("Version {0}", (ATAID.NVCacheCaps & 0x0F00) >> 8).AppendLine(); + sb.AppendLine().AppendFormat(Localization.Version_0, (ATAID.NVCacheCaps & 0x0F00) >> 8).AppendLine(); } - sb.AppendLine().AppendFormat("Non-Volatile Cache is {0} bytes", ATAID.NVCacheSize * logicalSectorSize). + sb.AppendLine(). + AppendFormat(Localization.Non_Volatile_Cache_is_0_bytes, ATAID.NVCacheSize * logicalSectorSize). AppendLine(); } @@ -2157,92 +2083,92 @@ public static class Identify if(ATAID.VendorWord9 != 0x0000 && ATAID.VendorWord9 != 0xFFFF) - sb.AppendFormat("Word 9: 0x{0:X4}", ATAID.VendorWord9).AppendLine(); + sb.AppendFormat(Localization.Word_nine_0, ATAID.VendorWord9).AppendLine(); if((ATAID.VendorWord47 & 0x7F) != 0x7F && (ATAID.VendorWord47 & 0x7F) != 0x00) - sb.AppendFormat("Word 47 bits 15 to 8: 0x{0:X2}", ATAID.VendorWord47).AppendLine(); + sb.AppendFormat(Localization.Word_47_bits_15_to_8_0, ATAID.VendorWord47).AppendLine(); if(ATAID.VendorWord51 != 0x00 && ATAID.VendorWord51 != 0xFF) - sb.AppendFormat("Word 51 bits 7 to 0: 0x{0:X2}", ATAID.VendorWord51).AppendLine(); + sb.AppendFormat(Localization.Word_51_bits_7_to_0_0, ATAID.VendorWord51).AppendLine(); if(ATAID.VendorWord52 != 0x00 && ATAID.VendorWord52 != 0xFF) - sb.AppendFormat("Word 52 bits 7 to 0: 0x{0:X2}", ATAID.VendorWord52).AppendLine(); + sb.AppendFormat(Localization.Word_52_bits_7_to_0_0, ATAID.VendorWord52).AppendLine(); if(ATAID.ReservedWord64 != 0x00 && ATAID.ReservedWord64 != 0xFF) - sb.AppendFormat("Word 64 bits 15 to 8: 0x{0:X2}", ATAID.ReservedWord64).AppendLine(); + sb.AppendFormat(Localization.Word_64_bits_15_to_8_0, ATAID.ReservedWord64).AppendLine(); if(ATAID.ReservedWord70 != 0x0000 && ATAID.ReservedWord70 != 0xFFFF) - sb.AppendFormat("Word 70: 0x{0:X4}", ATAID.ReservedWord70).AppendLine(); + sb.AppendFormat(Localization.Word_70_0, ATAID.ReservedWord70).AppendLine(); if(ATAID.ReservedWord73 != 0x0000 && ATAID.ReservedWord73 != 0xFFFF) - sb.AppendFormat("Word 73: 0x{0:X4}", ATAID.ReservedWord73).AppendLine(); + sb.AppendFormat(Localization.Word_73_0, ATAID.ReservedWord73).AppendLine(); if(ATAID.ReservedWord74 != 0x0000 && ATAID.ReservedWord74 != 0xFFFF) - sb.AppendFormat("Word 74: 0x{0:X4}", ATAID.ReservedWord74).AppendLine(); + sb.AppendFormat(Localization.Word_74_0, ATAID.ReservedWord74).AppendLine(); if(ATAID.ReservedWord116 != 0x0000 && ATAID.ReservedWord116 != 0xFFFF) - sb.AppendFormat("Word 116: 0x{0:X4}", ATAID.ReservedWord116).AppendLine(); + sb.AppendFormat(Localization.Word_116_0, ATAID.ReservedWord116).AppendLine(); for(int i = 0; i < ATAID.ReservedWords121.Length; i++) if(ATAID.ReservedWords121[i] != 0x0000 && ATAID.ReservedWords121[i] != 0xFFFF) - sb.AppendFormat("Word {1}: 0x{0:X4}", ATAID.ReservedWords121[i], 121 + i).AppendLine(); + sb.AppendFormat(Localization.Word_1_0, ATAID.ReservedWords121[i], 121 + i).AppendLine(); for(int i = 0; i < ATAID.ReservedWords129.Length; i++) if(ATAID.ReservedWords129[i] != 0x0000 && ATAID.ReservedWords129[i] != 0xFFFF) - sb.AppendFormat("Word {1}: 0x{0:X4}", ATAID.ReservedWords129[i], 129 + i).AppendLine(); + sb.AppendFormat(Localization.Word_1_0, ATAID.ReservedWords129[i], 129 + i).AppendLine(); for(int i = 0; i < ATAID.ReservedCFA.Length; i++) if(ATAID.ReservedCFA[i] != 0x0000 && ATAID.ReservedCFA[i] != 0xFFFF) - sb.AppendFormat("Word {1} (CFA): 0x{0:X4}", ATAID.ReservedCFA[i], 161 + i).AppendLine(); + sb.AppendFormat(Localization.Word_1_CFA_0, ATAID.ReservedCFA[i], 161 + i).AppendLine(); if(ATAID.ReservedWord174 != 0x0000 && ATAID.ReservedWord174 != 0xFFFF) - sb.AppendFormat("Word 174: 0x{0:X4}", ATAID.ReservedWord174).AppendLine(); + sb.AppendFormat(Localization.Word_174_0, ATAID.ReservedWord174).AppendLine(); if(ATAID.ReservedWord175 != 0x0000 && ATAID.ReservedWord175 != 0xFFFF) - sb.AppendFormat("Word 175: 0x{0:X4}", ATAID.ReservedWord175).AppendLine(); + sb.AppendFormat(Localization.Word_175_0, ATAID.ReservedWord175).AppendLine(); if(ATAID.ReservedCEATAWord207 != 0x0000 && ATAID.ReservedCEATAWord207 != 0xFFFF) - sb.AppendFormat("Word 207 (CE-ATA): 0x{0:X4}", ATAID.ReservedCEATAWord207).AppendLine(); + sb.AppendFormat(Localization.Word_207_CE_ATA_0, ATAID.ReservedCEATAWord207).AppendLine(); if(ATAID.ReservedCEATAWord208 != 0x0000 && ATAID.ReservedCEATAWord208 != 0xFFFF) - sb.AppendFormat("Word 208 (CE-ATA): 0x{0:X4}", ATAID.ReservedCEATAWord208).AppendLine(); + sb.AppendFormat(Localization.Word_208_CE_ATA_0, ATAID.ReservedCEATAWord208).AppendLine(); if(ATAID.NVReserved != 0x00 && ATAID.NVReserved != 0xFF) - sb.AppendFormat("Word 219 bits 15 to 8: 0x{0:X2}", ATAID.NVReserved).AppendLine(); + sb.AppendFormat(Localization.Word_219_bits_15_to_8_0, ATAID.NVReserved).AppendLine(); if(ATAID.WRVReserved != 0x00 && ATAID.WRVReserved != 0xFF) - sb.AppendFormat("Word 220 bits 15 to 8: 0x{0:X2}", ATAID.WRVReserved).AppendLine(); + sb.AppendFormat(Localization.Word_220_bits_15_to_8_0, ATAID.WRVReserved).AppendLine(); if(ATAID.ReservedWord221 != 0x0000 && ATAID.ReservedWord221 != 0xFFFF) - sb.AppendFormat("Word 221: 0x{0:X4}", ATAID.ReservedWord221).AppendLine(); + sb.AppendFormat(Localization.Word_221_0, ATAID.ReservedWord221).AppendLine(); for(int i = 0; i < ATAID.ReservedCEATA224.Length; i++) if(ATAID.ReservedCEATA224[i] != 0x0000 && ATAID.ReservedCEATA224[i] != 0xFFFF) - sb.AppendFormat("Word {1} (CE-ATA): 0x{0:X4}", ATAID.ReservedCEATA224[i], 224 + i).AppendLine(); + sb.AppendFormat(Localization.Word_1_CE_ATA_0, ATAID.ReservedCEATA224[i], 224 + i).AppendLine(); for(int i = 0; i < ATAID.ReservedWords.Length; i++) if(ATAID.ReservedWords[i] != 0x0000 && ATAID.ReservedWords[i] != 0xFFFF) - sb.AppendFormat("Word {1}: 0x{0:X4}", ATAID.ReservedWords[i], 236 + i).AppendLine(); + sb.AppendFormat(Localization.Word_1_0, ATAID.ReservedWords[i], 236 + i).AppendLine(); #endif return sb.ToString(); } diff --git a/Aaru.Decoders.csproj b/Aaru.Decoders.csproj index 4c19922e9..d11a99150 100644 --- a/Aaru.Decoders.csproj +++ b/Aaru.Decoders.csproj @@ -50,6 +50,11 @@ + + True + True + Localization.resx + @@ -188,6 +193,10 @@ LICENSE.LGPL + + ResXFileCodeGenerator + Localization.Designer.cs + diff --git a/Aaru.Decoders.csproj.DotSettings b/Aaru.Decoders.csproj.DotSettings index 00f365e58..f2eefd5ac 100644 --- a/Aaru.Decoders.csproj.DotSettings +++ b/Aaru.Decoders.csproj.DotSettings @@ -1,5 +1,3 @@ - - True \ No newline at end of file + + True + True \ No newline at end of file diff --git a/Bluray/BCA.cs b/Bluray/BCA.cs index 2b37d6e34..32c15f4da 100644 --- a/Bluray/BCA.cs +++ b/Bluray/BCA.cs @@ -76,7 +76,7 @@ public static class BCA if(BCAResponse.Length != 68) { - AaruConsole.DebugWriteLine("BD BCA decoder", "Found incorrect Blu-ray BCA size ({0} bytes)", + AaruConsole.DebugWriteLine("BD BCA decoder", Localization.Found_incorrect_Blu_ray_BCA_size_0_bytes, BCAResponse.Length); return null; @@ -106,13 +106,13 @@ public static class BCA #if DEBUG if(response.Reserved1 != 0) - sb.AppendFormat("Reserved1 = 0x{0:X2}", response.Reserved1).AppendLine(); + sb.AppendFormat(Localization.Reserved1_equals_0_X8, response.Reserved1).AppendLine(); if(response.Reserved2 != 0) - sb.AppendFormat("Reserved2 = 0x{0:X2}", response.Reserved2).AppendLine(); + sb.AppendFormat(Localization.Reserved2_equals_0_X8, response.Reserved2).AppendLine(); #endif - sb.AppendFormat("Blu-ray Burst Cutting Area in hex follows:"); + sb.AppendFormat(Localization.Blu_ray_Burst_Cutting_Area_in_hex_follows); sb.AppendLine(PrintHex.ByteArrayToHexArrayString(response.BCA, 80)); return sb.ToString(); diff --git a/Bluray/Cartridge.cs b/Bluray/Cartridge.cs index dbeb58ee9..461bff77e 100644 --- a/Bluray/Cartridge.cs +++ b/Bluray/Cartridge.cs @@ -92,7 +92,8 @@ public static class Cartridge if(CSResponse.Length != 8) { AaruConsole.DebugWriteLine("BD Cartridge Status decoder", - "Found incorrect Blu-ray Cartridge Status size ({0} bytes)", CSResponse.Length); + Localization.Found_incorrect_Blu_ray_Cartridge_Status_size_0_bytes, + CSResponse.Length); return null; } @@ -126,47 +127,47 @@ public static class Cartridge #if DEBUG if(response.Reserved1 != 0) - sb.AppendFormat("Reserved1 = 0x{0:X2}", response.Reserved1).AppendLine(); + sb.AppendFormat(Localization.Reserved1_equals_0_X8, response.Reserved1).AppendLine(); if(response.Reserved2 != 0) - sb.AppendFormat("Reserved2 = 0x{0:X2}", response.Reserved2).AppendLine(); + sb.AppendFormat(Localization.Reserved2_equals_0_X8, response.Reserved2).AppendLine(); if(response.Reserved3 != 0) - sb.AppendFormat("Reserved3 = 0x{0:X8}", response.Reserved3).AppendLine(); + sb.AppendFormat(Localization.Reserved3_equals_0_X8, response.Reserved3).AppendLine(); if(response.Reserved4 != 0) - sb.AppendFormat("Reserved4 = 0x{0:X8}", response.Reserved4).AppendLine(); + sb.AppendFormat(Localization.Reserved4_equals_0_X8, response.Reserved4).AppendLine(); if(response.Reserved5 != 0) - sb.AppendFormat("Reserved5 = 0x{0:X8}", response.Reserved5).AppendLine(); + sb.AppendFormat(Localization.Reserved5_equals_0_X8, response.Reserved5).AppendLine(); if(response.Reserved6 != 0) - sb.AppendFormat("Reserved6 = 0x{0:X8}", response.Reserved6).AppendLine(); + sb.AppendFormat(Localization.Reserved6_equals_0_X8, response.Reserved6).AppendLine(); if(response.Reserved7 != 0) - sb.AppendFormat("Reserved7 = 0x{0:X8}", response.Reserved7).AppendLine(); + sb.AppendFormat(Localization.Reserved7_equals_0_X8, response.Reserved7).AppendLine(); #endif if(response.Cartridge) { - sb.AppendLine("Media is inserted in a cartridge"); + sb.AppendLine(Localization.Media_is_inserted_in_a_cartridge); if(response.OUT) - sb.AppendLine("Media has been taken out, or inserted in, the cartridge"); + sb.AppendLine(Localization.Media_has_been_taken_out_or_inserted_in_the_cartridge); if(response.CWP) - sb.AppendLine("Media is write protected"); + sb.AppendLine(Localization.Media_is_write_protected); } else { - sb.AppendLine("Media is not in a cartridge"); + sb.AppendLine(Localization.Media_is_not_in_a_cartridge); #if DEBUG if(response.OUT) - sb.AppendLine("Media has out bit marked, shouldn't"); + sb.AppendLine(Localization.Media_has_out_bit_marked_shouldnt); if(response.CWP) - sb.AppendLine("Media has write protection bit marked, shouldn't"); + sb.AppendLine(Localization.Media_has_write_protection_bit_marked_shouldnt); #endif } diff --git a/Bluray/DDS.cs b/Bluray/DDS.cs index 3101d3692..eb192aca3 100644 --- a/Bluray/DDS.cs +++ b/Bluray/DDS.cs @@ -132,7 +132,8 @@ public static class DDS if(decoded.Signature != DDSIdentifier) { - AaruConsole.DebugWriteLine("BD DDS decoder", "Found incorrect DDS signature (0x{0:X4})", decoded.Signature); + AaruConsole.DebugWriteLine("BD DDS decoder", Localization.Found_incorrect_DDS_signature_0, + decoded.Signature); return null; } @@ -173,50 +174,50 @@ public static class DDS var sb = new StringBuilder(); - sb.AppendFormat("DDS Format: 0x{0:X2}", response.Format).AppendLine(); - sb.AppendFormat("DDS has ben updated {0} times", response.UpdateCount).AppendLine(); - sb.AppendFormat("First PSN of Drive Area: 0x{0:X8}", response.DriveAreaPSN).AppendLine(); - sb.AppendFormat("First PSN of Defect List: 0x{0:X8}", response.DefectListPSN).AppendLine(); - sb.AppendFormat("PSN of User Data Area's LSN 0: 0x{0:X8}", response.PSNofLSNZero).AppendLine(); - sb.AppendFormat("Last User Data Area's LSN 0: 0x{0:X8}", response.LastUserAreaLSN).AppendLine(); - sb.AppendFormat("ISA0 size: {0}", response.ISA0).AppendLine(); - sb.AppendFormat("OSA size: {0}", response.OSA).AppendLine(); - sb.AppendFormat("ISA1 size: {0}", response.ISA1).AppendLine(); - sb.AppendFormat("Spare Area Full Flags: 0x{0:X2}", response.SpareAreaFullFlags).AppendLine(); - sb.AppendFormat("Disc Type Specific Field 1: 0x{0:X2}", response.DiscTypeSpecificField1).AppendLine(); - sb.AppendFormat("Disc Type Specific Field 2: 0x{0:X8}", response.DiscTypeSpecificField2).AppendLine(); - sb.AppendFormat("Blu-ray DDS Status Bits in hex follows:"); + sb.AppendFormat(Localization.DDS_Format_0, response.Format).AppendLine(); + sb.AppendFormat(Localization.DDS_has_ben_updated_0_times, response.UpdateCount).AppendLine(); + sb.AppendFormat(Localization.First_PSN_of_Drive_Area_0, response.DriveAreaPSN).AppendLine(); + sb.AppendFormat(Localization.First_PSN_of_Defect_List_0, response.DefectListPSN).AppendLine(); + sb.AppendFormat(Localization.PSN_of_User_Data_Areas_LSN_0_0, response.PSNofLSNZero).AppendLine(); + sb.AppendFormat(Localization.Last_User_Data_Areas_LSN_0_0, response.LastUserAreaLSN).AppendLine(); + sb.AppendFormat(Localization.ISA0_size_0, response.ISA0).AppendLine(); + sb.AppendFormat(Localization.OSA_size_0, response.OSA).AppendLine(); + sb.AppendFormat(Localization.ISA1_size_0, response.ISA1).AppendLine(); + sb.AppendFormat(Localization.Spare_Area_Full_Flags_0, response.SpareAreaFullFlags).AppendLine(); + sb.AppendFormat(Localization.Disc_Type_Specific_Field_1_0, response.DiscTypeSpecificField1).AppendLine(); + sb.AppendFormat(Localization.Disc_Type_Specific_Field_2_0, response.DiscTypeSpecificField2).AppendLine(); + sb.AppendFormat(Localization.Blu_ray_DDS_Status_Bits_in_hex_follows); sb.AppendLine(PrintHex.ByteArrayToHexArrayString(response.StatusBits, 80)); - sb.AppendFormat("Blu-ray DDS Disc Type Specific Data in hex follows:"); + sb.AppendFormat(Localization.Blu_ray_DDS_Disc_Type_Specific_Data_in_hex_follows); sb.AppendLine(PrintHex.ByteArrayToHexArrayString(response.DiscTypeSpecificData, 80)); #if DEBUG if(response.Reserved1 != 0) - sb.AppendFormat("Reserved1 = 0x{0:X2}", response.Reserved1).AppendLine(); + sb.AppendFormat(Localization.Reserved1_equals_0_X8, response.Reserved1).AppendLine(); if(response.Reserved2 != 0) - sb.AppendFormat("Reserved2 = 0x{0:X2}", response.Reserved2).AppendLine(); + sb.AppendFormat(Localization.Reserved2_equals_0_X8, response.Reserved2).AppendLine(); if(response.Reserved3 != 0) - sb.AppendFormat("Reserved3 = 0x{0:X2}", response.Reserved3).AppendLine(); + sb.AppendFormat(Localization.Reserved_3_equals_0_X2, response.Reserved3).AppendLine(); if(response.Reserved4 != 0) - sb.AppendFormat("Reserved4 = 0x{0:X16}", response.Reserved4).AppendLine(); + sb.AppendFormat(Localization.Reserved4_equals_0_X16, response.Reserved4).AppendLine(); if(response.Reserved5 != 0) - sb.AppendFormat("Reserved5 = 0x{0:X8}", response.Reserved5).AppendLine(); + sb.AppendFormat(Localization.Reserved5_equals_0_X8, response.Reserved5).AppendLine(); if(response.Reserved6 != 0) - sb.AppendFormat("Reserved6 = 0x{0:X8}", response.Reserved6).AppendLine(); + sb.AppendFormat(Localization.Reserved6_equals_0_X8, response.Reserved6).AppendLine(); if(response.Reserved7 != 0) - sb.AppendFormat("Reserved7 = 0x{0:X2}", response.Reserved7).AppendLine(); + sb.AppendFormat(Localization.Reserved7_equals_0_X2, response.Reserved7).AppendLine(); if(response.Reserved8 != 0) - sb.AppendFormat("Reserved8 = 0x{0:X2}", response.Reserved8).AppendLine(); + sb.AppendFormat(Localization.Reserved8_equals_0_X2, response.Reserved8).AppendLine(); if(response.Reserved9 != 0) - sb.AppendFormat("Reserved9 = 0x{0:X8}", response.Reserved9).AppendLine(); + sb.AppendFormat(Localization.Reserved9_equals_0_X8, response.Reserved9).AppendLine(); #endif return sb.ToString(); diff --git a/Bluray/DI.cs b/Bluray/DI.cs index 8a2a89e18..814b42eb5 100644 --- a/Bluray/DI.cs +++ b/Bluray/DI.cs @@ -102,7 +102,8 @@ public static class DI if(DIResponse.Length != 4100) { AaruConsole.DebugWriteLine("BD Disc Information decoder", - "Found incorrect Blu-ray Disc Information size ({0} bytes)", DIResponse.Length); + Localization.Found_incorrect_Blu_ray_Disc_Information_size_0_bytes, + DIResponse.Length); return null; } @@ -192,7 +193,7 @@ public static class DI default: { AaruConsole.DebugWriteLine("BD Disc Information decoder", - "Found unknown disc type identifier \"{0}\"", + Localization.Found_unknown_disc_type_identifier_0, Encoding.ASCII.GetString(unit.DiscTypeIdentifier)); break; @@ -226,56 +227,58 @@ public static class DI foreach(DiscInformationUnits unit in response.Units) { - sb.AppendFormat("DI Unit Sequence: {0}", unit.Sequence).AppendLine(); - sb.AppendFormat("DI Unit Format: 0x{0:X2}", unit.Format).AppendLine(); - sb.AppendFormat("There are {0} per block", unit.UnitsPerBlock).AppendLine(); - sb.AppendFormat("This DI refers to layer {0}", unit.Layer).AppendLine(); + sb.AppendFormat(Localization.DI_Unit_Sequence_0, unit.Sequence).AppendLine(); + sb.AppendFormat(Localization.DI_Unit_Format_0, unit.Format).AppendLine(); + sb.AppendFormat(Localization.There_are_0_per_block, unit.UnitsPerBlock).AppendLine(); + sb.AppendFormat(Localization.This_DI_refers_to_layer_0, unit.Layer).AppendLine(); if(Encoding.ASCII.GetString(unit.DiscTypeIdentifier) == DiscTypeBDRE) - sb.AppendFormat("Legacy value: 0x{0:X2}", unit.Legacy).AppendLine(); + sb.AppendFormat(Localization.Legacy_value_0, unit.Legacy).AppendLine(); - sb.AppendLine(unit.Continuation ? "This DI continues previous unit" : "This DI starts a new unit"); - sb.AppendFormat("DI Unit is {0} bytes", unit.Length).AppendLine(); + sb.AppendLine(unit.Continuation ? Localization.This_DI_continues_previous_unit + : Localization.This_DI_starts_a_new_unit); - sb.AppendFormat("Disc type identifier: \"{0}\"", Encoding.ASCII.GetString(unit.DiscTypeIdentifier)). + sb.AppendFormat(Localization.DI_Unit_is_0_bytes, unit.Length).AppendLine(); + + sb.AppendFormat(Localization.Disc_type_identifier_0, Encoding.ASCII.GetString(unit.DiscTypeIdentifier)). AppendLine(); switch(unit.DiscSize) { case BluSize.OneTwenty: - sb.AppendLine("Disc size: 120mm"); + sb.AppendLine(Localization.Disc_size_120mm); break; case BluSize.Eighty: - sb.AppendLine("Disc size: 80mm"); + sb.AppendLine(Localization.Disc_size_80mm); break; default: - sb.AppendFormat("Disc size: Unknown code {0}", (byte)unit.DiscSize).AppendLine(); + sb.AppendFormat(Localization.Disc_size_Unknown_code_0, (byte)unit.DiscSize).AppendLine(); break; } - sb.AppendFormat("Disc class: {0}", unit.DiscClass).AppendLine(); - sb.AppendFormat("Disc version: {0}", unit.DiscVersion).AppendLine(); - sb.AppendFormat("This disc has {0} layers", unit.Layers).AppendLine(); + sb.AppendFormat(Localization.Disc_class_0, unit.DiscClass).AppendLine(); + sb.AppendFormat(Localization.Disc_version_0, unit.DiscVersion).AppendLine(); + sb.AppendFormat(Localization.This_disc_has_0_layers, unit.Layers).AppendLine(); switch(unit.DvdLayer) { case HybridLayer.None: - sb.AppendLine("This disc does not contain a DVD layer."); + sb.AppendLine(Localization.This_disc_does_not_contain_a_DVD_layer); break; case HybridLayer.ReadOnly: - sb.AppendLine("This disc contains a DVD-ROM layer."); + sb.AppendLine(Localization.This_disc_contains_a_DVD_ROM_layer); break; case HybridLayer.Recordable: - sb.AppendLine("This disc contains a DVD-R layer."); + sb.AppendLine(Localization.This_disc_contains_a_DVD_R_layer); break; case HybridLayer.Rewritable: - sb.AppendLine("This disc contains a DVD-RW layer."); + sb.AppendLine(Localization.This_disc_contains_a_DVD_RW_layer); break; } @@ -283,19 +286,19 @@ public static class DI switch(unit.CdLayer) { case HybridLayer.None: - sb.AppendLine("This disc does not contain a CD layer."); + sb.AppendLine(Localization.This_disc_does_not_contain_a_CD_layer); break; case HybridLayer.ReadOnly: - sb.AppendLine("This disc contains a CD-ROM layer."); + sb.AppendLine(Localization.This_disc_contains_a_CD_ROM_layer); break; case HybridLayer.Recordable: - sb.AppendLine("This disc contains a CD-R layer."); + sb.AppendLine(Localization.This_disc_contains_a_CD_R_layer); break; case HybridLayer.Rewritable: - sb.AppendLine("This disc contains a CD-RW layer."); + sb.AppendLine(Localization.This_disc_contains_a_CD_RW_layer); break; } @@ -303,16 +306,16 @@ public static class DI switch(unit.ChannelLength) { case ChannelLength.Seventy: - sb.AppendLine("Disc uses a 74.5nm channel giving 25 Gb per layer."); + sb.AppendLine(Localization.Disc_uses_a_74_5nm_channel_giving_25_Gb_per_layer); break; case ChannelLength.Sixty: - sb.AppendLine("Disc uses a 69.0nm channel giving 27 Gb per layer."); + sb.AppendLine(Localization.Disc_uses_a_69_0nm_channel_giving_27_Gb_per_layer); break; default: - sb.AppendFormat("Disc uses unknown channel length with code {0}", (byte)unit.ChannelLength). - AppendLine(); + sb.AppendFormat(Localization.Disc_uses_unknown_channel_length_with_code_0, + (byte)unit.ChannelLength).AppendLine(); break; } @@ -320,15 +323,15 @@ public static class DI switch(unit.Polarity) { case 0: - sb.AppendLine("Disc uses positive polarity."); + sb.AppendLine(Localization.Disc_uses_positive_polarity); break; case 1: - sb.AppendLine("Disc uses negative polarity."); + sb.AppendLine(Localization.Disc_uses_negative_polarity); break; default: - sb.AppendFormat("Disc uses unknown polarity with code {0}", unit.Polarity).AppendLine(); + sb.AppendFormat(Localization.Disc_uses_unknown_polarity_with_code_0, unit.Polarity).AppendLine(); break; } @@ -337,15 +340,17 @@ public static class DI switch(unit.RecordedPolarity) { case 0: - sb.AppendLine("Recorded marks have a lower reflectivity than unrecorded ones (HTL disc)."); + sb.AppendLine(Localization. + Recorded_marks_have_a_lower_reflectivity_than_unrecorded_ones_HTL_disc); break; case 1: - sb.AppendLine("Recorded marks have a higher reflectivity than unrecorded ones (LTH disc)."); + sb.AppendLine(Localization. + Recorded_marks_have_a_higher_reflectivity_than_unrecorded_ones_LTH_disc); break; default: - sb.AppendFormat("Disc uses unknown recorded reflectivity polarity with code {0}", + sb.AppendFormat(Localization.Disc_uses_unknown_recorded_reflectivity_polarity_with_code_0, unit.RecordedPolarity).AppendLine(); break; @@ -354,43 +359,47 @@ public static class DI switch(unit.Bca) { case 0: - sb.AppendLine("Disc doesn't have a BCA."); + sb.AppendLine(Localization.Disc_doesn_t_have_a_BCA); break; case 1: - sb.AppendLine("Disc has a BCA."); + sb.AppendLine(Localization.Disc_has_a_BCA); break; default: - sb.AppendFormat("Disc uses unknown BCA code {0}", unit.Bca).AppendLine(); + sb.AppendFormat(Localization.Disc_uses_unknown_BCA_code_0, unit.Bca).AppendLine(); break; } if(unit.MaxTransfer > 0) - sb.AppendFormat("Disc has a maximum transfer rate of {0} Mbit/sec.", unit.MaxTransfer).AppendLine(); + sb.AppendFormat(Localization.Disc_has_a_maximum_transfer_rate_of_0_Mbit_sec, unit.MaxTransfer). + AppendLine(); else - sb.AppendLine("Disc does not specify a maximum transfer rate."); + sb.AppendLine(Localization.Disc_does_not_specify_a_maximum_transfer_rate); - sb.AppendFormat("Last user data PSN for disc: {0}", unit.LastPsn).AppendLine(); + sb.AppendFormat(Localization.Last_user_data_PSN_for_disc_0, unit.LastPsn).AppendLine(); - sb.AppendFormat("First address unit number of data zone in this layer: {0}", unit.FirstAun).AppendLine(); + sb.AppendFormat(Localization.First_address_unit_number_of_data_zone_in_this_layer_0, unit.FirstAun). + AppendLine(); - sb.AppendFormat("Last address unit number of data zone in this layer: {0}", unit.LastAun).AppendLine(); + sb.AppendFormat(Localization.Last_address_unit_number_of_data_zone_in_this_layer_0, unit.LastAun). + AppendLine(); if(Encoding.ASCII.GetString(unit.DiscTypeIdentifier) == DiscTypeBDR || Encoding.ASCII.GetString(unit.DiscTypeIdentifier) == DiscTypeBDRE) { - sb.AppendFormat("Disc manufacturer ID: \"{0}\"", Encoding.ASCII.GetString(unit.ManufacturerID)). + sb.AppendFormat(Localization.Disc_manufacturer_ID_0, Encoding.ASCII.GetString(unit.ManufacturerID)). AppendLine(); - sb.AppendFormat("Disc media type ID: \"{0}\"", Encoding.ASCII.GetString(unit.MediaTypeID)).AppendLine(); + sb.AppendFormat(Localization.Disc_media_type_ID_0, Encoding.ASCII.GetString(unit.MediaTypeID)). + AppendLine(); - sb.AppendFormat("Disc timestamp: 0x{0:X2}", unit.TimeStamp).AppendLine(); - sb.AppendFormat("Disc product revision number: {0}", unit.ProductRevisionNumber).AppendLine(); + sb.AppendFormat(Localization.Disc_timestamp_0, unit.TimeStamp).AppendLine(); + sb.AppendFormat(Localization.Disc_product_revision_number_0, unit.ProductRevisionNumber).AppendLine(); } - sb.AppendFormat("Blu-ray DI Unit format dependent contents as hex follows:"); + sb.AppendFormat(Localization.Blu_ray_DI_Unit_format_dependent_contents_as_hex_follows); sb.AppendLine(PrintHex.ByteArrayToHexArrayString(unit.FormatDependentContents, 80)); } diff --git a/Bluray/Spare.cs b/Bluray/Spare.cs index 39cc6859e..db4867e57 100644 --- a/Bluray/Spare.cs +++ b/Bluray/Spare.cs @@ -80,7 +80,8 @@ public static class Spare if(SAIResponse.Length != 16) { AaruConsole.DebugWriteLine("BD Spare Area Information decoder", - "Found incorrect Blu-ray Spare Area Information size ({0} bytes)", + Localization. + Spare_Decode_Found_incorrect_Blu_ray_Spare_Area_Information_size_0_bytes, SAIResponse.Length); return null; @@ -110,16 +111,16 @@ public static class Spare #if DEBUG if(response.Reserved1 != 0) - sb.AppendFormat("Reserved1 = 0x{0:X2}", response.Reserved1).AppendLine(); + sb.AppendFormat(Localization.Reserved1_equals_0_X8, response.Reserved1).AppendLine(); if(response.Reserved2 != 0) - sb.AppendFormat("Reserved2 = 0x{0:X2}", response.Reserved2).AppendLine(); + sb.AppendFormat(Localization.Reserved2_equals_0_X8, response.Reserved2).AppendLine(); if(response.Reserved3 != 0) - sb.AppendFormat("Reserved3 = 0x{0:X8}", response.Reserved3).AppendLine(); + sb.AppendFormat(Localization.Reserved3_equals_0_X8, response.Reserved3).AppendLine(); #endif - sb.AppendFormat("{0} free spare blocks", response.FreeSpareBlocks).AppendLine(); - sb.AppendFormat("{0} allocated spare blocks", response.AllocatedSpareBlocks).AppendLine(); + sb.AppendFormat(Localization._0_free_spare_blocks, response.FreeSpareBlocks).AppendLine(); + sb.AppendFormat(Localization._0_allocated_spare_blocks, response.AllocatedSpareBlocks).AppendLine(); return sb.ToString(); } diff --git a/CD/ATIP.cs b/CD/ATIP.cs index 6ccca0ef6..744bf0900 100644 --- a/CD/ATIP.cs +++ b/CD/ATIP.cs @@ -66,7 +66,8 @@ public static class ATIP CDATIPResponse.Length != 28) { AaruConsole.DebugWriteLine("CD ATIP decoder", - "Expected CD ATIP size (32 bytes) is not received size ({0} bytes), not decoding", + Localization. + Expected_CD_ATIP_size_32_bytes_is_not_received_size_0_bytes_not_decoding, CDATIPResponse.Length); return null; @@ -130,79 +131,80 @@ public static class ATIP if(response.DDCD) { - sb.AppendFormat("Indicative Target Writing Power: 0x{0:X2}", response.ITWP).AppendLine(); - sb.AppendLine(response.DiscType ? "Disc is DDCD-RW" : "Disc is DDCD-R"); + sb.AppendFormat(Localization.Indicative_Target_Writing_Power_0, response.ITWP).AppendLine(); + sb.AppendLine(response.DiscType ? Localization.Disc_is_DDCD_RW : Localization.Disc_is_DDCD_R); switch(response.ReferenceSpeed) { case 2: - sb.AppendLine("Reference speed is 4x"); + sb.AppendLine(Localization.Reference_speed_is_4x); break; case 3: - sb.AppendLine("Reference speed is 8x"); + sb.AppendLine(Localization.Reference_speed_is_8x); break; default: - sb.AppendFormat("Reference speed set is unknown: {0}", response.ReferenceSpeed).AppendLine(); + sb.AppendFormat(Localization.Reference_speed_set_is_unknown_0, response.ReferenceSpeed). + AppendLine(); break; } - sb.AppendFormat("ATIP Start time of Lead-in: 0x{0:X6}", + sb.AppendFormat(Localization.ATIP_Start_time_of_Lead_in_0, (response.LeadInStartMin << 16) + (response.LeadInStartSec << 8) + response.LeadInStartFrame).AppendLine(); - sb.AppendFormat("ATIP Last possible start time of Lead-out: 0x{0:X6}", + sb.AppendFormat(Localization.ATIP_Last_possible_start_time_of_Lead_out_0, (response.LeadOutStartMin << 16) + (response.LeadOutStartSec << 8) + response.LeadOutStartFrame).AppendLine(); - sb.AppendFormat("S4 value: 0x{0:X6}", + sb.AppendFormat(Localization.S4_value_0, (response.S4Values[0] << 16) + (response.S4Values[1] << 8) + response.S4Values[2]). AppendLine(); } else { - sb.AppendFormat("Indicative Target Writing Power: 0x{0:X2}", response.ITWP & 0x07).AppendLine(); + sb.AppendFormat(Localization.Indicative_Target_Writing_Power_0, response.ITWP & 0x07).AppendLine(); if(response.DiscType) { switch(response.DiscSubType) { case 0: - sb.AppendLine("Disc is CD-RW"); + sb.AppendLine(Localization.Disc_is_CD_RW); break; case 1: - sb.AppendLine("Disc is High-Speed CD-RW"); + sb.AppendLine(Localization.Disc_is_High_Speed_CD_RW); break; case 2: - sb.AppendLine("Disc is Ultra-Speed CD-RW"); + sb.AppendLine(Localization.Disc_is_Ultra_Speed_CD_RW); break; case 3: - sb.AppendLine("Disc is Ultra-Speed+ CD-RW"); + sb.AppendLine(Localization.Disc_is_Ultra_Speed_Plus_CD_RW); break; case 4: - sb.AppendLine("Disc is medium type B, low beta category (B-) CD-RW"); + sb.AppendLine(Localization.Disc_is_medium_type_B_low_beta_category_CD_RW); break; case 5: - sb.AppendLine("Disc is medium type B, high beta category (B+) CD-RW"); + sb.AppendLine(Localization.Disc_is_medium_type_B_high_beta_category_CD_RW); break; case 6: - sb.AppendLine("Disc is medium type C, low beta category (C-) CD-RW"); + sb.AppendLine(Localization.Disc_is_medium_type_C_low_beta_category_CD_RW); break; case 7: - sb.AppendLine("Disc is medium type C, high beta category (C+) CD-RW"); + sb.AppendLine(Localization.Disc_is_medium_type_C_high_beta_category_CD_RW); break; default: - sb.AppendFormat("Unknown CD-RW disc subtype: {0}", response.DiscSubType).AppendLine(); + sb.AppendFormat(Localization.Unknown_CD_RW_disc_subtype_0, response.DiscSubType).AppendLine(); break; } @@ -210,85 +212,86 @@ public static class ATIP switch(response.ReferenceSpeed) { case 1: - sb.AppendLine("Reference speed is 2x"); + sb.AppendLine(Localization.Reference_speed_is_2x); break; default: - sb.AppendFormat("Reference speed set is unknown: {0}", response.ReferenceSpeed).AppendLine(); + sb.AppendFormat(Localization.Reference_speed_set_is_unknown_0, response.ReferenceSpeed). + AppendLine(); break; } } else { - sb.AppendLine("Disc is CD-R"); + sb.AppendLine(Localization.Disc_is_CD_R); switch(response.DiscSubType) { case 0: - sb.AppendLine("Disc is normal speed (CLV) CD-R"); + sb.AppendLine(Localization.Disc_is_normal_speed_CLV_CD_R); break; case 1: - sb.AppendLine("Disc is high speed (CAV) CD-R"); + sb.AppendLine(Localization.Disc_is_high_speed_CAV_CD_R); break; case 2: - sb.AppendLine("Disc is medium type A, low beta category (A-) CD-R"); + sb.AppendLine(Localization.Disc_is_medium_type_A_low_beta_category_CD_R); break; case 3: - sb.AppendLine("Disc is medium type A, high beta category (A+) CD-R"); + sb.AppendLine(Localization.Disc_is_medium_type_A_high_beta_category_CD_R); break; case 4: - sb.AppendLine("Disc is medium type B, low beta category (B-) CD-R"); + sb.AppendLine(Localization.Disc_is_medium_type_B_low_beta_category_CD_R); break; case 5: - sb.AppendLine("Disc is medium type B, high beta category (B+) CD-R"); + sb.AppendLine(Localization.Disc_is_medium_type__high_beta_category__CD_R); break; case 6: - sb.AppendLine("Disc is medium type C, low beta category (C-) CD-R"); + sb.AppendLine(Localization.Disc_is_medium_type_C_low_beta_category__CD_R); break; case 7: - sb.AppendLine("Disc is medium type C, high beta category (C+) CD-R"); + sb.AppendLine(Localization.Disc_is_medium_type_C_high_beta_category__CD_R); break; default: - sb.AppendFormat("Unknown CD-R disc subtype: {0}", response.DiscSubType).AppendLine(); + sb.AppendFormat(Localization.Unknown_CD_R_disc_subtype_0, response.DiscSubType).AppendLine(); break; } } - sb.AppendLine(response.URU ? "Disc use is unrestricted" : "Disc use is restricted"); + sb.AppendLine(response.URU ? Localization.Disc_use_is_unrestricted : Localization.Disc_use_is_restricted); - sb.AppendFormat("ATIP Start time of Lead-in: {0}:{1:D2}:{2:D2}", response.LeadInStartMin, + sb.AppendFormat(Localization.ATIP_Start_time_of_Lead_in_0_1_2, response.LeadInStartMin, response.LeadInStartSec, response.LeadInStartFrame).AppendLine(); - sb.AppendFormat("ATIP Last possible start time of Lead-out: {0}:{1:D2}:{2:D2}", response.LeadOutStartMin, + sb.AppendFormat(Localization.ATIP_Last_possible_start_time_of_Lead_out_0_1_2, response.LeadOutStartMin, response.LeadOutStartSec, response.LeadOutStartFrame).AppendLine(); if(response.A1Valid) - sb.AppendFormat("A1 value: 0x{0:X6}", + sb.AppendFormat(Localization.A1_value_0, (response.A1Values[0] << 16) + (response.A1Values[1] << 8) + response.A1Values[2]). AppendLine(); if(response.A2Valid) - sb.AppendFormat("A2 value: 0x{0:X6}", + sb.AppendFormat(Localization.A2_value_0, (response.A2Values[0] << 16) + (response.A2Values[1] << 8) + response.A2Values[2]). AppendLine(); if(response.A3Valid) - sb.AppendFormat("A3 value: 0x{0:X6}", + sb.AppendFormat(Localization.A3_value_0, (response.A3Values[0] << 16) + (response.A3Values[1] << 8) + response.A3Values[2]). AppendLine(); if(response.S4Values != null) - sb.AppendFormat("S4 value: 0x{0:X6}", + sb.AppendFormat(Localization.S4_value_0, (response.S4Values[0] << 16) + (response.S4Values[1] << 8) + response.S4Values[2]). AppendLine(); } @@ -300,15 +303,15 @@ public static class ATIP int frm = response.LeadInStartFrame - type; if(response.DiscType) - sb.AppendLine("Disc uses phase change"); + sb.AppendLine(Localization.Disc_uses_phase_change); else - sb.AppendLine(type < 5 ? "Disc uses long strategy type dye (Cyanine, AZO, etc...)" - : "Disc uses short strategy type dye (Phthalocyanine, etc...)"); + sb.AppendLine(type < 5 ? Localization.Disc_uses_long_strategy_type_dye_Cyanine_AZO_etc + : Localization.Disc_uses_short_strategy_type_dye_Phthalocyanine_etc); string manufacturer = ManufacturerFromATIP(response.LeadInStartSec, frm); if(manufacturer != "") - sb.AppendFormat("Disc manufactured by: {0}", manufacturer).AppendLine(); + sb.AppendFormat(Localization.Disc_manufactured_by_0, manufacturer).AppendLine(); return sb.ToString(); } diff --git a/CD/CDTextOnLeadIn.cs b/CD/CDTextOnLeadIn.cs index ae076bac8..8d6dc8e89 100644 --- a/CD/CDTextOnLeadIn.cs +++ b/CD/CDTextOnLeadIn.cs @@ -111,7 +111,8 @@ public static class CDTextOnLeadIn if(decoded.DataLength + 2 != CDTextResponse.Length) { AaruConsole.DebugWriteLine("CD-TEXT decoder", - "Expected CD-TEXT size ({0} bytes) is not received size ({1} bytes), not decoding", + Localization. + Expected_CD_TEXT_size_0_bytes_is_not_received_size_1_bytes_not_decoding, decoded.DataLength + 2, CDTextResponse.Length); return null; @@ -143,10 +144,10 @@ public static class CDTextOnLeadIn #if DEBUG if(response.Reserved1 != 0) - sb.AppendFormat("Reserved1 = 0x{0:X2}", response.Reserved1).AppendLine(); + sb.AppendFormat(Localization.Reserved1_equals_0_X8, response.Reserved1).AppendLine(); if(response.Reserved2 != 0) - sb.AppendFormat("Reserved2 = 0x{0:X2}", response.Reserved2).AppendLine(); + sb.AppendFormat(Localization.Reserved2_equals_0_X8, response.Reserved2).AppendLine(); #endif foreach(CDTextPack descriptor in response.DataPacks) @@ -154,7 +155,8 @@ public static class CDTextOnLeadIn { // Ignore NOPs if((descriptor.HeaderID1 & 0x80) != 0) - sb.AppendFormat("Incorrect CD-Text pack type {0}, not decoding", descriptor.HeaderID1).AppendLine(); + sb.AppendFormat(Localization.Incorrect_CD_Text_pack_type_0_not_decoding, descriptor.HeaderID1). + AppendLine(); } else { @@ -162,36 +164,33 @@ public static class CDTextOnLeadIn { case 0x80: { - sb.Append("CD-Text pack contains title for "); - if(descriptor.HeaderID2 == 0x00) - sb.AppendLine("album"); + sb.AppendLine(Localization.CD_Text_pack_contains_title_for_album); else - sb.AppendFormat("track {0}", descriptor.HeaderID2).AppendLine(); + sb.AppendFormat(Localization.CD_Text_pack_contains_title_for_track_0, descriptor.HeaderID2). + AppendLine(); break; } case 0x81: { - sb.Append("CD-Text pack contains performer for "); - if(descriptor.HeaderID2 == 0x00) - sb.AppendLine("album"); + sb.AppendLine(Localization.CD_Text_pack_contains_performer_for_album); else - sb.AppendFormat("track {0}", descriptor.HeaderID2).AppendLine(); + sb.AppendFormat(Localization.CD_Text_pack_contains_performer_for_track_0, + descriptor.HeaderID2).AppendLine(); break; } case 0x82: { - sb.Append("CD-Text pack contains songwriter for "); - if(descriptor.HeaderID2 == 0x00) - sb.AppendLine("album"); + sb.AppendLine(Localization.CD_Text_pack_contains_songwriter_for_album); else - sb.AppendFormat("track {0}", descriptor.HeaderID2).AppendLine(); + sb.AppendFormat(Localization.CD_Text_pack_contains_songwriter_for_track_0, + descriptor.HeaderID2).AppendLine(); break; } @@ -199,61 +198,59 @@ public static class CDTextOnLeadIn case 0x83: { if(descriptor.HeaderID2 == 0x00) - sb.AppendLine("album"); + sb.AppendLine(Localization.album); else - sb.AppendFormat("track {0}", descriptor.HeaderID2).AppendLine(); + sb.AppendFormat(Localization.track_0, descriptor.HeaderID2).AppendLine(); break; } case 0x84: { - sb.Append("CD-Text pack contains arranger for "); - if(descriptor.HeaderID2 == 0x00) - sb.AppendLine("album"); + sb.AppendLine(Localization.CD_Text_pack_contains_arranger_for_album); else - sb.AppendFormat("track {0}", descriptor.HeaderID2).AppendLine(); + sb.AppendFormat(Localization.CD_Text_pack_contains_arranger_for_track_0, + descriptor.HeaderID2).AppendLine(); break; } case 0x85: { - sb.Append("CD-Text pack contains content provider's message for "); - if(descriptor.HeaderID2 == 0x00) - sb.AppendLine("album"); + sb.AppendLine(Localization.CD_Text_pack_contains_content_provider_message_for_album); else - sb.AppendFormat("track {0}", descriptor.HeaderID2).AppendLine(); + sb.AppendFormat(Localization.CD_Text_pack_contains_content_provider_message_for_track_0, + descriptor.HeaderID2).AppendLine(); break; } case 0x86: { - sb.AppendLine("CD-Text pack contains disc identification information"); + sb.AppendLine(Localization.CD_Text_pack_contains_disc_identification_information); break; } case 0x87: { - sb.AppendLine("CD-Text pack contains genre identification information"); + sb.AppendLine(Localization.CD_Text_pack_contains_genre_identification_information); break; } case 0x88: { - sb.AppendLine("CD-Text pack contains table of contents information"); + sb.AppendLine(Localization.CD_Text_pack_contains_table_of_contents_information); break; } case 0x89: { - sb.AppendLine("CD-Text pack contains second table of contents information"); + sb.AppendLine(Localization.CD_Text_pack_contains_second_table_of_contents_information); break; } @@ -262,14 +259,14 @@ public static class CDTextOnLeadIn case 0x8B: case 0x8C: { - sb.AppendLine("CD-Text pack contains reserved data"); + sb.AppendLine(Localization.CD_Text_pack_contains_reserved_data); break; } case 0x8D: { - sb.AppendLine("CD-Text pack contains data reserved for content provider only"); + sb.AppendLine(Localization.CD_Text_pack_contains_data_reserved_for_content_provider_only); break; } @@ -277,16 +274,16 @@ public static class CDTextOnLeadIn case 0x8E: { if(descriptor.HeaderID2 == 0x00) - sb.AppendLine("CD-Text pack contains UPC"); + sb.AppendLine(Localization.CD_Text_pack_contains_UPC); else - sb.AppendFormat("track {0}", descriptor.HeaderID2).AppendLine(); + sb.AppendFormat(Localization.track_0, descriptor.HeaderID2).AppendLine(); break; } case 0x8F: { - sb.AppendLine("CD-Text pack contains size block information"); + sb.AppendLine(Localization.CD_Text_pack_contains_size_block_information); break; } @@ -305,12 +302,12 @@ public static class CDTextOnLeadIn case 0x8E: { if(descriptor.DBCC) - sb.AppendLine("Double Byte Character Code is used"); + sb.AppendLine(Localization.Double_Byte_Character_Code_is_used); - sb.AppendFormat("Block number {0}", descriptor.BlockNumber).AppendLine(); - sb.AppendFormat("Character position {0}", descriptor.CharacterPosition).AppendLine(); + sb.AppendFormat(Localization.Block_number_0, descriptor.BlockNumber).AppendLine(); + sb.AppendFormat(Localization.Character_position_0, descriptor.CharacterPosition).AppendLine(); - sb.AppendFormat("Text field: \"{0}\"", + sb.AppendFormat(Localization.Text_field_0, StringHandlers.CToString(descriptor.TextDataField, Encoding.GetEncoding("iso-8859-1"))).AppendLine(); @@ -319,14 +316,14 @@ public static class CDTextOnLeadIn default: { - sb.AppendFormat("Binary contents: {0}", + sb.AppendFormat(Localization.Binary_contents_0, PrintHex.ByteArrayToHexArrayString(descriptor.TextDataField, 28)).AppendLine(); break; } } - sb.AppendFormat("CRC: 0x{0:X4}", descriptor.CRC).AppendLine(); + sb.AppendFormat(Localization.CRC_0_X4, descriptor.CRC).AppendLine(); } return sb.ToString(); diff --git a/CD/FullTOC.cs b/CD/FullTOC.cs index 9bdd164fd..1ed87f3f9 100644 --- a/CD/FullTOC.cs +++ b/CD/FullTOC.cs @@ -60,13 +60,6 @@ namespace Aaru.Decoders.CD; SuppressMessage("ReSharper", "MemberCanBePrivate.Global")] public static class FullTOC { - const string StereoNoPre = "Stereo audio track with no pre-emphasis"; - const string StereoPreEm = "Stereo audio track with 50/15 μs pre-emphasis"; - const string QuadNoPreEm = "Quadraphonic audio track with no pre-emphasis"; - const string QuadPreEmph = "Quadraphonic audio track with 50/15 μs pre-emphasis"; - const string DataUnintrp = "Data track, recorded uninterrupted"; - const string DataIncrtly = "Data track, recorded incrementally"; - public static CDFullTOC? Decode(byte[] CDFullTOCResponse) { if(CDFullTOCResponse is not { Length: > 4 }) @@ -84,7 +77,8 @@ public static class FullTOC if(decoded.DataLength + 2 != CDFullTOCResponse.Length) { AaruConsole.DebugWriteLine("CD full TOC decoder", - "Expected CDFullTOC size ({0} bytes) is not received size ({1} bytes), not decoding", + Localization. + Expected_CDFullTOC_size_0_bytes_is_not_received_size_1_bytes_not_decoding, decoded.DataLength + 2, CDFullTOCResponse.Length); return null; @@ -122,34 +116,34 @@ public static class FullTOC int lastSession = 0; - sb.AppendFormat("First complete session number: {0}", response.FirstCompleteSession).AppendLine(); - sb.AppendFormat("Last complete session number: {0}", response.LastCompleteSession).AppendLine(); + sb.AppendFormat(Localization.First_complete_session_number_0, response.FirstCompleteSession).AppendLine(); + sb.AppendFormat(Localization.Last_complete_session_number_0, response.LastCompleteSession).AppendLine(); foreach(TrackDataDescriptor descriptor in response.TrackDescriptors) if((descriptor.CONTROL & 0x08) == 0x08 || (descriptor.ADR != 1 && descriptor.ADR != 5 && descriptor.ADR != 4 && descriptor.ADR != 6) || descriptor.TNO != 0) { - sb.AppendLine("Unknown TOC entry format, printing values as-is"); - sb.AppendFormat("SessionNumber = {0}", descriptor.SessionNumber).AppendLine(); - sb.AppendFormat("ADR = {0}", descriptor.ADR).AppendLine(); - sb.AppendFormat("CONTROL = {0}", descriptor.CONTROL).AppendLine(); - sb.AppendFormat("TNO = {0}", descriptor.TNO).AppendLine(); - sb.AppendFormat("POINT = {0}", descriptor.POINT).AppendLine(); - sb.AppendFormat("Min = {0}", descriptor.Min).AppendLine(); - sb.AppendFormat("Sec = {0}", descriptor.Sec).AppendLine(); - sb.AppendFormat("Frame = {0}", descriptor.Frame).AppendLine(); - sb.AppendFormat("HOUR = {0}", descriptor.HOUR).AppendLine(); - sb.AppendFormat("PHOUR = {0}", descriptor.PHOUR).AppendLine(); - sb.AppendFormat("PMIN = {0}", descriptor.PMIN).AppendLine(); - sb.AppendFormat("PSEC = {0}", descriptor.PSEC).AppendLine(); - sb.AppendFormat("PFRAME = {0}", descriptor.PFRAME).AppendLine(); + sb.AppendLine(Localization.Unknown_TOC_entry_format_printing_values_as_is); + sb.AppendLine($"SessionNumber = {descriptor.SessionNumber}"); + sb.AppendLine($"ADR = {descriptor.ADR}"); + sb.AppendLine($"CONTROL = {descriptor.CONTROL}"); + sb.AppendLine($"TNO = {descriptor.TNO}"); + sb.AppendLine($"POINT = {descriptor.POINT}"); + sb.AppendLine($"Min = {descriptor.Min}"); + sb.AppendLine($"Sec = {descriptor.Sec}"); + sb.AppendLine($"Frame = {descriptor.Frame}"); + sb.AppendLine($"HOUR = {descriptor.HOUR}"); + sb.AppendLine($"PHOUR = {descriptor.PHOUR}"); + sb.AppendLine($"PMIN = {descriptor.PMIN}"); + sb.AppendLine($"PSEC = {descriptor.PSEC}"); + sb.AppendLine($"PFRAME = {descriptor.PFRAME}"); } else { if(descriptor.SessionNumber > lastSession) { - sb.AppendFormat("Session {0}", descriptor.SessionNumber).AppendLine(); + sb.AppendFormat(Localization.Session_0, descriptor.SessionNumber).AppendLine(); lastSession = descriptor.SessionNumber; } @@ -162,40 +156,45 @@ public static class FullTOC { case 0xA0 when descriptor.ADR == 4: { - sb.AppendFormat("First video track number: {0}", descriptor.PMIN).AppendLine(); + sb.AppendFormat(Localization.First_video_track_number_0, descriptor.PMIN).AppendLine(); switch(descriptor.PSEC) { case 0x10: - sb.AppendLine("CD-V single in NTSC format with digital stereo sound"); + sb.AppendLine(Localization. + CD_V_single_in_NTSC_format_with_digital_stereo_sound); break; case 0x11: - sb.AppendLine("CD-V single in NTSC format with digital bilingual sound"); + sb.AppendLine(Localization. + CD_V_single_in_NTSC_format_with_digital_bilingual_sound); break; case 0x12: - sb.AppendLine("CD-V disc in NTSC format with digital stereo sound"); + sb.AppendLine(Localization.CD_V_disc_in_NTSC_format_with_digital_stereo_sound); break; case 0x13: - sb.AppendLine("CD-V disc in NTSC format with digital bilingual sound"); + sb.AppendLine(Localization. + CD_V_disc_in_NTSC_format_with_digital_bilingual_sound); break; case 0x20: - sb.AppendLine("CD-V single in PAL format with digital stereo sound"); + sb.AppendLine(Localization.CD_V_single_in_PAL_format_with_digital_stereo_sound); break; case 0x21: - sb.AppendLine("CD-V single in PAL format with digital bilingual sound"); + sb.AppendLine(Localization. + CD_V_single_in_PAL_format_with_digital_bilingual_sound); break; case 0x22: - sb.AppendLine("CD-V disc in PAL format with digital stereo sound"); + sb.AppendLine(Localization.CD_V_disc_in_PAL_format_with_digital_stereo_sound); break; case 0x23: - sb.AppendLine("CD-V disc in PAL format with digital bilingual sound"); + sb.AppendLine(Localization. + CD_V_disc_in_PAL_format_with_digital_bilingual_sound); break; } @@ -205,80 +204,80 @@ public static class FullTOC case 0xA0 when descriptor.ADR == 1: { - sb.AppendFormat("First track number: {0} (", descriptor.PMIN); + sb.AppendFormat(Localization.First_track_number_0_open_parenthesis, descriptor.PMIN); switch((TocControl)(descriptor.CONTROL & 0x0D)) { case TocControl.TwoChanNoPreEmph: - sb.Append(StereoNoPre); + sb.Append(Localization.Stereo_audio_track_with_no_pre_emphasis); break; case TocControl.TwoChanPreEmph: - sb.Append(StereoPreEm); + sb.Append(Localization.Stereo_audio_track_with_50_15_us_pre_emphasis); break; case TocControl.FourChanNoPreEmph: - sb.Append(QuadNoPreEm); + sb.Append(Localization.Quadraphonic_audio_track_with_no_pre_emphasis); break; case TocControl.FourChanPreEmph: - sb.Append(QuadPreEmph); + sb.Append(Localization.Quadraphonic_audio_track_with_50_15_us_pre_emphasis); break; case TocControl.DataTrack: - sb.Append(DataUnintrp); + sb.Append(Localization.Data_track_recorded_uninterrupted); break; case TocControl.DataTrackIncremental: - sb.Append(DataIncrtly); + sb.Append(Localization.Data_track_recorded_incrementally); break; } - sb.AppendLine(")"); - sb.AppendFormat("Disc type: {0}", descriptor.PSEC).AppendLine(); + sb.AppendLine(Localization.close_parenthesis); + sb.AppendFormat(Localization.Disc_type_0, descriptor.PSEC).AppendLine(); //sb.AppendFormat("Absolute time: {3:D2}:{0:D2}:{1:D2}:{2:D2}", descriptor.Min, descriptor.Sec, descriptor.Frame, descriptor.HOUR).AppendLine(); break; } case 0xA1 when descriptor.ADR == 4: - sb.AppendFormat("Last video track number: {0}", descriptor.PMIN).AppendLine(); + sb.AppendFormat(Localization.Last_video_track_number_0, descriptor.PMIN).AppendLine(); break; case 0xA1 when descriptor.ADR == 1: { - sb.AppendFormat("Last track number: {0} (", descriptor.PMIN); + sb.AppendFormat(Localization.Last_track_number_0_open_parenthesis, descriptor.PMIN); switch((TocControl)(descriptor.CONTROL & 0x0D)) { case TocControl.TwoChanNoPreEmph: - sb.Append(StereoNoPre); + sb.Append(Localization.Stereo_audio_track_with_no_pre_emphasis); break; case TocControl.TwoChanPreEmph: - sb.Append(StereoPreEm); + sb.Append(Localization.Stereo_audio_track_with_50_15_us_pre_emphasis); break; case TocControl.FourChanNoPreEmph: - sb.Append(QuadNoPreEm); + sb.Append(Localization.Quadraphonic_audio_track_with_no_pre_emphasis); break; case TocControl.FourChanPreEmph: - sb.Append(QuadPreEmph); + sb.Append(Localization.Quadraphonic_audio_track_with_50_15_us_pre_emphasis); break; case TocControl.DataTrack: - sb.Append(DataUnintrp); + sb.Append(Localization.Data_track_recorded_uninterrupted); break; case TocControl.DataTrackIncremental: - sb.Append(DataIncrtly); + sb.Append(Localization.Data_track_recorded_incrementally); break; } - sb.AppendLine(")"); + sb.AppendLine(Localization.close_parenthesis); //sb.AppendFormat("Absolute time: {3:D2}:{0:D2}:{1:D2}:{2:D2}", descriptor.Min, descriptor.Sec, descriptor.Frame, descriptor.HOUR).AppendLine(); break; @@ -287,11 +286,10 @@ public static class FullTOC case 0xA2: { if(descriptor.PHOUR > 0) - sb.AppendFormat("Lead-out start position: {3:D2}:{0:D2}:{1:D2}:{2:D2}", - descriptor.PMIN, descriptor.PSEC, descriptor.PFRAME, - descriptor.PHOUR).AppendLine(); + sb.AppendFormat(Localization.Lead_out_start_position_3_0_1_2, descriptor.PMIN, + descriptor.PSEC, descriptor.PFRAME, descriptor.PHOUR).AppendLine(); else - sb.AppendFormat("Lead-out start position: {0:D2}:{1:D2}:{2:D2}", descriptor.PMIN, + sb.AppendFormat(Localization.Lead_out_start_position_0_1_2, descriptor.PMIN, descriptor.PSEC, descriptor.PFRAME).AppendLine(); //sb.AppendFormat("Absolute time: {3:D2}:{0:D2}:{1:D2}:{2:D2}", descriptor.Min, descriptor.Sec, descriptor.Frame, descriptor.HOUR).AppendLine(); @@ -302,12 +300,12 @@ public static class FullTOC case TocControl.TwoChanPreEmph: case TocControl.FourChanNoPreEmph: case TocControl.FourChanPreEmph: - sb.AppendLine("Lead-out is audio type"); + sb.AppendLine(Localization.Lead_out_is_audio_type); break; case TocControl.DataTrack: case TocControl.DataTrackIncremental: - sb.AppendLine("Lead-out is data type"); + sb.AppendLine(Localization.Lead_out_is_data_type); break; } @@ -317,16 +315,16 @@ public static class FullTOC case 0xF0: { - sb.AppendFormat("Book type: 0x{0:X2}", descriptor.PMIN); - sb.AppendFormat("Material type: 0x{0:X2}", descriptor.PSEC); - sb.AppendFormat("Moment of inertia: 0x{0:X2}", descriptor.PFRAME); + sb.AppendFormat(Localization.Book_type_0, descriptor.PMIN); + sb.AppendFormat(Localization.Material_type_0, descriptor.PSEC); + sb.AppendFormat(Localization.Moment_of_inertia_0, descriptor.PFRAME); if(descriptor.PHOUR > 0) - sb.AppendFormat("Absolute time: {3:D2}:{0:D2}:{1:D2}:{2:D2}", descriptor.Min, - descriptor.Sec, descriptor.Frame, descriptor.HOUR).AppendLine(); + sb.AppendFormat(Localization.Absolute_time_3_0_1_2, descriptor.Min, descriptor.Sec, + descriptor.Frame, descriptor.HOUR).AppendLine(); else - sb.AppendFormat("Absolute time: {0:D2}:{1:D2}:{2:D2}", descriptor.Min, - descriptor.Sec, descriptor.Frame).AppendLine(); + sb.AppendFormat(Localization.Absolute_time_0_1_2, descriptor.Min, descriptor.Sec, + descriptor.Frame).AppendLine(); break; } @@ -335,70 +333,70 @@ public static class FullTOC { if(descriptor.POINT is >= 0x01 and <= 0x63) if(descriptor.ADR == 4) - sb.AppendFormat("Video track {3} starts at: {0:D2}:{1:D2}:{2:D2}", - descriptor.PMIN, descriptor.PSEC, descriptor.PFRAME, - descriptor.POINT).AppendLine(); + sb.AppendFormat(Localization.Video_track_3_starts_at_0_1_2, descriptor.PMIN, + descriptor.PSEC, descriptor.PFRAME, descriptor.POINT). + AppendLine(); else { - string type = "Audio"; - - if((TocControl)(descriptor.CONTROL & 0x0D) == TocControl.DataTrack || - (TocControl)(descriptor.CONTROL & 0x0D) == TocControl.DataTrackIncremental) - type = "Data"; + bool data = (TocControl)(descriptor.CONTROL & 0x0D) == TocControl.DataTrack || + (TocControl)(descriptor.CONTROL & 0x0D) == + TocControl.DataTrackIncremental; if(descriptor.PHOUR > 0) - sb.AppendFormat("{5} track {3} starts at: {4:D2}:{0:D2}:{1:D2}:{2:D2} (", + sb.AppendFormat(data ? Localization.Data_track_3_starts_at_4_0_1_2_open_parenthesis : Localization.Audio_track_3_starts_at_4_0_1_2_open_parenthesis, descriptor.PMIN, descriptor.PSEC, descriptor.PFRAME, - descriptor.POINT, descriptor.PHOUR, type); + descriptor.POINT, descriptor.PHOUR); + else - sb.AppendFormat("{4} track {3} starts at: {0:D2}:{1:D2}:{2:D2} (", + sb.AppendFormat(data ? Localization.Data_track_3_starts_at_0_1_2_open_parenthesis : Localization.Audio_track_3_starts_at_0_1_2_open_parenthesis, descriptor.PMIN, descriptor.PSEC, descriptor.PFRAME, - descriptor.POINT, type); + descriptor.POINT); switch((TocControl)(descriptor.CONTROL & 0x0D)) { case TocControl.TwoChanNoPreEmph: - sb.Append(StereoNoPre); + sb.Append(Localization.Stereo_audio_track_with_no_pre_emphasis); break; case TocControl.TwoChanPreEmph: - sb.Append(StereoPreEm); + sb.Append(Localization.Stereo_audio_track_with_50_15_us_pre_emphasis); break; case TocControl.FourChanNoPreEmph: - sb.Append(QuadNoPreEm); + sb.Append(Localization.Quadraphonic_audio_track_with_no_pre_emphasis); break; case TocControl.FourChanPreEmph: - sb.Append(QuadPreEmph); + sb.Append(Localization. + Quadraphonic_audio_track_with_50_15_us_pre_emphasis); break; case TocControl.DataTrack: - sb.Append(DataUnintrp); + sb.Append(Localization.Data_track_recorded_uninterrupted); break; case TocControl.DataTrackIncremental: - sb.Append(DataIncrtly); + sb.Append(Localization.Data_track_recorded_incrementally); break; } - sb.AppendLine(")"); + sb.AppendLine(Localization.close_parenthesis); } else { - sb.AppendFormat("ADR = {0}", descriptor.ADR).AppendLine(); - sb.AppendFormat("CONTROL = {0}", descriptor.CONTROL).AppendLine(); - sb.AppendFormat("TNO = {0}", descriptor.TNO).AppendLine(); - sb.AppendFormat("POINT = {0}", descriptor.POINT).AppendLine(); - sb.AppendFormat("Min = {0}", descriptor.Min).AppendLine(); - sb.AppendFormat("Sec = {0}", descriptor.Sec).AppendLine(); - sb.AppendFormat("Frame = {0}", descriptor.Frame).AppendLine(); - sb.AppendFormat("HOUR = {0}", descriptor.HOUR).AppendLine(); - sb.AppendFormat("PHOUR = {0}", descriptor.PHOUR).AppendLine(); - sb.AppendFormat("PMIN = {0}", descriptor.PMIN).AppendLine(); - sb.AppendFormat("PSEC = {0}", descriptor.PSEC).AppendLine(); - sb.AppendFormat("PFRAME = {0}", descriptor.PFRAME).AppendLine(); + sb.Append($"ADR = {descriptor.ADR}").AppendLine(); + sb.Append($"CONTROL = {descriptor.CONTROL}").AppendLine(); + sb.Append($"TNO = {descriptor.TNO}").AppendLine(); + sb.Append($"POINT = {descriptor.POINT}").AppendLine(); + sb.Append($"Min = {descriptor.Min}").AppendLine(); + sb.Append($"Sec = {descriptor.Sec}").AppendLine(); + sb.Append($"Frame = {descriptor.Frame}").AppendLine(); + sb.Append($"HOUR = {descriptor.HOUR}").AppendLine(); + sb.Append($"PHOUR = {descriptor.PHOUR}").AppendLine(); + sb.Append($"PMIN = {descriptor.PMIN}").AppendLine(); + sb.Append($"PSEC = {descriptor.PSEC}").AppendLine(); + sb.Append($"PFRAME = {descriptor.PFRAME}").AppendLine(); } break; @@ -417,23 +415,23 @@ public static class FullTOC if(descriptor.PHOUR > 0) { sb. - AppendFormat("Start of next possible program in the recordable area of the disc: {3:D2}:{0:D2}:{1:D2}:{2:D2}", + AppendFormat(Localization.Start_of_next_possible_program_in_the_recordable_area_of_the_disc_3_0_1_2, descriptor.Min, descriptor.Sec, descriptor.Frame, descriptor.HOUR). AppendLine(); sb. - AppendFormat("Maximum start of outermost Lead-out in the recordable area of the disc: {3:D2}:{0:D2}:{1:D2}:{2:D2}", + AppendFormat(Localization.Maximum_start_of_outermost_Lead_out_in_the_recordable_area_of_the_disc_3_0_1_2, descriptor.PMIN, descriptor.PSEC, descriptor.PFRAME, descriptor.PHOUR).AppendLine(); } else { sb. - AppendFormat("Start of next possible program in the recordable area of the disc: {0:D2}:{1:D2}:{2:D2}", + AppendFormat(Localization.Start_of_next_possible_program_in_the_recordable_area_of_the_disc_0_1_2, descriptor.Min, descriptor.Sec, descriptor.Frame).AppendLine(); sb. - AppendFormat("Maximum start of outermost Lead-out in the recordable area of the disc: {0:D2}:{1:D2}:{2:D2}", + AppendFormat(Localization.Maximum_start_of_outermost_Lead_out_in_the_recordable_area_of_the_disc_0_1_2, descriptor.PMIN, descriptor.PSEC, descriptor.PFRAME).AppendLine(); } @@ -442,9 +440,11 @@ public static class FullTOC case 0xB1: { - sb.AppendFormat("Number of skip interval pointers: {0}", descriptor.PMIN).AppendLine(); + sb.AppendFormat(Localization.Number_of_skip_interval_pointers_0, descriptor.PMIN). + AppendLine(); - sb.AppendFormat("Number of skip track pointers: {0}", descriptor.PSEC).AppendLine(); + sb.AppendFormat(Localization.Number_of_skip_track_pointers_0, descriptor.PSEC). + AppendLine(); break; } @@ -453,44 +453,43 @@ public static class FullTOC case 0xB3: case 0xB4: { - sb.AppendFormat("Skip track {0}", descriptor.Min).AppendLine(); - sb.AppendFormat("Skip track {0}", descriptor.Sec).AppendLine(); - sb.AppendFormat("Skip track {0}", descriptor.Frame).AppendLine(); - sb.AppendFormat("Skip track {0}", descriptor.Zero).AppendLine(); - sb.AppendFormat("Skip track {0}", descriptor.PMIN).AppendLine(); - sb.AppendFormat("Skip track {0}", descriptor.PSEC).AppendLine(); - sb.AppendFormat("Skip track {0}", descriptor.PFRAME).AppendLine(); + sb.AppendFormat(Localization.Skip_track_0, descriptor.Min).AppendLine(); + sb.AppendFormat(Localization.Skip_track_0, descriptor.Sec).AppendLine(); + sb.AppendFormat(Localization.Skip_track_0, descriptor.Frame).AppendLine(); + sb.AppendFormat(Localization.Skip_track_0, descriptor.Zero).AppendLine(); + sb.AppendFormat(Localization.Skip_track_0, descriptor.PMIN).AppendLine(); + sb.AppendFormat(Localization.Skip_track_0, descriptor.PSEC).AppendLine(); + sb.AppendFormat(Localization.Skip_track_0, descriptor.PFRAME).AppendLine(); break; } case 0xC0: { - sb.AppendFormat("Optimum recording power: 0x{0:X2}", descriptor.Min).AppendLine(); + sb.AppendFormat(Localization.Optimum_recording_power_0, descriptor.Min).AppendLine(); if(descriptor.PHOUR > 0) sb. - AppendFormat("Start time of the first Lead-in area in the disc: {3:D2}:{0:D2}:{1:D2}:{2:D2}", + AppendFormat(Localization.Start_time_of_the_first_Lead_in_area_in_the_disc_3_0_1_2, descriptor.PMIN, descriptor.PSEC, descriptor.PFRAME, descriptor.PHOUR).AppendLine(); else - sb. - AppendFormat("Start time of the first Lead-in area in the disc: {0:D2}:{1:D2}:{2:D2}", - descriptor.PMIN, descriptor.PSEC, descriptor.PFRAME).AppendLine(); + sb.AppendFormat(Localization.Start_time_of_the_first_Lead_in_area_in_the_disc_0_1_2, + descriptor.PMIN, descriptor.PSEC, descriptor.PFRAME).AppendLine(); break; } case 0xC1: { - sb.AppendFormat("Copy of information of A1 from ATIP found"); - sb.AppendFormat("Min = {0}", descriptor.Min).AppendLine(); - sb.AppendFormat("Sec = {0}", descriptor.Sec).AppendLine(); - sb.AppendFormat("Frame = {0}", descriptor.Frame).AppendLine(); - sb.AppendFormat("Zero = {0}", descriptor.Zero).AppendLine(); - sb.AppendFormat("PMIN = {0}", descriptor.PMIN).AppendLine(); - sb.AppendFormat("PSEC = {0}", descriptor.PSEC).AppendLine(); - sb.AppendFormat("PFRAME = {0}", descriptor.PFRAME).AppendLine(); + sb.AppendFormat(Localization.Copy_of_information_of_A1_from_ATIP_found); + sb.Append($"Min = {descriptor.Min}").AppendLine(); + sb.Append($"Sec = {descriptor.Sec}").AppendLine(); + sb.Append($"Frame = {descriptor.Frame}").AppendLine(); + sb.Append($"Zero = {descriptor.Zero}").AppendLine(); + sb.Append($"PMIN = {descriptor.PMIN}").AppendLine(); + sb.Append($"PSEC = {descriptor.PSEC}").AppendLine(); + sb.Append($"PFRAME = {descriptor.PFRAME}").AppendLine(); break; } @@ -499,22 +498,20 @@ public static class FullTOC { if(descriptor.PHOUR > 0) { - sb. - AppendFormat("Start position of outer part lead-in area: {3:D2}:{0:D2}:{1:D2}:{2:D2}", - descriptor.PMIN, descriptor.PSEC, descriptor.PFRAME, - descriptor.PHOUR).AppendLine(); + sb.AppendFormat(Localization.Start_position_of_outer_part_lead_in_area_3_0_1_2, + descriptor.PMIN, descriptor.PSEC, descriptor.PFRAME, + descriptor.PHOUR).AppendLine(); - sb. - AppendFormat("Stop position of inner part lead-out area: {3:D2}:{0:D2}:{1:D2}:{2:D2}", - descriptor.Min, descriptor.Sec, descriptor.Frame, descriptor.HOUR). - AppendLine(); + sb.AppendFormat(Localization.Stop_position_of_inner_part_lead_out_area_3_0_1_2, + descriptor.Min, descriptor.Sec, descriptor.Frame, descriptor.HOUR). + AppendLine(); } else { - sb.AppendFormat("Start position of outer part lead-in area: {0:D2}:{1:D2}:{2:D2}", + sb.AppendFormat(Localization.Start_position_of_outer_part_lead_in_area_0_1_2, descriptor.PMIN, descriptor.PSEC, descriptor.PFRAME).AppendLine(); - sb.AppendFormat("Stop position of inner part lead-out area: {0:D2}:{1:D2}:{2:D2}", + sb.AppendFormat(Localization.Stop_position_of_inner_part_lead_out_area_0_1_2, descriptor.Min, descriptor.Sec, descriptor.Frame).AppendLine(); } @@ -525,28 +522,26 @@ public static class FullTOC { if(descriptor.POINT is >= 0x01 and <= 0x40) { - sb. - AppendFormat("Start time for interval that should be skipped: {0:D2}:{1:D2}:{2:D2}", - descriptor.PMIN, descriptor.PSEC, descriptor.PFRAME).AppendLine(); + sb.AppendFormat(Localization.Start_time_for_interval_that_should_be_skipped_0_1_2, + descriptor.PMIN, descriptor.PSEC, descriptor.PFRAME).AppendLine(); - sb. - AppendFormat("Ending time for interval that should be skipped: {0:D2}:{1:D2}:{2:D2}", - descriptor.Min, descriptor.Sec, descriptor.Frame).AppendLine(); + sb.AppendFormat(Localization.Ending_time_for_interval_that_should_be_skipped_0_1_2, + descriptor.Min, descriptor.Sec, descriptor.Frame).AppendLine(); } else { - sb.AppendFormat("ADR = {0}", descriptor.ADR).AppendLine(); - sb.AppendFormat("CONTROL = {0}", descriptor.CONTROL).AppendLine(); - sb.AppendFormat("TNO = {0}", descriptor.TNO).AppendLine(); - sb.AppendFormat("POINT = {0}", descriptor.POINT).AppendLine(); - sb.AppendFormat("Min = {0}", descriptor.Min).AppendLine(); - sb.AppendFormat("Sec = {0}", descriptor.Sec).AppendLine(); - sb.AppendFormat("Frame = {0}", descriptor.Frame).AppendLine(); - sb.AppendFormat("HOUR = {0}", descriptor.HOUR).AppendLine(); - sb.AppendFormat("PHOUR = {0}", descriptor.PHOUR).AppendLine(); - sb.AppendFormat("PMIN = {0}", descriptor.PMIN).AppendLine(); - sb.AppendFormat("PSEC = {0}", descriptor.PSEC).AppendLine(); - sb.AppendFormat("PFRAME = {0}", descriptor.PFRAME).AppendLine(); + sb.Append($"ADR = {descriptor.ADR}").AppendLine(); + sb.Append($"CONTROL = {descriptor.CONTROL}").AppendLine(); + sb.Append($"TNO = {descriptor.TNO}").AppendLine(); + sb.Append($"POINT = {descriptor.POINT}").AppendLine(); + sb.Append($"Min = {descriptor.Min}").AppendLine(); + sb.Append($"Sec = {descriptor.Sec}").AppendLine(); + sb.Append($"Frame = {descriptor.Frame}").AppendLine(); + sb.Append($"HOUR = {descriptor.HOUR}").AppendLine(); + sb.Append($"PHOUR = {descriptor.PHOUR}").AppendLine(); + sb.Append($"PMIN = {descriptor.PMIN}").AppendLine(); + sb.Append($"PSEC = {descriptor.PSEC}").AppendLine(); + sb.Append($"PFRAME = {descriptor.PFRAME}").AppendLine(); } break; @@ -559,7 +554,7 @@ public static class FullTOC case 6: { uint id = (uint)((descriptor.Min << 16) + (descriptor.Sec << 8) + descriptor.Frame); - sb.AppendFormat("Disc ID: {0:X6}", id & 0x00FFFFFF).AppendLine(); + sb.AppendFormat(Localization.Disc_ID_0_X6, id & 0x00FFFFFF).AppendLine(); break; } diff --git a/CD/PMA.cs b/CD/PMA.cs index c6944bb03..59f0806a9 100644 --- a/CD/PMA.cs +++ b/CD/PMA.cs @@ -30,6 +30,7 @@ // Copyright © 2011-2022 Natalia Portillo // ****************************************************************************/ +using System.Collections.Generic; using System.Diagnostics.CodeAnalysis; using System.Text; using Aaru.Console; @@ -74,7 +75,8 @@ public static class PMA if(decoded.DataLength + 2 != CDPMAResponse.Length) { AaruConsole.DebugWriteLine("CD PMA decoder", - "Expected CD PMA size ({0} bytes) is not received size ({1} bytes), not decoding", + Localization. + Expected_CD_PMA_size_0_bytes_is_not_received_size_1_bytes_not_decoding, decoded.DataLength + 2, CDPMAResponse.Length); return null; @@ -111,17 +113,19 @@ public static class PMA #if DEBUG if(response.Reserved1 != 0) - sb.AppendFormat("Reserved1 = 0x{0:X2}", response.Reserved1).AppendLine(); + sb.AppendFormat(Localization.Reserved1_equals_0_X8, response.Reserved1).AppendLine(); if(response.Reserved2 != 0) - sb.AppendFormat("Reserved2 = 0x{0:X2}", response.Reserved2).AppendLine(); + sb.AppendFormat(Localization.Reserved2_equals_0_X8, response.Reserved2).AppendLine(); #endif + List tracks; + foreach(CDPMADescriptors descriptor in response.PMADescriptors) { #if DEBUG if(descriptor.Reserved != 0) - sb.AppendFormat("Reserved = 0x{0:X2}", descriptor.Reserved).AppendLine(); + sb.AppendFormat(Localization.Reserved_equals_0_X2, descriptor.Reserved).AppendLine(); #endif switch(descriptor.ADR) @@ -129,50 +133,88 @@ public static class PMA case 1: if(descriptor.POINT > 0) { - sb.AppendFormat("Track {0}", descriptor.POINT); - switch((TocControl)(descriptor.CONTROL & 0x0D)) { case TocControl.TwoChanNoPreEmph: - sb.Append(" (Stereo audio track with no pre-emphasis)"); + if(descriptor.PHOUR > 0) + sb.AppendFormat(Localization.Track_0_Stereo_audio_track_with_no_pre_emphasis_starts_at_4_1_2_3_and_ends_at_8_5_6_7, + descriptor.POINT, descriptor.PMIN, descriptor.PSEC, + descriptor.PFRAME, descriptor.PHOUR, descriptor.Min, descriptor.Sec, + descriptor.Frame, descriptor.HOUR); + else + sb.AppendFormat(Localization.Track_0_Stereo_audio_track_with_no_pre_emphasis_starts_at_1_2_3_and_ends_at_4_5_6, + descriptor.POINT, descriptor.PMIN, descriptor.PSEC, + descriptor.PFRAME, descriptor.Min, descriptor.Sec, + descriptor.Frame); break; case TocControl.TwoChanPreEmph: - sb.Append(" (Stereo audio track with 50/15 μs pre-emphasis)"); + if(descriptor.PHOUR > 0) + sb.AppendFormat(Localization.Track_0_Stereo_audio_track_with_50_15_s_pre_emphasis_starts_at_4_1_2_3_and_ends_at_8_5_6_7, + descriptor.POINT, descriptor.PMIN, descriptor.PSEC, + descriptor.PFRAME, descriptor.PHOUR, descriptor.Min, descriptor.Sec, + descriptor.Frame, descriptor.HOUR); + else + sb.AppendFormat(Localization.Track_0_Stereo_audio_track_with_50_15_us_pre_emphasis_starts_at_1_2_3_and_ends_at_4_5_6, + descriptor.POINT, descriptor.PMIN, descriptor.PSEC, + descriptor.PFRAME, descriptor.Min, descriptor.Sec, + descriptor.Frame); break; case TocControl.FourChanNoPreEmph: - sb.Append(" (Quadraphonic audio track with no pre-emphasis)"); + if(descriptor.PHOUR > 0) + sb.AppendFormat(Localization.Track_0_Quadraphonic_audio_track_with_no_pre_emphasis_starts_at_4_1_2_3_and_ends_at_8_5_6_7, + descriptor.POINT, descriptor.PMIN, descriptor.PSEC, + descriptor.PFRAME, descriptor.PHOUR, descriptor.Min, descriptor.Sec, + descriptor.Frame, descriptor.HOUR); + else + sb.AppendFormat(Localization.Track_0_Quadraphonic_audio_track_with_no_pre_emphasis_starts_at_1_2_3_and_ends_at_4_5_6, + descriptor.POINT, descriptor.PMIN, descriptor.PSEC, + descriptor.PFRAME, descriptor.Min, descriptor.Sec, + descriptor.Frame); break; case TocControl.FourChanPreEmph: - sb.Append(" (Quadraphonic audio track with 50/15 μs pre-emphasis)"); + if(descriptor.PHOUR > 0) + sb.AppendFormat(Localization.Track_0_Quadraphonic_audio_track_with_50_15_us_pre_emphasis_starts_at_4_1_2_3_and_ends_at_8_5_6_7, + descriptor.POINT, descriptor.PMIN, descriptor.PSEC, + descriptor.PFRAME, descriptor.PHOUR, descriptor.Min, descriptor.Sec, + descriptor.Frame, descriptor.HOUR); + else + sb.AppendFormat(Localization.Track_0_Quadraphonic_audio_track_with_50_15_us_pre_emphasis_starts_at_1_2_3_and_ends_at_4_5_6, + descriptor.POINT, descriptor.PMIN, descriptor.PSEC, + descriptor.PFRAME, descriptor.Min, descriptor.Sec, + descriptor.Frame); break; case TocControl.DataTrack: - sb.Append(" (Data track, recorded uninterrupted)"); + if(descriptor.PHOUR > 0) + sb.AppendFormat(Localization.Track_0_Data_track_recorded_uninterrupted_starts_at_4_1_2_3_and_ends_at_8_5_6_7, + descriptor.POINT, descriptor.PMIN, descriptor.PSEC, + descriptor.PFRAME, descriptor.PHOUR, descriptor.Min, descriptor.Sec, + descriptor.Frame, descriptor.HOUR); + else + sb.AppendFormat(Localization.Track_0_Data_track_recorded_uninterrupted_starts_at_1_2_3_and_ends_at_4_5_6, + descriptor.POINT, descriptor.PMIN, descriptor.PSEC, + descriptor.PFRAME, descriptor.Min, descriptor.Sec, + descriptor.Frame); break; case TocControl.DataTrackIncremental: - sb.Append(" (Data track, recorded incrementally)"); + if(descriptor.PHOUR > 0) + sb.AppendFormat(Localization.Track_0_Data_track_recorded_incrementally_starts_at_4_1_2_3_and_ends_at_8_5_6_7, + descriptor.POINT, descriptor.PMIN, descriptor.PSEC, + descriptor.PFRAME, descriptor.PHOUR, descriptor.Min, descriptor.Sec, + descriptor.Frame, descriptor.HOUR); + else + sb.AppendFormat(Localization.Track_0_Data_track_recorded_incrementally_starts_at_1_2_3_and_ends_at_4_5_6, + descriptor.POINT, descriptor.PMIN, descriptor.PSEC, + descriptor.PFRAME, descriptor.Min, descriptor.Sec, + descriptor.Frame); break; } - if(descriptor.PHOUR > 0) - sb.AppendFormat(" starts at {3}:{0:D2}:{1:D2}:{2:D2}", descriptor.PMIN, descriptor.PSEC, - descriptor.PFRAME, descriptor.PHOUR); - else - sb.AppendFormat(" starts at {0:D2}:{1:D2}:{2:D2}", descriptor.PMIN, descriptor.PSEC, - descriptor.PFRAME); - - if(descriptor.PHOUR > 0) - sb.AppendFormat(" and ends at {3}:{0:D2}:{1:D2}:{2:D2}", descriptor.Min, descriptor.Sec, - descriptor.Frame, descriptor.HOUR); - else - sb.AppendFormat(" and ends at {0:D2}:{1:D2}:{2:D2}", descriptor.Min, descriptor.Sec, - descriptor.Frame); - sb.AppendLine(); } else @@ -181,109 +223,97 @@ public static class PMA break; case 2: uint id = (uint)((descriptor.Min << 16) + (descriptor.Sec << 8) + descriptor.Frame); - sb.AppendFormat("Disc ID: {0:X6}", id & 0x00FFFFFF).AppendLine(); + sb.AppendFormat(Localization.Disc_ID_0_X6, id & 0x00FFFFFF).AppendLine(); break; case 3: - sb.AppendFormat("Skip track assignment {0} says that tracks ", descriptor.POINT); + tracks = new List(); if(descriptor.Min > 0) - sb.AppendFormat("{0} ", descriptor.Min); + tracks.Add($"{descriptor.Min}"); if(descriptor.Sec > 0) - sb.AppendFormat("{0} ", descriptor.Sec); + tracks.Add($"{descriptor.Sec}"); if(descriptor.Frame > 0) - sb.AppendFormat("{0} ", descriptor.Frame); + tracks.Add($"{descriptor.Frame}"); if(descriptor.PMIN > 0) - sb.AppendFormat("{0} ", descriptor.PMIN); + tracks.Add($"{descriptor.PMIN}"); if(descriptor.PSEC > 0) - sb.AppendFormat("{0} ", descriptor.PSEC); + tracks.Add($"{descriptor.PSEC}"); if(descriptor.PFRAME > 0) - sb.AppendFormat("{0} ", descriptor.PFRAME); + tracks.Add($"{descriptor.PFRAME}"); - sb.AppendLine("should be skipped"); + sb.AppendFormat(Localization.Skip_track_assignment_0_says_that_tracks_1_should_be_skipped, + descriptor.POINT, string.Join(' ', tracks)); break; case 4: - sb.AppendFormat("Unskip track assignment {0} says that tracks ", descriptor.POINT); + tracks = new List(); if(descriptor.Min > 0) - sb.AppendFormat("{0} ", descriptor.Min); + tracks.Add($"{descriptor.Min}"); if(descriptor.Sec > 0) - sb.AppendFormat("{0} ", descriptor.Sec); + tracks.Add($"{descriptor.Sec}"); if(descriptor.Frame > 0) - sb.AppendFormat("{0} ", descriptor.Frame); + tracks.Add($"{descriptor.Frame}"); if(descriptor.PMIN > 0) - sb.AppendFormat("{0} ", descriptor.PMIN); + tracks.Add($"{descriptor.PMIN}"); if(descriptor.PSEC > 0) - sb.AppendFormat("{0} ", descriptor.PSEC); + tracks.Add($"{descriptor.PSEC}"); if(descriptor.PFRAME > 0) - sb.AppendFormat("{0} ", descriptor.PFRAME); + tracks.Add($"{descriptor.PFRAME}"); - sb.AppendLine("should not be skipped"); + sb.AppendFormat(Localization.Unskip_track_assignment_0_says_that_tracks_1_should_not_be_skipped, + descriptor.POINT, string.Join(' ', tracks)); break; case 5: - sb.AppendFormat("Skip time interval assignment {0} says that from ", descriptor.POINT); - if(descriptor.PHOUR > 0) - sb.AppendFormat("{3}:{0:D2}:{1:D2}:{2:D2} to ", descriptor.PMIN, descriptor.PSEC, - descriptor.PFRAME, descriptor.PHOUR); - else - sb.AppendFormat("{0:D2}:{1:D2}:{2:D2} to ", descriptor.PMIN, descriptor.PSEC, - descriptor.PFRAME); - - if(descriptor.PHOUR > 0) - sb.AppendFormat("{3}:{0:D2}:{1:D2}:{2:D2} ", descriptor.Min, descriptor.Sec, descriptor.Frame, + sb.AppendFormat(Localization.Skip_time_interval_assignment_0_says_that_from_4_1_2_3_to_8_5_6_7_should_be_skipped, + descriptor.POINT, descriptor.PMIN, descriptor.PSEC, descriptor.PFRAME, + descriptor.PHOUR, descriptor.Min, descriptor.Sec, descriptor.Frame, descriptor.HOUR); else - sb.AppendFormat("{0:D2}:{1:D2}:{2:D2} ", descriptor.Min, descriptor.Sec, descriptor.Frame); - - sb.AppendLine("should be skipped"); + sb.AppendFormat(Localization.Skip_time_interval_assignment_0_says_that_from_1_2_3_to_4_5_6_should_be_skipped, + descriptor.POINT, descriptor.PMIN, descriptor.PSEC, descriptor.PFRAME, + descriptor.Min, descriptor.Sec, descriptor.Frame); break; case 6: - sb.AppendFormat("Unskip time interval assignment {0} says that from ", descriptor.POINT); - if(descriptor.PHOUR > 0) - sb.AppendFormat("{3}:{0:D2}:{1:D2}:{2:D2} to ", descriptor.PMIN, descriptor.PSEC, - descriptor.PFRAME, descriptor.PHOUR); - else - sb.AppendFormat("{0:D2}:{1:D2}:{2:D2} to ", descriptor.PMIN, descriptor.PSEC, - descriptor.PFRAME); - - if(descriptor.PHOUR > 0) - sb.AppendFormat("{3}:{0:D2}:{1:D2}:{2:D2} ", descriptor.Min, descriptor.Sec, descriptor.Frame, + sb.AppendFormat(Localization.Unskip_time_interval_assignment_0_says_that_from_4_1_2_3_to_8_5_6_7_should_not_be_skipped, + descriptor.POINT, descriptor.PMIN, descriptor.PSEC, descriptor.PFRAME, + descriptor.PHOUR, descriptor.Min, descriptor.Sec, descriptor.Frame, descriptor.HOUR); else - sb.AppendFormat("{0:D2}:{1:D2}:{2:D2} ", descriptor.Min, descriptor.Sec, descriptor.Frame); - - sb.AppendLine("should not be skipped"); + sb.AppendFormat(Localization.Unskip_time_interval_assignment_0_says_that_from_1_2_3_to_4_5_6_should_not_be_skipped, + descriptor.POINT, descriptor.PMIN, descriptor.PSEC, descriptor.PFRAME, + descriptor.Min, descriptor.Sec, descriptor.Frame); break; default: - sb.AppendFormat("ADR = {0}", descriptor.ADR).AppendLine(); - sb.AppendFormat("CONTROL = {0}", descriptor.CONTROL).AppendLine(); - sb.AppendFormat("TNO = {0}", descriptor.TNO).AppendLine(); - sb.AppendFormat("POINT = {0}", descriptor.POINT).AppendLine(); - sb.AppendFormat("Min = {0}", descriptor.Min).AppendLine(); - sb.AppendFormat("Sec = {0}", descriptor.Sec).AppendLine(); - sb.AppendFormat("Frame = {0}", descriptor.Frame).AppendLine(); - sb.AppendFormat("HOUR = {0}", descriptor.HOUR).AppendLine(); - sb.AppendFormat("PHOUR = {0}", descriptor.PHOUR).AppendLine(); - sb.AppendFormat("PMIN = {0}", descriptor.PMIN).AppendLine(); - sb.AppendFormat("PSEC = {0}", descriptor.PSEC).AppendLine(); - sb.AppendFormat("PFRAME = {0}", descriptor.PFRAME).AppendLine(); + sb.AppendLine($"ADR = {descriptor.ADR}"); + sb.AppendLine($"CONTROL = {descriptor.CONTROL}"); + sb.AppendLine($"TNO = {descriptor.TNO}"); + sb.AppendLine($"POINT = {descriptor.POINT}"); + sb.AppendLine($"Min = {descriptor.Min}"); + sb.AppendLine($"Sec = {descriptor.Sec}"); + sb.AppendLine($"Frame = {descriptor.Frame}"); + sb.AppendLine($"HOUR = {descriptor.HOUR}"); + sb.AppendLine($"PHOUR = {descriptor.PHOUR}"); + sb.AppendLine($"PMIN = {descriptor.PMIN}"); + sb.AppendLine($"PSEC = {descriptor.PSEC}"); + sb.AppendLine($"PFRAME = {descriptor.PFRAME}"); break; } diff --git a/CD/Sector.cs b/CD/Sector.cs index 564f40a53..a72beefde 100644 --- a/CD/Sector.cs +++ b/CD/Sector.cs @@ -294,11 +294,11 @@ public static class Sector buffer[9] != 0xFF || buffer[10] != 0xFF || buffer[11] != 0x00) - return "CD sector."; + return Localization.CD_sector; var sb = new StringBuilder(); - sb.AppendLine("CD-ROM sector."); + sb.AppendLine(Localization.CD_ROM_sector); byte min = buffer[12]; byte sec = buffer[13]; @@ -321,24 +321,24 @@ public static class Sector if(moreThan90) min += 0x90; - sb.AppendFormat("Position {0:X2}:{1:X2}:{2:X2} (LBA {3})", min, sec, frame, lba).AppendLine(); + sb.AppendFormat(Localization.Position_0_1_2_LBA_3, min, sec, frame, lba).AppendLine(); switch(buffer[15] & 0x03) { case 0: - sb.AppendLine("Mode 0."); + sb.AppendLine(Localization.Mode_0); break; case 1: - sb.AppendLine("Mode 1."); + sb.AppendLine(Localization.Mode_1); break; case 2: - sb.AppendLine("Mode 2."); + sb.AppendLine(Localization.Mode_2); break; case 3: - sb.AppendLine("Invalid mode 0."); + sb.AppendLine(Localization.Invalid_mode_3); break; } @@ -346,35 +346,35 @@ public static class Sector switch((buffer[15] & 0xE0) >> 5) { case 0: - sb.AppendLine("User data block"); + sb.AppendLine(Localization.User_data_block); break; case 1: - sb.AppendLine("Fourth run-in block"); + sb.AppendLine(Localization.Fourth_run_in_block); break; case 2: - sb.AppendLine("Third run-in block"); + sb.AppendLine(Localization.Third_run_in_block); break; case 3: - sb.AppendLine("Second run-in block"); + sb.AppendLine(Localization.Second_run_in_block); break; case 4: - sb.AppendLine("First run-in block"); + sb.AppendLine(Localization.First_run_in_block); break; case 5: - sb.AppendLine("Link block"); + sb.AppendLine(Localization.Link_block); break; case 6: - sb.AppendLine("Second run-out block"); + sb.AppendLine(Localization.Second_run_out_block); break; case 7: - sb.AppendLine("First run-out block"); + sb.AppendLine(Localization.First_run_out_block); break; } @@ -395,13 +395,13 @@ public static class Sector break; } - sb.AppendLine(empty ? "Correct sector contents." : "Incorrect sector contents."); + sb.AppendLine(empty ? Localization.Correct_sector_contents : Localization.Incorrect_sector_contents); break; case 1: - sb.AppendLine(correctEdc == true ? "Correct EDC." : "Incorrect EDC."); - sb.AppendLine(correctEccP == true ? "Correct ECC P." : "Incorrect ECC P."); - sb.AppendLine(correctEccQ == true ? "Correct ECC Q." : "Incorrect ECC Q."); + sb.AppendLine(correctEdc == true ? Localization.Correct_EDC : Localization.Incorrect_EDC); + sb.AppendLine(correctEccP == true ? Localization.Correct_ECC_P : Localization.Incorrect_ECC_P); + sb.AppendLine(correctEccQ == true ? Localization.Correct_ECC_Q : Localization.Incorrect_ECC_Q); for(int i = 2068; i < 2076; i++) if(buffer[i] != 0x00) @@ -411,7 +411,7 @@ public static class Sector break; } - sb.AppendLine(empty ? "Correct zero fill." : "Incorrect zero fill."); + sb.AppendLine(empty ? Localization.Correct_zero_fill : Localization.Incorrect_zero_fill); break; case 2: @@ -420,48 +420,48 @@ public static class Sector buffer[18] != buffer[22] || buffer[19] != buffer[23]) { - sb.AppendLine("Subheader copies differ."); - sb.AppendLine(correctEdc == true ? "Correct EDC." : "Incorrect EDC."); - sb.AppendLine(correctEccP == true ? "Correct ECC P." : "Incorrect ECC P."); - sb.AppendLine(correctEccQ == true ? "Correct ECC Q." : "Incorrect ECC Q."); + sb.AppendLine(Localization.Subheader_copies_differ); + sb.AppendLine(correctEdc == true ? Localization.Correct_EDC : Localization.Incorrect_EDC); + sb.AppendLine(correctEccP == true ? Localization.Correct_ECC_P : Localization.Incorrect_ECC_P); + sb.AppendLine(correctEccQ == true ? Localization.Correct_ECC_Q : Localization.Incorrect_ECC_Q); break; } - sb.AppendFormat("File number: {0}", buffer[16]).AppendLine(); - sb.AppendFormat("Channel number: {0}", buffer[17]).AppendLine(); - sb.AppendFormat("Coding information number: {0}", buffer[19]).AppendLine(); + sb.AppendFormat(Localization.File_number_0, buffer[16]).AppendLine(); + sb.AppendFormat(Localization.Channel_number_0, buffer[17]).AppendLine(); + sb.AppendFormat(Localization.Coding_information_number_0, buffer[19]).AppendLine(); if((buffer[18] & 0x80) == 0x80) - sb.AppendLine("End of file."); + sb.AppendLine(Localization.End_of_file); if((buffer[18] & 0x40) == 0x40) - sb.AppendLine("Real-time block."); + sb.AppendLine(Localization.Real_time_block); - sb.AppendLine((buffer[18] & 0x20) == 0x20 ? "Form 2." : "Form 1."); + sb.AppendLine((buffer[18] & 0x20) == 0x20 ? Localization.Form_2 : Localization.Form_1); if((buffer[18] & 0x10) == 0x10) - sb.AppendLine("Trigger block."); + sb.AppendLine(Localization.Trigger_block); if((buffer[18] & 0x08) == 0x08) - sb.AppendLine("Data block."); + sb.AppendLine(Localization.Data_block); if((buffer[18] & 0x04) == 0x04) - sb.AppendLine("Audio block."); + sb.AppendLine(Localization.Audio_block); if((buffer[18] & 0x02) == 0x02) - sb.AppendLine("Video block."); + sb.AppendLine(Localization.Video_block); if((buffer[18] & 0x01) == 0x01) - sb.AppendLine("End of record."); + sb.AppendLine(Localization.End_of_record); if((buffer[18] & 0x20) != 0x20) { - sb.AppendLine(correctEccP == true ? "Correct ECC P." : "Incorrect ECC P."); - sb.AppendLine(correctEccQ == true ? "Correct ECC Q." : "Incorrect ECC Q."); + sb.AppendLine(correctEccP == true ? Localization.Correct_ECC_P : Localization.Incorrect_ECC_P); + sb.AppendLine(correctEccQ == true ? Localization.Correct_ECC_Q : Localization.Incorrect_ECC_Q); } - sb.AppendLine(correctEdc == true ? "Correct EDC." : "Incorrect EDC."); + sb.AppendLine(correctEdc == true ? Localization.Correct_EDC : Localization.Incorrect_EDC); break; } diff --git a/CD/Session.cs b/CD/Session.cs index 27bc8f27e..27642c456 100644 --- a/CD/Session.cs +++ b/CD/Session.cs @@ -70,7 +70,8 @@ public static class Session if(decoded.DataLength + 2 != CDSessionInfoResponse.Length) { AaruConsole.DebugWriteLine("CD Session Info decoder", - "Expected CDSessionInfo size ({0} bytes) is not received size ({1} bytes), not decoding", + Localization. + Expected_CDSessionInfo_size_0_bytes_is_not_received_size_1_bytes_not_decoding, decoded.DataLength + 2, CDSessionInfoResponse.Length); return null; @@ -100,14 +101,15 @@ public static class Session var sb = new StringBuilder(); - sb.AppendFormat("First complete session number: {0}", response.FirstCompleteSession).AppendLine(); - sb.AppendFormat("Last complete session number: {0}", response.LastCompleteSession).AppendLine(); + sb.AppendFormat(Localization.First_complete_session_number_0, response.FirstCompleteSession).AppendLine(); + sb.AppendFormat(Localization.Last_complete_session_number_0, response.LastCompleteSession).AppendLine(); foreach(TrackDataDescriptor descriptor in response.TrackDescriptors) { - sb.AppendFormat("First track number in last complete session: {0}", descriptor.TrackNumber).AppendLine(); + sb.AppendFormat(Localization.First_track_number_in_last_complete_session_0, descriptor.TrackNumber). + AppendLine(); - sb.AppendFormat("Track starts at LBA {0}, or MSF {1:X2}:{2:X2}:{3:X2}", descriptor.TrackStartAddress, + sb.AppendFormat(Localization.Track_starts_at_LBA_0_or_MSF_2_3, descriptor.TrackStartAddress, (descriptor.TrackStartAddress & 0x0000FF00) >> 8, (descriptor.TrackStartAddress & 0x00FF0000) >> 16, (descriptor.TrackStartAddress & 0xFF000000) >> 24).AppendLine(); @@ -115,65 +117,65 @@ public static class Session switch((TocAdr)descriptor.ADR) { case TocAdr.NoInformation: - sb.AppendLine("Q subchannel mode not given"); + sb.AppendLine(Localization.Q_subchannel_mode_not_given); break; case TocAdr.CurrentPosition: - sb.AppendLine("Q subchannel stores current position"); + sb.AppendLine(Localization.Q_subchannel_stores_current_position); break; case TocAdr.ISRC: - sb.AppendLine("Q subchannel stores ISRC"); + sb.AppendLine(Localization.Q_subchannel_stores_ISRC); break; case TocAdr.MediaCatalogNumber: - sb.AppendLine("Q subchannel stores media catalog number"); + sb.AppendLine(Localization.Q_subchannel_stores_media_catalog_number); break; } if((descriptor.CONTROL & (byte)TocControl.ReservedMask) == (byte)TocControl.ReservedMask) - sb.AppendFormat("Reserved flags 0x{0:X2} set", descriptor.CONTROL).AppendLine(); + sb.AppendFormat(Localization.Reserved_flags_0_set, descriptor.CONTROL).AppendLine(); else { switch((TocControl)(descriptor.CONTROL & 0x0D)) { case TocControl.TwoChanNoPreEmph: - sb.AppendLine("Stereo audio track with no pre-emphasis"); + sb.AppendLine(Localization.Stereo_audio_track_with_no_pre_emphasis); break; case TocControl.TwoChanPreEmph: - sb.AppendLine("Stereo audio track with 50/15 μs pre-emphasis"); + sb.AppendLine(Localization.Stereo_audio_track_with_50_15_us_pre_emphasis); break; case TocControl.FourChanNoPreEmph: - sb.AppendLine("Quadraphonic audio track with no pre-emphasis"); + sb.AppendLine(Localization.Quadraphonic_audio_track_with_no_pre_emphasis); break; case TocControl.FourChanPreEmph: - sb.AppendLine("Stereo audio track with 50/15 μs pre-emphasis"); + sb.AppendLine(Localization.Stereo_audio_track_with_50_15_us_pre_emphasis); break; case TocControl.DataTrack: - sb.AppendLine("Data track, recorded uninterrupted"); + sb.AppendLine(Localization.Data_track_recorded_uninterrupted); break; case TocControl.DataTrackIncremental: - sb.AppendLine("Data track, recorded incrementally"); + sb.AppendLine(Localization.Data_track_recorded_incrementally); break; } sb.AppendLine((descriptor.CONTROL & (byte)TocControl.CopyPermissionMask) == - (byte)TocControl.CopyPermissionMask ? "Digital copy of track is permitted" - : "Digital copy of track is prohibited"); + (byte)TocControl.CopyPermissionMask ? Localization.Digital_copy_of_track_is_permitted + : Localization.Digital_copy_of_track_is_prohibited); #if DEBUG if(descriptor.Reserved1 != 0) - sb.AppendFormat("Reserved1 = 0x{0:X2}", descriptor.Reserved1).AppendLine(); + sb.AppendFormat(Localization.Reserved1_equals_0_X8, descriptor.Reserved1).AppendLine(); if(descriptor.Reserved2 != 0) - sb.AppendFormat("Reserved2 = 0x{0:X2}", descriptor.Reserved2).AppendLine(); + sb.AppendFormat(Localization.Reserved2_equals_0_X8, descriptor.Reserved2).AppendLine(); #endif sb.AppendLine(); diff --git a/CD/Subchannel.cs b/CD/Subchannel.cs index eb4b99e08..8063fabd4 100644 --- a/CD/Subchannel.cs +++ b/CD/Subchannel.cs @@ -337,13 +337,17 @@ public static class Subchannel string controlInfo = ((control & 0xC) / 4) switch { - 0 => $"stereo audio {((control & 0x01) == 1 ? "with" : "without")} pre-emphasis", - 1 => $"{((control & 0x01) == 1 ? "incremental" : "uninterrupted")} data", - 2 => $"quadraphonic audio {((control & 0x01) == 1 ? "with" : "without")} pre-emphasis", - _ => $"reserved control value {control & 0x01}" + 0 => (control & 0x01) == 1 ? Localization.Subchannel_PrettifyQ_stereo_audio_with_pre_emphasis + : Localization.Subchannel_PrettifyQ_stereo_audio_without_pre_emphasis, + 1 => (control & 0x01) == 1 ? Localization.Subchannel_PrettifyQ_incremental_data + : Localization.Subchannel_PrettifyQ_uninterrupted_data, + 2 => (control & 0x01) == 1 ? Localization.Subchannel_PrettifyQ_quadraphonic_audio_with_pre_emphasis + : Localization.Subchannel_PrettifyQ_quadraphonic_audio_without_pre_emphasis, + _ => string.Format(Localization.Subchannel_PrettifyQ_reserved_control_value__0_, control & 0x01) }; - string copy = (control & 0x02) > 0 ? "copy permitted" : "copy prohibited"; + string copy = (control & 0x02) > 0 ? Localization.Subchannel_PrettifyQ_copy_permitted + : Localization.Subchannel_PrettifyQ_copy_prohibited; if(bcd) BcdToBinaryQ(subBuf); @@ -362,160 +366,246 @@ public static class Subchannel if(lba < 0) { - area = "Lead-In"; + area = Localization.Subchannel_PrettifyQ_Lead_In; switch(adr) { case 1 when subBuf[2] < 0xA0: - return $"{minute:D2}:{second:D2}:{frame:D2} - LBA {lba,6}: {area} area, {(corruptedPause - ? "corrupted pause" - : pause - ? "pause" - : "not pause")}, {controlInfo}, {copy}, Q mode {adr} position: {subBuf[3] - :X2}:{subBuf[4]:X2}:{subBuf[5]:X2} (LBA {qPos}), track {subBuf[2] - :X} starts at {subBuf[7]:X2}:{subBuf[8]:X2}:{subBuf[9]:X2} (LBA {qStart - }), Q CRC 0x{subBuf[10]:X2}{subBuf[11]:X2} ({(crcOk ? "OK" : "BAD")}), R-W { - (rwEmpty ? "empty" : "not empty")}"; + return + string.Format(Localization.Subchannel_PrettifyQ_0_1_2_LBA_3_4_area_5_6_7_Q_mode_8_position_9_10_11_LBA_12_track_13_starts_at_14_15_16_LBA_17_Q_CRC_18_19_20_R_W_21, + minute, second, frame, lba, area, corruptedPause + ? Localization. + Subchannel_PrettifyQ_corrupted_pause + : pause + ? Localization. + Subchannel_PrettifyQ_pause + : Localization. + Subchannel_PrettifyQ_not_pause, + controlInfo, copy, adr, subBuf[3], subBuf[4], subBuf[5], qPos, subBuf[2], + subBuf[7], subBuf[8], subBuf[9], qStart, subBuf[10], subBuf[11], + crcOk ? Localization.Subchannel_PrettifyQ_OK + : Localization.Subchannel_PrettifyQ_BAD, + rwEmpty ? Localization.Subchannel_PrettifyQ_empty + : Localization.Subchannel_PrettifyQ_not_empty); case 1 when subBuf[2] == 0xA0: { string format = subBuf[8] switch { - 0x00 => "CD-DA / CD-ROM", - 0x10 => "CD-i", - 0x20 => "CD-ROM XA", - _ => $"unknown {subBuf[0]:X2}" + 0x00 => Localization.Subchannel_PrettifyQ_CD_DA_CD_ROM, + 0x10 => Localization.Subchannel_PrettifyQ_CD_i, + 0x20 => Localization.Subchannel_PrettifyQ_CD_ROM_XA, + _ => string.Format(Localization.Subchannel_PrettifyQ_unknown_0, subBuf[0]) }; - return $"{minute:D2}:{second:D2}:{frame:D2} - LBA {lba,6}: {area} area, {(corruptedPause - ? "corrupted pause" - : pause - ? "pause" - : "not pause")}, {controlInfo}, {copy}, Q mode {adr} position: {subBuf[3] - :X2}:{subBuf[4]:X2}:{subBuf[5]:X2} (LBA {qPos}), track {subBuf[2] - :X} is first program area track in {format} format, Q CRC 0x{subBuf[10]:X2}{ - subBuf[11]:X2} ({(crcOk ? "OK" : "BAD")}), R-W { - (rwEmpty ? "empty" : "not empty")}"; + return + string.Format(Localization.Subchannel_PrettifyQ_0_1_2_LBA_3_4_area_5_6_7_Q_mode_8_position_9_10_11_LBA_12_track_13_is_first_program_area_track_in_14_format_Q_CRC_15_16_17_R_W_18, + minute, second, frame, lba, area, corruptedPause + ? Localization. + Subchannel_PrettifyQ_corrupted_pause + : pause + ? Localization. + Subchannel_PrettifyQ_pause + : Localization. + Subchannel_PrettifyQ_not_pause, + controlInfo, copy, adr, subBuf[3], subBuf[4], subBuf[5], qPos, subBuf[2], format, + subBuf[10], subBuf[11], + crcOk ? Localization.Subchannel_PrettifyQ_OK + : Localization.Subchannel_PrettifyQ_BAD, + rwEmpty ? Localization.Subchannel_PrettifyQ_empty + : Localization.Subchannel_PrettifyQ_not_empty); } case 1 when subBuf[2] == 0xA1: - return $"{minute:D2}:{second:D2}:{frame:D2} - LBA {lba,6}: {area} area, {(corruptedPause - ? "corrupted pause" - : pause - ? "pause" - : "not pause")}, {controlInfo}, {copy}, Q mode {adr} position: {subBuf[3] - :X2}:{subBuf[4]:X2}:{subBuf[5]:X2} (LBA {qPos}), track {subBuf[2] - :X} is last program area track, Q CRC 0x{subBuf[10]:X2}{subBuf[11]:X2} ({ - (crcOk ? "OK" : "BAD")}), R-W {(rwEmpty ? "empty" : "not empty")}"; + return + string.Format(Localization.Subchannel_PrettifyQ_0_1_2_LBA_3_4_area_5_6_7_Q_mode_8_position_9_10_11_LBA_12_track_13_is_last_program_area_track_Q_CRC_14_15_16_R_W_17, + minute, second, frame, lba, area, corruptedPause + ? Localization. + Subchannel_PrettifyQ_corrupted_pause + : pause + ? Localization. + Subchannel_PrettifyQ_pause + : Localization. + Subchannel_PrettifyQ_not_pause, + controlInfo, copy, adr, subBuf[3], subBuf[4], subBuf[5], qPos, subBuf[2], + subBuf[10], subBuf[11], + crcOk ? Localization.Subchannel_PrettifyQ_OK + : Localization.Subchannel_PrettifyQ_BAD, + rwEmpty ? Localization.Subchannel_PrettifyQ_empty + : Localization.Subchannel_PrettifyQ_not_empty); case 1: - return subBuf[2] == 0xA2 ? $"{minute:D2}:{second:D2}:{frame:D2} - LBA {lba,6}: {area} area, { - (corruptedPause - ? "corrupted pause" - : pause - ? "pause" - : "not pause")}, {controlInfo}, {copy}, Q mode {adr} position: {subBuf[3]:X2}:{ - subBuf[4]:X2}:{subBuf[5]:X2} (LBA {qPos}), track {subBuf[2]:X} starts at {subBuf[7] - :X2}{subBuf[8]:X2}{subBuf[9]:X2} (LBA {qStart}), Q CRC 0x{subBuf[10]:X2}{subBuf[11] - :X2} ({(crcOk ? "OK" : "BAD")}), R-W {(rwEmpty ? "empty" : "not empty")}" : $"{ - minute:D2}:{second:D2}:{frame:D2} - LBA {lba,6}: {area} area, {(corruptedPause - ? "corrupted pause" - : pause - ? "pause" - : "not pause")}, {controlInfo}, {copy}, Q: {subBuf[0] - :X2} {subBuf[1]:X2} {subBuf[2]:X2} {subBuf[3]:X2} { - subBuf[4]:X2} {subBuf[5]:X2} {subBuf[6]:X2} {subBuf[7] - :X2} {subBuf[8]:X2} {subBuf[9]:X2} CRC 0x{ - subBuf[10]:X2}{subBuf[11]:X2} ({ - (crcOk ? "OK" : "BAD")}), R-W { - (rwEmpty ? "empty" : "not empty")}"; + return subBuf[2] == 0xA2 + ? string. + Format(Localization.Subchannel_PrettifyQ_0_1_2_LBA_3_4_area_5_6_7_Q_mode_8_position_9_10_11_LBA_12_track_13_starts_at_14_15_16_LBA_17_Q_CRC_18_19_20_R_W_21, + minute, second, frame, lba, area, corruptedPause + ? Localization. + Subchannel_PrettifyQ_corrupted_pause + : pause + ? Localization. + Subchannel_PrettifyQ_pause + : Localization. + Subchannel_PrettifyQ_not_pause, + controlInfo, copy, adr, subBuf[3], subBuf[4], subBuf[5], qPos, subBuf[2], + subBuf[7], subBuf[8], subBuf[9], qStart, subBuf[10], subBuf[11], + crcOk ? Localization.Subchannel_PrettifyQ_OK + : Localization.Subchannel_PrettifyQ_BAD, + rwEmpty ? Localization.Subchannel_PrettifyQ_empty + : Localization.Subchannel_PrettifyQ_not_empty) + : string. + Format(Localization.Subchannel_PrettifyQ_0_1_2_LBA_3_4_area_5_6_7_Q_8_9_10_11_12_13_14_15_16_17_CRC_18_19_20_R_W_21, + minute, second, frame, lba, area, corruptedPause + ? Localization. + Subchannel_PrettifyQ_corrupted_pause + : pause + ? Localization. + Subchannel_PrettifyQ_pause + : Localization. + Subchannel_PrettifyQ_not_pause, + controlInfo, copy, subBuf[0], subBuf[1], subBuf[2], subBuf[3], subBuf[4], + subBuf[5], subBuf[6], subBuf[7], subBuf[8], subBuf[9], subBuf[10], subBuf[11], + crcOk ? Localization.Subchannel_PrettifyQ_OK + : Localization.Subchannel_PrettifyQ_BAD, + rwEmpty ? Localization.Subchannel_PrettifyQ_empty + : Localization.Subchannel_PrettifyQ_not_empty); case 2: - return $"{minute:D2}:{second:D2}:{frame:D2} - LBA {lba,6}: {area} area, {(corruptedPause - ? "corrupted pause" - : pause - ? "pause" - : "not pause")}, {controlInfo}, {copy}, Q mode {adr} MCN: {DecodeMcn(subBuf) - } frame {subBuf[9]:X2} CRC 0x{subBuf[10]:X2}{subBuf[11]:X2} ({ - (crcOk ? "OK" : "BAD")}), R-W {(rwEmpty ? "empty" : "not empty")}"; + return + string.Format(Localization.Subchannel_PrettifyQ_0_1_2_LBA_3_4_area_5_6_7_Q_mode_8_MCN_9_frame_10_CRC_11_12_13_R_W_14, + minute, second, frame, lba, area, corruptedPause + ? Localization. + Subchannel_PrettifyQ_corrupted_pause + : pause + ? Localization. + Subchannel_PrettifyQ_pause + : Localization. + Subchannel_PrettifyQ_not_pause, + controlInfo, copy, adr, DecodeMcn(subBuf), subBuf[9], subBuf[10], subBuf[11], + crcOk ? Localization.Subchannel_PrettifyQ_OK + : Localization.Subchannel_PrettifyQ_BAD, + rwEmpty ? Localization.Subchannel_PrettifyQ_empty + : Localization.Subchannel_PrettifyQ_not_empty); } if(adr != 5) - return $"{minute:D2}:{second:D2}:{frame:D2} - LBA {lba,6}: {area} area, {(corruptedPause - ? "corrupted pause" - : pause - ? "pause" - : "not pause")}, {controlInfo}, {copy}, Q: {subBuf[0]:X2} {subBuf[1]:X2} { - subBuf[2]:X2} {subBuf[3]:X2} {subBuf[4]:X2} {subBuf[5]:X2} {subBuf[6]:X2} { - subBuf[7]:X2} {subBuf[8]:X2} {subBuf[9]:X2} CRC 0x{subBuf[10]:X2}{subBuf[11] - :X2} ({(crcOk ? "OK" : "BAD")}), R-W {(rwEmpty ? "empty" : "not empty") - }"; + return + string.Format(Localization.Subchannel_PrettifyQ_0_1_2_LBA_3_4_area_5_6_7_Q_8_9_10_11_12_13_14_15_16_17_CRC_18_19_20_R_W_21, + minute, second, frame, lba, area, corruptedPause + ? Localization. + Subchannel_PrettifyQ_corrupted_pause + : pause + ? Localization.Subchannel_PrettifyQ_pause + : Localization. + Subchannel_PrettifyQ_not_pause, + controlInfo, copy, subBuf[0], subBuf[1], subBuf[2], subBuf[3], subBuf[4], subBuf[5], + subBuf[6], subBuf[7], subBuf[8], subBuf[9], subBuf[10], subBuf[11], + crcOk ? Localization.Subchannel_PrettifyQ_OK : Localization.Subchannel_PrettifyQ_BAD, + rwEmpty ? Localization.Subchannel_PrettifyQ_empty + : Localization.Subchannel_PrettifyQ_not_empty); switch(subBuf[2]) { case <= 0x40: - return $"{minute:D2}:{second:D2}:{frame:D2} - LBA {lba,6}: {area} area, {(corruptedPause - ? "corrupted pause" - : pause - ? "pause" - : "not pause")}, {controlInfo}, {copy}, Q mode {adr - } skip interval start time {subBuf[7]:X2}{subBuf[8]:X2}{subBuf[9] - :X2}, skip interval stop time {subBuf[3]:X2}{subBuf[4]:X2}{subBuf[5] - :X2}, CRC 0x{subBuf[10]:X2}{subBuf[11]:X2} ({(crcOk ? "OK" : "BAD")}), R-W { - (rwEmpty ? "empty" : "not empty")}"; + return + string.Format(Localization.Subchannel_PrettifyQ_0_1_2_LBA_3_4_area_5_6_7_Q_mode_8_skip_interval_start_time_9_10_11_skip_interval_stop_time_12_13_14_CRC_15_16_17_R_W_18, + minute, second, frame, lba, area, corruptedPause + ? Localization. + Subchannel_PrettifyQ_corrupted_pause + : pause + ? Localization. + Subchannel_PrettifyQ_pause + : Localization. + Subchannel_PrettifyQ_not_pause, + controlInfo, copy, adr, subBuf[7], subBuf[8], subBuf[9], subBuf[3], subBuf[4], + subBuf[5], subBuf[10], subBuf[11], + crcOk ? Localization.Subchannel_PrettifyQ_OK + : Localization.Subchannel_PrettifyQ_BAD, + rwEmpty ? Localization.Subchannel_PrettifyQ_empty + : Localization.Subchannel_PrettifyQ_not_empty); case 0xB0: - return final ? $"{minute:D2}:{second:D2}:{frame:D2} - LBA {lba,6}: {area} area, {(corruptedPause - ? "corrupted pause" - : pause - ? "pause" - : "not pause")}, {controlInfo}, {copy}, Q mode {adr - } next program area can start at {subBuf[3]:X2}:{subBuf[4]:X2}:{subBuf[5] - :X2} (LBA {nextPos}), last-session, {zero} mode 5 pointers, CRC 0x{ - subBuf[10]:X2}{subBuf[11]:X2} ({(crcOk ? "OK" : "BAD")}), R-W { - (rwEmpty ? "empty" : "not empty")}" : $"{minute:D2}:{second:D2}:{frame - :D2} - LBA {lba,6}: {area} area, {(corruptedPause - ? "corrupted pause" - : pause - ? "pause" - : "not pause")}, {controlInfo}, {copy}, Q mode { - adr} next program area can start at {subBuf[3] - :X2}:{subBuf[4]:X2}:{subBuf[5]:X2} (LBA { - nextPos}), maximum Lead-out at {subBuf[7] - :X2}:{subBuf[8]:X2}:{subBuf[9] - :X2} (LBA {maxOut}), {zero - } mode 5 pointers, CRC 0x{subBuf[10]:X2}{ - subBuf[11]:X2} ({(crcOk ? "OK" : "BAD") - }), R-W {(rwEmpty ? "empty" - : "not empty")}"; + return final + ? string. + Format(Localization.Subchannel_PrettifyQ_0_1_2_LBA_3_4_area_5_6_7_Q_mode_8_next_program_area_can_start_at_9_10_11_LBA_12_last_session_13_mode_5_pointers_CRC_14_15_16_R_W_17, + minute, second, frame, lba, area, corruptedPause + ? Localization. + Subchannel_PrettifyQ_corrupted_pause + : pause + ? Localization. + Subchannel_PrettifyQ_pause + : Localization. + Subchannel_PrettifyQ_not_pause, + controlInfo, copy, adr, subBuf[3], subBuf[4], subBuf[5], nextPos, zero, + subBuf[10], subBuf[11], + crcOk ? Localization.Subchannel_PrettifyQ_OK + : Localization.Subchannel_PrettifyQ_BAD, + rwEmpty ? Localization.Subchannel_PrettifyQ_empty + : Localization.Subchannel_PrettifyQ_not_empty) + : string. + Format(Localization.Subchannel_PrettifyQ_0_1_2_LBA_3_4_area_5_6_7_Q_mode_8_next_program_area_can_start_at_9_10_11_LBA_12_maximum_Lead_out_at_13_14_15_LBA_16_17_mode_5_pointers_CRC_18_19_20_R_W_21, + minute, second, frame, lba, area, corruptedPause + ? Localization. + Subchannel_PrettifyQ_corrupted_pause + : pause + ? Localization. + Subchannel_PrettifyQ_pause + : Localization. + Subchannel_PrettifyQ_not_pause, + controlInfo, copy, adr, subBuf[3], subBuf[4], subBuf[5], nextPos, subBuf[7], + subBuf[8], subBuf[9], maxOut, zero, subBuf[10], subBuf[11], + crcOk ? Localization.Subchannel_PrettifyQ_OK + : Localization.Subchannel_PrettifyQ_BAD, + rwEmpty ? Localization.Subchannel_PrettifyQ_empty + : Localization.Subchannel_PrettifyQ_not_empty); case 0xB1: - return $"{minute:D2}:{second:D2}:{frame:D2} - LBA {lba,6}: {area} area, {(corruptedPause - ? "corrupted pause" - : pause - ? "pause" - : "not pause")}, {controlInfo}, {copy}, Q mode {adr}, {pmin - } skip interval pointers, {psec} skip track assignments, CRC 0x{subBuf[10]:X2}{ - subBuf[11]:X2} ({(crcOk ? "OK" : "BAD")}), R-W { - (rwEmpty ? "empty" : "not empty")}"; + return + string.Format(Localization.Subchannel_PrettifyQ_0_1_2_LBA_3_4_area_5_6_7_Q_mode_8_9_skip_interval_pointers_10_skip_track_assignments_CRC_11_12_13_R_W_14, + minute, second, frame, lba, area, corruptedPause + ? Localization. + Subchannel_PrettifyQ_corrupted_pause + : pause + ? Localization. + Subchannel_PrettifyQ_pause + : Localization. + Subchannel_PrettifyQ_not_pause, + controlInfo, copy, adr, pmin, psec, subBuf[10], subBuf[11], + crcOk ? Localization.Subchannel_PrettifyQ_OK + : Localization.Subchannel_PrettifyQ_BAD, + rwEmpty ? Localization.Subchannel_PrettifyQ_empty + : Localization.Subchannel_PrettifyQ_not_empty); } if(subBuf[2] != 0xB2 && subBuf[2] != 0xB3 && subBuf[2] != 0xB4) - return subBuf[2] == 0xC0 ? $"{minute:D2}:{second:D2}:{frame:D2} - LBA {lba,6}: {area} area, { - (corruptedPause - ? "corrupted pause" - : pause - ? "pause" - : "not pause")}, {controlInfo}, {copy}, Q mode {adr}, ATIP values {subBuf[3]:X2}, { - subBuf[4]:X2}, {subBuf[5]:X2}, first disc Lead-in starts at {subBuf[7]:X2}{subBuf[8]:X2}{ - subBuf[9]:X2} (LBA {qStart}), CRC 0x{subBuf[10]:X2}{subBuf[11]:X2} ({ - (crcOk ? "OK" : "BAD")}), R-W {(rwEmpty ? "empty" : "not empty")}" : $"{minute - :D2}:{second:D2}:{frame:D2} - LBA {lba,6}: {area} area, {(corruptedPause - ? "corrupted pause" - : pause - ? "pause" - : "not pause")}, {controlInfo}, {copy}, Q: {subBuf[0]:X2} { - subBuf[1]:X2} {subBuf[2]:X2} {subBuf[3]:X2} {subBuf[4] - :X2} {subBuf[5]:X2} {subBuf[6]:X2} {subBuf[7]:X2} { - subBuf[8]:X2} {subBuf[9]:X2} CRC 0x{subBuf[10]:X2}{ - subBuf[11]:X2} ({(crcOk ? "OK" : "BAD")}), R-W { - (rwEmpty ? "empty" : "not empty")}"; + return subBuf[2] == 0xC0 + ? string. + Format(Localization.Subchannel_PrettifyQ_0_1_2_LBA_3_4_area_5_6_7_Q_mode_8_ATIP_values_9_10_11_first_disc_Lead_in_starts_at_12_13_14_LBA_15_CRC_16_17_18_R_W_19, + minute, second, frame, lba, area, corruptedPause + ? Localization. + Subchannel_PrettifyQ_corrupted_pause + : pause + ? Localization. + Subchannel_PrettifyQ_pause + : Localization. + Subchannel_PrettifyQ_not_pause, + controlInfo, copy, adr, subBuf[3], subBuf[4], subBuf[5], subBuf[7], subBuf[8], + subBuf[9], qStart, subBuf[10], subBuf[11], + crcOk ? Localization.Subchannel_PrettifyQ_OK + : Localization.Subchannel_PrettifyQ_BAD, + rwEmpty ? Localization.Subchannel_PrettifyQ_empty + : Localization.Subchannel_PrettifyQ_not_empty) + : string. + Format(Localization.Subchannel_PrettifyQ_0_1_2_LBA_3_4_area_5_6_7_Q_8_9_10_11_12_13_14_15_16_17_CRC_18_19_20_R_W_21, + minute, second, frame, lba, area, corruptedPause + ? Localization. + Subchannel_PrettifyQ_corrupted_pause + : pause + ? Localization. + Subchannel_PrettifyQ_pause + : Localization. + Subchannel_PrettifyQ_not_pause, + controlInfo, copy, subBuf[0], subBuf[1], subBuf[2], subBuf[3], subBuf[4], + subBuf[5], subBuf[6], subBuf[7], subBuf[8], subBuf[9], subBuf[10], subBuf[11], + crcOk ? Localization.Subchannel_PrettifyQ_OK + : Localization.Subchannel_PrettifyQ_BAD, + rwEmpty ? Localization.Subchannel_PrettifyQ_empty + : Localization.Subchannel_PrettifyQ_not_empty); string skipTracks = $"{subBuf[3]:X2}"; @@ -534,56 +624,75 @@ public static class Subchannel if(subBuf[9] > 0) skipTracks += $", {subBuf[4]:X2}"; - return $"{minute:D2}:{second:D2}:{frame:D2} - LBA {lba,6}: {area} area, {(corruptedPause - ? "corrupted pause" - : pause - ? "pause" - : "not pause")}, {controlInfo}, {copy}, Q mode {adr}, tracks {skipTracks - } to be skipped, CRC 0x{subBuf[10]:X2}{subBuf[11]:X2} ({(crcOk ? "OK" : "BAD")}), R-W { - (rwEmpty ? "empty" : "not empty")}"; + return + string.Format(Localization.Subchannel_PrettifyQ_0_1_2_LBA_3_4_area_5_6_7_Q_mode_8_tracks_9_to_be_skipped_CRC_10_11_12_R_W_13, + minute, second, frame, lba, area, corruptedPause + ? Localization.Subchannel_PrettifyQ_corrupted_pause + : pause + ? Localization.Subchannel_PrettifyQ_pause + : Localization.Subchannel_PrettifyQ_not_pause, + controlInfo, copy, adr, skipTracks, subBuf[10], subBuf[11], + crcOk ? Localization.Subchannel_PrettifyQ_OK : Localization.Subchannel_PrettifyQ_BAD, + rwEmpty ? Localization.Subchannel_PrettifyQ_empty + : Localization.Subchannel_PrettifyQ_not_empty); } - area = subBuf[1] == 0xAA ? "Lead-out" : "Program"; + area = subBuf[1] == 0xAA ? Localization.Subchannel_PrettifyQ_Lead_out + : Localization.Subchannel_PrettifyQ_Program; return adr switch { - 1 => $"{minute:D2}:{second:D2}:{frame:D2} - LBA {lba,6}: {area} area, {(corruptedPause - ? "corrupted pause" - : pause - ? "pause" - : "not pause")}, {controlInfo}, {copy}, Q mode {adr} position: track {subBuf[1] - :X} index {subBuf[2]:X} relative position {subBuf[3]:X2}:{subBuf[4]:X2}:{subBuf[5] - :X2} (LBA {qPos + 150}), absolute position {subBuf[7]:X2}:{subBuf[8]:X2}:{subBuf[9] - :X2} (LBA {qStart}), Q CRC 0x{subBuf[10]:X2}{subBuf[11]:X2} ({(crcOk ? "OK" : "BAD") - }), R-W {(rwEmpty ? "empty" : "not empty")}", - 2 => $"{minute:D2}:{second:D2}:{frame:D2} - LBA {lba,6}: {area} area, {(corruptedPause - ? "corrupted pause" - : pause - ? "pause" - : "not pause")}, {controlInfo}, {copy}, Q mode {adr} MCN: {DecodeMcn(subBuf) - } frame {subBuf[9]:X2} CRC 0x{subBuf[10]:X2}{subBuf[11]:X2} ({(crcOk ? "OK" : "BAD") - }), R-W {(rwEmpty ? "empty" : "not empty")}", - 3 => $"{minute:D2}:{second:D2}:{frame:D2} - LBA {lba,6}: {area} area, {(corruptedPause - ? "corrupted pause" - : pause - ? "pause" - : "not pause")}, {controlInfo}, {copy}, Q mode {adr} ISRC: {DecodeIsrc(subBuf) - } frame {subBuf[9]:X2} CRC 0x{subBuf[10]:X2}{subBuf[11]:X2} ({(crcOk ? "OK" : "BAD") - }), R-W {(rwEmpty ? "empty" : "not empty")}", - _ => $"{minute:D2}:{second:D2}:{frame:D2} - LBA {lba,6}: {area} area, {(corruptedPause - ? "corrupted pause" - : pause - ? "pause" - : "not pause")}, {controlInfo}, {copy}, Q: {subBuf[0]:X2} {subBuf[1]:X2} {subBuf[2] - :X2} {subBuf[3]:X2} {subBuf[4]:X2} {subBuf[5]:X2} {subBuf[6]:X2} {subBuf[7]:X2} { - subBuf[8]:X2} {subBuf[9]:X2} CRC 0x{subBuf[10]:X2}{subBuf[11]:X2} ({ - (crcOk ? "OK" : "BAD")}), R-W {(rwEmpty ? "empty" : "not empty")}" + 1 => + string.Format(Localization.Subchannel_PrettifyQ_0_D2_1_2_LBA_3_4_area_5_6_7_Q_mode_8_position_track_9_index_10_relative_position_11_12_13_LBA_14_absolute_position_15_16_17_LBA_18_Q_CRC_19_20_21_R_W_22, + minute, second, frame, lba, area, corruptedPause + ? Localization.Subchannel_PrettifyQ_corrupted_pause + : pause + ? Localization.Subchannel_PrettifyQ_pause + : Localization.Subchannel_PrettifyQ_not_pause, + controlInfo, copy, adr, subBuf[1], subBuf[2], subBuf[3], subBuf[4], subBuf[5], qPos + 150, + subBuf[7], subBuf[8], subBuf[9], qStart, subBuf[10], subBuf[11], + crcOk ? Localization.Subchannel_PrettifyQ_OK : Localization.Subchannel_PrettifyQ_BAD, + rwEmpty ? Localization.Subchannel_PrettifyQ_empty + : Localization.Subchannel_PrettifyQ_not_empty), + 2 => + string.Format(Localization.Subchannel_PrettifyQ_0_1_2_LBA_3_4_area_5_6_7_Q_mode_8_MCN_9_frame_10_CRC_11_12_13_R_W_14, + minute, second, frame, lba, area, corruptedPause + ? Localization.Subchannel_PrettifyQ_corrupted_pause + : pause + ? Localization.Subchannel_PrettifyQ_pause + : Localization.Subchannel_PrettifyQ_not_pause, + controlInfo, copy, adr, DecodeMcn(subBuf), subBuf[9], subBuf[10], subBuf[11], + crcOk ? Localization.Subchannel_PrettifyQ_OK : Localization.Subchannel_PrettifyQ_BAD, + rwEmpty ? Localization.Subchannel_PrettifyQ_empty + : Localization.Subchannel_PrettifyQ_not_empty), + 3 => + string.Format(Localization.Subchannel_PrettifyQ_0_1_2_LBA_3_4_area_5_6_7_Q_mode_8_ISRC_9_frame_10_CRC_11_12_13_R_W_14, + minute, second, frame, lba, area, corruptedPause + ? Localization.Subchannel_PrettifyQ_corrupted_pause + : pause + ? Localization.Subchannel_PrettifyQ_pause + : Localization.Subchannel_PrettifyQ_not_pause, + controlInfo, copy, adr, DecodeIsrc(subBuf), subBuf[9], subBuf[10], subBuf[11], + crcOk ? Localization.Subchannel_PrettifyQ_OK : Localization.Subchannel_PrettifyQ_BAD, + rwEmpty ? Localization.Subchannel_PrettifyQ_empty + : Localization.Subchannel_PrettifyQ_not_empty), + _ => + string.Format(Localization.Subchannel_PrettifyQ_0_1_2_LBA_3_4_area_5_6_7_Q_8_9_10_11_12_13_14_15_16_17_CRC_18_19_20_R_W_21, + minute, second, frame, lba, area, corruptedPause + ? Localization.Subchannel_PrettifyQ_corrupted_pause + : pause + ? Localization.Subchannel_PrettifyQ_pause + : Localization.Subchannel_PrettifyQ_not_pause, + controlInfo, copy, subBuf[0], subBuf[1], subBuf[2], subBuf[3], subBuf[4], subBuf[5], + subBuf[6], subBuf[7], subBuf[8], subBuf[9], subBuf[10], subBuf[11], + crcOk ? Localization.Subchannel_PrettifyQ_OK : Localization.Subchannel_PrettifyQ_BAD, + rwEmpty ? Localization.Subchannel_PrettifyQ_empty + : Localization.Subchannel_PrettifyQ_not_empty) }; } - public static string DecodeIsrc(byte[] q) => $"{_isrcTable[q[1] / 4]}{_isrcTable[((q[1] & 3) * 16) + (q[2] / 16)]}{ - _isrcTable[((q[2] & 0xF) * 4) + (q[3] / 64)]}{_isrcTable[q[3] & 0x3F]}{_isrcTable[q[4] / 4]}{q[5]:X2}{q[6]:X2}{ - q[7]:X2}{q[8] / 16:X1}"; + public static string DecodeIsrc(byte[] q) => + $"{_isrcTable[q[1] / 4]}{_isrcTable[((q[1] & 3) * 16) + (q[2] / 16)]}{_isrcTable[((q[2] & 0xF) * 4) + (q[3] / 64)]}{_isrcTable[q[3] & 0x3F]}{_isrcTable[q[4] / 4]}{q[5]:X2}{q[6]:X2}{q[7]:X2}{q[8] / 16:X1}"; public static string DecodeMcn(byte[] q) => $"{q[1]:X2}{q[2]:X2}{q[3]:X2}{q[4]:X2}{q[5]:X2}{q[6]:X2}{q[7] >> 4:X}"; diff --git a/CD/TOC.cs b/CD/TOC.cs index b9265caf7..599dc1239 100644 --- a/CD/TOC.cs +++ b/CD/TOC.cs @@ -73,7 +73,8 @@ public static class TOC if(decoded.DataLength + 2 != CDTOCResponse.Length) { AaruConsole.DebugWriteLine("CD TOC decoder", - "Expected CD TOC size ({0} bytes) is not received size ({1} bytes), not decoding", + Localization. + Expected_CD_TOC_size_0_bytes_is_not_received_size_1_bytes_not_decoding, decoded.DataLength + 2, CDTOCResponse.Length); return null; @@ -103,17 +104,17 @@ public static class TOC var sb = new StringBuilder(); - sb.AppendFormat("First track number in first complete session: {0}", response.FirstTrack).AppendLine(); - sb.AppendFormat("Last track number in last complete session: {0}", response.LastTrack).AppendLine(); + sb.AppendFormat(Localization.First_track_number_in_first_complete_session_0, response.FirstTrack).AppendLine(); + sb.AppendFormat(Localization.Last_track_number_in_last_complete_session_0, response.LastTrack).AppendLine(); foreach(CDTOCTrackDataDescriptor descriptor in response.TrackDescriptors) { if(descriptor.TrackNumber == 0xAA) - sb.AppendLine("Track number: Lead-Out"); + sb.AppendLine(Localization.Track_number_Lead_Out); else - sb.AppendFormat("Track number: {0}", descriptor.TrackNumber).AppendLine(); + sb.AppendFormat(Localization.Track_number_0, descriptor.TrackNumber).AppendLine(); - sb.AppendFormat("Track starts at LBA {0}, or MSF {1:X2}:{2:X2}:{3:X2}", descriptor.TrackStartAddress, + sb.AppendFormat(Localization.Track_starts_at_LBA_0_or_MSF_2_3, descriptor.TrackStartAddress, (descriptor.TrackStartAddress & 0x0000FF00) >> 8, (descriptor.TrackStartAddress & 0x00FF0000) >> 16, (descriptor.TrackStartAddress & 0xFF000000) >> 24).AppendLine(); @@ -121,73 +122,73 @@ public static class TOC switch((TocAdr)descriptor.ADR) { case TocAdr.NoInformation: - sb.AppendLine("Q subchannel mode not given"); + sb.AppendLine(Localization.Q_subchannel_mode_not_given); break; case TocAdr.TrackPointer: - sb.AppendLine("Q subchannel stores track pointer"); + sb.AppendLine(Localization.Q_subchannel_stores_track_pointer); break; case TocAdr.VideoTrackPointer: - sb.AppendLine("Q subchannel stores video track pointer"); + sb.AppendLine(Localization.Q_subchannel_stores_video_track_pointer); break; case TocAdr.ISRC: - sb.AppendLine("Q subchannel stores ISRC"); + sb.AppendLine(Localization.Q_subchannel_stores_ISRC); break; case TocAdr.MediaCatalogNumber: - sb.AppendLine("Q subchannel stores media catalog number"); + sb.AppendLine(Localization.Q_subchannel_stores_media_catalog_number); break; default: - sb.AppendFormat("Q subchannel mode {0}", descriptor.ADR).AppendLine(); + sb.AppendFormat(Localization.Q_subchannel_mode_0, descriptor.ADR).AppendLine(); break; } if((descriptor.CONTROL & (byte)TocControl.ReservedMask) == (byte)TocControl.ReservedMask) - sb.AppendFormat("Reserved flags 0x{0:X2} set", descriptor.CONTROL).AppendLine(); + sb.AppendFormat(Localization.Reserved_flags_0_set, descriptor.CONTROL).AppendLine(); else { switch((TocControl)(descriptor.CONTROL & 0x0D)) { case TocControl.TwoChanNoPreEmph: - sb.AppendLine("Stereo audio track with no pre-emphasis"); + sb.AppendLine(Localization.Stereo_audio_track_with_no_pre_emphasis); break; case TocControl.TwoChanPreEmph: - sb.AppendLine("Stereo audio track with 50/15 μs pre-emphasis"); + sb.AppendLine(Localization.Stereo_audio_track_with_50_15_us_pre_emphasis); break; case TocControl.FourChanNoPreEmph: - sb.AppendLine("Quadraphonic audio track with no pre-emphasis"); + sb.AppendLine(Localization.Quadraphonic_audio_track_with_no_pre_emphasis); break; case TocControl.FourChanPreEmph: - sb.AppendLine("Quadraphonic audio track with 50/15 μs pre-emphasis"); + sb.AppendLine(Localization.Quadraphonic_audio_track_with_50_15_us_pre_emphasis); break; case TocControl.DataTrack: - sb.AppendLine("Data track, recorded uninterrupted"); + sb.AppendLine(Localization.Data_track_recorded_uninterrupted); break; case TocControl.DataTrackIncremental: - sb.AppendLine("Data track, recorded incrementally"); + sb.AppendLine(Localization.Data_track_recorded_incrementally); break; } sb.AppendLine((descriptor.CONTROL & (byte)TocControl.CopyPermissionMask) == - (byte)TocControl.CopyPermissionMask ? "Digital copy of track is permitted" - : "Digital copy of track is prohibited"); + (byte)TocControl.CopyPermissionMask ? Localization.Digital_copy_of_track_is_permitted + : Localization.Digital_copy_of_track_is_prohibited); #if DEBUG if(descriptor.Reserved1 != 0) - sb.AppendFormat("Reserved1 = 0x{0:X2}", descriptor.Reserved1).AppendLine(); + sb.AppendFormat(Localization.Reserved1_equals_0_X8, descriptor.Reserved1).AppendLine(); if(descriptor.Reserved2 != 0) - sb.AppendFormat("Reserved2 = 0x{0:X2}", descriptor.Reserved2).AppendLine(); + sb.AppendFormat(Localization.Reserved2_equals_0_X8, descriptor.Reserved2).AppendLine(); #endif sb.AppendLine(); diff --git a/DVD/CSS&CPRM.cs b/DVD/CSS&CPRM.cs index d47fbbedf..9fdd66143 100644 --- a/DVD/CSS&CPRM.cs +++ b/DVD/CSS&CPRM.cs @@ -105,39 +105,40 @@ public static class CSS_CPRM switch(typeCode) { case TypeCode.None: - sb.AppendLine("No drive region setting."); + sb.AppendLine(Localization.No_drive_region_setting); break; case TypeCode.Set: - sb.AppendLine("Drive region is set."); + sb.AppendLine(Localization.Drive_region_is_set); break; case TypeCode.LastChance: - sb.AppendLine("Drive region is set, with additional restrictions required to make a change."); + sb.AppendLine(Localization.Drive_region_is_set_with_additional_restrictions_required_to_make_a_change); break; case TypeCode.Perm: - sb.AppendLine("Drive region has been set permanently, but may be reset by the vendor if necessary."); + sb.AppendLine(Localization. + Drive_region_has_been_set_permanently_but_may_be_reset_by_the_vendor_if_necessary); break; } - sb.AppendLine($"Drive has {vendorResets} vendor resets available."); - sb.AppendLine($"Drive has {userControlledChanges} user controlled changes available."); + sb.AppendLine(string.Format(Localization.Drive_has_0_vendor_resets_available, vendorResets)); + sb.AppendLine(string.Format(Localization.Drive_has_0_user_controlled_changes_available, userControlledChanges)); switch(decoded.RegionMask) { case 0xFF: - sb.AppendLine("Drive has no region set."); + sb.AppendLine(Localization.Drive_has_no_region_set); break; case 0x00: - sb.AppendLine("Drive is region free."); + sb.AppendLine(Localization.Drive_is_region_free); break; default: { - sb.Append("Drive has the following regions set:"); + sb.Append(Localization.Drive_has_the_following_regions_set); if((decoded.RegionMask & 0x01) != 0x01) sb.Append(" 1"); @@ -172,15 +173,16 @@ public static class CSS_CPRM switch(decoded.RPCScheme) { case 0x00: - sb.AppendLine("The Logical Unit does not enforce Region Playback Controls (RPC)."); + sb.AppendLine(Localization.The_Logical_Unit_does_not_enforce_Region_Playback_Controls_RPC); break; case 0x01: - sb.AppendLine("The Logical Unit shall adhere to the specification and all requirements of the CSS license agreement concerning RPC."); + sb.AppendLine(Localization. + The_Logical_Unit_shall_adhere_to_the_specification_and_all_requirements_of_the_CSS_license_agreement_concerning_RPC); break; default: - sb.AppendLine("The Logical Unit uses an unknown region enforcement scheme."); + sb.AppendLine(Localization.The_Logical_Unit_uses_an_unknown_region_enforcement_scheme); break; } @@ -202,23 +204,24 @@ public static class CSS_CPRM switch(decoded.CopyrightType) { case CopyrightType.NoProtection: - sb.AppendLine("Disc has no encryption."); + sb.AppendLine(Localization.Disc_has_no_encryption); break; case CopyrightType.CSS: - sb.AppendLine("Disc is encrypted using CSS or CPPM."); + sb.AppendLine(Localization.Disc_is_encrypted_using_CSS_or_CPPM); break; case CopyrightType.CPRM: - sb.AppendLine("Disc is encrypted using CPRM."); + sb.AppendLine(Localization.Disc_is_encrypted_using_CPRM); break; case CopyrightType.AACS: - sb.AppendLine("Disc is encrypted using AACS."); + sb.AppendLine(Localization.Disc_is_encrypted_using_AACS); break; default: - sb.AppendFormat("Disc is encrypted using unknown algorithm with ID {0}.", decoded.CopyrightType); + sb.AppendFormat(Localization.Disc_is_encrypted_using_unknown_algorithm_with_ID_0, + decoded.CopyrightType); break; } @@ -229,16 +232,16 @@ public static class CSS_CPRM switch(decoded.RegionInformation) { case 0xFF: - sb.AppendLine("Disc cannot be played in any region at all."); + sb.AppendLine(Localization.Disc_cannot_be_played_in_any_region_at_all); break; case 0x00: - sb.AppendLine("Disc can be played in any region."); + sb.AppendLine(Localization.Disc_can_be_played_in_any_region); break; default: { - sb.Append("Disc can be played in the following regions:"); + sb.Append(Localization.Disc_can_be_played_in_the_following_regions); if((decoded.RegionInformation & 0x01) != 0x01) sb.Append(" 1"); diff --git a/DVD/Cartridge.cs b/DVD/Cartridge.cs index 84c6db901..b483f09a0 100644 --- a/DVD/Cartridge.cs +++ b/DVD/Cartridge.cs @@ -85,31 +85,31 @@ public static class Cartridge var sb = new StringBuilder(); if(decoded.PWP) - sb.AppendLine("Disc surface is set to write protected status"); + sb.AppendLine(Localization.Disc_surface_is_set_to_write_protected_status); if(decoded.Cartridge) { - sb.AppendLine("Disc comes in a cartridge"); + sb.AppendLine(Localization.Disc_comes_in_a_cartridge); if(decoded.OUT) - sb.AppendLine("Disc has been extracted from the cartridge"); + sb.AppendLine(Localization.Disc_has_been_extracted_from_the_cartridge); if(decoded.CWP) - sb.AppendLine("Cartridge is set to write protected"); + sb.AppendLine(Localization.Cartridge_is_set_to_write_protected); } switch(decoded.DiscType) { case 0: - sb.AppendLine("Disc shall not be written without a cartridge"); + sb.AppendLine(Localization.Disc_shall_not_be_written_without_a_cartridge); break; case 0x10: - sb.AppendLine("Disc may be written without a cartridge"); + sb.AppendLine(Localization.Disc_may_be_written_without_a_cartridge); break; default: - sb.AppendFormat("Unknown disc type id {0}", decoded.DiscType).AppendLine(); + sb.AppendFormat(Localization.Unknown_disc_type_id_0, decoded.DiscType).AppendLine(); break; } @@ -121,15 +121,16 @@ public static class Cartridge { case 0: break; case 1: - sb.AppendLine("Disc is write inhibited because it has been extracted from the cartridge"); + sb.AppendLine(Localization.Disc_is_write_inhibited_because_it_has_been_extracted_from_the_cartridge); break; case 0xFF: - sb.AppendLine("Disc is write inhibited for an unspecified reason"); + sb.AppendLine(Localization.Disc_is_write_inhibited_for_an_unspecified_reason); break; default: - sb.AppendFormat("Disc has unknown reason {0} for write inhibition", decoded.RAMSWI).AppendLine(); + sb.AppendFormat(Localization.Disc_has_unknown_reason_0_for_write_inhibition, decoded.RAMSWI). + AppendLine(); break; } diff --git a/DVD/DDS.cs b/DVD/DDS.cs index fba7db3be..901ebc066 100644 --- a/DVD/DDS.cs +++ b/DVD/DDS.cs @@ -133,54 +133,54 @@ public static class DDS if(decoded.InProcess) { - sb.AppendLine("Formatting in progress."); + sb.AppendLine(Localization.Formatting_in_progress); if(decoded.Groups == 24) { if(decoded.PartialCertification) - sb.AppendLine("Formatting is only using partial certification"); + sb.AppendLine(Localization.Formatting_is_only_using_partial_certification); if(decoded.FormattingOnlyAGroup) - sb.AppendLine("Only a group is being formatted"); + sb.AppendLine(Localization.Only_a_group_is_being_formatted); } } if(decoded.UserCertification) - sb.AppendLine("Disc has been certified by an user"); + sb.AppendLine(Localization.Disc_has_been_certified_by_a_user); if(decoded.ManufacturerCertification) - sb.AppendLine("Disc has been certified by a manufacturer"); + sb.AppendLine(Localization.Disc_has_been_certified_by_a_manufacturer); - sb.AppendFormat("DDS has been updated {0} times", decoded.UpdateCount).AppendLine(); + sb.AppendFormat(Localization.DDS_has_been_updated_0_times, decoded.UpdateCount).AppendLine(); if(decoded.Groups == 24) for(int i = 0; i < decoded.GroupCertificationFlags.Length; i++) { if(decoded.GroupCertificationFlags[i].InProcess) { - sb.AppendFormat("Group {0} is being formatted", i).AppendLine(); + sb.AppendFormat(Localization.Group_0_is_being_formatted, i).AppendLine(); if(decoded.GroupCertificationFlags[i].PartialCertification) - sb.AppendFormat("Group {0} is being certified partially", i).AppendLine(); + sb.AppendFormat(Localization.Group_0_is_being_certified_partially, i).AppendLine(); } if(decoded.GroupCertificationFlags[i].UserCertification) - sb.AppendFormat("Group {0} has been certified by an user", i).AppendLine(); + sb.AppendFormat(Localization.Group_0_has_been_certified_by_an_user, i).AppendLine(); } if(decoded.Groups != 1) return sb.ToString(); { - sb.AppendFormat("Disc has {0} zones", decoded.Zones).AppendLine(); + sb.AppendFormat(Localization.Disc_has_0_zones, decoded.Zones).AppendLine(); - sb.AppendFormat("Primary Spare Area stats at PSN {0:X}h and ends at PSN {1:X}h, inclusively", + sb.AppendFormat(Localization.Primary_Spare_Area_stats_at_PSN_0_and_ends_at_PSN_1_inclusively, decoded.SpareAreaFirstPSN, decoded.SpareAreaLastPSN).AppendLine(); - sb.AppendFormat("LSN 0 is at PSN {0:X}h", decoded.LSN0Location).AppendLine(); + sb.AppendFormat(Localization.LSN_zero_is_at_PSN_0, decoded.LSN0Location).AppendLine(); for(int i = 0; i < decoded.StartLSNForZone.Length; i++) - sb.AppendFormat("Zone {0} starts at LSN {1}", i, decoded.StartLSNForZone[i]).AppendLine(); + sb.AppendFormat(Localization.Zone_0_starts_at_LSN_1, i, decoded.StartLSNForZone[i]).AppendLine(); } return sb.ToString(); diff --git a/DVD/PFI.cs b/DVD/PFI.cs index 01f8f6771..ddf42efa7 100644 --- a/DVD/PFI.cs +++ b/DVD/PFI.cs @@ -479,42 +479,42 @@ public static class PFI string sizeString = decoded.DiscSize switch { - DVDSize.Eighty => "80mm", - DVDSize.OneTwenty => "120mm", - _ => $"unknown size identifier {decoded.DiscSize}" + DVDSize.Eighty => Localization._80mm, + DVDSize.OneTwenty => Localization._120mm, + _ => string.Format(Localization.unknown_size_identifier_0, decoded.DiscSize) }; - const string categorySentence = "Disc is a {0} {1} version {2}"; - switch(decoded.DiskCategory) { case DiskCategory.DVDROM: - sb.AppendFormat(categorySentence, sizeString, "DVD-ROM", decoded.PartVersion).AppendLine(); + sb.AppendFormat(Localization.Disc_is_a_0_1_version_2, sizeString, "DVD-ROM", decoded.PartVersion). + AppendLine(); switch(decoded.DiscSize) { case DVDSize.OneTwenty when decoded.PartVersion == 1: - sb.AppendLine("Disc claims conformation to ECMA-267"); + sb.AppendLine(Localization.Disc_claims_conformation_to_ECMA_267); break; case DVDSize.Eighty when decoded.PartVersion == 1: - sb.AppendLine("Disc claims conformation to ECMA-268"); + sb.AppendLine(Localization.Disc_claims_conformation_to_ECMA_268); break; } break; case DiskCategory.DVDRAM: - sb.AppendFormat(categorySentence, sizeString, "DVD-RAM", decoded.PartVersion).AppendLine(); + sb.AppendFormat(Localization.Disc_is_a_0_1_version_2, sizeString, "DVD-RAM", decoded.PartVersion). + AppendLine(); switch(decoded.PartVersion) { case 1: - sb.AppendLine("Disc claims conformation to ECMA-272"); + sb.AppendLine(Localization.Disc_claims_conformation_to_ECMA_272); break; case 6: - sb.AppendLine("Disc claims conformation to ECMA-330"); + sb.AppendLine(Localization.Disc_claims_conformation_to_ECMA_330); break; } @@ -522,22 +522,24 @@ public static class PFI break; case DiskCategory.DVDR: if(decoded.PartVersion >= 6) - sb.AppendFormat(categorySentence, sizeString, "DVD-R DL", decoded.PartVersion).AppendLine(); + sb.AppendFormat(Localization.Disc_is_a_0_1_version_2, sizeString, "DVD-R DL", decoded.PartVersion). + AppendLine(); else - sb.AppendFormat(categorySentence, sizeString, "DVD-R", decoded.PartVersion).AppendLine(); + sb.AppendFormat(Localization.Disc_is_a_0_1_version_2, sizeString, "DVD-R", decoded.PartVersion). + AppendLine(); switch(decoded.PartVersion) { case 1: - sb.AppendLine("Disc claims conformation to ECMA-279"); + sb.AppendLine(Localization.Disc_claims_conformation_to_ECMA_279); break; case 5: - sb.AppendLine("Disc claims conformation to ECMA-359"); + sb.AppendLine(Localization.Disc_claims_conformation_to_ECMA_359); break; case 6: - sb.AppendLine("Disc claims conformation to ECMA-382"); + sb.AppendLine(Localization.Disc_claims_conformation_to_ECMA_382); break; } @@ -545,18 +547,20 @@ public static class PFI break; case DiskCategory.DVDRW: if(decoded.PartVersion >= 15) - sb.AppendFormat(categorySentence, sizeString, "DVD-RW DL", decoded.PartVersion).AppendLine(); + sb.AppendFormat(Localization.Disc_is_a_0_1_version_2, sizeString, "DVD-RW DL", decoded.PartVersion). + AppendLine(); else - sb.AppendFormat(categorySentence, sizeString, "DVD-RW", decoded.PartVersion).AppendLine(); + sb.AppendFormat(Localization.Disc_is_a_0_1_version_2, sizeString, "DVD-RW", decoded.PartVersion). + AppendLine(); switch(decoded.PartVersion) { case 2: - sb.AppendLine("Disc claims conformation to ECMA-338"); + sb.AppendLine(Localization.Disc_claims_conformation_to_ECMA_338); break; case 3: - sb.AppendLine("Disc claims conformation to ECMA-384"); + sb.AppendLine(Localization.Disc_claims_conformation_to_ECMA_384); break; } @@ -564,70 +568,76 @@ public static class PFI break; case DiskCategory.UMD: if(decoded.DiscSize == DVDSize.OneTwenty) - sb.AppendFormat(categorySentence, "60mm", "UMD", decoded.PartVersion).AppendLine(); + sb.AppendFormat(Localization.Disc_is_a_0_1_version_2, Localization._60mm, "UMD", + decoded.PartVersion).AppendLine(); else - sb.AppendFormat(categorySentence, "invalid size", "UMD", decoded.PartVersion).AppendLine(); + sb.AppendFormat(Localization.Disc_is_a_0_1_version_2, Localization.invalid_size, "UMD", + decoded.PartVersion).AppendLine(); switch(decoded.PartVersion) { case 0: - sb.AppendLine("Disc claims conformation to ECMA-365"); + sb.AppendLine(Localization.Disc_claims_conformation_to_ECMA_365); break; } break; case DiskCategory.DVDPRW: - sb.AppendFormat(categorySentence, sizeString, "DVD+RW", decoded.PartVersion).AppendLine(); + sb.AppendFormat(Localization.Disc_is_a_0_1_version_2, sizeString, "DVD+RW", decoded.PartVersion). + AppendLine(); switch(decoded.PartVersion) { case 1: - sb.AppendLine("Disc claims conformation to ECMA-274"); + sb.AppendLine(Localization.Disc_claims_conformation_to_ECMA_274); break; case 2: - sb.AppendLine("Disc claims conformation to ECMA-337"); + sb.AppendLine(Localization.Disc_claims_conformation_to_ECMA_337); break; case 3: - sb.AppendLine("Disc claims conformation to ECMA-371"); + sb.AppendLine(Localization.Disc_claims_conformation_to_ECMA_371); break; } break; case DiskCategory.DVDPR: - sb.AppendFormat(categorySentence, sizeString, "DVD+R", decoded.PartVersion).AppendLine(); + sb.AppendFormat(Localization.Disc_is_a_0_1_version_2, sizeString, "DVD+R", decoded.PartVersion). + AppendLine(); switch(decoded.PartVersion) { case 1: - sb.AppendLine("Disc claims conformation to ECMA-349"); + sb.AppendLine(Localization.Disc_claims_conformation_to_ECMA_349); break; } break; case DiskCategory.DVDPRWDL: - sb.AppendFormat(categorySentence, sizeString, "DVD+RW DL", decoded.PartVersion).AppendLine(); + sb.AppendFormat(Localization.Disc_is_a_0_1_version_2, sizeString, "DVD+RW DL", decoded.PartVersion). + AppendLine(); switch(decoded.PartVersion) { case 1: - sb.AppendLine("Disc claims conformation to ECMA-374"); + sb.AppendLine(Localization.Disc_claims_conformation_to_ECMA_374); break; } break; case DiskCategory.DVDPRDL: - sb.AppendFormat(categorySentence, sizeString, "DVD+R DL", decoded.PartVersion).AppendLine(); + sb.AppendFormat(Localization.Disc_is_a_0_1_version_2, sizeString, "DVD+R DL", decoded.PartVersion). + AppendLine(); switch(decoded.PartVersion) { case 1: - sb.AppendLine("Disc claims conformation to ECMA-364"); + sb.AppendLine(Localization.Disc_claims_conformation_to_ECMA_364); break; } @@ -636,9 +646,9 @@ public static class PFI case DiskCategory.Nintendo: if(decoded.PartVersion == 15) if(decoded.DiscSize == DVDSize.Eighty) - sb.AppendLine("Disc is a Nintendo Gamecube Optical Disc (GOD)"); + sb.AppendLine(Localization.Disc_is_a_Nintendo_Gamecube_Optical_Disc_GOD); else if(decoded.DiscSize == DVDSize.OneTwenty) - sb.AppendLine("Disc is a Nintendo Wii Optical Disc (WOD)"); + sb.AppendLine(Localization.Disc_is_a_Nintendo_Wii_Optical_Disc_WOD); else goto default; else @@ -646,93 +656,96 @@ public static class PFI break; case DiskCategory.HDDVDROM: - sb.AppendFormat(categorySentence, sizeString, "HD DVD-ROM", decoded.PartVersion).AppendLine(); + sb.AppendFormat(Localization.Disc_is_a_0_1_version_2, sizeString, "HD DVD-ROM", decoded.PartVersion). + AppendLine(); break; case DiskCategory.HDDVDRAM: - sb.AppendFormat(categorySentence, sizeString, "HD DVD-RAM", decoded.PartVersion).AppendLine(); + sb.AppendFormat(Localization.Disc_is_a_0_1_version_2, sizeString, "HD DVD-RAM", decoded.PartVersion). + AppendLine(); break; case DiskCategory.HDDVDR: - sb.AppendFormat(categorySentence, sizeString, "HD DVD-R", decoded.PartVersion).AppendLine(); + sb.AppendFormat(Localization.Disc_is_a_0_1_version_2, sizeString, "HD DVD-R", decoded.PartVersion). + AppendLine(); break; case DiskCategory.HDDVDRW: - sb.AppendFormat(categorySentence, sizeString, "HD DVD-RW", decoded.PartVersion).AppendLine(); + sb.AppendFormat(Localization.Disc_is_a_0_1_version_2, sizeString, "HD DVD-RW", decoded.PartVersion). + AppendLine(); break; default: - sb.AppendFormat(categorySentence, sizeString, "unknown disc type", decoded.PartVersion).AppendLine(); + sb.AppendFormat(Localization.Disc_is_a_0_1_version_2, sizeString, Localization.unknown_disc_type, + decoded.PartVersion).AppendLine(); break; } if(decoded.RecordedBookType != decoded.DiskCategory) { - const string bookTypeSentence = "Disc book type is {0}"; - switch(decoded.RecordedBookType) { case DiskCategory.DVDROM: - sb.AppendFormat(bookTypeSentence, "DVD-ROM").AppendLine(); + sb.AppendFormat(Localization.Disc_book_type_is_0, "DVD-ROM").AppendLine(); break; case DiskCategory.DVDRAM: - sb.AppendFormat(bookTypeSentence, "DVD-RAM").AppendLine(); + sb.AppendFormat(Localization.Disc_book_type_is_0, "DVD-RAM").AppendLine(); break; case DiskCategory.DVDR: if(decoded.PartVersion >= 6) - sb.AppendFormat(bookTypeSentence, "DVD-R DL").AppendLine(); + sb.AppendFormat(Localization.Disc_book_type_is_0, "DVD-R DL").AppendLine(); else - sb.AppendFormat(bookTypeSentence, "DVD-R").AppendLine(); + sb.AppendFormat(Localization.Disc_book_type_is_0, "DVD-R").AppendLine(); break; case DiskCategory.DVDRW: if(decoded.PartVersion >= 15) - sb.AppendFormat(bookTypeSentence, "DVD-RW DL").AppendLine(); + sb.AppendFormat(Localization.Disc_book_type_is_0, "DVD-RW DL").AppendLine(); else - sb.AppendFormat(bookTypeSentence, "DVD-RW").AppendLine(); + sb.AppendFormat(Localization.Disc_book_type_is_0, "DVD-RW").AppendLine(); break; case DiskCategory.UMD: - sb.AppendFormat(bookTypeSentence, "UMD").AppendLine(); + sb.AppendFormat(Localization.Disc_book_type_is_0, "UMD").AppendLine(); break; case DiskCategory.DVDPRW: - sb.AppendFormat(bookTypeSentence, "DVD+RW").AppendLine(); + sb.AppendFormat(Localization.Disc_book_type_is_0, "DVD+RW").AppendLine(); break; case DiskCategory.DVDPR: - sb.AppendFormat(bookTypeSentence, "DVD+R").AppendLine(); + sb.AppendFormat(Localization.Disc_book_type_is_0, "DVD+R").AppendLine(); break; case DiskCategory.DVDPRWDL: - sb.AppendFormat(bookTypeSentence, "DVD+RW DL").AppendLine(); + sb.AppendFormat(Localization.Disc_book_type_is_0, "DVD+RW DL").AppendLine(); break; case DiskCategory.DVDPRDL: - sb.AppendFormat(bookTypeSentence, "DVD+R DL").AppendLine(); + sb.AppendFormat(Localization.Disc_book_type_is_0, "DVD+R DL").AppendLine(); break; case DiskCategory.HDDVDROM: - sb.AppendFormat(bookTypeSentence, "HD DVD-ROM").AppendLine(); + sb.AppendFormat(Localization.Disc_book_type_is_0, "HD DVD-ROM").AppendLine(); break; case DiskCategory.HDDVDRAM: - sb.AppendFormat(bookTypeSentence, "HD DVD-RAM").AppendLine(); + sb.AppendFormat(Localization.Disc_book_type_is_0, "HD DVD-RAM").AppendLine(); break; case DiskCategory.HDDVDR: - sb.AppendFormat(bookTypeSentence, "HD DVD-R").AppendLine(); + sb.AppendFormat(Localization.Disc_book_type_is_0, "HD DVD-R").AppendLine(); break; case DiskCategory.HDDVDRW: - sb.AppendFormat(bookTypeSentence, "HD DVD-RW").AppendLine(); + sb.AppendFormat(Localization.Disc_book_type_is_0, "HD DVD-RW").AppendLine(); break; default: - sb.AppendFormat(bookTypeSentence, "unknown").AppendLine(); + sb.AppendFormat(Localization.Disc_book_type_is_0, Localization.unit_unknown).AppendLine(); break; } @@ -741,46 +754,46 @@ public static class PFI switch(decoded.MaximumRate) { case MaximumRateField.TwoMbps: - sb.AppendLine("Disc maximum transfer rate is 2,52 Mbit/sec."); + sb.AppendLine(Localization.Disc_maximum_transfer_rate_is_2_52_Mbit_sec); break; case MaximumRateField.FiveMbps: - sb.AppendLine("Disc maximum transfer rate is 5,04 Mbit/sec."); + sb.AppendLine(Localization.Disc_maximum_transfer_rate_is_5_04_Mbit_sec); break; case MaximumRateField.TenMbps: - sb.AppendLine("Disc maximum transfer rate is 10,08 Mbit/sec."); + sb.AppendLine(Localization.Disc_maximum_transfer_rate_is_10_08_Mbit_sec); break; case MaximumRateField.TwentyMbps: - sb.AppendLine("Disc maximum transfer rate is 20,16 Mbit/sec."); + sb.AppendLine(Localization.Disc_maximum_transfer_rate_is_20_16_Mbit_sec); break; case MaximumRateField.ThirtyMbps: - sb.AppendLine("Disc maximum transfer rate is 30,24 Mbit/sec."); + sb.AppendLine(Localization.Disc_maximum_transfer_rate_is_30_24_Mbit_sec); break; case MaximumRateField.Unspecified: - sb.AppendLine("Disc maximum transfer rate is unspecified."); + sb.AppendLine(Localization.Disc_maximum_transfer_rate_is_unspecified); break; default: - sb.AppendFormat("Disc maximum transfer rate is specified by unknown key {0}", decoded.MaximumRate). - AppendLine(); + sb.AppendFormat(Localization.Disc_maximum_transfer_rate_is_specified_by_unknown_key_0, + decoded.MaximumRate).AppendLine(); break; } - sb.AppendFormat("Disc has {0} layers", decoded.Layers + 1).AppendLine(); + sb.AppendFormat(Localization.Disc_has_0_layers, decoded.Layers + 1).AppendLine(); switch(decoded.TrackPath) { case true when decoded.Layers == 1: - sb.AppendLine("Layers are in parallel track path"); + sb.AppendLine(Localization.Layers_are_in_parallel_track_path); break; case false when decoded.Layers == 1: - sb.AppendLine("Layers are in opposite track path"); + sb.AppendLine(Localization.Layers_are_in_opposite_track_path); break; } @@ -788,35 +801,35 @@ public static class PFI switch(decoded.LinearDensity) { case LinearDensityField.TwoSix: - sb.AppendLine("Pitch size is 0,267 μm/bit"); + sb.AppendLine(Localization.Pitch_size_is_0_267_μm_bit); break; case LinearDensityField.TwoNine: - sb.AppendLine("Pitch size is 0,147 μm/bit"); + sb.AppendLine(Localization.Pitch_size_is_0_147_μm_bit); break; case LinearDensityField.FourZero: - sb.AppendLine("Pitch size is between 0,409 μm/bit and 0,435 μm/bit"); + sb.AppendLine(Localization.Pitch_size_is_between_0_409_μm_bit_and_0_435_μm_bit); break; case LinearDensityField.TwoEight: - sb.AppendLine("Pitch size is between 0,140 μm/bit and 0,148 μm/bit"); + sb.AppendLine(Localization.Pitch_size_is_between_0_140_μm_bit_and_0_148_μm_bit); break; case LinearDensityField.OneFive: - sb.AppendLine("Pitch size is 0,153 μm/bit"); + sb.AppendLine(Localization.Pitch_size_is_0_153_μm_bit); break; case LinearDensityField.OneThree: - sb.AppendLine("Pitch size is between 0,130 μm/bit and 0,140 μm/bit"); + sb.AppendLine(Localization.Pitch_size_is_between_0_130_μm_bit_and_0_140_μm_bit); break; case LinearDensityField.ThreeFive: - sb.AppendLine("Pitch size is 0,353 μm/bit"); + sb.AppendLine(Localization.Pitch_size_is_0_353_μm_bit); break; default: - sb.AppendFormat("Unknown pitch size key {0}", decoded.LinearDensity).AppendLine(); + sb.AppendFormat(Localization.Unknown_pitch_size_key_0, decoded.LinearDensity).AppendLine(); break; } @@ -824,27 +837,27 @@ public static class PFI switch(decoded.TrackDensity) { case TrackDensityField.Seven: - sb.AppendLine("Track size is 0,74 μm"); + sb.AppendLine(Localization.Track_size_is_0_74_μm); break; case TrackDensityField.Eight: - sb.AppendLine("Track size is 0,80 μm"); + sb.AppendLine(Localization.Track_size_is_0_80_μm); break; case TrackDensityField.Six: - sb.AppendLine("Track size is 0,615 μm"); + sb.AppendLine(Localization.Track_size_is_0_615_μm); break; case TrackDensityField.Four: - sb.AppendLine("Track size is 0,40 μm"); + sb.AppendLine(Localization.Track_size_is_0_40_μm); break; case TrackDensityField.Three: - sb.AppendLine("Track size is 0,34 μm"); + sb.AppendLine(Localization.Track_size_is_0_34_μm); break; default: - sb.AppendFormat("Unknown track size key {0}", decoded.LinearDensity).AppendLine(); + sb.AppendFormat(Localization.Unknown_track_size_key__0_, decoded.LinearDensity).AppendLine(); break; } @@ -852,59 +865,60 @@ public static class PFI if(decoded.DataAreaStartPSN > 0) if(decoded.DataAreaEndPSN > 0) { - sb.AppendFormat("Data area starts at PSN {0:X}h", decoded.DataAreaStartPSN).AppendLine(); - sb.AppendFormat("Data area ends at PSN {0:X}h", decoded.DataAreaEndPSN).AppendLine(); + sb.AppendFormat(Localization.Data_area_starts_at_PSN_0, decoded.DataAreaStartPSN).AppendLine(); + sb.AppendFormat(Localization.Data_area_ends_at_PSN_0, decoded.DataAreaEndPSN).AppendLine(); if(decoded is { Layers: 1, TrackPath: false }) - sb.AppendFormat("Layer 0 ends at PSN {0:X}h", decoded.Layer0EndPSN).AppendLine(); + sb.AppendFormat(Localization.Layer_zero_ends_at_PSN_0, decoded.Layer0EndPSN).AppendLine(); } else - sb.AppendLine("Disc is empty"); + sb.AppendLine(Localization.Disc_is_empty); else - sb.AppendLine("Disc is empty"); + sb.AppendLine(Localization.Disc_is_empty); if(decoded.BCA) - sb.AppendLine("Disc has a burst cutting area"); + sb.AppendLine(Localization.Disc_has_a_burst_cutting_area); switch(decoded.DiskCategory) { case DiskCategory.UMD: - sb.AppendFormat("Media attribute is {0}", decoded.MediaAttribute).AppendLine(); + sb.AppendFormat(Localization.Media_attribute_is_0, decoded.MediaAttribute).AppendLine(); break; case DiskCategory.DVDRAM: switch(decoded.DiscType) { case DVDRAMDiscType.Cased: - sb.AppendLine("Disc shall be recorded with a case"); + sb.AppendLine(Localization.Disc_shall_be_recorded_with_a_case); break; case DVDRAMDiscType.Uncased: - sb.AppendLine("Disc can be recorded with or without a case"); + sb.AppendLine(Localization.Disc_can_be_recorded_with_or_without_a_case); break; default: - sb.AppendFormat("Unknown DVD-RAM case type key {0}", decoded.DiscType).AppendLine(); + sb.AppendFormat(Localization.Unknown_DVD_RAM_case_type_key_0, decoded.DiscType).AppendLine(); break; } if(decoded.PartVersion == 6) { - sb.AppendFormat("Disc manufacturer is {0}", ManufacturerFromDVDRAM(decoded.DiskManufacturer)). - AppendLine(); + sb.AppendFormat(Localization.Disc_manufacturer_is_0, + ManufacturerFromDVDRAM(decoded.DiskManufacturer)).AppendLine(); - sb.AppendFormat("Disc manufacturer supplementary information is {0}", + sb.AppendFormat(Localization.Disc_manufacturer_supplementary_information_is_0, decoded.DiskManufacturerSupplementary).AppendLine(); } break; case DiskCategory.DVDR when decoded.PartVersion < 6: case DiskCategory.DVDRW when decoded.PartVersion < 15: - sb.AppendFormat("Current Border-Out first sector is PSN {0:X}h", decoded.CurrentBorderOutSector). + sb.AppendFormat(Localization.Current_Border_Out_first_sector_is_PSN_0, decoded.CurrentBorderOutSector). AppendLine(); - sb.AppendFormat("Next Border-In first sector is PSN {0:X}h", decoded.NextBorderInSector).AppendLine(); + sb.AppendFormat(Localization.Next_Border_In_first_sector_is_PSN_0, decoded.NextBorderInSector). + AppendLine(); break; case DiskCategory.DVDPR: @@ -912,15 +926,15 @@ public static class PFI case DiskCategory.DVDPRDL: case DiskCategory.DVDPRWDL: if(decoded.VCPS) - sb.AppendLine("Disc contains extended information for VCPS"); + sb.AppendLine(Localization.Disc_contains_extended_information_for_VCPS); - sb.AppendFormat("Disc application code is {0}", decoded.ApplicationCode).AppendLine(); + sb.AppendFormat(Localization.Disc_application_code_is_0, decoded.ApplicationCode).AppendLine(); - sb.AppendFormat("Disc manufacturer is {0}", ManufacturerFromDVDPlusID(decoded.DiskManufacturerID)). - AppendLine(); + sb.AppendFormat(Localization.Disc_manufacturer_is_0, + ManufacturerFromDVDPlusID(decoded.DiskManufacturerID)).AppendLine(); - sb.AppendFormat("Disc media type is {0}", decoded.MediaTypeID).AppendLine(); - sb.AppendFormat("Disc product revision is {0}", decoded.ProductRevision).AppendLine(); + sb.AppendFormat(Localization.Disc_media_type_is_0, decoded.MediaTypeID).AppendLine(); + sb.AppendFormat(Localization.Disc_product_revision_is_0, decoded.ProductRevision).AppendLine(); break; } @@ -929,19 +943,19 @@ public static class PFI (decoded.DiskCategory != DiskCategory.DVDRW || decoded.PartVersion < 15)) return sb.ToString(); - sb.AppendFormat("Current RMD in extra Border zone starts at PSN {0:X}h", decoded.CurrentRMDExtraBorderPSN). - AppendLine(); + sb.AppendFormat(Localization.Current_RMD_in_extra_Border_zone_starts_at_PSN_0, + decoded.CurrentRMDExtraBorderPSN).AppendLine(); - sb.AppendFormat("PFI in extra Border zone starts at PSN {0:X}h", decoded.PFIExtraBorderPSN).AppendLine(); + sb.AppendFormat(Localization.PFI_in_extra_Border_zone_starts_at_PSN_0, decoded.PFIExtraBorderPSN).AppendLine(); if(!decoded.PreRecordedControlDataInv) - sb.AppendLine("Control Data Zone is pre-recorded"); + sb.AppendLine(Localization.Control_Data_Zone_is_pre_recorded); if(decoded.PreRecordedLeadIn) - sb.AppendLine("Lead-In is pre-recorded"); + sb.AppendLine(Localization.Lead_In_is_pre_recorded); if(decoded.PreRecordedLeadOut) - sb.AppendLine("Lead-Out is pre-recorded"); + sb.AppendLine(Localization.Lead_Out_is_pre_recorded); return sb.ToString(); } diff --git a/DVD/PRI.cs b/DVD/PRI.cs index 2c5611866..daebc191c 100644 --- a/DVD/PRI.cs +++ b/DVD/PRI.cs @@ -137,46 +137,51 @@ public static class PRI if((decoded.DiscApplicationCode & 0x40) > 0) { - sb.AppendLine("Disc for unrestricted use."); + sb.AppendLine(Localization.Disc_for_unrestricted_use); if((decoded.DiscApplicationCode & 0x3F) > 0) - sb.AppendFormat("Invalid purpose field with value {0}", decoded.DiscApplicationCode & 0x3F). + sb.AppendFormat(Localization.Invalid_purpose_field_with_value_0, decoded.DiscApplicationCode & 0x3F). AppendLine(); else - sb.AppendLine("Consumer purpose disc for use in consumer purpose drives"); + sb.AppendLine(Localization.Consumer_purpose_disc_for_use_in_consumer_purpose_drives); } else { - sb.AppendLine("Disc for restricted use."); + sb.AppendLine(Localization.Disc_for_restricted_use); if((decoded.DiscApplicationCode & 0x3F) > 0) - sb.AppendFormat("Disc for use in special drives according with purpose value {0}", + sb.AppendFormat(Localization.Disc_for_use_in_special_drives_according_with_purpose_value_0, decoded.DiscApplicationCode & 0x3F).AppendLine(); else - sb.AppendLine("General purpose disc for use in general purpose drives"); + sb.AppendLine(Localization.General_purpose_disc_for_use_in_general_purpose_drives); } - sb.AppendLine((decoded.DiscPhysicalCode & 0x80) > 0 ? "Disc track pitch is 0,74 μm" : "Unknown track pitch"); + sb.AppendLine((decoded.DiscPhysicalCode & 0x80) > 0 ? Localization.Disc_track_pitch_is_0_74_μm + : Localization.Unknown_track_pitch); - sb.AppendLine((decoded.DiscPhysicalCode & 0x40) > 0 ? "Reference velocity is 3,49 m/s" - : "Unknown reference velocity"); + sb.AppendLine((decoded.DiscPhysicalCode & 0x40) > 0 ? Localization.Reference_velocity_is_3_49_m_s + : Localization.Unknown_reference_velocity); - sb.AppendLine((decoded.DiscPhysicalCode & 0x20) > 0 ? "Disc has 80mm diameter" : "Disc has 120mm diameter"); + sb.AppendLine((decoded.DiscPhysicalCode & 0x20) > 0 ? Localization.Disc_has_80mm_diameter + : Localization.Disc_has_120mm_diameter); - sb.AppendLine((decoded.DiscPhysicalCode & 0x10) > 0 ? "Disc reflectivity is between 18% and 30%" - : "Disc reflectivity is between 45% and 85%"); + sb.AppendLine((decoded.DiscPhysicalCode & 0x10) > 0 ? Localization.Disc_reflectivity_is_between_18_and_30 + : Localization.Disc_reflectivity_is_between_45_and_85); - sb.AppendLine((decoded.DiscPhysicalCode & 0x04) > 0 ? "Dye is organic" : "Dye is phase change"); + sb.AppendLine((decoded.DiscPhysicalCode & 0x04) > 0 ? Localization.Dye_is_organic + : Localization.Dye_is_phase_change); - sb.AppendLine((decoded.DiscPhysicalCode & 0x02) > 0 ? "Disc is RW (rewritable)" : "Disc is R (recordable)"); + sb.AppendLine((decoded.DiscPhysicalCode & 0x02) > 0 ? Localization.Disc_is_RW_rewritable + : Localization.Disc_is_R_recordable); - sb.AppendLine((decoded.DiscPhysicalCode & 0x01) > 0 ? "Wavelength is 650nm" : "Unknown wavelength"); + sb.AppendLine((decoded.DiscPhysicalCode & 0x01) > 0 ? Localization.Wavelength_is_650nm + : Localization.Unknown_wavelength); - sb.AppendFormat("Last writable ECC block address: 0x{0:X6}", decoded.LastAddressOfDataRecordableArea). + sb.AppendFormat(Localization.Last_writable_ECC_block_address_0_X6_, decoded.LastAddressOfDataRecordableArea). AppendLine(); if(decoded.PartVersion > 0) - sb.AppendFormat("Part version {0}", decoded.PartVersion).AppendLine(); + sb.AppendFormat(Localization.Part_version_0, decoded.PartVersion).AppendLine(); bool rw = (decoded.DiscPhysicalCode & 0x02) > 0; @@ -204,10 +209,10 @@ public static class PRI _ => 0 }; - sb.AppendFormat("Recommended recording power is {0} mW", recordingPower).AppendLine(); + sb.AppendFormat(Localization.Recommended_recording_power_is_0_mW, recordingPower).AppendLine(); } else - sb.AppendLine("Recording power is not specified"); + sb.AppendLine(Localization.Recording_power_is_not_specified); if((decoded.WaveLengthCode & 0xF) > 0) { @@ -231,10 +236,10 @@ public static class PRI _ => 0 }; - sb.AppendFormat("Recommended erasing power ratio is {0} ε", erasingPower).AppendLine(); + sb.AppendFormat(Localization.Recommended_erasing_power_ratio_is_0, erasingPower).AppendLine(); } else - sb.AppendLine("Erasing power ratio is not specified"); + sb.AppendLine(Localization.Erasing_power_ratio_is_not_specified); } else { @@ -258,7 +263,7 @@ public static class PRI _ => 0 }; - sb.AppendFormat("Recommended recording power is {0} mW", recordingPower).AppendLine(); + sb.AppendFormat(Localization.Recommended_recording_power_is_0_mW, recordingPower).AppendLine(); } if(decoded.WaveLengthCode > 0) @@ -284,11 +289,12 @@ public static class PRI _ => 0 }; - sb.AppendFormat("Recommended recording power is {0} mW", wavelength).AppendLine(); + sb.AppendFormat(Localization.Recommended_recording_power_is_0_mW, wavelength).AppendLine(); } } - sb.AppendFormat("Disc manufacturer is {0}", ManufacturerFromPrePit(decoded.ManufacturerId)).AppendLine(); + sb.AppendFormat(Localization.Disc_manufacturer_is_0, ManufacturerFromPrePit(decoded.ManufacturerId)). + AppendLine(); return sb.ToString(); } diff --git a/DVD/Spare.cs b/DVD/Spare.cs index ad764b088..52fc11092 100644 --- a/DVD/Spare.cs +++ b/DVD/Spare.cs @@ -78,10 +78,13 @@ public static class Spare SpareAreaInformation decoded = sai.Value; var sb = new StringBuilder(); - sb.AppendFormat("{0} unused primary spare blocks", decoded.UnusedPrimaryBlocks).AppendLine(); - sb.AppendFormat("{0} unused supplementary spare blocks", decoded.UnusedSupplementaryBlocks).AppendLine(); + sb.AppendFormat(Localization._0_unused_primary_spare_blocks, decoded.UnusedPrimaryBlocks).AppendLine(); - sb.AppendFormat("{0} allocated supplementary spare blocks", decoded.AllocatedSupplementaryBlocks).AppendLine(); + sb.AppendFormat(Localization._0_unused_supplementary_spare_blocks, decoded.UnusedSupplementaryBlocks). + AppendLine(); + + sb.AppendFormat(Localization._0_allocated_supplementary_spare_blocks, decoded.AllocatedSupplementaryBlocks). + AppendLine(); return sb.ToString(); } diff --git a/Floppy/Apple2.cs b/Floppy/Apple2.cs index 2ee97e72c..fe4a2d6fd 100644 --- a/Floppy/Apple2.cs +++ b/Floppy/Apple2.cs @@ -37,6 +37,7 @@ using System.IO; using System.Linq; using System.Runtime.InteropServices; using Aaru.Console; +using Aaru.Localization; namespace Aaru.Decoders.Floppy; @@ -268,7 +269,7 @@ public static class Apple2 if(data[position] == 0xD5 && data[position + 1] == 0xAA) { - AaruConsole.DebugWriteLine("Apple ][ GCR Decoder", "Prologue found at {0}", position); + AaruConsole.DebugWriteLine("Apple ][ GCR Decoder", Localization.Prologue_found_at_0, position); // Epilogue not in correct position if(data[position + 11] != 0xDE || @@ -306,23 +307,23 @@ public static class Apple2 } }; - AaruConsole.DebugWriteLine("Apple ][ GCR Decoder", "Volume {0}", + AaruConsole.DebugWriteLine("Apple ][ GCR Decoder", Localization.Volume_0, (((sector.addressField.volume[0] & 0x55) << 1) | (sector.addressField.volume[1] & 0x55)) & 0xFF); - AaruConsole.DebugWriteLine("Apple ][ GCR Decoder", "Track {0}", + AaruConsole.DebugWriteLine("Apple ][ GCR Decoder", Core.Track_0, (((sector.addressField.track[0] & 0x55) << 1) | (sector.addressField.track[1] & 0x55)) & 0xFF); - AaruConsole.DebugWriteLine("Apple ][ GCR Decoder", "Sector {0}", + AaruConsole.DebugWriteLine("Apple ][ GCR Decoder", Localization.Sector_0, (((sector.addressField.sector[0] & 0x55) << 1) | (sector.addressField.sector[1] & 0x55)) & 0xFF); - AaruConsole.DebugWriteLine("Apple ][ GCR Decoder", "Checksum {0}", + AaruConsole.DebugWriteLine("Apple ][ GCR Decoder", Localization.Checksum_0, (((sector.addressField.checksum[0] & 0x55) << 1) | (sector.addressField.checksum[1] & 0x55)) & 0xFF); - AaruConsole.DebugWriteLine("Apple ][ GCR Decoder", "Epilogue {0:X2}{1:X2}{2:X2}", + AaruConsole.DebugWriteLine("Apple ][ GCR Decoder", Localization.Epilogue_0_1_2, sector.addressField.epilogue[0], sector.addressField.epilogue[1], sector.addressField.epilogue[2]); @@ -351,10 +352,10 @@ public static class Apple2 sector.innerGap = gaps.ToArray(); sector.dataField = new RawDataField(); - AaruConsole.DebugWriteLine("Apple ][ GCR Decoder", "Inner gap has {0} bytes", + AaruConsole.DebugWriteLine("Apple ][ GCR Decoder", Localization.Inner_gap_has_0_bytes, sector.innerGap.Length); - AaruConsole.DebugWriteLine("Apple ][ GCR Decoder", "Prologue found at {0}", position); + AaruConsole.DebugWriteLine("Apple ][ GCR Decoder", Localization.Prologue_found_at_0, position); sector.dataField.prologue = new byte[3]; sector.dataField.prologue[0] = data[position]; sector.dataField.prologue[1] = data[position + 1]; @@ -377,7 +378,7 @@ public static class Apple2 sector.dataField.data = gaps.ToArray(); - AaruConsole.DebugWriteLine("Apple ][ GCR Decoder", "Data has {0} bytes", + AaruConsole.DebugWriteLine("Apple ][ GCR Decoder", Localization.Data_has_0_bytes, sector.dataField.data.Length); sector.dataField.checksum = data[position]; @@ -408,8 +409,11 @@ public static class Apple2 // Return current position to be able to read separate sectors endOffset = position; - AaruConsole.DebugWriteLine("Apple ][ GCR Decoder", "Got {0} bytes of gap", sector.gap.Length); - AaruConsole.DebugWriteLine("Apple ][ GCR Decoder", "Finished sector at {0}", position); + + AaruConsole.DebugWriteLine("Apple ][ GCR Decoder", Localization.Got_0_bytes_of_gap, + sector.gap.Length); + + AaruConsole.DebugWriteLine("Apple ][ GCR Decoder", Localization.Finished_sector_at_0, position); return sector; } @@ -519,7 +523,7 @@ public static class Apple2 break; } - AaruConsole.DebugWriteLine("Apple ][ GCR Decoder", "Adding sector {0} of track {1}", + AaruConsole.DebugWriteLine("Apple ][ GCR Decoder", Localization.Adding_sector_0_of_track_1, (((sector.addressField.sector[0] & 0x55) << 1) | (sector.addressField.sector[1] & 0x55)) & 0xFF, (((sector.addressField.track[0] & 0x55) << 1) | diff --git a/Localization/Localization.Designer.cs b/Localization/Localization.Designer.cs new file mode 100644 index 000000000..6e6500a3a --- /dev/null +++ b/Localization/Localization.Designer.cs @@ -0,0 +1,19439 @@ +//------------------------------------------------------------------------------ +// +// 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.Decoders { + using System; + + + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")] + [System.Diagnostics.DebuggerNonUserCodeAttribute()] + [System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + internal class Localization { + + private static System.Resources.ResourceManager resourceMan; + + private static System.Globalization.CultureInfo resourceCulture; + + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] + internal Localization() { + } + + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)] + internal static System.Resources.ResourceManager ResourceManager { + get { + if (object.Equals(null, resourceMan)) { + System.Resources.ResourceManager temp = new System.Resources.ResourceManager("Aaru.Decoders.Localization.Localization", typeof(Localization).Assembly); + resourceMan = temp; + } + return resourceMan; + } + } + + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)] + internal static System.Globalization.CultureInfo Culture { + get { + return resourceCulture; + } + set { + resourceCulture = value; + } + } + + internal static string ATAPI_device { + get { + return ResourceManager.GetString("ATAPI_device", resourceCulture); + } + } + + internal static string CompactFlash_device { + get { + return ResourceManager.GetString("CompactFlash_device", resourceCulture); + } + } + + internal static string ATA_device { + get { + return ResourceManager.GetString("ATA_device", resourceCulture); + } + } + + internal static string Additional_product_ID_0 { + get { + return ResourceManager.GetString("Additional_product_ID_0", resourceCulture); + } + } + + internal static string World_Wide_Name_0 { + get { + return ResourceManager.GetString("World_Wide_Name_0", resourceCulture); + } + } + + internal static string Supported_ATA_versions { + get { + return ResourceManager.GetString("Supported_ATA_versions", resourceCulture); + } + } + + internal static string Maximum_ATA_revision_supported { + get { + return ResourceManager.GetString("Maximum_ATA_revision_supported", resourceCulture); + } + } + + internal static string Minor_ATA_version_not_specified { + get { + return ResourceManager.GetString("Minor_ATA_version_not_specified", resourceCulture); + } + } + + internal static string ATA_ATA_1_X3T9_2_781D_prior_to_revision_4 { + get { + return ResourceManager.GetString("ATA_ATA_1_X3T9_2_781D_prior_to_revision_4", resourceCulture); + } + } + + internal static string ATA_1_published_ANSI_X3_221_1994 { + get { + return ResourceManager.GetString("ATA_1_published_ANSI_X3_221_1994", resourceCulture); + } + } + + internal static string ATA_ATA_1_X3T9_2_781D_revision_4 { + get { + return ResourceManager.GetString("ATA_ATA_1_X3T9_2_781D_revision_4", resourceCulture); + } + } + + internal static string ATA_2_published_ANSI_X3_279_1996 { + get { + return ResourceManager.GetString("ATA_2_published_ANSI_X3_279_1996", resourceCulture); + } + } + + internal static string ATA_2_X3T10_948D_prior_to_revision_2k { + get { + return ResourceManager.GetString("ATA_2_X3T10_948D_prior_to_revision_2k", resourceCulture); + } + } + + internal static string ATA_3_X3T10_2008D_revision_1 { + get { + return ResourceManager.GetString("ATA_3_X3T10_2008D_revision_1", resourceCulture); + } + } + + internal static string ATA_2_X3T10_948D_revision_2k { + get { + return ResourceManager.GetString("ATA_2_X3T10_948D_revision_2k", resourceCulture); + } + } + + internal static string ATA_3_X3T10_2008D_revision_0 { + get { + return ResourceManager.GetString("ATA_3_X3T10_2008D_revision_0", resourceCulture); + } + } + + internal static string ATA_2_X3T10_948D_revision_3 { + get { + return ResourceManager.GetString("ATA_2_X3T10_948D_revision_3", resourceCulture); + } + } + + internal static string ATA_3_published_ANSI_X3_298_1997 { + get { + return ResourceManager.GetString("ATA_3_published_ANSI_X3_298_1997", resourceCulture); + } + } + + internal static string ATA_3_X3T10_2008D_revision_6 { + get { + return ResourceManager.GetString("ATA_3_X3T10_2008D_revision_6", resourceCulture); + } + } + + internal static string ATA_3_X3T13_2008D_revision_7 { + get { + return ResourceManager.GetString("ATA_3_X3T13_2008D_revision_7", resourceCulture); + } + } + + internal static string ATA_ATAPI_4_X3T13_1153D_revision_6 { + get { + return ResourceManager.GetString("ATA_ATAPI_4_X3T13_1153D_revision_6", resourceCulture); + } + } + + internal static string ATA_ATAPI_4_T13_1153D_revision_13 { + get { + return ResourceManager.GetString("ATA_ATAPI_4_T13_1153D_revision_13", resourceCulture); + } + } + + internal static string ATA_ATAPI_4_X3T13_1153D_revision_7 { + get { + return ResourceManager.GetString("ATA_ATAPI_4_X3T13_1153D_revision_7", resourceCulture); + } + } + + internal static string ATA_ATAPI_4_T13_1153D_revision_18 { + get { + return ResourceManager.GetString("ATA_ATAPI_4_T13_1153D_revision_18", resourceCulture); + } + } + + internal static string ATA_ATAPI_4_T13_1153D_revision_15 { + get { + return ResourceManager.GetString("ATA_ATAPI_4_T13_1153D_revision_15", resourceCulture); + } + } + + internal static string ATA_ATAPI_4_published_ANSI_INCITS_317_1998 { + get { + return ResourceManager.GetString("ATA_ATAPI_4_published_ANSI_INCITS_317_1998", resourceCulture); + } + } + + internal static string ATA_ATAPI_5_T13_1321D_revision_3 { + get { + return ResourceManager.GetString("ATA_ATAPI_5_T13_1321D_revision_3", resourceCulture); + } + } + + internal static string ATA_ATAPI_4_T13_1153D_revision_14 { + get { + return ResourceManager.GetString("ATA_ATAPI_4_T13_1153D_revision_14", resourceCulture); + } + } + + internal static string ATA_ATAPI_5_T13_1321D_revision_1 { + get { + return ResourceManager.GetString("ATA_ATAPI_5_T13_1321D_revision_1", resourceCulture); + } + } + + internal static string ATA_ATAPI_5_published_ANSI_INCITS_340_2000 { + get { + return ResourceManager.GetString("ATA_ATAPI_5_published_ANSI_INCITS_340_2000", resourceCulture); + } + } + + internal static string ATA_ATAPI_4_T13_1153D_revision_17 { + get { + return ResourceManager.GetString("ATA_ATAPI_4_T13_1153D_revision_17", resourceCulture); + } + } + + internal static string ATA_ATAPI_6_T13_1410D_revision_0 { + get { + return ResourceManager.GetString("ATA_ATAPI_6_T13_1410D_revision_0", resourceCulture); + } + } + + internal static string ATA_ATAPI_6_T13_1410D_revision_3a { + get { + return ResourceManager.GetString("ATA_ATAPI_6_T13_1410D_revision_3a", resourceCulture); + } + } + + internal static string ATA_ATAPI_7_T13_1532D_revision_1 { + get { + return ResourceManager.GetString("ATA_ATAPI_7_T13_1532D_revision_1", resourceCulture); + } + } + + internal static string ATA_ATAPI_6_T13_1410D_revision_2 { + get { + return ResourceManager.GetString("ATA_ATAPI_6_T13_1410D_revision_2", resourceCulture); + } + } + + internal static string ATA_ATAPI_6_T13_1410D_revision_1 { + get { + return ResourceManager.GetString("ATA_ATAPI_6_T13_1410D_revision_1", resourceCulture); + } + } + + internal static string ATA_ATAPI_7_published_ANSI_INCITS_397_2005 { + get { + return ResourceManager.GetString("ATA_ATAPI_7_published_ANSI_INCITS_397_2005", resourceCulture); + } + } + + internal static string ATA_ATAPI_7_T13_1532D_revision_0 { + get { + return ResourceManager.GetString("ATA_ATAPI_7_T13_1532D_revision_0", resourceCulture); + } + } + + internal static string ACS_3_Revision_3b { + get { + return ResourceManager.GetString("ACS_3_Revision_3b", resourceCulture); + } + } + + internal static string ATA_ATAPI_7_T13_1532D_revision_4a { + get { + return ResourceManager.GetString("ATA_ATAPI_7_T13_1532D_revision_4a", resourceCulture); + } + } + + internal static string ATA_ATAPI_6_published_ANSI_INCITS_361_2002 { + get { + return ResourceManager.GetString("ATA_ATAPI_6_published_ANSI_INCITS_361_2002", resourceCulture); + } + } + + internal static string ATA8_ACS_revision_3c { + get { + return ResourceManager.GetString("ATA8_ACS_revision_3c", resourceCulture); + } + } + + internal static string ATA8_ACS_revision_6 { + get { + return ResourceManager.GetString("ATA8_ACS_revision_6", resourceCulture); + } + } + + internal static string ATA8_ACS_revision_4 { + get { + return ResourceManager.GetString("ATA8_ACS_revision_4", resourceCulture); + } + } + + internal static string ACS_2_Revision_2 { + get { + return ResourceManager.GetString("ACS_2_Revision_2", resourceCulture); + } + } + + internal static string ATA8_ACS_Revision_3e { + get { + return ResourceManager.GetString("ATA8_ACS_Revision_3e", resourceCulture); + } + } + + internal static string ATA8_ACS_Revision_4c { + get { + return ResourceManager.GetString("ATA8_ACS_Revision_4c", resourceCulture); + } + } + + internal static string ATA8_ACS_Revision_3f { + get { + return ResourceManager.GetString("ATA8_ACS_Revision_3f", resourceCulture); + } + } + + internal static string ATA8_ACS_revision_3b { + get { + return ResourceManager.GetString("ATA8_ACS_revision_3b", resourceCulture); + } + } + + internal static string ACS_3_Revision_5 { + get { + return ResourceManager.GetString("ACS_3_Revision_5", resourceCulture); + } + } + + internal static string ACS_2_published_ANSI_INCITS_482_2012 { + get { + return ResourceManager.GetString("ACS_2_published_ANSI_INCITS_482_2012", resourceCulture); + } + } + + internal static string ATA8_ACS_revision_2d { + get { + return ResourceManager.GetString("ATA8_ACS_revision_2d", resourceCulture); + } + } + + internal static string ACS_2_Revision_3 { + get { + return ResourceManager.GetString("ACS_2_Revision_3", resourceCulture); + } + } + + internal static string ACS_3_Revision_4 { + get { + return ResourceManager.GetString("ACS_3_Revision_4", resourceCulture); + } + } + + internal static string Unknown_ATA_revision_0 { + get { + return ResourceManager.GetString("Unknown_ATA_revision_0", resourceCulture); + } + } + + internal static string Parallel_ATA_device { + get { + return ResourceManager.GetString("Parallel_ATA_device", resourceCulture); + } + } + + internal static string Serial_ATA_device { + get { + return ResourceManager.GetString("Serial_ATA_device", resourceCulture); + } + } + + internal static string SATA_Express_device { + get { + return ResourceManager.GetString("SATA_Express_device", resourceCulture); + } + } + + internal static string Unknown_transport_type_0 { + get { + return ResourceManager.GetString("Unknown_transport_type_0", resourceCulture); + } + } + + internal static string ATAPI_Direct_access_device { + get { + return ResourceManager.GetString("ATAPI_Direct_access_device", resourceCulture); + } + } + + internal static string ATAPI_Sequential_access_device { + get { + return ResourceManager.GetString("ATAPI_Sequential_access_device", resourceCulture); + } + } + + internal static string ATAPI_Printer_device { + get { + return ResourceManager.GetString("ATAPI_Printer_device", resourceCulture); + } + } + + internal static string ATAPI_Processor_device { + get { + return ResourceManager.GetString("ATAPI_Processor_device", resourceCulture); + } + } + + internal static string ATAPI_Write_once_device { + get { + return ResourceManager.GetString("ATAPI_Write_once_device", resourceCulture); + } + } + + internal static string ATAPI_CD_ROM_DVD_etc_device { + get { + return ResourceManager.GetString("ATAPI_CD_ROM_DVD_etc_device", resourceCulture); + } + } + + internal static string ATAPI_Scanner_device { + get { + return ResourceManager.GetString("ATAPI_Scanner_device", resourceCulture); + } + } + + internal static string ATAPI_Optical_memory_device { + get { + return ResourceManager.GetString("ATAPI_Optical_memory_device", resourceCulture); + } + } + + internal static string ATAPI_Medium_change_device { + get { + return ResourceManager.GetString("ATAPI_Medium_change_device", resourceCulture); + } + } + + internal static string ATAPI_Communications_device { + get { + return ResourceManager.GetString("ATAPI_Communications_device", resourceCulture); + } + } + + internal static string ATAPI_Graphics_arts_pre_press_device_defined_in_ASC_IT8 { + get { + return ResourceManager.GetString("ATAPI_Graphics_arts_pre_press_device_defined_in_ASC_IT8", resourceCulture); + } + } + + internal static string ATAPI_Array_controller_device { + get { + return ResourceManager.GetString("ATAPI_Array_controller_device", resourceCulture); + } + } + + internal static string ATAPI_Enclosure_services_device { + get { + return ResourceManager.GetString("ATAPI_Enclosure_services_device", resourceCulture); + } + } + + internal static string ATAPI_Simplified_direct_access_device { + get { + return ResourceManager.GetString("ATAPI_Simplified_direct_access_device", resourceCulture); + } + } + + internal static string ATAPI_Optical_card_reader_writer_device { + get { + return ResourceManager.GetString("ATAPI_Optical_card_reader_writer_device", resourceCulture); + } + } + + internal static string ATAPI_Bridging_Expanders { + get { + return ResourceManager.GetString("ATAPI_Bridging_Expanders", resourceCulture); + } + } + + internal static string ATAPI_Object_based_Storage_Device { + get { + return ResourceManager.GetString("ATAPI_Object_based_Storage_Device", resourceCulture); + } + } + + internal static string ATAPI_Automation_Drive_Interface { + get { + return ResourceManager.GetString("ATAPI_Automation_Drive_Interface", resourceCulture); + } + } + + internal static string ATAPI_Well_known_logical_unit { + get { + return ResourceManager.GetString("ATAPI_Well_known_logical_unit", resourceCulture); + } + } + + internal static string ATAPI_Unknown_or_no_device_type { + get { + return ResourceManager.GetString("ATAPI_Unknown_or_no_device_type", resourceCulture); + } + } + + internal static string ATAPI_Unknown_device_type_field_value_0 { + get { + return ResourceManager.GetString("ATAPI_Unknown_device_type_field_value_0", resourceCulture); + } + } + + internal static string Device_shall_set_DRQ_within_3_ms_of_receiving_PACKET { + get { + return ResourceManager.GetString("Device_shall_set_DRQ_within_3_ms_of_receiving_PACKET", resourceCulture); + } + } + + internal static string Device_shall_assert_INTRQ_when_DRQ_is_set_to_one { + get { + return ResourceManager.GetString("Device_shall_assert_INTRQ_when_DRQ_is_set_to_one", resourceCulture); + } + } + + internal static string Device_shall_set_DRQ_within_50_µs_of_receiving_PACKET { + get { + return ResourceManager.GetString("Device_shall_set_DRQ_within_50_µs_of_receiving_PACKET", resourceCulture); + } + } + + internal static string Unknown_ATAPI_DRQ_behaviour_code_0 { + get { + return ResourceManager.GetString("Unknown_ATAPI_DRQ_behaviour_code_0", resourceCulture); + } + } + + internal static string ATAPI_device_uses_12_byte_command_packet { + get { + return ResourceManager.GetString("ATAPI_device_uses_12_byte_command_packet", resourceCulture); + } + } + + internal static string ATAPI_device_uses_16_byte_command_packet { + get { + return ResourceManager.GetString("ATAPI_device_uses_16_byte_command_packet", resourceCulture); + } + } + + internal static string Unknown_ATAPI_packet_size_code_0 { + get { + return ResourceManager.GetString("Unknown_ATAPI_packet_size_code_0", resourceCulture); + } + } + + internal static string Incomplete_identify_response { + get { + return ResourceManager.GetString("Incomplete_identify_response", resourceCulture); + } + } + + internal static string Device_uses_non_magnetic_media { + get { + return ResourceManager.GetString("Device_uses_non_magnetic_media", resourceCulture); + } + } + + internal static string Device_is_removable { + get { + return ResourceManager.GetString("Device_is_removable", resourceCulture); + } + } + + internal static string Device_is_fixed { + get { + return ResourceManager.GetString("Device_is_fixed", resourceCulture); + } + } + + internal static string Device_transfer_rate_less_than_5_Mbs { + get { + return ResourceManager.GetString("Device_transfer_rate_less_than_5_Mbs", resourceCulture); + } + } + + internal static string Device_transfer_rate_is_more_5_Mbs_less_10_Mbs { + get { + return ResourceManager.GetString("Device_transfer_rate_is_more_5_Mbs_less_10_Mbs", resourceCulture); + } + } + + internal static string Device_transfer_rate_more_than_10_Mbs { + get { + return ResourceManager.GetString("Device_transfer_rate_more_than_10_Mbs", resourceCulture); + } + } + + internal static string Device_is_soft_sectored { + get { + return ResourceManager.GetString("Device_is_soft_sectored", resourceCulture); + } + } + + internal static string Device_is_hard_sectored { + get { + return ResourceManager.GetString("Device_is_hard_sectored", resourceCulture); + } + } + + internal static string Device_is_not_MFM_encoded { + get { + return ResourceManager.GetString("Device_is_not_MFM_encoded", resourceCulture); + } + } + + internal static string Format_speed_tolerance_gap_is_required { + get { + return ResourceManager.GetString("Format_speed_tolerance_gap_is_required", resourceCulture); + } + } + + internal static string Track_offset_option_is_available { + get { + return ResourceManager.GetString("Track_offset_option_is_available", resourceCulture); + } + } + + internal static string Data_strobe_offset_option_is_available { + get { + return ResourceManager.GetString("Data_strobe_offset_option_is_available", resourceCulture); + } + } + + internal static string Rotational_speed_tolerance_is_higher_than_0_5_percent { + get { + return ResourceManager.GetString("Rotational_speed_tolerance_is_higher_than_0_5_percent", resourceCulture); + } + } + + internal static string Spindle_motor_control_is_implemented { + get { + return ResourceManager.GetString("Spindle_motor_control_is_implemented", resourceCulture); + } + } + + internal static string Head_switch_time_is_bigger_than_15_µs { + get { + return ResourceManager.GetString("Head_switch_time_is_bigger_than_15_µs", resourceCulture); + } + } + + internal static string Device_does_not_rotate { + get { + return ResourceManager.GetString("Device_does_not_rotate", resourceCulture); + } + } + + internal static string Device_rotates_at_0_rpm { + get { + return ResourceManager.GetString("Device_rotates_at_0_rpm", resourceCulture); + } + } + + internal static string Physical_sector_size_0_bytes { + get { + return ResourceManager.GetString("Physical_sector_size_0_bytes", resourceCulture); + } + } + + internal static string Logical_sector_size_0_bytes { + get { + return ResourceManager.GetString("Logical_sector_size_0_bytes", resourceCulture); + } + } + + internal static string Logical_sector_starts_at_offset_0_from_physical_sector { + get { + return ResourceManager.GetString("Logical_sector_starts_at_offset_0_from_physical_sector", resourceCulture); + } + } + + internal static string Cylinders_0_max_1_current { + get { + return ResourceManager.GetString("Cylinders_0_max_1_current", resourceCulture); + } + } + + internal static string Heads_0_max_1_current { + get { + return ResourceManager.GetString("Heads_0_max_1_current", resourceCulture); + } + } + + internal static string Sectors_per_track_0_max_1_current { + get { + return ResourceManager.GetString("Sectors_per_track_0_max_1_current", resourceCulture); + } + } + + internal static string Sectors_addressable_in_CHS_mode_0_max_1_current { + get { + return ResourceManager.GetString("Sectors_addressable_in_CHS_mode_0_max_1_current", resourceCulture); + } + } + + internal static string Cylinders_0 { + get { + return ResourceManager.GetString("Cylinders_0", resourceCulture); + } + } + + internal static string Heads_0 { + get { + return ResourceManager.GetString("Heads_0", resourceCulture); + } + } + + internal static string Sectors_per_track_0 { + get { + return ResourceManager.GetString("Sectors_per_track_0", resourceCulture); + } + } + + internal static string Sectors_addressable_in_CHS_mode_0 { + get { + return ResourceManager.GetString("Sectors_addressable_in_CHS_mode_0", resourceCulture); + } + } + + internal static string _0_sectors_in_28_bit_LBA_mode { + get { + return ResourceManager.GetString("_0_sectors_in_28_bit_LBA_mode", resourceCulture); + } + } + + internal static string _0_sectors_in_48_bit_LBA_mode { + get { + return ResourceManager.GetString("_0_sectors_in_48_bit_LBA_mode", resourceCulture); + } + } + + internal static string Device_size_in_CHS_mode_0_bytes_1_Mb_2_MiB { + get { + return ResourceManager.GetString("Device_size_in_CHS_mode_0_bytes_1_Mb_2_MiB", resourceCulture); + } + } + + internal static string Device_size_in_28_bit_LBA_mode_0_bytes_1_Tb_2_TiB { + get { + return ResourceManager.GetString("Device_size_in_28_bit_LBA_mode_0_bytes_1_Tb_2_TiB", resourceCulture); + } + } + + internal static string Device_size_in_28_bit_LBA_mode_0_bytes_1_Gb_2_GiB { + get { + return ResourceManager.GetString("Device_size_in_28_bit_LBA_mode_0_bytes_1_Gb_2_GiB", resourceCulture); + } + } + + internal static string Device_size_in_28_bit_LBA_mode_0_bytes_1_Mb_2_MiB { + get { + return ResourceManager.GetString("Device_size_in_28_bit_LBA_mode_0_bytes_1_Mb_2_MiB", resourceCulture); + } + } + + internal static string Device_size_in_48_bit_LBA_mode_0_bytes_1_Tb_2_TiB { + get { + return ResourceManager.GetString("Device_size_in_48_bit_LBA_mode_0_bytes_1_Tb_2_TiB", resourceCulture); + } + } + + internal static string Device_size_in_48_bit_LBA_mode_0_bytes_1_Gb_2_GiB { + get { + return ResourceManager.GetString("Device_size_in_48_bit_LBA_mode_0_bytes_1_Gb_2_GiB", resourceCulture); + } + } + + internal static string Device_size_in_48_bit_LBA_mode_0_bytes_1_Mb_2_MiB { + get { + return ResourceManager.GetString("Device_size_in_48_bit_LBA_mode_0_bytes_1_Mb_2_MiB", resourceCulture); + } + } + + internal static string _0_sectors_in_card { + get { + return ResourceManager.GetString("_0_sectors_in_card", resourceCulture); + } + } + + internal static string _0_bytes_per_unformatted_track { + get { + return ResourceManager.GetString("_0_bytes_per_unformatted_track", resourceCulture); + } + } + + internal static string _0_bytes_per_unformatted_sector { + get { + return ResourceManager.GetString("_0_bytes_per_unformatted_sector", resourceCulture); + } + } + + internal static string Device_requires_SET_FEATURES_to_spin_up_and_IDENTIFY_DEVICE_response_is_incomplete { + get { + return ResourceManager.GetString("Device_requires_SET_FEATURES_to_spin_up_and_IDENTIFY_DEVICE_response_is_incomplet" + + "e", resourceCulture); + } + } + + internal static string Device_requires_SET_FEATURES_to_spin_up_and_IDENTIFY_DEVICE_response_is_complete { + get { + return ResourceManager.GetString("Device_requires_SET_FEATURES_to_spin_up_and_IDENTIFY_DEVICE_response_is_complete", resourceCulture); + } + } + + internal static string Device_does_not_require_SET_FEATURES_to_spin_up_and_IDENTIFY_DEVICE_response_is_incomplete { + get { + return ResourceManager.GetString("Device_does_not_require_SET_FEATURES_to_spin_up_and_IDENTIFY_DEVICE_response_is_i" + + "ncomplete", resourceCulture); + } + } + + internal static string Device_does_not_require_SET_FEATURES_to_spin_up_and_IDENTIFY_DEVICE_response_is_complete { + get { + return ResourceManager.GetString("Device_does_not_require_SET_FEATURES_to_spin_up_and_IDENTIFY_DEVICE_response_is_c" + + "omplete", resourceCulture); + } + } + + internal static string Unknown_device_specific_configuration_0 { + get { + return ResourceManager.GetString("Unknown_device_specific_configuration_0", resourceCulture); + } + } + + internal static string _0_KiB_of_single_ported_single_sector_buffer { + get { + return ResourceManager.GetString("_0_KiB_of_single_ported_single_sector_buffer", resourceCulture); + } + } + + internal static string _0_KiB_of_dual_ported_multi_sector_buffer { + get { + return ResourceManager.GetString("_0_KiB_of_dual_ported_multi_sector_buffer", resourceCulture); + } + } + + internal static string _0_KiB_of_dual_ported_multi_sector_buffer_with_read_caching { + get { + return ResourceManager.GetString("_0_KiB_of_dual_ported_multi_sector_buffer_with_read_caching", resourceCulture); + } + } + + internal static string _0_KiB_of_unknown_type_1_buffer { + get { + return ResourceManager.GetString("_0_KiB_of_unknown_type_1_buffer", resourceCulture); + } + } + + internal static string READ_WRITE_LONG_has_0_extra_bytes { + get { + return ResourceManager.GetString("READ_WRITE_LONG_has_0_extra_bytes", resourceCulture); + } + } + + internal static string Device_capabilities { + get { + return ResourceManager.GetString("Device_capabilities", resourceCulture); + } + } + + internal static string Standby_time_values_are_standard { + get { + return ResourceManager.GetString("Standby_time_values_are_standard", resourceCulture); + } + } + + internal static string IORDY_is_supported_and_can_be_disabled { + get { + return ResourceManager.GetString("IORDY_is_supported_and_can_be_disabled", resourceCulture); + } + } + + internal static string IORDY_is_supported { + get { + return ResourceManager.GetString("IORDY_is_supported", resourceCulture); + } + } + + internal static string DMA_is_supported { + get { + return ResourceManager.GetString("DMA_is_supported", resourceCulture); + } + } + + internal static string Device_indicates_a_specific_minimum_standby_timer_value { + get { + return ResourceManager.GetString("Device_indicates_a_specific_minimum_standby_timer_value", resourceCulture); + } + } + + internal static string A_maximum_of_0_sectors_can_be_transferred_per_interrupt_on_READ_WRITE_MULTIPLE { + get { + return ResourceManager.GetString("A_maximum_of_0_sectors_can_be_transferred_per_interrupt_on_READ_WRITE_MULTIPLE", resourceCulture); + } + } + + internal static string Device_supports_setting_a_maximum_of_0_sectors { + get { + return ResourceManager.GetString("Device_supports_setting_a_maximum_of_0_sectors", resourceCulture); + } + } + + internal static string Long_Physical_Alignment_setting_is_0 { + get { + return ResourceManager.GetString("Long_Physical_Alignment_setting_is_0", resourceCulture); + } + } + + internal static string Device_supports_doubleword_IO { + get { + return ResourceManager.GetString("Device_supports_doubleword_IO", resourceCulture); + } + } + + internal static string ATAPI_device_supports_interleaved_DMA { + get { + return ResourceManager.GetString("ATAPI_device_supports_interleaved_DMA", resourceCulture); + } + } + + internal static string ATAPI_device_supports_command_queueing { + get { + return ResourceManager.GetString("ATAPI_device_supports_command_queueing", resourceCulture); + } + } + + internal static string ATAPI_device_supports_overlapped_operations { + get { + return ResourceManager.GetString("ATAPI_device_supports_overlapped_operations", resourceCulture); + } + } + + internal static string ATAPI_device_requires_ATA_software_reset { + get { + return ResourceManager.GetString("ATAPI_device_requires_ATA_software_reset", resourceCulture); + } + } + + internal static string PIO_timing_mode_0 { + get { + return ResourceManager.GetString("PIO_timing_mode_0", resourceCulture); + } + } + + internal static string DMA_timing_mode_0 { + get { + return ResourceManager.GetString("DMA_timing_mode_0", resourceCulture); + } + } + + internal static string Advanced_PIO { + get { + return ResourceManager.GetString("Advanced_PIO", resourceCulture); + } + } + + internal static string Single_word_DMA { + get { + return ResourceManager.GetString("Single_word_DMA", resourceCulture); + } + } + + internal static string _active_ { + get { + return ResourceManager.GetString("_active_", resourceCulture); + } + } + + internal static string Multi_word_DMA { + get { + return ResourceManager.GetString("Multi_word_DMA", resourceCulture); + } + } + + internal static string Ultra_DMA { + get { + return ResourceManager.GetString("Ultra_DMA", resourceCulture); + } + } + + internal static string At_minimum_0_ns_transfer_cycle_time_per_word_in_MDMA_1_ns_recommended { + get { + return ResourceManager.GetString("At_minimum_0_ns_transfer_cycle_time_per_word_in_MDMA_1_ns_recommended", resourceCulture); + } + } + + internal static string At_minimum_0_ns_transfer_cycle_time_per_word_in_PIO_without_flow_control { + get { + return ResourceManager.GetString("At_minimum_0_ns_transfer_cycle_time_per_word_in_PIO_without_flow_control", resourceCulture); + } + } + + internal static string At_minimum_0_ns_transfer_cycle_time_per_word_in_PIO_with_IORDY_flow_control { + get { + return ResourceManager.GetString("At_minimum_0_ns_transfer_cycle_time_per_word_in_PIO_with_IORDY_flow_control", resourceCulture); + } + } + + internal static string _0_depth_of_queue_maximum { + get { + return ResourceManager.GetString("_0_depth_of_queue_maximum", resourceCulture); + } + } + + internal static string _0_ns_typical_to_release_bus_from_receipt_of_PACKET { + get { + return ResourceManager.GetString("_0_ns_typical_to_release_bus_from_receipt_of_PACKET", resourceCulture); + } + } + + internal static string _0_ns_typical_to_clear_BSY_bit_from_receipt_of_SERVICE { + get { + return ResourceManager.GetString("_0_ns_typical_to_clear_BSY_bit_from_receipt_of_SERVICE", resourceCulture); + } + } + + internal static string SATA_1_5Gbs_is_supported { + get { + return ResourceManager.GetString("SATA_1_5Gbs_is_supported", resourceCulture); + } + } + + internal static string SATA_3_0Gbs_is_supported { + get { + return ResourceManager.GetString("SATA_3_0Gbs_is_supported", resourceCulture); + } + } + + internal static string SATA_6_0Gbs_is_supported { + get { + return ResourceManager.GetString("SATA_6_0Gbs_is_supported", resourceCulture); + } + } + + internal static string Receipt_of_host_initiated_power_management_requests_is_supported { + get { + return ResourceManager.GetString("Receipt_of_host_initiated_power_management_requests_is_supported", resourceCulture); + } + } + + internal static string PHY_Event_counters_are_supported { + get { + return ResourceManager.GetString("PHY_Event_counters_are_supported", resourceCulture); + } + } + + internal static string Supports_host_automatic_partial_to_slumber_transitions_is_supported { + get { + return ResourceManager.GetString("Supports_host_automatic_partial_to_slumber_transitions_is_supported", resourceCulture); + } + } + + internal static string Supports_device_automatic_partial_to_slumber_transitions_is_supported { + get { + return ResourceManager.GetString("Supports_device_automatic_partial_to_slumber_transitions_is_supported", resourceCulture); + } + } + + internal static string NCQ_is_supported { + get { + return ResourceManager.GetString("NCQ_is_supported", resourceCulture); + } + } + + internal static string NCQ_priority_is_supported { + get { + return ResourceManager.GetString("NCQ_priority_is_supported", resourceCulture); + } + } + + internal static string Unload_is_supported_with_outstanding_NCQ_commands { + get { + return ResourceManager.GetString("Unload_is_supported_with_outstanding_NCQ_commands", resourceCulture); + } + } + + internal static string NCQ_queue_management_is_supported { + get { + return ResourceManager.GetString("NCQ_queue_management_is_supported", resourceCulture); + } + } + + internal static string NCQ_streaming_is_supported { + get { + return ResourceManager.GetString("NCQ_streaming_is_supported", resourceCulture); + } + } + + internal static string ATAPI_device_supports_host_environment_detection { + get { + return ResourceManager.GetString("ATAPI_device_supports_host_environment_detection", resourceCulture); + } + } + + internal static string ATAPI_device_supports_attention_on_slimline_connected_devices { + get { + return ResourceManager.GetString("ATAPI_device_supports_attention_on_slimline_connected_devices", resourceCulture); + } + } + + internal static string _0_microseconds_of_interseek_delay_for_ISO_7779_acoustic_testing { + get { + return ResourceManager.GetString("_0_microseconds_of_interseek_delay_for_ISO_7779_acoustic_testing", resourceCulture); + } + } + + internal static string Device_nominal_size_is_5_25 { + get { + return ResourceManager.GetString("Device_nominal_size_is_5_25", resourceCulture); + } + } + + internal static string Device_nominal_size_is_3_5 { + get { + return ResourceManager.GetString("Device_nominal_size_is_3_5", resourceCulture); + } + } + + internal static string Device_nominal_size_is_2_5 { + get { + return ResourceManager.GetString("Device_nominal_size_is_2_5", resourceCulture); + } + } + + internal static string Device_nominal_size_is_1_8 { + get { + return ResourceManager.GetString("Device_nominal_size_is_1_8", resourceCulture); + } + } + + internal static string Device_nominal_size_is_smaller_than_1_8 { + get { + return ResourceManager.GetString("Device_nominal_size_is_smaller_than_1_8", resourceCulture); + } + } + + internal static string Device_nominal_size_field_value_0_is_unknown { + get { + return ResourceManager.GetString("Device_nominal_size_field_value_0_is_unknown", resourceCulture); + } + } + + internal static string _0_bytes_count_limit_for_ATAPI { + get { + return ResourceManager.GetString("_0_bytes_count_limit_for_ATAPI", resourceCulture); + } + } + + internal static string CompactFlash_device_supports_power_mode_1 { + get { + return ResourceManager.GetString("CompactFlash_device_supports_power_mode_1", resourceCulture); + } + } + + internal static string CompactFlash_power_mode_1_required_for_one_or_more_commands { + get { + return ResourceManager.GetString("CompactFlash_power_mode_1_required_for_one_or_more_commands", resourceCulture); + } + } + + internal static string CompactFlash_power_mode_1_is_disabled { + get { + return ResourceManager.GetString("CompactFlash_power_mode_1_is_disabled", resourceCulture); + } + } + + internal static string CompactFlash_device_uses_a_maximum_of_0_mA { + get { + return ResourceManager.GetString("CompactFlash_device_uses_a_maximum_of_0_mA", resourceCulture); + } + } + + internal static string Command_set_and_features { + get { + return ResourceManager.GetString("Command_set_and_features", resourceCulture); + } + } + + internal static string NOP_is_supported_and_enabled { + get { + return ResourceManager.GetString("NOP_is_supported_and_enabled", resourceCulture); + } + } + + internal static string NOP_is_supported { + get { + return ResourceManager.GetString("NOP_is_supported", resourceCulture); + } + } + + internal static string READ_BUFFER_is_supported_and_enabled { + get { + return ResourceManager.GetString("READ_BUFFER_is_supported_and_enabled", resourceCulture); + } + } + + internal static string READ_BUFFER_is_supported { + get { + return ResourceManager.GetString("READ_BUFFER_is_supported", resourceCulture); + } + } + + internal static string WRITE_BUFFER_is_supported_and_enabled { + get { + return ResourceManager.GetString("WRITE_BUFFER_is_supported_and_enabled", resourceCulture); + } + } + + internal static string WRITE_BUFFER_is_supported { + get { + return ResourceManager.GetString("WRITE_BUFFER_is_supported", resourceCulture); + } + } + + internal static string Host_Protected_Area_is_supported_and_enabled { + get { + return ResourceManager.GetString("Host_Protected_Area_is_supported_and_enabled", resourceCulture); + } + } + + internal static string Host_Protected_Area_is_supported { + get { + return ResourceManager.GetString("Host_Protected_Area_is_supported", resourceCulture); + } + } + + internal static string DEVICE_RESET_is_supported_and_enabled { + get { + return ResourceManager.GetString("DEVICE_RESET_is_supported_and_enabled", resourceCulture); + } + } + + internal static string _ { + get { + return ResourceManager.GetString("", resourceCulture); + } + } + + internal static string SERVICE_interrupt_is_supported_and_enabled { + get { + return ResourceManager.GetString("SERVICE_interrupt_is_supported_and_enabled", resourceCulture); + } + } + + internal static string SERVICE_interrupt_is_supported { + get { + return ResourceManager.GetString("SERVICE_interrupt_is_supported", resourceCulture); + } + } + + internal static string Release_is_supported_and_enabled { + get { + return ResourceManager.GetString("Release_is_supported_and_enabled", resourceCulture); + } + } + + internal static string Release_is_supported { + get { + return ResourceManager.GetString("Release_is_supported", resourceCulture); + } + } + + internal static string Look_ahead_read_is_supported_and_enabled { + get { + return ResourceManager.GetString("Look_ahead_read_is_supported_and_enabled", resourceCulture); + } + } + + internal static string Look_ahead_read_is_supported { + get { + return ResourceManager.GetString("Look_ahead_read_is_supported", resourceCulture); + } + } + + internal static string Write_cache_is_supported_and_enabled { + get { + return ResourceManager.GetString("Write_cache_is_supported_and_enabled", resourceCulture); + } + } + + internal static string Write_cache_is_supported { + get { + return ResourceManager.GetString("Write_cache_is_supported", resourceCulture); + } + } + + internal static string PACKET_is_supported_and_enabled { + get { + return ResourceManager.GetString("PACKET_is_supported_and_enabled", resourceCulture); + } + } + + internal static string PACKET_is_supported { + get { + return ResourceManager.GetString("PACKET_is_supported", resourceCulture); + } + } + + internal static string Power_management_is_supported_and_enabled { + get { + return ResourceManager.GetString("Power_management_is_supported_and_enabled", resourceCulture); + } + } + + internal static string Power_management_is_supported { + get { + return ResourceManager.GetString("Power_management_is_supported", resourceCulture); + } + } + + internal static string Removable_media_feature_set_is_supported_and_enabled { + get { + return ResourceManager.GetString("Removable_media_feature_set_is_supported_and_enabled", resourceCulture); + } + } + + internal static string Removable_media_feature_set_is_supported { + get { + return ResourceManager.GetString("Removable_media_feature_set_is_supported", resourceCulture); + } + } + + internal static string Security_mode_is_supported_and_enabled { + get { + return ResourceManager.GetString("Security_mode_is_supported_and_enabled", resourceCulture); + } + } + + internal static string Security_mode_is_supported { + get { + return ResourceManager.GetString("Security_mode_is_supported", resourceCulture); + } + } + + internal static string _28_bit_LBA_is_supported { + get { + return ResourceManager.GetString("_28_bit_LBA_is_supported", resourceCulture); + } + } + + internal static string _48_bit_LBA_is_supported_and_enabled { + get { + return ResourceManager.GetString("_48_bit_LBA_is_supported_and_enabled", resourceCulture); + } + } + + internal static string _48_bit_LBA_is_supported { + get { + return ResourceManager.GetString("_48_bit_LBA_is_supported", resourceCulture); + } + } + + internal static string FLUSH_CACHE_is_supported_and_enabled { + get { + return ResourceManager.GetString("FLUSH_CACHE_is_supported_and_enabled", resourceCulture); + } + } + + internal static string FLUSH_CACHE_is_supported { + get { + return ResourceManager.GetString("FLUSH_CACHE_is_supported", resourceCulture); + } + } + + internal static string FLUSH_CACHE_EXT_is_supported_and_enabled { + get { + return ResourceManager.GetString("FLUSH_CACHE_EXT_is_supported_and_enabled", resourceCulture); + } + } + + internal static string FLUSH_CACHE_EXT_is_supported { + get { + return ResourceManager.GetString("FLUSH_CACHE_EXT_is_supported", resourceCulture); + } + } + + internal static string Device_Configuration_Overlay_feature_set_is_supported_and_enabled { + get { + return ResourceManager.GetString("Device_Configuration_Overlay_feature_set_is_supported_and_enabled", resourceCulture); + } + } + + internal static string Device_Configuration_Overlay_feature_set_is_supported { + get { + return ResourceManager.GetString("Device_Configuration_Overlay_feature_set_is_supported", resourceCulture); + } + } + + internal static string Automatic_Acoustic_Management_is_supported_and_enabled_with_value_0_vendor_recommends_1 { + get { + return ResourceManager.GetString("Automatic_Acoustic_Management_is_supported_and_enabled_with_value_0_vendor_recomm" + + "ends_1", resourceCulture); + } + } + + internal static string Automatic_Acoustic_Management_is_supported { + get { + return ResourceManager.GetString("Automatic_Acoustic_Management_is_supported", resourceCulture); + } + } + + internal static string SET_MAX_security_extension_is_supported_and_enabled { + get { + return ResourceManager.GetString("SET_MAX_security_extension_is_supported_and_enabled", resourceCulture); + } + } + + internal static string SET_MAX_security_extension_is_supported { + get { + return ResourceManager.GetString("SET_MAX_security_extension_is_supported", resourceCulture); + } + } + + internal static string Address_Offset_Reserved_Area_Boot_is_supported_and_enabled { + get { + return ResourceManager.GetString("Address_Offset_Reserved_Area_Boot_is_supported_and_enabled", resourceCulture); + } + } + + internal static string Address_Offset_Reserved_Area_Boot_is_supported { + get { + return ResourceManager.GetString("Address_Offset_Reserved_Area_Boot_is_supported", resourceCulture); + } + } + + internal static string SET_FEATURES_is_required_before_spin_up { + get { + return ResourceManager.GetString("SET_FEATURES_is_required_before_spin_up", resourceCulture); + } + } + + internal static string Power_up_in_standby_is_supported_and_enabled { + get { + return ResourceManager.GetString("Power_up_in_standby_is_supported_and_enabled", resourceCulture); + } + } + + internal static string Power_up_in_standby_is_supported { + get { + return ResourceManager.GetString("Power_up_in_standby_is_supported", resourceCulture); + } + } + + internal static string Removable_Media_Status_Notification_is_supported_and_enabled { + get { + return ResourceManager.GetString("Removable_Media_Status_Notification_is_supported_and_enabled", resourceCulture); + } + } + + internal static string Removable_Media_Status_Notification_is_supported { + get { + return ResourceManager.GetString("Removable_Media_Status_Notification_is_supported", resourceCulture); + } + } + + internal static string Advanced_Power_Management_is_supported_and_enabled_with_value_0 { + get { + return ResourceManager.GetString("Advanced_Power_Management_is_supported_and_enabled_with_value_0", resourceCulture); + } + } + + internal static string Advanced_Power_Management_is_supported { + get { + return ResourceManager.GetString("Advanced_Power_Management_is_supported", resourceCulture); + } + } + + internal static string CompactFlash_feature_set_is_supported_and_enabled { + get { + return ResourceManager.GetString("CompactFlash_feature_set_is_supported_and_enabled", resourceCulture); + } + } + + internal static string CompactFlash_feature_set_is_supported { + get { + return ResourceManager.GetString("CompactFlash_feature_set_is_supported", resourceCulture); + } + } + + internal static string READ_DMA_QUEUED_and_WRITE_DMA_QUEUED_are_supported_and_enabled { + get { + return ResourceManager.GetString("READ_DMA_QUEUED_and_WRITE_DMA_QUEUED_are_supported_and_enabled", resourceCulture); + } + } + + internal static string READ_DMA_QUEUED_and_WRITE_DMA_QUEUED_are_supported { + get { + return ResourceManager.GetString("READ_DMA_QUEUED_and_WRITE_DMA_QUEUED_are_supported", resourceCulture); + } + } + + internal static string DOWNLOAD_MICROCODE_is_supported_and_enabled { + get { + return ResourceManager.GetString("DOWNLOAD_MICROCODE_is_supported_and_enabled", resourceCulture); + } + } + + internal static string DOWNLOAD_MICROCODE_is_supported { + get { + return ResourceManager.GetString("DOWNLOAD_MICROCODE_is_supported", resourceCulture); + } + } + + internal static string SMART_is_supported_and_enabled { + get { + return ResourceManager.GetString("SMART_is_supported_and_enabled", resourceCulture); + } + } + + internal static string SMART_is_supported { + get { + return ResourceManager.GetString("SMART_is_supported", resourceCulture); + } + } + + internal static string SMART_Command_Transport_is_supported { + get { + return ResourceManager.GetString("SMART_Command_Transport_is_supported", resourceCulture); + } + } + + internal static string SMART_self_testing_is_supported_and_enabled { + get { + return ResourceManager.GetString("SMART_self_testing_is_supported_and_enabled", resourceCulture); + } + } + + internal static string SMART_self_testing_is_supported { + get { + return ResourceManager.GetString("SMART_self_testing_is_supported", resourceCulture); + } + } + + internal static string SMART_error_logging_is_supported_and_enabled { + get { + return ResourceManager.GetString("SMART_error_logging_is_supported_and_enabled", resourceCulture); + } + } + + internal static string SMART_error_logging_is_supported { + get { + return ResourceManager.GetString("SMART_error_logging_is_supported", resourceCulture); + } + } + + internal static string IDLE_IMMEDIATE_with_UNLOAD_FEATURE_is_supported_and_enabled { + get { + return ResourceManager.GetString("IDLE_IMMEDIATE_with_UNLOAD_FEATURE_is_supported_and_enabled", resourceCulture); + } + } + + internal static string IDLE_IMMEDIATE_with_UNLOAD_FEATURE_is_supported { + get { + return ResourceManager.GetString("IDLE_IMMEDIATE_with_UNLOAD_FEATURE_is_supported", resourceCulture); + } + } + + internal static string URG_bit_is_supported_in_WRITE_STREAM_DMA_EXT_and_WRITE_STREAM_EXT { + get { + return ResourceManager.GetString("URG_bit_is_supported_in_WRITE_STREAM_DMA_EXT_and_WRITE_STREAM_EXT", resourceCulture); + } + } + + internal static string URG_bit_is_supported_in_READ_STREAM_DMA_EXT_and_READ_STREAM_EXT { + get { + return ResourceManager.GetString("URG_bit_is_supported_in_READ_STREAM_DMA_EXT_and_READ_STREAM_EXT", resourceCulture); + } + } + + internal static string Device_has_a_World_Wide_Name { + get { + return ResourceManager.GetString("Device_has_a_World_Wide_Name", resourceCulture); + } + } + + internal static string WRITE_DMA_QUEUED_FUA_EXT_is_supported_and_enabled { + get { + return ResourceManager.GetString("WRITE_DMA_QUEUED_FUA_EXT_is_supported_and_enabled", resourceCulture); + } + } + + internal static string WRITE_DMA_QUEUED_FUA_EXT_is_supported { + get { + return ResourceManager.GetString("WRITE_DMA_QUEUED_FUA_EXT_is_supported", resourceCulture); + } + } + + internal static string WRITE_DMA_FUA_EXT_and_WRITE_MULTIPLE_FUA_EXT_are_supported_and_enabled { + get { + return ResourceManager.GetString("WRITE_DMA_FUA_EXT_and_WRITE_MULTIPLE_FUA_EXT_are_supported_and_enabled", resourceCulture); + } + } + + internal static string WRITE_DMA_FUA_EXT_and_WRITE_MULTIPLE_FUA_EXT_are_supported { + get { + return ResourceManager.GetString("WRITE_DMA_FUA_EXT_and_WRITE_MULTIPLE_FUA_EXT_are_supported", resourceCulture); + } + } + + internal static string General_Purpose_Logging_is_supported_and_enabled { + get { + return ResourceManager.GetString("General_Purpose_Logging_is_supported_and_enabled", resourceCulture); + } + } + + internal static string General_Purpose_Logging_is_supported { + get { + return ResourceManager.GetString("General_Purpose_Logging_is_supported", resourceCulture); + } + } + + internal static string Streaming_feature_set_is_supported_and_enabled { + get { + return ResourceManager.GetString("Streaming_feature_set_is_supported_and_enabled", resourceCulture); + } + } + + internal static string Streaming_feature_set_is_supported { + get { + return ResourceManager.GetString("Streaming_feature_set_is_supported", resourceCulture); + } + } + + internal static string Media_Card_Pass_Through_command_set_is_supported_and_enabled { + get { + return ResourceManager.GetString("Media_Card_Pass_Through_command_set_is_supported_and_enabled", resourceCulture); + } + } + + internal static string Media_Card_Pass_Through_command_set_is_supported { + get { + return ResourceManager.GetString("Media_Card_Pass_Through_command_set_is_supported", resourceCulture); + } + } + + internal static string Media_Serial_is_supported_and_valid { + get { + return ResourceManager.GetString("Media_Serial_is_supported_and_valid", resourceCulture); + } + } + + internal static string Media_Serial_is_supported { + get { + return ResourceManager.GetString("Media_Serial_is_supported", resourceCulture); + } + } + + internal static string DSN_feature_set_is_supported_and_enabled { + get { + return ResourceManager.GetString("DSN_feature_set_is_supported_and_enabled", resourceCulture); + } + } + + internal static string DSN_feature_set_is_supported { + get { + return ResourceManager.GetString("DSN_feature_set_is_supported", resourceCulture); + } + } + + internal static string Accessible_Max_Address_Configuration_is_supported_and_enabled { + get { + return ResourceManager.GetString("Accessible_Max_Address_Configuration_is_supported_and_enabled", resourceCulture); + } + } + + internal static string Accessible_Max_Address_Configuration_is_supported { + get { + return ResourceManager.GetString("Accessible_Max_Address_Configuration_is_supported", resourceCulture); + } + } + + internal static string Extended_Power_Conditions_are_supported_and_enabled { + get { + return ResourceManager.GetString("Extended_Power_Conditions_are_supported_and_enabled", resourceCulture); + } + } + + internal static string Extended_Power_Conditions_are_supported { + get { + return ResourceManager.GetString("Extended_Power_Conditions_are_supported", resourceCulture); + } + } + + internal static string Extended_Status_Reporting_is_supported_and_enabled { + get { + return ResourceManager.GetString("Extended_Status_Reporting_is_supported_and_enabled", resourceCulture); + } + } + + internal static string Extended_Status_Reporting_is_supported { + get { + return ResourceManager.GetString("Extended_Status_Reporting_is_supported", resourceCulture); + } + } + + internal static string Free_fall_control_feature_set_is_supported_and_enabled { + get { + return ResourceManager.GetString("Free_fall_control_feature_set_is_supported_and_enabled", resourceCulture); + } + } + + internal static string Free_fall_control_feature_set_is_supported { + get { + return ResourceManager.GetString("Free_fall_control_feature_set_is_supported", resourceCulture); + } + } + + internal static string Segmented_feature_in_DOWNLOAD_MICROCODE_is_supported_and_enabled { + get { + return ResourceManager.GetString("Segmented_feature_in_DOWNLOAD_MICROCODE_is_supported_and_enabled", resourceCulture); + } + } + + internal static string Segmented_feature_in_DOWNLOAD_MICROCODE_is_supported { + get { + return ResourceManager.GetString("Segmented_feature_in_DOWNLOAD_MICROCODE_is_supported", resourceCulture); + } + } + + internal static string READ_WRITE_DMA_EXT_GPL_are_supported_and_enabled { + get { + return ResourceManager.GetString("READ_WRITE_DMA_EXT_GPL_are_supported_and_enabled", resourceCulture); + } + } + + internal static string READ_WRITE_DMA_EXT_GPL_are_supported { + get { + return ResourceManager.GetString("READ_WRITE_DMA_EXT_GPL_are_supported", resourceCulture); + } + } + + internal static string WRITE_UNCORRECTABLE_is_supported_and_enabled { + get { + return ResourceManager.GetString("WRITE_UNCORRECTABLE_is_supported_and_enabled", resourceCulture); + } + } + + internal static string WRITE_UNCORRECTABLE_is_supported { + get { + return ResourceManager.GetString("WRITE_UNCORRECTABLE_is_supported", resourceCulture); + } + } + + internal static string Write_Read_Verify_is_supported_and_enabled { + get { + return ResourceManager.GetString("Write_Read_Verify_is_supported_and_enabled", resourceCulture); + } + } + + internal static string Write_Read_Verify_is_supported { + get { + return ResourceManager.GetString("Write_Read_Verify_is_supported", resourceCulture); + } + } + + internal static string _0_sectors_for_Write_Read_Verify_mode_three { + get { + return ResourceManager.GetString("_0_sectors_for_Write_Read_Verify_mode_three", resourceCulture); + } + } + + internal static string _0_sectors_for_Write_Read_Verify_mode_two { + get { + return ResourceManager.GetString("_0_sectors_for_Write_Read_Verify_mode_two", resourceCulture); + } + } + + internal static string Current_Write_Read_Verify_mode_0 { + get { + return ResourceManager.GetString("Current_Write_Read_Verify_mode_0", resourceCulture); + } + } + + internal static string DT1825_is_supported_and_enabled { + get { + return ResourceManager.GetString("DT1825_is_supported_and_enabled", resourceCulture); + } + } + + internal static string DT1825_is_supported { + get { + return ResourceManager.GetString("DT1825_is_supported", resourceCulture); + } + } + + internal static string BLOCK_ERASE_EXT_is_supported { + get { + return ResourceManager.GetString("BLOCK_ERASE_EXT_is_supported", resourceCulture); + } + } + + internal static string OVERWRITE_EXT_is_supported { + get { + return ResourceManager.GetString("OVERWRITE_EXT_is_supported", resourceCulture); + } + } + + internal static string CRYPTO_SCRAMBLE_EXT_is_supported { + get { + return ResourceManager.GetString("CRYPTO_SCRAMBLE_EXT_is_supported", resourceCulture); + } + } + + internal static string DEVICE_CONFIGURATION_IDENTIFY_DMA_and_DEVICE_CONFIGURATION_SET_DMA_are_supported { + get { + return ResourceManager.GetString("DEVICE_CONFIGURATION_IDENTIFY_DMA_and_DEVICE_CONFIGURATION_SET_DMA_are_supported", resourceCulture); + } + } + + internal static string READ_BUFFER_DMA_is_supported { + get { + return ResourceManager.GetString("READ_BUFFER_DMA_is_supported", resourceCulture); + } + } + + internal static string WRITE_BUFFER_DMA_is_supported { + get { + return ResourceManager.GetString("WRITE_BUFFER_DMA_is_supported", resourceCulture); + } + } + + internal static string DOWNLOAD_MICROCODE_DMA_is_supported { + get { + return ResourceManager.GetString("DOWNLOAD_MICROCODE_DMA_is_supported", resourceCulture); + } + } + + internal static string SET_PASSWORD_DMA_and_SET_UNLOCK_DMA_are_supported { + get { + return ResourceManager.GetString("SET_PASSWORD_DMA_and_SET_UNLOCK_DMA_are_supported", resourceCulture); + } + } + + internal static string Not_all_28_bit_commands_are_supported { + get { + return ResourceManager.GetString("Not_all_28_bit_commands_are_supported", resourceCulture); + } + } + + internal static string Device_follows_CFast_specification { + get { + return ResourceManager.GetString("Device_follows_CFast_specification", resourceCulture); + } + } + + internal static string Device_follows_IEEE_1667 { + get { + return ResourceManager.GetString("Device_follows_IEEE_1667", resourceCulture); + } + } + + internal static string Read_after_TRIM_is_deterministic { + get { + return ResourceManager.GetString("Read_after_TRIM_is_deterministic", resourceCulture); + } + } + + internal static string Read_after_TRIM_returns_empty_data { + get { + return ResourceManager.GetString("Read_after_TRIM_returns_empty_data", resourceCulture); + } + } + + internal static string Device_supports_Long_Physical_Sector_Alignment_Error_Reporting_Control { + get { + return ResourceManager.GetString("Device_supports_Long_Physical_Sector_Alignment_Error_Reporting_Control", resourceCulture); + } + } + + internal static string Device_encrypts_all_user_data { + get { + return ResourceManager.GetString("Device_encrypts_all_user_data", resourceCulture); + } + } + + internal static string Device_s_write_cache_is_non_volatile { + get { + return ResourceManager.GetString("Device_s_write_cache_is_non_volatile", resourceCulture); + } + } + + internal static string Device_is_zoned { + get { + return ResourceManager.GetString("Device_is_zoned", resourceCulture); + } + } + + internal static string Sanitize_feature_set_is_supported { + get { + return ResourceManager.GetString("Sanitize_feature_set_is_supported", resourceCulture); + } + } + + internal static string Sanitize_commands_are_specified_by_ACS_3_or_higher { + get { + return ResourceManager.GetString("Sanitize_commands_are_specified_by_ACS_3_or_higher", resourceCulture); + } + } + + internal static string Sanitize_commands_are_specified_by_ACS_2 { + get { + return ResourceManager.GetString("Sanitize_commands_are_specified_by_ACS_2", resourceCulture); + } + } + + internal static string SANITIZE_ANTIFREEZE_LOCK_EXT_is_supported { + get { + return ResourceManager.GetString("SANITIZE_ANTIFREEZE_LOCK_EXT_is_supported", resourceCulture); + } + } + + internal static string Trusted_Computing_feature_set_is_supported { + get { + return ResourceManager.GetString("Trusted_Computing_feature_set_is_supported", resourceCulture); + } + } + + internal static string READ_LOG_DMA_EXT_is_supported { + get { + return ResourceManager.GetString("READ_LOG_DMA_EXT_is_supported", resourceCulture); + } + } + + internal static string RECEIVE_FPDMA_QUEUED_and_SEND_FPDMA_QUEUED_are_supported { + get { + return ResourceManager.GetString("RECEIVE_FPDMA_QUEUED_and_SEND_FPDMA_QUEUED_are_supported", resourceCulture); + } + } + + internal static string Non_zero_buffer_offsets_are_supported_and_enabled { + get { + return ResourceManager.GetString("Non_zero_buffer_offsets_are_supported_and_enabled", resourceCulture); + } + } + + internal static string Non_zero_buffer_offsets_are_supported { + get { + return ResourceManager.GetString("Non_zero_buffer_offsets_are_supported", resourceCulture); + } + } + + internal static string DMA_Setup_auto_activation_is_supported_and_enabled { + get { + return ResourceManager.GetString("DMA_Setup_auto_activation_is_supported_and_enabled", resourceCulture); + } + } + + internal static string DMA_Setup_auto_activation_is_supported { + get { + return ResourceManager.GetString("DMA_Setup_auto_activation_is_supported", resourceCulture); + } + } + + internal static string Device_initiated_power_management_is_supported_and_enabled { + get { + return ResourceManager.GetString("Device_initiated_power_management_is_supported_and_enabled", resourceCulture); + } + } + + internal static string Device_initiated_power_management_is_supported { + get { + return ResourceManager.GetString("Device_initiated_power_management_is_supported", resourceCulture); + } + } + + internal static string In_order_data_delivery_is_supported_and_enabled { + get { + return ResourceManager.GetString("In_order_data_delivery_is_supported_and_enabled", resourceCulture); + } + } + + internal static string In_order_data_delivery_is_supported { + get { + return ResourceManager.GetString("In_order_data_delivery_is_supported", resourceCulture); + } + } + + internal static string Hardware_Feature_Control_is_supported_and_enabled { + get { + return ResourceManager.GetString("Hardware_Feature_Control_is_supported_and_enabled", resourceCulture); + } + } + + internal static string Hardware_Feature_Control_is_supported { + get { + return ResourceManager.GetString("Hardware_Feature_Control_is_supported", resourceCulture); + } + } + + internal static string Asynchronous_notification_is_supported_and_enabled { + get { + return ResourceManager.GetString("Asynchronous_notification_is_supported_and_enabled", resourceCulture); + } + } + + internal static string Asynchronous_notification_is_supported { + get { + return ResourceManager.GetString("Asynchronous_notification_is_supported", resourceCulture); + } + } + + internal static string Software_Settings_Preservation_is_supported_and_enabled { + get { + return ResourceManager.GetString("Software_Settings_Preservation_is_supported_and_enabled", resourceCulture); + } + } + + internal static string Software_Settings_Preservation_is_supported { + get { + return ResourceManager.GetString("Software_Settings_Preservation_is_supported", resourceCulture); + } + } + + internal static string NCQ_Autosense_is_supported { + get { + return ResourceManager.GetString("NCQ_Autosense_is_supported", resourceCulture); + } + } + + internal static string Automatic_Partial_to_Slumber_transitions_are_enabled { + get { + return ResourceManager.GetString("Automatic_Partial_to_Slumber_transitions_are_enabled", resourceCulture); + } + } + + internal static string Removable_Media_Status_Notification_feature_set_is_supported { + get { + return ResourceManager.GetString("Removable_Media_Status_Notification_feature_set_is_supported", resourceCulture); + } + } + + internal static string Free_fall_sensitivity_set_to_0 { + get { + return ResourceManager.GetString("Free_fall_sensitivity_set_to_0", resourceCulture); + } + } + + internal static string DATA_SET_MANAGEMENT_can_receive_a_maximum_of_0_blocks_of_512_bytes { + get { + return ResourceManager.GetString("DATA_SET_MANAGEMENT_can_receive_a_maximum_of_0_blocks_of_512_bytes", resourceCulture); + } + } + + internal static string Security { + get { + return ResourceManager.GetString("Security", resourceCulture); + } + } + + internal static string Security_is_enabled { + get { + return ResourceManager.GetString("Security_is_enabled", resourceCulture); + } + } + + internal static string Security_is_locked { + get { + return ResourceManager.GetString("Security_is_locked", resourceCulture); + } + } + + internal static string Security_is_not_locked { + get { + return ResourceManager.GetString("Security_is_not_locked", resourceCulture); + } + } + + internal static string Security_is_frozen { + get { + return ResourceManager.GetString("Security_is_frozen", resourceCulture); + } + } + + internal static string Security_is_not_frozen { + get { + return ResourceManager.GetString("Security_is_not_frozen", resourceCulture); + } + } + + internal static string Security_count_has_expired { + get { + return ResourceManager.GetString("Security_count_has_expired", resourceCulture); + } + } + + internal static string Security_count_has_not_expired { + get { + return ResourceManager.GetString("Security_count_has_not_expired", resourceCulture); + } + } + + internal static string Security_level_is_maximum { + get { + return ResourceManager.GetString("Security_level_is_maximum", resourceCulture); + } + } + + internal static string Security_level_is_high { + get { + return ResourceManager.GetString("Security_level_is_high", resourceCulture); + } + } + + internal static string Security_is_not_enabled { + get { + return ResourceManager.GetString("Security_is_not_enabled", resourceCulture); + } + } + + internal static string Supports_enhanced_security_erase { + get { + return ResourceManager.GetString("Supports_enhanced_security_erase", resourceCulture); + } + } + + internal static string _0_minutes_to_complete_secure_erase { + get { + return ResourceManager.GetString("_0_minutes_to_complete_secure_erase", resourceCulture); + } + } + + internal static string _0_minutes_to_complete_enhanced_secure_erase { + get { + return ResourceManager.GetString("_0_minutes_to_complete_enhanced_secure_erase", resourceCulture); + } + } + + internal static string Master_password_revision_code_0 { + get { + return ResourceManager.GetString("Master_password_revision_code_0", resourceCulture); + } + } + + internal static string Streaming { + get { + return ResourceManager.GetString("Streaming", resourceCulture); + } + } + + internal static string Minimum_request_size_is_0 { + get { + return ResourceManager.GetString("Minimum_request_size_is_0", resourceCulture); + } + } + + internal static string Streaming_transfer_time_in_PIO_is_0 { + get { + return ResourceManager.GetString("Streaming_transfer_time_in_PIO_is_0", resourceCulture); + } + } + + internal static string Streaming_transfer_time_in_DMA_is_0 { + get { + return ResourceManager.GetString("Streaming_transfer_time_in_DMA_is_0", resourceCulture); + } + } + + internal static string Streaming_access_latency_is_0 { + get { + return ResourceManager.GetString("Streaming_access_latency_is_0", resourceCulture); + } + } + + internal static string Streaming_performance_granularity_is_0 { + get { + return ResourceManager.GetString("Streaming_performance_granularity_is_0", resourceCulture); + } + } + + internal static string SMART_Command_Transport_SCT { + get { + return ResourceManager.GetString("SMART_Command_Transport_SCT", resourceCulture); + } + } + + internal static string SCT_Long_Sector_Address_is_supported { + get { + return ResourceManager.GetString("SCT_Long_Sector_Address_is_supported", resourceCulture); + } + } + + internal static string SCT_Write_Same_is_supported { + get { + return ResourceManager.GetString("SCT_Write_Same_is_supported", resourceCulture); + } + } + + internal static string SCT_Error_Recovery_Control_is_supported { + get { + return ResourceManager.GetString("SCT_Error_Recovery_Control_is_supported", resourceCulture); + } + } + + internal static string SCT_Features_Control_is_supported { + get { + return ResourceManager.GetString("SCT_Features_Control_is_supported", resourceCulture); + } + } + + internal static string SCT_Data_Tables_are_supported { + get { + return ResourceManager.GetString("SCT_Data_Tables_are_supported", resourceCulture); + } + } + + internal static string Non_Volatile_Cache { + get { + return ResourceManager.GetString("Non_Volatile_Cache", resourceCulture); + } + } + + internal static string Version_0 { + get { + return ResourceManager.GetString("Version_0", resourceCulture); + } + } + + internal static string Power_mode_feature_set_is_supported_and_enabled { + get { + return ResourceManager.GetString("Power_mode_feature_set_is_supported_and_enabled", resourceCulture); + } + } + + internal static string Power_mode_feature_set_is_supported { + get { + return ResourceManager.GetString("Power_mode_feature_set_is_supported", resourceCulture); + } + } + + internal static string Non_Volatile_Cache_is_0_bytes { + get { + return ResourceManager.GetString("Non_Volatile_Cache_is_0_bytes", resourceCulture); + } + } + + internal static string Word_nine_0 { + get { + return ResourceManager.GetString("Word_nine_0", resourceCulture); + } + } + + internal static string Word_47_bits_15_to_8_0 { + get { + return ResourceManager.GetString("Word_47_bits_15_to_8_0", resourceCulture); + } + } + + internal static string Word_51_bits_7_to_0_0 { + get { + return ResourceManager.GetString("Word_51_bits_7_to_0_0", resourceCulture); + } + } + + internal static string Word_52_bits_7_to_0_0 { + get { + return ResourceManager.GetString("Word_52_bits_7_to_0_0", resourceCulture); + } + } + + internal static string Word_64_bits_15_to_8_0 { + get { + return ResourceManager.GetString("Word_64_bits_15_to_8_0", resourceCulture); + } + } + + internal static string Word_70_0 { + get { + return ResourceManager.GetString("Word_70_0", resourceCulture); + } + } + + internal static string Word_73_0 { + get { + return ResourceManager.GetString("Word_73_0", resourceCulture); + } + } + + internal static string Word_74_0 { + get { + return ResourceManager.GetString("Word_74_0", resourceCulture); + } + } + + internal static string Word_116_0 { + get { + return ResourceManager.GetString("Word_116_0", resourceCulture); + } + } + + internal static string Word_1_0 { + get { + return ResourceManager.GetString("Word_1_0", resourceCulture); + } + } + + internal static string Word_1_CFA_0 { + get { + return ResourceManager.GetString("Word_1_CFA_0", resourceCulture); + } + } + + internal static string Word_174_0 { + get { + return ResourceManager.GetString("Word_174_0", resourceCulture); + } + } + + internal static string Word_175_0 { + get { + return ResourceManager.GetString("Word_175_0", resourceCulture); + } + } + + internal static string Word_207_CE_ATA_0 { + get { + return ResourceManager.GetString("Word_207_CE_ATA_0", resourceCulture); + } + } + + internal static string Word_208_CE_ATA_0 { + get { + return ResourceManager.GetString("Word_208_CE_ATA_0", resourceCulture); + } + } + + internal static string Word_219_bits_15_to_8_0 { + get { + return ResourceManager.GetString("Word_219_bits_15_to_8_0", resourceCulture); + } + } + + internal static string Word_220_bits_15_to_8_0 { + get { + return ResourceManager.GetString("Word_220_bits_15_to_8_0", resourceCulture); + } + } + + internal static string Word_221_0 { + get { + return ResourceManager.GetString("Word_221_0", resourceCulture); + } + } + + internal static string Word_1_CE_ATA_0 { + get { + return ResourceManager.GetString("Word_1_CE_ATA_0", resourceCulture); + } + } + + internal static string Found_incorrect_Blu_ray_BCA_size_0_bytes { + get { + return ResourceManager.GetString("Found_incorrect_Blu_ray_BCA_size_0_bytes", resourceCulture); + } + } + + internal static string Reserved1_equals_0_X8 { + get { + return ResourceManager.GetString("Reserved1_equals_0_X8", resourceCulture); + } + } + + internal static string Reserved2_equals_0_X8 { + get { + return ResourceManager.GetString("Reserved2_equals_0_X8", resourceCulture); + } + } + + internal static string Blu_ray_Burst_Cutting_Area_in_hex_follows { + get { + return ResourceManager.GetString("Blu_ray_Burst_Cutting_Area_in_hex_follows", resourceCulture); + } + } + + internal static string Found_incorrect_Blu_ray_Cartridge_Status_size_0_bytes { + get { + return ResourceManager.GetString("Found_incorrect_Blu_ray_Cartridge_Status_size_0_bytes", resourceCulture); + } + } + + internal static string Reserved3_equals_0_X8 { + get { + return ResourceManager.GetString("Reserved3_equals_0_X8", resourceCulture); + } + } + + internal static string Reserved4_equals_0_X8 { + get { + return ResourceManager.GetString("Reserved4_equals_0_X8", resourceCulture); + } + } + + internal static string Reserved5_equals_0_X8 { + get { + return ResourceManager.GetString("Reserved5_equals_0_X8", resourceCulture); + } + } + + internal static string Reserved6_equals_0_X8 { + get { + return ResourceManager.GetString("Reserved6_equals_0_X8", resourceCulture); + } + } + + internal static string Reserved7_equals_0_X8 { + get { + return ResourceManager.GetString("Reserved7_equals_0_X8", resourceCulture); + } + } + + internal static string Media_is_inserted_in_a_cartridge { + get { + return ResourceManager.GetString("Media_is_inserted_in_a_cartridge", resourceCulture); + } + } + + internal static string Media_has_been_taken_out_or_inserted_in_the_cartridge { + get { + return ResourceManager.GetString("Media_has_been_taken_out_or_inserted_in_the_cartridge", resourceCulture); + } + } + + internal static string Media_is_write_protected { + get { + return ResourceManager.GetString("Media_is_write_protected", resourceCulture); + } + } + + internal static string Media_is_not_in_a_cartridge { + get { + return ResourceManager.GetString("Media_is_not_in_a_cartridge", resourceCulture); + } + } + + internal static string Media_has_out_bit_marked_shouldnt { + get { + return ResourceManager.GetString("Media_has_out_bit_marked_shouldnt", resourceCulture); + } + } + + internal static string Media_has_write_protection_bit_marked_shouldnt { + get { + return ResourceManager.GetString("Media_has_write_protection_bit_marked_shouldnt", resourceCulture); + } + } + + internal static string Found_incorrect_DDS_signature_0 { + get { + return ResourceManager.GetString("Found_incorrect_DDS_signature_0", resourceCulture); + } + } + + internal static string DDS_Format_0 { + get { + return ResourceManager.GetString("DDS_Format_0", resourceCulture); + } + } + + internal static string DDS_has_ben_updated_0_times { + get { + return ResourceManager.GetString("DDS_has_ben_updated_0_times", resourceCulture); + } + } + + internal static string First_PSN_of_Drive_Area_0 { + get { + return ResourceManager.GetString("First_PSN_of_Drive_Area_0", resourceCulture); + } + } + + internal static string First_PSN_of_Defect_List_0 { + get { + return ResourceManager.GetString("First_PSN_of_Defect_List_0", resourceCulture); + } + } + + internal static string PSN_of_User_Data_Areas_LSN_0_0 { + get { + return ResourceManager.GetString("PSN_of_User_Data_Areas_LSN_0_0", resourceCulture); + } + } + + internal static string Last_User_Data_Areas_LSN_0_0 { + get { + return ResourceManager.GetString("Last_User_Data_Areas_LSN_0_0", resourceCulture); + } + } + + internal static string ISA0_size_0 { + get { + return ResourceManager.GetString("ISA0_size_0", resourceCulture); + } + } + + internal static string OSA_size_0 { + get { + return ResourceManager.GetString("OSA_size_0", resourceCulture); + } + } + + internal static string ISA1_size_0 { + get { + return ResourceManager.GetString("ISA1_size_0", resourceCulture); + } + } + + internal static string Spare_Area_Full_Flags_0 { + get { + return ResourceManager.GetString("Spare_Area_Full_Flags_0", resourceCulture); + } + } + + internal static string Disc_Type_Specific_Field_1_0 { + get { + return ResourceManager.GetString("Disc_Type_Specific_Field_1_0", resourceCulture); + } + } + + internal static string Disc_Type_Specific_Field_2_0 { + get { + return ResourceManager.GetString("Disc_Type_Specific_Field_2_0", resourceCulture); + } + } + + internal static string Blu_ray_DDS_Status_Bits_in_hex_follows { + get { + return ResourceManager.GetString("Blu_ray_DDS_Status_Bits_in_hex_follows", resourceCulture); + } + } + + internal static string Blu_ray_DDS_Disc_Type_Specific_Data_in_hex_follows { + get { + return ResourceManager.GetString("Blu_ray_DDS_Disc_Type_Specific_Data_in_hex_follows", resourceCulture); + } + } + + internal static string Reserved_3_equals_0_X2 { + get { + return ResourceManager.GetString("Reserved_3_equals_0_X2", resourceCulture); + } + } + + internal static string Reserved4_equals_0_X16 { + get { + return ResourceManager.GetString("Reserved4_equals_0_X16", resourceCulture); + } + } + + internal static string Reserved7_equals_0_X2 { + get { + return ResourceManager.GetString("Reserved7_equals_0_X2", resourceCulture); + } + } + + internal static string Reserved8_equals_0_X2 { + get { + return ResourceManager.GetString("Reserved8_equals_0_X2", resourceCulture); + } + } + + internal static string Reserved9_equals_0_X8 { + get { + return ResourceManager.GetString("Reserved9_equals_0_X8", resourceCulture); + } + } + + internal static string Blu_ray_DI_Unit_format_dependent_contents_as_hex_follows { + get { + return ResourceManager.GetString("Blu_ray_DI_Unit_format_dependent_contents_as_hex_follows", resourceCulture); + } + } + + internal static string Disc_product_revision_number_0 { + get { + return ResourceManager.GetString("Disc_product_revision_number_0", resourceCulture); + } + } + + internal static string Disc_timestamp_0 { + get { + return ResourceManager.GetString("Disc_timestamp_0", resourceCulture); + } + } + + internal static string Disc_media_type_ID_0 { + get { + return ResourceManager.GetString("Disc_media_type_ID_0", resourceCulture); + } + } + + internal static string Disc_manufacturer_ID_0 { + get { + return ResourceManager.GetString("Disc_manufacturer_ID_0", resourceCulture); + } + } + + internal static string Last_address_unit_number_of_data_zone_in_this_layer_0 { + get { + return ResourceManager.GetString("Last_address_unit_number_of_data_zone_in_this_layer_0", resourceCulture); + } + } + + internal static string First_address_unit_number_of_data_zone_in_this_layer_0 { + get { + return ResourceManager.GetString("First_address_unit_number_of_data_zone_in_this_layer_0", resourceCulture); + } + } + + internal static string Last_user_data_PSN_for_disc_0 { + get { + return ResourceManager.GetString("Last_user_data_PSN_for_disc_0", resourceCulture); + } + } + + internal static string Disc_does_not_specify_a_maximum_transfer_rate { + get { + return ResourceManager.GetString("Disc_does_not_specify_a_maximum_transfer_rate", resourceCulture); + } + } + + internal static string Disc_has_a_maximum_transfer_rate_of_0_Mbit_sec { + get { + return ResourceManager.GetString("Disc_has_a_maximum_transfer_rate_of_0_Mbit_sec", resourceCulture); + } + } + + internal static string Disc_uses_unknown_BCA_code_0 { + get { + return ResourceManager.GetString("Disc_uses_unknown_BCA_code_0", resourceCulture); + } + } + + internal static string Disc_has_a_BCA { + get { + return ResourceManager.GetString("Disc_has_a_BCA", resourceCulture); + } + } + + internal static string Disc_doesn_t_have_a_BCA { + get { + return ResourceManager.GetString("Disc_doesn_t_have_a_BCA", resourceCulture); + } + } + + internal static string Disc_uses_unknown_recorded_reflectivity_polarity_with_code_0 { + get { + return ResourceManager.GetString("Disc_uses_unknown_recorded_reflectivity_polarity_with_code_0", resourceCulture); + } + } + + internal static string Recorded_marks_have_a_higher_reflectivity_than_unrecorded_ones_LTH_disc { + get { + return ResourceManager.GetString("Recorded_marks_have_a_higher_reflectivity_than_unrecorded_ones_LTH_disc", resourceCulture); + } + } + + internal static string Recorded_marks_have_a_lower_reflectivity_than_unrecorded_ones_HTL_disc { + get { + return ResourceManager.GetString("Recorded_marks_have_a_lower_reflectivity_than_unrecorded_ones_HTL_disc", resourceCulture); + } + } + + internal static string Disc_uses_unknown_polarity_with_code_0 { + get { + return ResourceManager.GetString("Disc_uses_unknown_polarity_with_code_0", resourceCulture); + } + } + + internal static string Disc_uses_negative_polarity { + get { + return ResourceManager.GetString("Disc_uses_negative_polarity", resourceCulture); + } + } + + internal static string Disc_uses_positive_polarity { + get { + return ResourceManager.GetString("Disc_uses_positive_polarity", resourceCulture); + } + } + + internal static string Disc_uses_unknown_channel_length_with_code_0 { + get { + return ResourceManager.GetString("Disc_uses_unknown_channel_length_with_code_0", resourceCulture); + } + } + + internal static string Disc_uses_a_69_0nm_channel_giving_27_Gb_per_layer { + get { + return ResourceManager.GetString("Disc_uses_a_69_0nm_channel_giving_27_Gb_per_layer", resourceCulture); + } + } + + internal static string Disc_uses_a_74_5nm_channel_giving_25_Gb_per_layer { + get { + return ResourceManager.GetString("Disc_uses_a_74_5nm_channel_giving_25_Gb_per_layer", resourceCulture); + } + } + + internal static string This_disc_contains_a_CD_RW_layer { + get { + return ResourceManager.GetString("This_disc_contains_a_CD_RW_layer", resourceCulture); + } + } + + internal static string This_disc_contains_a_CD_R_layer { + get { + return ResourceManager.GetString("This_disc_contains_a_CD_R_layer", resourceCulture); + } + } + + internal static string This_disc_contains_a_CD_ROM_layer { + get { + return ResourceManager.GetString("This_disc_contains_a_CD_ROM_layer", resourceCulture); + } + } + + internal static string This_disc_does_not_contain_a_CD_layer { + get { + return ResourceManager.GetString("This_disc_does_not_contain_a_CD_layer", resourceCulture); + } + } + + internal static string This_disc_contains_a_DVD_RW_layer { + get { + return ResourceManager.GetString("This_disc_contains_a_DVD_RW_layer", resourceCulture); + } + } + + internal static string This_disc_contains_a_DVD_R_layer { + get { + return ResourceManager.GetString("This_disc_contains_a_DVD_R_layer", resourceCulture); + } + } + + internal static string This_disc_contains_a_DVD_ROM_layer { + get { + return ResourceManager.GetString("This_disc_contains_a_DVD_ROM_layer", resourceCulture); + } + } + + internal static string This_disc_does_not_contain_a_DVD_layer { + get { + return ResourceManager.GetString("This_disc_does_not_contain_a_DVD_layer", resourceCulture); + } + } + + internal static string This_disc_has_0_layers { + get { + return ResourceManager.GetString("This_disc_has_0_layers", resourceCulture); + } + } + + internal static string Disc_version_0 { + get { + return ResourceManager.GetString("Disc_version_0", resourceCulture); + } + } + + internal static string Disc_class_0 { + get { + return ResourceManager.GetString("Disc_class_0", resourceCulture); + } + } + + internal static string Disc_size_Unknown_code_0 { + get { + return ResourceManager.GetString("Disc_size_Unknown_code_0", resourceCulture); + } + } + + internal static string Disc_size_80mm { + get { + return ResourceManager.GetString("Disc_size_80mm", resourceCulture); + } + } + + internal static string Disc_size_120mm { + get { + return ResourceManager.GetString("Disc_size_120mm", resourceCulture); + } + } + + internal static string Disc_type_identifier_0 { + get { + return ResourceManager.GetString("Disc_type_identifier_0", resourceCulture); + } + } + + internal static string DI_Unit_is_0_bytes { + get { + return ResourceManager.GetString("DI_Unit_is_0_bytes", resourceCulture); + } + } + + internal static string This_DI_starts_a_new_unit { + get { + return ResourceManager.GetString("This_DI_starts_a_new_unit", resourceCulture); + } + } + + internal static string This_DI_continues_previous_unit { + get { + return ResourceManager.GetString("This_DI_continues_previous_unit", resourceCulture); + } + } + + internal static string Legacy_value_0 { + get { + return ResourceManager.GetString("Legacy_value_0", resourceCulture); + } + } + + internal static string This_DI_refers_to_layer_0 { + get { + return ResourceManager.GetString("This_DI_refers_to_layer_0", resourceCulture); + } + } + + internal static string There_are_0_per_block { + get { + return ResourceManager.GetString("There_are_0_per_block", resourceCulture); + } + } + + internal static string DI_Unit_Format_0 { + get { + return ResourceManager.GetString("DI_Unit_Format_0", resourceCulture); + } + } + + internal static string DI_Unit_Sequence_0 { + get { + return ResourceManager.GetString("DI_Unit_Sequence_0", resourceCulture); + } + } + + internal static string Found_unknown_disc_type_identifier_0 { + get { + return ResourceManager.GetString("Found_unknown_disc_type_identifier_0", resourceCulture); + } + } + + internal static string Found_incorrect_Blu_ray_Disc_Information_size_0_bytes { + get { + return ResourceManager.GetString("Found_incorrect_Blu_ray_Disc_Information_size_0_bytes", resourceCulture); + } + } + + internal static string Spare_Decode_Found_incorrect_Blu_ray_Spare_Area_Information_size_0_bytes { + get { + return ResourceManager.GetString("Spare_Decode_Found_incorrect_Blu_ray_Spare_Area_Information_size_0_bytes", resourceCulture); + } + } + + internal static string _0_free_spare_blocks { + get { + return ResourceManager.GetString("_0_free_spare_blocks", resourceCulture); + } + } + + internal static string _0_allocated_spare_blocks { + get { + return ResourceManager.GetString("_0_allocated_spare_blocks", resourceCulture); + } + } + + internal static string Expected_CD_ATIP_size_32_bytes_is_not_received_size_0_bytes_not_decoding { + get { + return ResourceManager.GetString("Expected_CD_ATIP_size_32_bytes_is_not_received_size_0_bytes_not_decoding", resourceCulture); + } + } + + internal static string Indicative_Target_Writing_Power_0 { + get { + return ResourceManager.GetString("Indicative_Target_Writing_Power_0", resourceCulture); + } + } + + internal static string Disc_is_DDCD_RW { + get { + return ResourceManager.GetString("Disc_is_DDCD_RW", resourceCulture); + } + } + + internal static string Disc_is_DDCD_R { + get { + return ResourceManager.GetString("Disc_is_DDCD_R", resourceCulture); + } + } + + internal static string Reference_speed_is_4x { + get { + return ResourceManager.GetString("Reference_speed_is_4x", resourceCulture); + } + } + + internal static string Reference_speed_is_8x { + get { + return ResourceManager.GetString("Reference_speed_is_8x", resourceCulture); + } + } + + internal static string Reference_speed_set_is_unknown_0 { + get { + return ResourceManager.GetString("Reference_speed_set_is_unknown_0", resourceCulture); + } + } + + internal static string ATIP_Start_time_of_Lead_in_0 { + get { + return ResourceManager.GetString("ATIP_Start_time_of_Lead_in_0", resourceCulture); + } + } + + internal static string ATIP_Last_possible_start_time_of_Lead_out_0 { + get { + return ResourceManager.GetString("ATIP_Last_possible_start_time_of_Lead_out_0", resourceCulture); + } + } + + internal static string S4_value_0 { + get { + return ResourceManager.GetString("S4_value_0", resourceCulture); + } + } + + internal static string Disc_is_CD_RW { + get { + return ResourceManager.GetString("Disc_is_CD_RW", resourceCulture); + } + } + + internal static string Disc_is_High_Speed_CD_RW { + get { + return ResourceManager.GetString("Disc_is_High_Speed_CD_RW", resourceCulture); + } + } + + internal static string Disc_is_Ultra_Speed_CD_RW { + get { + return ResourceManager.GetString("Disc_is_Ultra_Speed_CD_RW", resourceCulture); + } + } + + internal static string Disc_is_Ultra_Speed_Plus_CD_RW { + get { + return ResourceManager.GetString("Disc_is_Ultra_Speed_Plus_CD_RW", resourceCulture); + } + } + + internal static string Disc_is_medium_type_B_low_beta_category_CD_RW { + get { + return ResourceManager.GetString("Disc_is_medium_type_B_low_beta_category_CD_RW", resourceCulture); + } + } + + internal static string Disc_is_medium_type_B_high_beta_category_CD_RW { + get { + return ResourceManager.GetString("Disc_is_medium_type_B_high_beta_category_CD_RW", resourceCulture); + } + } + + internal static string Disc_is_medium_type_C_low_beta_category_CD_RW { + get { + return ResourceManager.GetString("Disc_is_medium_type_C_low_beta_category_CD_RW", resourceCulture); + } + } + + internal static string Disc_is_medium_type_C_high_beta_category_CD_RW { + get { + return ResourceManager.GetString("Disc_is_medium_type_C_high_beta_category_CD_RW", resourceCulture); + } + } + + internal static string Unknown_CD_RW_disc_subtype_0 { + get { + return ResourceManager.GetString("Unknown_CD_RW_disc_subtype_0", resourceCulture); + } + } + + internal static string Reference_speed_is_2x { + get { + return ResourceManager.GetString("Reference_speed_is_2x", resourceCulture); + } + } + + internal static string Disc_is_CD_R { + get { + return ResourceManager.GetString("Disc_is_CD_R", resourceCulture); + } + } + + internal static string Disc_is_normal_speed_CLV_CD_R { + get { + return ResourceManager.GetString("Disc_is_normal_speed_CLV_CD_R", resourceCulture); + } + } + + internal static string Disc_is_high_speed_CAV_CD_R { + get { + return ResourceManager.GetString("Disc_is_high_speed_CAV_CD_R", resourceCulture); + } + } + + internal static string Disc_is_medium_type_A_low_beta_category_CD_R { + get { + return ResourceManager.GetString("Disc_is_medium_type_A_low_beta_category_CD_R", resourceCulture); + } + } + + internal static string Disc_is_medium_type_A_high_beta_category_CD_R { + get { + return ResourceManager.GetString("Disc_is_medium_type_A_high_beta_category_CD_R", resourceCulture); + } + } + + internal static string Disc_is_medium_type_B_low_beta_category_CD_R { + get { + return ResourceManager.GetString("Disc_is_medium_type_B_low_beta_category_CD_R", resourceCulture); + } + } + + internal static string Disc_is_medium_type__high_beta_category__CD_R { + get { + return ResourceManager.GetString("Disc_is_medium_type__high_beta_category__CD_R", resourceCulture); + } + } + + internal static string Disc_is_medium_type_C_low_beta_category__CD_R { + get { + return ResourceManager.GetString("Disc_is_medium_type_C_low_beta_category__CD_R", resourceCulture); + } + } + + internal static string Disc_is_medium_type_C_high_beta_category__CD_R { + get { + return ResourceManager.GetString("Disc_is_medium_type_C_high_beta_category__CD_R", resourceCulture); + } + } + + internal static string Unknown_CD_R_disc_subtype_0 { + get { + return ResourceManager.GetString("Unknown_CD_R_disc_subtype_0", resourceCulture); + } + } + + internal static string ATIP_Start_time_of_Lead_in_0_1_2 { + get { + return ResourceManager.GetString("ATIP_Start_time_of_Lead_in_0_1_2", resourceCulture); + } + } + + internal static string ATIP_Last_possible_start_time_of_Lead_out_0_1_2 { + get { + return ResourceManager.GetString("ATIP_Last_possible_start_time_of_Lead_out_0_1_2", resourceCulture); + } + } + + internal static string Disc_use_is_unrestricted { + get { + return ResourceManager.GetString("Disc_use_is_unrestricted", resourceCulture); + } + } + + internal static string Disc_use_is_restricted { + get { + return ResourceManager.GetString("Disc_use_is_restricted", resourceCulture); + } + } + + internal static string A1_value_0 { + get { + return ResourceManager.GetString("A1_value_0", resourceCulture); + } + } + + internal static string A2_value_0 { + get { + return ResourceManager.GetString("A2_value_0", resourceCulture); + } + } + + internal static string A3_value_0 { + get { + return ResourceManager.GetString("A3_value_0", resourceCulture); + } + } + + internal static string Disc_uses_phase_change { + get { + return ResourceManager.GetString("Disc_uses_phase_change", resourceCulture); + } + } + + internal static string Disc_uses_long_strategy_type_dye_Cyanine_AZO_etc { + get { + return ResourceManager.GetString("Disc_uses_long_strategy_type_dye_Cyanine_AZO_etc", resourceCulture); + } + } + + internal static string Disc_uses_short_strategy_type_dye_Phthalocyanine_etc { + get { + return ResourceManager.GetString("Disc_uses_short_strategy_type_dye_Phthalocyanine_etc", resourceCulture); + } + } + + internal static string Disc_manufactured_by_0 { + get { + return ResourceManager.GetString("Disc_manufactured_by_0", resourceCulture); + } + } + + internal static string Expected_CD_TEXT_size_0_bytes_is_not_received_size_1_bytes_not_decoding { + get { + return ResourceManager.GetString("Expected_CD_TEXT_size_0_bytes_is_not_received_size_1_bytes_not_decoding", resourceCulture); + } + } + + internal static string Incorrect_CD_Text_pack_type_0_not_decoding { + get { + return ResourceManager.GetString("Incorrect_CD_Text_pack_type_0_not_decoding", resourceCulture); + } + } + + internal static string CD_Text_pack_contains_title_for_album { + get { + return ResourceManager.GetString("CD_Text_pack_contains_title_for_album", resourceCulture); + } + } + + internal static string CD_Text_pack_contains_title_for_track_0 { + get { + return ResourceManager.GetString("CD_Text_pack_contains_title_for_track_0", resourceCulture); + } + } + + internal static string CD_Text_pack_contains_performer_for_album { + get { + return ResourceManager.GetString("CD_Text_pack_contains_performer_for_album", resourceCulture); + } + } + + internal static string CD_Text_pack_contains_performer_for_track_0 { + get { + return ResourceManager.GetString("CD_Text_pack_contains_performer_for_track_0", resourceCulture); + } + } + + internal static string CD_Text_pack_contains_songwriter_for_album { + get { + return ResourceManager.GetString("CD_Text_pack_contains_songwriter_for_album", resourceCulture); + } + } + + internal static string CD_Text_pack_contains_songwriter_for_track_0 { + get { + return ResourceManager.GetString("CD_Text_pack_contains_songwriter_for_track_0", resourceCulture); + } + } + + internal static string album { + get { + return ResourceManager.GetString("album", resourceCulture); + } + } + + internal static string track_0 { + get { + return ResourceManager.GetString("track_0", resourceCulture); + } + } + + internal static string CD_Text_pack_contains_arranger_for_album { + get { + return ResourceManager.GetString("CD_Text_pack_contains_arranger_for_album", resourceCulture); + } + } + + internal static string CD_Text_pack_contains_arranger_for_track_0 { + get { + return ResourceManager.GetString("CD_Text_pack_contains_arranger_for_track_0", resourceCulture); + } + } + + internal static string CD_Text_pack_contains_content_provider_message_for_album { + get { + return ResourceManager.GetString("CD_Text_pack_contains_content_provider_message_for_album", resourceCulture); + } + } + + internal static string CD_Text_pack_contains_content_provider_message_for_track_0 { + get { + return ResourceManager.GetString("CD_Text_pack_contains_content_provider_message_for_track_0", resourceCulture); + } + } + + internal static string CD_Text_pack_contains_disc_identification_information { + get { + return ResourceManager.GetString("CD_Text_pack_contains_disc_identification_information", resourceCulture); + } + } + + internal static string CD_Text_pack_contains_genre_identification_information { + get { + return ResourceManager.GetString("CD_Text_pack_contains_genre_identification_information", resourceCulture); + } + } + + internal static string CD_Text_pack_contains_table_of_contents_information { + get { + return ResourceManager.GetString("CD_Text_pack_contains_table_of_contents_information", resourceCulture); + } + } + + internal static string CD_Text_pack_contains_second_table_of_contents_information { + get { + return ResourceManager.GetString("CD_Text_pack_contains_second_table_of_contents_information", resourceCulture); + } + } + + internal static string CD_Text_pack_contains_reserved_data { + get { + return ResourceManager.GetString("CD_Text_pack_contains_reserved_data", resourceCulture); + } + } + + internal static string CD_Text_pack_contains_data_reserved_for_content_provider_only { + get { + return ResourceManager.GetString("CD_Text_pack_contains_data_reserved_for_content_provider_only", resourceCulture); + } + } + + internal static string CD_Text_pack_contains_UPC { + get { + return ResourceManager.GetString("CD_Text_pack_contains_UPC", resourceCulture); + } + } + + internal static string CD_Text_pack_contains_size_block_information { + get { + return ResourceManager.GetString("CD_Text_pack_contains_size_block_information", resourceCulture); + } + } + + internal static string Double_Byte_Character_Code_is_used { + get { + return ResourceManager.GetString("Double_Byte_Character_Code_is_used", resourceCulture); + } + } + + internal static string Block_number_0 { + get { + return ResourceManager.GetString("Block_number_0", resourceCulture); + } + } + + internal static string Character_position_0 { + get { + return ResourceManager.GetString("Character_position_0", resourceCulture); + } + } + + internal static string Text_field_0 { + get { + return ResourceManager.GetString("Text_field_0", resourceCulture); + } + } + + internal static string Binary_contents_0 { + get { + return ResourceManager.GetString("Binary_contents_0", resourceCulture); + } + } + + internal static string CRC_0_X4 { + get { + return ResourceManager.GetString("CRC_0_X4", resourceCulture); + } + } + + internal static string Expected_CDFullTOC_size_0_bytes_is_not_received_size_1_bytes_not_decoding { + get { + return ResourceManager.GetString("Expected_CDFullTOC_size_0_bytes_is_not_received_size_1_bytes_not_decoding", resourceCulture); + } + } + + internal static string First_complete_session_number_0 { + get { + return ResourceManager.GetString("First_complete_session_number_0", resourceCulture); + } + } + + internal static string Last_complete_session_number_0 { + get { + return ResourceManager.GetString("Last_complete_session_number_0", resourceCulture); + } + } + + internal static string Unknown_TOC_entry_format_printing_values_as_is { + get { + return ResourceManager.GetString("Unknown_TOC_entry_format_printing_values_as_is", resourceCulture); + } + } + + internal static string Session_0 { + get { + return ResourceManager.GetString("Session_0", resourceCulture); + } + } + + internal static string First_video_track_number_0 { + get { + return ResourceManager.GetString("First_video_track_number_0", resourceCulture); + } + } + + internal static string CD_V_single_in_NTSC_format_with_digital_stereo_sound { + get { + return ResourceManager.GetString("CD_V_single_in_NTSC_format_with_digital_stereo_sound", resourceCulture); + } + } + + internal static string CD_V_single_in_NTSC_format_with_digital_bilingual_sound { + get { + return ResourceManager.GetString("CD_V_single_in_NTSC_format_with_digital_bilingual_sound", resourceCulture); + } + } + + internal static string CD_V_disc_in_NTSC_format_with_digital_stereo_sound { + get { + return ResourceManager.GetString("CD_V_disc_in_NTSC_format_with_digital_stereo_sound", resourceCulture); + } + } + + internal static string CD_V_disc_in_NTSC_format_with_digital_bilingual_sound { + get { + return ResourceManager.GetString("CD_V_disc_in_NTSC_format_with_digital_bilingual_sound", resourceCulture); + } + } + + internal static string CD_V_single_in_PAL_format_with_digital_stereo_sound { + get { + return ResourceManager.GetString("CD_V_single_in_PAL_format_with_digital_stereo_sound", resourceCulture); + } + } + + internal static string CD_V_single_in_PAL_format_with_digital_bilingual_sound { + get { + return ResourceManager.GetString("CD_V_single_in_PAL_format_with_digital_bilingual_sound", resourceCulture); + } + } + + internal static string CD_V_disc_in_PAL_format_with_digital_stereo_sound { + get { + return ResourceManager.GetString("CD_V_disc_in_PAL_format_with_digital_stereo_sound", resourceCulture); + } + } + + internal static string CD_V_disc_in_PAL_format_with_digital_bilingual_sound { + get { + return ResourceManager.GetString("CD_V_disc_in_PAL_format_with_digital_bilingual_sound", resourceCulture); + } + } + + internal static string First_track_number_0_open_parenthesis { + get { + return ResourceManager.GetString("First_track_number_0_open_parenthesis", resourceCulture); + } + } + + internal static string close_parenthesis { + get { + return ResourceManager.GetString("close_parenthesis", resourceCulture); + } + } + + internal static string Stereo_audio_track_with_no_pre_emphasis { + get { + return ResourceManager.GetString("Stereo_audio_track_with_no_pre_emphasis", resourceCulture); + } + } + + internal static string Stereo_audio_track_with_50_15_us_pre_emphasis { + get { + return ResourceManager.GetString("Stereo_audio_track_with_50_15_us_pre_emphasis", resourceCulture); + } + } + + internal static string Quadraphonic_audio_track_with_no_pre_emphasis { + get { + return ResourceManager.GetString("Quadraphonic_audio_track_with_no_pre_emphasis", resourceCulture); + } + } + + internal static string Quadraphonic_audio_track_with_50_15_us_pre_emphasis { + get { + return ResourceManager.GetString("Quadraphonic_audio_track_with_50_15_us_pre_emphasis", resourceCulture); + } + } + + internal static string Data_track_recorded_uninterrupted { + get { + return ResourceManager.GetString("Data_track_recorded_uninterrupted", resourceCulture); + } + } + + internal static string Data_track_recorded_incrementally { + get { + return ResourceManager.GetString("Data_track_recorded_incrementally", resourceCulture); + } + } + + internal static string Disc_type_0 { + get { + return ResourceManager.GetString("Disc_type_0", resourceCulture); + } + } + + internal static string Last_video_track_number_0 { + get { + return ResourceManager.GetString("Last_video_track_number_0", resourceCulture); + } + } + + internal static string Last_track_number_0_open_parenthesis { + get { + return ResourceManager.GetString("Last_track_number_0_open_parenthesis", resourceCulture); + } + } + + internal static string Lead_out_start_position_3_0_1_2 { + get { + return ResourceManager.GetString("Lead_out_start_position_3_0_1_2", resourceCulture); + } + } + + internal static string Lead_out_start_position_0_1_2 { + get { + return ResourceManager.GetString("Lead_out_start_position_0_1_2", resourceCulture); + } + } + + internal static string Lead_out_is_audio_type { + get { + return ResourceManager.GetString("Lead_out_is_audio_type", resourceCulture); + } + } + + internal static string Lead_out_is_data_type { + get { + return ResourceManager.GetString("Lead_out_is_data_type", resourceCulture); + } + } + + internal static string Book_type_0 { + get { + return ResourceManager.GetString("Book_type_0", resourceCulture); + } + } + + internal static string Material_type_0 { + get { + return ResourceManager.GetString("Material_type_0", resourceCulture); + } + } + + internal static string Moment_of_inertia_0 { + get { + return ResourceManager.GetString("Moment_of_inertia_0", resourceCulture); + } + } + + internal static string Data_track_3_starts_at_4_0_1_2_open_parenthesis { + get { + return ResourceManager.GetString("Data_track_3_starts_at_4_0_1_2_open_parenthesis", resourceCulture); + } + } + + internal static string Audio_track_3_starts_at_4_0_1_2_open_parenthesis { + get { + return ResourceManager.GetString("Audio_track_3_starts_at_4_0_1_2_open_parenthesis", resourceCulture); + } + } + + internal static string Data_track_3_starts_at_0_1_2_open_parenthesis { + get { + return ResourceManager.GetString("Data_track_3_starts_at_0_1_2_open_parenthesis", resourceCulture); + } + } + + internal static string Audio_track_3_starts_at_0_1_2_open_parenthesis { + get { + return ResourceManager.GetString("Audio_track_3_starts_at_0_1_2_open_parenthesis", resourceCulture); + } + } + + internal static string Absolute_time_3_0_1_2 { + get { + return ResourceManager.GetString("Absolute_time_3_0_1_2", resourceCulture); + } + } + + internal static string Absolute_time_0_1_2 { + get { + return ResourceManager.GetString("Absolute_time_0_1_2", resourceCulture); + } + } + + internal static string Video_track_3_starts_at_0_1_2 { + get { + return ResourceManager.GetString("Video_track_3_starts_at_0_1_2", resourceCulture); + } + } + + internal static string Start_of_next_possible_program_in_the_recordable_area_of_the_disc_3_0_1_2 { + get { + return ResourceManager.GetString("Start_of_next_possible_program_in_the_recordable_area_of_the_disc_3_0_1_2", resourceCulture); + } + } + + internal static string Maximum_start_of_outermost_Lead_out_in_the_recordable_area_of_the_disc_3_0_1_2 { + get { + return ResourceManager.GetString("Maximum_start_of_outermost_Lead_out_in_the_recordable_area_of_the_disc_3_0_1_2", resourceCulture); + } + } + + internal static string Start_of_next_possible_program_in_the_recordable_area_of_the_disc_0_1_2 { + get { + return ResourceManager.GetString("Start_of_next_possible_program_in_the_recordable_area_of_the_disc_0_1_2", resourceCulture); + } + } + + internal static string Maximum_start_of_outermost_Lead_out_in_the_recordable_area_of_the_disc_0_1_2 { + get { + return ResourceManager.GetString("Maximum_start_of_outermost_Lead_out_in_the_recordable_area_of_the_disc_0_1_2", resourceCulture); + } + } + + internal static string Number_of_skip_interval_pointers_0 { + get { + return ResourceManager.GetString("Number_of_skip_interval_pointers_0", resourceCulture); + } + } + + internal static string Number_of_skip_track_pointers_0 { + get { + return ResourceManager.GetString("Number_of_skip_track_pointers_0", resourceCulture); + } + } + + internal static string Skip_track_0 { + get { + return ResourceManager.GetString("Skip_track_0", resourceCulture); + } + } + + internal static string Optimum_recording_power_0 { + get { + return ResourceManager.GetString("Optimum_recording_power_0", resourceCulture); + } + } + + internal static string Start_time_of_the_first_Lead_in_area_in_the_disc_3_0_1_2 { + get { + return ResourceManager.GetString("Start_time_of_the_first_Lead_in_area_in_the_disc_3_0_1_2", resourceCulture); + } + } + + internal static string Start_time_of_the_first_Lead_in_area_in_the_disc_0_1_2 { + get { + return ResourceManager.GetString("Start_time_of_the_first_Lead_in_area_in_the_disc_0_1_2", resourceCulture); + } + } + + internal static string Copy_of_information_of_A1_from_ATIP_found { + get { + return ResourceManager.GetString("Copy_of_information_of_A1_from_ATIP_found", resourceCulture); + } + } + + internal static string Start_position_of_outer_part_lead_in_area_3_0_1_2 { + get { + return ResourceManager.GetString("Start_position_of_outer_part_lead_in_area_3_0_1_2", resourceCulture); + } + } + + internal static string Stop_position_of_inner_part_lead_out_area_3_0_1_2 { + get { + return ResourceManager.GetString("Stop_position_of_inner_part_lead_out_area_3_0_1_2", resourceCulture); + } + } + + internal static string Start_position_of_outer_part_lead_in_area_0_1_2 { + get { + return ResourceManager.GetString("Start_position_of_outer_part_lead_in_area_0_1_2", resourceCulture); + } + } + + internal static string Stop_position_of_inner_part_lead_out_area_0_1_2 { + get { + return ResourceManager.GetString("Stop_position_of_inner_part_lead_out_area_0_1_2", resourceCulture); + } + } + + internal static string Start_time_for_interval_that_should_be_skipped_0_1_2 { + get { + return ResourceManager.GetString("Start_time_for_interval_that_should_be_skipped_0_1_2", resourceCulture); + } + } + + internal static string Ending_time_for_interval_that_should_be_skipped_0_1_2 { + get { + return ResourceManager.GetString("Ending_time_for_interval_that_should_be_skipped_0_1_2", resourceCulture); + } + } + + internal static string Disc_ID_0_X6 { + get { + return ResourceManager.GetString("Disc_ID_0_X6", resourceCulture); + } + } + + internal static string Expected_CD_PMA_size_0_bytes_is_not_received_size_1_bytes_not_decoding { + get { + return ResourceManager.GetString("Expected_CD_PMA_size_0_bytes_is_not_received_size_1_bytes_not_decoding", resourceCulture); + } + } + + internal static string Track_0_Stereo_audio_track_with_no_pre_emphasis_starts_at_4_1_2_3_and_ends_at_8_5_6_7 { + get { + return ResourceManager.GetString("Track_0_Stereo_audio_track_with_no_pre_emphasis_starts_at_4_1_2_3_and_ends_at_8_5" + + "_6_7", resourceCulture); + } + } + + internal static string Track_0_Stereo_audio_track_with_no_pre_emphasis_starts_at_1_2_3_and_ends_at_4_5_6 { + get { + return ResourceManager.GetString("Track_0_Stereo_audio_track_with_no_pre_emphasis_starts_at_1_2_3_and_ends_at_4_5_6" + + "", resourceCulture); + } + } + + internal static string Track_0_Stereo_audio_track_with_50_15_s_pre_emphasis_starts_at_4_1_2_3_and_ends_at_8_5_6_7 { + get { + return ResourceManager.GetString("Track_0_Stereo_audio_track_with_50_15_s_pre_emphasis_starts_at_4_1_2_3_and_ends_a" + + "t_8_5_6_7", resourceCulture); + } + } + + internal static string Track_0_Stereo_audio_track_with_50_15_us_pre_emphasis_starts_at_1_2_3_and_ends_at_4_5_6 { + get { + return ResourceManager.GetString("Track_0_Stereo_audio_track_with_50_15_us_pre_emphasis_starts_at_1_2_3_and_ends_at" + + "_4_5_6", resourceCulture); + } + } + + internal static string Track_0_Quadraphonic_audio_track_with_no_pre_emphasis_starts_at_4_1_2_3_and_ends_at_8_5_6_7 { + get { + return ResourceManager.GetString("Track_0_Quadraphonic_audio_track_with_no_pre_emphasis_starts_at_4_1_2_3_and_ends_" + + "at_8_5_6_7", resourceCulture); + } + } + + internal static string Track_0_Quadraphonic_audio_track_with_no_pre_emphasis_starts_at_1_2_3_and_ends_at_4_5_6 { + get { + return ResourceManager.GetString("Track_0_Quadraphonic_audio_track_with_no_pre_emphasis_starts_at_1_2_3_and_ends_at" + + "_4_5_6", resourceCulture); + } + } + + internal static string Track_0_Quadraphonic_audio_track_with_50_15_us_pre_emphasis_starts_at_4_1_2_3_and_ends_at_8_5_6_7 { + get { + return ResourceManager.GetString("Track_0_Quadraphonic_audio_track_with_50_15_us_pre_emphasis_starts_at_4_1_2_3_and" + + "_ends_at_8_5_6_7", resourceCulture); + } + } + + internal static string Track_0_Quadraphonic_audio_track_with_50_15_us_pre_emphasis_starts_at_1_2_3_and_ends_at_4_5_6 { + get { + return ResourceManager.GetString("Track_0_Quadraphonic_audio_track_with_50_15_us_pre_emphasis_starts_at_1_2_3_and_e" + + "nds_at_4_5_6", resourceCulture); + } + } + + internal static string Track_0_Data_track_recorded_uninterrupted_starts_at_4_1_2_3_and_ends_at_8_5_6_7 { + get { + return ResourceManager.GetString("Track_0_Data_track_recorded_uninterrupted_starts_at_4_1_2_3_and_ends_at_8_5_6_7", resourceCulture); + } + } + + internal static string Track_0_Data_track_recorded_uninterrupted_starts_at_1_2_3_and_ends_at_4_5_6 { + get { + return ResourceManager.GetString("Track_0_Data_track_recorded_uninterrupted_starts_at_1_2_3_and_ends_at_4_5_6", resourceCulture); + } + } + + internal static string Track_0_Data_track_recorded_incrementally_starts_at_4_1_2_3_and_ends_at_8_5_6_7 { + get { + return ResourceManager.GetString("Track_0_Data_track_recorded_incrementally_starts_at_4_1_2_3_and_ends_at_8_5_6_7", resourceCulture); + } + } + + internal static string Track_0_Data_track_recorded_incrementally_starts_at_1_2_3_and_ends_at_4_5_6 { + get { + return ResourceManager.GetString("Track_0_Data_track_recorded_incrementally_starts_at_1_2_3_and_ends_at_4_5_6", resourceCulture); + } + } + + internal static string Reserved_equals_0_X2 { + get { + return ResourceManager.GetString("Reserved_equals_0_X2", resourceCulture); + } + } + + internal static string Skip_track_assignment_0_says_that_tracks_1_should_be_skipped { + get { + return ResourceManager.GetString("Skip_track_assignment_0_says_that_tracks_1_should_be_skipped", resourceCulture); + } + } + + internal static string Unskip_track_assignment_0_says_that_tracks_1_should_not_be_skipped { + get { + return ResourceManager.GetString("Unskip_track_assignment_0_says_that_tracks_1_should_not_be_skipped", resourceCulture); + } + } + + internal static string Skip_time_interval_assignment_0_says_that_from_4_1_2_3_to_8_5_6_7_should_be_skipped { + get { + return ResourceManager.GetString("Skip_time_interval_assignment_0_says_that_from_4_1_2_3_to_8_5_6_7_should_be_skipp" + + "ed", resourceCulture); + } + } + + internal static string Skip_time_interval_assignment_0_says_that_from_1_2_3_to_4_5_6_should_be_skipped { + get { + return ResourceManager.GetString("Skip_time_interval_assignment_0_says_that_from_1_2_3_to_4_5_6_should_be_skipped", resourceCulture); + } + } + + internal static string Unskip_time_interval_assignment_0_says_that_from_4_1_2_3_to_8_5_6_7_should_not_be_skipped { + get { + return ResourceManager.GetString("Unskip_time_interval_assignment_0_says_that_from_4_1_2_3_to_8_5_6_7_should_not_be" + + "_skipped", resourceCulture); + } + } + + internal static string Unskip_time_interval_assignment_0_says_that_from_1_2_3_to_4_5_6_should_not_be_skipped { + get { + return ResourceManager.GetString("Unskip_time_interval_assignment_0_says_that_from_1_2_3_to_4_5_6_should_not_be_ski" + + "pped", resourceCulture); + } + } + + internal static string CD_sector { + get { + return ResourceManager.GetString("CD_sector", resourceCulture); + } + } + + internal static string CD_ROM_sector { + get { + return ResourceManager.GetString("CD_ROM_sector", resourceCulture); + } + } + + internal static string Position_0_1_2_LBA_3 { + get { + return ResourceManager.GetString("Position_0_1_2_LBA_3", resourceCulture); + } + } + + internal static string Mode_0 { + get { + return ResourceManager.GetString("Mode_0", resourceCulture); + } + } + + internal static string Mode_1 { + get { + return ResourceManager.GetString("Mode_1", resourceCulture); + } + } + + internal static string Mode_2 { + get { + return ResourceManager.GetString("Mode_2", resourceCulture); + } + } + + internal static string Invalid_mode_3 { + get { + return ResourceManager.GetString("Invalid_mode_3", resourceCulture); + } + } + + internal static string User_data_block { + get { + return ResourceManager.GetString("User_data_block", resourceCulture); + } + } + + internal static string Fourth_run_in_block { + get { + return ResourceManager.GetString("Fourth_run_in_block", resourceCulture); + } + } + + internal static string Third_run_in_block { + get { + return ResourceManager.GetString("Third_run_in_block", resourceCulture); + } + } + + internal static string Second_run_in_block { + get { + return ResourceManager.GetString("Second_run_in_block", resourceCulture); + } + } + + internal static string First_run_in_block { + get { + return ResourceManager.GetString("First_run_in_block", resourceCulture); + } + } + + internal static string Link_block { + get { + return ResourceManager.GetString("Link_block", resourceCulture); + } + } + + internal static string Second_run_out_block { + get { + return ResourceManager.GetString("Second_run_out_block", resourceCulture); + } + } + + internal static string First_run_out_block { + get { + return ResourceManager.GetString("First_run_out_block", resourceCulture); + } + } + + internal static string Correct_sector_contents { + get { + return ResourceManager.GetString("Correct_sector_contents", resourceCulture); + } + } + + internal static string Incorrect_sector_contents { + get { + return ResourceManager.GetString("Incorrect_sector_contents", resourceCulture); + } + } + + internal static string Correct_EDC { + get { + return ResourceManager.GetString("Correct_EDC", resourceCulture); + } + } + + internal static string Incorrect_EDC { + get { + return ResourceManager.GetString("Incorrect_EDC", resourceCulture); + } + } + + internal static string Correct_ECC_P { + get { + return ResourceManager.GetString("Correct_ECC_P", resourceCulture); + } + } + + internal static string Incorrect_ECC_P { + get { + return ResourceManager.GetString("Incorrect_ECC_P", resourceCulture); + } + } + + internal static string Correct_ECC_Q { + get { + return ResourceManager.GetString("Correct_ECC_Q", resourceCulture); + } + } + + internal static string Incorrect_ECC_Q { + get { + return ResourceManager.GetString("Incorrect_ECC_Q", resourceCulture); + } + } + + internal static string Correct_zero_fill { + get { + return ResourceManager.GetString("Correct_zero_fill", resourceCulture); + } + } + + internal static string Incorrect_zero_fill { + get { + return ResourceManager.GetString("Incorrect_zero_fill", resourceCulture); + } + } + + internal static string Subheader_copies_differ { + get { + return ResourceManager.GetString("Subheader_copies_differ", resourceCulture); + } + } + + internal static string File_number_0 { + get { + return ResourceManager.GetString("File_number_0", resourceCulture); + } + } + + internal static string Channel_number_0 { + get { + return ResourceManager.GetString("Channel_number_0", resourceCulture); + } + } + + internal static string Coding_information_number_0 { + get { + return ResourceManager.GetString("Coding_information_number_0", resourceCulture); + } + } + + internal static string End_of_file { + get { + return ResourceManager.GetString("End_of_file", resourceCulture); + } + } + + internal static string Real_time_block { + get { + return ResourceManager.GetString("Real_time_block", resourceCulture); + } + } + + internal static string Form_2 { + get { + return ResourceManager.GetString("Form_2", resourceCulture); + } + } + + internal static string Form_1 { + get { + return ResourceManager.GetString("Form_1", resourceCulture); + } + } + + internal static string Trigger_block { + get { + return ResourceManager.GetString("Trigger_block", resourceCulture); + } + } + + internal static string Data_block { + get { + return ResourceManager.GetString("Data_block", resourceCulture); + } + } + + internal static string Audio_block { + get { + return ResourceManager.GetString("Audio_block", resourceCulture); + } + } + + internal static string Video_block { + get { + return ResourceManager.GetString("Video_block", resourceCulture); + } + } + + internal static string End_of_record { + get { + return ResourceManager.GetString("End_of_record", resourceCulture); + } + } + + internal static string Expected_CDSessionInfo_size_0_bytes_is_not_received_size_1_bytes_not_decoding { + get { + return ResourceManager.GetString("Expected_CDSessionInfo_size_0_bytes_is_not_received_size_1_bytes_not_decoding", resourceCulture); + } + } + + internal static string First_track_number_in_last_complete_session_0 { + get { + return ResourceManager.GetString("First_track_number_in_last_complete_session_0", resourceCulture); + } + } + + internal static string Track_starts_at_LBA_0_or_MSF_2_3 { + get { + return ResourceManager.GetString("Track_starts_at_LBA_0_or_MSF_2_3", resourceCulture); + } + } + + internal static string Q_subchannel_mode_not_given { + get { + return ResourceManager.GetString("Q_subchannel_mode_not_given", resourceCulture); + } + } + + internal static string Q_subchannel_stores_current_position { + get { + return ResourceManager.GetString("Q_subchannel_stores_current_position", resourceCulture); + } + } + + internal static string Q_subchannel_stores_ISRC { + get { + return ResourceManager.GetString("Q_subchannel_stores_ISRC", resourceCulture); + } + } + + internal static string Q_subchannel_stores_media_catalog_number { + get { + return ResourceManager.GetString("Q_subchannel_stores_media_catalog_number", resourceCulture); + } + } + + internal static string Reserved_flags_0_set { + get { + return ResourceManager.GetString("Reserved_flags_0_set", resourceCulture); + } + } + + internal static string Digital_copy_of_track_is_permitted { + get { + return ResourceManager.GetString("Digital_copy_of_track_is_permitted", resourceCulture); + } + } + + internal static string Digital_copy_of_track_is_prohibited { + get { + return ResourceManager.GetString("Digital_copy_of_track_is_prohibited", resourceCulture); + } + } + + internal static string Subchannel_PrettifyQ_stereo_audio_with_pre_emphasis { + get { + return ResourceManager.GetString("Subchannel_PrettifyQ_stereo_audio_with_pre_emphasis", resourceCulture); + } + } + + internal static string Subchannel_PrettifyQ_stereo_audio_without_pre_emphasis { + get { + return ResourceManager.GetString("Subchannel_PrettifyQ_stereo_audio_without_pre_emphasis", resourceCulture); + } + } + + internal static string Subchannel_PrettifyQ_incremental_data { + get { + return ResourceManager.GetString("Subchannel_PrettifyQ_incremental_data", resourceCulture); + } + } + + internal static string Subchannel_PrettifyQ_uninterrupted_data { + get { + return ResourceManager.GetString("Subchannel_PrettifyQ_uninterrupted_data", resourceCulture); + } + } + + internal static string Subchannel_PrettifyQ_quadraphonic_audio_with_pre_emphasis { + get { + return ResourceManager.GetString("Subchannel_PrettifyQ_quadraphonic_audio_with_pre_emphasis", resourceCulture); + } + } + + internal static string Subchannel_PrettifyQ_quadraphonic_audio_without_pre_emphasis { + get { + return ResourceManager.GetString("Subchannel_PrettifyQ_quadraphonic_audio_without_pre_emphasis", resourceCulture); + } + } + + internal static string Subchannel_PrettifyQ_reserved_control_value__0_ { + get { + return ResourceManager.GetString("Subchannel_PrettifyQ_reserved_control_value__0_", resourceCulture); + } + } + + internal static string Subchannel_PrettifyQ_copy_permitted { + get { + return ResourceManager.GetString("Subchannel_PrettifyQ_copy_permitted", resourceCulture); + } + } + + internal static string Subchannel_PrettifyQ_copy_prohibited { + get { + return ResourceManager.GetString("Subchannel_PrettifyQ_copy_prohibited", resourceCulture); + } + } + + internal static string Subchannel_PrettifyQ_Lead_In { + get { + return ResourceManager.GetString("Subchannel_PrettifyQ_Lead_In", resourceCulture); + } + } + + internal static string Subchannel_PrettifyQ_0_1_2_LBA_3_4_area_5_6_7_Q_mode_8_position_9_10_11_LBA_12_track_13_starts_at_14_15_16_LBA_17_Q_CRC_18_19_20_R_W_21 { + get { + return ResourceManager.GetString("Subchannel_PrettifyQ_0_1_2_LBA_3_4_area_5_6_7_Q_mode_8_position_9_10_11_LBA_12_tr" + + "ack_13_starts_at_14_15_16_LBA_17_Q_CRC_18_19_20_R_W_21", resourceCulture); + } + } + + internal static string Subchannel_PrettifyQ_corrupted_pause { + get { + return ResourceManager.GetString("Subchannel_PrettifyQ_corrupted_pause", resourceCulture); + } + } + + internal static string Subchannel_PrettifyQ_pause { + get { + return ResourceManager.GetString("Subchannel_PrettifyQ_pause", resourceCulture); + } + } + + internal static string Subchannel_PrettifyQ_not_pause { + get { + return ResourceManager.GetString("Subchannel_PrettifyQ_not_pause", resourceCulture); + } + } + + internal static string Subchannel_PrettifyQ_OK { + get { + return ResourceManager.GetString("Subchannel_PrettifyQ_OK", resourceCulture); + } + } + + internal static string Subchannel_PrettifyQ_BAD { + get { + return ResourceManager.GetString("Subchannel_PrettifyQ_BAD", resourceCulture); + } + } + + internal static string Subchannel_PrettifyQ_empty { + get { + return ResourceManager.GetString("Subchannel_PrettifyQ_empty", resourceCulture); + } + } + + internal static string Subchannel_PrettifyQ_not_empty { + get { + return ResourceManager.GetString("Subchannel_PrettifyQ_not_empty", resourceCulture); + } + } + + internal static string Subchannel_PrettifyQ_CD_DA_CD_ROM { + get { + return ResourceManager.GetString("Subchannel_PrettifyQ_CD_DA_CD_ROM", resourceCulture); + } + } + + internal static string Subchannel_PrettifyQ_CD_i { + get { + return ResourceManager.GetString("Subchannel_PrettifyQ_CD_i", resourceCulture); + } + } + + internal static string Subchannel_PrettifyQ_CD_ROM_XA { + get { + return ResourceManager.GetString("Subchannel_PrettifyQ_CD_ROM_XA", resourceCulture); + } + } + + internal static string Subchannel_PrettifyQ_unknown_0 { + get { + return ResourceManager.GetString("Subchannel_PrettifyQ_unknown_0", resourceCulture); + } + } + + internal static string Subchannel_PrettifyQ_0_1_2_LBA_3_4_area_5_6_7_Q_mode_8_position_9_10_11_LBA_12_track_13_is_first_program_area_track_in_14_format_Q_CRC_15_16_17_R_W_18 { + get { + return ResourceManager.GetString("Subchannel_PrettifyQ_0_1_2_LBA_3_4_area_5_6_7_Q_mode_8_position_9_10_11_LBA_12_tr" + + "ack_13_is_first_program_area_track_in_14_format_Q_CRC_15_16_17_R_W_18", resourceCulture); + } + } + + internal static string Subchannel_PrettifyQ_0_1_2_LBA_3_4_area_5_6_7_Q_mode_8_position_9_10_11_LBA_12_track_13_is_last_program_area_track_Q_CRC_14_15_16_R_W_17 { + get { + return ResourceManager.GetString("Subchannel_PrettifyQ_0_1_2_LBA_3_4_area_5_6_7_Q_mode_8_position_9_10_11_LBA_12_tr" + + "ack_13_is_last_program_area_track_Q_CRC_14_15_16_R_W_17", resourceCulture); + } + } + + internal static string Subchannel_PrettifyQ_0_1_2_LBA_3_4_area_5_6_7_Q_mode_8_MCN_9_frame_10_CRC_11_12_13_R_W_14 { + get { + return ResourceManager.GetString("Subchannel_PrettifyQ_0_1_2_LBA_3_4_area_5_6_7_Q_mode_8_MCN_9_frame_10_CRC_11_12_1" + + "3_R_W_14", resourceCulture); + } + } + + internal static string Subchannel_PrettifyQ_0_1_2_LBA_3_4_area_5_6_7_Q_8_9_10_11_12_13_14_15_16_17_CRC_18_19_20_R_W_21 { + get { + return ResourceManager.GetString("Subchannel_PrettifyQ_0_1_2_LBA_3_4_area_5_6_7_Q_8_9_10_11_12_13_14_15_16_17_CRC_1" + + "8_19_20_R_W_21", resourceCulture); + } + } + + internal static string Subchannel_PrettifyQ_0_1_2_LBA_3_4_area_5_6_7_Q_mode_8_skip_interval_start_time_9_10_11_skip_interval_stop_time_12_13_14_CRC_15_16_17_R_W_18 { + get { + return ResourceManager.GetString("Subchannel_PrettifyQ_0_1_2_LBA_3_4_area_5_6_7_Q_mode_8_skip_interval_start_time_9" + + "_10_11_skip_interval_stop_time_12_13_14_CRC_15_16_17_R_W_18", resourceCulture); + } + } + + internal static string Subchannel_PrettifyQ_0_1_2_LBA_3_4_area_5_6_7_Q_mode_8_next_program_area_can_start_at_9_10_11_LBA_12_last_session_13_mode_5_pointers_CRC_14_15_16_R_W_17 { + get { + return ResourceManager.GetString("Subchannel_PrettifyQ_0_1_2_LBA_3_4_area_5_6_7_Q_mode_8_next_program_area_can_star" + + "t_at_9_10_11_LBA_12_last_session_13_mode_5_pointers_CRC_14_15_16_R_W_17", resourceCulture); + } + } + + internal static string Subchannel_PrettifyQ_0_1_2_LBA_3_4_area_5_6_7_Q_mode_8_next_program_area_can_start_at_9_10_11_LBA_12_maximum_Lead_out_at_13_14_15_LBA_16_17_mode_5_pointers_CRC_18_19_20_R_W_21 { + get { + return ResourceManager.GetString("Subchannel_PrettifyQ_0_1_2_LBA_3_4_area_5_6_7_Q_mode_8_next_program_area_can_star" + + "t_at_9_10_11_LBA_12_maximum_Lead_out_at_13_14_15_LBA_16_17_mode_5_pointers_CRC_1" + + "8_19_20_R_W_21", resourceCulture); + } + } + + internal static string Subchannel_PrettifyQ_0_1_2_LBA_3_4_area_5_6_7_Q_mode_8_9_skip_interval_pointers_10_skip_track_assignments_CRC_11_12_13_R_W_14 { + get { + return ResourceManager.GetString("Subchannel_PrettifyQ_0_1_2_LBA_3_4_area_5_6_7_Q_mode_8_9_skip_interval_pointers_1" + + "0_skip_track_assignments_CRC_11_12_13_R_W_14", resourceCulture); + } + } + + internal static string Subchannel_PrettifyQ_0_1_2_LBA_3_4_area_5_6_7_Q_mode_8_ATIP_values_9_10_11_first_disc_Lead_in_starts_at_12_13_14_LBA_15_CRC_16_17_18_R_W_19 { + get { + return ResourceManager.GetString("Subchannel_PrettifyQ_0_1_2_LBA_3_4_area_5_6_7_Q_mode_8_ATIP_values_9_10_11_first_" + + "disc_Lead_in_starts_at_12_13_14_LBA_15_CRC_16_17_18_R_W_19", resourceCulture); + } + } + + internal static string Subchannel_PrettifyQ_0_1_2_LBA_3_4_area_5_6_7_Q_mode_8_tracks_9_to_be_skipped_CRC_10_11_12_R_W_13 { + get { + return ResourceManager.GetString("Subchannel_PrettifyQ_0_1_2_LBA_3_4_area_5_6_7_Q_mode_8_tracks_9_to_be_skipped_CRC" + + "_10_11_12_R_W_13", resourceCulture); + } + } + + internal static string Subchannel_PrettifyQ_Lead_out { + get { + return ResourceManager.GetString("Subchannel_PrettifyQ_Lead_out", resourceCulture); + } + } + + internal static string Subchannel_PrettifyQ_Program { + get { + return ResourceManager.GetString("Subchannel_PrettifyQ_Program", resourceCulture); + } + } + + internal static string Subchannel_PrettifyQ_0_D2_1_2_LBA_3_4_area_5_6_7_Q_mode_8_position_track_9_index_10_relative_position_11_12_13_LBA_14_absolute_position_15_16_17_LBA_18_Q_CRC_19_20_21_R_W_22 { + get { + return ResourceManager.GetString("Subchannel_PrettifyQ_0_D2_1_2_LBA_3_4_area_5_6_7_Q_mode_8_position_track_9_index_" + + "10_relative_position_11_12_13_LBA_14_absolute_position_15_16_17_LBA_18_Q_CRC_19_" + + "20_21_R_W_22", resourceCulture); + } + } + + internal static string Subchannel_PrettifyQ_0_1_2_LBA_3_4_area_5_6_7_Q_mode_8_ISRC_9_frame_10_CRC_11_12_13_R_W_14 { + get { + return ResourceManager.GetString("Subchannel_PrettifyQ_0_1_2_LBA_3_4_area_5_6_7_Q_mode_8_ISRC_9_frame_10_CRC_11_12_" + + "13_R_W_14", resourceCulture); + } + } + + internal static string Expected_CD_TOC_size_0_bytes_is_not_received_size_1_bytes_not_decoding { + get { + return ResourceManager.GetString("Expected_CD_TOC_size_0_bytes_is_not_received_size_1_bytes_not_decoding", resourceCulture); + } + } + + internal static string First_track_number_in_first_complete_session_0 { + get { + return ResourceManager.GetString("First_track_number_in_first_complete_session_0", resourceCulture); + } + } + + internal static string Last_track_number_in_last_complete_session_0 { + get { + return ResourceManager.GetString("Last_track_number_in_last_complete_session_0", resourceCulture); + } + } + + internal static string Track_number_Lead_Out { + get { + return ResourceManager.GetString("Track_number_Lead_Out", resourceCulture); + } + } + + internal static string Track_number_0 { + get { + return ResourceManager.GetString("Track_number_0", resourceCulture); + } + } + + internal static string Q_subchannel_stores_track_pointer { + get { + return ResourceManager.GetString("Q_subchannel_stores_track_pointer", resourceCulture); + } + } + + internal static string Q_subchannel_stores_video_track_pointer { + get { + return ResourceManager.GetString("Q_subchannel_stores_video_track_pointer", resourceCulture); + } + } + + internal static string Q_subchannel_mode_0 { + get { + return ResourceManager.GetString("Q_subchannel_mode_0", resourceCulture); + } + } + + internal static string Disc_surface_is_set_to_write_protected_status { + get { + return ResourceManager.GetString("Disc_surface_is_set_to_write_protected_status", resourceCulture); + } + } + + internal static string Disc_comes_in_a_cartridge { + get { + return ResourceManager.GetString("Disc_comes_in_a_cartridge", resourceCulture); + } + } + + internal static string Disc_has_been_extracted_from_the_cartridge { + get { + return ResourceManager.GetString("Disc_has_been_extracted_from_the_cartridge", resourceCulture); + } + } + + internal static string Cartridge_is_set_to_write_protected { + get { + return ResourceManager.GetString("Cartridge_is_set_to_write_protected", resourceCulture); + } + } + + internal static string Disc_shall_not_be_written_without_a_cartridge { + get { + return ResourceManager.GetString("Disc_shall_not_be_written_without_a_cartridge", resourceCulture); + } + } + + internal static string Disc_may_be_written_without_a_cartridge { + get { + return ResourceManager.GetString("Disc_may_be_written_without_a_cartridge", resourceCulture); + } + } + + internal static string Unknown_disc_type_id_0 { + get { + return ResourceManager.GetString("Unknown_disc_type_id_0", resourceCulture); + } + } + + internal static string Disc_is_write_inhibited_because_it_has_been_extracted_from_the_cartridge { + get { + return ResourceManager.GetString("Disc_is_write_inhibited_because_it_has_been_extracted_from_the_cartridge", resourceCulture); + } + } + + internal static string Disc_is_write_inhibited_for_an_unspecified_reason { + get { + return ResourceManager.GetString("Disc_is_write_inhibited_for_an_unspecified_reason", resourceCulture); + } + } + + internal static string Disc_has_unknown_reason_0_for_write_inhibition { + get { + return ResourceManager.GetString("Disc_has_unknown_reason_0_for_write_inhibition", resourceCulture); + } + } + + internal static string No_drive_region_setting { + get { + return ResourceManager.GetString("No_drive_region_setting", resourceCulture); + } + } + + internal static string Drive_region_is_set { + get { + return ResourceManager.GetString("Drive_region_is_set", resourceCulture); + } + } + + internal static string Drive_region_is_set_with_additional_restrictions_required_to_make_a_change { + get { + return ResourceManager.GetString("Drive_region_is_set_with_additional_restrictions_required_to_make_a_change", resourceCulture); + } + } + + internal static string Drive_region_has_been_set_permanently_but_may_be_reset_by_the_vendor_if_necessary { + get { + return ResourceManager.GetString("Drive_region_has_been_set_permanently_but_may_be_reset_by_the_vendor_if_necessary" + + "", resourceCulture); + } + } + + internal static string Drive_has_0_vendor_resets_available { + get { + return ResourceManager.GetString("Drive_has_0_vendor_resets_available", resourceCulture); + } + } + + internal static string Drive_has_0_user_controlled_changes_available { + get { + return ResourceManager.GetString("Drive_has_0_user_controlled_changes_available", resourceCulture); + } + } + + internal static string Drive_has_no_region_set { + get { + return ResourceManager.GetString("Drive_has_no_region_set", resourceCulture); + } + } + + internal static string Drive_is_region_free { + get { + return ResourceManager.GetString("Drive_is_region_free", resourceCulture); + } + } + + internal static string Drive_has_the_following_regions_set { + get { + return ResourceManager.GetString("Drive_has_the_following_regions_set", resourceCulture); + } + } + + internal static string The_Logical_Unit_does_not_enforce_Region_Playback_Controls_RPC { + get { + return ResourceManager.GetString("The_Logical_Unit_does_not_enforce_Region_Playback_Controls_RPC", resourceCulture); + } + } + + internal static string The_Logical_Unit_shall_adhere_to_the_specification_and_all_requirements_of_the_CSS_license_agreement_concerning_RPC { + get { + return ResourceManager.GetString("The_Logical_Unit_shall_adhere_to_the_specification_and_all_requirements_of_the_CS" + + "S_license_agreement_concerning_RPC", resourceCulture); + } + } + + internal static string The_Logical_Unit_uses_an_unknown_region_enforcement_scheme { + get { + return ResourceManager.GetString("The_Logical_Unit_uses_an_unknown_region_enforcement_scheme", resourceCulture); + } + } + + internal static string Disc_has_no_encryption { + get { + return ResourceManager.GetString("Disc_has_no_encryption", resourceCulture); + } + } + + internal static string Disc_is_encrypted_using_CSS_or_CPPM { + get { + return ResourceManager.GetString("Disc_is_encrypted_using_CSS_or_CPPM", resourceCulture); + } + } + + internal static string Disc_is_encrypted_using_CPRM { + get { + return ResourceManager.GetString("Disc_is_encrypted_using_CPRM", resourceCulture); + } + } + + internal static string Disc_is_encrypted_using_AACS { + get { + return ResourceManager.GetString("Disc_is_encrypted_using_AACS", resourceCulture); + } + } + + internal static string Disc_is_encrypted_using_unknown_algorithm_with_ID_0 { + get { + return ResourceManager.GetString("Disc_is_encrypted_using_unknown_algorithm_with_ID_0", resourceCulture); + } + } + + internal static string Disc_cannot_be_played_in_any_region_at_all { + get { + return ResourceManager.GetString("Disc_cannot_be_played_in_any_region_at_all", resourceCulture); + } + } + + internal static string Disc_can_be_played_in_any_region { + get { + return ResourceManager.GetString("Disc_can_be_played_in_any_region", resourceCulture); + } + } + + internal static string Disc_can_be_played_in_the_following_regions { + get { + return ResourceManager.GetString("Disc_can_be_played_in_the_following_regions", resourceCulture); + } + } + + internal static string Formatting_in_progress { + get { + return ResourceManager.GetString("Formatting_in_progress", resourceCulture); + } + } + + internal static string Formatting_is_only_using_partial_certification { + get { + return ResourceManager.GetString("Formatting_is_only_using_partial_certification", resourceCulture); + } + } + + internal static string Only_a_group_is_being_formatted { + get { + return ResourceManager.GetString("Only_a_group_is_being_formatted", resourceCulture); + } + } + + internal static string Disc_has_been_certified_by_a_user { + get { + return ResourceManager.GetString("Disc_has_been_certified_by_a_user", resourceCulture); + } + } + + internal static string Disc_has_been_certified_by_a_manufacturer { + get { + return ResourceManager.GetString("Disc_has_been_certified_by_a_manufacturer", resourceCulture); + } + } + + internal static string DDS_has_been_updated_0_times { + get { + return ResourceManager.GetString("DDS_has_been_updated_0_times", resourceCulture); + } + } + + internal static string Group_0_is_being_formatted { + get { + return ResourceManager.GetString("Group_0_is_being_formatted", resourceCulture); + } + } + + internal static string Group_0_is_being_certified_partially { + get { + return ResourceManager.GetString("Group_0_is_being_certified_partially", resourceCulture); + } + } + + internal static string Group_0_has_been_certified_by_an_user { + get { + return ResourceManager.GetString("Group_0_has_been_certified_by_an_user", resourceCulture); + } + } + + internal static string Disc_has_0_zones { + get { + return ResourceManager.GetString("Disc_has_0_zones", resourceCulture); + } + } + + internal static string Primary_Spare_Area_stats_at_PSN_0_and_ends_at_PSN_1_inclusively { + get { + return ResourceManager.GetString("Primary_Spare_Area_stats_at_PSN_0_and_ends_at_PSN_1_inclusively", resourceCulture); + } + } + + internal static string LSN_zero_is_at_PSN_0 { + get { + return ResourceManager.GetString("LSN_zero_is_at_PSN_0", resourceCulture); + } + } + + internal static string Zone_0_starts_at_LSN_1 { + get { + return ResourceManager.GetString("Zone_0_starts_at_LSN_1", resourceCulture); + } + } + + internal static string unknown_size_identifier_0 { + get { + return ResourceManager.GetString("unknown_size_identifier_0", resourceCulture); + } + } + + internal static string Disc_is_a_0_1_version_2 { + get { + return ResourceManager.GetString("Disc_is_a_0_1_version_2", resourceCulture); + } + } + + internal static string Disc_claims_conformation_to_ECMA_267 { + get { + return ResourceManager.GetString("Disc_claims_conformation_to_ECMA_267", resourceCulture); + } + } + + internal static string Disc_claims_conformation_to_ECMA_268 { + get { + return ResourceManager.GetString("Disc_claims_conformation_to_ECMA_268", resourceCulture); + } + } + + internal static string Disc_claims_conformation_to_ECMA_272 { + get { + return ResourceManager.GetString("Disc_claims_conformation_to_ECMA_272", resourceCulture); + } + } + + internal static string Disc_claims_conformation_to_ECMA_330 { + get { + return ResourceManager.GetString("Disc_claims_conformation_to_ECMA_330", resourceCulture); + } + } + + internal static string Disc_claims_conformation_to_ECMA_279 { + get { + return ResourceManager.GetString("Disc_claims_conformation_to_ECMA_279", resourceCulture); + } + } + + internal static string Disc_claims_conformation_to_ECMA_359 { + get { + return ResourceManager.GetString("Disc_claims_conformation_to_ECMA_359", resourceCulture); + } + } + + internal static string Disc_claims_conformation_to_ECMA_382 { + get { + return ResourceManager.GetString("Disc_claims_conformation_to_ECMA_382", resourceCulture); + } + } + + internal static string Disc_claims_conformation_to_ECMA_338 { + get { + return ResourceManager.GetString("Disc_claims_conformation_to_ECMA_338", resourceCulture); + } + } + + internal static string Disc_claims_conformation_to_ECMA_384 { + get { + return ResourceManager.GetString("Disc_claims_conformation_to_ECMA_384", resourceCulture); + } + } + + internal static string _60mm { + get { + return ResourceManager.GetString("_60mm", resourceCulture); + } + } + + internal static string invalid_size { + get { + return ResourceManager.GetString("invalid_size", resourceCulture); + } + } + + internal static string Disc_claims_conformation_to_ECMA_365 { + get { + return ResourceManager.GetString("Disc_claims_conformation_to_ECMA_365", resourceCulture); + } + } + + internal static string Disc_claims_conformation_to_ECMA_274 { + get { + return ResourceManager.GetString("Disc_claims_conformation_to_ECMA_274", resourceCulture); + } + } + + internal static string Disc_claims_conformation_to_ECMA_337 { + get { + return ResourceManager.GetString("Disc_claims_conformation_to_ECMA_337", resourceCulture); + } + } + + internal static string Disc_claims_conformation_to_ECMA_371 { + get { + return ResourceManager.GetString("Disc_claims_conformation_to_ECMA_371", resourceCulture); + } + } + + internal static string Disc_claims_conformation_to_ECMA_349 { + get { + return ResourceManager.GetString("Disc_claims_conformation_to_ECMA_349", resourceCulture); + } + } + + internal static string Disc_claims_conformation_to_ECMA_374 { + get { + return ResourceManager.GetString("Disc_claims_conformation_to_ECMA_374", resourceCulture); + } + } + + internal static string Disc_claims_conformation_to_ECMA_364 { + get { + return ResourceManager.GetString("Disc_claims_conformation_to_ECMA_364", resourceCulture); + } + } + + internal static string Disc_is_a_Nintendo_Gamecube_Optical_Disc_GOD { + get { + return ResourceManager.GetString("Disc_is_a_Nintendo_Gamecube_Optical_Disc_GOD", resourceCulture); + } + } + + internal static string Disc_is_a_Nintendo_Wii_Optical_Disc_WOD { + get { + return ResourceManager.GetString("Disc_is_a_Nintendo_Wii_Optical_Disc_WOD", resourceCulture); + } + } + + internal static string unknown_disc_type { + get { + return ResourceManager.GetString("unknown_disc_type", resourceCulture); + } + } + + internal static string _80mm { + get { + return ResourceManager.GetString("_80mm", resourceCulture); + } + } + + internal static string _120mm { + get { + return ResourceManager.GetString("_120mm", resourceCulture); + } + } + + internal static string Disc_book_type_is_0 { + get { + return ResourceManager.GetString("Disc_book_type_is_0", resourceCulture); + } + } + + internal static string Disc_maximum_transfer_rate_is_2_52_Mbit_sec { + get { + return ResourceManager.GetString("Disc_maximum_transfer_rate_is_2_52_Mbit_sec", resourceCulture); + } + } + + internal static string Disc_maximum_transfer_rate_is_5_04_Mbit_sec { + get { + return ResourceManager.GetString("Disc_maximum_transfer_rate_is_5_04_Mbit_sec", resourceCulture); + } + } + + internal static string Disc_maximum_transfer_rate_is_10_08_Mbit_sec { + get { + return ResourceManager.GetString("Disc_maximum_transfer_rate_is_10_08_Mbit_sec", resourceCulture); + } + } + + internal static string Disc_maximum_transfer_rate_is_20_16_Mbit_sec { + get { + return ResourceManager.GetString("Disc_maximum_transfer_rate_is_20_16_Mbit_sec", resourceCulture); + } + } + + internal static string Disc_maximum_transfer_rate_is_30_24_Mbit_sec { + get { + return ResourceManager.GetString("Disc_maximum_transfer_rate_is_30_24_Mbit_sec", resourceCulture); + } + } + + internal static string Disc_maximum_transfer_rate_is_unspecified { + get { + return ResourceManager.GetString("Disc_maximum_transfer_rate_is_unspecified", resourceCulture); + } + } + + internal static string Disc_maximum_transfer_rate_is_specified_by_unknown_key_0 { + get { + return ResourceManager.GetString("Disc_maximum_transfer_rate_is_specified_by_unknown_key_0", resourceCulture); + } + } + + internal static string Disc_has_0_layers { + get { + return ResourceManager.GetString("Disc_has_0_layers", resourceCulture); + } + } + + internal static string Layers_are_in_parallel_track_path { + get { + return ResourceManager.GetString("Layers_are_in_parallel_track_path", resourceCulture); + } + } + + internal static string Layers_are_in_opposite_track_path { + get { + return ResourceManager.GetString("Layers_are_in_opposite_track_path", resourceCulture); + } + } + + internal static string Pitch_size_is_0_267_μm_bit { + get { + return ResourceManager.GetString("Pitch_size_is_0_267_μm_bit", resourceCulture); + } + } + + internal static string Pitch_size_is_0_147_μm_bit { + get { + return ResourceManager.GetString("Pitch_size_is_0_147_μm_bit", resourceCulture); + } + } + + internal static string Pitch_size_is_between_0_409_μm_bit_and_0_435_μm_bit { + get { + return ResourceManager.GetString("Pitch_size_is_between_0_409_μm_bit_and_0_435_μm_bit", resourceCulture); + } + } + + internal static string Pitch_size_is_between_0_140_μm_bit_and_0_148_μm_bit { + get { + return ResourceManager.GetString("Pitch_size_is_between_0_140_μm_bit_and_0_148_μm_bit", resourceCulture); + } + } + + internal static string Pitch_size_is_0_153_μm_bit { + get { + return ResourceManager.GetString("Pitch_size_is_0_153_μm_bit", resourceCulture); + } + } + + internal static string Pitch_size_is_between_0_130_μm_bit_and_0_140_μm_bit { + get { + return ResourceManager.GetString("Pitch_size_is_between_0_130_μm_bit_and_0_140_μm_bit", resourceCulture); + } + } + + internal static string Pitch_size_is_0_353_μm_bit { + get { + return ResourceManager.GetString("Pitch_size_is_0_353_μm_bit", resourceCulture); + } + } + + internal static string Unknown_pitch_size_key_0 { + get { + return ResourceManager.GetString("Unknown_pitch_size_key_0", resourceCulture); + } + } + + internal static string Track_size_is_0_74_μm { + get { + return ResourceManager.GetString("Track_size_is_0_74_μm", resourceCulture); + } + } + + internal static string Track_size_is_0_80_μm { + get { + return ResourceManager.GetString("Track_size_is_0_80_μm", resourceCulture); + } + } + + internal static string Track_size_is_0_615_μm { + get { + return ResourceManager.GetString("Track_size_is_0_615_μm", resourceCulture); + } + } + + internal static string Track_size_is_0_40_μm { + get { + return ResourceManager.GetString("Track_size_is_0_40_μm", resourceCulture); + } + } + + internal static string Track_size_is_0_34_μm { + get { + return ResourceManager.GetString("Track_size_is_0_34_μm", resourceCulture); + } + } + + internal static string Unknown_track_size_key__0_ { + get { + return ResourceManager.GetString("Unknown_track_size_key__0_", resourceCulture); + } + } + + internal static string Data_area_starts_at_PSN_0 { + get { + return ResourceManager.GetString("Data_area_starts_at_PSN_0", resourceCulture); + } + } + + internal static string Data_area_ends_at_PSN_0 { + get { + return ResourceManager.GetString("Data_area_ends_at_PSN_0", resourceCulture); + } + } + + internal static string Layer_zero_ends_at_PSN_0 { + get { + return ResourceManager.GetString("Layer_zero_ends_at_PSN_0", resourceCulture); + } + } + + internal static string Disc_is_empty { + get { + return ResourceManager.GetString("Disc_is_empty", resourceCulture); + } + } + + internal static string Disc_has_a_burst_cutting_area { + get { + return ResourceManager.GetString("Disc_has_a_burst_cutting_area", resourceCulture); + } + } + + internal static string Media_attribute_is_0 { + get { + return ResourceManager.GetString("Media_attribute_is_0", resourceCulture); + } + } + + internal static string Disc_shall_be_recorded_with_a_case { + get { + return ResourceManager.GetString("Disc_shall_be_recorded_with_a_case", resourceCulture); + } + } + + internal static string Disc_can_be_recorded_with_or_without_a_case { + get { + return ResourceManager.GetString("Disc_can_be_recorded_with_or_without_a_case", resourceCulture); + } + } + + internal static string Unknown_DVD_RAM_case_type_key_0 { + get { + return ResourceManager.GetString("Unknown_DVD_RAM_case_type_key_0", resourceCulture); + } + } + + internal static string Disc_manufacturer_is_0 { + get { + return ResourceManager.GetString("Disc_manufacturer_is_0", resourceCulture); + } + } + + internal static string Disc_manufacturer_supplementary_information_is_0 { + get { + return ResourceManager.GetString("Disc_manufacturer_supplementary_information_is_0", resourceCulture); + } + } + + internal static string Current_Border_Out_first_sector_is_PSN_0 { + get { + return ResourceManager.GetString("Current_Border_Out_first_sector_is_PSN_0", resourceCulture); + } + } + + internal static string Next_Border_In_first_sector_is_PSN_0 { + get { + return ResourceManager.GetString("Next_Border_In_first_sector_is_PSN_0", resourceCulture); + } + } + + internal static string Disc_contains_extended_information_for_VCPS { + get { + return ResourceManager.GetString("Disc_contains_extended_information_for_VCPS", resourceCulture); + } + } + + internal static string Disc_application_code_is_0 { + get { + return ResourceManager.GetString("Disc_application_code_is_0", resourceCulture); + } + } + + internal static string Disc_media_type_is_0 { + get { + return ResourceManager.GetString("Disc_media_type_is_0", resourceCulture); + } + } + + internal static string Disc_product_revision_is_0 { + get { + return ResourceManager.GetString("Disc_product_revision_is_0", resourceCulture); + } + } + + internal static string Current_RMD_in_extra_Border_zone_starts_at_PSN_0 { + get { + return ResourceManager.GetString("Current_RMD_in_extra_Border_zone_starts_at_PSN_0", resourceCulture); + } + } + + internal static string PFI_in_extra_Border_zone_starts_at_PSN_0 { + get { + return ResourceManager.GetString("PFI_in_extra_Border_zone_starts_at_PSN_0", resourceCulture); + } + } + + internal static string Control_Data_Zone_is_pre_recorded { + get { + return ResourceManager.GetString("Control_Data_Zone_is_pre_recorded", resourceCulture); + } + } + + internal static string Lead_In_is_pre_recorded { + get { + return ResourceManager.GetString("Lead_In_is_pre_recorded", resourceCulture); + } + } + + internal static string Lead_Out_is_pre_recorded { + get { + return ResourceManager.GetString("Lead_Out_is_pre_recorded", resourceCulture); + } + } + + internal static string Disc_for_unrestricted_use { + get { + return ResourceManager.GetString("Disc_for_unrestricted_use", resourceCulture); + } + } + + internal static string Invalid_purpose_field_with_value_0 { + get { + return ResourceManager.GetString("Invalid_purpose_field_with_value_0", resourceCulture); + } + } + + internal static string Consumer_purpose_disc_for_use_in_consumer_purpose_drives { + get { + return ResourceManager.GetString("Consumer_purpose_disc_for_use_in_consumer_purpose_drives", resourceCulture); + } + } + + internal static string Disc_for_restricted_use { + get { + return ResourceManager.GetString("Disc_for_restricted_use", resourceCulture); + } + } + + internal static string Disc_for_use_in_special_drives_according_with_purpose_value_0 { + get { + return ResourceManager.GetString("Disc_for_use_in_special_drives_according_with_purpose_value_0", resourceCulture); + } + } + + internal static string General_purpose_disc_for_use_in_general_purpose_drives { + get { + return ResourceManager.GetString("General_purpose_disc_for_use_in_general_purpose_drives", resourceCulture); + } + } + + internal static string Disc_track_pitch_is_0_74_μm { + get { + return ResourceManager.GetString("Disc_track_pitch_is_0_74_μm", resourceCulture); + } + } + + internal static string Unknown_track_pitch { + get { + return ResourceManager.GetString("Unknown_track_pitch", resourceCulture); + } + } + + internal static string Reference_velocity_is_3_49_m_s { + get { + return ResourceManager.GetString("Reference_velocity_is_3_49_m_s", resourceCulture); + } + } + + internal static string Unknown_reference_velocity { + get { + return ResourceManager.GetString("Unknown_reference_velocity", resourceCulture); + } + } + + internal static string Disc_has_80mm_diameter { + get { + return ResourceManager.GetString("Disc_has_80mm_diameter", resourceCulture); + } + } + + internal static string Disc_has_120mm_diameter { + get { + return ResourceManager.GetString("Disc_has_120mm_diameter", resourceCulture); + } + } + + internal static string Disc_reflectivity_is_between_18_and_30 { + get { + return ResourceManager.GetString("Disc_reflectivity_is_between_18_and_30", resourceCulture); + } + } + + internal static string Disc_reflectivity_is_between_45_and_85 { + get { + return ResourceManager.GetString("Disc_reflectivity_is_between_45_and_85", resourceCulture); + } + } + + internal static string Dye_is_organic { + get { + return ResourceManager.GetString("Dye_is_organic", resourceCulture); + } + } + + internal static string Dye_is_phase_change { + get { + return ResourceManager.GetString("Dye_is_phase_change", resourceCulture); + } + } + + internal static string Disc_is_RW_rewritable { + get { + return ResourceManager.GetString("Disc_is_RW_rewritable", resourceCulture); + } + } + + internal static string Disc_is_R_recordable { + get { + return ResourceManager.GetString("Disc_is_R_recordable", resourceCulture); + } + } + + internal static string Wavelength_is_650nm { + get { + return ResourceManager.GetString("Wavelength_is_650nm", resourceCulture); + } + } + + internal static string Unknown_wavelength { + get { + return ResourceManager.GetString("Unknown_wavelength", resourceCulture); + } + } + + internal static string Last_writable_ECC_block_address_0_X6_ { + get { + return ResourceManager.GetString("Last_writable_ECC_block_address_0_X6_", resourceCulture); + } + } + + internal static string Part_version_0 { + get { + return ResourceManager.GetString("Part_version_0", resourceCulture); + } + } + + internal static string Recommended_recording_power_is_0_mW { + get { + return ResourceManager.GetString("Recommended_recording_power_is_0_mW", resourceCulture); + } + } + + internal static string Recording_power_is_not_specified { + get { + return ResourceManager.GetString("Recording_power_is_not_specified", resourceCulture); + } + } + + internal static string Recommended_erasing_power_ratio_is_0 { + get { + return ResourceManager.GetString("Recommended_erasing_power_ratio_is_0", resourceCulture); + } + } + + internal static string Erasing_power_ratio_is_not_specified { + get { + return ResourceManager.GetString("Erasing_power_ratio_is_not_specified", resourceCulture); + } + } + + internal static string _0_unused_primary_spare_blocks { + get { + return ResourceManager.GetString("_0_unused_primary_spare_blocks", resourceCulture); + } + } + + internal static string _0_unused_supplementary_spare_blocks { + get { + return ResourceManager.GetString("_0_unused_supplementary_spare_blocks", resourceCulture); + } + } + + internal static string _0_allocated_supplementary_spare_blocks { + get { + return ResourceManager.GetString("_0_allocated_supplementary_spare_blocks", resourceCulture); + } + } + + internal static string Prologue_found_at_0 { + get { + return ResourceManager.GetString("Prologue_found_at_0", resourceCulture); + } + } + + internal static string Volume_0 { + get { + return ResourceManager.GetString("Volume_0", resourceCulture); + } + } + + internal static string Sector_0 { + get { + return ResourceManager.GetString("Sector_0", resourceCulture); + } + } + + internal static string Checksum_0 { + get { + return ResourceManager.GetString("Checksum_0", resourceCulture); + } + } + + internal static string Epilogue_0_1_2 { + get { + return ResourceManager.GetString("Epilogue_0_1_2", resourceCulture); + } + } + + internal static string Inner_gap_has_0_bytes { + get { + return ResourceManager.GetString("Inner_gap_has_0_bytes", resourceCulture); + } + } + + internal static string Data_has_0_bytes { + get { + return ResourceManager.GetString("Data_has_0_bytes", resourceCulture); + } + } + + internal static string Got_0_bytes_of_gap { + get { + return ResourceManager.GetString("Got_0_bytes_of_gap", resourceCulture); + } + } + + internal static string Finished_sector_at_0 { + get { + return ResourceManager.GetString("Finished_sector_at_0", resourceCulture); + } + } + + internal static string Adding_sector_0_of_track_1 { + get { + return ResourceManager.GetString("Adding_sector_0_of_track_1", resourceCulture); + } + } + + internal static string MultiMediaCard_Device_Identification_Register { + get { + return ResourceManager.GetString("MultiMediaCard_Device_Identification_Register", resourceCulture); + } + } + + internal static string Manufacturer_0 { + get { + return ResourceManager.GetString("Manufacturer_0", resourceCulture); + } + } + + internal static string Removable_device { + get { + return ResourceManager.GetString("Removable_device", resourceCulture); + } + } + + internal static string BGA_device { + get { + return ResourceManager.GetString("BGA_device", resourceCulture); + } + } + + internal static string POP_device { + get { + return ResourceManager.GetString("POP_device", resourceCulture); + } + } + + internal static string Application_ID_0 { + get { + return ResourceManager.GetString("Application_ID_0", resourceCulture); + } + } + + internal static string Product_revision_0_1 { + get { + return ResourceManager.GetString("Product_revision_0_1", resourceCulture); + } + } + + internal static string Product_serial_number_0 { + get { + return ResourceManager.GetString("Product_serial_number_0", resourceCulture); + } + } + + internal static string _1997_or_2013 { + get { + return ResourceManager.GetString("_1997_or_2013", resourceCulture); + } + } + + internal static string _1998_or_2014 { + get { + return ResourceManager.GetString("_1998_or_2014", resourceCulture); + } + } + + internal static string _1999_or_2015 { + get { + return ResourceManager.GetString("_1999_or_2015", resourceCulture); + } + } + + internal static string _2000_or_2016 { + get { + return ResourceManager.GetString("_2000_or_2016", resourceCulture); + } + } + + internal static string _2001_or_2017 { + get { + return ResourceManager.GetString("_2001_or_2017", resourceCulture); + } + } + + internal static string _2002_or_2018 { + get { + return ResourceManager.GetString("_2002_or_2018", resourceCulture); + } + } + + internal static string _2003_or_2019 { + get { + return ResourceManager.GetString("_2003_or_2019", resourceCulture); + } + } + + internal static string _2004_or_2020 { + get { + return ResourceManager.GetString("_2004_or_2020", resourceCulture); + } + } + + internal static string _2005_or_2021 { + get { + return ResourceManager.GetString("_2005_or_2021", resourceCulture); + } + } + + internal static string _2006_or_2022 { + get { + return ResourceManager.GetString("_2006_or_2022", resourceCulture); + } + } + + internal static string _2007_or_2023 { + get { + return ResourceManager.GetString("_2007_or_2023", resourceCulture); + } + } + + internal static string _2008_or_2024 { + get { + return ResourceManager.GetString("_2008_or_2024", resourceCulture); + } + } + + internal static string _2009_or_2025 { + get { + return ResourceManager.GetString("_2009_or_2025", resourceCulture); + } + } + + internal static string Device_manufactured_month_0_of_1 { + get { + return ResourceManager.GetString("Device_manufactured_month_0_of_1", resourceCulture); + } + } + + internal static string CID_CRC_0 { + get { + return ResourceManager.GetString("CID_CRC_0", resourceCulture); + } + } + + internal static string Register_version_1_0 { + get { + return ResourceManager.GetString("Register_version_1_0", resourceCulture); + } + } + + internal static string Register_version_1_1 { + get { + return ResourceManager.GetString("Register_version_1_1", resourceCulture); + } + } + + internal static string Register_version_1_2 { + get { + return ResourceManager.GetString("Register_version_1_2", resourceCulture); + } + } + + internal static string MultiMediaCard_Device_Specific_Data_Register_ { + get { + return ResourceManager.GetString("MultiMediaCard_Device_Specific_Data_Register_", resourceCulture); + } + } + + internal static string Register_version_is_defined_in_Extended_Device_Specific_Data_Register { + get { + return ResourceManager.GetString("Register_version_is_defined_in_Extended_Device_Specific_Data_Register", resourceCulture); + } + } + + internal static string unit_ns { + get { + return ResourceManager.GetString("unit_ns", resourceCulture); + } + } + + internal static string unit_μs { + get { + return ResourceManager.GetString("unit_μs", resourceCulture); + } + } + + internal static string unit_ms { + get { + return ResourceManager.GetString("unit_ms", resourceCulture); + } + } + + internal static string unit_MHz { + get { + return ResourceManager.GetString("unit_MHz", resourceCulture); + } + } + + internal static string unit_unknown { + get { + return ResourceManager.GetString("unit_unknown", resourceCulture); + } + } + + internal static string Device_s_clock_frequency_0_1 { + get { + return ResourceManager.GetString("Device_s_clock_frequency_0_1", resourceCulture); + } + } + + internal static string Read_block_length_size_is_defined_in_extended_CSD { + get { + return ResourceManager.GetString("Read_block_length_size_is_defined_in_extended_CSD", resourceCulture); + } + } + + internal static string Device_may_be_bigger_than_2GiB_and_have_its_real_size_defined_in_the_extended_CSD { + get { + return ResourceManager.GetString("Device_may_be_bigger_than_2GiB_and_have_its_real_size_defined_in_the_extended_CSD" + + "", resourceCulture); + } + } + + internal static string Device_has_0_blocks { + get { + return ResourceManager.GetString("Device_has_0_blocks", resourceCulture); + } + } + + internal static string Device_has_0_GiB { + get { + return ResourceManager.GetString("Device_has_0_GiB", resourceCulture); + } + } + + internal static string Device_has_0_MiB { + get { + return ResourceManager.GetString("Device_has_0_MiB", resourceCulture); + } + } + + internal static string Device_has_0_KiB { + get { + return ResourceManager.GetString("Device_has_0_KiB", resourceCulture); + } + } + + internal static string Device_has_0_bytes { + get { + return ResourceManager.GetString("Device_has_0_bytes", resourceCulture); + } + } + + internal static string Device_uses_a_maximum_of_0_5mA_for_reading_at_minimum_voltage { + get { + return ResourceManager.GetString("Device_uses_a_maximum_of_0_5mA_for_reading_at_minimum_voltage", resourceCulture); + } + } + + internal static string Device_uses_a_maximum_of_1mA_for_reading_at_minimum_voltage { + get { + return ResourceManager.GetString("Device_uses_a_maximum_of_1mA_for_reading_at_minimum_voltage", resourceCulture); + } + } + + internal static string Device_uses_a_maximum_of_5mA_for_reading_at_minimum_voltage { + get { + return ResourceManager.GetString("Device_uses_a_maximum_of_5mA_for_reading_at_minimum_voltage", resourceCulture); + } + } + + internal static string Device_uses_a_maximum_of_10mA_for_reading_at_minimum_voltage { + get { + return ResourceManager.GetString("Device_uses_a_maximum_of_10mA_for_reading_at_minimum_voltage", resourceCulture); + } + } + + internal static string Device_uses_a_maximum_of_25mA_for_reading_at_minimum_voltage { + get { + return ResourceManager.GetString("Device_uses_a_maximum_of_25mA_for_reading_at_minimum_voltage", resourceCulture); + } + } + + internal static string Device_uses_a_maximum_of_35mA_for_reading_at_minimum_voltage { + get { + return ResourceManager.GetString("Device_uses_a_maximum_of_35mA_for_reading_at_minimum_voltage", resourceCulture); + } + } + + internal static string Device_uses_a_maximum_of_60mA_for_reading_at_minimum_voltage { + get { + return ResourceManager.GetString("Device_uses_a_maximum_of_60mA_for_reading_at_minimum_voltage", resourceCulture); + } + } + + internal static string Device_uses_a_maximum_of_100mA_for_reading_at_minimum_voltage { + get { + return ResourceManager.GetString("Device_uses_a_maximum_of_100mA_for_reading_at_minimum_voltage", resourceCulture); + } + } + + internal static string Device_uses_a_maximum_of_1mA_for_reading_at_maximum_voltage { + get { + return ResourceManager.GetString("Device_uses_a_maximum_of_1mA_for_reading_at_maximum_voltage", resourceCulture); + } + } + + internal static string Device_uses_a_maximum_of_5mA_for_reading_at_maximum_voltage { + get { + return ResourceManager.GetString("Device_uses_a_maximum_of_5mA_for_reading_at_maximum_voltage", resourceCulture); + } + } + + internal static string Device_uses_a_maximum_of_10mA_for_reading_at_maximum_voltage { + get { + return ResourceManager.GetString("Device_uses_a_maximum_of_10mA_for_reading_at_maximum_voltage", resourceCulture); + } + } + + internal static string Device_uses_a_maximum_of_25mA_for_reading_at_maximum_voltage { + get { + return ResourceManager.GetString("Device_uses_a_maximum_of_25mA_for_reading_at_maximum_voltage", resourceCulture); + } + } + + internal static string Device_uses_a_maximum_of_35mA_for_reading_at_maximum_voltage { + get { + return ResourceManager.GetString("Device_uses_a_maximum_of_35mA_for_reading_at_maximum_voltage", resourceCulture); + } + } + + internal static string Device_uses_a_maximum_of_45mA_for_reading_at_maximum_voltage { + get { + return ResourceManager.GetString("Device_uses_a_maximum_of_45mA_for_reading_at_maximum_voltage", resourceCulture); + } + } + + internal static string Device_uses_a_maximum_of_80mA_for_reading_at_maximum_voltage { + get { + return ResourceManager.GetString("Device_uses_a_maximum_of_80mA_for_reading_at_maximum_voltage", resourceCulture); + } + } + + internal static string Device_uses_a_maximum_of_200mA_for_reading_at_maximum_voltage { + get { + return ResourceManager.GetString("Device_uses_a_maximum_of_200mA_for_reading_at_maximum_voltage", resourceCulture); + } + } + + internal static string Device_uses_a_maximum_of_0_5mA_for_writing_at_minimum_voltage { + get { + return ResourceManager.GetString("Device_uses_a_maximum_of_0_5mA_for_writing_at_minimum_voltage", resourceCulture); + } + } + + internal static string Device_uses_a_maximum_of_1mA_for_writing_at_minimum_voltage { + get { + return ResourceManager.GetString("Device_uses_a_maximum_of_1mA_for_writing_at_minimum_voltage", resourceCulture); + } + } + + internal static string Device_uses_a_maximum_of_5mA_for_writing_at_minimum_voltage { + get { + return ResourceManager.GetString("Device_uses_a_maximum_of_5mA_for_writing_at_minimum_voltage", resourceCulture); + } + } + + internal static string Device_uses_a_maximum_of_10mA_for_writing_at_minimum_voltage { + get { + return ResourceManager.GetString("Device_uses_a_maximum_of_10mA_for_writing_at_minimum_voltage", resourceCulture); + } + } + + internal static string Device_uses_a_maximum_of_25mA_for_writing_at_minimum_voltage { + get { + return ResourceManager.GetString("Device_uses_a_maximum_of_25mA_for_writing_at_minimum_voltage", resourceCulture); + } + } + + internal static string Device_uses_a_maximum_of_35mA_for_writing_at_minimum_voltage { + get { + return ResourceManager.GetString("Device_uses_a_maximum_of_35mA_for_writing_at_minimum_voltage", resourceCulture); + } + } + + internal static string Device_uses_a_maximum_of_60mA_for_writing_at_minimum_voltage { + get { + return ResourceManager.GetString("Device_uses_a_maximum_of_60mA_for_writing_at_minimum_voltage", resourceCulture); + } + } + + internal static string Device_uses_a_maximum_of_100mA_for_writing_at_minimum_voltage { + get { + return ResourceManager.GetString("Device_uses_a_maximum_of_100mA_for_writing_at_minimum_voltage", resourceCulture); + } + } + + internal static string Device_uses_a_maximum_of_1mA_for_writing_at_maximum_voltage { + get { + return ResourceManager.GetString("Device_uses_a_maximum_of_1mA_for_writing_at_maximum_voltage", resourceCulture); + } + } + + internal static string Device_uses_a_maximum_of_5mA_for_writing_at_maximum_voltage { + get { + return ResourceManager.GetString("Device_uses_a_maximum_of_5mA_for_writing_at_maximum_voltage", resourceCulture); + } + } + + internal static string Device_uses_a_maximum_of_10mA_for_writing_at_maximum_voltage { + get { + return ResourceManager.GetString("Device_uses_a_maximum_of_10mA_for_writing_at_maximum_voltage", resourceCulture); + } + } + + internal static string Device_uses_a_maximum_of_25mA_for_writing_at_maximum_voltage { + get { + return ResourceManager.GetString("Device_uses_a_maximum_of_25mA_for_writing_at_maximum_voltage", resourceCulture); + } + } + + internal static string Device_uses_a_maximum_of_35mA_for_writing_at_maximum_voltage { + get { + return ResourceManager.GetString("Device_uses_a_maximum_of_35mA_for_writing_at_maximum_voltage", resourceCulture); + } + } + + internal static string Device_uses_a_maximum_of_45mA_for_writing_at_maximum_voltage { + get { + return ResourceManager.GetString("Device_uses_a_maximum_of_45mA_for_writing_at_maximum_voltage", resourceCulture); + } + } + + internal static string Device_uses_a_maximum_of_80mA_for_writing_at_maximum_voltage { + get { + return ResourceManager.GetString("Device_uses_a_maximum_of_80mA_for_writing_at_maximum_voltage", resourceCulture); + } + } + + internal static string Device_uses_a_maximum_of_200mA_for_writing_at_maximum_voltage { + get { + return ResourceManager.GetString("Device_uses_a_maximum_of_200mA_for_writing_at_maximum_voltage", resourceCulture); + } + } + + internal static string Device_can_erase_a_minimum_of_0_blocks_at_a_time { + get { + return ResourceManager.GetString("Device_can_erase_a_minimum_of_0_blocks_at_a_time", resourceCulture); + } + } + + internal static string Device_can_write_protect_regions { + get { + return ResourceManager.GetString("Device_can_write_protect_regions", resourceCulture); + } + } + + internal static string Device_can_write_protect_a_minimum_of_0_blocks_at_a_time { + get { + return ResourceManager.GetString("Device_can_write_protect_a_minimum_of_0_blocks_at_a_time", resourceCulture); + } + } + + internal static string Device_cant_write_protect_regions { + get { + return ResourceManager.GetString("Device_cant_write_protect_regions", resourceCulture); + } + } + + internal static string Device_uses_no_ECC_by_default { + get { + return ResourceManager.GetString("Device_uses_no_ECC_by_default", resourceCulture); + } + } + + internal static string Device_uses_BCH_542_512_ECC_by_default { + get { + return ResourceManager.GetString("Device_uses_BCH_542_512_ECC_by_default", resourceCulture); + } + } + + internal static string Device_uses_unknown_ECC_code_0_by_default { + get { + return ResourceManager.GetString("Device_uses_unknown_ECC_code_0_by_default", resourceCulture); + } + } + + internal static string Writing_is_0_times_slower_than_reading { + get { + return ResourceManager.GetString("Writing_is_0_times_slower_than_reading", resourceCulture); + } + } + + internal static string Write_block_length_size_is_defined_in_extended_CSD { + get { + return ResourceManager.GetString("Write_block_length_size_is_defined_in_extended_CSD", resourceCulture); + } + } + + internal static string Write_block_length_is_0_bytes { + get { + return ResourceManager.GetString("Write_block_length_is_0_bytes", resourceCulture); + } + } + + internal static string Device_allows_writing_partial_blocks { + get { + return ResourceManager.GetString("Device_allows_writing_partial_blocks", resourceCulture); + } + } + + internal static string Device_supports_content_protection { + get { + return ResourceManager.GetString("Device_supports_content_protection", resourceCulture); + } + } + + internal static string Device_contents_are_original { + get { + return ResourceManager.GetString("Device_contents_are_original", resourceCulture); + } + } + + internal static string Device_is_permanently_write_protected { + get { + return ResourceManager.GetString("Device_is_permanently_write_protected", resourceCulture); + } + } + + internal static string Device_is_temporarily_write_protected { + get { + return ResourceManager.GetString("Device_is_temporarily_write_protected", resourceCulture); + } + } + + internal static string Device_is_formatted_like_a_hard_disk { + get { + return ResourceManager.GetString("Device_is_formatted_like_a_hard_disk", resourceCulture); + } + } + + internal static string Device_is_formatted_like_a_floppy_disk_using_Microsoft_FAT { + get { + return ResourceManager.GetString("Device_is_formatted_like_a_floppy_disk_using_Microsoft_FAT", resourceCulture); + } + } + + internal static string Device_uses_Universal_File_Format { + get { + return ResourceManager.GetString("Device_uses_Universal_File_Format", resourceCulture); + } + } + + internal static string Device_uses_unknown_file_format_code_0 { + get { + return ResourceManager.GetString("Device_uses_unknown_file_format_code_0", resourceCulture); + } + } + + internal static string Device_uses_unknown_file_format_code_0_and_file_format_group_1 { + get { + return ResourceManager.GetString("Device_uses_unknown_file_format_code_0_and_file_format_group_1", resourceCulture); + } + } + + internal static string Device_currently_uses_no_ECC { + get { + return ResourceManager.GetString("Device_currently_uses_no_ECC", resourceCulture); + } + } + + internal static string Device_currently_uses_BCH_542_512_ECC { + get { + return ResourceManager.GetString("Device_currently_uses_BCH_542_512_ECC", resourceCulture); + } + } + + internal static string Device_currently_uses_unknown_ECC_code_0 { + get { + return ResourceManager.GetString("Device_currently_uses_unknown_ECC_code_0", resourceCulture); + } + } + + internal static string CSD_CRC_0 { + get { + return ResourceManager.GetString("CSD_CRC_0", resourceCulture); + } + } + + internal static string MultiMediaCard_Extended_Device_Specific_Data_Register { + get { + return ResourceManager.GetString("MultiMediaCard_Extended_Device_Specific_Data_Register", resourceCulture); + } + } + + internal static string Last_extended_security_error_was_0 { + get { + return ResourceManager.GetString("Last_extended_security_error_was_0", resourceCulture); + } + } + + internal static string Device_supports_standard_MMC_command_set { + get { + return ResourceManager.GetString("Device_supports_standard_MMC_command_set", resourceCulture); + } + } + + internal static string Device_supports_unknown_command_sets_0 { + get { + return ResourceManager.GetString("Device_supports_unknown_command_sets_0", resourceCulture); + } + } + + internal static string Device_implements_HPI_using_CMD12 { + get { + return ResourceManager.GetString("Device_implements_HPI_using_CMD12", resourceCulture); + } + } + + internal static string Device_implements_HPI_using_CMD13 { + get { + return ResourceManager.GetString("Device_implements_HPI_using_CMD13", resourceCulture); + } + } + + internal static string Device_supports_background_operations { + get { + return ResourceManager.GetString("Device_supports_background_operations", resourceCulture); + } + } + + internal static string Device_supports_a_maximum_of_0_packed_reads_and_1_packed_writes { + get { + return ResourceManager.GetString("Device_supports_a_maximum_of_0_packed_reads_and_1_packed_writes", resourceCulture); + } + } + + internal static string Device_supports_Data_Tag { + get { + return ResourceManager.GetString("Device_supports_Data_Tag", resourceCulture); + } + } + + internal static string Tags_must_be_in_units_of_0_sectors { + get { + return ResourceManager.GetString("Tags_must_be_in_units_of_0_sectors", resourceCulture); + } + } + + internal static string Tag_resources_size_is_0 { + get { + return ResourceManager.GetString("Tag_resources_size_is_0", resourceCulture); + } + } + + internal static string Max_context_ID_is_0 { + get { + return ResourceManager.GetString("Max_context_ID_is_0", resourceCulture); + } + } + + internal static string Large_unit_maximum_multiplier_is_0 { + get { + return ResourceManager.GetString("Large_unit_maximum_multiplier_is_0", resourceCulture); + } + } + + internal static string Large_unit_size_is_0_MiB { + get { + return ResourceManager.GetString("Large_unit_size_is_0_MiB", resourceCulture); + } + } + + internal static string Device_supports_non_persistent_extended_partitions { + get { + return ResourceManager.GetString("Device_supports_non_persistent_extended_partitions", resourceCulture); + } + } + + internal static string Device_supports_system_code_extended_partitions { + get { + return ResourceManager.GetString("Device_supports_system_code_extended_partitions", resourceCulture); + } + } + + internal static string Device_supports_FFU { + get { + return ResourceManager.GetString("Device_supports_FFU", resourceCulture); + } + } + + internal static string Maximum_timeout_for_switch_command_when_setting_a_value_to_the_mode_operation_codes_field_is_0_s { + get { + return ResourceManager.GetString("Maximum_timeout_for_switch_command_when_setting_a_value_to_the_mode_operation_cod" + + "es_field_is_0_s", resourceCulture); + } + } + + internal static string Maximum_timeout_for_switch_command_when_setting_a_value_to_the_mode_operation_codes_field_is_0_ms { + get { + return ResourceManager.GetString("Maximum_timeout_for_switch_command_when_setting_a_value_to_the_mode_operation_cod" + + "es_field_is_0_ms", resourceCulture); + } + } + + internal static string Maximum_timeout_for_switch_command_when_setting_a_value_to_the_mode_operation_codes_field_is_0_µs { + get { + return ResourceManager.GetString("Maximum_timeout_for_switch_command_when_setting_a_value_to_the_mode_operation_cod" + + "es_field_is_0_µs", resourceCulture); + } + } + + internal static string Device_supports_Vendor_Specific_Mode { + get { + return ResourceManager.GetString("Device_supports_Vendor_Specific_Mode", resourceCulture); + } + } + + internal static string Device_supports_the_barrier_command { + get { + return ResourceManager.GetString("Device_supports_the_barrier_command", resourceCulture); + } + } + + internal static string Device_supports_command_queuing_with_a_depth_of_0 { + get { + return ResourceManager.GetString("Device_supports_command_queuing_with_a_depth_of_0", resourceCulture); + } + } + + internal static string _0_firmware_sectors_correctly_programmed { + get { + return ResourceManager.GetString("_0_firmware_sectors_correctly_programmed", resourceCulture); + } + } + + internal static string Device_used_between_zero_and_10_of_its_estimated_life_time { + get { + return ResourceManager.GetString("Device_used_between_zero_and_10_of_its_estimated_life_time", resourceCulture); + } + } + + internal static string Device_used_between_10_and_20_of_its_estimated_life_time { + get { + return ResourceManager.GetString("Device_used_between_10_and_20_of_its_estimated_life_time", resourceCulture); + } + } + + internal static string Device_used_between_20_and_30_of_its_estimated_life_time { + get { + return ResourceManager.GetString("Device_used_between_20_and_30_of_its_estimated_life_time", resourceCulture); + } + } + + internal static string Device_used_between_30_and_40_of_its_estimated_life_time { + get { + return ResourceManager.GetString("Device_used_between_30_and_40_of_its_estimated_life_time", resourceCulture); + } + } + + internal static string Device_used_between_40_and_50_of_its_estimated_life_time { + get { + return ResourceManager.GetString("Device_used_between_40_and_50_of_its_estimated_life_time", resourceCulture); + } + } + + internal static string Device_used_between_50_and_60_of_its_estimated_life_time { + get { + return ResourceManager.GetString("Device_used_between_50_and_60_of_its_estimated_life_time", resourceCulture); + } + } + + internal static string Device_used_between_60_and_70_of_its_estimated_life_time { + get { + return ResourceManager.GetString("Device_used_between_60_and_70_of_its_estimated_life_time", resourceCulture); + } + } + + internal static string Device_used_between_70_and_80_of_its_estimated_life_time { + get { + return ResourceManager.GetString("Device_used_between_70_and_80_of_its_estimated_life_time", resourceCulture); + } + } + + internal static string Device_used_between_80_and_90_of_its_estimated_life_time { + get { + return ResourceManager.GetString("Device_used_between_80_and_90_of_its_estimated_life_time", resourceCulture); + } + } + + internal static string Device_used_between_90_and_100_of_its_estimated_life_time { + get { + return ResourceManager.GetString("Device_used_between_90_and_100_of_its_estimated_life_time", resourceCulture); + } + } + + internal static string Device_exceeded_its_maximum_estimated_life_time { + get { + return ResourceManager.GetString("Device_exceeded_its_maximum_estimated_life_time", resourceCulture); + } + } + + internal static string Device_informs_its_in_good_health { + get { + return ResourceManager.GetString("Device_informs_its_in_good_health", resourceCulture); + } + } + + internal static string Device_informs_it_should_be_replaced_soon { + get { + return ResourceManager.GetString("Device_informs_it_should_be_replaced_soon", resourceCulture); + } + } + + internal static string Device_informs_it_should_be_replace_immediately { + get { + return ResourceManager.GetString("Device_informs_it_should_be_replace_immediately", resourceCulture); + } + } + + internal static string Device_does_not_report_an_optimal_read_size { + get { + return ResourceManager.GetString("Device_does_not_report_an_optimal_read_size", resourceCulture); + } + } + + internal static string Optimal_read_size_is_0_KiB { + get { + return ResourceManager.GetString("Optimal_read_size_is_0_KiB", resourceCulture); + } + } + + internal static string Device_does_not_report_an_optimal_write_size { + get { + return ResourceManager.GetString("Device_does_not_report_an_optimal_write_size", resourceCulture); + } + } + + internal static string Optimal_write_size_is_0_KiB { + get { + return ResourceManager.GetString("Optimal_write_size_is_0_KiB", resourceCulture); + } + } + + internal static string Device_does_not_report_an_optimal_trim_size { + get { + return ResourceManager.GetString("Device_does_not_report_an_optimal_trim_size", resourceCulture); + } + } + + internal static string Optimal_trim_size_is_0_KiB { + get { + return ResourceManager.GetString("Optimal_trim_size_is_0_KiB", resourceCulture); + } + } + + internal static string Device_version_0 { + get { + return ResourceManager.GetString("Device_version_0", resourceCulture); + } + } + + internal static string Firmware_version_0 { + get { + return ResourceManager.GetString("Firmware_version_0", resourceCulture); + } + } + + internal static string Device_has_no_cache { + get { + return ResourceManager.GetString("Device_has_no_cache", resourceCulture); + } + } + + internal static string Device_has_0_KiB_of_cache { + get { + return ResourceManager.GetString("Device_has_0_KiB_of_cache", resourceCulture); + } + } + + internal static string Device_takes_a_maximum_of_0_ms_by_default_for_a_SWITCH_command { + get { + return ResourceManager.GetString("Device_takes_a_maximum_of_0_ms_by_default_for_a_SWITCH_command", resourceCulture); + } + } + + internal static string Device_takes_a_maximum_of_0_by_default_to_power_off_from_a_SWITCH_command_notification { + get { + return ResourceManager.GetString("Device_takes_a_maximum_of_0_by_default_to_power_off_from_a_SWITCH_command_notific" + + "ation", resourceCulture); + } + } + + internal static string Device_has_no_pending_background_operations { + get { + return ResourceManager.GetString("Device_has_no_pending_background_operations", resourceCulture); + } + } + + internal static string Device_has_non_critical_operations_outstanding { + get { + return ResourceManager.GetString("Device_has_non_critical_operations_outstanding", resourceCulture); + } + } + + internal static string Device_has_performance_impacted_operations_outstanding { + get { + return ResourceManager.GetString("Device_has_performance_impacted_operations_outstanding", resourceCulture); + } + } + + internal static string Device_has_critical_operations_outstanding { + get { + return ResourceManager.GetString("Device_has_critical_operations_outstanding", resourceCulture); + } + } + + internal static string Last_WRITE_MULTIPLE_command_correctly_programmed_0_sectors { + get { + return ResourceManager.GetString("Last_WRITE_MULTIPLE_command_correctly_programmed_0_sectors", resourceCulture); + } + } + + internal static string Device_takes_a_maximum_of_0_ms_for_initialization_after_partition { + get { + return ResourceManager.GetString("Device_takes_a_maximum_of_0_ms_for_initialization_after_partition", resourceCulture); + } + } + + internal static string Device_uses_a_FIFO_policy_for_cache_flushing { + get { + return ResourceManager.GetString("Device_uses_a_FIFO_policy_for_cache_flushing", resourceCulture); + } + } + + internal static string Device_takes_a_maximum_of_0_ms_for_trimming_a_single_erase_group { + get { + return ResourceManager.GetString("Device_takes_a_maximum_of_0_ms_for_trimming_a_single_erase_group", resourceCulture); + } + } + + internal static string Device_supports_the_sanitize_operation { + get { + return ResourceManager.GetString("Device_supports_the_sanitize_operation", resourceCulture); + } + } + + internal static string Device_supports_supports_the_secure_and_insecure_trim_operations { + get { + return ResourceManager.GetString("Device_supports_supports_the_secure_and_insecure_trim_operations", resourceCulture); + } + } + + internal static string Device_supports_automatic_erase_on_retired_defective_blocks { + get { + return ResourceManager.GetString("Device_supports_automatic_erase_on_retired_defective_blocks", resourceCulture); + } + } + + internal static string Device_supports_secure_purge_operations { + get { + return ResourceManager.GetString("Device_supports_secure_purge_operations", resourceCulture); + } + } + + internal static string Device_takes_a_maximum_of_0_ms_for_securely_erasing_a_single_erase_group { + get { + return ResourceManager.GetString("Device_takes_a_maximum_of_0_ms_for_securely_erasing_a_single_erase_group", resourceCulture); + } + } + + internal static string Device_takes_a_maximum_of_0_ms_for_securely_trimming_a_single_erase_group { + get { + return ResourceManager.GetString("Device_takes_a_maximum_of_0_ms_for_securely_trimming_a_single_erase_group", resourceCulture); + } + } + + internal static string Device_supports_high_speed_timing_on_boot { + get { + return ResourceManager.GetString("Device_supports_high_speed_timing_on_boot", resourceCulture); + } + } + + internal static string Device_supports_dual_data_rate_on_boot { + get { + return ResourceManager.GetString("Device_supports_dual_data_rate_on_boot", resourceCulture); + } + } + + internal static string Device_supports_alternative_boot_method { + get { + return ResourceManager.GetString("Device_supports_alternative_boot_method", resourceCulture); + } + } + + internal static string Device_has_a_0_KiB_boot_partition { + get { + return ResourceManager.GetString("Device_has_a_0_KiB_boot_partition", resourceCulture); + } + } + + internal static string Device_has_a_page_size_of_0_KiB { + get { + return ResourceManager.GetString("Device_has_a_page_size_of_0_KiB", resourceCulture); + } + } + + internal static string Device_erase_groups_are_0_KiB { + get { + return ResourceManager.GetString("Device_erase_groups_are_0_KiB", resourceCulture); + } + } + + internal static string Device_takes_a_maximum_of_0_ms_for_erasing_a_single_erase_group { + get { + return ResourceManager.GetString("Device_takes_a_maximum_of_0_ms_for_erasing_a_single_erase_group", resourceCulture); + } + } + + internal static string Device_smallest_write_protect_group_is_made_of_0_erase_groups { + get { + return ResourceManager.GetString("Device_smallest_write_protect_group_is_made_of_0_erase_groups", resourceCulture); + } + } + + internal static string Device_uses_0_mA_on_Vcc_when_sleeping { + get { + return ResourceManager.GetString("Device_uses_0_mA_on_Vcc_when_sleeping", resourceCulture); + } + } + + internal static string Device_uses_0_μA_on_Vcc_when_sleeping { + get { + return ResourceManager.GetString("Device_uses_0_μA_on_Vcc_when_sleeping", resourceCulture); + } + } + + internal static string Device_uses_0_mA_on_Vccq_when_sleeping { + get { + return ResourceManager.GetString("Device_uses_0_mA_on_Vccq_when_sleeping", resourceCulture); + } + } + + internal static string Device_uses_0_μA_on_Vccq_when_sleeping { + get { + return ResourceManager.GetString("Device_uses_0_μA_on_Vccq_when_sleeping", resourceCulture); + } + } + + internal static string Device_takes_a_maximum_of_0_s_to_switch_production_state_awareness { + get { + return ResourceManager.GetString("Device_takes_a_maximum_of_0_s_to_switch_production_state_awareness", resourceCulture); + } + } + + internal static string Device_takes_a_maximum_of_0_ms_to_switch_production_state_awareness { + get { + return ResourceManager.GetString("Device_takes_a_maximum_of_0_ms_to_switch_production_state_awareness", resourceCulture); + } + } + + internal static string Device_takes_a_maximum_of_0_μs_to_switch_production_state_awareness { + get { + return ResourceManager.GetString("Device_takes_a_maximum_of_0_μs_to_switch_production_state_awareness", resourceCulture); + } + } + + internal static string Device_takes_a_maximum_of_0_ms_to_transition_between_sleep_and_standby_states { + get { + return ResourceManager.GetString("Device_takes_a_maximum_of_0_ms_to_transition_between_sleep_and_standby_states", resourceCulture); + } + } + + internal static string Device_takes_a_maximum_of_0_μs_to_transition_between_sleep_and_standby_states { + get { + return ResourceManager.GetString("Device_takes_a_maximum_of_0_μs_to_transition_between_sleep_and_standby_states", resourceCulture); + } + } + + internal static string Device_takes_a_maximum_of_0_ns_to_transition_between_sleep_and_standby_states { + get { + return ResourceManager.GetString("Device_takes_a_maximum_of_0_ns_to_transition_between_sleep_and_standby_states", resourceCulture); + } + } + + internal static string Device_takes_a_maximum_of_0_s_to_move_to_sleep_state { + get { + return ResourceManager.GetString("Device_takes_a_maximum_of_0_s_to_move_to_sleep_state", resourceCulture); + } + } + + internal static string Device_takes_a_maximum_of_0_ms_to_move_to_sleep_state { + get { + return ResourceManager.GetString("Device_takes_a_maximum_of_0_ms_to_move_to_sleep_state", resourceCulture); + } + } + + internal static string Device_takes_a_maximum_of_0_μs_to_move_to_sleep_state { + get { + return ResourceManager.GetString("Device_takes_a_maximum_of_0_μs_to_move_to_sleep_state", resourceCulture); + } + } + + internal static string Device_has_0_sectors { + get { + return ResourceManager.GetString("Device_has_0_sectors", resourceCulture); + } + } + + internal static string Device_supports_secure_write_protection { + get { + return ResourceManager.GetString("Device_supports_secure_write_protection", resourceCulture); + } + } + + internal static string Device_has_secure_write_protection_enabled { + get { + return ResourceManager.GetString("Device_has_secure_write_protection_enabled", resourceCulture); + } + } + + internal static string Device_cannot_achieve_2_4MB_s_reading_in_SDR_26Mhz_mode { + get { + return ResourceManager.GetString("Device_cannot_achieve_2_4MB_s_reading_in_SDR_26Mhz_mode", resourceCulture); + } + } + + internal static string Device_can_achieve_a_minimum_of_0_MB_s_reading_in_SDR_26Mhz_mode { + get { + return ResourceManager.GetString("Device_can_achieve_a_minimum_of_0_MB_s_reading_in_SDR_26Mhz_mode", resourceCulture); + } + } + + internal static string Device_cannot_achieve_2_4MB_s_reading_in_SDR_26Mhz_4_bit_mode { + get { + return ResourceManager.GetString("Device_cannot_achieve_2_4MB_s_reading_in_SDR_26Mhz_4_bit_mode", resourceCulture); + } + } + + internal static string Device_can_achieve_a_minimum_of_0_MB_s_reading_in_SDR_26Mhz_4_bit_mode { + get { + return ResourceManager.GetString("Device_can_achieve_a_minimum_of_0_MB_s_reading_in_SDR_26Mhz_4_bit_mode", resourceCulture); + } + } + + internal static string Device_cannot_achieve_2_4MB_s_reading_in_SDR_52Mhz_mode { + get { + return ResourceManager.GetString("Device_cannot_achieve_2_4MB_s_reading_in_SDR_52Mhz_mode", resourceCulture); + } + } + + internal static string Device_can_achieve_a_minimum_of_0_MB_s_reading_in_SDR_52Mhz_mode { + get { + return ResourceManager.GetString("Device_can_achieve_a_minimum_of_0_MB_s_reading_in_SDR_52Mhz_mode", resourceCulture); + } + } + + internal static string Device_cannot_achieve_4_8MB_s_reading_in_DDR_52Mhz_mode { + get { + return ResourceManager.GetString("Device_cannot_achieve_4_8MB_s_reading_in_DDR_52Mhz_mode", resourceCulture); + } + } + + internal static string Device_can_achieve_a_minimum_of_0_MB_s_reading_in_DDR_52Mhz_mode { + get { + return ResourceManager.GetString("Device_can_achieve_a_minimum_of_0_MB_s_reading_in_DDR_52Mhz_mode", resourceCulture); + } + } + + internal static string Device_cannot_achieve_2_4MB_s_writing_in_SDR_26Mhz_mode { + get { + return ResourceManager.GetString("Device_cannot_achieve_2_4MB_s_writing_in_SDR_26Mhz_mode", resourceCulture); + } + } + + internal static string Device_can_achieve_a_minimum_of_0_MB_s_writing_in_SDR_26Mhz_mode { + get { + return ResourceManager.GetString("Device_can_achieve_a_minimum_of_0_MB_s_writing_in_SDR_26Mhz_mode", resourceCulture); + } + } + + internal static string Device_cannot_achieve_2_4MB_s_writing_in_SDR_26Mhz_4_bit_mode { + get { + return ResourceManager.GetString("Device_cannot_achieve_2_4MB_s_writing_in_SDR_26Mhz_4_bit_mode", resourceCulture); + } + } + + internal static string Device_can_achieve_a_minimum_of_0_MB_s_writing_in_SDR_26Mhz_4_bit_mode { + get { + return ResourceManager.GetString("Device_can_achieve_a_minimum_of_0_MB_s_writing_in_SDR_26Mhz_4_bit_mode", resourceCulture); + } + } + + internal static string Device_cannot_achieve_2_4MB_s_writing_in_SDR_52Mhz_mode { + get { + return ResourceManager.GetString("Device_cannot_achieve_2_4MB_s_writing_in_SDR_52Mhz_mode", resourceCulture); + } + } + + internal static string Device_can_achieve_a_minimum_of_0_MB_s_writing_in_SDR_52Mhz_mode { + get { + return ResourceManager.GetString("Device_can_achieve_a_minimum_of_0_MB_s_writing_in_SDR_52Mhz_mode", resourceCulture); + } + } + + internal static string Device_cannot_achieve_4_8MB_s_writing_in_DDR_52Mhz_mode { + get { + return ResourceManager.GetString("Device_cannot_achieve_4_8MB_s_writing_in_DDR_52Mhz_mode", resourceCulture); + } + } + + internal static string Device_can_achieve_a_minimum_of_0_MB_s_writing_in_DDR_52Mhz_mode { + get { + return ResourceManager.GetString("Device_can_achieve_a_minimum_of_0_MB_s_writing_in_DDR_52Mhz_mode", resourceCulture); + } + } + + internal static string Device_can_take_a_maximum_of_0_ms_when_switching_partitions { + get { + return ResourceManager.GetString("Device_can_take_a_maximum_of_0_ms_when_switching_partitions", resourceCulture); + } + } + + internal static string Device_can_take_a_maximum_of_0_ms_when_releasing_from_an_interrupt { + get { + return ResourceManager.GetString("Device_can_take_a_maximum_of_0_ms_when_releasing_from_an_interrupt", resourceCulture); + } + } + + internal static string Device_supports_IO_driver_strength_type_zero { + get { + return ResourceManager.GetString("Device_supports_IO_driver_strength_type_zero", resourceCulture); + } + } + + internal static string Device_supports_IO_driver_strength_type_one { + get { + return ResourceManager.GetString("Device_supports_IO_driver_strength_type_one", resourceCulture); + } + } + + internal static string Device_supports_IO_driver_strength_type_two { + get { + return ResourceManager.GetString("Device_supports_IO_driver_strength_type_two", resourceCulture); + } + } + + internal static string Device_supports_IO_driver_strength_type_three { + get { + return ResourceManager.GetString("Device_supports_IO_driver_strength_type_three", resourceCulture); + } + } + + internal static string Device_supports_IO_driver_strength_type_four { + get { + return ResourceManager.GetString("Device_supports_IO_driver_strength_type_four", resourceCulture); + } + } + + internal static string Device_supports_26_Mhz_mode { + get { + return ResourceManager.GetString("Device_supports_26_Mhz_mode", resourceCulture); + } + } + + internal static string Device_supports_52_Mhz_mode { + get { + return ResourceManager.GetString("Device_supports_52_Mhz_mode", resourceCulture); + } + } + + internal static string Device_supports_DDR_52_Mhz_mode_at_1_8V_or_3V { + get { + return ResourceManager.GetString("Device_supports_DDR_52_Mhz_mode_at_1_8V_or_3V", resourceCulture); + } + } + + internal static string Device_supports_DDR_52_Mhz_mode_1_2V { + get { + return ResourceManager.GetString("Device_supports_DDR_52_Mhz_mode_1_2V", resourceCulture); + } + } + + internal static string Device_supports_HS_200_mode_SDR_200Mhz_at_1_8V { + get { + return ResourceManager.GetString("Device_supports_HS_200_mode_SDR_200Mhz_at_1_8V", resourceCulture); + } + } + + internal static string Device_supports_HS_200_mode_SDR_200Mhz_at_1_2V { + get { + return ResourceManager.GetString("Device_supports_HS_200_mode_SDR_200Mhz_at_1_2V", resourceCulture); + } + } + + internal static string Device_supports_HS_400_mode_DDR_200Mhz_at_1_8V { + get { + return ResourceManager.GetString("Device_supports_HS_400_mode_DDR_200Mhz_at_1_8V", resourceCulture); + } + } + + internal static string Device_supports_HS_400_mode_DDR_200Mhz_at_1_2V { + get { + return ResourceManager.GetString("Device_supports_HS_400_mode_DDR_200Mhz_at_1_2V", resourceCulture); + } + } + + internal static string CSD_version_one_0_revision_one_1 { + get { + return ResourceManager.GetString("CSD_version_one_0_revision_one_1", resourceCulture); + } + } + + internal static string Device_follows_compatibility_MMC_command_set { + get { + return ResourceManager.GetString("Device_follows_compatibility_MMC_command_set", resourceCulture); + } + } + + internal static string Device_follows_standard_MMC_command_set_v4_0 { + get { + return ResourceManager.GetString("Device_follows_standard_MMC_command_set_v4_0", resourceCulture); + } + } + + internal static string Device_follows_standard_MMC_command_set_with_unknown_version_code_0 { + get { + return ResourceManager.GetString("Device_follows_standard_MMC_command_set_with_unknown_version_code_0", resourceCulture); + } + } + + internal static string Device_follows_unknown_MMC_command_set_code_0_with_revision_code_1 { + get { + return ResourceManager.GetString("Device_follows_unknown_MMC_command_set_code_0_with_revision_code_1", resourceCulture); + } + } + + internal static string Device_is_in_High_Speed_mode { + get { + return ResourceManager.GetString("Device_is_in_High_Speed_mode", resourceCulture); + } + } + + internal static string Device_is_in_HS200_mode { + get { + return ResourceManager.GetString("Device_is_in_HS200_mode", resourceCulture); + } + } + + internal static string Device_is_in_HS400_mode { + get { + return ResourceManager.GetString("Device_is_in_HS400_mode", resourceCulture); + } + } + + internal static string Device_has_unknown_timing_mode_0 { + get { + return ResourceManager.GetString("Device_has_unknown_timing_mode_0", resourceCulture); + } + } + + internal static string Selected_driver_strength_is_type_0 { + get { + return ResourceManager.GetString("Selected_driver_strength_is_type_0", resourceCulture); + } + } + + internal static string Device_supports_enhanced_strobe_mode { + get { + return ResourceManager.GetString("Device_supports_enhanced_strobe_mode", resourceCulture); + } + } + + internal static string Device_uses_strobe_during_Data_Out_CRC_and_CMD_responses { + get { + return ResourceManager.GetString("Device_uses_strobe_during_Data_Out_CRC_and_CMD_responses", resourceCulture); + } + } + + internal static string Device_uses_strobe_during_Data_Out_and_CRC_responses { + get { + return ResourceManager.GetString("Device_uses_strobe_during_Data_Out_and_CRC_responses", resourceCulture); + } + } + + internal static string Device_is_using_1bit_data_bus { + get { + return ResourceManager.GetString("Device_is_using_1bit_data_bus", resourceCulture); + } + } + + internal static string Device_is_using_4bit_data_bus { + get { + return ResourceManager.GetString("Device_is_using_4bit_data_bus", resourceCulture); + } + } + + internal static string Device_is_using_8bit_data_bus { + get { + return ResourceManager.GetString("Device_is_using_8bit_data_bus", resourceCulture); + } + } + + internal static string Device_is_using_4bit_DDR_data_bus { + get { + return ResourceManager.GetString("Device_is_using_4bit_DDR_data_bus", resourceCulture); + } + } + + internal static string Device_is_using_8bit_DDR_data_bus { + get { + return ResourceManager.GetString("Device_is_using_8bit_DDR_data_bus", resourceCulture); + } + } + + internal static string Device_is_using_unknown_data_bus_code_0 { + get { + return ResourceManager.GetString("Device_is_using_unknown_data_bus_code_0", resourceCulture); + } + } + + internal static string Erased_memory_range_shall_be_0 { + get { + return ResourceManager.GetString("Erased_memory_range_shall_be_0", resourceCulture); + } + } + + internal static string Unknown_erased_memory_content_code_0 { + get { + return ResourceManager.GetString("Unknown_erased_memory_content_code_0", resourceCulture); + } + } + + internal static string Device_sends_boot_acknowledge { + get { + return ResourceManager.GetString("Device_sends_boot_acknowledge", resourceCulture); + } + } + + internal static string Device_is_not_boot_enabled { + get { + return ResourceManager.GetString("Device_is_not_boot_enabled", resourceCulture); + } + } + + internal static string Device_boot_partition_one_is_enabled { + get { + return ResourceManager.GetString("Device_boot_partition_one_is_enabled", resourceCulture); + } + } + + internal static string Device_boot_partition_two_is_enabled { + get { + return ResourceManager.GetString("Device_boot_partition_two_is_enabled", resourceCulture); + } + } + + internal static string Device_user_area_is_enable_for_boot { + get { + return ResourceManager.GetString("Device_user_area_is_enable_for_boot", resourceCulture); + } + } + + internal static string Unknown_enabled_boot_partition_code_0 { + get { + return ResourceManager.GetString("Unknown_enabled_boot_partition_code_0", resourceCulture); + } + } + + internal static string There_is_no_access_to_boot_partition { + get { + return ResourceManager.GetString("There_is_no_access_to_boot_partition", resourceCulture); + } + } + + internal static string There_is_read_write_access_to_boot_partition_one { + get { + return ResourceManager.GetString("There_is_read_write_access_to_boot_partition_one", resourceCulture); + } + } + + internal static string There_is_read_write_access_to_boot_partition_two { + get { + return ResourceManager.GetString("There_is_read_write_access_to_boot_partition_two", resourceCulture); + } + } + + internal static string There_is_read_write_access_to_replay_protected_memory_block { + get { + return ResourceManager.GetString("There_is_read_write_access_to_replay_protected_memory_block", resourceCulture); + } + } + + internal static string There_is_access_to_general_purpose_partition_0 { + get { + return ResourceManager.GetString("There_is_access_to_general_purpose_partition_0", resourceCulture); + } + } + + internal static string Change_of_the_boot_configuration_register_bits_is_permanently_disabled { + get { + return ResourceManager.GetString("Change_of_the_boot_configuration_register_bits_is_permanently_disabled", resourceCulture); + } + } + + internal static string Change_of_the_boot_configuration_register_bits_is_disabled_until_the_next_power_cycle { + get { + return ResourceManager.GetString("Change_of_the_boot_configuration_register_bits_is_disabled_until_the_next_power_c" + + "ycle", resourceCulture); + } + } + + internal static string Device_will_boot_up_in_x1_SDR_or_x4_DDR_bus_width { + get { + return ResourceManager.GetString("Device_will_boot_up_in_x1_SDR_or_x4_DDR_bus_width", resourceCulture); + } + } + + internal static string Device_will_boot_up_in_x4_SDR_or_DDR_bus_width { + get { + return ResourceManager.GetString("Device_will_boot_up_in_x4_SDR_or_DDR_bus_width", resourceCulture); + } + } + + internal static string Device_will_boot_up_in_x8_SDR_or_DDR_bus_width { + get { + return ResourceManager.GetString("Device_will_boot_up_in_x8_SDR_or_DDR_bus_width", resourceCulture); + } + } + + internal static string Unknown_boot_condition_for_bus_width_with_code_three { + get { + return ResourceManager.GetString("Unknown_boot_condition_for_bus_width_with_code_three", resourceCulture); + } + } + + internal static string Device_will_retain_boot_conditions_after_boot_operation { + get { + return ResourceManager.GetString("Device_will_retain_boot_conditions_after_boot_operation", resourceCulture); + } + } + + internal static string Device_will_reset_boot_conditions_to_compatibility_mode_after_boot_operation { + get { + return ResourceManager.GetString("Device_will_reset_boot_conditions_to_compatibility_mode_after_boot_operation", resourceCulture); + } + } + + internal static string Device_will_use_single_data_rate_with_compatible_timings_in_boot_operation { + get { + return ResourceManager.GetString("Device_will_use_single_data_rate_with_compatible_timings_in_boot_operation", resourceCulture); + } + } + + internal static string Device_will_use_single_data_rate_with_high_speed_timings_in_boot_operation { + get { + return ResourceManager.GetString("Device_will_use_single_data_rate_with_high_speed_timings_in_boot_operation", resourceCulture); + } + } + + internal static string Device_will_use_dual_data_rate_in_boot_operation { + get { + return ResourceManager.GetString("Device_will_use_dual_data_rate_in_boot_operation", resourceCulture); + } + } + + internal static string Device_will_use_unknown_boot_mode_with_code_three { + get { + return ResourceManager.GetString("Device_will_use_unknown_boot_mode_with_code_three", resourceCulture); + } + } + + internal static string Device_will_use_high_capacity_erase_unit_size__timeout_and_write_protect_group_size_definitions { + get { + return ResourceManager.GetString("Device_will_use_high_capacity_erase_unit_size__timeout_and_write_protect_group_si" + + "ze_definitions", resourceCulture); + } + } + + internal static string Boot_area_one_is_not_protected { + get { + return ResourceManager.GetString("Boot_area_one_is_not_protected", resourceCulture); + } + } + + internal static string Boot_area_one_is_power_on_protected { + get { + return ResourceManager.GetString("Boot_area_one_is_power_on_protected", resourceCulture); + } + } + + internal static string Boot_area_one_is_permanently_protected { + get { + return ResourceManager.GetString("Boot_area_one_is_permanently_protected", resourceCulture); + } + } + + internal static string Boot_area_two_is_not_protected { + get { + return ResourceManager.GetString("Boot_area_two_is_not_protected", resourceCulture); + } + } + + internal static string Boot_area_two_is_power_on_protected { + get { + return ResourceManager.GetString("Boot_area_two_is_power_on_protected", resourceCulture); + } + } + + internal static string Boot_area_two_is_permanently_protected { + get { + return ResourceManager.GetString("Boot_area_two_is_permanently_protected", resourceCulture); + } + } + + internal static string Boot_area_two_is_permanently_write_protected { + get { + return ResourceManager.GetString("Boot_area_two_is_permanently_write_protected", resourceCulture); + } + } + + internal static string Boot_area_one_is_permanently_write_protected { + get { + return ResourceManager.GetString("Boot_area_one_is_permanently_write_protected", resourceCulture); + } + } + + internal static string Both_boot_areas_are_permanently_write_protected { + get { + return ResourceManager.GetString("Both_boot_areas_are_permanently_write_protected", resourceCulture); + } + } + + internal static string Boot_area_two_is_write_protected_until_next_power_cycle { + get { + return ResourceManager.GetString("Boot_area_two_is_write_protected_until_next_power_cycle", resourceCulture); + } + } + + internal static string Boot_area_one_is_write_protected_until_next_power_cycle { + get { + return ResourceManager.GetString("Boot_area_one_is_write_protected_until_next_power_cycle", resourceCulture); + } + } + + internal static string Both_boot_areas_are_write_protected_until_next_power_cycle { + get { + return ResourceManager.GetString("Both_boot_areas_are_write_protected_until_next_power_cycle", resourceCulture); + } + } + + internal static string Permanent_write_protection_of_boot_areas_is_disabled { + get { + return ResourceManager.GetString("Permanent_write_protection_of_boot_areas_is_disabled", resourceCulture); + } + } + + internal static string Power_cycled_write_protection_of_boot_areas_is_disabled { + get { + return ResourceManager.GetString("Power_cycled_write_protection_of_boot_areas_is_disabled", resourceCulture); + } + } + + internal static string Use_of_password_protection_features_is_permanently_disabled { + get { + return ResourceManager.GetString("Use_of_password_protection_features_is_permanently_disabled", resourceCulture); + } + } + + internal static string Use_of_permanent_write_protection_is_disabled { + get { + return ResourceManager.GetString("Use_of_permanent_write_protection_is_disabled", resourceCulture); + } + } + + internal static string Permanent_write_protection_is_disabled { + get { + return ResourceManager.GetString("Permanent_write_protection_is_disabled", resourceCulture); + } + } + + internal static string Power_cycled_write_protection_is_disabled { + get { + return ResourceManager.GetString("Power_cycled_write_protection_is_disabled", resourceCulture); + } + } + + internal static string Permanent_write_protection_will_be_applied_to_selected_group { + get { + return ResourceManager.GetString("Permanent_write_protection_will_be_applied_to_selected_group", resourceCulture); + } + } + + internal static string Power_cycled_write_protection_will_be_applied_to_selected_group { + get { + return ResourceManager.GetString("Power_cycled_write_protection_will_be_applied_to_selected_group", resourceCulture); + } + } + + internal static string Firmware_updates_are_permanently_disabled { + get { + return ResourceManager.GetString("Firmware_updates_are_permanently_disabled", resourceCulture); + } + } + + internal static string Device_has_a_0_KiB_replay_protected_memory_block { + get { + return ResourceManager.GetString("Device_has_a_0_KiB_replay_protected_memory_block", resourceCulture); + } + } + + internal static string Device_supports_partitioning_features { + get { + return ResourceManager.GetString("Device_supports_partitioning_features", resourceCulture); + } + } + + internal static string Device_can_have_enhanced_technological_features_in_partitions_and_user_data_area { + get { + return ResourceManager.GetString("Device_can_have_enhanced_technological_features_in_partitions_and_user_data_area", resourceCulture); + } + } + + internal static string Device_can_have_extended_partitions_attribute { + get { + return ResourceManager.GetString("Device_can_have_extended_partitions_attribute", resourceCulture); + } + } + + internal static string Device_natively_uses_512_byte_sectors { + get { + return ResourceManager.GetString("Device_natively_uses_512_byte_sectors", resourceCulture); + } + } + + internal static string Device_natively_uses_4096_byte_sectors { + get { + return ResourceManager.GetString("Device_natively_uses_4096_byte_sectors", resourceCulture); + } + } + + internal static string Device_natively_uses_unknown_sector_size_indicated_by_code_0 { + get { + return ResourceManager.GetString("Device_natively_uses_unknown_sector_size_indicated_by_code_0", resourceCulture); + } + } + + internal static string Device_is_emulating_512_byte_sectors { + get { + return ResourceManager.GetString("Device_is_emulating_512_byte_sectors", resourceCulture); + } + } + + internal static string Device_is_using_natively_sized_sectors { + get { + return ResourceManager.GetString("Device_is_using_natively_sized_sectors", resourceCulture); + } + } + + internal static string Device_emulates_unknown_sector_size_indicated_by_code_0 { + get { + return ResourceManager.GetString("Device_emulates_unknown_sector_size_indicated_by_code_0", resourceCulture); + } + } + + internal static string Device_currently_addresses_512_byte_sectors { + get { + return ResourceManager.GetString("Device_currently_addresses_512_byte_sectors", resourceCulture); + } + } + + internal static string Device_currently_addresses_4096_byte_sectors { + get { + return ResourceManager.GetString("Device_currently_addresses_4096_byte_sectors", resourceCulture); + } + } + + internal static string Device_currently_addresses_unknown_sector_size_indicated_by_code_0 { + get { + return ResourceManager.GetString("Device_currently_addresses_unknown_sector_size_indicated_by_code_0", resourceCulture); + } + } + + internal static string Devices_cache_is_enabled { + get { + return ResourceManager.GetString("Devices_cache_is_enabled", resourceCulture); + } + } + + internal static string Device_has_enabled_command_queuing { + get { + return ResourceManager.GetString("Device_has_enabled_command_queuing", resourceCulture); + } + } + + internal static string MultiMediaCard_Operation_Conditions_Register { + get { + return ResourceManager.GetString("MultiMediaCard_Operation_Conditions_Register", resourceCulture); + } + } + + internal static string Device_is_powering_up { + get { + return ResourceManager.GetString("Device_is_powering_up", resourceCulture); + } + } + + internal static string Device_is_byte_addressed { + get { + return ResourceManager.GetString("Device_is_byte_addressed", resourceCulture); + } + } + + internal static string Device_is_sector_addressed { + get { + return ResourceManager.GetString("Device_is_sector_addressed", resourceCulture); + } + } + + internal static string Unknown_device_access_mode_0 { + get { + return ResourceManager.GetString("Unknown_device_access_mode_0", resourceCulture); + } + } + + internal static string Device_can_work_with_supply_3_5_3_6V { + get { + return ResourceManager.GetString("Device_can_work_with_supply_3_5_3_6V", resourceCulture); + } + } + + internal static string Device_can_work_with_supply_3_4_3_5V { + get { + return ResourceManager.GetString("Device_can_work_with_supply_3_4_3_5V", resourceCulture); + } + } + + internal static string Device_can_work_with_supply_3_3_3_4V { + get { + return ResourceManager.GetString("Device_can_work_with_supply_3_3_3_4V", resourceCulture); + } + } + + internal static string Device_can_work_with_supply_3_2_3_3V { + get { + return ResourceManager.GetString("Device_can_work_with_supply_3_2_3_3V", resourceCulture); + } + } + + internal static string Device_can_work_with_supply_3_1_3_2V { + get { + return ResourceManager.GetString("Device_can_work_with_supply_3_1_3_2V", resourceCulture); + } + } + + internal static string Device_can_work_with_supply_2_9_3_0V { + get { + return ResourceManager.GetString("Device_can_work_with_supply_2_9_3_0V", resourceCulture); + } + } + + internal static string Device_can_work_with_supply_2_8_2_9V { + get { + return ResourceManager.GetString("Device_can_work_with_supply_2_8_2_9V", resourceCulture); + } + } + + internal static string Device_can_work_with_supply_2_7_2_8V { + get { + return ResourceManager.GetString("Device_can_work_with_supply_2_7_2_8V", resourceCulture); + } + } + + internal static string Device_can_work_with_supply_2_6_2_7V { + get { + return ResourceManager.GetString("Device_can_work_with_supply_2_6_2_7V", resourceCulture); + } + } + + internal static string Device_can_work_with_supply_2_5_2_6V { + get { + return ResourceManager.GetString("Device_can_work_with_supply_2_5_2_6V", resourceCulture); + } + } + + internal static string Device_can_work_with_supply_2_4_2_5V { + get { + return ResourceManager.GetString("Device_can_work_with_supply_2_4_2_5V", resourceCulture); + } + } + + internal static string Device_can_work_with_supply_2_3_2_4V { + get { + return ResourceManager.GetString("Device_can_work_with_supply_2_3_2_4V", resourceCulture); + } + } + + internal static string Device_can_work_with_supply_2_2_2_3V { + get { + return ResourceManager.GetString("Device_can_work_with_supply_2_2_2_3V", resourceCulture); + } + } + + internal static string Device_can_work_with_supply_2_1_2_2V { + get { + return ResourceManager.GetString("Device_can_work_with_supply_2_1_2_2V", resourceCulture); + } + } + + internal static string Device_can_work_with_supply_2_0_2_1V { + get { + return ResourceManager.GetString("Device_can_work_with_supply_2_0_2_1V", resourceCulture); + } + } + + internal static string Device_can_work_with_supply_1_65_1_95V { + get { + return ResourceManager.GetString("Device_can_work_with_supply_1_65_1_95V", resourceCulture); + } + } + + internal static string Unknown_manufacturer_ID_0 { + get { + return ResourceManager.GetString("Unknown_manufacturer_ID_0", resourceCulture); + } + } + + internal static string PCMCIA_Device_Geometry_Tuples { + get { + return ResourceManager.GetString("PCMCIA_Device_Geometry_Tuples", resourceCulture); + } + } + + internal static string Geometry { + get { + return ResourceManager.GetString("Geometry", resourceCulture); + } + } + + internal static string Device_width_0_bits { + get { + return ResourceManager.GetString("Device_width_0_bits", resourceCulture); + } + } + + internal static string Erase_block_0_bytes { + get { + return ResourceManager.GetString("Erase_block_0_bytes", resourceCulture); + } + } + + internal static string Read_block_0_bytes { + get { + return ResourceManager.GetString("Read_block_0_bytes", resourceCulture); + } + } + + internal static string Write_block_0_bytes { + get { + return ResourceManager.GetString("Write_block_0_bytes", resourceCulture); + } + } + + internal static string Partition_alignment_0_bytes { + get { + return ResourceManager.GetString("Partition_alignment_0_bytes", resourceCulture); + } + } + + internal static string Manufacturer_Identification_Tuple { + get { + return ResourceManager.GetString("Manufacturer_Identification_Tuple", resourceCulture); + } + } + + internal static string Manufacturer_ID_0 { + get { + return ResourceManager.GetString("Manufacturer_ID_0", resourceCulture); + } + } + + internal static string Card_ID_0 { + get { + return ResourceManager.GetString("Card_ID_0", resourceCulture); + } + } + + internal static string PCMCIA_Level_1_Version_Product_Information_Tuple { + get { + return ResourceManager.GetString("PCMCIA_Level_1_Version_Product_Information_Tuple", resourceCulture); + } + } + + internal static string Card_indicates_compliance_with_PC_Card_Standard_Release_0_1 { + get { + return ResourceManager.GetString("Card_indicates_compliance_with_PC_Card_Standard_Release_0_1", resourceCulture); + } + } + + internal static string No_manufacturer_information_string { + get { + return ResourceManager.GetString("No_manufacturer_information_string", resourceCulture); + } + } + + internal static string No_product_name_string { + get { + return ResourceManager.GetString("No_product_name_string", resourceCulture); + } + } + + internal static string No_additional_information { + get { + return ResourceManager.GetString("No_additional_information", resourceCulture); + } + } + + internal static string Additional_information { + get { + return ResourceManager.GetString("Additional_information", resourceCulture); + } + } + + internal static string Unknown_vendor_id_0 { + get { + return ResourceManager.GetString("Unknown_vendor_id_0", resourceCulture); + } + } + + internal static string AACS_Volume_Identifier_in_hex_follows { + get { + return ResourceManager.GetString("AACS_Volume_Identifier_in_hex_follows", resourceCulture); + } + } + + internal static string AACS_Media_Serial_Number_in_hex_follows { + get { + return ResourceManager.GetString("AACS_Media_Serial_Number_in_hex_follows", resourceCulture); + } + } + + internal static string AACS_Media_Identifier_in_hex_follows { + get { + return ResourceManager.GetString("AACS_Media_Identifier_in_hex_follows", resourceCulture); + } + } + + internal static string Total_number_of_media_key_blocks_available_to_transfer_0 { + get { + return ResourceManager.GetString("Total_number_of_media_key_blocks_available_to_transfer_0", resourceCulture); + } + } + + internal static string AACS_Media_Key_Blocks_in_hex_follows { + get { + return ResourceManager.GetString("AACS_Media_Key_Blocks_in_hex_follows", resourceCulture); + } + } + + internal static string AACS_Data_Keys_in_hex_follows { + get { + return ResourceManager.GetString("AACS_Data_Keys_in_hex_follows", resourceCulture); + } + } + + internal static string Drive_can_store_256_LBA_Extents { + get { + return ResourceManager.GetString("Drive_can_store_256_LBA_Extents", resourceCulture); + } + } + + internal static string Drive_cannot_store_LBA_Extents { + get { + return ResourceManager.GetString("Drive_cannot_store_LBA_Extents", resourceCulture); + } + } + + internal static string Drive_can_store_0_LBA_Extents { + get { + return ResourceManager.GetString("Drive_can_store_0_LBA_Extents", resourceCulture); + } + } + + internal static string LBA_Extent_0_starts_at_LBA_1_and_goes_for_2_sectors { + get { + return ResourceManager.GetString("LBA_Extent_0_starts_at_LBA_1_and_goes_for_2_sectors", resourceCulture); + } + } + + internal static string Total_number_of_CPRM_Media_Key_Blocks_available_to_transfer_0 { + get { + return ResourceManager.GetString("Total_number_of_CPRM_Media_Key_Blocks_available_to_transfer_0", resourceCulture); + } + } + + internal static string CPRM_Media_Key_Blocks_in_hex_follows { + get { + return ResourceManager.GetString("CPRM_Media_Key_Blocks_in_hex_follows", resourceCulture); + } + } + + internal static string Disc_type_declared_as_CD_DA_or_CD_ROM { + get { + return ResourceManager.GetString("Disc_type_declared_as_CD_DA_or_CD_ROM", resourceCulture); + } + } + + internal static string Disc_type_declared_as_CD_i { + get { + return ResourceManager.GetString("Disc_type_declared_as_CD_i", resourceCulture); + } + } + + internal static string Disc_type_declared_as_CD_ROM_XA { + get { + return ResourceManager.GetString("Disc_type_declared_as_CD_ROM_XA", resourceCulture); + } + } + + internal static string Disc_type_is_undefined { + get { + return ResourceManager.GetString("Disc_type_is_undefined", resourceCulture); + } + } + + internal static string Unknown_disc_type_0 { + get { + return ResourceManager.GetString("Unknown_disc_type_0", resourceCulture); + } + } + + internal static string Disc_is_incomplete { + get { + return ResourceManager.GetString("Disc_is_incomplete", resourceCulture); + } + } + + internal static string Disc_is_finalized { + get { + return ResourceManager.GetString("Disc_is_finalized", resourceCulture); + } + } + + internal static string Disc_is_erasable { + get { + return ResourceManager.GetString("Disc_is_erasable", resourceCulture); + } + } + + internal static string Last_session_is_empty { + get { + return ResourceManager.GetString("Last_session_is_empty", resourceCulture); + } + } + + internal static string Last_session_is_incomplete { + get { + return ResourceManager.GetString("Last_session_is_incomplete", resourceCulture); + } + } + + internal static string Last_session_is_damaged { + get { + return ResourceManager.GetString("Last_session_is_damaged", resourceCulture); + } + } + + internal static string Last_session_is_complete { + get { + return ResourceManager.GetString("Last_session_is_complete", resourceCulture); + } + } + + internal static string Media_was_being_formatted_in_the_background_but_it_is_stopped_and_incomplete { + get { + return ResourceManager.GetString("Media_was_being_formatted_in_the_background_but_it_is_stopped_and_incomplete", resourceCulture); + } + } + + internal static string Media_is_currently_being_formatted_in_the_background { + get { + return ResourceManager.GetString("Media_is_currently_being_formatted_in_the_background", resourceCulture); + } + } + + internal static string Media_background_formatting_has_completed { + get { + return ResourceManager.GetString("Media_background_formatting_has_completed", resourceCulture); + } + } + + internal static string MRW_is_dirty { + get { + return ResourceManager.GetString("MRW_is_dirty", resourceCulture); + } + } + + internal static string First_track_on_disc_is_track_0 { + get { + return ResourceManager.GetString("First_track_on_disc_is_track_0", resourceCulture); + } + } + + internal static string Disc_has_0_sessions { + get { + return ResourceManager.GetString("Disc_has_0_sessions", resourceCulture); + } + } + + internal static string First_track_in_last_session_is_track_0 { + get { + return ResourceManager.GetString("First_track_in_last_session_is_track_0", resourceCulture); + } + } + + internal static string Last_track_in_last_session_is_track_0 { + get { + return ResourceManager.GetString("Last_track_in_last_session_is_track_0", resourceCulture); + } + } + + internal static string Last_session_Lead_In_address_is_0_as_LBA_or_1_2_3 { + get { + return ResourceManager.GetString("Last_session_Lead_In_address_is_0_as_LBA_or_1_2_3", resourceCulture); + } + } + + internal static string Last_possible_Lead_Out_address_is_0_as_LBA_or_1_2_3 { + get { + return ResourceManager.GetString("Last_possible_Lead_Out_address_is_0_as_LBA_or_1_2_3", resourceCulture); + } + } + + internal static string Disc_is_defined_for_unrestricted_use { + get { + return ResourceManager.GetString("Disc_is_defined_for_unrestricted_use", resourceCulture); + } + } + + internal static string Disc_is_defined_for_restricted_use { + get { + return ResourceManager.GetString("Disc_is_defined_for_restricted_use", resourceCulture); + } + } + + internal static string Disc_barcode_0 { + get { + return ResourceManager.GetString("Disc_barcode_0", resourceCulture); + } + } + + internal static string Disc_application_code_0 { + get { + return ResourceManager.GetString("Disc_application_code_0", resourceCulture); + } + } + + internal static string OPC_values_for_0_Kbit_sec_1_2_3_4_5_6 { + get { + return ResourceManager.GetString("OPC_values_for_0_Kbit_sec_1_2_3_4_5_6", resourceCulture); + } + } + + internal static string _0_maximum_possible_tracks_on_the_disc { + get { + return ResourceManager.GetString("_0_maximum_possible_tracks_on_the_disc", resourceCulture); + } + } + + internal static string _0_assigned_tracks_on_the_disc { + get { + return ResourceManager.GetString("_0_assigned_tracks_on_the_disc", resourceCulture); + } + } + + internal static string _0_maximum_possible_appendable_tracks_on_the_disc { + get { + return ResourceManager.GetString("_0_maximum_possible_appendable_tracks_on_the_disc", resourceCulture); + } + } + + internal static string _0_current_appendable_tracks_on_the_disc { + get { + return ResourceManager.GetString("_0_current_appendable_tracks_on_the_disc", resourceCulture); + } + } + + internal static string _0_remaining_POW_replacements { + get { + return ResourceManager.GetString("_0_remaining_POW_replacements", resourceCulture); + } + } + + internal static string _0_remaining_POW_reallocation_map_entries { + get { + return ResourceManager.GetString("_0_remaining_POW_reallocation_map_entries", resourceCulture); + } + } + + internal static string _0_remaining_POW_updates { + get { + return ResourceManager.GetString("_0_remaining_POW_updates", resourceCulture); + } + } + + internal static string Drive_reported_a_reserved_profile_number { + get { + return ResourceManager.GetString("Drive_reported_a_reserved_profile_number", resourceCulture); + } + } + + internal static string MMC_Supported_Profiles { + get { + return ResourceManager.GetString("MMC_Supported_Profiles", resourceCulture); + } + } + + internal static string Drive_supports_non_removable_changeable_media { + get { + return ResourceManager.GetString("Drive_supports_non_removable_changeable_media", resourceCulture); + } + } + + internal static string Drive_supports_rewritable_and_removable_media { + get { + return ResourceManager.GetString("Drive_supports_rewritable_and_removable_media", resourceCulture); + } + } + + internal static string Drive_supports_Magneto_Optical_media { + get { + return ResourceManager.GetString("Drive_supports_Magneto_Optical_media", resourceCulture); + } + } + + internal static string Drive_supports_optical_write_once_media { + get { + return ResourceManager.GetString("Drive_supports_optical_write_once_media", resourceCulture); + } + } + + internal static string Drive_supports_Advanced_Storage_Magneto_Optical { + get { + return ResourceManager.GetString("Drive_supports_Advanced_Storage_Magneto_Optical", resourceCulture); + } + } + + internal static string Drive_supports_CD_ROM { + get { + return ResourceManager.GetString("Drive_supports_CD_ROM", resourceCulture); + } + } + + internal static string Drive_supports_CD_R { + get { + return ResourceManager.GetString("Drive_supports_CD_R", resourceCulture); + } + } + + internal static string Drive_supports_CD_RW { + get { + return ResourceManager.GetString("Drive_supports_CD_RW", resourceCulture); + } + } + + internal static string Drive_supports_DVD_ROM { + get { + return ResourceManager.GetString("Drive_supports_DVD_ROM", resourceCulture); + } + } + + internal static string Drive_supports_DVD_R { + get { + return ResourceManager.GetString("Drive_supports_DVD_R", resourceCulture); + } + } + + internal static string Drive_supports_DVD_RAM { + get { + return ResourceManager.GetString("Drive_supports_DVD_RAM", resourceCulture); + } + } + + internal static string Drive_supports_restricted_overwrite_DVD_RW { + get { + return ResourceManager.GetString("Drive_supports_restricted_overwrite_DVD_RW", resourceCulture); + } + } + + internal static string Drive_supports_sequentially_recorded_DVD_RW { + get { + return ResourceManager.GetString("Drive_supports_sequentially_recorded_DVD_RW", resourceCulture); + } + } + + internal static string Drive_supports_sequentially_recorded_DVD_R_DL { + get { + return ResourceManager.GetString("Drive_supports_sequentially_recorded_DVD_R_DL", resourceCulture); + } + } + + internal static string Drive_supports_layer_jump_recorded_DVD_R_DL { + get { + return ResourceManager.GetString("Drive_supports_layer_jump_recorded_DVD_R_DL", resourceCulture); + } + } + + internal static string Drive_supports_DVD_RW_DL { + get { + return ResourceManager.GetString("Drive_supports_DVD_RW_DL", resourceCulture); + } + } + + internal static string Drive_supports_DVD_Download { + get { + return ResourceManager.GetString("Drive_supports_DVD_Download", resourceCulture); + } + } + + internal static string Drive_supports_DVD_Plus_RW { + get { + return ResourceManager.GetString("Drive_supports_DVD_Plus_RW", resourceCulture); + } + } + + internal static string Drive_supports_DVD_Plus_R { + get { + return ResourceManager.GetString("Drive_supports_DVD_Plus_R", resourceCulture); + } + } + + internal static string Drive_supports_DDCD_ROM { + get { + return ResourceManager.GetString("Drive_supports_DDCD_ROM", resourceCulture); + } + } + + internal static string Drive_supports_DDCD_R { + get { + return ResourceManager.GetString("Drive_supports_DDCD_R", resourceCulture); + } + } + + internal static string Drive_supports_DDCD_RW { + get { + return ResourceManager.GetString("Drive_supports_DDCD_RW", resourceCulture); + } + } + + internal static string Drive_supports_DVD_Plus_RW_DL { + get { + return ResourceManager.GetString("Drive_supports_DVD_Plus_RW_DL", resourceCulture); + } + } + + internal static string Drive_supports_DVD_Plus_R_DL { + get { + return ResourceManager.GetString("Drive_supports_DVD_Plus_R_DL", resourceCulture); + } + } + + internal static string Drive_supports_BD_ROM { + get { + return ResourceManager.GetString("Drive_supports_BD_ROM", resourceCulture); + } + } + + internal static string Drive_supports_BD_R_SRM { + get { + return ResourceManager.GetString("Drive_supports_BD_R_SRM", resourceCulture); + } + } + + internal static string Drive_supports_BD_R_RRM { + get { + return ResourceManager.GetString("Drive_supports_BD_R_RRM", resourceCulture); + } + } + + internal static string Drive_supports_BD_RE { + get { + return ResourceManager.GetString("Drive_supports_BD_RE", resourceCulture); + } + } + + internal static string Drive_supports_HD_DVD_ROM { + get { + return ResourceManager.GetString("Drive_supports_HD_DVD_ROM", resourceCulture); + } + } + + internal static string Drive_supports_HD_DVD_R { + get { + return ResourceManager.GetString("Drive_supports_HD_DVD_R", resourceCulture); + } + } + + internal static string Drive_supports_HD_DVD_RAM { + get { + return ResourceManager.GetString("Drive_supports_HD_DVD_RAM", resourceCulture); + } + } + + internal static string Drive_supports_HD_DVD_RW { + get { + return ResourceManager.GetString("Drive_supports_HD_DVD_RW", resourceCulture); + } + } + + internal static string Drive_supports_HD_DVD_R_DL { + get { + return ResourceManager.GetString("Drive_supports_HD_DVD_R_DL", resourceCulture); + } + } + + internal static string Drive_supports_HD_DVD_RW_DL { + get { + return ResourceManager.GetString("Drive_supports_HD_DVD_RW_DL", resourceCulture); + } + } + + internal static string Drive_supports_HDBurn_CD_ROM { + get { + return ResourceManager.GetString("Drive_supports_HDBurn_CD_ROM", resourceCulture); + } + } + + internal static string Drive_supports_HDBurn_CD_R { + get { + return ResourceManager.GetString("Drive_supports_HDBurn_CD_R", resourceCulture); + } + } + + internal static string Drive_supports_HDBurn_CD_RW { + get { + return ResourceManager.GetString("Drive_supports_HDBurn_CD_RW", resourceCulture); + } + } + + internal static string Drive_is_not_conforming_to_any_profile { + get { + return ResourceManager.GetString("Drive_is_not_conforming_to_any_profile", resourceCulture); + } + } + + internal static string Drive_informs_of_unknown_profile_0 { + get { + return ResourceManager.GetString("Drive_informs_of_unknown_profile_0", resourceCulture); + } + } + + internal static string current { + get { + return ResourceManager.GetString("current", resourceCulture); + } + } + + internal static string MMC_Core_Feature { + get { + return ResourceManager.GetString("MMC_Core_Feature", resourceCulture); + } + } + + internal static string Drive_uses_an_unspecified_physical_interface { + get { + return ResourceManager.GetString("Drive_uses_an_unspecified_physical_interface", resourceCulture); + } + } + + internal static string Drive_uses_a_SCSI_interface { + get { + return ResourceManager.GetString("Drive_uses_a_SCSI_interface", resourceCulture); + } + } + + internal static string Drive_uses_an_ATAPI_interface { + get { + return ResourceManager.GetString("Drive_uses_an_ATAPI_interface", resourceCulture); + } + } + + internal static string Drive_uses_an_IEEE_1394_interface { + get { + return ResourceManager.GetString("Drive_uses_an_IEEE_1394_interface", resourceCulture); + } + } + + internal static string Drive_uses_an_IEEE_1394A_interface { + get { + return ResourceManager.GetString("Drive_uses_an_IEEE_1394A_interface", resourceCulture); + } + } + + internal static string Drive_uses_a_Fibre_Channel_interface { + get { + return ResourceManager.GetString("Drive_uses_a_Fibre_Channel_interface", resourceCulture); + } + } + + internal static string Drive_uses_an_IEEE_1394B_interface { + get { + return ResourceManager.GetString("Drive_uses_an_IEEE_1394B_interface", resourceCulture); + } + } + + internal static string Drive_uses_a_Serial_ATAPI_interface { + get { + return ResourceManager.GetString("Drive_uses_a_Serial_ATAPI_interface", resourceCulture); + } + } + + internal static string Drive_uses_an_USB_interface { + get { + return ResourceManager.GetString("Drive_uses_an_USB_interface", resourceCulture); + } + } + + internal static string Drive_uses_a_vendor_unique_interface { + get { + return ResourceManager.GetString("Drive_uses_a_vendor_unique_interface", resourceCulture); + } + } + + internal static string Drive_uses_an_unknown_interface_with_code_0 { + get { + return ResourceManager.GetString("Drive_uses_an_unknown_interface_with_code_0", resourceCulture); + } + } + + internal static string Drive_supports_Device_Busy_events { + get { + return ResourceManager.GetString("Drive_supports_Device_Busy_events", resourceCulture); + } + } + + internal static string Drive_supports_EVPD_Page_Code_and_16_bit_Allocation_Length_as_described_in_SPC_3 { + get { + return ResourceManager.GetString("Drive_supports_EVPD_Page_Code_and_16_bit_Allocation_Length_as_described_in_SPC_3", resourceCulture); + } + } + + internal static string MMC_Morphing { + get { + return ResourceManager.GetString("MMC_Morphing", resourceCulture); + } + } + + internal static string Drive_supports_polling_and_asynchronous_GET_EVENT_STATUS_NOTIFICATION { + get { + return ResourceManager.GetString("Drive_supports_polling_and_asynchronous_GET_EVENT_STATUS_NOTIFICATION", resourceCulture); + } + } + + internal static string Drive_supports_only_polling_GET_EVENT_STATUS_NOTIFICATION { + get { + return ResourceManager.GetString("Drive_supports_only_polling_GET_EVENT_STATUS_NOTIFICATION", resourceCulture); + } + } + + internal static string Drive_supports_operational_change_request_notification_class_events { + get { + return ResourceManager.GetString("Drive_supports_operational_change_request_notification_class_events", resourceCulture); + } + } + + internal static string Features_Prettify_0003_MMC_Removable_Medium { + get { + return ResourceManager.GetString("Features_Prettify_0003_MMC_Removable_Medium", resourceCulture); + } + } + + internal static string Features_Prettify_0003_Drive_uses_media_caddy { + get { + return ResourceManager.GetString("Features_Prettify_0003_Drive_uses_media_caddy", resourceCulture); + } + } + + internal static string Features_Prettify_0003_Drive_uses_a_tray { + get { + return ResourceManager.GetString("Features_Prettify_0003_Drive_uses_a_tray", resourceCulture); + } + } + + internal static string Features_Prettify_0003_Drive_is_pop_up { + get { + return ResourceManager.GetString("Features_Prettify_0003_Drive_is_pop_up", resourceCulture); + } + } + + internal static string Features_Prettify_0003_Drive_is_a_changer_with_individually_changeable_discs { + get { + return ResourceManager.GetString("Features_Prettify_0003_Drive_is_a_changer_with_individually_changeable_discs", resourceCulture); + } + } + + internal static string Features_Prettify_0003_Drive_is_a_changer_using_cartridges { + get { + return ResourceManager.GetString("Features_Prettify_0003_Drive_is_a_changer_using_cartridges", resourceCulture); + } + } + + internal static string Features_Prettify_0003_Drive_uses_unknown_loading_mechanism_type_0 { + get { + return ResourceManager.GetString("Features_Prettify_0003_Drive_uses_unknown_loading_mechanism_type_0", resourceCulture); + } + } + + internal static string Features_Prettify_0003_Drive_can_lock_media { + get { + return ResourceManager.GetString("Features_Prettify_0003_Drive_can_lock_media", resourceCulture); + } + } + + internal static string Features_Prettify_0003_Drive_power_ups_locked { + get { + return ResourceManager.GetString("Features_Prettify_0003_Drive_power_ups_locked", resourceCulture); + } + } + + internal static string Features_Prettify_0003_Drive_can_eject_media { + get { + return ResourceManager.GetString("Features_Prettify_0003_Drive_can_eject_media", resourceCulture); + } + } + + internal static string Features_Prettify_0003_Drive_can_load_media { + get { + return ResourceManager.GetString("Features_Prettify_0003_Drive_can_load_media", resourceCulture); + } + } + + internal static string Features_Prettify_0003_Drive_reports_Device_Busy_Class_events_during_medium_loading_unloading { + get { + return ResourceManager.GetString("Features_Prettify_0003_Drive_reports_Device_Busy_Class_events_during_medium_loadi" + + "ng_unloading", resourceCulture); + } + } + + internal static string MMC_Write_Protect { + get { + return ResourceManager.GetString("MMC_Write_Protect", resourceCulture); + } + } + + internal static string Drive_supports_reading_writing_the_Disc_Write_Protect_PAC_on_BD_R_RE_media { + get { + return ResourceManager.GetString("Drive_supports_reading_writing_the_Disc_Write_Protect_PAC_on_BD_R_RE_media", resourceCulture); + } + } + + internal static string Drive_supports_writing_the_Write_Inhibit_DCB_on_DVD_RW_media { + get { + return ResourceManager.GetString("Drive_supports_writing_the_Write_Inhibit_DCB_on_DVD_RW_media", resourceCulture); + } + } + + internal static string Drive_supports_set_release_of_PWP_status { + get { + return ResourceManager.GetString("Drive_supports_set_release_of_PWP_status", resourceCulture); + } + } + + internal static string Drive_supports_the_SWPP_bit_of_the_Timeout_and_Protect_mode_page { + get { + return ResourceManager.GetString("Drive_supports_the_SWPP_bit_of_the_Timeout_and_Protect_mode_page", resourceCulture); + } + } + + internal static string MMC_Random_Readable { + get { + return ResourceManager.GetString("MMC_Random_Readable", resourceCulture); + } + } + + internal static string Drive_shall_report_Read_Write_Error_Recovery_mode_page { + get { + return ResourceManager.GetString("Drive_shall_report_Read_Write_Error_Recovery_mode_page", resourceCulture); + } + } + + internal static string _0_bytes_per_logical_block { + get { + return ResourceManager.GetString("_0_bytes_per_logical_block", resourceCulture); + } + } + + internal static string _0_logical_blocks_per_media_readable_unit { + get { + return ResourceManager.GetString("_0_logical_blocks_per_media_readable_unit", resourceCulture); + } + } + + internal static string Drive_claims_capability_to_read_all_CD_formats_according_to_OSTA_Multi_Read_Specification { + get { + return ResourceManager.GetString("Drive_claims_capability_to_read_all_CD_formats_according_to_OSTA_Multi_Read_Speci" + + "fication", resourceCulture); + } + } + + internal static string MMC_CD_Read { + get { + return ResourceManager.GetString("MMC_CD_Read", resourceCulture); + } + } + + internal static string Drive_supports_the_DAP_bit_in_the_READ_CD_and_READ_CD_MSF_commands { + get { + return ResourceManager.GetString("Drive_supports_the_DAP_bit_in_the_READ_CD_and_READ_CD_MSF_commands", resourceCulture); + } + } + + internal static string Drive_supports_C2_Error_Pointers { + get { + return ResourceManager.GetString("Drive_supports_C2_Error_Pointers", resourceCulture); + } + } + + internal static string Drive_can_return_CD_Text_from_Lead_In { + get { + return ResourceManager.GetString("Drive_can_return_CD_Text_from_Lead_In", resourceCulture); + } + } + + internal static string MMC_DVD_Read { + get { + return ResourceManager.GetString("MMC_DVD_Read", resourceCulture); + } + } + + internal static string Drive_can_read_DVD_media { + get { + return ResourceManager.GetString("Drive_can_read_DVD_media", resourceCulture); + } + } + + internal static string Drive_can_read_DVD_R_DL_from_all_recording_modes { + get { + return ResourceManager.GetString("Drive_can_read_DVD_R_DL_from_all_recording_modes", resourceCulture); + } + } + + internal static string Drive_can_read_DVD_RW_DL_from_all_recording_modes { + get { + return ResourceManager.GetString("Drive_can_read_DVD_RW_DL_from_all_recording_modes", resourceCulture); + } + } + + internal static string Drive_conforms_to_DVD_Multi_Drive_Read_only_Specifications { + get { + return ResourceManager.GetString("Drive_conforms_to_DVD_Multi_Drive_Read_only_Specifications", resourceCulture); + } + } + + internal static string MMC_Random_Writable { + get { + return ResourceManager.GetString("MMC_Random_Writable", resourceCulture); + } + } + + internal static string _0_logical_blocks_per_media_writable_unit { + get { + return ResourceManager.GetString("_0_logical_blocks_per_media_writable_unit", resourceCulture); + } + } + + internal static string Last_addressable_logical_block_is_0 { + get { + return ResourceManager.GetString("Last_addressable_logical_block_is_0", resourceCulture); + } + } + + internal static string MMC_Incremental_Streaming_Writable { + get { + return ResourceManager.GetString("MMC_Incremental_Streaming_Writable", resourceCulture); + } + } + + internal static string Drive_supports_data_block_types { + get { + return ResourceManager.GetString("Drive_supports_data_block_types", resourceCulture); + } + } + + internal static string Drive_claims_support_to_report_Track_Resources_Information { + get { + return ResourceManager.GetString("Drive_claims_support_to_report_Track_Resources_Information", resourceCulture); + } + } + + internal static string Drive_supports_address_mode_reservation_on_the_RESERVE_TRACK_command { + get { + return ResourceManager.GetString("Drive_supports_address_mode_reservation_on_the_RESERVE_TRACK_command", resourceCulture); + } + } + + internal static string Drive_is_capable_of_zero_loss_linking { + get { + return ResourceManager.GetString("Drive_is_capable_of_zero_loss_linking", resourceCulture); + } + } + + internal static string Drive_supports_media_that_require_erasing_before_writing { + get { + return ResourceManager.GetString("Drive_supports_media_that_require_erasing_before_writing", resourceCulture); + } + } + + internal static string MMC_Formattable { + get { + return ResourceManager.GetString("MMC_Formattable", resourceCulture); + } + } + + internal static string Drive_can_format_media_into_logical_blocks { + get { + return ResourceManager.GetString("Drive_can_format_media_into_logical_blocks", resourceCulture); + } + } + + internal static string Drive_can_format_BD_RE_with_no_spares_allocated { + get { + return ResourceManager.GetString("Drive_can_format_BD_RE_with_no_spares_allocated", resourceCulture); + } + } + + internal static string Drive_can_expand_the_spare_area_on_a_formatted_BD_RE_disc { + get { + return ResourceManager.GetString("Drive_can_expand_the_spare_area_on_a_formatted_BD_RE_disc", resourceCulture); + } + } + + internal static string Drive_can_format_BD_RE_discs_with_quick_certification { + get { + return ResourceManager.GetString("Drive_can_format_BD_RE_discs_with_quick_certification", resourceCulture); + } + } + + internal static string Drive_can_format_BD_RE_discs_with_full_certification { + get { + return ResourceManager.GetString("Drive_can_format_BD_RE_discs_with_full_certification", resourceCulture); + } + } + + internal static string Drive_can_fast_re_format_BD_RE_discs { + get { + return ResourceManager.GetString("Drive_can_fast_re_format_BD_RE_discs", resourceCulture); + } + } + + internal static string Drive_can_format_BD_R_discs_with_RRM_format { + get { + return ResourceManager.GetString("Drive_can_format_BD_R_discs_with_RRM_format", resourceCulture); + } + } + + internal static string MMC_Hardware_Defect_Management { + get { + return ResourceManager.GetString("MMC_Hardware_Defect_Management", resourceCulture); + } + } + + internal static string Drive_shall_be_able_to_provide_a_defect_free_contiguous_address_space { + get { + return ResourceManager.GetString("Drive_shall_be_able_to_provide_a_defect_free_contiguous_address_space", resourceCulture); + } + } + + internal static string Drive_can_return_Spare_Area_Information { + get { + return ResourceManager.GetString("Drive_can_return_Spare_Area_Information", resourceCulture); + } + } + + internal static string MMC_Write_Once { + get { + return ResourceManager.GetString("MMC_Write_Once", resourceCulture); + } + } + + internal static string Drive_shall_have_the_ability_to_overwrite_logical_blocks_only_in_fixed_sets_at_a_time { + get { + return ResourceManager.GetString("Drive_shall_have_the_ability_to_overwrite_logical_blocks_only_in_fixed_sets_at_a_" + + "time", resourceCulture); + } + } + + internal static string Drive_can_write_High_Speed_CD_RW { + get { + return ResourceManager.GetString("Drive_can_write_High_Speed_CD_RW", resourceCulture); + } + } + + internal static string Drive_can_read_and_write_CD_MRW_and_DVD_MRW { + get { + return ResourceManager.GetString("Drive_can_read_and_write_CD_MRW_and_DVD_MRW", resourceCulture); + } + } + + internal static string Drive_can_read_and_write_DVD_MRW { + get { + return ResourceManager.GetString("Drive_can_read_and_write_DVD_MRW", resourceCulture); + } + } + + internal static string Drive_and_read_DVD_MRW_and_read_and_write_CD_MRW { + get { + return ResourceManager.GetString("Drive_and_read_DVD_MRW_and_read_and_write_CD_MRW", resourceCulture); + } + } + + internal static string Drive_can_read_and_write_CD_MRW { + get { + return ResourceManager.GetString("Drive_can_read_and_write_CD_MRW", resourceCulture); + } + } + + internal static string Drive_can_read_CD_MRW_and_DVD_MRW { + get { + return ResourceManager.GetString("Drive_can_read_CD_MRW_and_DVD_MRW", resourceCulture); + } + } + + internal static string Drive_can_read_CD_MRW { + get { + return ResourceManager.GetString("Drive_can_read_CD_MRW", resourceCulture); + } + } + + internal static string MMC_Enhanced_Defect_Reporting_Feature { + get { + return ResourceManager.GetString("MMC_Enhanced_Defect_Reporting_Feature", resourceCulture); + } + } + + internal static string Drive_supports_DRT_DM_mode { + get { + return ResourceManager.GetString("Drive_supports_DRT_DM_mode", resourceCulture); + } + } + + internal static string Drive_supports_Persistent_DM_mode { + get { + return ResourceManager.GetString("Drive_supports_Persistent_DM_mode", resourceCulture); + } + } + + internal static string Drive_has_0_DBI_cache_zones { + get { + return ResourceManager.GetString("Drive_has_0_DBI_cache_zones", resourceCulture); + } + } + + internal static string Drive_has_0_DBI_entries { + get { + return ResourceManager.GetString("Drive_has_0_DBI_entries", resourceCulture); + } + } + + internal static string Drive_can_read_and_write_DVD_RW { + get { + return ResourceManager.GetString("Drive_can_read_and_write_DVD_RW", resourceCulture); + } + } + + internal static string Drive_supports_only_the_read_compatibility_stop { + get { + return ResourceManager.GetString("Drive_supports_only_the_read_compatibility_stop", resourceCulture); + } + } + + internal static string Drive_supports_both_forms_of_background_format_stopping { + get { + return ResourceManager.GetString("Drive_supports_both_forms_of_background_format_stopping", resourceCulture); + } + } + + internal static string Drive_can_do_a_quick_start_formatting { + get { + return ResourceManager.GetString("Drive_can_do_a_quick_start_formatting", resourceCulture); + } + } + + internal static string Drive_can_read_DVD_Plus_RW { + get { + return ResourceManager.GetString("Drive_can_read_DVD_Plus_RW", resourceCulture); + } + } + + internal static string Drive_can_read_and_write_DVD_Plus_R { + get { + return ResourceManager.GetString("Drive_can_read_and_write_DVD_Plus_R", resourceCulture); + } + } + + internal static string Drive_can_read_DVD_Plus_R { + get { + return ResourceManager.GetString("Drive_can_read_DVD_Plus_R", resourceCulture); + } + } + + internal static string MMC_Rigid_Restricted_Overwrite { + get { + return ResourceManager.GetString("MMC_Rigid_Restricted_Overwrite", resourceCulture); + } + } + + internal static string Drive_supports_the_BLANK_command { + get { + return ResourceManager.GetString("Drive_supports_the_BLANK_command", resourceCulture); + } + } + + internal static string Drive_supports_writing_on_an_intermediate_state_session_and_quick_formatting { + get { + return ResourceManager.GetString("Drive_supports_writing_on_an_intermediate_state_session_and_quick_formatting", resourceCulture); + } + } + + internal static string Drive_can_read_Defect_Status_data_recorded_on_the_medium { + get { + return ResourceManager.GetString("Drive_can_read_Defect_Status_data_recorded_on_the_medium", resourceCulture); + } + } + + internal static string Drive_can_generate_Defect_Status_data_during_formatting { + get { + return ResourceManager.GetString("Drive_can_generate_Defect_Status_data_during_formatting", resourceCulture); + } + } + + internal static string Drive_can_write_CDs_in_Track_at_Once_Mode { + get { + return ResourceManager.GetString("Drive_can_write_CDs_in_Track_at_Once_Mode", resourceCulture); + } + } + + internal static string Drive_can_write_user_provided_data_in_the_R_W_subchannels { + get { + return ResourceManager.GetString("Drive_can_write_user_provided_data_in_the_R_W_subchannels", resourceCulture); + } + } + + internal static string Drive_accepts_RAW_R_W_subchannel_data { + get { + return ResourceManager.GetString("Drive_accepts_RAW_R_W_subchannel_data", resourceCulture); + } + } + + internal static string Drive_accepts_Packed_R_W_subchannel_data { + get { + return ResourceManager.GetString("Drive_accepts_Packed_R_W_subchannel_data", resourceCulture); + } + } + + internal static string Drive_can_overwrite_a_TAO_track_with_another_in_CD_RWs { + get { + return ResourceManager.GetString("Drive_can_overwrite_a_TAO_track_with_another_in_CD_RWs", resourceCulture); + } + } + + internal static string Drive_can_do_a_test_writing { + get { + return ResourceManager.GetString("Drive_can_do_a_test_writing", resourceCulture); + } + } + + internal static string Drive_supports_zero_loss_linking { + get { + return ResourceManager.GetString("Drive_supports_zero_loss_linking", resourceCulture); + } + } + + internal static string Drive_can_write_CDs_in_Session_at_Once_Mode { + get { + return ResourceManager.GetString("Drive_can_write_CDs_in_Session_at_Once_Mode", resourceCulture); + } + } + + internal static string Drive_can_write_CDs_in_raw_Mode { + get { + return ResourceManager.GetString("Drive_can_write_CDs_in_raw_Mode", resourceCulture); + } + } + + internal static string Drive_can_write_CDs_in_Session_at_Once_and_in_Raw_Modes { + get { + return ResourceManager.GetString("Drive_can_write_CDs_in_Session_at_Once_and_in_Raw_Modes", resourceCulture); + } + } + + internal static string Drive_can_write_multi_session_CDs_in_raw_mode { + get { + return ResourceManager.GetString("Drive_can_write_multi_session_CDs_in_raw_mode", resourceCulture); + } + } + + internal static string Drive_can_write_CD_RWs { + get { + return ResourceManager.GetString("Drive_can_write_CD_RWs", resourceCulture); + } + } + + internal static string Drive_supports_a_maximum_of_0_bytes_in_a_single_cue_sheet { + get { + return ResourceManager.GetString("Drive_supports_a_maximum_of_0_bytes_in_a_single_cue_sheet", resourceCulture); + } + } + + internal static string Drive_supports_writing_DVD_R_DVD_RW_and_DVD_R_DL { + get { + return ResourceManager.GetString("Drive_supports_writing_DVD_R_DVD_RW_and_DVD_R_DL", resourceCulture); + } + } + + internal static string Drive_supports_writing_DVD_R_and_DVD_R_DL { + get { + return ResourceManager.GetString("Drive_supports_writing_DVD_R_and_DVD_R_DL", resourceCulture); + } + } + + internal static string Drive_supports_writing_DVD_R_and_DVD_RW { + get { + return ResourceManager.GetString("Drive_supports_writing_DVD_R_and_DVD_RW", resourceCulture); + } + } + + internal static string Drive_supports_writing_DVD_R { + get { + return ResourceManager.GetString("Drive_supports_writing_DVD_R", resourceCulture); + } + } + + internal static string Drive_can_read_DDCDs { + get { + return ResourceManager.GetString("Drive_can_read_DDCDs", resourceCulture); + } + } + + internal static string Drive_supports_writing_DDCD_R { + get { + return ResourceManager.GetString("Drive_supports_writing_DDCD_R", resourceCulture); + } + } + + internal static string Drive_supports_writing_DDCD_RW { + get { + return ResourceManager.GetString("Drive_supports_writing_DDCD_RW", resourceCulture); + } + } + + internal static string Drive_supports_quick_formatting { + get { + return ResourceManager.GetString("Drive_supports_quick_formatting", resourceCulture); + } + } + + internal static string MMC_Layer_Jump_Recording { + get { + return ResourceManager.GetString("MMC_Layer_Jump_Recording", resourceCulture); + } + } + + internal static string Current_media_has_a_0_bytes_link_available { + get { + return ResourceManager.GetString("Current_media_has_a_0_bytes_link_available", resourceCulture); + } + } + + internal static string Drive_can_stop_a_long_immediate_operation { + get { + return ResourceManager.GetString("Drive_can_stop_a_long_immediate_operation", resourceCulture); + } + } + + internal static string Drive_can_write_CD_RW { + get { + return ResourceManager.GetString("Drive_can_write_CD_RW", resourceCulture); + } + } + + internal static string Drive_supports_CD_RW_subtypes { + get { + return ResourceManager.GetString("Drive_supports_CD_RW_subtypes", resourceCulture); + } + } + + internal static string Drive_can_write_BD_R_on_Pseudo_OVerwrite_SRM_mode { + get { + return ResourceManager.GetString("Drive_can_write_BD_R_on_Pseudo_OVerwrite_SRM_mode", resourceCulture); + } + } + + internal static string Drive_can_read_and_write_DVD_Plus_RW_DL { + get { + return ResourceManager.GetString("Drive_can_read_and_write_DVD_Plus_RW_DL", resourceCulture); + } + } + + internal static string Drive_can_read_DVD_Plus_RW_DL { + get { + return ResourceManager.GetString("Drive_can_read_DVD_Plus_RW_DL", resourceCulture); + } + } + + internal static string Drive_can_read_and_write_DVD_Plus_R_DL { + get { + return ResourceManager.GetString("Drive_can_read_and_write_DVD_Plus_R_DL", resourceCulture); + } + } + + internal static string Features_Prettify_003B_Drive_can_read_DVD_Plus_R_DL { + get { + return ResourceManager.GetString("Features_Prettify_003B_Drive_can_read_DVD_Plus_R_DL", resourceCulture); + } + } + + internal static string MMC_BD_Read { + get { + return ResourceManager.GetString("MMC_BD_Read", resourceCulture); + } + } + + internal static string Drive_can_read_BD_ROM_pre_1_0 { + get { + return ResourceManager.GetString("Drive_can_read_BD_ROM_pre_1_0", resourceCulture); + } + } + + internal static string Drive_can_read_BD_ROM_Ver_1 { + get { + return ResourceManager.GetString("Drive_can_read_BD_ROM_Ver_1", resourceCulture); + } + } + + internal static string Drive_can_read_BD_R_pre_1_0 { + get { + return ResourceManager.GetString("Drive_can_read_BD_R_pre_1_0", resourceCulture); + } + } + + internal static string Drive_can_read_BD_R_Ver_1 { + get { + return ResourceManager.GetString("Drive_can_read_BD_R_Ver_1", resourceCulture); + } + } + + internal static string Drive_can_read_BD_RE_pre_1_0 { + get { + return ResourceManager.GetString("Drive_can_read_BD_RE_pre_1_0", resourceCulture); + } + } + + internal static string Drive_can_read_BD_RE_Ver_1 { + get { + return ResourceManager.GetString("Drive_can_read_BD_RE_Ver_1", resourceCulture); + } + } + + internal static string Drive_can_read_BD_RE_Ver_2 { + get { + return ResourceManager.GetString("Drive_can_read_BD_RE_Ver_2", resourceCulture); + } + } + + internal static string Drive_can_read_BDs_Burst_Cutting_Area { + get { + return ResourceManager.GetString("Drive_can_read_BDs_Burst_Cutting_Area", resourceCulture); + } + } + + internal static string MMC_BD_Write { + get { + return ResourceManager.GetString("MMC_BD_Write", resourceCulture); + } + } + + internal static string Drive_can_write_BD_R_pre_1_0 { + get { + return ResourceManager.GetString("Drive_can_write_BD_R_pre_1_0", resourceCulture); + } + } + + internal static string Drive_can_write_BD_R_Ver_1 { + get { + return ResourceManager.GetString("Drive_can_write_BD_R_Ver_1", resourceCulture); + } + } + + internal static string Drive_can_write_BD_RE_pre_1_0 { + get { + return ResourceManager.GetString("Drive_can_write_BD_RE_pre_1_0", resourceCulture); + } + } + + internal static string Drive_can_write_BD_RE_Ver_1 { + get { + return ResourceManager.GetString("Drive_can_write_BD_RE_Ver_1", resourceCulture); + } + } + + internal static string Drive_can_write_BD_RE_Ver_2 { + get { + return ResourceManager.GetString("Drive_can_write_BD_RE_Ver_2", resourceCulture); + } + } + + internal static string Drive_supports_write_without_verify_requirement { + get { + return ResourceManager.GetString("Drive_supports_write_without_verify_requirement", resourceCulture); + } + } + + internal static string Features_Prettify_0042_Drive_is_able_to_detect_and_report_defective_writable_unit_and_behave_accordingly { + get { + return ResourceManager.GetString("Features_Prettify_0042_Drive_is_able_to_detect_and_report_defective_writable_unit" + + "_and_behave_accordingly", resourceCulture); + } + } + + internal static string Drive_can_read_HD_DVD_ROM_HD_DVD_RW_HD_DVD_R_and_HD_DVD_RAM { + get { + return ResourceManager.GetString("Drive_can_read_HD_DVD_ROM_HD_DVD_RW_HD_DVD_R_and_HD_DVD_RAM", resourceCulture); + } + } + + internal static string Drive_can_read_HD_DVD_ROM_HD_DVD_RW_and_HD_DVD_R { + get { + return ResourceManager.GetString("Drive_can_read_HD_DVD_ROM_HD_DVD_RW_and_HD_DVD_R", resourceCulture); + } + } + + internal static string Drive_can_read_HD_DVD_ROM_HD_DVD_RW_and_HD_DVD_RAM { + get { + return ResourceManager.GetString("Drive_can_read_HD_DVD_ROM_HD_DVD_RW_and_HD_DVD_RAM", resourceCulture); + } + } + + internal static string Drive_can_read_HD_DVD_ROM_and_HD_DVD_RW { + get { + return ResourceManager.GetString("Drive_can_read_HD_DVD_ROM_and_HD_DVD_RW", resourceCulture); + } + } + + internal static string Drive_can_write_HD_DVD_RW_HD_DVD_R_and_HD_DVD_RAM { + get { + return ResourceManager.GetString("Drive_can_write_HD_DVD_RW_HD_DVD_R_and_HD_DVD_RAM", resourceCulture); + } + } + + internal static string Drive_can_write_HD_DVD_RW_and_HD_DVD_R { + get { + return ResourceManager.GetString("Drive_can_write_HD_DVD_RW_and_HD_DVD_R", resourceCulture); + } + } + + internal static string Drive_can_write_HD_DVD_RW_and_HD_DVD_RAM { + get { + return ResourceManager.GetString("Drive_can_write_HD_DVD_RW_and_HD_DVD_RAM", resourceCulture); + } + } + + internal static string Drive_can_write_HD_DVD_RW { + get { + return ResourceManager.GetString("Drive_can_write_HD_DVD_RW", resourceCulture); + } + } + + internal static string Drive_is_able_to_access_Hybrid_discs { + get { + return ResourceManager.GetString("Drive_is_able_to_access_Hybrid_discs", resourceCulture); + } + } + + internal static string Drive_is_able_to_maintain_the_online_format_layer_through_reset_and_power_cycling { + get { + return ResourceManager.GetString("Drive_is_able_to_maintain_the_online_format_layer_through_reset_and_power_cycling" + + "", resourceCulture); + } + } + + internal static string Drive_is_able_to_perform_host_and_drive_directed_power_management { + get { + return ResourceManager.GetString("Drive_is_able_to_perform_host_and_drive_directed_power_management", resourceCulture); + } + } + + internal static string Drive_supports_SMART { + get { + return ResourceManager.GetString("Drive_supports_SMART", resourceCulture); + } + } + + internal static string Drive_supports_the_Informational_Exceptions_Control_mode_page_1Ch { + get { + return ResourceManager.GetString("Drive_supports_the_Informational_Exceptions_Control_mode_page_1Ch", resourceCulture); + } + } + + internal static string MMC_Embedded_Changer { + get { + return ResourceManager.GetString("MMC_Embedded_Changer", resourceCulture); + } + } + + internal static string Drive_can_change_disc_side { + get { + return ResourceManager.GetString("Drive_can_change_disc_side", resourceCulture); + } + } + + internal static string Drive_is_able_to_report_slots_contents_after_a_reset_or_change { + get { + return ResourceManager.GetString("Drive_is_able_to_report_slots_contents_after_a_reset_or_change", resourceCulture); + } + } + + internal static string Drive_has_0_slots { + get { + return ResourceManager.GetString("Drive_has_0_slots", resourceCulture); + } + } + + internal static string Drive_has_an_analogue_audio_output { + get { + return ResourceManager.GetString("Drive_has_an_analogue_audio_output", resourceCulture); + } + } + + internal static string Drive_supports_the_SCAN_command { + get { + return ResourceManager.GetString("Drive_supports_the_SCAN_command", resourceCulture); + } + } + + internal static string Drive_is_able_to_mute_channels_separately { + get { + return ResourceManager.GetString("Drive_is_able_to_mute_channels_separately", resourceCulture); + } + } + + internal static string Drive_supports_separate_volume_per_channel { + get { + return ResourceManager.GetString("Drive_supports_separate_volume_per_channel", resourceCulture); + } + } + + internal static string Drive_has_0_volume_levels { + get { + return ResourceManager.GetString("Drive_has_0_volume_levels", resourceCulture); + } + } + + internal static string Drive_supports_Microcode_Upgrade { + get { + return ResourceManager.GetString("Drive_supports_Microcode_Upgrade", resourceCulture); + } + } + + internal static string Drive_supports_validating_the_5_bit_Mode_of_the_READ_BUFFER_and_WRITE_BUFFER_commands { + get { + return ResourceManager.GetString("Drive_supports_validating_the_5_bit_Mode_of_the_READ_BUFFER_and_WRITE_BUFFER_comm" + + "ands", resourceCulture); + } + } + + internal static string Drive_supports_Timeout_Protect_mode_page_1Dh { + get { + return ResourceManager.GetString("Drive_supports_Timeout_Protect_mode_page_1Dh", resourceCulture); + } + } + + internal static string Drive_supports_the_Group3_in_Timeout_Protect_mode_page_1Dh { + get { + return ResourceManager.GetString("Drive_supports_the_Group3_in_Timeout_Protect_mode_page_1Dh", resourceCulture); + } + } + + internal static string Drive_has_0_increase_of_Group_3_time_unit { + get { + return ResourceManager.GetString("Drive_has_0_increase_of_Group_3_time_unit", resourceCulture); + } + } + + internal static string Drive_supports_DVD_CSS_CPPM_version_0_and_current_disc_is_encrypted { + get { + return ResourceManager.GetString("Drive_supports_DVD_CSS_CPPM_version_0_and_current_disc_is_encrypted", resourceCulture); + } + } + + internal static string Drive_supports_DVD_CSS_CPPM_version_0 { + get { + return ResourceManager.GetString("Drive_supports_DVD_CSS_CPPM_version_0", resourceCulture); + } + } + + internal static string MMC_Real_Time_Streaming_ { + get { + return ResourceManager.GetString("MMC_Real_Time_Streaming_", resourceCulture); + } + } + + internal static string Drive_supports_Set_Minimum_Performance_with_the_SET_STREAMING_command { + get { + return ResourceManager.GetString("Drive_supports_Set_Minimum_Performance_with_the_SET_STREAMING_command", resourceCulture); + } + } + + internal static string Drive_supports_the_block_bit_in_the_READ_BUFFER_CAPACITY_command { + get { + return ResourceManager.GetString("Drive_supports_the_block_bit_in_the_READ_BUFFER_CAPACITY_command", resourceCulture); + } + } + + internal static string Drive_supports_the_SET_CD_SPEED_command { + get { + return ResourceManager.GetString("Drive_supports_the_SET_CD_SPEED_command", resourceCulture); + } + } + + internal static string Drive_supports_the_Write_Speed_Performance_Descriptor_Blocks_in_the_MMC_mode_page_2Ah { + get { + return ResourceManager.GetString("Drive_supports_the_Write_Speed_Performance_Descriptor_Blocks_in_the_MMC_mode_page" + + "_2Ah", resourceCulture); + } + } + + internal static string Drive_supports_the_Write_Speed_data_of_GET_PERFORMANCE_and_the_WRC_field_of_SET_STREAMING { + get { + return ResourceManager.GetString("Drive_supports_the_Write_Speed_data_of_GET_PERFORMANCE_and_the_WRC_field_of_SET_S" + + "TREAMING", resourceCulture); + } + } + + internal static string Drive_supports_stream_recording { + get { + return ResourceManager.GetString("Drive_supports_stream_recording", resourceCulture); + } + } + + internal static string Drive_is_able_to_read_media_serial_number { + get { + return ResourceManager.GetString("Drive_is_able_to_read_media_serial_number", resourceCulture); + } + } + + internal static string Drive_supports_DCB_0 { + get { + return ResourceManager.GetString("Drive_supports_DCB_0", resourceCulture); + } + } + + internal static string Drive_supports_DVD_CPRM_version_0_and_current_disc_is_or_can_be_encrypted { + get { + return ResourceManager.GetString("Drive_supports_DVD_CPRM_version_0_and_current_disc_is_or_can_be_encrypted", resourceCulture); + } + } + + internal static string Drive_supports_DVD_CPRM_version_0 { + get { + return ResourceManager.GetString("Drive_supports_DVD_CPRM_version_0", resourceCulture); + } + } + + internal static string Drive_firmware_is_dated_0 { + get { + return ResourceManager.GetString("Drive_firmware_is_dated_0", resourceCulture); + } + } + + internal static string Drive_supports_AACS_version_0_and_current_disc_is_encrypted { + get { + return ResourceManager.GetString("Drive_supports_AACS_version_0_and_current_disc_is_encrypted", resourceCulture); + } + } + + internal static string Drive_supports_AACS_version_0 { + get { + return ResourceManager.GetString("Drive_supports_AACS_version_0", resourceCulture); + } + } + + internal static string Drive_supports_reading_the_Drive_Certificate { + get { + return ResourceManager.GetString("Drive_supports_reading_the_Drive_Certificate", resourceCulture); + } + } + + internal static string Drive_supports_reading_Media_Key_Block_of_CPRM { + get { + return ResourceManager.GetString("Drive_supports_reading_Media_Key_Block_of_CPRM", resourceCulture); + } + } + + internal static string Drive_supports_writing_with_bus_encryption { + get { + return ResourceManager.GetString("Drive_supports_writing_with_bus_encryption", resourceCulture); + } + } + + internal static string Drive_supports_bus_encryption { + get { + return ResourceManager.GetString("Drive_supports_bus_encryption", resourceCulture); + } + } + + internal static string Drive_supports_generating_the_binding_nonce { + get { + return ResourceManager.GetString("Drive_supports_generating_the_binding_nonce", resourceCulture); + } + } + + internal static string _0_media_blocks_are_required_for_the_binding_nonce { + get { + return ResourceManager.GetString("_0_media_blocks_are_required_for_the_binding_nonce", resourceCulture); + } + } + + internal static string Drive_supports_0_AGIDs_concurrently { + get { + return ResourceManager.GetString("Drive_supports_0_AGIDs_concurrently", resourceCulture); + } + } + + internal static string Maximum_0_scramble_extent_information_entries { + get { + return ResourceManager.GetString("Maximum_0_scramble_extent_information_entries", resourceCulture); + } + } + + internal static string Drive_and_currently_inserted_media_support_VCPS { + get { + return ResourceManager.GetString("Drive_and_currently_inserted_media_support_VCPS", resourceCulture); + } + } + + internal static string Drive_supports_VCPS { + get { + return ResourceManager.GetString("Drive_supports_VCPS", resourceCulture); + } + } + + internal static string Drive_and_currently_inserted_media_support_SecurDisc { + get { + return ResourceManager.GetString("Drive_and_currently_inserted_media_support_SecurDisc", resourceCulture); + } + } + + internal static string Drive_supports_SecurDisc { + get { + return ResourceManager.GetString("Drive_supports_SecurDisc", resourceCulture); + } + } + + internal static string Drive_supports_the_Trusted_Computing_Group_Optical_Security_Subsystem_Class { + get { + return ResourceManager.GetString("Drive_supports_the_Trusted_Computing_Group_Optical_Security_Subsystem_Class", resourceCulture); + } + } + + internal static string Current_media_is_initialized_with_TCG_OSSC { + get { + return ResourceManager.GetString("Current_media_is_initialized_with_TCG_OSSC", resourceCulture); + } + } + + internal static string Drive_supports_PSA_updates_on_write_once_media { + get { + return ResourceManager.GetString("Drive_supports_PSA_updates_on_write_once_media", resourceCulture); + } + } + + internal static string Drive_supports_linked_OSPBs { + get { + return ResourceManager.GetString("Drive_supports_linked_OSPBs", resourceCulture); + } + } + + internal static string Drive_will_only_record_on_the_OSSC_Disc_Format { + get { + return ResourceManager.GetString("Drive_will_only_record_on_the_OSSC_Disc_Format", resourceCulture); + } + } + + internal static string Profile_0_1 { + get { + return ResourceManager.GetString("Profile_0_1", resourceCulture); + } + } + + internal static string _0_format_layers_recognized { + get { + return ResourceManager.GetString("_0_format_layers_recognized", resourceCulture); + } + } + + internal static string Layer_0_is_of_type_Blu_ray { + get { + return ResourceManager.GetString("Layer_0_is_of_type_Blu_ray", resourceCulture); + } + } + + internal static string This_is_the_default_layer { + get { + return ResourceManager.GetString("This_is_the_default_layer", resourceCulture); + } + } + + internal static string This_is_the_layer_actually_in_use { + get { + return ResourceManager.GetString("This_is_the_layer_actually_in_use", resourceCulture); + } + } + + internal static string Layer_0_is_of_type_CD { + get { + return ResourceManager.GetString("Layer_0_is_of_type_CD", resourceCulture); + } + } + + internal static string Layer_0_is_of_type_DVD { + get { + return ResourceManager.GetString("Layer_0_is_of_type_DVD", resourceCulture); + } + } + + internal static string Layer_0_is_of_type_HD_DVD { + get { + return ResourceManager.GetString("Layer_0_is_of_type_HD_DVD", resourceCulture); + } + } + + internal static string Layer_0_is_of_unknown_type_1 { + get { + return ResourceManager.GetString("Layer_0_is_of_unknown_type_1", resourceCulture); + } + } + + internal static string Writing_inhibited_by_media_specific_reason { + get { + return ResourceManager.GetString("Writing_inhibited_by_media_specific_reason", resourceCulture); + } + } + + internal static string Cartridge_sets_write_protection { + get { + return ResourceManager.GetString("Cartridge_sets_write_protection", resourceCulture); + } + } + + internal static string Media_surface_sets_write_protection { + get { + return ResourceManager.GetString("Media_surface_sets_write_protection", resourceCulture); + } + } + + internal static string Software_write_protection_is_set_until_power_down { + get { + return ResourceManager.GetString("Software_write_protection_is_set_until_power_down", resourceCulture); + } + } + + internal static string Reserved_4_equals_0_X2 { + get { + return ResourceManager.GetString("Reserved_4_equals_0_X2", resourceCulture); + } + } + + internal static string Reserved_5_equals_0_X2 { + get { + return ResourceManager.GetString("Reserved_5_equals_0_X2", resourceCulture); + } + } + + internal static string Reserved_6_equals_0_X2 { + get { + return ResourceManager.GetString("Reserved_6_equals_0_X2", resourceCulture); + } + } + + internal static string SCSI_Control_mode_page { + get { + return ResourceManager.GetString("SCSI_Control_mode_page", resourceCulture); + } + } + + internal static string Parameters_can_be_saved { + get { + return ResourceManager.GetString("Parameters_can_be_saved", resourceCulture); + } + } + + internal static string If_set_target_shall_report_log_exception_conditions { + get { + return ResourceManager.GetString("If_set_target_shall_report_log_exception_conditions", resourceCulture); + } + } + + internal static string Tagged_queuing_is_disabled { + get { + return ResourceManager.GetString("Tagged_queuing_is_disabled", resourceCulture); + } + } + + internal static string Extended_Contingent_Allegiance_is_enabled { + get { + return ResourceManager.GetString("Extended_Contingent_Allegiance_is_enabled", resourceCulture); + } + } + + internal static string Target_may_issue_an_asynchronous_event_notification_upon_completing_its_initialization { + get { + return ResourceManager.GetString("Target_may_issue_an_asynchronous_event_notification_upon_completing_its_initializ" + + "ation", resourceCulture); + } + } + + internal static string Target_may_issue_an_asynchronous_event_notification_instead_of_a_unit_attention_condition { + get { + return ResourceManager.GetString("Target_may_issue_an_asynchronous_event_notification_instead_of_a_unit_attention_c" + + "ondition", resourceCulture); + } + } + + internal static string Target_may_issue_an_asynchronous_event_notification_instead_of_a_deferred_error { + get { + return ResourceManager.GetString("Target_may_issue_an_asynchronous_event_notification_instead_of_a_deferred_error", resourceCulture); + } + } + + internal static string Global_logging_target_save_disabled { + get { + return ResourceManager.GetString("Global_logging_target_save_disabled", resourceCulture); + } + } + + internal static string CHECK_CONDITION_should_be_reported_rather_than_a_long_busy_condition { + get { + return ResourceManager.GetString("CHECK_CONDITION_should_be_reported_rather_than_a_long_busy_condition", resourceCulture); + } + } + + internal static string Software_write_protect_is_active { + get { + return ResourceManager.GetString("Software_write_protect_is_active", resourceCulture); + } + } + + internal static string Tasks_aborted_by_other_initiator_s_actions_should_be_terminated_with_TASK_ABORTED { + get { + return ResourceManager.GetString("Tasks_aborted_by_other_initiator_s_actions_should_be_terminated_with_TASK_ABORTED" + + "", resourceCulture); + } + } + + internal static string All_tasks_received_in_nexus_with_ACA_ACTIVE_is_set_and_an_ACA_condition_is_established_shall_terminate { + get { + return ResourceManager.GetString("All_tasks_received_in_nexus_with_ACA_ACTIVE_is_set_and_an_ACA_condition_is_establ" + + "ished_shall_terminate", resourceCulture); + } + } + + internal static string Device_shall_return_descriptor_format_sense_data_when_returning_sense_data_in_the_same_transactions_as_a_CHECK_CONDITION { + get { + return ResourceManager.GetString("Device_shall_return_descriptor_format_sense_data_when_returning_sense_data_in_the" + + "_same_transactions_as_a_CHECK_CONDITION", resourceCulture); + } + } + + internal static string LOGICAL_BLOCK_APPLICATION_TAG_should_not_be_modified { + get { + return ResourceManager.GetString("LOGICAL_BLOCK_APPLICATION_TAG_should_not_be_modified", resourceCulture); + } + } + + internal static string Protector_information_checking_is_disabled { + get { + return ResourceManager.GetString("Protector_information_checking_is_disabled", resourceCulture); + } + } + + internal static string No_unit_attention_on_release { + get { + return ResourceManager.GetString("No_unit_attention_on_release", resourceCulture); + } + } + + internal static string Application_Tag_mode_page_is_enabled { + get { + return ResourceManager.GetString("Application_Tag_mode_page_is_enabled", resourceCulture); + } + } + + internal static string Abort_any_write_command_without_protection_information { + get { + return ResourceManager.GetString("Abort_any_write_command_without_protection_information", resourceCulture); + } + } + + internal static string Supports_block_lengths_and_protection_information { + get { + return ResourceManager.GetString("Supports_block_lengths_and_protection_information", resourceCulture); + } + } + + internal static string The_logical_unit_maintains_one_task_set_for_all_nexuses { + get { + return ResourceManager.GetString("The_logical_unit_maintains_one_task_set_for_all_nexuses", resourceCulture); + } + } + + internal static string The_logical_unit_maintains_separate_task_sets_for_each_nexus { + get { + return ResourceManager.GetString("The_logical_unit_maintains_separate_task_sets_for_each_nexus", resourceCulture); + } + } + + internal static string Unknown_Task_set_type_0 { + get { + return ResourceManager.GetString("Unknown_Task_set_type_0", resourceCulture); + } + } + + internal static string Commands_should_be_sent_strictly_ordered { + get { + return ResourceManager.GetString("Commands_should_be_sent_strictly_ordered", resourceCulture); + } + } + + internal static string Commands_can_be_reordered_in_any_manner { + get { + return ResourceManager.GetString("Commands_can_be_reordered_in_any_manner", resourceCulture); + } + } + + internal static string Unknown_Queue_Algorithm_Modifier_0 { + get { + return ResourceManager.GetString("Unknown_Queue_Algorithm_Modifier_0", resourceCulture); + } + } + + internal static string If_ACA_is_established_the_task_set_commands_shall_resume_after_it_is_cleared_otherwise_they_shall_terminate_with_CHECK_CONDITION { + get { + return ResourceManager.GetString("If_ACA_is_established_the_task_set_commands_shall_resume_after_it_is_cleared_othe" + + "rwise_they_shall_terminate_with_CHECK_CONDITION", resourceCulture); + } + } + + internal static string All_the_affected_commands_in_the_task_set_shall_be_aborted_when_CHECK_CONDITION_is_returned { + get { + return ResourceManager.GetString("All_the_affected_commands_in_the_task_set_shall_be_aborted_when_CHECK_CONDITION_i" + + "s_returned", resourceCulture); + } + } + + internal static string Affected_commands_in_the_task_set_belonging_with_the_CHECK_CONDITION_nexus_shall_be_aborted { + get { + return ResourceManager.GetString("Affected_commands_in_the_task_set_belonging_with_the_CHECK_CONDITION_nexus_shall_" + + "be_aborted", resourceCulture); + } + } + + internal static string Reserved_QErr_value_2_is_set { + get { + return ResourceManager.GetString("Reserved_QErr_value_2_is_set", resourceCulture); + } + } + + internal static string LUN_shall_clear_unit_attention_condition_reported_in_the_same_nexus { + get { + return ResourceManager.GetString("LUN_shall_clear_unit_attention_condition_reported_in_the_same_nexus", resourceCulture); + } + } + + internal static string LUN_shall_not_clear_unit_attention_condition_reported_in_the_same_nexus { + get { + return ResourceManager.GetString("LUN_shall_not_clear_unit_attention_condition_reported_in_the_same_nexus", resourceCulture); + } + } + + internal static string LUN_shall_not_clear_unit_attention_condition_reported_in_the_same_nexus_and_shall_establish_a_unit_attention_condition_for_the_initiator { + get { + return ResourceManager.GetString("LUN_shall_not_clear_unit_attention_condition_reported_in_the_same_nexus_and_shall" + + "_establish_a_unit_attention_condition_for_the_initiator", resourceCulture); + } + } + + internal static string Reserved_UA_INTLCK_CTRL_value_1_is_set { + get { + return ResourceManager.GetString("Reserved_UA_INTLCK_CTRL_value_1_is_set", resourceCulture); + } + } + + internal static string On_medium_insertion_it_shall_be_loaded_for_full_access { + get { + return ResourceManager.GetString("On_medium_insertion_it_shall_be_loaded_for_full_access", resourceCulture); + } + } + + internal static string On_medium_insertion_it_shall_be_loaded_for_auxiliary_memory_access_only { + get { + return ResourceManager.GetString("On_medium_insertion_it_shall_be_loaded_for_auxiliary_memory_access_only", resourceCulture); + } + } + + internal static string On_medium_insertion_it_shall_not_be_loaded { + get { + return ResourceManager.GetString("On_medium_insertion_it_shall_not_be_loaded", resourceCulture); + } + } + + internal static string Reserved_autoload_mode_0_set { + get { + return ResourceManager.GetString("Reserved_autoload_mode_0_set", resourceCulture); + } + } + + internal static string _0_ms_before_attempting_asynchronous_event_notifications_after_initialization { + get { + return ResourceManager.GetString("_0_ms_before_attempting_asynchronous_event_notifications_after_initialization", resourceCulture); + } + } + + internal static string There_is_no_limit_on_the_maximum_time_that_is_allowed_to_remain_busy { + get { + return ResourceManager.GetString("There_is_no_limit_on_the_maximum_time_that_is_allowed_to_remain_busy", resourceCulture); + } + } + + internal static string A_maximum_of_0_ms_are_allowed_to_remain_busy { + get { + return ResourceManager.GetString("A_maximum_of_0_ms_are_allowed_to_remain_busy", resourceCulture); + } + } + + internal static string _0_seconds_to_complete_extended_self_test { + get { + return ResourceManager.GetString("_0_seconds_to_complete_extended_self_test", resourceCulture); + } + } + + internal static string SCSI_Control_extension_page { + get { + return ResourceManager.GetString("SCSI_Control_extension_page", resourceCulture); + } + } + + internal static string Timestamp_can_be_initialized_by_methods_outside_of_the_SCSI_standards { + get { + return ResourceManager.GetString("Timestamp_can_be_initialized_by_methods_outside_of_the_SCSI_standards", resourceCulture); + } + } + + internal static string S01_Timestamp_can_be_initialized_by_methods_outside_of_the_SCSI_standards_but_SCSI_SET_TIMESTAMP_shall_take_precedence_over_them { + get { + return ResourceManager.GetString("S01_Timestamp_can_be_initialized_by_methods_outside_of_the_SCSI_standards_but_SCS" + + "I_SET_TIMESTAMP_shall_take_precedence_over_them", resourceCulture); + } + } + + internal static string Implicit_Asymmetric_Logical_Unit_Access_is_enabled { + get { + return ResourceManager.GetString("Implicit_Asymmetric_Logical_Unit_Access_is_enabled", resourceCulture); + } + } + + internal static string Initial_priority_is_0 { + get { + return ResourceManager.GetString("Initial_priority_is_0", resourceCulture); + } + } + + internal static string Device_will_not_degrade_performance_to_extend_its_life { + get { + return ResourceManager.GetString("Device_will_not_degrade_performance_to_extend_its_life", resourceCulture); + } + } + + internal static string Maximum_sense_data_would_be_0_bytes { + get { + return ResourceManager.GetString("Maximum_sense_data_would_be_0_bytes", resourceCulture); + } + } + + internal static string SCSI_Medium_types_supported_page { + get { + return ResourceManager.GetString("SCSI_Medium_types_supported_page", resourceCulture); + } + } + + internal static string Supported_medium_type_one_0 { + get { + return ResourceManager.GetString("Supported_medium_type_one_0", resourceCulture); + } + } + + internal static string Supported_medium_type_two_0 { + get { + return ResourceManager.GetString("Supported_medium_type_two_0", resourceCulture); + } + } + + internal static string Supported_medium_type_three_0 { + get { + return ResourceManager.GetString("Supported_medium_type_three_0", resourceCulture); + } + } + + internal static string Supported_medium_type_four_0 { + get { + return ResourceManager.GetString("Supported_medium_type_four_0", resourceCulture); + } + } + + internal static string SCSI_CD_ROM_parameters_page { + get { + return ResourceManager.GetString("SCSI_CD_ROM_parameters_page", resourceCulture); + } + } + + internal static string Drive_will_remain_in_track_hold_state_a_vendor_specified_time_after_a_seek_or_read { + get { + return ResourceManager.GetString("Drive_will_remain_in_track_hold_state_a_vendor_specified_time_after_a_seek_or_rea" + + "d", resourceCulture); + } + } + + internal static string Drive_will_remain_in_track_hold_state_125_ms_after_a_seek_or_read { + get { + return ResourceManager.GetString("Drive_will_remain_in_track_hold_state_125_ms_after_a_seek_or_read", resourceCulture); + } + } + + internal static string Drive_will_remain_in_track_hold_state_250_ms_after_a_seek_or_read { + get { + return ResourceManager.GetString("Drive_will_remain_in_track_hold_state_250_ms_after_a_seek_or_read", resourceCulture); + } + } + + internal static string Drive_will_remain_in_track_hold_state_500_ms_after_a_seek_or_read { + get { + return ResourceManager.GetString("Drive_will_remain_in_track_hold_state_500_ms_after_a_seek_or_read", resourceCulture); + } + } + + internal static string Drive_will_remain_in_track_hold_state_1_second_after_a_seek_or_read { + get { + return ResourceManager.GetString("Drive_will_remain_in_track_hold_state_1_second_after_a_seek_or_read", resourceCulture); + } + } + + internal static string Drive_will_remain_in_track_hold_state_2_seconds_after_a_seek_or_read { + get { + return ResourceManager.GetString("Drive_will_remain_in_track_hold_state_2_seconds_after_a_seek_or_read", resourceCulture); + } + } + + internal static string Drive_will_remain_in_track_hold_state_4_seconds_after_a_seek_or_read { + get { + return ResourceManager.GetString("Drive_will_remain_in_track_hold_state_4_seconds_after_a_seek_or_read", resourceCulture); + } + } + + internal static string Drive_will_remain_in_track_hold_state_8_seconds_after_a_seek_or_read { + get { + return ResourceManager.GetString("Drive_will_remain_in_track_hold_state_8_seconds_after_a_seek_or_read", resourceCulture); + } + } + + internal static string Drive_will_remain_in_track_hold_state_16_seconds_after_a_seek_or_read { + get { + return ResourceManager.GetString("Drive_will_remain_in_track_hold_state_16_seconds_after_a_seek_or_read", resourceCulture); + } + } + + internal static string Drive_will_remain_in_track_hold_state_32_seconds_after_a_seek_or_read { + get { + return ResourceManager.GetString("Drive_will_remain_in_track_hold_state_32_seconds_after_a_seek_or_read", resourceCulture); + } + } + + internal static string Drive_will_remain_in_track_hold_state_1_minute_after_a_seek_or_read { + get { + return ResourceManager.GetString("Drive_will_remain_in_track_hold_state_1_minute_after_a_seek_or_read", resourceCulture); + } + } + + internal static string Drive_will_remain_in_track_hold_state_2_minutes_after_a_seek_or_read { + get { + return ResourceManager.GetString("Drive_will_remain_in_track_hold_state_2_minutes_after_a_seek_or_read", resourceCulture); + } + } + + internal static string Drive_will_remain_in_track_hold_state_4_minutes_after_a_seek_or_read { + get { + return ResourceManager.GetString("Drive_will_remain_in_track_hold_state_4_minutes_after_a_seek_or_read", resourceCulture); + } + } + + internal static string Drive_will_remain_in_track_hold_state_8_minutes_after_a_seek_or_read { + get { + return ResourceManager.GetString("Drive_will_remain_in_track_hold_state_8_minutes_after_a_seek_or_read", resourceCulture); + } + } + + internal static string Drive_will_remain_in_track_hold_state_16_minutes_after_a_seek_or_read { + get { + return ResourceManager.GetString("Drive_will_remain_in_track_hold_state_16_minutes_after_a_seek_or_read", resourceCulture); + } + } + + internal static string Drive_will_remain_in_track_hold_state_32_minutes_after_a_seek_or_read { + get { + return ResourceManager.GetString("Drive_will_remain_in_track_hold_state_32_minutes_after_a_seek_or_read", resourceCulture); + } + } + + internal static string Each_minute_has_0_seconds { + get { + return ResourceManager.GetString("Each_minute_has_0_seconds", resourceCulture); + } + } + + internal static string Each_second_has_0_frames { + get { + return ResourceManager.GetString("Each_second_has_0_frames", resourceCulture); + } + } + + internal static string SCSI_CD_ROM_audio_control_parameters_page { + get { + return ResourceManager.GetString("SCSI_CD_ROM_audio_control_parameters_page", resourceCulture); + } + } + + internal static string Drive_will_return_from_playback_command_immediately { + get { + return ResourceManager.GetString("Drive_will_return_from_playback_command_immediately", resourceCulture); + } + } + + internal static string Drive_will_return_from_playback_command_when_playback_ends { + get { + return ResourceManager.GetString("Drive_will_return_from_playback_command_when_playback_ends", resourceCulture); + } + } + + internal static string Drive_will_stop_playback_on_track_end { + get { + return ResourceManager.GetString("Drive_will_stop_playback_on_track_end", resourceCulture); + } + } + + internal static string There_are_0_blocks_per_each_second_of_audio { + get { + return ResourceManager.GetString("There_are_0_blocks_per_each_second_of_audio", resourceCulture); + } + } + + internal static string Output_port_0_has_channels { + get { + return ResourceManager.GetString("Output_port_0_has_channels", resourceCulture); + } + } + + internal static string muted { + get { + return ResourceManager.GetString("muted", resourceCulture); + } + } + + internal static string at_maximum_volume { + get { + return ResourceManager.GetString("at_maximum_volume", resourceCulture); + } + } + + internal static string at_volume_0 { + get { + return ResourceManager.GetString("at_volume_0", resourceCulture); + } + } + + internal static string Output_port_1_has_channels { + get { + return ResourceManager.GetString("Output_port_1_has_channels", resourceCulture); + } + } + + internal static string Output_port_2_has_channels { + get { + return ResourceManager.GetString("Output_port_2_has_channels", resourceCulture); + } + } + + internal static string Output_port_3_has_channels { + get { + return ResourceManager.GetString("Output_port_3_has_channels", resourceCulture); + } + } + + internal static string SCSI_Data_compression_page { + get { + return ResourceManager.GetString("SCSI_Data_compression_page", resourceCulture); + } + } + + internal static string Drive_supports_data_compression { + get { + return ResourceManager.GetString("Drive_supports_data_compression", resourceCulture); + } + } + + internal static string Data_compression_is_enabled_with { + get { + return ResourceManager.GetString("Data_compression_is_enabled_with", resourceCulture); + } + } + + internal static string IBM_ALDC_with_512_byte_buffer { + get { + return ResourceManager.GetString("IBM_ALDC_with_512_byte_buffer", resourceCulture); + } + } + + internal static string IBM_ALDC_with_1024_byte_buffer { + get { + return ResourceManager.GetString("IBM_ALDC_with_1024_byte_buffer", resourceCulture); + } + } + + internal static string IBM_ALDC_with_2048_byte_buffer { + get { + return ResourceManager.GetString("IBM_ALDC_with_2048_byte_buffer", resourceCulture); + } + } + + internal static string IBM_IDRC { + get { + return ResourceManager.GetString("IBM_IDRC", resourceCulture); + } + } + + internal static string DCLZ { + get { + return ResourceManager.GetString("DCLZ", resourceCulture); + } + } + + internal static string an_unregistered_compression_algorithm { + get { + return ResourceManager.GetString("an_unregistered_compression_algorithm", resourceCulture); + } + } + + internal static string an_unknown_algorithm_coded_0 { + get { + return ResourceManager.GetString("an_unknown_algorithm_coded_0", resourceCulture); + } + } + + internal static string Data_decompression_is_enabled { + get { + return ResourceManager.GetString("Data_decompression_is_enabled", resourceCulture); + } + } + + internal static string Last_data_read_was_uncompressed { + get { + return ResourceManager.GetString("Last_data_read_was_uncompressed", resourceCulture); + } + } + + internal static string Last_data_read_was_compressed_with_ { + get { + return ResourceManager.GetString("Last_data_read_was_compressed_with_", resourceCulture); + } + } + + internal static string Report_exception_on_compression_is_set_to_0 { + get { + return ResourceManager.GetString("Report_exception_on_compression_is_set_to_0", resourceCulture); + } + } + + internal static string Drive_does_not_support_data_compression { + get { + return ResourceManager.GetString("Drive_does_not_support_data_compression", resourceCulture); + } + } + + internal static string SCSI_Drive_Operation_Mode_page { + get { + return ResourceManager.GetString("SCSI_Drive_Operation_Mode_page", resourceCulture); + } + } + + internal static string Verifying_after_writing_is_disabled { + get { + return ResourceManager.GetString("Verifying_after_writing_is_disabled", resourceCulture); + } + } + + internal static string Drive_will_abort_when_a_writing_error_is_detected { + get { + return ResourceManager.GetString("Drive_will_abort_when_a_writing_error_is_detected", resourceCulture); + } + } + + internal static string Drive_has_two_LUNs_with_rewritable_being { + get { + return ResourceManager.GetString("Drive_has_two_LUNs_with_rewritable_being", resourceCulture); + } + } + + internal static string SCSI_Power_Consumption_page { + get { + return ResourceManager.GetString("SCSI_Power_Consumption_page", resourceCulture); + } + } + + internal static string Device_power_consumption_is_dictated_by_identifier_0_of_Power_Consumption_VPD { + get { + return ResourceManager.GetString("Device_power_consumption_is_dictated_by_identifier_0_of_Power_Consumption_VPD", resourceCulture); + } + } + + internal static string Device_is_in_highest_relative_power_consumption_level { + get { + return ResourceManager.GetString("Device_is_in_highest_relative_power_consumption_level", resourceCulture); + } + } + + internal static string Device_is_in_intermediate_relative_power_consumption_level { + get { + return ResourceManager.GetString("Device_is_in_intermediate_relative_power_consumption_level", resourceCulture); + } + } + + internal static string Device_is_in_lowest_relative_power_consumption_level { + get { + return ResourceManager.GetString("Device_is_in_lowest_relative_power_consumption_level", resourceCulture); + } + } + + internal static string SCSI_Removable_Block_Access_Capabilities_page { + get { + return ResourceManager.GetString("SCSI_Removable_Block_Access_Capabilities_page", resourceCulture); + } + } + + internal static string Drive_can_be_used_as_a_system_floppy_device { + get { + return ResourceManager.GetString("Drive_can_be_used_as_a_system_floppy_device", resourceCulture); + } + } + + internal static string Drive_supports_reporting_progress_of_format { + get { + return ResourceManager.GetString("Drive_supports_reporting_progress_of_format", resourceCulture); + } + } + + internal static string Drive_is_a_Non_CD_Optical_Device { + get { + return ResourceManager.GetString("Drive_is_a_Non_CD_Optical_Device", resourceCulture); + } + } + + internal static string Device_is_a_dual_device_supporting_CD_and_Non_CD_Optical { + get { + return ResourceManager.GetString("Device_is_a_dual_device_supporting_CD_and_Non_CD_Optical", resourceCulture); + } + } + + internal static string Drive_supports_0_LUNs { + get { + return ResourceManager.GetString("Drive_supports_0_LUNs", resourceCulture); + } + } + + internal static string SCSI_Informational_exceptions_control_page { + get { + return ResourceManager.GetString("SCSI_Informational_exceptions_control_page", resourceCulture); + } + } + + internal static string Informational_exceptions_are_disabled { + get { + return ResourceManager.GetString("Informational_exceptions_are_disabled", resourceCulture); + } + } + + internal static string Informational_exceptions_are_enabled { + get { + return ResourceManager.GetString("Informational_exceptions_are_enabled", resourceCulture); + } + } + + internal static string No_reporting_of_informational_exception_condition { + get { + return ResourceManager.GetString("No_reporting_of_informational_exception_condition", resourceCulture); + } + } + + internal static string Asynchronous_event_reporting_of_informational_exceptions { + get { + return ResourceManager.GetString("Asynchronous_event_reporting_of_informational_exceptions", resourceCulture); + } + } + + internal static string Generate_unit_attention_on_informational_exceptions { + get { + return ResourceManager.GetString("Generate_unit_attention_on_informational_exceptions", resourceCulture); + } + } + + internal static string Conditionally_generate_recovered_error_on_informational_exceptions { + get { + return ResourceManager.GetString("Conditionally_generate_recovered_error_on_informational_exceptions", resourceCulture); + } + } + + internal static string Unconditionally_generate_recovered_error_on_informational_exceptions { + get { + return ResourceManager.GetString("Unconditionally_generate_recovered_error_on_informational_exceptions", resourceCulture); + } + } + + internal static string Generate_no_sense_on_informational_exceptions { + get { + return ResourceManager.GetString("Generate_no_sense_on_informational_exceptions", resourceCulture); + } + } + + internal static string Only_report_informational_exception_condition_on_request { + get { + return ResourceManager.GetString("Only_report_informational_exception_condition_on_request", resourceCulture); + } + } + + internal static string Unknown_method_of_reporting_0 { + get { + return ResourceManager.GetString("Unknown_method_of_reporting_0", resourceCulture); + } + } + + internal static string Informational_exceptions_reporting_should_not_affect_drive_performance { + get { + return ResourceManager.GetString("Informational_exceptions_reporting_should_not_affect_drive_performance", resourceCulture); + } + } + + internal static string A_test_informational_exception_will_raise_on_next_timer { + get { + return ResourceManager.GetString("A_test_informational_exception_will_raise_on_next_timer", resourceCulture); + } + } + + internal static string Drive_shall_log_informational_exception_conditions { + get { + return ResourceManager.GetString("Drive_shall_log_informational_exception_conditions", resourceCulture); + } + } + + internal static string Timer_interval_is_vendor_specific { + get { + return ResourceManager.GetString("Timer_interval_is_vendor_specific", resourceCulture); + } + } + + internal static string Timer_interval_is_0_ms { + get { + return ResourceManager.GetString("Timer_interval_is_0_ms", resourceCulture); + } + } + + internal static string Informational_exception_conditions_will_be_reported_a_maximum_of_0_times { + get { + return ResourceManager.GetString("Informational_exception_conditions_will_be_reported_a_maximum_of_0_times", resourceCulture); + } + } + + internal static string Warning_reporting_is_enabled { + get { + return ResourceManager.GetString("Warning_reporting_is_enabled", resourceCulture); + } + } + + internal static string Background_functions_are_enabled { + get { + return ResourceManager.GetString("Background_functions_are_enabled", resourceCulture); + } + } + + internal static string Drive_will_report_background_self_test_errors { + get { + return ResourceManager.GetString("Drive_will_report_background_self_test_errors", resourceCulture); + } + } + + internal static string SCSI_Background_Control_page { + get { + return ResourceManager.GetString("SCSI_Background_Control_page", resourceCulture); + } + } + + internal static string Background_scans_will_be_halted_if_log_is_full { + get { + return ResourceManager.GetString("Background_scans_will_be_halted_if_log_is_full", resourceCulture); + } + } + + internal static string Background_scans_will_only_be_logged_if_they_require_intervention { + get { + return ResourceManager.GetString("Background_scans_will_only_be_logged_if_they_require_intervention", resourceCulture); + } + } + + internal static string Background_medium_scans_are_enabled { + get { + return ResourceManager.GetString("Background_medium_scans_are_enabled", resourceCulture); + } + } + + internal static string Background_pre_scans_are_enabled { + get { + return ResourceManager.GetString("Background_pre_scans_are_enabled", resourceCulture); + } + } + + internal static string _0__hours_shall_be_between_the_start_of_a_background_scan_operation_and_the_next { + get { + return ResourceManager.GetString("_0__hours_shall_be_between_the_start_of_a_background_scan_operation_and_the_next", resourceCulture); + } + } + + internal static string Background_pre_scan_operations_can_take_a_maximum_of_0_hours { + get { + return ResourceManager.GetString("Background_pre_scan_operations_can_take_a_maximum_of_0_hours", resourceCulture); + } + } + + internal static string At_least_0_ms_must_be_idle_before_resuming_a_suspended_background_scan_operation { + get { + return ResourceManager.GetString("At_least_0_ms_must_be_idle_before_resuming_a_suspended_background_scan_operation", resourceCulture); + } + } + + internal static string At_most_0_ms_must_be_before_suspending_a_background_scan_operation_and_processing_received_commands { + get { + return ResourceManager.GetString("At_most_0_ms_must_be_before_suspending_a_background_scan_operation_and_processing" + + "_received_commands", resourceCulture); + } + } + + internal static string SCSI_Timer_Protect_page { + get { + return ResourceManager.GetString("SCSI_Timer_Protect_page", resourceCulture); + } + } + + internal static string Drive_is_disabled_until_power_is_cycled { + get { + return ResourceManager.GetString("Drive_is_disabled_until_power_is_cycled", resourceCulture); + } + } + + internal static string Drive_is_software_write_protected_until_powered_down { + get { + return ResourceManager.GetString("Drive_is_software_write_protected_until_powered_down", resourceCulture); + } + } + + internal static string Drive_will_remain_in_same_status_a_vendor_specified_time_after_a_seek_read_or_write_operation { + get { + return ResourceManager.GetString("Drive_will_remain_in_same_status_a_vendor_specified_time_after_a_seek_read_or_wri" + + "te_operation", resourceCulture); + } + } + + internal static string Drive_will_remain_in_same_status_125_ms_after_a_seek_read_or_write_operation { + get { + return ResourceManager.GetString("Drive_will_remain_in_same_status_125_ms_after_a_seek_read_or_write_operation", resourceCulture); + } + } + + internal static string Drive_will_remain_in_same_status_250_ms_after_a_seek_read_or_write_operation { + get { + return ResourceManager.GetString("Drive_will_remain_in_same_status_250_ms_after_a_seek_read_or_write_operation", resourceCulture); + } + } + + internal static string Drive_will_remain_in_same_status_500_ms_after_a_seek_read_or_write_operation { + get { + return ResourceManager.GetString("Drive_will_remain_in_same_status_500_ms_after_a_seek_read_or_write_operation", resourceCulture); + } + } + + internal static string Drive_will_remain_in_same_status_1_second_after_a_seek_read_or_write_operation { + get { + return ResourceManager.GetString("Drive_will_remain_in_same_status_1_second_after_a_seek_read_or_write_operation", resourceCulture); + } + } + + internal static string Drive_will_remain_in_same_status_2_seconds_after_a_seek_read_or_write_operation { + get { + return ResourceManager.GetString("Drive_will_remain_in_same_status_2_seconds_after_a_seek_read_or_write_operation", resourceCulture); + } + } + + internal static string Drive_will_remain_in_same_status_4_seconds_after_a_seek_read_or_write_operation { + get { + return ResourceManager.GetString("Drive_will_remain_in_same_status_4_seconds_after_a_seek_read_or_write_operation", resourceCulture); + } + } + + internal static string Drive_will_remain_in_same_status_8_seconds_after_a_seek_read_or_write_operation { + get { + return ResourceManager.GetString("Drive_will_remain_in_same_status_8_seconds_after_a_seek_read_or_write_operation", resourceCulture); + } + } + + internal static string Drive_will_remain_in_same_status_16_seconds_after_a_seek_read_or_write_operation { + get { + return ResourceManager.GetString("Drive_will_remain_in_same_status_16_seconds_after_a_seek_read_or_write_operation", resourceCulture); + } + } + + internal static string Drive_will_remain_in_same_status_32_seconds_after_a_seek_read_or_write_operation { + get { + return ResourceManager.GetString("Drive_will_remain_in_same_status_32_seconds_after_a_seek_read_or_write_operation", resourceCulture); + } + } + + internal static string Drive_will_remain_in_same_status_1_minute_after_a_seek_read_or_write_operation { + get { + return ResourceManager.GetString("Drive_will_remain_in_same_status_1_minute_after_a_seek_read_or_write_operation", resourceCulture); + } + } + + internal static string Drive_will_remain_in_same_status_2_minutes_after_a_seek_read_or_write_operation { + get { + return ResourceManager.GetString("Drive_will_remain_in_same_status_2_minutes_after_a_seek_read_or_write_operation", resourceCulture); + } + } + + internal static string Drive_will_remain_in_same_status_4_minutes_after_a_seek_read_or_write_operation { + get { + return ResourceManager.GetString("Drive_will_remain_in_same_status_4_minutes_after_a_seek_read_or_write_operation", resourceCulture); + } + } + + internal static string Drive_will_remain_in_same_status_8_minutes_after_a_seek_read_or_write_operation { + get { + return ResourceManager.GetString("Drive_will_remain_in_same_status_8_minutes_after_a_seek_read_or_write_operation", resourceCulture); + } + } + + internal static string Drive_will_remain_in_same_status_16_minutes_after_a_seek_read_or_write_operation { + get { + return ResourceManager.GetString("Drive_will_remain_in_same_status_16_minutes_after_a_seek_read_or_write_operation", resourceCulture); + } + } + + internal static string Drive_will_remain_in_same_status_32_minutes_after_a_seek_read_or_write_operation { + get { + return ResourceManager.GetString("Drive_will_remain_in_same_status_32_minutes_after_a_seek_read_or_write_operation", resourceCulture); + } + } + + internal static string SCSI_Medium_Configuration_Mode_Page { + get { + return ResourceManager.GetString("SCSI_Medium_Configuration_Mode_Page", resourceCulture); + } + } + + internal static string Drive_is_operating_in_WORM_mode { + get { + return ResourceManager.GetString("Drive_is_operating_in_WORM_mode", resourceCulture); + } + } + + internal static string Drive_does_not_allow_any_logical_blocks_to_be_overwritten { + get { + return ResourceManager.GetString("Drive_does_not_allow_any_logical_blocks_to_be_overwritten", resourceCulture); + } + } + + internal static string Drive_allows_a_tape_header_to_be_overwritten { + get { + return ResourceManager.GetString("Drive_allows_a_tape_header_to_be_overwritten", resourceCulture); + } + } + + internal static string Drive_allows_all_format_labels_to_be_overwritten { + get { + return ResourceManager.GetString("Drive_allows_all_format_labels_to_be_overwritten", resourceCulture); + } + } + + internal static string Unknown_WORM_mode_label_restrictions_code_0 { + get { + return ResourceManager.GetString("Unknown_WORM_mode_label_restrictions_code_0", resourceCulture); + } + } + + internal static string SCSI_Read_write_error_recovery_page { + get { + return ResourceManager.GetString("SCSI_Read_write_error_recovery_page", resourceCulture); + } + } + + internal static string Automatic_write_reallocation_is_enabled { + get { + return ResourceManager.GetString("Automatic_write_reallocation_is_enabled", resourceCulture); + } + } + + internal static string Automatic_read_reallocation_is_enabled { + get { + return ResourceManager.GetString("Automatic_read_reallocation_is_enabled", resourceCulture); + } + } + + internal static string Data_not_recovered_within_limits_shall_be_transferred_back_before_a_CHECK_CONDITION { + get { + return ResourceManager.GetString("Data_not_recovered_within_limits_shall_be_transferred_back_before_a_CHECK_CONDITI" + + "ON", resourceCulture); + } + } + + internal static string Drive_will_transfer_the_entire_requested_length_without_delaying_to_perform_error_recovery { + get { + return ResourceManager.GetString("Drive_will_transfer_the_entire_requested_length_without_delaying_to_perform_error" + + "_recovery", resourceCulture); + } + } + + internal static string Drive_will_use_the_most_expedient_form_of_error_recovery_first { + get { + return ResourceManager.GetString("Drive_will_use_the_most_expedient_form_of_error_recovery_first", resourceCulture); + } + } + + internal static string Drive_shall_report_recovered_errors { + get { + return ResourceManager.GetString("Drive_shall_report_recovered_errors", resourceCulture); + } + } + + internal static string Transfer_will_be_terminated_upon_error_detection { + get { + return ResourceManager.GetString("Transfer_will_be_terminated_upon_error_detection", resourceCulture); + } + } + + internal static string Error_correction_is_disabled { + get { + return ResourceManager.GetString("Error_correction_is_disabled", resourceCulture); + } + } + + internal static string Drive_will_repeat_read_operations_0_times { + get { + return ResourceManager.GetString("Drive_will_repeat_read_operations_0_times", resourceCulture); + } + } + + internal static string Drive_will_repeat_write_operations_0_times { + get { + return ResourceManager.GetString("Drive_will_repeat_write_operations_0_times", resourceCulture); + } + } + + internal static string Drive_will_employ_a_maximum_of_0_ms_to_recover_data { + get { + return ResourceManager.GetString("Drive_will_employ_a_maximum_of_0_ms_to_recover_data", resourceCulture); + } + } + + internal static string Logical_block_provisioning_error_reporting_is_enabled { + get { + return ResourceManager.GetString("Logical_block_provisioning_error_reporting_is_enabled", resourceCulture); + } + } + + internal static string SCSI_Read_error_recovery_page_for_MultiMedia_Devices { + get { + return ResourceManager.GetString("SCSI_Read_error_recovery_page_for_MultiMedia_Devices", resourceCulture); + } + } + + internal static string All_available_recovery_procedures_will_be_used { + get { + return ResourceManager.GetString("All_available_recovery_procedures_will_be_used", resourceCulture); + } + } + + internal static string Only_retries_and_CIRC_are_used { + get { + return ResourceManager.GetString("Only_retries_and_CIRC_are_used", resourceCulture); + } + } + + internal static string Only_retries_are_used { + get { + return ResourceManager.GetString("Only_retries_are_used", resourceCulture); + } + } + + internal static string Recovered_errors_will_not_be_reported { + get { + return ResourceManager.GetString("Recovered_errors_will_not_be_reported", resourceCulture); + } + } + + internal static string Recovered_errors_will_be_reported { + get { + return ResourceManager.GetString("Recovered_errors_will_be_reported", resourceCulture); + } + } + + internal static string Recovered_errors_will_be_reported_and_aborted_with_CHECK_CONDITION { + get { + return ResourceManager.GetString("Recovered_errors_will_be_reported_and_aborted_with_CHECK_CONDITION", resourceCulture); + } + } + + internal static string Unrecovered_ECC_errors_will_return_CHECK_CONDITION { + get { + return ResourceManager.GetString("Unrecovered_ECC_errors_will_return_CHECK_CONDITION", resourceCulture); + } + } + + internal static string Unrecovered_CIRC_errors_will_return_CHECK_CONDITION { + get { + return ResourceManager.GetString("Unrecovered_CIRC_errors_will_return_CHECK_CONDITION", resourceCulture); + } + } + + internal static string Unrecovered_ECC_errors_will_not_abort_the_transfer { + get { + return ResourceManager.GetString("Unrecovered_ECC_errors_will_not_abort_the_transfer", resourceCulture); + } + } + + internal static string Unrecovered_CIRC_errors_will_not_abort_the_transfer { + get { + return ResourceManager.GetString("Unrecovered_CIRC_errors_will_not_abort_the_transfer", resourceCulture); + } + } + + internal static string Unrecovered_ECC_errors_will_return_CHECK_CONDITION_and_the_uncorrected_data { + get { + return ResourceManager.GetString("Unrecovered_ECC_errors_will_return_CHECK_CONDITION_and_the_uncorrected_data", resourceCulture); + } + } + + internal static string Unrecovered_CIRC_errors_will_return_CHECK_CONDITION_and_the_uncorrected_data { + get { + return ResourceManager.GetString("Unrecovered_CIRC_errors_will_return_CHECK_CONDITION_and_the_uncorrected_data", resourceCulture); + } + } + + internal static string Unknown_recovery_parameter_0 { + get { + return ResourceManager.GetString("Unknown_recovery_parameter_0", resourceCulture); + } + } + + internal static string SCSI_CD_ROM_capabilities_page { + get { + return ResourceManager.GetString("SCSI_CD_ROM_capabilities_page", resourceCulture); + } + } + + internal static string Drive_can_play_audio { + get { + return ResourceManager.GetString("Drive_can_play_audio", resourceCulture); + } + } + + internal static string Drive_can_read_sectors_in_Mode_2_Form_1_format { + get { + return ResourceManager.GetString("Drive_can_read_sectors_in_Mode_2_Form_1_format", resourceCulture); + } + } + + internal static string Drive_can_read_sectors_in_Mode_2_Form_2_format { + get { + return ResourceManager.GetString("Drive_can_read_sectors_in_Mode_2_Form_2_format", resourceCulture); + } + } + + internal static string Drive_supports_multi_session_discs_and_or_Photo_CD { + get { + return ResourceManager.GetString("Drive_supports_multi_session_discs_and_or_Photo_CD", resourceCulture); + } + } + + internal static string Drive_can_read_digital_audio { + get { + return ResourceManager.GetString("Drive_can_read_digital_audio", resourceCulture); + } + } + + internal static string Drive_can_continue_from_streaming_loss { + get { + return ResourceManager.GetString("Drive_can_continue_from_streaming_loss", resourceCulture); + } + } + + internal static string Drive_can_read_uncorrected_and_interleaved_R_W_subchannels { + get { + return ResourceManager.GetString("Drive_can_read_uncorrected_and_interleaved_R_W_subchannels", resourceCulture); + } + } + + internal static string Drive_can_read__deinterleave_and_correct_R_W_subchannels { + get { + return ResourceManager.GetString("Drive_can_read__deinterleave_and_correct_R_W_subchannels", resourceCulture); + } + } + + internal static string Drive_supports_C2_pointers { + get { + return ResourceManager.GetString("Drive_supports_C2_pointers", resourceCulture); + } + } + + internal static string Drive_can_read_Media_Catalogue_Number { + get { + return ResourceManager.GetString("Drive_can_read_Media_Catalogue_Number", resourceCulture); + } + } + + internal static string Drive_can_read_ISRC { + get { + return ResourceManager.GetString("Drive_can_read_ISRC", resourceCulture); + } + } + + internal static string Drive_uses_media_caddy { + get { + return ResourceManager.GetString("Drive_uses_media_caddy", resourceCulture); + } + } + + internal static string Drive_uses_a_tray { + get { + return ResourceManager.GetString("Drive_uses_a_tray", resourceCulture); + } + } + + internal static string Drive_is_pop_up { + get { + return ResourceManager.GetString("Drive_is_pop_up", resourceCulture); + } + } + + internal static string Drive_is_a_changer_with_individually_changeable_discs { + get { + return ResourceManager.GetString("Drive_is_a_changer_with_individually_changeable_discs", resourceCulture); + } + } + + internal static string Drive_is_a_changer_using_cartridges { + get { + return ResourceManager.GetString("Drive_is_a_changer_using_cartridges", resourceCulture); + } + } + + internal static string Drive_uses_unknown_loading_mechanism_type__0_ { + get { + return ResourceManager.GetString("Drive_uses_unknown_loading_mechanism_type__0_", resourceCulture); + } + } + + internal static string Drive_can_lock_media { + get { + return ResourceManager.GetString("Drive_can_lock_media", resourceCulture); + } + } + + internal static string Drive_power_ups_locked { + get { + return ResourceManager.GetString("Drive_power_ups_locked", resourceCulture); + } + } + + internal static string Drive_is_locked__media_cannot_be_ejected_or_inserted { + get { + return ResourceManager.GetString("Drive_is_locked__media_cannot_be_ejected_or_inserted", resourceCulture); + } + } + + internal static string Drive_is_not_locked__media_can_be_ejected_and_inserted { + get { + return ResourceManager.GetString("Drive_is_not_locked__media_can_be_ejected_and_inserted", resourceCulture); + } + } + + internal static string Drive_is_locked__media_cannot_be_ejected__but_if_empty__can_be_inserted { + get { + return ResourceManager.GetString("Drive_is_locked__media_cannot_be_ejected__but_if_empty__can_be_inserted", resourceCulture); + } + } + + internal static string Drive_can_eject_media { + get { + return ResourceManager.GetString("Drive_can_eject_media", resourceCulture); + } + } + + internal static string Each_channel_can_be_muted_independently { + get { + return ResourceManager.GetString("Each_channel_can_be_muted_independently", resourceCulture); + } + } + + internal static string Each_channel_s_volume_can_be_controlled_independently { + get { + return ResourceManager.GetString("Each_channel_s_volume_can_be_controlled_independently", resourceCulture); + } + } + + internal static string Drive_supports_0_volume_levels { + get { + return ResourceManager.GetString("Drive_supports_0_volume_levels", resourceCulture); + } + } + + internal static string Drive_has_0_Kbyte_of_buffer { + get { + return ResourceManager.GetString("Drive_has_0_Kbyte_of_buffer", resourceCulture); + } + } + + internal static string Drive_maximum_reading_speed_is_0_Kbyte_sec { + get { + return ResourceManager.GetString("Drive_maximum_reading_speed_is_0_Kbyte_sec", resourceCulture); + } + } + + internal static string Drive_current_reading_speed_is_0_Kbyte_sec { + get { + return ResourceManager.GetString("Drive_current_reading_speed_is_0_Kbyte_sec", resourceCulture); + } + } + + internal static string Drive_can_read_and_write_CD_R { + get { + return ResourceManager.GetString("Drive_can_read_and_write_CD_R", resourceCulture); + } + } + + internal static string Drive_can_read_CD_R { + get { + return ResourceManager.GetString("Drive_can_read_CD_R", resourceCulture); + } + } + + internal static string Drive_supports_reading_CD_R_packet_media { + get { + return ResourceManager.GetString("Drive_supports_reading_CD_R_packet_media", resourceCulture); + } + } + + internal static string Drive_can_read_and_write_CD_RW { + get { + return ResourceManager.GetString("Drive_can_read_and_write_CD_RW", resourceCulture); + } + } + + internal static string Drive_can_read_CD_RW { + get { + return ResourceManager.GetString("Drive_can_read_CD_RW", resourceCulture); + } + } + + internal static string Drive_can_read_DVD_ROM { + get { + return ResourceManager.GetString("Drive_can_read_DVD_ROM", resourceCulture); + } + } + + internal static string Drive_can_read_and_write_DVD_R { + get { + return ResourceManager.GetString("Drive_can_read_and_write_DVD_R", resourceCulture); + } + } + + internal static string Drive_can_read_DVD_R { + get { + return ResourceManager.GetString("Drive_can_read_DVD_R", resourceCulture); + } + } + + internal static string Drive_can_read_and_write_DVD_RAM { + get { + return ResourceManager.GetString("Drive_can_read_and_write_DVD_RAM", resourceCulture); + } + } + + internal static string Drive_can_read_DVD_RAM { + get { + return ResourceManager.GetString("Drive_can_read_DVD_RAM", resourceCulture); + } + } + + internal static string Drive_can_deliver_a_composite_audio_and_video_data_stream { + get { + return ResourceManager.GetString("Drive_can_deliver_a_composite_audio_and_video_data_stream", resourceCulture); + } + } + + internal static string Drive_supports_IEC_958_digital_output_on_port_1 { + get { + return ResourceManager.GetString("Drive_supports_IEC_958_digital_output_on_port_1", resourceCulture); + } + } + + internal static string Drive_supports_IEC_958_digital_output_on_port_2 { + get { + return ResourceManager.GetString("Drive_supports_IEC_958_digital_output_on_port_2", resourceCulture); + } + } + + internal static string Drive_contains_a_changer_that_can_report_the_exact_contents_of_the_slots { + get { + return ResourceManager.GetString("Drive_contains_a_changer_that_can_report_the_exact_contents_of_the_slots", resourceCulture); + } + } + + internal static string Drive_current_writing_speed_is_0_Kbyte_sec_in_CLV_mode { + get { + return ResourceManager.GetString("Drive_current_writing_speed_is_0_Kbyte_sec_in_CLV_mode", resourceCulture); + } + } + + internal static string Drive_current_writing_speed_is_0_Kbyte_sec_in_pure_CAV_mode { + get { + return ResourceManager.GetString("Drive_current_writing_speed_is_0_Kbyte_sec_in_pure_CAV_mode", resourceCulture); + } + } + + internal static string Drive_maximum_writing_speed_is_0_Kbyte_sec { + get { + return ResourceManager.GetString("Drive_maximum_writing_speed_is_0_Kbyte_sec", resourceCulture); + } + } + + internal static string Drive_current_writing_speed_is_0_Kbyte_sec { + get { + return ResourceManager.GetString("Drive_current_writing_speed_is_0_Kbyte_sec", resourceCulture); + } + } + + internal static string Drive_supports_writing_at_0_Kbyte_sec_in_CLV_mode { + get { + return ResourceManager.GetString("Drive_supports_writing_at_0_Kbyte_sec_in_CLV_mode", resourceCulture); + } + } + + internal static string Drive_supports_writing_at_is_0_Kbyte_sec_in_pure_CAV_mode { + get { + return ResourceManager.GetString("Drive_supports_writing_at_is_0_Kbyte_sec_in_pure_CAV_mode", resourceCulture); + } + } + + internal static string Drive_supports_test_writing { + get { + return ResourceManager.GetString("Drive_supports_test_writing", resourceCulture); + } + } + + internal static string Drive_can_read_barcode { + get { + return ResourceManager.GetString("Drive_can_read_barcode", resourceCulture); + } + } + + internal static string Drive_can_read_both_sides_of_a_disc { + get { + return ResourceManager.GetString("Drive_can_read_both_sides_of_a_disc", resourceCulture); + } + } + + internal static string Drive_an_read_raw_R_W_subchannel_from_the_Lead_In { + get { + return ResourceManager.GetString("Drive_an_read_raw_R_W_subchannel_from_the_Lead_In", resourceCulture); + } + } + + internal static string Drive_supports_DVD_CSS_and_or_DVD_CPPM { + get { + return ResourceManager.GetString("Drive_supports_DVD_CSS_and_or_DVD_CPPM", resourceCulture); + } + } + + internal static string Drive_supports_buffer_under_run_free_recording { + get { + return ResourceManager.GetString("Drive_supports_buffer_under_run_free_recording", resourceCulture); + } + } + + internal static string IBM_Behaviour_Configuration_Mode_Page { + get { + return ResourceManager.GetString("IBM_Behaviour_Configuration_Mode_Page", resourceCulture); + } + } + + internal static string Fence_behaviour_is_normal { + get { + return ResourceManager.GetString("Fence_behaviour_is_normal", resourceCulture); + } + } + + internal static string Panic_fence_behaviour_is_enabled { + get { + return ResourceManager.GetString("Panic_fence_behaviour_is_enabled", resourceCulture); + } + } + + internal static string Unknown_fence_behaviour_code_0 { + get { + return ResourceManager.GetString("Unknown_fence_behaviour_code_0", resourceCulture); + } + } + + internal static string Cleaning_behaviour_is_normal { + get { + return ResourceManager.GetString("Cleaning_behaviour_is_normal", resourceCulture); + } + } + + internal static string Drive_will_periodically_request_cleaning { + get { + return ResourceManager.GetString("Drive_will_periodically_request_cleaning", resourceCulture); + } + } + + internal static string Unknown_cleaning_behaviour_code_0 { + get { + return ResourceManager.GetString("Unknown_cleaning_behaviour_code_0", resourceCulture); + } + } + + internal static string WORM_emulation_is_disabled { + get { + return ResourceManager.GetString("WORM_emulation_is_disabled", resourceCulture); + } + } + + internal static string WORM_emulation_is_enabled { + get { + return ResourceManager.GetString("WORM_emulation_is_enabled", resourceCulture); + } + } + + internal static string Unknown_WORM_emulation_code_0 { + get { + return ResourceManager.GetString("Unknown_WORM_emulation_code_0", resourceCulture); + } + } + + internal static string Uses_35_bytes_sense_data { + get { + return ResourceManager.GetString("Uses_35_bytes_sense_data", resourceCulture); + } + } + + internal static string Uses_96_bytes_sense_data { + get { + return ResourceManager.GetString("Uses_96_bytes_sense_data", resourceCulture); + } + } + + internal static string Unknown_sense_data_behaviour_code_0 { + get { + return ResourceManager.GetString("Unknown_sense_data_behaviour_code_0", resourceCulture); + } + } + + internal static string Drive_will_set_Check_Condition_when_cleaning_is_needed { + get { + return ResourceManager.GetString("Drive_will_set_Check_Condition_when_cleaning_is_needed", resourceCulture); + } + } + + internal static string No_deferred_error_will_be_reported_to_a_rewind_command { + get { + return ResourceManager.GetString("No_deferred_error_will_be_reported_to_a_rewind_command", resourceCulture); + } + } + + internal static string Drive_will_set_Check_Condition_when_the_criteria_for_Dead_Media_is_met { + get { + return ResourceManager.GetString("Drive_will_set_Check_Condition_when_the_criteria_for_Dead_Media_is_met", resourceCulture); + } + } + + internal static string Drive_will_not_accept_downlevel_firmware_via_an_FMR_tape { + get { + return ResourceManager.GetString("Drive_will_not_accept_downlevel_firmware_via_an_FMR_tape", resourceCulture); + } + } + + internal static string Drive_will_eject_cleaning_cartridges_on_error { + get { + return ResourceManager.GetString("Drive_will_eject_cleaning_cartridges_on_error", resourceCulture); + } + } + + internal static string Drive_will_eject_firmware_cartridges_on_error { + get { + return ResourceManager.GetString("Drive_will_eject_firmware_cartridges_on_error", resourceCulture); + } + } + + internal static string Drive_will_eject_data_cartridges_on_error { + get { + return ResourceManager.GetString("Drive_will_eject_data_cartridges_on_error", resourceCulture); + } + } + + internal static string SCSI_Disconnect_Reconnect_mode_page { + get { + return ResourceManager.GetString("SCSI_Disconnect_Reconnect_mode_page", resourceCulture); + } + } + + internal static string _0_ratio_of_buffer_that_shall_be_full_prior_to_attempting_a_reselection { + get { + return ResourceManager.GetString("_0_ratio_of_buffer_that_shall_be_full_prior_to_attempting_a_reselection", resourceCulture); + } + } + + internal static string _0_ratio_of_buffer_that_shall_be_empty_prior_to_attempting_a_reselection { + get { + return ResourceManager.GetString("_0_ratio_of_buffer_that_shall_be_empty_prior_to_attempting_a_reselection", resourceCulture); + } + } + + internal static string _0_µs_maximum_permitted_to_assert_BSY_without_a_REQ_ACK_handshake { + get { + return ResourceManager.GetString("_0_µs_maximum_permitted_to_assert_BSY_without_a_REQ_ACK_handshake", resourceCulture); + } + } + + internal static string _0_µs_maximum_permitted_wait_after_releasing_the_bus_before_attempting_reselection { + get { + return ResourceManager.GetString("_0_µs_maximum_permitted_wait_after_releasing_the_bus_before_attempting_reselectio" + + "n", resourceCulture); + } + } + + internal static string _0_µs_allowed_to_use_the_bus_before_disconnecting_if_granted_the_privilege_and_not_restricted { + get { + return ResourceManager.GetString("_0_µs_allowed_to_use_the_bus_before_disconnecting_if_granted_the_privilege_and_no" + + "t_restricted", resourceCulture); + } + } + + internal static string _0_bytes_maximum_can_be_transferred_before_disconnecting { + get { + return ResourceManager.GetString("_0_bytes_maximum_can_be_transferred_before_disconnecting", resourceCulture); + } + } + + internal static string _0_bytes_maximum_can_be_transferred_for_a_command_along_with_the_disconnect_command { + get { + return ResourceManager.GetString("_0_bytes_maximum_can_be_transferred_for_a_command_along_with_the_disconnect_comma" + + "nd", resourceCulture); + } + } + + internal static string Target_shall_not_transfer_data_for_a_command_during_the_same_interconnect_tenancy { + get { + return ResourceManager.GetString("Target_shall_not_transfer_data_for_a_command_during_the_same_interconnect_tenancy" + + "", resourceCulture); + } + } + + internal static string Target_is_allowed_to_reorder_the_data_transfer { + get { + return ResourceManager.GetString("Target_is_allowed_to_reorder_the_data_transfer", resourceCulture); + } + } + + internal static string Data_transfer_disconnect_control_is_not_used { + get { + return ResourceManager.GetString("Data_transfer_disconnect_control_is_not_used", resourceCulture); + } + } + + internal static string All_data_for_a_command_shall_be_transferred_within_a_single_interconnect_tenancy { + get { + return ResourceManager.GetString("All_data_for_a_command_shall_be_transferred_within_a_single_interconnect_tenancy", resourceCulture); + } + } + + internal static string All_data_and_the_response_for_a_command_shall_be_transferred_within_a_single_interconnect_tenancy { + get { + return ResourceManager.GetString("All_data_and_the_response_for_a_command_shall_be_transferred_within_a_single_inte" + + "rconnect_tenancy", resourceCulture); + } + } + + internal static string Reserved_data_transfer_disconnect_control_value_0 { + get { + return ResourceManager.GetString("Reserved_data_transfer_disconnect_control_value_0", resourceCulture); + } + } + + internal static string HP_Serial_Number_Override_Mode_Page { + get { + return ResourceManager.GetString("HP_Serial_Number_Override_Mode_Page", resourceCulture); + } + } + + internal static string Serial_number_is_the_manufacturer_default_value { + get { + return ResourceManager.GetString("Serial_number_is_the_manufacturer_default_value", resourceCulture); + } + } + + internal static string Serial_number_is_not_the_manufacturer_default_value { + get { + return ResourceManager.GetString("Serial_number_is_not_the_manufacturer_default_value", resourceCulture); + } + } + + internal static string Serial_number_0 { + get { + return ResourceManager.GetString("Serial_number_0", resourceCulture); + } + } + + internal static string HP_Device_Time_Mode_Page { + get { + return ResourceManager.GetString("HP_Device_Time_Mode_Page", resourceCulture); + } + } + + internal static string Drive_has_been_powered_up_0_times { + get { + return ResourceManager.GetString("Drive_has_been_powered_up_0_times", resourceCulture); + } + } + + internal static string Drive_has_been_powered_up_since_0_seconds_ago_this_time { + get { + return ResourceManager.GetString("Drive_has_been_powered_up_since_0_seconds_ago_this_time", resourceCulture); + } + } + + internal static string Drive_has_been_powered_up_a_total_of_0_seconds { + get { + return ResourceManager.GetString("Drive_has_been_powered_up_a_total_of_0_seconds", resourceCulture); + } + } + + internal static string Drive_date_time_is_0 { + get { + return ResourceManager.GetString("Drive_date_time_is_0", resourceCulture); + } + } + + internal static string Drive_time_is_UTC { + get { + return ResourceManager.GetString("Drive_time_is_UTC", resourceCulture); + } + } + + internal static string Drive_time_is_synchronized_with_a_NTP_source { + get { + return ResourceManager.GetString("Drive_time_is_synchronized_with_a_NTP_source", resourceCulture); + } + } + + internal static string Library_time_is_0 { + get { + return ResourceManager.GetString("Library_time_is_0", resourceCulture); + } + } + + internal static string HP_Extended_Reset_Mode_Page { + get { + return ResourceManager.GetString("HP_Extended_Reset_Mode_Page", resourceCulture); + } + } + + internal static string Normal_reset_behaviour { + get { + return ResourceManager.GetString("Normal_reset_behaviour", resourceCulture); + } + } + + internal static string Drive_will_flush_and_position_itself_on_a_LUN_or_target_reset { + get { + return ResourceManager.GetString("Drive_will_flush_and_position_itself_on_a_LUN_or_target_reset", resourceCulture); + } + } + + internal static string Drive_will_maintain_position_on_a_LUN_or_target_reset { + get { + return ResourceManager.GetString("Drive_will_maintain_position_on_a_LUN_or_target_reset", resourceCulture); + } + } + + internal static string IBM_LEOT_Mode_Page { + get { + return ResourceManager.GetString("IBM_LEOT_Mode_Page", resourceCulture); + } + } + + internal static string _0_wraps { + get { + return ResourceManager.GetString("_0_wraps", resourceCulture); + } + } + + internal static string Fujitsu_Verify_Control_Page { + get { + return ResourceManager.GetString("Fujitsu_Verify_Control_Page", resourceCulture); + } + } + + internal static string Audio_Visual_data_support_mode_is_applied { + get { + return ResourceManager.GetString("Audio_Visual_data_support_mode_is_applied", resourceCulture); + } + } + + internal static string Test_write_operation_is_restricted_during_read_or_write_operations { + get { + return ResourceManager.GetString("Test_write_operation_is_restricted_during_read_or_write_operations", resourceCulture); + } + } + + internal static string Always_apply_the_verify_operation { + get { + return ResourceManager.GetString("Always_apply_the_verify_operation", resourceCulture); + } + } + + internal static string Never_apply_the_verify_operation { + get { + return ResourceManager.GetString("Never_apply_the_verify_operation", resourceCulture); + } + } + + internal static string Apply_the_verify_operation_depending_on_the_condition { + get { + return ResourceManager.GetString("Apply_the_verify_operation_depending_on_the_condition", resourceCulture); + } + } + + internal static string The_device_type_that_would_be_provided_in_the_INQUIRY_response_is_0 { + get { + return ResourceManager.GetString("The_device_type_that_would_be_provided_in_the_INQUIRY_response_is_0", resourceCulture); + } + } + + internal static string HP_CD_ROM_Emulation_Disaster_Recovery_Mode_Page { + get { + return ResourceManager.GetString("HP_CD_ROM_Emulation_Disaster_Recovery_Mode_Page", resourceCulture); + } + } + + internal static string Drive_is_emulating_a_CD_ROM_drive { + get { + return ResourceManager.GetString("Drive_is_emulating_a_CD_ROM_drive", resourceCulture); + } + } + + internal static string Drive_is_not_emulating_a_CD_ROM_drive { + get { + return ResourceManager.GetString("Drive_is_not_emulating_a_CD_ROM_drive", resourceCulture); + } + } + + internal static string Drive_will_not_exit_emulation_automatically { + get { + return ResourceManager.GetString("Drive_will_not_exit_emulation_automatically", resourceCulture); + } + } + + internal static string SCSI_Format_device_page { + get { + return ResourceManager.GetString("SCSI_Format_device_page", resourceCulture); + } + } + + internal static string _0_tracks_per_zone_to_use_in_dividing_the_capacity_for_the_purpose_of_allocating_alternate_sectors { + get { + return ResourceManager.GetString("_0_tracks_per_zone_to_use_in_dividing_the_capacity_for_the_purpose_of_allocating_" + + "alternate_sectors", resourceCulture); + } + } + + internal static string _0_sectors_per_zone_that_shall_be_reserved_for_defect_handling { + get { + return ResourceManager.GetString("_0_sectors_per_zone_that_shall_be_reserved_for_defect_handling", resourceCulture); + } + } + + internal static string _0_tracks_per_zone_that_shall_be_reserved_for_defect_handling { + get { + return ResourceManager.GetString("_0_tracks_per_zone_that_shall_be_reserved_for_defect_handling", resourceCulture); + } + } + + internal static string _0_tracks_per_LUN_that_shall_be_reserved_for_defect_handling { + get { + return ResourceManager.GetString("_0_tracks_per_LUN_that_shall_be_reserved_for_defect_handling", resourceCulture); + } + } + + internal static string _0_physical_sectors_per_track { + get { + return ResourceManager.GetString("_0_physical_sectors_per_track", resourceCulture); + } + } + + internal static string _0_Bytes_per_physical_sector { + get { + return ResourceManager.GetString("_0_Bytes_per_physical_sector", resourceCulture); + } + } + + internal static string Target_dependent_interleave_value_is_0 { + get { + return ResourceManager.GetString("Target_dependent_interleave_value_is_0", resourceCulture); + } + } + + internal static string _0_sectors_between_last_block_of_one_track_and_first_block_of_the_next { + get { + return ResourceManager.GetString("_0_sectors_between_last_block_of_one_track_and_first_block_of_the_next", resourceCulture); + } + } + + internal static string _0_sectors_between_last_block_of_a_cylinder_and_first_block_of_the_next_one { + get { + return ResourceManager.GetString("_0_sectors_between_last_block_of_a_cylinder_and_first_block_of_the_next_one", resourceCulture); + } + } + + internal static string Drive_supports_soft_sectoring_format { + get { + return ResourceManager.GetString("Drive_supports_soft_sectoring_format", resourceCulture); + } + } + + internal static string Drive_supports_hard_sectoring_format { + get { + return ResourceManager.GetString("Drive_supports_hard_sectoring_format", resourceCulture); + } + } + + internal static string Drive_media_is_removable { + get { + return ResourceManager.GetString("Drive_media_is_removable", resourceCulture); + } + } + + internal static string Sector_addressing_is_progressively_incremented_in_one_surface_before_going_to_the_next { + get { + return ResourceManager.GetString("Sector_addressing_is_progressively_incremented_in_one_surface_before_going_to_the" + + "_next", resourceCulture); + } + } + + internal static string Sector_addressing_is_progressively_incremented_in_one_cylinder_before_going_to_the_next { + get { + return ResourceManager.GetString("Sector_addressing_is_progressively_incremented_in_one_cylinder_before_going_to_th" + + "e_next", resourceCulture); + } + } + + internal static string SCSI_Rigid_disk_drive_geometry_page { + get { + return ResourceManager.GetString("SCSI_Rigid_disk_drive_geometry_page", resourceCulture); + } + } + + internal static string _0_heads { + get { + return ResourceManager.GetString("_0_heads", resourceCulture); + } + } + + internal static string _0_cylinders { + get { + return ResourceManager.GetString("_0_cylinders", resourceCulture); + } + } + + internal static string Write_pre_compensation_starts_at_cylinder_0 { + get { + return ResourceManager.GetString("Write_pre_compensation_starts_at_cylinder_0", resourceCulture); + } + } + + internal static string Write_current_reduction_starts_at_cylinder_0 { + get { + return ResourceManager.GetString("Write_current_reduction_starts_at_cylinder_0", resourceCulture); + } + } + + internal static string Drive_steps_in_0_ns { + get { + return ResourceManager.GetString("Drive_steps_in_0_ns", resourceCulture); + } + } + + internal static string Heads_park_in_cylinder_0 { + get { + return ResourceManager.GetString("Heads_park_in_cylinder_0", resourceCulture); + } + } + + internal static string Medium_rotates_at_0_rpm { + get { + return ResourceManager.GetString("Medium_rotates_at_0_rpm", resourceCulture); + } + } + + internal static string Spindle_synchronization_is_disable_or_unsupported { + get { + return ResourceManager.GetString("Spindle_synchronization_is_disable_or_unsupported", resourceCulture); + } + } + + internal static string Target_operates_as_a_synchronized_spindle_slave { + get { + return ResourceManager.GetString("Target_operates_as_a_synchronized_spindle_slave", resourceCulture); + } + } + + internal static string Target_operates_as_a_synchronized_spindle_master { + get { + return ResourceManager.GetString("Target_operates_as_a_synchronized_spindle_master", resourceCulture); + } + } + + internal static string Target_operates_as_a_synchronized_spindle_master_control { + get { + return ResourceManager.GetString("Target_operates_as_a_synchronized_spindle_master_control", resourceCulture); + } + } + + internal static string SCSI_Flexible_disk_page { + get { + return ResourceManager.GetString("SCSI_Flexible_disk_page", resourceCulture); + } + } + + internal static string Transfer_rate_0_kbits { + get { + return ResourceManager.GetString("Transfer_rate_0_kbits", resourceCulture); + } + } + + internal static string _0_sectors_per_track { + get { + return ResourceManager.GetString("_0_sectors_per_track", resourceCulture); + } + } + + internal static string _0_bytes_per_sector { + get { + return ResourceManager.GetString("_0_bytes_per_sector", resourceCulture); + } + } + + internal static string Drive_steps_in_0_μs { + get { + return ResourceManager.GetString("Drive_steps_in_0_μs", resourceCulture); + } + } + + internal static string Each_step_pulse_is_0_ms { + get { + return ResourceManager.GetString("Each_step_pulse_is_0_ms", resourceCulture); + } + } + + internal static string Heads_settles_in_0_μs { + get { + return ResourceManager.GetString("Heads_settles_in_0_μs", resourceCulture); + } + } + + internal static string Target_shall_wait_0_seconds_before_attempting_to_access_the_medium_after_motor_on_is_asserted { + get { + return ResourceManager.GetString("Target_shall_wait_0_seconds_before_attempting_to_access_the_medium_after_motor_on" + + "_is_asserted", resourceCulture); + } + } + + internal static string Target_shall_wait_0_seconds_after_drive_is_ready_before_aborting_medium_access_attempts { + get { + return ResourceManager.GetString("Target_shall_wait_0_seconds_after_drive_is_ready_before_aborting_medium_access_at" + + "tempts", resourceCulture); + } + } + + internal static string Target_shall_wait_0_seconds_before_releasing_the_motor_on_signal_after_becoming_idle { + get { + return ResourceManager.GetString("Target_shall_wait_0_seconds_before_releasing_the_motor_on_signal_after_becoming_i" + + "dle", resourceCulture); + } + } + + internal static string Target_shall_never_release_the_motor_on_signal { + get { + return ResourceManager.GetString("Target_shall_never_release_the_motor_on_signal", resourceCulture); + } + } + + internal static string There_is_a_drive_ready_signal { + get { + return ResourceManager.GetString("There_is_a_drive_ready_signal", resourceCulture); + } + } + + internal static string Sectors_start_at_1 { + get { + return ResourceManager.GetString("Sectors_start_at_1", resourceCulture); + } + } + + internal static string The_motor_on_signal_shall_remain_released { + get { + return ResourceManager.GetString("The_motor_on_signal_shall_remain_released", resourceCulture); + } + } + + internal static string Drive_needs_to_do_0_step_pulses_per_cylinder { + get { + return ResourceManager.GetString("Drive_needs_to_do_0_step_pulses_per_cylinder", resourceCulture); + } + } + + internal static string Write_pre_compensation_is_0 { + get { + return ResourceManager.GetString("Write_pre_compensation_is_0", resourceCulture); + } + } + + internal static string Head_takes_0_ms_to_load { + get { + return ResourceManager.GetString("Head_takes_0_ms_to_load", resourceCulture); + } + } + + internal static string Head_takes_0_ms_to_unload { + get { + return ResourceManager.GetString("Head_takes_0_ms_to_unload", resourceCulture); + } + } + + internal static string Pin_34_is_unconnected { + get { + return ResourceManager.GetString("Pin_34_is_unconnected", resourceCulture); + } + } + + internal static string Pin_34_indicates_drive_is_ready_when_active_high { + get { + return ResourceManager.GetString("Pin_34_indicates_drive_is_ready_when_active_high", resourceCulture); + } + } + + internal static string Pin_34_indicates_drive_is_ready_when_active_low { + get { + return ResourceManager.GetString("Pin_34_indicates_drive_is_ready_when_active_low", resourceCulture); + } + } + + internal static string Pin_34_indicates_disk_has_changed_when_active_high { + get { + return ResourceManager.GetString("Pin_34_indicates_disk_has_changed_when_active_high", resourceCulture); + } + } + + internal static string Pin_34_indicates_disk_has_changed_when_active_low { + get { + return ResourceManager.GetString("Pin_34_indicates_disk_has_changed_when_active_low", resourceCulture); + } + } + + internal static string Pin_34_indicates_unknown_function_0_when_active_high { + get { + return ResourceManager.GetString("Pin_34_indicates_unknown_function_0_when_active_high", resourceCulture); + } + } + + internal static string Pin_34_indicates_unknown_function_0_when_active_low { + get { + return ResourceManager.GetString("Pin_34_indicates_unknown_function_0_when_active_low", resourceCulture); + } + } + + internal static string Pin_4_is_unconnected { + get { + return ResourceManager.GetString("Pin_4_is_unconnected", resourceCulture); + } + } + + internal static string Pin_4_indicates_drive_is_in_use_when_active_high { + get { + return ResourceManager.GetString("Pin_4_indicates_drive_is_in_use_when_active_high", resourceCulture); + } + } + + internal static string Pin_4_indicates_drive_is_in_use_when_active_low { + get { + return ResourceManager.GetString("Pin_4_indicates_drive_is_in_use_when_active_low", resourceCulture); + } + } + + internal static string Pin_4_indicates_eject_when_active_high { + get { + return ResourceManager.GetString("Pin_4_indicates_eject_when_active_high", resourceCulture); + } + } + + internal static string Pin_4_indicates_eject_when_active_low { + get { + return ResourceManager.GetString("Pin_4_indicates_eject_when_active_low", resourceCulture); + } + } + + internal static string Pin_4_indicates_head_load_when_active_high { + get { + return ResourceManager.GetString("Pin_4_indicates_head_load_when_active_high", resourceCulture); + } + } + + internal static string Pin_4_indicates_head_load_when_active_low { + get { + return ResourceManager.GetString("Pin_4_indicates_head_load_when_active_low", resourceCulture); + } + } + + internal static string Pin_4_indicates_unknown_function_0_when_active_high { + get { + return ResourceManager.GetString("Pin_4_indicates_unknown_function_0_when_active_high", resourceCulture); + } + } + + internal static string Pin_4_indicates_unknown_function_0_when_active_low { + get { + return ResourceManager.GetString("Pin_4_indicates_unknown_function_0_when_active_low", resourceCulture); + } + } + + internal static string Pin_2_is_unconnected { + get { + return ResourceManager.GetString("Pin_2_is_unconnected", resourceCulture); + } + } + + internal static string Pin_2_indicates_unknown_function_0_when_active_high { + get { + return ResourceManager.GetString("Pin_2_indicates_unknown_function_0_when_active_high", resourceCulture); + } + } + + internal static string Pin_2_indicates_unknown_function_0_when_active_low { + get { + return ResourceManager.GetString("Pin_2_indicates_unknown_function_0_when_active_low", resourceCulture); + } + } + + internal static string Pin_1_is_unconnected { + get { + return ResourceManager.GetString("Pin_1_is_unconnected", resourceCulture); + } + } + + internal static string Pin_1_indicates_disk_change_reset_when_active_high { + get { + return ResourceManager.GetString("Pin_1_indicates_disk_change_reset_when_active_high", resourceCulture); + } + } + + internal static string Pin_1_indicates_disk_change_reset_when_active_low { + get { + return ResourceManager.GetString("Pin_1_indicates_disk_change_reset_when_active_low", resourceCulture); + } + } + + internal static string Pin_1_indicates_unknown_function_0_when_active_high { + get { + return ResourceManager.GetString("Pin_1_indicates_unknown_function_0_when_active_high", resourceCulture); + } + } + + internal static string Pin_1_indicates_unknown_function_0_when_active_low { + get { + return ResourceManager.GetString("Pin_1_indicates_unknown_function_0_when_active_low", resourceCulture); + } + } + + internal static string SCSI_optical_memory { + get { + return ResourceManager.GetString("SCSI_optical_memory", resourceCulture); + } + } + + internal static string On_reading_an_updated_block_drive_will_return_RECOVERED_ERROR { + get { + return ResourceManager.GetString("On_reading_an_updated_block_drive_will_return_RECOVERED_ERROR", resourceCulture); + } + } + + internal static string SCSI_Verify_error_recovery_page { + get { + return ResourceManager.GetString("SCSI_Verify_error_recovery_page", resourceCulture); + } + } + + internal static string Drive_will_repeat_verify_operations_0_times { + get { + return ResourceManager.GetString("Drive_will_repeat_verify_operations_0_times", resourceCulture); + } + } + + internal static string SCSI_Verify_error_recovery_page_for_MultiMedia_Devices { + get { + return ResourceManager.GetString("SCSI_Verify_error_recovery_page_for_MultiMedia_Devices", resourceCulture); + } + } + + internal static string SCSI_Caching_mode_page { + get { + return ResourceManager.GetString("SCSI_Caching_mode_page", resourceCulture); + } + } + + internal static string Read_cache_is_enabled { + get { + return ResourceManager.GetString("Read_cache_is_enabled", resourceCulture); + } + } + + internal static string Write_cache_is_enabled { + get { + return ResourceManager.GetString("Write_cache_is_enabled", resourceCulture); + } + } + + internal static string Drive_does_not_distinguish_between_cached_read_data { + get { + return ResourceManager.GetString("Drive_does_not_distinguish_between_cached_read_data", resourceCulture); + } + } + + internal static string Data_put_by_READ_commands_should_be_evicted_from_cache_sooner_than_data_put_in_read_cache_by_other_means { + get { + return ResourceManager.GetString("Data_put_by_READ_commands_should_be_evicted_from_cache_sooner_than_data_put_in_re" + + "ad_cache_by_other_means", resourceCulture); + } + } + + internal static string Data_put_by_READ_commands_should_not_be_evicted_if_there_is_data_cached_by_other_means_that_can_be_evicted { + get { + return ResourceManager.GetString("Data_put_by_READ_commands_should_not_be_evicted_if_there_is_data_cached_by_other_" + + "means_that_can_be_evicted", resourceCulture); + } + } + + internal static string Unknown_demand_read_retention_priority_value_0 { + get { + return ResourceManager.GetString("Unknown_demand_read_retention_priority_value_0", resourceCulture); + } + } + + internal static string Drive_does_not_distinguish_between_cached_write_data { + get { + return ResourceManager.GetString("Drive_does_not_distinguish_between_cached_write_data", resourceCulture); + } + } + + internal static string Data_put_by_WRITE_commands_should_be_evicted_from_cache_sooner_than_data_put_in_write_cache_by_other_means { + get { + return ResourceManager.GetString("Data_put_by_WRITE_commands_should_be_evicted_from_cache_sooner_than_data_put_in_w" + + "rite_cache_by_other_means", resourceCulture); + } + } + + internal static string Data_put_by_WRITE_commands_should_not_be_evicted_if_there_is_data_cached_by_other_means_that_can_be_evicted { + get { + return ResourceManager.GetString("Data_put_by_WRITE_commands_should_not_be_evicted_if_there_is_data_cached_by_other" + + "_means_that_can_be_evicted", resourceCulture); + } + } + + internal static string Unknown_demand_write_retention_priority_value_0 { + get { + return ResourceManager.GetString("Unknown_demand_write_retention_priority_value_0", resourceCulture); + } + } + + internal static string Read_ahead_is_disabled { + get { + return ResourceManager.GetString("Read_ahead_is_disabled", resourceCulture); + } + } + + internal static string Pre_fetch_values_indicate_a_block_multiplier { + get { + return ResourceManager.GetString("Pre_fetch_values_indicate_a_block_multiplier", resourceCulture); + } + } + + internal static string No_pre_fetch_will_be_done { + get { + return ResourceManager.GetString("No_pre_fetch_will_be_done", resourceCulture); + } + } + + internal static string Pre_fetch_will_be_done_for_READ_commands_of_0_blocks_or_less { + get { + return ResourceManager.GetString("Pre_fetch_will_be_done_for_READ_commands_of_0_blocks_or_less", resourceCulture); + } + } + + internal static string At_least_0_blocks_will_be_always_pre_fetched { + get { + return ResourceManager.GetString("At_least_0_blocks_will_be_always_pre_fetched", resourceCulture); + } + } + + internal static string A_maximum_of_0_blocks_will_be_pre_fetched { + get { + return ResourceManager.GetString("A_maximum_of_0_blocks_will_be_pre_fetched", resourceCulture); + } + } + + internal static string A_maximum_of_0_blocks_will_be_pre_fetched_even_if_it_is_commanded_to_pre_fetch_more { + get { + return ResourceManager.GetString("A_maximum_of_0_blocks_will_be_pre_fetched_even_if_it_is_commanded_to_pre_fetch_mo" + + "re", resourceCulture); + } + } + + internal static string Device_should_use_number_of_cache_segments_or_cache_segment_size_for_caching { + get { + return ResourceManager.GetString("Device_should_use_number_of_cache_segments_or_cache_segment_size_for_caching", resourceCulture); + } + } + + internal static string Pre_fetch_should_be_aborted_upon_receiving_a_new_command { + get { + return ResourceManager.GetString("Pre_fetch_should_be_aborted_upon_receiving_a_new_command", resourceCulture); + } + } + + internal static string Caching_analysis_is_permitted { + get { + return ResourceManager.GetString("Caching_analysis_is_permitted", resourceCulture); + } + } + + internal static string Pre_fetch_can_continue_across_discontinuities_such_as_cylinders_or_tracks { + get { + return ResourceManager.GetString("Pre_fetch_can_continue_across_discontinuities_such_as_cylinders_or_tracks", resourceCulture); + } + } + + internal static string Drive_should_not_reorder_the_sequence_of_write_commands_to_be_faster { + get { + return ResourceManager.GetString("Drive_should_not_reorder_the_sequence_of_write_commands_to_be_faster", resourceCulture); + } + } + + internal static string Drive_cache_segments_should_be_0_blocks_long { + get { + return ResourceManager.GetString("Drive_cache_segments_should_be_0_blocks_long", resourceCulture); + } + } + + internal static string Drive_cache_segments_should_be_0_bytes_long { + get { + return ResourceManager.GetString("Drive_cache_segments_should_be_0_bytes_long", resourceCulture); + } + } + + internal static string Drive_should_have_0_cache_segments { + get { + return ResourceManager.GetString("Drive_should_have_0_cache_segments", resourceCulture); + } + } + + internal static string Drive_shall_allocate_0_bytes_to_buffer_even_when_all_cached_data_cannot_be_evicted { + get { + return ResourceManager.GetString("Drive_shall_allocate_0_bytes_to_buffer_even_when_all_cached_data_cannot_be_evicte" + + "d", resourceCulture); + } + } + + internal static string Non_Volatile_cache_is_disabled { + get { + return ResourceManager.GetString("Non_Volatile_cache_is_disabled", resourceCulture); + } + } + + internal static string SCSI_XOR_control_mode_page { + get { + return ResourceManager.GetString("SCSI_XOR_control_mode_page", resourceCulture); + } + } + + internal static string XOR_operations_are_disabled { + get { + return ResourceManager.GetString("XOR_operations_are_disabled", resourceCulture); + } + } + + internal static string Drive_accepts_a_maximum_of_0_blocks_in_a_single_XOR_WRITE_command { + get { + return ResourceManager.GetString("Drive_accepts_a_maximum_of_0_blocks_in_a_single_XOR_WRITE_command", resourceCulture); + } + } + + internal static string Drive_accepts_a_maximum_of_0_blocks_in_a_REGENERATE_command { + get { + return ResourceManager.GetString("Drive_accepts_a_maximum_of_0_blocks_in_a_REGENERATE_command", resourceCulture); + } + } + + internal static string Drive_accepts_a_maximum_of_0_blocks_in_a_READ_command_during_rebuild { + get { + return ResourceManager.GetString("Drive_accepts_a_maximum_of_0_blocks_in_a_READ_command_during_rebuild", resourceCulture); + } + } + + internal static string Drive_needs_a_minimum_of_0_ms_between_READ_commands_during_rebuild { + get { + return ResourceManager.GetString("Drive_needs_a_minimum_of_0_ms_between_READ_commands_during_rebuild", resourceCulture); + } + } + + internal static string SCSI_Device_configuration_page { + get { + return ResourceManager.GetString("SCSI_Device_configuration_page", resourceCulture); + } + } + + internal static string Active_format_0 { + get { + return ResourceManager.GetString("Active_format_0", resourceCulture); + } + } + + internal static string Active_partition_0 { + get { + return ResourceManager.GetString("Active_partition_0", resourceCulture); + } + } + + internal static string Write_buffer_shall_have_a_full_ratio_of_0_before_being_flushed_to_medium { + get { + return ResourceManager.GetString("Write_buffer_shall_have_a_full_ratio_of_0_before_being_flushed_to_medium", resourceCulture); + } + } + + internal static string Read_buffer_shall_have_an_empty_ratio_of_0_before_more_data_is_read_from_medium { + get { + return ResourceManager.GetString("Read_buffer_shall_have_an_empty_ratio_of_0_before_more_data_is_read_from_medium", resourceCulture); + } + } + + internal static string Drive_will_delay_0_ms_before_buffered_data_is_forcefully_written_to_the_medium_even_before_buffer_is_full { + get { + return ResourceManager.GetString("Drive_will_delay_0_ms_before_buffered_data_is_forcefully_written_to_the_medium_ev" + + "en_before_buffer_is_full", resourceCulture); + } + } + + internal static string Drive_supports_recovering_data_from_buffer { + get { + return ResourceManager.GetString("Drive_supports_recovering_data_from_buffer", resourceCulture); + } + } + + internal static string Recovered_buffer_data_comes_in_LIFO_order { + get { + return ResourceManager.GetString("Recovered_buffer_data_comes_in_LIFO_order", resourceCulture); + } + } + + internal static string Recovered_buffer_data_comes_in_FIFO_order { + get { + return ResourceManager.GetString("Recovered_buffer_data_comes_in_FIFO_order", resourceCulture); + } + } + + internal static string Medium_supports_block_IDs { + get { + return ResourceManager.GetString("Medium_supports_block_IDs", resourceCulture); + } + } + + internal static string Drive_reports_setmarks { + get { + return ResourceManager.GetString("Drive_reports_setmarks", resourceCulture); + } + } + + internal static string Drive_will_pre_read_until_buffer_is_full { + get { + return ResourceManager.GetString("Drive_will_pre_read_until_buffer_is_full", resourceCulture); + } + } + + internal static string Drive_will_pre_read_until_one_filemark_is_detected { + get { + return ResourceManager.GetString("Drive_will_pre_read_until_one_filemark_is_detected", resourceCulture); + } + } + + internal static string Drive_will_pre_read_until_two_filemark_is_detected { + get { + return ResourceManager.GetString("Drive_will_pre_read_until_two_filemark_is_detected", resourceCulture); + } + } + + internal static string Drive_will_pre_read_until_three_filemark_is_detected { + get { + return ResourceManager.GetString("Drive_will_pre_read_until_three_filemark_is_detected", resourceCulture); + } + } + + internal static string Drive_reports_early_warnings { + get { + return ResourceManager.GetString("Drive_reports_early_warnings", resourceCulture); + } + } + + internal static string Drive_will_synchronize_buffer_to_medium_on_early_warnings { + get { + return ResourceManager.GetString("Drive_will_synchronize_buffer_to_medium_on_early_warnings", resourceCulture); + } + } + + internal static string Inter_block_gap_is_long_enough_to_support_update_in_place { + get { + return ResourceManager.GetString("Inter_block_gap_is_long_enough_to_support_update_in_place", resourceCulture); + } + } + + internal static string Inter_block_gap_is_0_times_the_device_defined_gap_size { + get { + return ResourceManager.GetString("Inter_block_gap_is_0_times_the_device_defined_gap_size", resourceCulture); + } + } + + internal static string Inter_block_gap_is_unknown_value_0 { + get { + return ResourceManager.GetString("Inter_block_gap_is_unknown_value_0", resourceCulture); + } + } + + internal static string Drive_generates_end_of_data { + get { + return ResourceManager.GetString("Drive_generates_end_of_data", resourceCulture); + } + } + + internal static string Drive_does_not_use_compression { + get { + return ResourceManager.GetString("Drive_does_not_use_compression", resourceCulture); + } + } + + internal static string Drive_uses_default_compression { + get { + return ResourceManager.GetString("Drive_uses_default_compression", resourceCulture); + } + } + + internal static string Drive_uses_unknown_compression_0 { + get { + return ResourceManager.GetString("Drive_uses_unknown_compression_0", resourceCulture); + } + } + + internal static string Software_write_protect_is_enabled { + get { + return ResourceManager.GetString("Software_write_protect_is_enabled", resourceCulture); + } + } + + internal static string Associated_write_protect_is_enabled { + get { + return ResourceManager.GetString("Associated_write_protect_is_enabled", resourceCulture); + } + } + + internal static string Persistent_write_protect_is_enabled { + get { + return ResourceManager.GetString("Persistent_write_protect_is_enabled", resourceCulture); + } + } + + internal static string Permanent_write_protect_is_enabled { + get { + return ResourceManager.GetString("Permanent_write_protect_is_enabled", resourceCulture); + } + } + + internal static string Drive_operates_using_explicit_address_mode { + get { + return ResourceManager.GetString("Drive_operates_using_explicit_address_mode", resourceCulture); + } + } + + internal static string Drive_operates_using_implicit_address_mode { + get { + return ResourceManager.GetString("Drive_operates_using_implicit_address_mode", resourceCulture); + } + } + + internal static string Drive_shall_position_to_beginning_of_default_data_partition_on_reset { + get { + return ResourceManager.GetString("Drive_shall_position_to_beginning_of_default_data_partition_on_reset", resourceCulture); + } + } + + internal static string Drive_shall_maintain_its_position_on_reset { + get { + return ResourceManager.GetString("Drive_shall_maintain_its_position_on_reset", resourceCulture); + } + } + + internal static string Drive_will_do_nothing_on_WORM_tampered_medium { + get { + return ResourceManager.GetString("Drive_will_do_nothing_on_WORM_tampered_medium", resourceCulture); + } + } + + internal static string Drive_will_return_CHECK_CONDITION_on_WORM_tampered_medium { + get { + return ResourceManager.GetString("Drive_will_return_CHECK_CONDITION_on_WORM_tampered_medium", resourceCulture); + } + } + + internal static string Drive_will_only_respond_to_commands_if_it_has_received_a_reservation { + get { + return ResourceManager.GetString("Drive_will_only_respond_to_commands_if_it_has_received_a_reservation", resourceCulture); + } + } + + internal static string SCSI_medium_partition_page { + get { + return ResourceManager.GetString("SCSI_medium_partition_page", resourceCulture); + } + } + + internal static string _0_maximum_additional_partitions { + get { + return ResourceManager.GetString("_0_maximum_additional_partitions", resourceCulture); + } + } + + internal static string _0_additional_partitions_defined { + get { + return ResourceManager.GetString("_0_additional_partitions_defined", resourceCulture); + } + } + + internal static string Partitions_are_fixed_under_device_definitions { + get { + return ResourceManager.GetString("Partitions_are_fixed_under_device_definitions", resourceCulture); + } + } + + internal static string Number_of_partitions_can_be_defined_but_their_size_is_defined_by_the_device { + get { + return ResourceManager.GetString("Number_of_partitions_can_be_defined_but_their_size_is_defined_by_the_device", resourceCulture); + } + } + + internal static string Number_and_size_of_partitions_can_be_manually_defined { + get { + return ResourceManager.GetString("Number_and_size_of_partitions_can_be_manually_defined", resourceCulture); + } + } + + internal static string Partition_parameters_will_not_be_applied_until_a_FORMAT_MEDIUM_command_is_received { + get { + return ResourceManager.GetString("Partition_parameters_will_not_be_applied_until_a_FORMAT_MEDIUM_command_is_receive" + + "d", resourceCulture); + } + } + + internal static string Device_may_erase_any_or_all_partitions_on_MODE_SELECT_for_partitioning { + get { + return ResourceManager.GetString("Device_may_erase_any_or_all_partitions_on_MODE_SELECT_for_partitioning", resourceCulture); + } + } + + internal static string Device_shall_erase_all_partitions_on_MODE_SELECT_for_partitioning { + get { + return ResourceManager.GetString("Device_shall_erase_all_partitions_on_MODE_SELECT_for_partitioning", resourceCulture); + } + } + + internal static string Device_shall_not_erase_any_partition_on_MODE_SELECT_for_partitioning { + get { + return ResourceManager.GetString("Device_shall_not_erase_any_partition_on_MODE_SELECT_for_partitioning", resourceCulture); + } + } + + internal static string Device_shall_erase_all_partitions_differing_on_size_on_MODE_SELECT_for_partitioning { + get { + return ResourceManager.GetString("Device_shall_erase_all_partitions_differing_on_size_on_MODE_SELECT_for_partitioni" + + "ng", resourceCulture); + } + } + + internal static string Partitions_are_defined_in_bytes { + get { + return ResourceManager.GetString("Partitions_are_defined_in_bytes", resourceCulture); + } + } + + internal static string bytes { + get { + return ResourceManager.GetString("bytes", resourceCulture); + } + } + + internal static string Partitions_are_defined_in_kilobytes { + get { + return ResourceManager.GetString("Partitions_are_defined_in_kilobytes", resourceCulture); + } + } + + internal static string kilobytes { + get { + return ResourceManager.GetString("kilobytes", resourceCulture); + } + } + + internal static string Partitions_are_defined_in_megabytes { + get { + return ResourceManager.GetString("Partitions_are_defined_in_megabytes", resourceCulture); + } + } + + internal static string megabytes { + get { + return ResourceManager.GetString("megabytes", resourceCulture); + } + } + + internal static string Partitions_are_defined_in_units_of_0_bytes { + get { + return ResourceManager.GetString("Partitions_are_defined_in_units_of_0_bytes", resourceCulture); + } + } + + internal static string units_of_0_bytes { + get { + return ResourceManager.GetString("units_of_0_bytes", resourceCulture); + } + } + + internal static string Unknown_partition_size_unit_code_0 { + get { + return ResourceManager.GetString("Unknown_partition_size_unit_code_0", resourceCulture); + } + } + + internal static string units { + get { + return ResourceManager.GetString("units", resourceCulture); + } + } + + internal static string Device_is_capable_of_recognizing_both_medium_partitions_and_format { + get { + return ResourceManager.GetString("Device_is_capable_of_recognizing_both_medium_partitions_and_format", resourceCulture); + } + } + + internal static string Device_is_capable_of_recognizing_medium_format { + get { + return ResourceManager.GetString("Device_is_capable_of_recognizing_medium_format", resourceCulture); + } + } + + internal static string Device_is_capable_of_recognizing_medium_partitions { + get { + return ResourceManager.GetString("Device_is_capable_of_recognizing_medium_partitions", resourceCulture); + } + } + + internal static string Device_is_not_capable_of_recognizing_neither_medium_partitions_nor_format { + get { + return ResourceManager.GetString("Device_is_not_capable_of_recognizing_neither_medium_partitions_nor_format", resourceCulture); + } + } + + internal static string Unknown_medium_recognition_code_0 { + get { + return ResourceManager.GetString("Unknown_medium_recognition_code_0", resourceCulture); + } + } + + internal static string Medium_has_defined_0_partitions { + get { + return ResourceManager.GetString("Medium_has_defined_0_partitions", resourceCulture); + } + } + + internal static string Device_recognizes_one_single_partition_spanning_whole_medium { + get { + return ResourceManager.GetString("Device_recognizes_one_single_partition_spanning_whole_medium", resourceCulture); + } + } + + internal static string Partition_0_runs_for_rest_of_medium { + get { + return ResourceManager.GetString("Partition_0_runs_for_rest_of_medium", resourceCulture); + } + } + + internal static string Partition_0_is_1_2_long { + get { + return ResourceManager.GetString("Partition_0_is_1_2_long", resourceCulture); + } + } + + internal static string SCSI_medium_partition_page_extra { + get { + return ResourceManager.GetString("SCSI_medium_partition_page_extra", resourceCulture); + } + } + + internal static string Partition_0_is_1_units_long { + get { + return ResourceManager.GetString("Partition_0_is_1_units_long", resourceCulture); + } + } + + internal static string Certance_Drive_Capabilities_Control_Mode_Page { + get { + return ResourceManager.GetString("Certance_Drive_Capabilities_Control_Mode_Page", resourceCulture); + } + } + + internal static string Operating_systems_support_is_standard_LTO { + get { + return ResourceManager.GetString("Operating_systems_support_is_standard_LTO", resourceCulture); + } + } + + internal static string Operating_systems_support_is_unknown_code_0 { + get { + return ResourceManager.GetString("Operating_systems_support_is_unknown_code_0", resourceCulture); + } + } + + internal static string Factory_test_code_is_disabled { + get { + return ResourceManager.GetString("Factory_test_code_is_disabled", resourceCulture); + } + } + + internal static string Factory_test_code_1_is_disabled { + get { + return ResourceManager.GetString("Factory_test_code_1_is_disabled", resourceCulture); + } + } + + internal static string Factory_test_code_2_is_disabled { + get { + return ResourceManager.GetString("Factory_test_code_2_is_disabled", resourceCulture); + } + } + + internal static string Unknown_factory_test_code_0 { + get { + return ResourceManager.GetString("Unknown_factory_test_code_0", resourceCulture); + } + } + + internal static string Power_On_Self_Test_is_enabled { + get { + return ResourceManager.GetString("Power_On_Self_Test_is_enabled", resourceCulture); + } + } + + internal static string Power_On_Self_Test_is_disable { + get { + return ResourceManager.GetString("Power_On_Self_Test_is_disable", resourceCulture); + } + } + + internal static string Unknown_Power_On_Self_Test_code_0 { + get { + return ResourceManager.GetString("Unknown_Power_On_Self_Test_code_0", resourceCulture); + } + } + + internal static string Compression_is_controlled_using_mode_pages_0Fh_and_10h { + get { + return ResourceManager.GetString("Compression_is_controlled_using_mode_pages_0Fh_and_10h", resourceCulture); + } + } + + internal static string Compression_is_enabled_and_not_controllable { + get { + return ResourceManager.GetString("Compression_is_enabled_and_not_controllable", resourceCulture); + } + } + + internal static string Compression_is_disabled_and_not_controllable { + get { + return ResourceManager.GetString("Compression_is_disabled_and_not_controllable", resourceCulture); + } + } + + internal static string Unknown_compression_control_code_0 { + get { + return ResourceManager.GetString("Unknown_compression_control_code_0", resourceCulture); + } + } + + internal static string SCSI_UNLOAD_command_will_not_eject_the_cartridge { + get { + return ResourceManager.GetString("SCSI_UNLOAD_command_will_not_eject_the_cartridge", resourceCulture); + } + } + + internal static string How_should_tapes_be_unloaded_in_a_power_cycle_tape_incompatibility_firmware_download_or_cleaning_end { + get { + return ResourceManager.GetString("How_should_tapes_be_unloaded_in_a_power_cycle_tape_incompatibility_firmware_downl" + + "oad_or_cleaning_end", resourceCulture); + } + } + + internal static string Tape_will_stay_threaded_at_beginning { + get { + return ResourceManager.GetString("Tape_will_stay_threaded_at_beginning", resourceCulture); + } + } + + internal static string Tape_will_be_unthreaded { + get { + return ResourceManager.GetString("Tape_will_be_unthreaded", resourceCulture); + } + } + + internal static string Tape_will_be_unthreaded_and_unloaded { + get { + return ResourceManager.GetString("Tape_will_be_unthreaded_and_unloaded", resourceCulture); + } + } + + internal static string Data_tapes_will_be_threaded_at_beginning_rest_will_be_unloaded { + get { + return ResourceManager.GetString("Data_tapes_will_be_threaded_at_beginning_rest_will_be_unloaded", resourceCulture); + } + } + + internal static string Unknown_auto_unload_code_0 { + get { + return ResourceManager.GetString("Unknown_auto_unload_code_0", resourceCulture); + } + } + + internal static string Certance_Interface_Control_Mode_Page { + get { + return ResourceManager.GetString("Certance_Interface_Control_Mode_Page", resourceCulture); + } + } + + internal static string Library_interface_will_operate_at_9600_baud_on_next_reset { + get { + return ResourceManager.GetString("Library_interface_will_operate_at_9600_baud_on_next_reset", resourceCulture); + } + } + + internal static string Library_interface_will_operate_at_19200_baud_on_next_reset { + get { + return ResourceManager.GetString("Library_interface_will_operate_at_19200_baud_on_next_reset", resourceCulture); + } + } + + internal static string Library_interface_will_operate_at_38400_baud_on_next_reset { + get { + return ResourceManager.GetString("Library_interface_will_operate_at_38400_baud_on_next_reset", resourceCulture); + } + } + + internal static string Library_interface_will_operate_at_57600_baud_on_next_reset { + get { + return ResourceManager.GetString("Library_interface_will_operate_at_57600_baud_on_next_reset", resourceCulture); + } + } + + internal static string Library_interface_will_operate_at_115200_baud_on_next_reset { + get { + return ResourceManager.GetString("Library_interface_will_operate_at_115200_baud_on_next_reset", resourceCulture); + } + } + + internal static string Unknown_library_interface_baud_rate_code_0 { + get { + return ResourceManager.GetString("Unknown_library_interface_baud_rate_code_0", resourceCulture); + } + } + + internal static string Library_interface_transmits_2_stop_bits_per_byte { + get { + return ResourceManager.GetString("Library_interface_transmits_2_stop_bits_per_byte", resourceCulture); + } + } + + internal static string Library_interface_transmits_1_stop_bits_per_byte { + get { + return ResourceManager.GetString("Library_interface_transmits_1_stop_bits_per_byte", resourceCulture); + } + } + + internal static string Port_A_uses_Parallel_SCSI_Ultra160_interface { + get { + return ResourceManager.GetString("Port_A_uses_Parallel_SCSI_Ultra160_interface", resourceCulture); + } + } + + internal static string Drive_will_respond_to_SCSI_ID_0_on_Port_A_enabling { + get { + return ResourceManager.GetString("Drive_will_respond_to_SCSI_ID_0_on_Port_A_enabling", resourceCulture); + } + } + + internal static string Drive_jumpers_choose_SCSI_ID_0 { + get { + return ResourceManager.GetString("Drive_jumpers_choose_SCSI_ID_0", resourceCulture); + } + } + + internal static string SCSI_port_is_enabled { + get { + return ResourceManager.GetString("SCSI_port_is_enabled", resourceCulture); + } + } + + internal static string SCSI_port_is_disabled { + get { + return ResourceManager.GetString("SCSI_port_is_disabled", resourceCulture); + } + } + + internal static string SCSI_port_will_be_enabled_on_next_power_up { + get { + return ResourceManager.GetString("SCSI_port_will_be_enabled_on_next_power_up", resourceCulture); + } + } + + internal static string SCSI_port_will_be_disabled_on_next_power_up { + get { + return ResourceManager.GetString("SCSI_port_will_be_disabled_on_next_power_up", resourceCulture); + } + } + + internal static string IBM_Vendor_Specific_Control_Mode_Page { + get { + return ResourceManager.GetString("IBM_Vendor_Specific_Control_Mode_Page", resourceCulture); + } + } + + internal static string Vendor_specific_mode_control_0 { + get { + return ResourceManager.GetString("Vendor_specific_mode_control_0", resourceCulture); + } + } + + internal static string Vendor_specific_velocity_setting_0 { + get { + return ResourceManager.GetString("Vendor_specific_velocity_setting_0", resourceCulture); + } + } + + internal static string Drive_supports_encryption { + get { + return ResourceManager.GetString("Drive_supports_encryption", resourceCulture); + } + } + + internal static string Drive_has_encryption_enabled { + get { + return ResourceManager.GetString("Drive_has_encryption_enabled", resourceCulture); + } + } + + internal static string GetMediumTypeDescription_ECMA_54 { + get { + return ResourceManager.GetString("GetMediumTypeDescription_ECMA_54", resourceCulture); + } + } + + internal static string GetMediumTypeDescription_ECMA_59 { + get { + return ResourceManager.GetString("GetMediumTypeDescription_ECMA_59", resourceCulture); + } + } + + internal static string GetMediumTypeDescription_ECMA_69 { + get { + return ResourceManager.GetString("GetMediumTypeDescription_ECMA_69", resourceCulture); + } + } + + internal static string GetMediumTypeDescription_ECMA_66 { + get { + return ResourceManager.GetString("GetMediumTypeDescription_ECMA_66", resourceCulture); + } + } + + internal static string GetMediumTypeDescription_ECMA_70 { + get { + return ResourceManager.GetString("GetMediumTypeDescription_ECMA_70", resourceCulture); + } + } + + internal static string GetMediumTypeDescription_ECMA_78 { + get { + return ResourceManager.GetString("GetMediumTypeDescription_ECMA_78", resourceCulture); + } + } + + internal static string GetMediumTypeDescription_ECMA_99 { + get { + return ResourceManager.GetString("GetMediumTypeDescription_ECMA_99", resourceCulture); + } + } + + internal static string GetMediumTypeDescription_ECMA_100 { + get { + return ResourceManager.GetString("GetMediumTypeDescription_ECMA_100", resourceCulture); + } + } + + internal static string GetMediumTypeDescription_X3_73 { + get { + return ResourceManager.GetString("GetMediumTypeDescription_X3_73", resourceCulture); + } + } + + internal static string GetMediumTypeDescription_X3_73_DS { + get { + return ResourceManager.GetString("GetMediumTypeDescription_X3_73_DS", resourceCulture); + } + } + + internal static string GetMediumTypeDescription_X3_82 { + get { + return ResourceManager.GetString("GetMediumTypeDescription_X3_82", resourceCulture); + } + } + + internal static string GetMediumTypeDescription_Type3Floppy { + get { + return ResourceManager.GetString("GetMediumTypeDescription_Type3Floppy", resourceCulture); + } + } + + internal static string GetMediumTypeDescription_HDFloppy { + get { + return ResourceManager.GetString("GetMediumTypeDescription_HDFloppy", resourceCulture); + } + } + + internal static string GetMediumTypeDescription_ReadOnly { + get { + return ResourceManager.GetString("GetMediumTypeDescription_ReadOnly", resourceCulture); + } + } + + internal static string GetMediumTypeDescription_WORM { + get { + return ResourceManager.GetString("GetMediumTypeDescription_WORM", resourceCulture); + } + } + + internal static string GetMediumTypeDescription_Erasable { + get { + return ResourceManager.GetString("GetMediumTypeDescription_Erasable", resourceCulture); + } + } + + internal static string GetMediumTypeDescription_RO_WORM { + get { + return ResourceManager.GetString("GetMediumTypeDescription_RO_WORM", resourceCulture); + } + } + + internal static string GetMediumTypeDescription_DOW { + get { + return ResourceManager.GetString("GetMediumTypeDescription_DOW", resourceCulture); + } + } + + internal static string GetMediumTypeDescription_HiMD { + get { + return ResourceManager.GetString("GetMediumTypeDescription_HiMD", resourceCulture); + } + } + + internal static string SCSI_Mode_Sense_Header { + get { + return ResourceManager.GetString("SCSI_Mode_Sense_Header", resourceCulture); + } + } + + internal static string Medium_is_0 { + get { + return ResourceManager.GetString("Medium_is_0", resourceCulture); + } + } + + internal static string Medium_is_write_protected { + get { + return ResourceManager.GetString("Medium_is_write_protected", resourceCulture); + } + } + + internal static string Drive_supports_DPO_and_FUA_bits { + get { + return ResourceManager.GetString("Drive_supports_DPO_and_FUA_bits", resourceCulture); + } + } + + internal static string _7958_ftprad { + get { + return ResourceManager.GetString("_7958_ftprad", resourceCulture); + } + } + + internal static string _13262_ftprad { + get { + return ResourceManager.GetString("_13262_ftprad", resourceCulture); + } + } + + internal static string _15916_ftprad { + get { + return ResourceManager.GetString("_15916_ftprad", resourceCulture); + } + } + + internal static string with_unknown_density_code_0 { + get { + return ResourceManager.GetString("with_unknown_density_code_0", resourceCulture); + } + } + + internal static string All_remaining_blocks_have_0_and_are_1_bytes_each { + get { + return ResourceManager.GetString("All_remaining_blocks_have_0_and_are_1_bytes_each", resourceCulture); + } + } + + internal static string _0_blocks_have_1_and_are_2_bytes_each { + get { + return ResourceManager.GetString("_0_blocks_have_1_and_are_2_bytes_each", resourceCulture); + } + } + + internal static string All_remaining_blocks_are_0_bytes_each { + get { + return ResourceManager.GetString("All_remaining_blocks_are_0_bytes_each", resourceCulture); + } + } + + internal static string _0_blocks_are_1_bytes_each { + get { + return ResourceManager.GetString("_0_blocks_are_1_bytes_each", resourceCulture); + } + } + + internal static string Device_writes_directly_to_media { + get { + return ResourceManager.GetString("Device_writes_directly_to_media", resourceCulture); + } + } + + internal static string Device_uses_a_write_cache { + get { + return ResourceManager.GetString("Device_uses_a_write_cache", resourceCulture); + } + } + + internal static string Device_uses_a_write_cache_but_doesn_t_return_until_cache_is_flushed { + get { + return ResourceManager.GetString("Device_uses_a_write_cache_but_doesn_t_return_until_cache_is_flushed", resourceCulture); + } + } + + internal static string Unknown_buffered_mode_code_0 { + get { + return ResourceManager.GetString("Unknown_buffered_mode_code_0", resourceCulture); + } + } + + internal static string Device_uses_default_speed { + get { + return ResourceManager.GetString("Device_uses_default_speed", resourceCulture); + } + } + + internal static string Device_uses_speed_0 { + get { + return ResourceManager.GetString("Device_uses_speed_0", resourceCulture); + } + } + + internal static string MediumType_undefined { + get { + return ResourceManager.GetString("MediumType_undefined", resourceCulture); + } + } + + internal static string MediumType_Tape12 { + get { + return ResourceManager.GetString("MediumType_Tape12", resourceCulture); + } + } + + internal static string MediumType_Tape24 { + get { + return ResourceManager.GetString("MediumType_Tape24", resourceCulture); + } + } + + internal static string MediumType_LTOWORM { + get { + return ResourceManager.GetString("MediumType_LTOWORM", resourceCulture); + } + } + + internal static string MediumType_LTO { + get { + return ResourceManager.GetString("MediumType_LTO", resourceCulture); + } + } + + internal static string MediumType_LTO2 { + get { + return ResourceManager.GetString("MediumType_LTO2", resourceCulture); + } + } + + internal static string MediumType_DC2900SL { + get { + return ResourceManager.GetString("MediumType_DC2900SL", resourceCulture); + } + } + + internal static string MediumType_MLR1 { + get { + return ResourceManager.GetString("MediumType_MLR1", resourceCulture); + } + } + + internal static string MediumType_DC9200 { + get { + return ResourceManager.GetString("MediumType_DC9200", resourceCulture); + } + } + + internal static string MediumType_DAT72 { + get { + return ResourceManager.GetString("MediumType_DAT72", resourceCulture); + } + } + + internal static string MediumType_LTO3 { + get { + return ResourceManager.GetString("MediumType_LTO3", resourceCulture); + } + } + + internal static string MediumType_LTO3WORM { + get { + return ResourceManager.GetString("MediumType_LTO3WORM", resourceCulture); + } + } + + internal static string MediumType_DDSCleaning { + get { + return ResourceManager.GetString("MediumType_DDSCleaning", resourceCulture); + } + } + + internal static string MediumType_SLR32 { + get { + return ResourceManager.GetString("MediumType_SLR32", resourceCulture); + } + } + + internal static string MediumType_SLRtape50 { + get { + return ResourceManager.GetString("MediumType_SLRtape50", resourceCulture); + } + } + + internal static string MediumType_LTO4 { + get { + return ResourceManager.GetString("MediumType_LTO4", resourceCulture); + } + } + + internal static string MediumType_LTO4WORM { + get { + return ResourceManager.GetString("MediumType_LTO4WORM", resourceCulture); + } + } + + internal static string MediumType_SLRtape50SL { + get { + return ResourceManager.GetString("MediumType_SLRtape50SL", resourceCulture); + } + } + + internal static string MediumType_SLR32SL { + get { + return ResourceManager.GetString("MediumType_SLR32SL", resourceCulture); + } + } + + internal static string MediumType_SLR5 { + get { + return ResourceManager.GetString("MediumType_SLR5", resourceCulture); + } + } + + internal static string MediumType_SLR5SL { + get { + return ResourceManager.GetString("MediumType_SLR5SL", resourceCulture); + } + } + + internal static string MediumType_LTO5 { + get { + return ResourceManager.GetString("MediumType_LTO5", resourceCulture); + } + } + + internal static string MediumType_LTO5WORM { + get { + return ResourceManager.GetString("MediumType_LTO5WORM", resourceCulture); + } + } + + internal static string MediumType_SLRtape7 { + get { + return ResourceManager.GetString("MediumType_SLRtape7", resourceCulture); + } + } + + internal static string MediumType_SLRtape7SL { + get { + return ResourceManager.GetString("MediumType_SLRtape7SL", resourceCulture); + } + } + + internal static string MediumType_SLRtape24 { + get { + return ResourceManager.GetString("MediumType_SLRtape24", resourceCulture); + } + } + + internal static string MediumType_SLRtape24SL { + get { + return ResourceManager.GetString("MediumType_SLRtape24SL", resourceCulture); + } + } + + internal static string MediumType_LTO6 { + get { + return ResourceManager.GetString("MediumType_LTO6", resourceCulture); + } + } + + internal static string MediumType_LTO6WORM { + get { + return ResourceManager.GetString("MediumType_LTO6WORM", resourceCulture); + } + } + + internal static string MediumType_SLRtape140 { + get { + return ResourceManager.GetString("MediumType_SLRtape140", resourceCulture); + } + } + + internal static string MediumType_SLRtape40 { + get { + return ResourceManager.GetString("MediumType_SLRtape40", resourceCulture); + } + } + + internal static string MediumType_SLRtape60 { + get { + return ResourceManager.GetString("MediumType_SLRtape60", resourceCulture); + } + } + + internal static string MediumType_SLRtape100 { + get { + return ResourceManager.GetString("MediumType_SLRtape100", resourceCulture); + } + } + + internal static string MediumType_SLR40_60_100 { + get { + return ResourceManager.GetString("MediumType_SLR40_60_100", resourceCulture); + } + } + + internal static string MediumType_LTO7 { + get { + return ResourceManager.GetString("MediumType_LTO7", resourceCulture); + } + } + + internal static string MediumType_LTO7WORM { + get { + return ResourceManager.GetString("MediumType_LTO7WORM", resourceCulture); + } + } + + internal static string MediumType_Exatape15m { + get { + return ResourceManager.GetString("MediumType_Exatape15m", resourceCulture); + } + } + + internal static string MediumType_CT1 { + get { + return ResourceManager.GetString("MediumType_CT1", resourceCulture); + } + } + + internal static string MediumType_Exatape54m { + get { + return ResourceManager.GetString("MediumType_Exatape54m", resourceCulture); + } + } + + internal static string MediumType_Exatape80m { + get { + return ResourceManager.GetString("MediumType_Exatape80m", resourceCulture); + } + } + + internal static string MediumType_Exatape106m { + get { + return ResourceManager.GetString("MediumType_Exatape106m", resourceCulture); + } + } + + internal static string MediumType_Exatape106mXL { + get { + return ResourceManager.GetString("MediumType_Exatape106mXL", resourceCulture); + } + } + + internal static string MediumType_SDLT2 { + get { + return ResourceManager.GetString("MediumType_SDLT2", resourceCulture); + } + } + + internal static string MediumType_VStapeI { + get { + return ResourceManager.GetString("MediumType_VStapeI", resourceCulture); + } + } + + internal static string MediumType_DLTtapeS4 { + get { + return ResourceManager.GetString("MediumType_DLTtapeS4", resourceCulture); + } + } + + internal static string MediumType_Travan7 { + get { + return ResourceManager.GetString("MediumType_Travan7", resourceCulture); + } + } + + internal static string MediumType_Exatape22m { + get { + return ResourceManager.GetString("MediumType_Exatape22m", resourceCulture); + } + } + + internal static string MediumType_Exatape40m { + get { + return ResourceManager.GetString("MediumType_Exatape40m", resourceCulture); + } + } + + internal static string MediumType_Exatape76m { + get { + return ResourceManager.GetString("MediumType_Exatape76m", resourceCulture); + } + } + + internal static string MediumType_Exatape112m { + get { + return ResourceManager.GetString("MediumType_Exatape112m", resourceCulture); + } + } + + internal static string MediumType_Exatape22mAME { + get { + return ResourceManager.GetString("MediumType_Exatape22mAME", resourceCulture); + } + } + + internal static string MediumType_Exatape170m { + get { + return ResourceManager.GetString("MediumType_Exatape170m", resourceCulture); + } + } + + internal static string MediumType_Exatape125m { + get { + return ResourceManager.GetString("MediumType_Exatape125m", resourceCulture); + } + } + + internal static string MediumType_Exatape45m { + get { + return ResourceManager.GetString("MediumType_Exatape45m", resourceCulture); + } + } + + internal static string MediumType_Exatape225m { + get { + return ResourceManager.GetString("MediumType_Exatape225m", resourceCulture); + } + } + + internal static string MediumType_Exatape150m { + get { + return ResourceManager.GetString("MediumType_Exatape150m", resourceCulture); + } + } + + internal static string MediumType_Exatape75m { + get { + return ResourceManager.GetString("MediumType_Exatape75m", resourceCulture); + } + } + + internal static string Unknown_medium_type_0 { + get { + return ResourceManager.GetString("Unknown_medium_type_0", resourceCulture); + } + } + + internal static string ECMA62 { + get { + return ResourceManager.GetString("ECMA62", resourceCulture); + } + } + + internal static string ECMA62_Phase { + get { + return ResourceManager.GetString("ECMA62_Phase", resourceCulture); + } + } + + internal static string ECMA62_GCR { + get { + return ResourceManager.GetString("ECMA62_GCR", resourceCulture); + } + } + + internal static string ECMA79 { + get { + return ResourceManager.GetString("ECMA79", resourceCulture); + } + } + + internal static string IBM3480 { + get { + return ResourceManager.GetString("IBM3480", resourceCulture); + } + } + + internal static string ECMA46 { + get { + return ResourceManager.GetString("ECMA46", resourceCulture); + } + } + + internal static string ECMA98 { + get { + return ResourceManager.GetString("ECMA98", resourceCulture); + } + } + + internal static string X3_136 { + get { + return ResourceManager.GetString("X3_136", resourceCulture); + } + } + + internal static string X3_157 { + get { + return ResourceManager.GetString("X3_157", resourceCulture); + } + } + + internal static string X3_158 { + get { + return ResourceManager.GetString("X3_158", resourceCulture); + } + } + + internal static string X3B5_86 { + get { + return ResourceManager.GetString("X3B5_86", resourceCulture); + } + } + + internal static string HiTC1 { + get { + return ResourceManager.GetString("HiTC1", resourceCulture); + } + } + + internal static string HiTC2 { + get { + return ResourceManager.GetString("HiTC2", resourceCulture); + } + } + + internal static string QIC120 { + get { + return ResourceManager.GetString("QIC120", resourceCulture); + } + } + + internal static string QIC150 { + get { + return ResourceManager.GetString("QIC150", resourceCulture); + } + } + + internal static string QIC320 { + get { + return ResourceManager.GetString("QIC320", resourceCulture); + } + } + + internal static string QIC1350 { + get { + return ResourceManager.GetString("QIC1350", resourceCulture); + } + } + + internal static string X3B5_88 { + get { + return ResourceManager.GetString("X3B5_88", resourceCulture); + } + } + + internal static string X3_202 { + get { + return ResourceManager.GetString("X3_202", resourceCulture); + } + } + + internal static string ECMA_TC17 { + get { + return ResourceManager.GetString("ECMA_TC17", resourceCulture); + } + } + + internal static string X3_193 { + get { + return ResourceManager.GetString("X3_193", resourceCulture); + } + } + + internal static string X3B5_91 { + get { + return ResourceManager.GetString("X3B5_91", resourceCulture); + } + } + + internal static string QIC11 { + get { + return ResourceManager.GetString("QIC11", resourceCulture); + } + } + + internal static string IBM3490E { + get { + return ResourceManager.GetString("IBM3490E", resourceCulture); + } + } + + internal static string LTO_or_SAIT1 { + get { + return ResourceManager.GetString("LTO_or_SAIT1", resourceCulture); + } + } + + internal static string LTO2_or_T9840 { + get { + return ResourceManager.GetString("LTO2_or_T9840", resourceCulture); + } + } + + internal static string T9940 { + get { + return ResourceManager.GetString("T9940", resourceCulture); + } + } + + internal static string LTO3_or_T9940 { + get { + return ResourceManager.GetString("LTO3_or_T9940", resourceCulture); + } + } + + internal static string T9840C { + get { + return ResourceManager.GetString("T9840C", resourceCulture); + } + } + + internal static string LTO4_or_T9840D { + get { + return ResourceManager.GetString("LTO4_or_T9840D", resourceCulture); + } + } + + internal static string T10000A { + get { + return ResourceManager.GetString("T10000A", resourceCulture); + } + } + + internal static string T10000B { + get { + return ResourceManager.GetString("T10000B", resourceCulture); + } + } + + internal static string T10000C { + get { + return ResourceManager.GetString("T10000C", resourceCulture); + } + } + + internal static string T10000D { + get { + return ResourceManager.GetString("T10000D", resourceCulture); + } + } + + internal static string AIT1 { + get { + return ResourceManager.GetString("AIT1", resourceCulture); + } + } + + internal static string AIT2 { + get { + return ResourceManager.GetString("AIT2", resourceCulture); + } + } + + internal static string AIT3 { + get { + return ResourceManager.GetString("AIT3", resourceCulture); + } + } + + internal static string DDS2 { + get { + return ResourceManager.GetString("DDS2", resourceCulture); + } + } + + internal static string DDS3 { + get { + return ResourceManager.GetString("DDS3", resourceCulture); + } + } + + internal static string DDS4 { + get { + return ResourceManager.GetString("DDS4", resourceCulture); + } + } + + internal static string unknown_density_code_0 { + get { + return ResourceManager.GetString("unknown_density_code_0", resourceCulture); + } + } + + internal static string LTO_Ultrium_cleaning_cartridge { + get { + return ResourceManager.GetString("LTO_Ultrium_cleaning_cartridge", resourceCulture); + } + } + + internal static string MLR1_26GB { + get { + return ResourceManager.GetString("MLR1_26GB", resourceCulture); + } + } + + internal static string DC9200 { + get { + return ResourceManager.GetString("DC9200", resourceCulture); + } + } + + internal static string LTO2_CDemu { + get { + return ResourceManager.GetString("LTO2_CDemu", resourceCulture); + } + } + + internal static string LTO3_CDemu { + get { + return ResourceManager.GetString("LTO3_CDemu", resourceCulture); + } + } + + internal static string LTO4_CDemu { + get { + return ResourceManager.GetString("LTO4_CDemu", resourceCulture); + } + } + + internal static string LTO5_CDemu { + get { + return ResourceManager.GetString("LTO5_CDemu", resourceCulture); + } + } + + internal static string EXB8200 { + get { + return ResourceManager.GetString("EXB8200", resourceCulture); + } + } + + internal static string EXB8200_compressed { + get { + return ResourceManager.GetString("EXB8200_compressed", resourceCulture); + } + } + + internal static string EXB8500 { + get { + return ResourceManager.GetString("EXB8500", resourceCulture); + } + } + + internal static string EXB8500_compressed { + get { + return ResourceManager.GetString("EXB8500_compressed", resourceCulture); + } + } + + internal static string TapeName_Mammoth { + get { + return ResourceManager.GetString("TapeName_Mammoth", resourceCulture); + } + } + + internal static string IBM3590 { + get { + return ResourceManager.GetString("IBM3590", resourceCulture); + } + } + + internal static string IBM3590E { + get { + return ResourceManager.GetString("IBM3590E", resourceCulture); + } + } + + internal static string VXA1 { + get { + return ResourceManager.GetString("VXA1", resourceCulture); + } + } + + internal static string CT1 { + get { + return ResourceManager.GetString("CT1", resourceCulture); + } + } + + internal static string CT2 { + get { + return ResourceManager.GetString("CT2", resourceCulture); + } + } + + internal static string IBM3590_extended { + get { + return ResourceManager.GetString("IBM3590_extended", resourceCulture); + } + } + + internal static string IBM3590E_extended { + get { + return ResourceManager.GetString("IBM3590E_extended", resourceCulture); + } + } + + internal static string VXA2 { + get { + return ResourceManager.GetString("VXA2", resourceCulture); + } + } + + internal static string VXA3 { + get { + return ResourceManager.GetString("VXA3", resourceCulture); + } + } + + internal static string DLT3_42k { + get { + return ResourceManager.GetString("DLT3_42k", resourceCulture); + } + } + + internal static string DLT3_56t { + get { + return ResourceManager.GetString("DLT3_56t", resourceCulture); + } + } + + internal static string DLT3_62k { + get { + return ResourceManager.GetString("DLT3_62k", resourceCulture); + } + } + + internal static string DLT3c { + get { + return ResourceManager.GetString("DLT3c", resourceCulture); + } + } + + internal static string DLT3_XT { + get { + return ResourceManager.GetString("DLT3_XT", resourceCulture); + } + } + + internal static string DLT3_XT_compressed { + get { + return ResourceManager.GetString("DLT3_XT_compressed", resourceCulture); + } + } + + internal static string DLT4 { + get { + return ResourceManager.GetString("DLT4", resourceCulture); + } + } + + internal static string DLT4_123k { + get { + return ResourceManager.GetString("DLT4_123k", resourceCulture); + } + } + + internal static string DLT4_98k { + get { + return ResourceManager.GetString("DLT4_98k", resourceCulture); + } + } + + internal static string Travan5 { + get { + return ResourceManager.GetString("Travan5", resourceCulture); + } + } + + internal static string DLT4c { + get { + return ResourceManager.GetString("DLT4c", resourceCulture); + } + } + + internal static string DLT4_85k { + get { + return ResourceManager.GetString("DLT4_85k", resourceCulture); + } + } + + internal static string DLT4c_85k { + get { + return ResourceManager.GetString("DLT4c_85k", resourceCulture); + } + } + + internal static string DLT4c_123k { + get { + return ResourceManager.GetString("DLT4c_123k", resourceCulture); + } + } + + internal static string DLT4c_98k { + get { + return ResourceManager.GetString("DLT4c_98k", resourceCulture); + } + } + + internal static string SDLT1_133k { + get { + return ResourceManager.GetString("SDLT1_133k", resourceCulture); + } + } + + internal static string SDLT1 { + get { + return ResourceManager.GetString("SDLT1", resourceCulture); + } + } + + internal static string SDLT1c { + get { + return ResourceManager.GetString("SDLT1c", resourceCulture); + } + } + + internal static string VStape1c { + get { + return ResourceManager.GetString("VStape1c", resourceCulture); + } + } + + internal static string Mammoth2 { + get { + return ResourceManager.GetString("Mammoth2", resourceCulture); + } + } + + internal static string DC9250 { + get { + return ResourceManager.GetString("DC9250", resourceCulture); + } + } + + internal static string MLR1_26GBSL { + get { + return ResourceManager.GetString("MLR1_26GBSL", resourceCulture); + } + } + + internal static string SLR32SL { + get { + return ResourceManager.GetString("SLR32SL", resourceCulture); + } + } + + internal static string SLR5SL { + get { + return ResourceManager.GetString("SLR5SL", resourceCulture); + } + } + + internal static string SLR40_60_100 { + get { + return ResourceManager.GetString("SLR40_60_100", resourceCulture); + } + } + + internal static string All_remaining_blocks_conform_to_0_and_have_a_variable_length { + get { + return ResourceManager.GetString("All_remaining_blocks_conform_to_0_and_have_a_variable_length", resourceCulture); + } + } + + internal static string All_remaining_blocks_conform_to_0_and_are_1_bytes_each { + get { + return ResourceManager.GetString("All_remaining_blocks_conform_to_0_and_are_1_bytes_each", resourceCulture); + } + } + + internal static string _0_blocks_conform_to_1_and_have_a_variable_length { + get { + return ResourceManager.GetString("_0_blocks_conform_to_1_and_have_a_variable_length", resourceCulture); + } + } + + internal static string _0_blocks_conform_to_1_and_are_2_bytes_each { + get { + return ResourceManager.GetString("_0_blocks_conform_to_1_and_are_2_bytes_each", resourceCulture); + } + } + + internal static string All_remaining_blocks_have_a_variable_length { + get { + return ResourceManager.GetString("All_remaining_blocks_have_a_variable_length", resourceCulture); + } + } + + internal static string _0_blocks_have_a_variable_length { + get { + return ResourceManager.GetString("_0_blocks_have_a_variable_length", resourceCulture); + } + } + + internal static string Device_prints_directly { + get { + return ResourceManager.GetString("Device_prints_directly", resourceCulture); + } + } + + internal static string Device_uses_a_print_cache { + get { + return ResourceManager.GetString("Device_uses_a_print_cache", resourceCulture); + } + } + + internal static string Medium_is_ { + get { + return ResourceManager.GetString("Medium_is_", resourceCulture); + } + } + + internal static string a_combination_of_read_only_and_erasable_optical { + get { + return ResourceManager.GetString("a_combination_of_read_only_and_erasable_optical", resourceCulture); + } + } + + internal static string a_combination_of_write_once_and_erasable_optical { + get { + return ResourceManager.GetString("a_combination_of_write_once_and_erasable_optical", resourceCulture); + } + } + + internal static string an_unknown_medium_type_0 { + get { + return ResourceManager.GetString("an_unknown_medium_type_0", resourceCulture); + } + } + + internal static string Blank_checking_during_write_is_enabled { + get { + return ResourceManager.GetString("Blank_checking_during_write_is_enabled", resourceCulture); + } + } + + internal static string ISO10090 { + get { + return ResourceManager.GetString("ISO10090", resourceCulture); + } + } + + internal static string D581 { + get { + return ResourceManager.GetString("D581", resourceCulture); + } + } + + internal static string X3_212 { + get { + return ResourceManager.GetString("X3_212", resourceCulture); + } + } + + internal static string X3_191 { + get { + return ResourceManager.GetString("X3_191", resourceCulture); + } + } + + internal static string X3_214 { + get { + return ResourceManager.GetString("X3_214", resourceCulture); + } + } + + internal static string X3_211 { + get { + return ResourceManager.GetString("X3_211", resourceCulture); + } + } + + internal static string D407 { + get { + return ResourceManager.GetString("D407", resourceCulture); + } + } + + internal static string ISO13614 { + get { + return ResourceManager.GetString("ISO13614", resourceCulture); + } + } + + internal static string X3_200 { + get { + return ResourceManager.GetString("X3_200", resourceCulture); + } + } + + internal static string All_remaining_blocks_are_0_and_have_a_variable_length { + get { + return ResourceManager.GetString("All_remaining_blocks_are_0_and_have_a_variable_length", resourceCulture); + } + } + + internal static string All_remaining_blocks_are_0_and_are_1_bytes_each { + get { + return ResourceManager.GetString("All_remaining_blocks_are_0_and_are_1_bytes_each", resourceCulture); + } + } + + internal static string _0_blocks_are_1_and_have_a_variable_length { + get { + return ResourceManager.GetString("_0_blocks_are_1_and_have_a_variable_length", resourceCulture); + } + } + + internal static string _0_blocks_are_1_and_are_2_bytes_each { + get { + return ResourceManager.GetString("_0_blocks_are_1_and_are_2_bytes_each", resourceCulture); + } + } + + internal static string MediumTypes_CDROM { + get { + return ResourceManager.GetString("MediumTypes_CDROM", resourceCulture); + } + } + + internal static string MediumTypes_CDDA { + get { + return ResourceManager.GetString("MediumTypes_CDDA", resourceCulture); + } + } + + internal static string MediumTypes_MixedCD { + get { + return ResourceManager.GetString("MediumTypes_MixedCD", resourceCulture); + } + } + + internal static string MediumTypes_CDROM_80 { + get { + return ResourceManager.GetString("MediumTypes_CDROM_80", resourceCulture); + } + } + + internal static string MediumTypes_CDDA_80 { + get { + return ResourceManager.GetString("MediumTypes_CDDA_80", resourceCulture); + } + } + + internal static string MediumTypes_MixedCD_80 { + get { + return ResourceManager.GetString("MediumTypes_MixedCD_80", resourceCulture); + } + } + + internal static string Unknown_medium_type { + get { + return ResourceManager.GetString("Unknown_medium_type", resourceCulture); + } + } + + internal static string MediumTypes_HybridCD { + get { + return ResourceManager.GetString("MediumTypes_HybridCD", resourceCulture); + } + } + + internal static string MediumTypes_Unknown_CDR { + get { + return ResourceManager.GetString("MediumTypes_Unknown_CDR", resourceCulture); + } + } + + internal static string MediumTypes_CDR { + get { + return ResourceManager.GetString("MediumTypes_CDR", resourceCulture); + } + } + + internal static string MediumTypes_CDR_DA { + get { + return ResourceManager.GetString("MediumTypes_CDR_DA", resourceCulture); + } + } + + internal static string MediumTypes_CDR_Mixed { + get { + return ResourceManager.GetString("MediumTypes_CDR_Mixed", resourceCulture); + } + } + + internal static string MediumTypes_HybridCDR { + get { + return ResourceManager.GetString("MediumTypes_HybridCDR", resourceCulture); + } + } + + internal static string MediumTypes_CDR_80 { + get { + return ResourceManager.GetString("MediumTypes_CDR_80", resourceCulture); + } + } + + internal static string MediumTypes_CDR_DA_80 { + get { + return ResourceManager.GetString("MediumTypes_CDR_DA_80", resourceCulture); + } + } + + internal static string MediumTypes_HybridCDR_80 { + get { + return ResourceManager.GetString("MediumTypes_HybridCDR_80", resourceCulture); + } + } + + internal static string MediumTypes_Unknown_CDRW { + get { + return ResourceManager.GetString("MediumTypes_Unknown_CDRW", resourceCulture); + } + } + + internal static string MediumTypes_CDRW { + get { + return ResourceManager.GetString("MediumTypes_CDRW", resourceCulture); + } + } + + internal static string MediumTypes_CDRW_DA { + get { + return ResourceManager.GetString("MediumTypes_CDRW_DA", resourceCulture); + } + } + + internal static string MediumTypes_CDRW_Mixed { + get { + return ResourceManager.GetString("MediumTypes_CDRW_Mixed", resourceCulture); + } + } + + internal static string MediumTypes_HybridCDRW { + get { + return ResourceManager.GetString("MediumTypes_HybridCDRW", resourceCulture); + } + } + + internal static string MediumTypes_CDRW_80 { + get { + return ResourceManager.GetString("MediumTypes_CDRW_80", resourceCulture); + } + } + + internal static string MediumTypes_CDRW_DA_80 { + get { + return ResourceManager.GetString("MediumTypes_CDRW_DA_80", resourceCulture); + } + } + + internal static string MediumTypes_CDRW_Mixed_80 { + get { + return ResourceManager.GetString("MediumTypes_CDRW_Mixed_80", resourceCulture); + } + } + + internal static string MediumTypes_HybridCDRW_80 { + get { + return ResourceManager.GetString("MediumTypes_HybridCDRW_80", resourceCulture); + } + } + + internal static string MediumTypes_Unknown_HD { + get { + return ResourceManager.GetString("MediumTypes_Unknown_HD", resourceCulture); + } + } + + internal static string MediumTypes_HD { + get { + return ResourceManager.GetString("MediumTypes_HD", resourceCulture); + } + } + + internal static string MediumTypes_HD_80 { + get { + return ResourceManager.GetString("MediumTypes_HD_80", resourceCulture); + } + } + + internal static string No_disc_inserted_tray_closed_or_caddy_inserted { + get { + return ResourceManager.GetString("No_disc_inserted_tray_closed_or_caddy_inserted", resourceCulture); + } + } + + internal static string Tray_open_or_no_caddy_inserted { + get { + return ResourceManager.GetString("Tray_open_or_no_caddy_inserted", resourceCulture); + } + } + + internal static string Tray_closed_or_caddy_inserted_but_medium_error { + get { + return ResourceManager.GetString("Tray_closed_or_caddy_inserted_but_medium_error", resourceCulture); + } + } + + internal static string Read_only_block_device { + get { + return ResourceManager.GetString("Read_only_block_device", resourceCulture); + } + } + + internal static string Read_Write_block_device { + get { + return ResourceManager.GetString("Read_Write_block_device", resourceCulture); + } + } + + internal static string Unknown_block_device { + get { + return ResourceManager.GetString("Unknown_block_device", resourceCulture); + } + } + + internal static string LTO_in_CD_ROM_emulation_mode { + get { + return ResourceManager.GetString("LTO_in_CD_ROM_emulation_mode", resourceCulture); + } + } + + internal static string user_data_only { + get { + return ResourceManager.GetString("user_data_only", resourceCulture); + } + } + + internal static string user_data_plus_auxiliary_data { + get { + return ResourceManager.GetString("user_data_plus_auxiliary_data", resourceCulture); + } + } + + internal static string _4byte_tag_user_data_plus_auxiliary_data { + get { + return ResourceManager.GetString("_4byte_tag_user_data_plus_auxiliary_data", resourceCulture); + } + } + + internal static string audio_information_only { + get { + return ResourceManager.GetString("audio_information_only", resourceCulture); + } + } + + internal static string Density_0_defined_by_1 { + get { + return ResourceManager.GetString("Density_0_defined_by_1", resourceCulture); + } + } + + internal static string Secondary_code_0 { + get { + return ResourceManager.GetString("Secondary_code_0", resourceCulture); + } + } + + internal static string Drive_can_write_this_density { + get { + return ResourceManager.GetString("Drive_can_write_this_density", resourceCulture); + } + } + + internal static string This_descriptor_is_duplicated { + get { + return ResourceManager.GetString("This_descriptor_is_duplicated", resourceCulture); + } + } + + internal static string This_is_the_default_density_on_the_drive { + get { + return ResourceManager.GetString("This_is_the_default_density_on_the_drive", resourceCulture); + } + } + + internal static string Density_has_0_bits_per_mm__with_1_tracks_in_a_2_mm_width_tape { + get { + return ResourceManager.GetString("Density_has_0_bits_per_mm__with_1_tracks_in_a_2_mm_width_tape", resourceCulture); + } + } + + internal static string Density_maximum_capacity_is_0_megabytes { + get { + return ResourceManager.GetString("Density_maximum_capacity_is_0_megabytes", resourceCulture); + } + } + + internal static string Density_description_0 { + get { + return ResourceManager.GetString("Density_description_0", resourceCulture); + } + } + + internal static string Primary_code_0 { + get { + return ResourceManager.GetString("Primary_code_0", resourceCulture); + } + } + + internal static string Medium_supports_following_density_codes { + get { + return ResourceManager.GetString("Medium_supports_following_density_codes", resourceCulture); + } + } + + internal static string Medium_type_0_defined_by_1 { + get { + return ResourceManager.GetString("Medium_type_0_defined_by_1", resourceCulture); + } + } + + internal static string Medium_type_code_0 { + get { + return ResourceManager.GetString("Medium_type_code_0", resourceCulture); + } + } + + internal static string Medium_has_a_nominal_length_of_0_m_in_a_1_mm_width_tape { + get { + return ResourceManager.GetString("Medium_has_a_nominal_length_of_0_m_in_a_1_mm_width_tape", resourceCulture); + } + } + + internal static string Medium_description_0 { + get { + return ResourceManager.GetString("Medium_description_0", resourceCulture); + } + } + + internal static string SCSI_Implemented_operating_definitions { + get { + return ResourceManager.GetString("SCSI_Implemented_operating_definitions", resourceCulture); + } + } + + internal static string Default_operating_definition_0 { + get { + return ResourceManager.GetString("Default_operating_definition_0", resourceCulture); + } + } + + internal static string Current_operating_definition_0 { + get { + return ResourceManager.GetString("Current_operating_definition_0", resourceCulture); + } + } + + internal static string There_are_no_supported_definitions { + get { + return ResourceManager.GetString("There_are_no_supported_definitions", resourceCulture); + } + } + + internal static string Supported_operating_definitions { + get { + return ResourceManager.GetString("Supported_operating_definitions", resourceCulture); + } + } + + internal static string SCSI_Device_identification { + get { + return ResourceManager.GetString("SCSI_Device_identification", resourceCulture); + } + } + + internal static string There_are_no_identifiers { + get { + return ResourceManager.GetString("There_are_no_identifiers", resourceCulture); + } + } + + internal static string Identifier_has_unknown_association_with_code__0_ { + get { + return ResourceManager.GetString("Identifier_has_unknown_association_with_code__0_", resourceCulture); + } + } + + internal static string Automation_Drive_Interface_Transport { + get { + return ResourceManager.GetString("Automation_Drive_Interface_Transport", resourceCulture); + } + } + + internal static string AT_Attachment_Interface__ATA_ATAPI_ { + get { + return ResourceManager.GetString("AT_Attachment_Interface__ATA_ATAPI_", resourceCulture); + } + } + + internal static string Fibre_Channel { + get { + return ResourceManager.GetString("Fibre_Channel", resourceCulture); + } + } + + internal static string IEEE_1394 { + get { + return ResourceManager.GetString("IEEE_1394", resourceCulture); + } + } + + internal static string Internet_SCSI { + get { + return ResourceManager.GetString("Internet_SCSI", resourceCulture); + } + } + + internal static string no_specific_protocol { + get { + return ResourceManager.GetString("no_specific_protocol", resourceCulture); + } + } + + internal static string PCI_Express { + get { + return ResourceManager.GetString("PCI_Express", resourceCulture); + } + } + + internal static string SCSI_Remote_Direct_Memory_Access { + get { + return ResourceManager.GetString("SCSI_Remote_Direct_Memory_Access", resourceCulture); + } + } + + internal static string Serial_Attachment_SCSI { + get { + return ResourceManager.GetString("Serial_Attachment_SCSI", resourceCulture); + } + } + + internal static string Parallel_SCSI { + get { + return ResourceManager.GetString("Parallel_SCSI", resourceCulture); + } + } + + internal static string SCSI_over_PCI_Express { + get { + return ResourceManager.GetString("SCSI_over_PCI_Express", resourceCulture); + } + } + + internal static string SSA { + get { + return ResourceManager.GetString("SSA", resourceCulture); + } + } + + internal static string USB_Attached_SCSI { + get { + return ResourceManager.GetString("USB_Attached_SCSI", resourceCulture); + } + } + + internal static string unknown_code_protocol_0 { + get { + return ResourceManager.GetString("unknown_code_protocol_0", resourceCulture); + } + } + + internal static string Descriptor_refers_to_0_protocol { + get { + return ResourceManager.GetString("Descriptor_refers_to_0_protocol", resourceCulture); + } + } + + internal static string Vendor_descriptor_contains_0 { + get { + return ResourceManager.GetString("Vendor_descriptor_contains_0", resourceCulture); + } + } + + internal static string Vendor_descriptor_contains_binary_data_hex_0 { + get { + return ResourceManager.GetString("Vendor_descriptor_contains_binary_data_hex_0", resourceCulture); + } + } + + internal static string Vendor_descriptor_contains_unknown_kind_1_of_data_hex_0 { + get { + return ResourceManager.GetString("Vendor_descriptor_contains_unknown_kind_1_of_data_hex_0", resourceCulture); + } + } + + internal static string Inquiry_descriptor_contains_0 { + get { + return ResourceManager.GetString("Inquiry_descriptor_contains_0", resourceCulture); + } + } + + internal static string Inquiry_descriptor_contains_binary_data_hex_0 { + get { + return ResourceManager.GetString("Inquiry_descriptor_contains_binary_data_hex_0", resourceCulture); + } + } + + internal static string Inquiry_descriptor_contains_unknown_kind_1_of_data_hex_0 { + get { + return ResourceManager.GetString("Inquiry_descriptor_contains_unknown_kind_1_of_data_hex_0", resourceCulture); + } + } + + internal static string IEEE_EUI_64_0 { + get { + return ResourceManager.GetString("IEEE_EUI_64_0", resourceCulture); + } + } + + internal static string IEEE_EUI_64_0_X2 { + get { + return ResourceManager.GetString("IEEE_EUI_64_0_X2", resourceCulture); + } + } + + internal static string NAA_0 { + get { + return ResourceManager.GetString("NAA_0", resourceCulture); + } + } + + internal static string NAA_0_X2 { + get { + return ResourceManager.GetString("NAA_0_X2", resourceCulture); + } + } + + internal static string Relative_target_port_identifier_0 { + get { + return ResourceManager.GetString("Relative_target_port_identifier_0", resourceCulture); + } + } + + internal static string Target_group_identifier_0 { + get { + return ResourceManager.GetString("Target_group_identifier_0", resourceCulture); + } + } + + internal static string Logical_unit_group_identifier_0 { + get { + return ResourceManager.GetString("Logical_unit_group_identifier_0", resourceCulture); + } + } + + internal static string MD5_logical_unit_identifier_0 { + get { + return ResourceManager.GetString("MD5_logical_unit_identifier_0", resourceCulture); + } + } + + internal static string MD5_logical_unit_identifier_0_x2 { + get { + return ResourceManager.GetString("MD5_logical_unit_identifier_0_x2", resourceCulture); + } + } + + internal static string SCSI_name_string_identifier_0 { + get { + return ResourceManager.GetString("SCSI_name_string_identifier_0", resourceCulture); + } + } + + internal static string SCSI_name_string_identifier_hex_0 { + get { + return ResourceManager.GetString("SCSI_name_string_identifier_hex_0", resourceCulture); + } + } + + internal static string Protocol_Automation_Drive_Interface_Transport_specific_descriptor_with_unknown_format_hex_0 { + get { + return ResourceManager.GetString("Protocol_Automation_Drive_Interface_Transport_specific_descriptor_with_unknown_fo" + + "rmat_hex_0", resourceCulture); + } + } + + internal static string Protocol_ATA_ATAPI_specific_descriptor_with_unknown_format_hex_0 { + get { + return ResourceManager.GetString("Protocol_ATA_ATAPI_specific_descriptor_with_unknown_format_hex_0", resourceCulture); + } + } + + internal static string Protocol_Fibre_Channel_specific_descriptor_with_unknown_format_hex_0 { + get { + return ResourceManager.GetString("Protocol_Fibre_Channel_specific_descriptor_with_unknown_format_hex_0", resourceCulture); + } + } + + internal static string Protocol_IEEE_1394_specific_descriptor_with_unknown_format_hex_0 { + get { + return ResourceManager.GetString("Protocol_IEEE_1394_specific_descriptor_with_unknown_format_hex_0", resourceCulture); + } + } + + internal static string Protocol_Internet_SCSI_specific_descriptor_with_unknown_format_hex_0 { + get { + return ResourceManager.GetString("Protocol_Internet_SCSI_specific_descriptor_with_unknown_format_hex_0", resourceCulture); + } + } + + internal static string Protocol_unknown_specific_descriptor_with_unknown_format_hex_0 { + get { + return ResourceManager.GetString("Protocol_unknown_specific_descriptor_with_unknown_format_hex_0", resourceCulture); + } + } + + internal static string Protocol_PCI_Express_specific_descriptor_with_unknown_format_hex_0 { + get { + return ResourceManager.GetString("Protocol_PCI_Express_specific_descriptor_with_unknown_format_hex_0", resourceCulture); + } + } + + internal static string Protocol_SCSI_Remote_Direct_Memory_Access_specific_descriptor_with_unknown_format_hex_0 { + get { + return ResourceManager.GetString("Protocol_SCSI_Remote_Direct_Memory_Access_specific_descriptor_with_unknown_format" + + "_hex_0", resourceCulture); + } + } + + internal static string Protocol_Serial_Attachment_SCSI_specific_descriptor_with_unknown_format_hex_0 { + get { + return ResourceManager.GetString("Protocol_Serial_Attachment_SCSI_specific_descriptor_with_unknown_format_hex_0", resourceCulture); + } + } + + internal static string Protocol_Parallel_SCSI_specific_descriptor_with_unknown_format_hex_0 { + get { + return ResourceManager.GetString("Protocol_Parallel_SCSI_specific_descriptor_with_unknown_format_hex_0", resourceCulture); + } + } + + internal static string Protocol_SSA_specific_descriptor_with_unknown_format_hex_0 { + get { + return ResourceManager.GetString("Protocol_SSA_specific_descriptor_with_unknown_format_hex_0", resourceCulture); + } + } + + internal static string Protocol_SCSIe_specific_descriptor_Routing_ID_is_0 { + get { + return ResourceManager.GetString("Protocol_SCSIe_specific_descriptor_Routing_ID_is_0", resourceCulture); + } + } + + internal static string Protocol_UAS_specific_descriptor_USB_address_0_interface_1 { + get { + return ResourceManager.GetString("Protocol_UAS_specific_descriptor_USB_address_0_interface_1", resourceCulture); + } + } + + internal static string Protocol_unknown_code_0_specific_descriptor_with_unknown_format_hex_1 { + get { + return ResourceManager.GetString("Protocol_unknown_code_0_specific_descriptor_with_unknown_format_hex_1", resourceCulture); + } + } + + internal static string Unknown_descriptor_type_1_contains_0 { + get { + return ResourceManager.GetString("Unknown_descriptor_type_1_contains_0", resourceCulture); + } + } + + internal static string Unknown_descriptor_type_1_contains_binary_data_hex_0 { + get { + return ResourceManager.GetString("Unknown_descriptor_type_1_contains_binary_data_hex_0", resourceCulture); + } + } + + internal static string Inquiry_descriptor_type_2_contains_unknown_kind_1_of_data_hex_0 { + get { + return ResourceManager.GetString("Inquiry_descriptor_type_2_contains_unknown_kind_1_of_data_hex_0", resourceCulture); + } + } + + internal static string SCSI_Software_Interface_Identifiers { + get { + return ResourceManager.GetString("SCSI_Software_Interface_Identifiers", resourceCulture); + } + } + + internal static string SCSI_Management_Network_Addresses { + get { + return ResourceManager.GetString("SCSI_Management_Network_Addresses", resourceCulture); + } + } + + internal static string There_are_no_addresses { + get { + return ResourceManager.GetString("There_are_no_addresses", resourceCulture); + } + } + + internal static string Identifier_belongs_to_addressed_logical_unit { + get { + return ResourceManager.GetString("Identifier_belongs_to_addressed_logical_unit", resourceCulture); + } + } + + internal static string Identifier_belongs_to_target_port { + get { + return ResourceManager.GetString("Identifier_belongs_to_target_port", resourceCulture); + } + } + + internal static string Identifier_belongs_to_target_device_that_contains_the_addressed_logical_unit { + get { + return ResourceManager.GetString("Identifier_belongs_to_target_device_that_contains_the_addressed_logical_unit", resourceCulture); + } + } + + internal static string Identifier_has_unknown_association_with_code_0 { + get { + return ResourceManager.GetString("Identifier_has_unknown_association_with_code_0", resourceCulture); + } + } + + internal static string Address_for_code_download_0 { + get { + return ResourceManager.GetString("Address_for_code_download_0", resourceCulture); + } + } + + internal static string Address_for_diagnostics_0 { + get { + return ResourceManager.GetString("Address_for_diagnostics_0", resourceCulture); + } + } + + internal static string Address_for_logging_0 { + get { + return ResourceManager.GetString("Address_for_logging_0", resourceCulture); + } + } + + internal static string Address_for_status_0 { + get { + return ResourceManager.GetString("Address_for_status_0", resourceCulture); + } + } + + internal static string Address_for_storage_configuration_service_0 { + get { + return ResourceManager.GetString("Address_for_storage_configuration_service_0", resourceCulture); + } + } + + internal static string Unspecified_address_0 { + get { + return ResourceManager.GetString("Unspecified_address_0", resourceCulture); + } + } + + internal static string Address_for_copy_service_0 { + get { + return ResourceManager.GetString("Address_for_copy_service_0", resourceCulture); + } + } + + internal static string Address_for_administrative_configuration_service_0 { + get { + return ResourceManager.GetString("Address_for_administrative_configuration_service_0", resourceCulture); + } + } + + internal static string Address_of_unknown_type_1_0 { + get { + return ResourceManager.GetString("Address_of_unknown_type_1_0", resourceCulture); + } + } + + internal static string SCSI_Extended_INQUIRY_Data { + get { + return ResourceManager.GetString("SCSI_Extended_INQUIRY_Data", resourceCulture); + } + } + + internal static string Logical_unit_supports_type_1_protection { + get { + return ResourceManager.GetString("Logical_unit_supports_type_1_protection", resourceCulture); + } + } + + internal static string Logical_unit_supports_types_1_and_2_protection { + get { + return ResourceManager.GetString("Logical_unit_supports_types_1_and_2_protection", resourceCulture); + } + } + + internal static string Logical_unit_supports_type_2_protection { + get { + return ResourceManager.GetString("Logical_unit_supports_type_2_protection", resourceCulture); + } + } + + internal static string Logical_unit_supports_types_1_and_3_protection { + get { + return ResourceManager.GetString("Logical_unit_supports_types_1_and_3_protection", resourceCulture); + } + } + + internal static string Logical_unit_supports_type_3_protection { + get { + return ResourceManager.GetString("Logical_unit_supports_type_3_protection", resourceCulture); + } + } + + internal static string Logical_unit_supports_types_2_and_3_protection { + get { + return ResourceManager.GetString("Logical_unit_supports_types_2_and_3_protection", resourceCulture); + } + } + + internal static string Logical_unit_supports_types_1_2_and_3_protection { + get { + return ResourceManager.GetString("Logical_unit_supports_types_1_2_and_3_protection", resourceCulture); + } + } + + internal static string Logical_unit_supports_unknown_protection_defined_by_code_0 { + get { + return ResourceManager.GetString("Logical_unit_supports_unknown_protection_defined_by_code_0", resourceCulture); + } + } + + internal static string Logical_unit_supports_logical_block_protection { + get { + return ResourceManager.GetString("Logical_unit_supports_logical_block_protection", resourceCulture); + } + } + + internal static string Device_checks_the_logical_block_guard { + get { + return ResourceManager.GetString("Device_checks_the_logical_block_guard", resourceCulture); + } + } + + internal static string Device_checks_the_logical_block_application_tag { + get { + return ResourceManager.GetString("Device_checks_the_logical_block_application_tag", resourceCulture); + } + } + + internal static string Device_checks_the_logical_block_reference_tag { + get { + return ResourceManager.GetString("Device_checks_the_logical_block_reference_tag", resourceCulture); + } + } + + internal static string Device_supports_unit_attention_condition_sense_key_specific_data { + get { + return ResourceManager.GetString("Device_supports_unit_attention_condition_sense_key_specific_data", resourceCulture); + } + } + + internal static string Device_supports_grouping { + get { + return ResourceManager.GetString("Device_supports_grouping", resourceCulture); + } + } + + internal static string Device_supports_priority { + get { + return ResourceManager.GetString("Device_supports_priority", resourceCulture); + } + } + + internal static string Device_supports_head_of_queue { + get { + return ResourceManager.GetString("Device_supports_head_of_queue", resourceCulture); + } + } + + internal static string Device_supports_the_ORDERED_task_attribute { + get { + return ResourceManager.GetString("Device_supports_the_ORDERED_task_attribute", resourceCulture); + } + } + + internal static string Device_supports_the_SIMPLE_task_attribute { + get { + return ResourceManager.GetString("Device_supports_the_SIMPLE_task_attribute", resourceCulture); + } + } + + internal static string Device_supports_marking_a_block_as_uncorrectable_with_WRITE_LONG { + get { + return ResourceManager.GetString("Device_supports_marking_a_block_as_uncorrectable_with_WRITE_LONG", resourceCulture); + } + } + + internal static string Device_supports_disabling_correction_with_WRITE_LONG { + get { + return ResourceManager.GetString("Device_supports_disabling_correction_with_WRITE_LONG", resourceCulture); + } + } + + internal static string Device_has_a_non_volatile_cache { + get { + return ResourceManager.GetString("Device_has_a_non_volatile_cache", resourceCulture); + } + } + + internal static string Device_has_a_volatile_cache { + get { + return ResourceManager.GetString("Device_has_a_volatile_cache", resourceCulture); + } + } + + internal static string Device_has_disabled_protection_information_checks { + get { + return ResourceManager.GetString("Device_has_disabled_protection_information_checks", resourceCulture); + } + } + + internal static string Device_supports_protection_information_intervals { + get { + return ResourceManager.GetString("Device_supports_protection_information_intervals", resourceCulture); + } + } + + internal static string Device_clears_any_unit_attention_condition_in_all_LUNs_after_reporting_for_any_LUN { + get { + return ResourceManager.GetString("Device_clears_any_unit_attention_condition_in_all_LUNs_after_reporting_for_any_LU" + + "N", resourceCulture); + } + } + + internal static string Device_supports_referrals { + get { + return ResourceManager.GetString("Device_supports_referrals", resourceCulture); + } + } + + internal static string Device_implements_alternate_reset_handling { + get { + return ResourceManager.GetString("Device_implements_alternate_reset_handling", resourceCulture); + } + } + + internal static string Device_supports_capability_based_command_security { + get { + return ResourceManager.GetString("Device_supports_capability_based_command_security", resourceCulture); + } + } + + internal static string Device_supports_power_on_activation_for_new_microcode { + get { + return ResourceManager.GetString("Device_supports_power_on_activation_for_new_microcode", resourceCulture); + } + } + + internal static string Device_supports_hard_reset_activation_for_new_microcode { + get { + return ResourceManager.GetString("Device_supports_hard_reset_activation_for_new_microcode", resourceCulture); + } + } + + internal static string Device_supports_vendor_specific_activation_for_new_microcode { + get { + return ResourceManager.GetString("Device_supports_vendor_specific_activation_for_new_microcode", resourceCulture); + } + } + + internal static string Extended_self_test_takes_0_to_complete { + get { + return ResourceManager.GetString("Extended_self_test_takes_0_to_complete", resourceCulture); + } + } + + internal static string Device_supports_a_maximum_of_0_bytes_for_sense_data { + get { + return ResourceManager.GetString("Device_supports_a_maximum_of_0_bytes_for_sense_data", resourceCulture); + } + } + + internal static string SCSI_to_ATA_Translation_Layer_Data { + get { + return ResourceManager.GetString("SCSI_to_ATA_Translation_Layer_Data", resourceCulture); + } + } + + internal static string Translation_layer_vendor_0 { + get { + return ResourceManager.GetString("Translation_layer_vendor_0", resourceCulture); + } + } + + internal static string Translation_layer_name_0 { + get { + return ResourceManager.GetString("Translation_layer_name_0", resourceCulture); + } + } + + internal static string Translation_layer_release_level_0 { + get { + return ResourceManager.GetString("Translation_layer_release_level_0", resourceCulture); + } + } + + internal static string Device_responded_to_ATA_IDENTIFY_DEVICE_command { + get { + return ResourceManager.GetString("Device_responded_to_ATA_IDENTIFY_DEVICE_command", resourceCulture); + } + } + + internal static string Device_responded_to_ATA_IDENTIFY_PACKET_DEVICE_command { + get { + return ResourceManager.GetString("Device_responded_to_ATA_IDENTIFY_PACKET_DEVICE_command", resourceCulture); + } + } + + internal static string Device_responded_to_ATA_command_0 { + get { + return ResourceManager.GetString("Device_responded_to_ATA_command_0", resourceCulture); + } + } + + internal static string Device_uses_Parallel_ATA { + get { + return ResourceManager.GetString("Device_uses_Parallel_ATA", resourceCulture); + } + } + + internal static string Device_uses_Serial_ATA { + get { + return ResourceManager.GetString("Device_uses_Serial_ATA", resourceCulture); + } + } + + internal static string Device_uses_unknown_transport_with_code_0 { + get { + return ResourceManager.GetString("Device_uses_unknown_transport_with_code_0", resourceCulture); + } + } + + internal static string ATA_IDENTIFY_information_follows { + get { + return ResourceManager.GetString("ATA_IDENTIFY_information_follows", resourceCulture); + } + } + + internal static string Could_not_decode_ATA_IDENTIFY_information { + get { + return ResourceManager.GetString("Could_not_decode_ATA_IDENTIFY_information", resourceCulture); + } + } + + internal static string Quantum_Quantum_Firmware_Build_Information_page { + get { + return ResourceManager.GetString("Quantum_Quantum_Firmware_Build_Information_page", resourceCulture); + } + } + + internal static string Quantum_Servo_firmware_checksum_0 { + get { + return ResourceManager.GetString("Quantum_Servo_firmware_checksum_0", resourceCulture); + } + } + + internal static string Quantum_EEPROM_firmware_checksum_0 { + get { + return ResourceManager.GetString("Quantum_EEPROM_firmware_checksum_0", resourceCulture); + } + } + + internal static string Quantum_Read_write_firmware_checksum_0 { + get { + return ResourceManager.GetString("Quantum_Read_write_firmware_checksum_0", resourceCulture); + } + } + + internal static string Quantum_Read_write_firmware_build_date_0 { + get { + return ResourceManager.GetString("Quantum_Read_write_firmware_build_date_0", resourceCulture); + } + } + + internal static string Certance_Certance_Drive_Component_Revision_Levels_page { + get { + return ResourceManager.GetString("Certance_Certance_Drive_Component_Revision_Levels_page", resourceCulture); + } + } + + internal static string Certance_Component_0 { + get { + return ResourceManager.GetString("Certance_Component_0", resourceCulture); + } + } + + internal static string Certance_Version_0 { + get { + return ResourceManager.GetString("Certance_Version_0", resourceCulture); + } + } + + internal static string Certance_Date_0 { + get { + return ResourceManager.GetString("Certance_Date_0", resourceCulture); + } + } + + internal static string Certance_Variant_0 { + get { + return ResourceManager.GetString("Certance_Variant_0", resourceCulture); + } + } + + internal static string Certance_Certance_Drive_Component_Serial_Number_page { + get { + return ResourceManager.GetString("Certance_Certance_Drive_Component_Serial_Number_page", resourceCulture); + } + } + + internal static string Certance_Head_Assembly_Serial_Number_0 { + get { + return ResourceManager.GetString("Certance_Head_Assembly_Serial_Number_0", resourceCulture); + } + } + + internal static string Certance_Reel_Motor_1_Serial_Number_0 { + get { + return ResourceManager.GetString("Certance_Reel_Motor_1_Serial_Number_0", resourceCulture); + } + } + + internal static string Certance_Reel_Motor_2_Serial_Number_0 { + get { + return ResourceManager.GetString("Certance_Reel_Motor_2_Serial_Number_0", resourceCulture); + } + } + + internal static string Certance_Board_Serial_Number_0 { + get { + return ResourceManager.GetString("Certance_Board_Serial_Number_0", resourceCulture); + } + } + + internal static string Certance_Base_Mechanical_Serial_Number_0 { + get { + return ResourceManager.GetString("Certance_Base_Mechanical_Serial_Number_0", resourceCulture); + } + } + + internal static string Certance_drive_status_page { + get { + return ResourceManager.GetString("Certance_drive_status_page", resourceCulture); + } + } + + internal static string Command_forwarding_is_disabled { + get { + return ResourceManager.GetString("Command_forwarding_is_disabled", resourceCulture); + } + } + + internal static string Command_forwarding_is_enabled { + get { + return ResourceManager.GetString("Command_forwarding_is_enabled", resourceCulture); + } + } + + internal static string Unknown_command_forwarding_code_0 { + get { + return ResourceManager.GetString("Unknown_command_forwarding_code_0", resourceCulture); + } + } + + internal static string Alerts_are_enabled { + get { + return ResourceManager.GetString("Alerts_are_enabled", resourceCulture); + } + } + + internal static string Cartridge_removable_is_prevented { + get { + return ResourceManager.GetString("Cartridge_removable_is_prevented", resourceCulture); + } + } + + internal static string Unit_is_reserved_by_initiator_ID_0 { + get { + return ResourceManager.GetString("Unit_is_reserved_by_initiator_ID_0", resourceCulture); + } + } + + internal static string Device_needs_cleaning_cartridge { + get { + return ResourceManager.GetString("Device_needs_cleaning_cartridge", resourceCulture); + } + } + + internal static string Cartridge_tape_is_threaded { + get { + return ResourceManager.GetString("Cartridge_tape_is_threaded", resourceCulture); + } + } + + internal static string There_are_commands_pending_to_be_forwarded { + get { + return ResourceManager.GetString("There_are_commands_pending_to_be_forwarded", resourceCulture); + } + } + + internal static string Cartridge_will_be_loaded_and_threaded_on_insertion { + get { + return ResourceManager.GetString("Cartridge_will_be_loaded_and_threaded_on_insertion", resourceCulture); + } + } + + internal static string Cartridge_will_be_loaded_but_not_threaded_on_insertion { + get { + return ResourceManager.GetString("Cartridge_will_be_loaded_but_not_threaded_on_insertion", resourceCulture); + } + } + + internal static string Cartridge_will_not_be_loaded { + get { + return ResourceManager.GetString("Cartridge_will_not_be_loaded", resourceCulture); + } + } + + internal static string Unknown_autoloading_mode_code_0 { + get { + return ResourceManager.GetString("Unknown_autoloading_mode_code_0", resourceCulture); + } + } + + internal static string Port_A_link_is_down { + get { + return ResourceManager.GetString("Port_A_link_is_down", resourceCulture); + } + } + + internal static string Port_A_uses_Parallel_SCSI_Ultra_160_interface { + get { + return ResourceManager.GetString("Port_A_uses_Parallel_SCSI_Ultra_160_interface", resourceCulture); + } + } + + internal static string Unknown_port_A_transport_type_code_0 { + get { + return ResourceManager.GetString("Unknown_port_A_transport_type_code_0", resourceCulture); + } + } + + internal static string Drive_responds_to_SCSI_ID_0 { + get { + return ResourceManager.GetString("Drive_responds_to_SCSI_ID_0", resourceCulture); + } + } + + internal static string Drive_has_been_operating_0 { + get { + return ResourceManager.GetString("Drive_has_been_operating_0", resourceCulture); + } + } + + internal static string Inserted_cartridge_is_LTO { + get { + return ResourceManager.GetString("Inserted_cartridge_is_LTO", resourceCulture); + } + } + + internal static string Unknown_cartridge_format_code_0 { + get { + return ResourceManager.GetString("Unknown_cartridge_format_code_0", resourceCulture); + } + } + + internal static string There_is_no_cartridge_inserted { + get { + return ResourceManager.GetString("There_is_no_cartridge_inserted", resourceCulture); + } + } + + internal static string Cleaning_cartridge_inserted { + get { + return ResourceManager.GetString("Cleaning_cartridge_inserted", resourceCulture); + } + } + + internal static string Unknown_data_cartridge_inserted { + get { + return ResourceManager.GetString("Unknown_data_cartridge_inserted", resourceCulture); + } + } + + internal static string Firmware_cartridge_inserted { + get { + return ResourceManager.GetString("Firmware_cartridge_inserted", resourceCulture); + } + } + + internal static string LTO_Ultrium_1_Type_A_cartridge_inserted { + get { + return ResourceManager.GetString("LTO_Ultrium_1_Type_A_cartridge_inserted", resourceCulture); + } + } + + internal static string LTO_Ultrium_1_Type_B_cartridge_inserted { + get { + return ResourceManager.GetString("LTO_Ultrium_1_Type_B_cartridge_inserted", resourceCulture); + } + } + + internal static string LTO_Ultrium_1_Type_C_cartridge_inserted { + get { + return ResourceManager.GetString("LTO_Ultrium_1_Type_C_cartridge_inserted", resourceCulture); + } + } + + internal static string LTO_Ultrium_1_Type_D_cartridge_inserted { + get { + return ResourceManager.GetString("LTO_Ultrium_1_Type_D_cartridge_inserted", resourceCulture); + } + } + + internal static string LTO_Ultrium_2_cartridge_inserted { + get { + return ResourceManager.GetString("LTO_Ultrium_2_cartridge_inserted", resourceCulture); + } + } + + internal static string Unknown_cartridge_type_code_0 { + get { + return ResourceManager.GetString("Unknown_cartridge_type_code_0", resourceCulture); + } + } + + internal static string Cartridge_has_an_uncompressed_capability_of_0_gigabytes { + get { + return ResourceManager.GetString("Cartridge_has_an_uncompressed_capability_of_0_gigabytes", resourceCulture); + } + } + + internal static string Cartridge_serial_number_0 { + get { + return ResourceManager.GetString("Cartridge_serial_number_0", resourceCulture); + } + } + + internal static string IBM_Drive_Component_Revision_Levels_page { + get { + return ResourceManager.GetString("IBM_Drive_Component_Revision_Levels_page", resourceCulture); + } + } + + internal static string Code_name_0 { + get { + return ResourceManager.GetString("Code_name_0", resourceCulture); + } + } + + internal static string IBM_Drive_Serial_Numbers_page { + get { + return ResourceManager.GetString("IBM_Drive_Serial_Numbers_page", resourceCulture); + } + } + + internal static string Manufacturing_serial_number_0 { + get { + return ResourceManager.GetString("Manufacturing_serial_number_0", resourceCulture); + } + } + + internal static string Reported_serial_number_0 { + get { + return ResourceManager.GetString("Reported_serial_number_0", resourceCulture); + } + } + + internal static string SCSI_Sequential_access_Device_Capabilities { + get { + return ResourceManager.GetString("SCSI_Sequential_access_Device_Capabilities", resourceCulture); + } + } + + internal static string Device_supports_WORM_media { + get { + return ResourceManager.GetString("Device_supports_WORM_media", resourceCulture); + } + } + + internal static string Device_supports_Tape_Stream_Mirroring { + get { + return ResourceManager.GetString("Device_supports_Tape_Stream_Mirroring", resourceCulture); + } + } + + internal static string HP_Drive_Firmware_Revision_Levels_page { + get { + return ResourceManager.GetString("HP_Drive_Firmware_Revision_Levels_page", resourceCulture); + } + } + + internal static string HP_Drive_Hardware_Revision_Levels_page { + get { + return ResourceManager.GetString("HP_Drive_Hardware_Revision_Levels_page", resourceCulture); + } + } + + internal static string HP_Drive_PCA_Revision_Levels_page { + get { + return ResourceManager.GetString("HP_Drive_PCA_Revision_Levels_page", resourceCulture); + } + } + + internal static string HP_Drive_Mechanism_Revision_Levels_page { + get { + return ResourceManager.GetString("HP_Drive_Mechanism_Revision_Levels_page", resourceCulture); + } + } + + internal static string HP_Drive_Head_Assembly_Revision_Levels_page { + get { + return ResourceManager.GetString("HP_Drive_Head_Assembly_Revision_Levels_page", resourceCulture); + } + } + + internal static string HP_Drive_ACI_Revision_Levels_page { + get { + return ResourceManager.GetString("HP_Drive_ACI_Revision_Levels_page", resourceCulture); + } + } + + internal static string Copyright_0 { + get { + return ResourceManager.GetString("Copyright_0", resourceCulture); + } + } + + internal static string Seagate_Firmware_Numbers_page { + get { + return ResourceManager.GetString("Seagate_Firmware_Numbers_page", resourceCulture); + } + } + + internal static string Controller_firmware_version_0 { + get { + return ResourceManager.GetString("Controller_firmware_version_0", resourceCulture); + } + } + + internal static string Boot_firmware_version_0 { + get { + return ResourceManager.GetString("Boot_firmware_version_0", resourceCulture); + } + } + + internal static string Servo_firmware_version_0 { + get { + return ResourceManager.GetString("Servo_firmware_version_0", resourceCulture); + } + } + + internal static string Error_class_0_type_1_happened_on_block_2 { + get { + return ResourceManager.GetString("Error_class_0_type_1_happened_on_block_2", resourceCulture); + } + } + + internal static string Error_class_0_type_1 { + get { + return ResourceManager.GetString("Error_class_0_type_1", resourceCulture); + } + } + + internal static string SCSI_SENSE_0 { + get { + return ResourceManager.GetString("SCSI_SENSE_0", resourceCulture); + } + } + + internal static string On_segment_0 { + get { + return ResourceManager.GetString("On_segment_0", resourceCulture); + } + } + + internal static string Filemark_or_setmark_found { + get { + return ResourceManager.GetString("Filemark_or_setmark_found", resourceCulture); + } + } + + internal static string End_of_medium_partition_found { + get { + return ResourceManager.GetString("End_of_medium_partition_found", resourceCulture); + } + } + + internal static string Incorrect_length_indicator { + get { + return ResourceManager.GetString("Incorrect_length_indicator", resourceCulture); + } + } + + internal static string On_logical_block_0 { + get { + return ResourceManager.GetString("On_logical_block_0", resourceCulture); + } + } + + internal static string Illegal_field_in_CDB { + get { + return ResourceManager.GetString("Illegal_field_in_CDB", resourceCulture); + } + } + + internal static string Illegal_field_in_data_parameters { + get { + return ResourceManager.GetString("Illegal_field_in_data_parameters", resourceCulture); + } + } + + internal static string Invalid_value_in_bit_0_in_field_1_of_CDB { + get { + return ResourceManager.GetString("Invalid_value_in_bit_0_in_field_1_of_CDB", resourceCulture); + } + } + + internal static string Invalid_value_in_field_0_of_CDB { + get { + return ResourceManager.GetString("Invalid_value_in_field_0_of_CDB", resourceCulture); + } + } + + internal static string Format_progress_0 { + get { + return ResourceManager.GetString("Format_progress_0", resourceCulture); + } + } + + internal static string Actual_retry_count_is_0 { + get { + return ResourceManager.GetString("Actual_retry_count_is_0", resourceCulture); + } + } + + internal static string Sense_PrettifyDescriptor00_On_logical_block_0 { + get { + return ResourceManager.GetString("Sense_PrettifyDescriptor00_On_logical_block_0", resourceCulture); + } + } + + internal static string VENDOR_SPECIFIC_ASC_0_WITH_VENDOR_SPECIFIC_ASCQ_1 { + get { + return ResourceManager.GetString("VENDOR_SPECIFIC_ASC_0_WITH_VENDOR_SPECIFIC_ASCQ_1", resourceCulture); + } + } + + internal static string VENDOR_SPECIFIC_ASC_0_WITH_ASCQ_1 { + get { + return ResourceManager.GetString("VENDOR_SPECIFIC_ASC_0_WITH_ASCQ_1", resourceCulture); + } + } + + internal static string ASC_0_WITH_VENDOR_SPECIFIC_ASCQ_1 { + get { + return ResourceManager.GetString("ASC_0_WITH_VENDOR_SPECIFIC_ASCQ_1", resourceCulture); + } + } + + internal static string ASC_0_WITH_ASCQ_1 { + get { + return ResourceManager.GetString("ASC_0_WITH_ASCQ_1", resourceCulture); + } + } + + internal static string SecureDigital_Device_Identification_Register { + get { + return ResourceManager.GetString("SecureDigital_Device_Identification_Register", resourceCulture); + } + } + + internal static string SecureDigital_Device_Specific_Data_Register { + get { + return ResourceManager.GetString("SecureDigital_Device_Specific_Data_Register", resourceCulture); + } + } + + internal static string Register_version_2_0 { + get { + return ResourceManager.GetString("Register_version_2_0", resourceCulture); + } + } + + internal static string Asynchronous_data_access_time_is_0_1 { + get { + return ResourceManager.GetString("Asynchronous_data_access_time_is_0_1", resourceCulture); + } + } + + internal static string Clock_dependent_part_of_data_access_is_0_clock_cycles { + get { + return ResourceManager.GetString("Clock_dependent_part_of_data_access_is_0_clock_cycles", resourceCulture); + } + } + + internal static string MBit_s { + get { + return ResourceManager.GetString("MBit_s", resourceCulture); + } + } + + internal static string Device_transfer_speed_0_1 { + get { + return ResourceManager.GetString("Device_transfer_speed_0_1", resourceCulture); + } + } + + internal static string Device_support_command_classes_0 { + get { + return ResourceManager.GetString("Device_support_command_classes_0", resourceCulture); + } + } + + internal static string Read_block_length_is_0_bytes { + get { + return ResourceManager.GetString("Read_block_length_is_0_bytes", resourceCulture); + } + } + + internal static string Device_allows_reading_partial_blocks { + get { + return ResourceManager.GetString("Device_allows_reading_partial_blocks", resourceCulture); + } + } + + internal static string Write_commands_can_cross_physical_block_boundaries { + get { + return ResourceManager.GetString("Write_commands_can_cross_physical_block_boundaries", resourceCulture); + } + } + + internal static string Read_commands_can_cross_physical_block_boundaries { + get { + return ResourceManager.GetString("Read_commands_can_cross_physical_block_boundaries", resourceCulture); + } + } + + internal static string Device_implements_configurable_driver_stage { + get { + return ResourceManager.GetString("Device_implements_configurable_driver_stage", resourceCulture); + } + } + + internal static string Device_has_0_TiB { + get { + return ResourceManager.GetString("Device_has_0_TiB", resourceCulture); + } + } + + internal static string Device_can_erase_multiple_blocks { + get { + return ResourceManager.GetString("Device_can_erase_multiple_blocks", resourceCulture); + } + } + + internal static string Device_must_erase_a_minimum_of_0_blocks_at_a_time { + get { + return ResourceManager.GetString("Device_must_erase_a_minimum_of_0_blocks_at_a_time", resourceCulture); + } + } + + internal static string SecureDigital_Operation_Conditions_Register { + get { + return ResourceManager.GetString("SecureDigital_Operation_Conditions_Register", resourceCulture); + } + } + + internal static string Device_is_SDHC_SDXC_or_higher { + get { + return ResourceManager.GetString("Device_is_SDHC_SDXC_or_higher", resourceCulture); + } + } + + internal static string Device_is_UHS_II_or_higher { + get { + return ResourceManager.GetString("Device_is_UHS_II_or_higher", resourceCulture); + } + } + + internal static string Device_can_switch_to_work_with_1_8V_supply { + get { + return ResourceManager.GetString("Device_can_switch_to_work_with_1_8V_supply", resourceCulture); + } + } + + internal static string Device_is_in_low_power_mode { + get { + return ResourceManager.GetString("Device_is_in_low_power_mode", resourceCulture); + } + } + + internal static string SecureDigital_Device_Configuration_Register { + get { + return ResourceManager.GetString("SecureDigital_Device_Configuration_Register", resourceCulture); + } + } + + internal static string Unknown_register_version_0 { + get { + return ResourceManager.GetString("Unknown_register_version_0", resourceCulture); + } + } + + internal static string Device_follows_SecureDigital_Physical_Layer_Specification_version_1_0x { + get { + return ResourceManager.GetString("Device_follows_SecureDigital_Physical_Layer_Specification_version_1_0x", resourceCulture); + } + } + + internal static string Device_follows_SecureDigital_Physical_Layer_Specification_version_1_10 { + get { + return ResourceManager.GetString("Device_follows_SecureDigital_Physical_Layer_Specification_version_1_10", resourceCulture); + } + } + + internal static string Device_follows_SecureDigital_Physical_Layer_Specification_version_2_00 { + get { + return ResourceManager.GetString("Device_follows_SecureDigital_Physical_Layer_Specification_version_2_00", resourceCulture); + } + } + + internal static string Device_follows_SecureDigital_Physical_Layer_Specification_version_3_0x { + get { + return ResourceManager.GetString("Device_follows_SecureDigital_Physical_Layer_Specification_version_3_0x", resourceCulture); + } + } + + internal static string Device_follows_SecureDigital_Physical_Layer_Specification_version_4_xx { + get { + return ResourceManager.GetString("Device_follows_SecureDigital_Physical_Layer_Specification_version_4_xx", resourceCulture); + } + } + + internal static string Device_follows_SecureDigital_Physical_Layer_Specification_version_5_xx { + get { + return ResourceManager.GetString("Device_follows_SecureDigital_Physical_Layer_Specification_version_5_xx", resourceCulture); + } + } + + internal static string Device_follows_SecureDigital_Physical_Layer_Specification_version_6_xx { + get { + return ResourceManager.GetString("Device_follows_SecureDigital_Physical_Layer_Specification_version_6_xx", resourceCulture); + } + } + + internal static string Device_follows_SecureDigital_Physical_Layer_Specification_version_7_xx { + get { + return ResourceManager.GetString("Device_follows_SecureDigital_Physical_Layer_Specification_version_7_xx", resourceCulture); + } + } + + internal static string Device_follows_SecureDigital_Physical_Layer_Specification_version_8_xx { + get { + return ResourceManager.GetString("Device_follows_SecureDigital_Physical_Layer_Specification_version_8_xx", resourceCulture); + } + } + + internal static string Device_follows_SecureDigital_Physical_Layer_Specification_with_unknown_version_0_1_2_3 { + get { + return ResourceManager.GetString("Device_follows_SecureDigital_Physical_Layer_Specification_with_unknown_version_0_" + + "1_2_3", resourceCulture); + } + } + + internal static string Device_does_not_support_CPRM { + get { + return ResourceManager.GetString("Device_does_not_support_CPRM", resourceCulture); + } + } + + internal static string Device_does_not_use_CPRM { + get { + return ResourceManager.GetString("Device_does_not_use_CPRM", resourceCulture); + } + } + + internal static string Device_uses_CPRM_according_to_specification_version_1_01 { + get { + return ResourceManager.GetString("Device_uses_CPRM_according_to_specification_version_1_01", resourceCulture); + } + } + + internal static string Device_uses_CPRM_according_to_specification_version_2_00 { + get { + return ResourceManager.GetString("Device_uses_CPRM_according_to_specification_version_2_00", resourceCulture); + } + } + + internal static string Device_uses_CPRM_according_to_specification_version_3_xx { + get { + return ResourceManager.GetString("Device_uses_CPRM_according_to_specification_version_3_xx", resourceCulture); + } + } + + internal static string Device_uses_unknown_CPRM_specification_with_code_0 { + get { + return ResourceManager.GetString("Device_uses_unknown_CPRM_specification_with_code_0", resourceCulture); + } + } + + internal static string Device_supports_1_bit_data_bus { + get { + return ResourceManager.GetString("Device_supports_1_bit_data_bus", resourceCulture); + } + } + + internal static string Device_supports_4_bit_data_bus { + get { + return ResourceManager.GetString("Device_supports_4_bit_data_bus", resourceCulture); + } + } + + internal static string Device_supports_extended_security { + get { + return ResourceManager.GetString("Device_supports_extended_security", resourceCulture); + } + } + + internal static string Device_supports_extension_register_multi_block_commands { + get { + return ResourceManager.GetString("Device_supports_extension_register_multi_block_commands", resourceCulture); + } + } + + internal static string Device_supports_extension_register_single_block_commands { + get { + return ResourceManager.GetString("Device_supports_extension_register_single_block_commands", resourceCulture); + } + } + + internal static string Device_supports_set_block_count_command { + get { + return ResourceManager.GetString("Device_supports_set_block_count_command", resourceCulture); + } + } + + internal static string Device_supports_speed_class_control_command { + get { + return ResourceManager.GetString("Device_supports_speed_class_control_command", resourceCulture); + } + } + + internal static string SEGA_IP_BIN_INFORMATION { + get { + return ResourceManager.GetString("SEGA_IP_BIN_INFORMATION", resourceCulture); + } + } + + internal static string System_name_0 { + get { + return ResourceManager.GetString("System_name_0", resourceCulture); + } + } + + internal static string Initial_program_address_0 { + get { + return ResourceManager.GetString("Initial_program_address_0", resourceCulture); + } + } + + internal static string Initial_program_load_size_0 { + get { + return ResourceManager.GetString("Initial_program_load_size_0", resourceCulture); + } + } + + internal static string Initial_program_entry_address_0 { + get { + return ResourceManager.GetString("Initial_program_entry_address_0", resourceCulture); + } + } + + internal static string Initial_program_work_RAM_0 { + get { + return ResourceManager.GetString("Initial_program_work_RAM_0", resourceCulture); + } + } + + internal static string System_program_address_0 { + get { + return ResourceManager.GetString("System_program_address_0", resourceCulture); + } + } + + internal static string System_program_load_size_0 { + get { + return ResourceManager.GetString("System_program_load_size_0", resourceCulture); + } + } + + internal static string System_program_entry_address_0 { + get { + return ResourceManager.GetString("System_program_entry_address_0", resourceCulture); + } + } + + internal static string System_program_work_RAM_0 { + get { + return ResourceManager.GetString("System_program_work_RAM_0", resourceCulture); + } + } + + internal static string Release_date_0 { + get { + return ResourceManager.GetString("Release_date_0", resourceCulture); + } + } + + internal static string Hardware_ID_0 { + get { + return ResourceManager.GetString("Hardware_ID_0", resourceCulture); + } + } + + internal static string Developer_code_0 { + get { + return ResourceManager.GetString("Developer_code_0", resourceCulture); + } + } + + internal static string Domestic_title_0 { + get { + return ResourceManager.GetString("Domestic_title_0", resourceCulture); + } + } + + internal static string Overseas_title_0 { + get { + return ResourceManager.GetString("Overseas_title_0", resourceCulture); + } + } + + internal static string Product_code_0 { + get { + return ResourceManager.GetString("Product_code_0", resourceCulture); + } + } + + internal static string Peripherals { + get { + return ResourceManager.GetString("Peripherals", resourceCulture); + } + } + + internal static string Game_supports_analog_controller { + get { + return ResourceManager.GetString("Game_supports_analog_controller", resourceCulture); + } + } + + internal static string Game_supports_trackball { + get { + return ResourceManager.GetString("Game_supports_trackball", resourceCulture); + } + } + + internal static string Game_supports_light_gun { + get { + return ResourceManager.GetString("Game_supports_light_gun", resourceCulture); + } + } + + internal static string Game_supports_JoyPad { + get { + return ResourceManager.GetString("Game_supports_JoyPad", resourceCulture); + } + } + + internal static string Game_supports_Master_System_JoyPad { + get { + return ResourceManager.GetString("Game_supports_Master_System_JoyPad", resourceCulture); + } + } + + internal static string Game_supports_printer_interface { + get { + return ResourceManager.GetString("Game_supports_printer_interface", resourceCulture); + } + } + + internal static string Game_supports_serial_RS_232C_interface { + get { + return ResourceManager.GetString("Game_supports_serial_RS_232C_interface", resourceCulture); + } + } + + internal static string Game_supports_tablet_interface { + get { + return ResourceManager.GetString("Game_supports_tablet_interface", resourceCulture); + } + } + + internal static string Game_supports_paddle_controller { + get { + return ResourceManager.GetString("Game_supports_paddle_controller", resourceCulture); + } + } + + internal static string Game_supports_unknown_peripheral_0 { + get { + return ResourceManager.GetString("Game_supports_unknown_peripheral_0", resourceCulture); + } + } + + internal static string Regions_supported { + get { + return ResourceManager.GetString("Regions_supported", resourceCulture); + } + } + + internal static string Japanese_NTSC { + get { + return ResourceManager.GetString("Japanese_NTSC", resourceCulture); + } + } + + internal static string USA_NTSC { + get { + return ResourceManager.GetString("USA_NTSC", resourceCulture); + } + } + + internal static string Europe_PAL { + get { + return ResourceManager.GetString("Europe_PAL", resourceCulture); + } + } + + internal static string Game_supports_unknown_region_0 { + get { + return ResourceManager.GetString("Game_supports_unknown_region_0", resourceCulture); + } + } + + internal static string Product_name_0 { + get { + return ResourceManager.GetString("Product_name_0", resourceCulture); + } + } + + internal static string Product_version_0 { + get { + return ResourceManager.GetString("Product_version_0", resourceCulture); + } + } + + internal static string Product_CRC_0 { + get { + return ResourceManager.GetString("Product_CRC_0", resourceCulture); + } + } + + internal static string Producer_0 { + get { + return ResourceManager.GetString("Producer_0", resourceCulture); + } + } + + internal static string Disc_media_0 { + get { + return ResourceManager.GetString("Disc_media_0", resourceCulture); + } + } + + internal static string Disc_number_0_of_1 { + get { + return ResourceManager.GetString("Disc_number_0_of_1", resourceCulture); + } + } + + internal static string Disc_boots_natively { + get { + return ResourceManager.GetString("Disc_boots_natively", resourceCulture); + } + } + + internal static string Disc_boots_using_Windows_CE { + get { + return ResourceManager.GetString("Disc_boots_using_Windows_CE", resourceCulture); + } + } + + internal static string Disc_boots_using_unknown_loader_0 { + get { + return ResourceManager.GetString("Disc_boots_using_unknown_loader_0", resourceCulture); + } + } + + internal static string North_America_NTSC { + get { + return ResourceManager.GetString("North_America_NTSC", resourceCulture); + } + } + + internal static string Game_uses_Windows_CE { + get { + return ResourceManager.GetString("Game_uses_Windows_CE", resourceCulture); + } + } + + internal static string Game_supports_the_VGA_Box { + get { + return ResourceManager.GetString("Game_supports_the_VGA_Box", resourceCulture); + } + } + + internal static string Game_supports_other_expansion { + get { + return ResourceManager.GetString("Game_supports_other_expansion", resourceCulture); + } + } + + internal static string Game_supports_Puru_Puru_pack { + get { + return ResourceManager.GetString("Game_supports_Puru_Puru_pack", resourceCulture); + } + } + + internal static string Game_supports_Mike_Device { + get { + return ResourceManager.GetString("Game_supports_Mike_Device", resourceCulture); + } + } + + internal static string Game_supports_Memory_Card { + get { + return ResourceManager.GetString("Game_supports_Memory_Card", resourceCulture); + } + } + + internal static string Game_requires_A_B_Start_buttons_and_D_Pad { + get { + return ResourceManager.GetString("Game_requires_A_B_Start_buttons_and_D_Pad", resourceCulture); + } + } + + internal static string Game_requires_C_button { + get { + return ResourceManager.GetString("Game_requires_C_button", resourceCulture); + } + } + + internal static string Game_requires_D_button { + get { + return ResourceManager.GetString("Game_requires_D_button", resourceCulture); + } + } + + internal static string Game_requires_X_button { + get { + return ResourceManager.GetString("Game_requires_X_button", resourceCulture); + } + } + + internal static string Game_requires_Y_button { + get { + return ResourceManager.GetString("Game_requires_Y_button", resourceCulture); + } + } + + internal static string Game_requires_Z_button { + get { + return ResourceManager.GetString("Game_requires_Z_button", resourceCulture); + } + } + + internal static string Game_requires_expanded_direction_buttons { + get { + return ResourceManager.GetString("Game_requires_expanded_direction_buttons", resourceCulture); + } + } + + internal static string Game_requires_analog_R_trigger { + get { + return ResourceManager.GetString("Game_requires_analog_R_trigger", resourceCulture); + } + } + + internal static string Game_requires_analog_L_trigger { + get { + return ResourceManager.GetString("Game_requires_analog_L_trigger", resourceCulture); + } + } + + internal static string Game_requires_analog_horizontal_controller { + get { + return ResourceManager.GetString("Game_requires_analog_horizontal_controller", resourceCulture); + } + } + + internal static string Game_requires_analog_vertical_controller { + get { + return ResourceManager.GetString("Game_requires_analog_vertical_controller", resourceCulture); + } + } + + internal static string Game_requires_expanded_analog_horizontal_controller { + get { + return ResourceManager.GetString("Game_requires_expanded_analog_horizontal_controller", resourceCulture); + } + } + + internal static string Game_requires_expanded_analog_vertical_controller { + get { + return ResourceManager.GetString("Game_requires_expanded_analog_vertical_controller", resourceCulture); + } + } + + internal static string Game_supports_Gun { + get { + return ResourceManager.GetString("Game_supports_Gun", resourceCulture); + } + } + + internal static string Game_supports_keyboard { + get { + return ResourceManager.GetString("Game_supports_keyboard", resourceCulture); + } + } + + internal static string Game_supports_mouse { + get { + return ResourceManager.GetString("Game_supports_mouse", resourceCulture); + } + } + + internal static string Game_supports_unknown_peripherals_mask_0 { + get { + return ResourceManager.GetString("Game_supports_unknown_peripherals_mask_0", resourceCulture); + } + } + + internal static string Game_supports_analog_steering_controller { + get { + return ResourceManager.GetString("Game_supports_analog_steering_controller", resourceCulture); + } + } + + internal static string Game_supports_multitap { + get { + return ResourceManager.GetString("Game_supports_multitap", resourceCulture); + } + } + + internal static string Asia_NTSC { + get { + return ResourceManager.GetString("Asia_NTSC", resourceCulture); + } + } + + internal static string Catalogue_number { + get { + return ResourceManager.GetString("Catalogue_number", resourceCulture); + } + } + + internal static string Timestamp_0 { + get { + return ResourceManager.GetString("Timestamp_0", resourceCulture); + } + } + + internal static string Media_ID { + get { + return ResourceManager.GetString("Media_ID", resourceCulture); + } + } + + internal static string Xbox_Game_Disc { + get { + return ResourceManager.GetString("Xbox_Game_Disc", resourceCulture); + } + } + + internal static string Xbox_360_Game_Disc { + get { + return ResourceManager.GetString("Xbox_360_Game_Disc", resourceCulture); + } + } + + internal static string Challenge_ID_0 { + get { + return ResourceManager.GetString("Challenge_ID_0", resourceCulture); + } + } + + internal static string Challenge_level_0 { + get { + return ResourceManager.GetString("Challenge_level_0", resourceCulture); + } + } + + internal static string Challenge_value_0 { + get { + return ResourceManager.GetString("Challenge_value_0", resourceCulture); + } + } + + internal static string Response_modifier_0 { + get { + return ResourceManager.GetString("Response_modifier_0", resourceCulture); + } + } + + internal static string Response_value_0 { + get { + return ResourceManager.GetString("Response_value_0", resourceCulture); + } + } + + internal static string Extent_starts_at_PSN_0_and_ends_at_PSN_1 { + get { + return ResourceManager.GetString("Extent_starts_at_PSN_0_and_ends_at_PSN_1", resourceCulture); + } + } + + internal static string Device_vendor_0 { + get { + return ResourceManager.GetString("Device_vendor_0", resourceCulture); + } + } + + internal static string Device_name_0 { + get { + return ResourceManager.GetString("Device_name_0", resourceCulture); + } + } + + internal static string Device_release_level_0 { + get { + return ResourceManager.GetString("Device_release_level_0", resourceCulture); + } + } + + internal static string Device_is_connected_and_supported { + get { + return ResourceManager.GetString("Device_is_connected_and_supported", resourceCulture); + } + } + + internal static string Device_is_supported_but_not_connected { + get { + return ResourceManager.GetString("Device_is_supported_but_not_connected", resourceCulture); + } + } + + internal static string Reserved_value_set_in_Peripheral_Qualifier_field { + get { + return ResourceManager.GetString("Reserved_value_set_in_Peripheral_Qualifier_field", resourceCulture); + } + } + + internal static string Device_is_connected_but_unsupported { + get { + return ResourceManager.GetString("Device_is_connected_but_unsupported", resourceCulture); + } + } + + internal static string Vendor_value_0_set_in_Peripheral_Qualifier_field { + get { + return ResourceManager.GetString("Vendor_value_0_set_in_Peripheral_Qualifier_field", resourceCulture); + } + } + + internal static string Direct_access_device { + get { + return ResourceManager.GetString("Direct_access_device", resourceCulture); + } + } + + internal static string Sequential_access_device { + get { + return ResourceManager.GetString("Sequential_access_device", resourceCulture); + } + } + + internal static string Printer_device { + get { + return ResourceManager.GetString("Printer_device", resourceCulture); + } + } + + internal static string Processor_device { + get { + return ResourceManager.GetString("Processor_device", resourceCulture); + } + } + + internal static string Write_once_device { + get { + return ResourceManager.GetString("Write_once_device", resourceCulture); + } + } + + internal static string CD_ROM_DVD_etc_device { + get { + return ResourceManager.GetString("CD_ROM_DVD_etc_device", resourceCulture); + } + } + + internal static string Scanner_device { + get { + return ResourceManager.GetString("Scanner_device", resourceCulture); + } + } + + internal static string Optical_memory_device { + get { + return ResourceManager.GetString("Optical_memory_device", resourceCulture); + } + } + + internal static string Medium_change_device { + get { + return ResourceManager.GetString("Medium_change_device", resourceCulture); + } + } + + internal static string Communications_device { + get { + return ResourceManager.GetString("Communications_device", resourceCulture); + } + } + + internal static string Graphics_arts_pre_press_device_defined_in_ASC_IT8 { + get { + return ResourceManager.GetString("Graphics_arts_pre_press_device_defined_in_ASC_IT8", resourceCulture); + } + } + + internal static string Array_controller_device { + get { + return ResourceManager.GetString("Array_controller_device", resourceCulture); + } + } + + internal static string Enclosure_services_device { + get { + return ResourceManager.GetString("Enclosure_services_device", resourceCulture); + } + } + + internal static string Simplified_direct_access_device { + get { + return ResourceManager.GetString("Simplified_direct_access_device", resourceCulture); + } + } + + internal static string Optical_card_reader_writer_device { + get { + return ResourceManager.GetString("Optical_card_reader_writer_device", resourceCulture); + } + } + + internal static string Bridging_Expanders { + get { + return ResourceManager.GetString("Bridging_Expanders", resourceCulture); + } + } + + internal static string Object_based_Storage_Device { + get { + return ResourceManager.GetString("Object_based_Storage_Device", resourceCulture); + } + } + + internal static string Automation_Drive_Interface { + get { + return ResourceManager.GetString("Automation_Drive_Interface", resourceCulture); + } + } + + internal static string Security_Manager_Device { + get { + return ResourceManager.GetString("Security_Manager_Device", resourceCulture); + } + } + + internal static string Host_managed_zoned_block_device { + get { + return ResourceManager.GetString("Host_managed_zoned_block_device", resourceCulture); + } + } + + internal static string Well_known_logical_unit { + get { + return ResourceManager.GetString("Well_known_logical_unit", resourceCulture); + } + } + + internal static string Unknown_or_no_device_type { + get { + return ResourceManager.GetString("Unknown_or_no_device_type", resourceCulture); + } + } + + internal static string Unknown_device_type_field_value_0 { + get { + return ResourceManager.GetString("Unknown_device_type_field_value_0", resourceCulture); + } + } + + internal static string Device_does_not_claim_to_comply_with_any_SCSI_ANSI_standard { + get { + return ResourceManager.GetString("Device_does_not_claim_to_comply_with_any_SCSI_ANSI_standard", resourceCulture); + } + } + + internal static string Device_claims_to_comply_with_ANSI_X3_131_1986_SCSI_1 { + get { + return ResourceManager.GetString("Device_claims_to_comply_with_ANSI_X3_131_1986_SCSI_1", resourceCulture); + } + } + + internal static string Device_claims_to_comply_with_ANSI_X3_131_1994_SCSI_2 { + get { + return ResourceManager.GetString("Device_claims_to_comply_with_ANSI_X3_131_1994_SCSI_2", resourceCulture); + } + } + + internal static string Device_claims_to_comply_with_ANSI_X3_301_1997_SPC_1 { + get { + return ResourceManager.GetString("Device_claims_to_comply_with_ANSI_X3_301_1997_SPC_1", resourceCulture); + } + } + + internal static string Device_claims_to_comply_with_ANSI_X3_351_2001_SPC_2 { + get { + return ResourceManager.GetString("Device_claims_to_comply_with_ANSI_X3_351_2001_SPC_2", resourceCulture); + } + } + + internal static string Device_claims_to_comply_with_ANSI_X3_408_2005_SPC_3 { + get { + return ResourceManager.GetString("Device_claims_to_comply_with_ANSI_X3_408_2005_SPC_3", resourceCulture); + } + } + + internal static string Device_claims_to_comply_with_ANSI_X3_408_2005_SPC_4 { + get { + return ResourceManager.GetString("Device_claims_to_comply_with_ANSI_X3_408_2005_SPC_4", resourceCulture); + } + } + + internal static string Device_claims_to_comply_with_unknown_SCSI_ANSI_standard_value_0 { + get { + return ResourceManager.GetString("Device_claims_to_comply_with_unknown_SCSI_ANSI_standard_value_0", resourceCulture); + } + } + + internal static string Device_does_not_claim_to_comply_with_any_SCSI_ECMA_standard { + get { + return ResourceManager.GetString("Device_does_not_claim_to_comply_with_any_SCSI_ECMA_standard", resourceCulture); + } + } + + internal static string Device_claims_to_comply_ECMA_111_Small_Computer_System_Interface_SCSI { + get { + return ResourceManager.GetString("Device_claims_to_comply_ECMA_111_Small_Computer_System_Interface_SCSI", resourceCulture); + } + } + + internal static string Device_claims_to_comply_with_unknown_SCSI_ECMA_standard_value_0 { + get { + return ResourceManager.GetString("Device_claims_to_comply_with_unknown_SCSI_ECMA_standard_value_0", resourceCulture); + } + } + + internal static string Device_does_not_claim_to_comply_with_any_SCSI_ISO_IEC_standard { + get { + return ResourceManager.GetString("Device_does_not_claim_to_comply_with_any_SCSI_ISO_IEC_standard", resourceCulture); + } + } + + internal static string Device_claims_to_comply_with_ISO_IEC_9316_1995 { + get { + return ResourceManager.GetString("Device_claims_to_comply_with_ISO_IEC_9316_1995", resourceCulture); + } + } + + internal static string Device_claims_to_comply_with_unknown_SCSI_ISO_IEC_standard_value_0 { + get { + return ResourceManager.GetString("Device_claims_to_comply_with_unknown_SCSI_ISO_IEC_standard_value_0", resourceCulture); + } + } + + internal static string Device_supports_Asynchronous_Event_Reporting_Capability { + get { + return ResourceManager.GetString("Device_supports_Asynchronous_Event_Reporting_Capability", resourceCulture); + } + } + + internal static string Device_supports_TERMINATE_TASK_command { + get { + return ResourceManager.GetString("Device_supports_TERMINATE_TASK_command", resourceCulture); + } + } + + internal static string Device_supports_setting_Normal_ACA { + get { + return ResourceManager.GetString("Device_supports_setting_Normal_ACA", resourceCulture); + } + } + + internal static string Device_supports_LUN_hierarchical_addressing { + get { + return ResourceManager.GetString("Device_supports_LUN_hierarchical_addressing", resourceCulture); + } + } + + internal static string Device_contains_an_embedded_storage_array_controller { + get { + return ResourceManager.GetString("Device_contains_an_embedded_storage_array_controller", resourceCulture); + } + } + + internal static string Device_contains_an_Access_Control_Coordinator { + get { + return ResourceManager.GetString("Device_contains_an_Access_Control_Coordinator", resourceCulture); + } + } + + internal static string Device_supports_third_party_copy_commands { + get { + return ResourceManager.GetString("Device_supports_third_party_copy_commands", resourceCulture); + } + } + + internal static string Device_supports_protection_information { + get { + return ResourceManager.GetString("Device_supports_protection_information", resourceCulture); + } + } + + internal static string Device_supports_basic_queueing { + get { + return ResourceManager.GetString("Device_supports_basic_queueing", resourceCulture); + } + } + + internal static string Device_contains_an_embedded_enclosure_services_component { + get { + return ResourceManager.GetString("Device_contains_an_embedded_enclosure_services_component", resourceCulture); + } + } + + internal static string Multi_port_device { + get { + return ResourceManager.GetString("Multi_port_device", resourceCulture); + } + } + + internal static string Device_contains_or_is_attached_to_a_medium_changer { + get { + return ResourceManager.GetString("Device_contains_or_is_attached_to_a_medium_changer", resourceCulture); + } + } + + internal static string Device_supports_request_and_acknowledge_handshakes { + get { + return ResourceManager.GetString("Device_supports_request_and_acknowledge_handshakes", resourceCulture); + } + } + + internal static string Device_supports_32_bit_wide_SCSI_addresses { + get { + return ResourceManager.GetString("Device_supports_32_bit_wide_SCSI_addresses", resourceCulture); + } + } + + internal static string Device_supports_16_bit_wide_SCSI_addresses { + get { + return ResourceManager.GetString("Device_supports_16_bit_wide_SCSI_addresses", resourceCulture); + } + } + + internal static string Device_supports_relative_addressing { + get { + return ResourceManager.GetString("Device_supports_relative_addressing", resourceCulture); + } + } + + internal static string Device_supports_32_bit_wide_data_transfers { + get { + return ResourceManager.GetString("Device_supports_32_bit_wide_data_transfers", resourceCulture); + } + } + + internal static string Device_supports_16_bit_wide_data_transfers { + get { + return ResourceManager.GetString("Device_supports_16_bit_wide_data_transfers", resourceCulture); + } + } + + internal static string Device_supports_synchronous_data_transfer { + get { + return ResourceManager.GetString("Device_supports_synchronous_data_transfer", resourceCulture); + } + } + + internal static string Device_supports_linked_commands { + get { + return ResourceManager.GetString("Device_supports_linked_commands", resourceCulture); + } + } + + internal static string Device_supports_CONTINUE_TASK_and_TARGET_TRANSFER_DISABLE_commands { + get { + return ResourceManager.GetString("Device_supports_CONTINUE_TASK_and_TARGET_TRANSFER_DISABLE_commands", resourceCulture); + } + } + + internal static string Device_supports_Quick_Arbitration_and_Selection { + get { + return ResourceManager.GetString("Device_supports_Quick_Arbitration_and_Selection", resourceCulture); + } + } + + internal static string Device_supports_TCQ_queue { + get { + return ResourceManager.GetString("Device_supports_TCQ_queue", resourceCulture); + } + } + + internal static string Device_supports_information_unit_transfers { + get { + return ResourceManager.GetString("Device_supports_information_unit_transfers", resourceCulture); + } + } + + internal static string Device_implements_RESET_as_a_soft_reset { + get { + return ResourceManager.GetString("Device_implements_RESET_as_a_soft_reset", resourceCulture); + } + } + + internal static string Vendor_specific_bit_5_on_byte_6_of_INQUIRY_response_is_set { + get { + return ResourceManager.GetString("Vendor_specific_bit_5_on_byte_6_of_INQUIRY_response_is_set", resourceCulture); + } + } + + internal static string Device_does_not_support_asymmetrical_access { + get { + return ResourceManager.GetString("Device_does_not_support_asymmetrical_access", resourceCulture); + } + } + + internal static string Device_only_supports_implicit_asymmetrical_access { + get { + return ResourceManager.GetString("Device_only_supports_implicit_asymmetrical_access", resourceCulture); + } + } + + internal static string Device_only_supports_explicit_asymmetrical_access { + get { + return ResourceManager.GetString("Device_only_supports_explicit_asymmetrical_access", resourceCulture); + } + } + + internal static string Device_supports_implicit_and_explicit_asymmetrical_access { + get { + return ResourceManager.GetString("Device_supports_implicit_and_explicit_asymmetrical_access", resourceCulture); + } + } + + internal static string Unknown_value_in_TPGS_field_0 { + get { + return ResourceManager.GetString("Unknown_value_in_TPGS_field_0", resourceCulture); + } + } + + internal static string Device_supports_only_ST_clocking { + get { + return ResourceManager.GetString("Device_supports_only_ST_clocking", resourceCulture); + } + } + + internal static string Device_supports_only_DT_clocking { + get { + return ResourceManager.GetString("Device_supports_only_DT_clocking", resourceCulture); + } + } + + internal static string Reserved_value_0x02_found_in_SPI_clocking_field { + get { + return ResourceManager.GetString("Reserved_value_0x02_found_in_SPI_clocking_field", resourceCulture); + } + } + + internal static string Device_supports_ST_and_DT_clocking { + get { + return ResourceManager.GetString("Device_supports_ST_and_DT_clocking", resourceCulture); + } + } + + internal static string Unknown_value_in_SPI_clocking_field_0 { + get { + return ResourceManager.GetString("Unknown_value_in_SPI_clocking_field_0", resourceCulture); + } + } + + internal static string Device_complies_with_SAM_no_version_claimed { + get { + return ResourceManager.GetString("Device_complies_with_SAM_no_version_claimed", resourceCulture); + } + } + + internal static string Device_complies_with_SAM_T10_0994_D_revision_18 { + get { + return ResourceManager.GetString("Device_complies_with_SAM_T10_0994_D_revision_18", resourceCulture); + } + } + + internal static string Device_complies_with_SAM_ANSI_INCITS_270_1996 { + get { + return ResourceManager.GetString("Device_complies_with_SAM_ANSI_INCITS_270_1996", resourceCulture); + } + } + + internal static string Device_complies_with_SAM_2_no_version_claimed { + get { + return ResourceManager.GetString("Device_complies_with_SAM_2_no_version_claimed", resourceCulture); + } + } + + internal static string Device_complies_with_SAM_2_T10_1157_D_revision_23 { + get { + return ResourceManager.GetString("Device_complies_with_SAM_2_T10_1157_D_revision_23", resourceCulture); + } + } + + internal static string Device_complies_with_SAM_2_T10_1157_D_revision_24 { + get { + return ResourceManager.GetString("Device_complies_with_SAM_2_T10_1157_D_revision_24", resourceCulture); + } + } + + internal static string Device_complies_with_SAM_2_ANSI_INCITS_366_2003 { + get { + return ResourceManager.GetString("Device_complies_with_SAM_2_ANSI_INCITS_366_2003", resourceCulture); + } + } + + internal static string Device_complies_with_SAM_2_ISO_IEC_14776_412 { + get { + return ResourceManager.GetString("Device_complies_with_SAM_2_ISO_IEC_14776_412", resourceCulture); + } + } + + internal static string Device_complies_with_SAM_3_no_version_claimed { + get { + return ResourceManager.GetString("Device_complies_with_SAM_3_no_version_claimed", resourceCulture); + } + } + + internal static string Device_complies_with_SAM_3_T10_1561_D_revision_7 { + get { + return ResourceManager.GetString("Device_complies_with_SAM_3_T10_1561_D_revision_7", resourceCulture); + } + } + + internal static string Device_complies_with_SAM_3_T10_1561_D_revision_13 { + get { + return ResourceManager.GetString("Device_complies_with_SAM_3_T10_1561_D_revision_13", resourceCulture); + } + } + + internal static string Device_complies_with_SAM_3_T10_1561_D_revision_14 { + get { + return ResourceManager.GetString("Device_complies_with_SAM_3_T10_1561_D_revision_14", resourceCulture); + } + } + + internal static string Device_complies_with_SAM_3_ANSI_INCITS_402_2005 { + get { + return ResourceManager.GetString("Device_complies_with_SAM_3_ANSI_INCITS_402_2005", resourceCulture); + } + } + + internal static string Device_complies_with_SAM_4_no_version_claimed { + get { + return ResourceManager.GetString("Device_complies_with_SAM_4_no_version_claimed", resourceCulture); + } + } + + internal static string Device_complies_with_SAM_4_T10_1683_D_revision_13 { + get { + return ResourceManager.GetString("Device_complies_with_SAM_4_T10_1683_D_revision_13", resourceCulture); + } + } + + internal static string Device_complies_with_SAM_4_T10_1683_D_revision_14 { + get { + return ResourceManager.GetString("Device_complies_with_SAM_4_T10_1683_D_revision_14", resourceCulture); + } + } + + internal static string Device_complies_with_SAM_4_ANSI_INCITS_447_2008 { + get { + return ResourceManager.GetString("Device_complies_with_SAM_4_ANSI_INCITS_447_2008", resourceCulture); + } + } + + internal static string Device_complies_with_SAM_4_ISO_IEC_14776_414 { + get { + return ResourceManager.GetString("Device_complies_with_SAM_4_ISO_IEC_14776_414", resourceCulture); + } + } + + internal static string Device_complies_with_SAM_5_no_version_claimed { + get { + return ResourceManager.GetString("Device_complies_with_SAM_5_no_version_claimed", resourceCulture); + } + } + + internal static string Device_complies_with_SAM_5_T10_2104_D_revision_4 { + get { + return ResourceManager.GetString("Device_complies_with_SAM_5_T10_2104_D_revision_4", resourceCulture); + } + } + + internal static string Device_complies_with_SAM_5_T10_2104_D_revision_20 { + get { + return ResourceManager.GetString("Device_complies_with_SAM_5_T10_2104_D_revision_20", resourceCulture); + } + } + + internal static string Device_complies_with_SAM_5_T10_2104_D_revision_21 { + get { + return ResourceManager.GetString("Device_complies_with_SAM_5_T10_2104_D_revision_21", resourceCulture); + } + } + + internal static string Device_complies_with_SAM_6_no_version_claimed { + get { + return ResourceManager.GetString("Device_complies_with_SAM_6_no_version_claimed", resourceCulture); + } + } + + internal static string Device_complies_with_SPC_no_version_claimed { + get { + return ResourceManager.GetString("Device_complies_with_SPC_no_version_claimed", resourceCulture); + } + } + + internal static string Device_complies_with_SPC_T10_0995_D_revision_11a { + get { + return ResourceManager.GetString("Device_complies_with_SPC_T10_0995_D_revision_11a", resourceCulture); + } + } + + internal static string Device_complies_with_SPC_ANSI_INCITS_301_1997 { + get { + return ResourceManager.GetString("Device_complies_with_SPC_ANSI_INCITS_301_1997", resourceCulture); + } + } + + internal static string Device_complies_with_MMC_no_version_claimed { + get { + return ResourceManager.GetString("Device_complies_with_MMC_no_version_claimed", resourceCulture); + } + } + + internal static string Device_complies_with_MMC_T10_1048_D_revision_10a { + get { + return ResourceManager.GetString("Device_complies_with_MMC_T10_1048_D_revision_10a", resourceCulture); + } + } + + internal static string Device_complies_with_MMC_ANSI_INCITS_304_1997 { + get { + return ResourceManager.GetString("Device_complies_with_MMC_ANSI_INCITS_304_1997", resourceCulture); + } + } + + internal static string Device_complies_with_SCC_no_version_claimed { + get { + return ResourceManager.GetString("Device_complies_with_SCC_no_version_claimed", resourceCulture); + } + } + + internal static string Device_complies_with_SCC_T10_1047_D_revision_06c { + get { + return ResourceManager.GetString("Device_complies_with_SCC_T10_1047_D_revision_06c", resourceCulture); + } + } + + internal static string Device_complies_with_SCC_ANSI_INCITS_276_1997 { + get { + return ResourceManager.GetString("Device_complies_with_SCC_ANSI_INCITS_276_1997", resourceCulture); + } + } + + internal static string Device_complies_with_SBC_no_version_claimed { + get { + return ResourceManager.GetString("Device_complies_with_SBC_no_version_claimed", resourceCulture); + } + } + + internal static string Device_complies_with_SBC_T10_0996_D_revision_08c { + get { + return ResourceManager.GetString("Device_complies_with_SBC_T10_0996_D_revision_08c", resourceCulture); + } + } + + internal static string Device_complies_with_SBC_ANSI_INCITS_306_1998 { + get { + return ResourceManager.GetString("Device_complies_with_SBC_ANSI_INCITS_306_1998", resourceCulture); + } + } + + internal static string Device_complies_with_SMC_no_version_claimed { + get { + return ResourceManager.GetString("Device_complies_with_SMC_no_version_claimed", resourceCulture); + } + } + + internal static string Device_complies_with_SMC_T10_0999_D_revision_10a { + get { + return ResourceManager.GetString("Device_complies_with_SMC_T10_0999_D_revision_10a", resourceCulture); + } + } + + internal static string Device_complies_with_SMC_ANSI_INCITS_314_1998 { + get { + return ResourceManager.GetString("Device_complies_with_SMC_ANSI_INCITS_314_1998", resourceCulture); + } + } + + internal static string Device_complies_with_SMC_ISO_IEC_14776_351 { + get { + return ResourceManager.GetString("Device_complies_with_SMC_ISO_IEC_14776_351", resourceCulture); + } + } + + internal static string Device_complies_with_SES_no_version_claimed { + get { + return ResourceManager.GetString("Device_complies_with_SES_no_version_claimed", resourceCulture); + } + } + + internal static string Device_complies_with_SES_T10_1212_D_revision_08b { + get { + return ResourceManager.GetString("Device_complies_with_SES_T10_1212_D_revision_08b", resourceCulture); + } + } + + internal static string Device_complies_with_SES_ANSI_INCITS_305_1998 { + get { + return ResourceManager.GetString("Device_complies_with_SES_ANSI_INCITS_305_1998", resourceCulture); + } + } + + internal static string Device_complies_with_SES_T10_1212_revision_08b_Amendment_ANSI_INCITS_305_AM1_2000 { + get { + return ResourceManager.GetString("Device_complies_with_SES_T10_1212_revision_08b_Amendment_ANSI_INCITS_305_AM1_2000" + + "", resourceCulture); + } + } + + internal static string Device_complies_with_SES_ANSI_INCITS_305_1998_Amendment_ANSI_INCITS_305_AM1_2000 { + get { + return ResourceManager.GetString("Device_complies_with_SES_ANSI_INCITS_305_1998_Amendment_ANSI_INCITS_305_AM1_2000", resourceCulture); + } + } + + internal static string Device_complies_with_SCC_2_no_version_claimed { + get { + return ResourceManager.GetString("Device_complies_with_SCC_2_no_version_claimed", resourceCulture); + } + } + + internal static string Device_complies_with_SCC_2_T10_1125_D_revision_04 { + get { + return ResourceManager.GetString("Device_complies_with_SCC_2_T10_1125_D_revision_04", resourceCulture); + } + } + + internal static string Device_complies_with_SCC_2_ANSI_INCITS_318_1998 { + get { + return ResourceManager.GetString("Device_complies_with_SCC_2_ANSI_INCITS_318_1998", resourceCulture); + } + } + + internal static string Device_complies_with_SSC_no_version_claimed { + get { + return ResourceManager.GetString("Device_complies_with_SSC_no_version_claimed", resourceCulture); + } + } + + internal static string Device_complies_with_SSC_T10_0997_D_revision_17 { + get { + return ResourceManager.GetString("Device_complies_with_SSC_T10_0997_D_revision_17", resourceCulture); + } + } + + internal static string Device_complies_with_SSC_T10_0997_D_revision_22 { + get { + return ResourceManager.GetString("Device_complies_with_SSC_T10_0997_D_revision_22", resourceCulture); + } + } + + internal static string Device_complies_with_SSC_ANSI_INCITS_335_2000 { + get { + return ResourceManager.GetString("Device_complies_with_SSC_ANSI_INCITS_335_2000", resourceCulture); + } + } + + internal static string Device_complies_with_RBC_no_version_claimed { + get { + return ResourceManager.GetString("Device_complies_with_RBC_no_version_claimed", resourceCulture); + } + } + + internal static string Device_complies_with_RBC_T10_1240_D_revision_10a { + get { + return ResourceManager.GetString("Device_complies_with_RBC_T10_1240_D_revision_10a", resourceCulture); + } + } + + internal static string Device_complies_with_RBC_ANSI_INCITS_330_2000 { + get { + return ResourceManager.GetString("Device_complies_with_RBC_ANSI_INCITS_330_2000", resourceCulture); + } + } + + internal static string Device_complies_with_MMC_2_no_version_claimed { + get { + return ResourceManager.GetString("Device_complies_with_MMC_2_no_version_claimed", resourceCulture); + } + } + + internal static string Device_complies_with_MMC_2_T10_1228_D_revision_11 { + get { + return ResourceManager.GetString("Device_complies_with_MMC_2_T10_1228_D_revision_11", resourceCulture); + } + } + + internal static string Device_complies_with_MMC_2_T10_1228_D_revision_11a { + get { + return ResourceManager.GetString("Device_complies_with_MMC_2_T10_1228_D_revision_11a", resourceCulture); + } + } + + internal static string Device_complies_with_MMC_2_ANSI_INCITS_333_2000 { + get { + return ResourceManager.GetString("Device_complies_with_MMC_2_ANSI_INCITS_333_2000", resourceCulture); + } + } + + internal static string Device_complies_with_SPC_2_no_version_claimed { + get { + return ResourceManager.GetString("Device_complies_with_SPC_2_no_version_claimed", resourceCulture); + } + } + + internal static string Device_complies_with_SPC_2_T10_1236_D_revision_12 { + get { + return ResourceManager.GetString("Device_complies_with_SPC_2_T10_1236_D_revision_12", resourceCulture); + } + } + + internal static string Device_complies_with_SPC_2_T10_1236_D_revision_18 { + get { + return ResourceManager.GetString("Device_complies_with_SPC_2_T10_1236_D_revision_18", resourceCulture); + } + } + + internal static string Device_complies_with_SPC_2_T10_1236_D_revision_19 { + get { + return ResourceManager.GetString("Device_complies_with_SPC_2_T10_1236_D_revision_19", resourceCulture); + } + } + + internal static string Device_complies_with_SPC_2_T10_1236_D_revision_20 { + get { + return ResourceManager.GetString("Device_complies_with_SPC_2_T10_1236_D_revision_20", resourceCulture); + } + } + + internal static string Device_complies_with_SPC_2_ANSI_INCITS_351_2001 { + get { + return ResourceManager.GetString("Device_complies_with_SPC_2_ANSI_INCITS_351_2001", resourceCulture); + } + } + + internal static string Device_complies_with_SPC_2_ISO_IEC_14776_452 { + get { + return ResourceManager.GetString("Device_complies_with_SPC_2_ISO_IEC_14776_452", resourceCulture); + } + } + + internal static string Device_complies_with_OCRW_no_version_claimed { + get { + return ResourceManager.GetString("Device_complies_with_OCRW_no_version_claimed", resourceCulture); + } + } + + internal static string Device_complies_with_OCRW_ISO_IEC_14776_381 { + get { + return ResourceManager.GetString("Device_complies_with_OCRW_ISO_IEC_14776_381", resourceCulture); + } + } + + internal static string Device_complies_with_MMC_3_no_version_claimed { + get { + return ResourceManager.GetString("Device_complies_with_MMC_3_no_version_claimed", resourceCulture); + } + } + + internal static string Device_complies_with_MMC_3_T10_1363_D_revision_9 { + get { + return ResourceManager.GetString("Device_complies_with_MMC_3_T10_1363_D_revision_9", resourceCulture); + } + } + + internal static string Device_complies_with_MMC_3_T10_1363_D_revision_10g { + get { + return ResourceManager.GetString("Device_complies_with_MMC_3_T10_1363_D_revision_10g", resourceCulture); + } + } + + internal static string Device_complies_with_MMC_3_ANSI_INCITS_360_2002 { + get { + return ResourceManager.GetString("Device_complies_with_MMC_3_ANSI_INCITS_360_2002", resourceCulture); + } + } + + internal static string Device_complies_with_SMC_2_no_version_claimed { + get { + return ResourceManager.GetString("Device_complies_with_SMC_2_no_version_claimed", resourceCulture); + } + } + + internal static string Device_complies_with_SMC_2_T10_1383_D_revision_5 { + get { + return ResourceManager.GetString("Device_complies_with_SMC_2_T10_1383_D_revision_5", resourceCulture); + } + } + + internal static string Device_complies_with_SMC_2_T10_1383_D_revision_6 { + get { + return ResourceManager.GetString("Device_complies_with_SMC_2_T10_1383_D_revision_6", resourceCulture); + } + } + + internal static string Device_complies_with_SMC_2_T10_1383_D_revision_7 { + get { + return ResourceManager.GetString("Device_complies_with_SMC_2_T10_1383_D_revision_7", resourceCulture); + } + } + + internal static string Device_complies_with_SMC_2_ANSI_INCITS_382_2004 { + get { + return ResourceManager.GetString("Device_complies_with_SMC_2_ANSI_INCITS_382_2004", resourceCulture); + } + } + + internal static string Device_complies_with_SPC_3_no_version_claimed { + get { + return ResourceManager.GetString("Device_complies_with_SPC_3_no_version_claimed", resourceCulture); + } + } + + internal static string Device_complies_with_SPC_3_T10_1416_D_revision_7 { + get { + return ResourceManager.GetString("Device_complies_with_SPC_3_T10_1416_D_revision_7", resourceCulture); + } + } + + internal static string Device_complies_with_SPC_3_T10_1416_D_revision_21 { + get { + return ResourceManager.GetString("Device_complies_with_SPC_3_T10_1416_D_revision_21", resourceCulture); + } + } + + internal static string Device_complies_with_SPC_3_T10_1416_D_revision_22 { + get { + return ResourceManager.GetString("Device_complies_with_SPC_3_T10_1416_D_revision_22", resourceCulture); + } + } + + internal static string Device_complies_with_SPC_3_T10_1416_D_revision_23 { + get { + return ResourceManager.GetString("Device_complies_with_SPC_3_T10_1416_D_revision_23", resourceCulture); + } + } + + internal static string Device_complies_with_SPC_3_ANSI_INCITS_408_2005 { + get { + return ResourceManager.GetString("Device_complies_with_SPC_3_ANSI_INCITS_408_2005", resourceCulture); + } + } + + internal static string Device_complies_with_SPC_3_ISO_IEC_14776_453 { + get { + return ResourceManager.GetString("Device_complies_with_SPC_3_ISO_IEC_14776_453", resourceCulture); + } + } + + internal static string Device_complies_with_SBC_2_no_version_claimed { + get { + return ResourceManager.GetString("Device_complies_with_SBC_2_no_version_claimed", resourceCulture); + } + } + + internal static string Device_complies_with_SBC_2_T10_1417_D_revision_5a { + get { + return ResourceManager.GetString("Device_complies_with_SBC_2_T10_1417_D_revision_5a", resourceCulture); + } + } + + internal static string Device_complies_with_SBC_2_T10_1417_D_revision_15 { + get { + return ResourceManager.GetString("Device_complies_with_SBC_2_T10_1417_D_revision_15", resourceCulture); + } + } + + internal static string Device_complies_with_SBC_2_T10_1417_D_revision_16 { + get { + return ResourceManager.GetString("Device_complies_with_SBC_2_T10_1417_D_revision_16", resourceCulture); + } + } + + internal static string Device_complies_with_SBC_2_ANSI_INCITS_405_2005 { + get { + return ResourceManager.GetString("Device_complies_with_SBC_2_ANSI_INCITS_405_2005", resourceCulture); + } + } + + internal static string Device_complies_with_SBC_2_ISO_IEC_14776_322 { + get { + return ResourceManager.GetString("Device_complies_with_SBC_2_ISO_IEC_14776_322", resourceCulture); + } + } + + internal static string Device_complies_with_OSD_no_version_claimed { + get { + return ResourceManager.GetString("Device_complies_with_OSD_no_version_claimed", resourceCulture); + } + } + + internal static string Device_complies_with_OSD_T10_1355_D_revision_0 { + get { + return ResourceManager.GetString("Device_complies_with_OSD_T10_1355_D_revision_0", resourceCulture); + } + } + + internal static string Device_complies_with_OSD_T10_1355_D_revision_7a { + get { + return ResourceManager.GetString("Device_complies_with_OSD_T10_1355_D_revision_7a", resourceCulture); + } + } + + internal static string Device_complies_with_OSD_T10_1355_D_revision_8 { + get { + return ResourceManager.GetString("Device_complies_with_OSD_T10_1355_D_revision_8", resourceCulture); + } + } + + internal static string Device_complies_with_OSD_T10_1355_D_revision_9 { + get { + return ResourceManager.GetString("Device_complies_with_OSD_T10_1355_D_revision_9", resourceCulture); + } + } + + internal static string Device_complies_with_OSD_T10_1355_D_revision_10 { + get { + return ResourceManager.GetString("Device_complies_with_OSD_T10_1355_D_revision_10", resourceCulture); + } + } + + internal static string Device_complies_with_OSD_ANSI_INCITS_400_2004 { + get { + return ResourceManager.GetString("Device_complies_with_OSD_ANSI_INCITS_400_2004", resourceCulture); + } + } + + internal static string Device_complies_with_SSC_2_no_version_claimed { + get { + return ResourceManager.GetString("Device_complies_with_SSC_2_no_version_claimed", resourceCulture); + } + } + + internal static string Device_complies_with_SSC_2_T10_1434_D_revision_7 { + get { + return ResourceManager.GetString("Device_complies_with_SSC_2_T10_1434_D_revision_7", resourceCulture); + } + } + + internal static string Device_complies_with_SSC_2_T10_1434_D_revision_9 { + get { + return ResourceManager.GetString("Device_complies_with_SSC_2_T10_1434_D_revision_9", resourceCulture); + } + } + + internal static string Device_complies_with_SSC_2_ANSI_INCITS_380_2003 { + get { + return ResourceManager.GetString("Device_complies_with_SSC_2_ANSI_INCITS_380_2003", resourceCulture); + } + } + + internal static string Device_complies_with_BCC_no_version_claimed { + get { + return ResourceManager.GetString("Device_complies_with_BCC_no_version_claimed", resourceCulture); + } + } + + internal static string Device_complies_with_MMC_4_no_version_claimed { + get { + return ResourceManager.GetString("Device_complies_with_MMC_4_no_version_claimed", resourceCulture); + } + } + + internal static string Device_complies_with_MMC_4_T10_1545_D_revision_5 { + get { + return ResourceManager.GetString("Device_complies_with_MMC_4_T10_1545_D_revision_5", resourceCulture); + } + } + + internal static string Device_complies_with_MMC_4_T10_1545_D_revision_5a { + get { + return ResourceManager.GetString("Device_complies_with_MMC_4_T10_1545_D_revision_5a", resourceCulture); + } + } + + internal static string Device_complies_with_MMC_4_T10_1545_D_revision_3 { + get { + return ResourceManager.GetString("Device_complies_with_MMC_4_T10_1545_D_revision_3", resourceCulture); + } + } + + internal static string Device_complies_with_MMC_4_T10_1545_D_revision_3d { + get { + return ResourceManager.GetString("Device_complies_with_MMC_4_T10_1545_D_revision_3d", resourceCulture); + } + } + + internal static string Device_complies_with_MMC_4_ANSI_INCITS_401_2005 { + get { + return ResourceManager.GetString("Device_complies_with_MMC_4_ANSI_INCITS_401_2005", resourceCulture); + } + } + + internal static string Device_complies_with_ADC_no_version_claimed { + get { + return ResourceManager.GetString("Device_complies_with_ADC_no_version_claimed", resourceCulture); + } + } + + internal static string Device_complies_with_ADC_T10_1558_D_revision_6 { + get { + return ResourceManager.GetString("Device_complies_with_ADC_T10_1558_D_revision_6", resourceCulture); + } + } + + internal static string Device_complies_with_ADC_T10_1558_D_revision_7 { + get { + return ResourceManager.GetString("Device_complies_with_ADC_T10_1558_D_revision_7", resourceCulture); + } + } + + internal static string Device_complies_with_ADC_ANSI_INCITS_403_2005 { + get { + return ResourceManager.GetString("Device_complies_with_ADC_ANSI_INCITS_403_2005", resourceCulture); + } + } + + internal static string Device_complies_with_SES_2_no_version_claimed { + get { + return ResourceManager.GetString("Device_complies_with_SES_2_no_version_claimed", resourceCulture); + } + } + + internal static string Device_complies_with_SES_2_T10_1559_D_revision_16 { + get { + return ResourceManager.GetString("Device_complies_with_SES_2_T10_1559_D_revision_16", resourceCulture); + } + } + + internal static string Device_complies_with_SES_2_T10_1559_D_revision_19 { + get { + return ResourceManager.GetString("Device_complies_with_SES_2_T10_1559_D_revision_19", resourceCulture); + } + } + + internal static string Device_complies_with_SES_2_T10_1559_D_revision_20 { + get { + return ResourceManager.GetString("Device_complies_with_SES_2_T10_1559_D_revision_20", resourceCulture); + } + } + + internal static string Device_complies_with_SES_2_ANSI_INCITS_448_2008 { + get { + return ResourceManager.GetString("Device_complies_with_SES_2_ANSI_INCITS_448_2008", resourceCulture); + } + } + + internal static string Device_complies_with_SES_2_ISO_IEC_14776_372 { + get { + return ResourceManager.GetString("Device_complies_with_SES_2_ISO_IEC_14776_372", resourceCulture); + } + } + + internal static string Device_complies_with_SSC_3_no_version_claimed { + get { + return ResourceManager.GetString("Device_complies_with_SSC_3_no_version_claimed", resourceCulture); + } + } + + internal static string Device_complies_with_SSC_3_T10_1611_D_revision_04a { + get { + return ResourceManager.GetString("Device_complies_with_SSC_3_T10_1611_D_revision_04a", resourceCulture); + } + } + + internal static string Device_complies_with_SSC_3_T10_1611_D_revision_05 { + get { + return ResourceManager.GetString("Device_complies_with_SSC_3_T10_1611_D_revision_05", resourceCulture); + } + } + + internal static string Device_complies_with_SSC_3_ANSI_INCITS_467_2011 { + get { + return ResourceManager.GetString("Device_complies_with_SSC_3_ANSI_INCITS_467_2011", resourceCulture); + } + } + + internal static string Device_complies_with_SSC_3_ISO_IEC_14776_333_2013 { + get { + return ResourceManager.GetString("Device_complies_with_SSC_3_ISO_IEC_14776_333_2013", resourceCulture); + } + } + + internal static string Device_complies_with_MMC_5_no_version_claimed { + get { + return ResourceManager.GetString("Device_complies_with_MMC_5_no_version_claimed", resourceCulture); + } + } + + internal static string Device_complies_with_MMC_5_T10_1675_D_revision_03 { + get { + return ResourceManager.GetString("Device_complies_with_MMC_5_T10_1675_D_revision_03", resourceCulture); + } + } + + internal static string Device_complies_with_MMC_5_T10_1675_D_revision_03b { + get { + return ResourceManager.GetString("Device_complies_with_MMC_5_T10_1675_D_revision_03b", resourceCulture); + } + } + + internal static string Device_complies_with_MMC_5_T10_1675_D_revision_04 { + get { + return ResourceManager.GetString("Device_complies_with_MMC_5_T10_1675_D_revision_04", resourceCulture); + } + } + + internal static string Device_complies_with_MMC_5_ANSI_INCITS_430_2007 { + get { + return ResourceManager.GetString("Device_complies_with_MMC_5_ANSI_INCITS_430_2007", resourceCulture); + } + } + + internal static string Device_complies_with_OSD_2_no_version_claimed { + get { + return ResourceManager.GetString("Device_complies_with_OSD_2_no_version_claimed", resourceCulture); + } + } + + internal static string Device_complies_with_OSD_2_T10_1729_D_revision_4 { + get { + return ResourceManager.GetString("Device_complies_with_OSD_2_T10_1729_D_revision_4", resourceCulture); + } + } + + internal static string Device_complies_with_OSD_2_T10_1729_D_revision_5 { + get { + return ResourceManager.GetString("Device_complies_with_OSD_2_T10_1729_D_revision_5", resourceCulture); + } + } + + internal static string Device_complies_with_OSD_2_ANSI_INCITS_458_2011 { + get { + return ResourceManager.GetString("Device_complies_with_OSD_2_ANSI_INCITS_458_2011", resourceCulture); + } + } + + internal static string Device_complies_with_SPC_4_no_version_claimed { + get { + return ResourceManager.GetString("Device_complies_with_SPC_4_no_version_claimed", resourceCulture); + } + } + + internal static string Device_complies_with_SPC_4_T10_BSR_INCITS_513_revision_16 { + get { + return ResourceManager.GetString("Device_complies_with_SPC_4_T10_BSR_INCITS_513_revision_16", resourceCulture); + } + } + + internal static string Device_complies_with_SPC_4_T10_BSR_INCITS_513_revision_18 { + get { + return ResourceManager.GetString("Device_complies_with_SPC_4_T10_BSR_INCITS_513_revision_18", resourceCulture); + } + } + + internal static string Device_complies_with_SPC_4_T10_BSR_INCITS_513_revision_23 { + get { + return ResourceManager.GetString("Device_complies_with_SPC_4_T10_BSR_INCITS_513_revision_23", resourceCulture); + } + } + + internal static string Device_complies_with_SPC_4_T10_BSR_INCITS_513_revision_36 { + get { + return ResourceManager.GetString("Device_complies_with_SPC_4_T10_BSR_INCITS_513_revision_36", resourceCulture); + } + } + + internal static string Device_complies_with_SPC_4_T10_BSR_INCITS_513_revision_37 { + get { + return ResourceManager.GetString("Device_complies_with_SPC_4_T10_BSR_INCITS_513_revision_37", resourceCulture); + } + } + + internal static string Device_complies_with_SPC_4_T10_BSR_INCITS_513_revision_37a { + get { + return ResourceManager.GetString("Device_complies_with_SPC_4_T10_BSR_INCITS_513_revision_37a", resourceCulture); + } + } + + internal static string Device_complies_with_SPC_4_ANSI_INCITS_513_2015 { + get { + return ResourceManager.GetString("Device_complies_with_SPC_4_ANSI_INCITS_513_2015", resourceCulture); + } + } + + internal static string Device_complies_with_SMC_3_no_version_claimed { + get { + return ResourceManager.GetString("Device_complies_with_SMC_3_no_version_claimed", resourceCulture); + } + } + + internal static string Device_complies_with_SMC_3_T10_1730_D_revision_15 { + get { + return ResourceManager.GetString("Device_complies_with_SMC_3_T10_1730_D_revision_15", resourceCulture); + } + } + + internal static string Device_complies_with_SMC_3_T10_1730_D_revision_16 { + get { + return ResourceManager.GetString("Device_complies_with_SMC_3_T10_1730_D_revision_16", resourceCulture); + } + } + + internal static string Device_complies_with_SMC_3_ANSI_INCITS_484_2012 { + get { + return ResourceManager.GetString("Device_complies_with_SMC_3_ANSI_INCITS_484_2012", resourceCulture); + } + } + + internal static string Device_complies_with_ADC_2_no_version_claimed { + get { + return ResourceManager.GetString("Device_complies_with_ADC_2_no_version_claimed", resourceCulture); + } + } + + internal static string Device_complies_with_ADC_2_T10_1741_D_revision_7 { + get { + return ResourceManager.GetString("Device_complies_with_ADC_2_T10_1741_D_revision_7", resourceCulture); + } + } + + internal static string Device_complies_with_ADC_2_T10_1741_D_revision_8 { + get { + return ResourceManager.GetString("Device_complies_with_ADC_2_T10_1741_D_revision_8", resourceCulture); + } + } + + internal static string Device_complies_with_ADC_2_ANSI_INCITS_441_2008 { + get { + return ResourceManager.GetString("Device_complies_with_ADC_2_ANSI_INCITS_441_2008", resourceCulture); + } + } + + internal static string Device_complies_with_SBC_3_no_version_claimed { + get { + return ResourceManager.GetString("Device_complies_with_SBC_3_no_version_claimed", resourceCulture); + } + } + + internal static string Device_complies_with_SBC_3_T10_BSR_INCITS_514_revision_35 { + get { + return ResourceManager.GetString("Device_complies_with_SBC_3_T10_BSR_INCITS_514_revision_35", resourceCulture); + } + } + + internal static string Device_complies_with_SBC_3_T10_BSR_INCITS_514_revision_36 { + get { + return ResourceManager.GetString("Device_complies_with_SBC_3_T10_BSR_INCITS_514_revision_36", resourceCulture); + } + } + + internal static string Device_complies_with_SBC_3_ANSI_INCITS_514_2014 { + get { + return ResourceManager.GetString("Device_complies_with_SBC_3_ANSI_INCITS_514_2014", resourceCulture); + } + } + + internal static string Device_complies_with_MMC_6_no_version_claimed { + get { + return ResourceManager.GetString("Device_complies_with_MMC_6_no_version_claimed", resourceCulture); + } + } + + internal static string Device_complies_with_MMC_6_T10_1836_D_revision_02b { + get { + return ResourceManager.GetString("Device_complies_with_MMC_6_T10_1836_D_revision_02b", resourceCulture); + } + } + + internal static string Device_complies_with_MMC_6_T10_1836_D_revision_02g { + get { + return ResourceManager.GetString("Device_complies_with_MMC_6_T10_1836_D_revision_02g", resourceCulture); + } + } + + internal static string Device_complies_with_MMC_6_ANSI_INCITS_468_2010 { + get { + return ResourceManager.GetString("Device_complies_with_MMC_6_ANSI_INCITS_468_2010", resourceCulture); + } + } + + internal static string Device_complies_with_MMC_6_ANSI_INCITS_468_2010_MMC_6_AM1_ANSI_INCITS_468_2010_AM_1 { + get { + return ResourceManager.GetString("Device_complies_with_MMC_6_ANSI_INCITS_468_2010_MMC_6_AM1_ANSI_INCITS_468_2010_AM" + + "_1", resourceCulture); + } + } + + internal static string Device_complies_with_ADC_3_no_version_claimed { + get { + return ResourceManager.GetString("Device_complies_with_ADC_3_no_version_claimed", resourceCulture); + } + } + + internal static string Device_complies_with_ADC_3_T10_1895_D_revision_04 { + get { + return ResourceManager.GetString("Device_complies_with_ADC_3_T10_1895_D_revision_04", resourceCulture); + } + } + + internal static string Device_complies_with_ADC_3_T10_1895_D_revision_05 { + get { + return ResourceManager.GetString("Device_complies_with_ADC_3_T10_1895_D_revision_05", resourceCulture); + } + } + + internal static string Device_complies_with_ADC_3_T10_1895_D_revision_05a { + get { + return ResourceManager.GetString("Device_complies_with_ADC_3_T10_1895_D_revision_05a", resourceCulture); + } + } + + internal static string Device_complies_with_ADC_3_ANSI_INCITS_497_2012 { + get { + return ResourceManager.GetString("Device_complies_with_ADC_3_ANSI_INCITS_497_2012", resourceCulture); + } + } + + internal static string Device_complies_with_SSC_4_no_version_claimed { + get { + return ResourceManager.GetString("Device_complies_with_SSC_4_no_version_claimed", resourceCulture); + } + } + + internal static string Device_complies_with_SSC_4_T10_BSR_INCITS_516_revision_2 { + get { + return ResourceManager.GetString("Device_complies_with_SSC_4_T10_BSR_INCITS_516_revision_2", resourceCulture); + } + } + + internal static string Device_complies_with_SSC_4_T10_BSR_INCITS_516_revision_3 { + get { + return ResourceManager.GetString("Device_complies_with_SSC_4_T10_BSR_INCITS_516_revision_3", resourceCulture); + } + } + + internal static string Device_complies_with_SSC_4_ANSI_INCITS_516_2013 { + get { + return ResourceManager.GetString("Device_complies_with_SSC_4_ANSI_INCITS_516_2013", resourceCulture); + } + } + + internal static string Device_complies_with_OSD_3_no_version_claimed { + get { + return ResourceManager.GetString("Device_complies_with_OSD_3_no_version_claimed", resourceCulture); + } + } + + internal static string Device_complies_with_SES_3_no_version_claimed { + get { + return ResourceManager.GetString("Device_complies_with_SES_3_no_version_claimed", resourceCulture); + } + } + + internal static string Device_complies_with_SSC_5_no_version_claimed { + get { + return ResourceManager.GetString("Device_complies_with_SSC_5_no_version_claimed", resourceCulture); + } + } + + internal static string Device_complies_with_SPC_5_no_version_claimed { + get { + return ResourceManager.GetString("Device_complies_with_SPC_5_no_version_claimed", resourceCulture); + } + } + + internal static string Device_complies_with_SFSC_no_version_claimed { + get { + return ResourceManager.GetString("Device_complies_with_SFSC_no_version_claimed", resourceCulture); + } + } + + internal static string Device_complies_with_SFSC_BSR_INCITS_501_revision_01 { + get { + return ResourceManager.GetString("Device_complies_with_SFSC_BSR_INCITS_501_revision_01", resourceCulture); + } + } + + internal static string Device_complies_with_SBC_4_no_version_claimed { + get { + return ResourceManager.GetString("Device_complies_with_SBC_4_no_version_claimed", resourceCulture); + } + } + + internal static string Device_complies_with_ZBC_no_version_claimed { + get { + return ResourceManager.GetString("Device_complies_with_ZBC_no_version_claimed", resourceCulture); + } + } + + internal static string Device_complies_with_ZBC_BSR_INCITS_536_revision_02 { + get { + return ResourceManager.GetString("Device_complies_with_ZBC_BSR_INCITS_536_revision_02", resourceCulture); + } + } + + internal static string Device_complies_with_ADC_4_no_version_claimed { + get { + return ResourceManager.GetString("Device_complies_with_ADC_4_no_version_claimed", resourceCulture); + } + } + + internal static string Device_complies_with_SSA_TL2_no_version_claimed { + get { + return ResourceManager.GetString("Device_complies_with_SSA_TL2_no_version_claimed", resourceCulture); + } + } + + internal static string Device_complies_with_SSA_TL2_T10_1_1147_D_revision_05b { + get { + return ResourceManager.GetString("Device_complies_with_SSA_TL2_T10_1_1147_D_revision_05b", resourceCulture); + } + } + + internal static string Device_complies_with_SSA_TL2_ANSI_INCITS_308_1998 { + get { + return ResourceManager.GetString("Device_complies_with_SSA_TL2_ANSI_INCITS_308_1998", resourceCulture); + } + } + + internal static string Device_complies_with_SSA_TL1_no_version_claimed { + get { + return ResourceManager.GetString("Device_complies_with_SSA_TL1_no_version_claimed", resourceCulture); + } + } + + internal static string Device_complies_with_SSA_TL1_T10_1_0989_D_revision_10b { + get { + return ResourceManager.GetString("Device_complies_with_SSA_TL1_T10_1_0989_D_revision_10b", resourceCulture); + } + } + + internal static string Device_complies_with_SSA_TL1_ANSI_INCITS_295_1996 { + get { + return ResourceManager.GetString("Device_complies_with_SSA_TL1_ANSI_INCITS_295_1996", resourceCulture); + } + } + + internal static string Device_complies_with_SSA_S3P_no_version_claimed { + get { + return ResourceManager.GetString("Device_complies_with_SSA_S3P_no_version_claimed", resourceCulture); + } + } + + internal static string Device_complies_with_SSA_S3P_T10_1_1051_D_revision_05b { + get { + return ResourceManager.GetString("Device_complies_with_SSA_S3P_T10_1_1051_D_revision_05b", resourceCulture); + } + } + + internal static string Device_complies_with_SSA_S3P_ANSI_INCITS_309_1998 { + get { + return ResourceManager.GetString("Device_complies_with_SSA_S3P_ANSI_INCITS_309_1998", resourceCulture); + } + } + + internal static string Device_complies_with_SSA_S2P_no_version_claimed { + get { + return ResourceManager.GetString("Device_complies_with_SSA_S2P_no_version_claimed", resourceCulture); + } + } + + internal static string Device_complies_with_SSA_S2P_T10_1_1121_D_revision_07b { + get { + return ResourceManager.GetString("Device_complies_with_SSA_S2P_T10_1_1121_D_revision_07b", resourceCulture); + } + } + + internal static string Device_complies_with_SSA_S2P_ANSI_INCITS_294_1996 { + get { + return ResourceManager.GetString("Device_complies_with_SSA_S2P_ANSI_INCITS_294_1996", resourceCulture); + } + } + + internal static string Device_complies_with_SIP_no_version_claimed { + get { + return ResourceManager.GetString("Device_complies_with_SIP_no_version_claimed", resourceCulture); + } + } + + internal static string Device_complies_with_SIP_T10_0856_D_revision_10 { + get { + return ResourceManager.GetString("Device_complies_with_SIP_T10_0856_D_revision_10", resourceCulture); + } + } + + internal static string Device_complies_with_SIP_ANSI_INCITS_292_1997 { + get { + return ResourceManager.GetString("Device_complies_with_SIP_ANSI_INCITS_292_1997", resourceCulture); + } + } + + internal static string Device_complies_with_FCP_no_version_claimed { + get { + return ResourceManager.GetString("Device_complies_with_FCP_no_version_claimed", resourceCulture); + } + } + + internal static string Device_complies_with_FCP_T10_0993_D_revision_12 { + get { + return ResourceManager.GetString("Device_complies_with_FCP_T10_0993_D_revision_12", resourceCulture); + } + } + + internal static string Device_complies_with_FCP_ANSI_INCITS_269_1996 { + get { + return ResourceManager.GetString("Device_complies_with_FCP_ANSI_INCITS_269_1996", resourceCulture); + } + } + + internal static string Device_complies_with_SBP_2_no_version_claimed { + get { + return ResourceManager.GetString("Device_complies_with_SBP_2_no_version_claimed", resourceCulture); + } + } + + internal static string Device_complies_with_SBP_2_T10_1155_D_revision_04 { + get { + return ResourceManager.GetString("Device_complies_with_SBP_2_T10_1155_D_revision_04", resourceCulture); + } + } + + internal static string Device_complies_with_SBP_2_ANSI_INCITS_325_1998 { + get { + return ResourceManager.GetString("Device_complies_with_SBP_2_ANSI_INCITS_325_1998", resourceCulture); + } + } + + internal static string Device_complies_with_FCP_2_no_version_claimed { + get { + return ResourceManager.GetString("Device_complies_with_FCP_2_no_version_claimed", resourceCulture); + } + } + + internal static string Device_complies_with_FCP_2_T10_1144_D_revision_4 { + get { + return ResourceManager.GetString("Device_complies_with_FCP_2_T10_1144_D_revision_4", resourceCulture); + } + } + + internal static string Device_complies_with_FCP_2_T10_1144_D_revision_7 { + get { + return ResourceManager.GetString("Device_complies_with_FCP_2_T10_1144_D_revision_7", resourceCulture); + } + } + + internal static string Device_complies_with_FCP_2_T10_1144_D_revision_7a { + get { + return ResourceManager.GetString("Device_complies_with_FCP_2_T10_1144_D_revision_7a", resourceCulture); + } + } + + internal static string Device_complies_with_FCP_2_ANSI_INCITS_350_2003 { + get { + return ResourceManager.GetString("Device_complies_with_FCP_2_ANSI_INCITS_350_2003", resourceCulture); + } + } + + internal static string Device_complies_with_FCP_2_T10_1144_D_revision_8 { + get { + return ResourceManager.GetString("Device_complies_with_FCP_2_T10_1144_D_revision_8", resourceCulture); + } + } + + internal static string Device_complies_with_SST_no_version_claimed { + get { + return ResourceManager.GetString("Device_complies_with_SST_no_version_claimed", resourceCulture); + } + } + + internal static string Device_complies_with_SST_T10_1380_D_revision_8b { + get { + return ResourceManager.GetString("Device_complies_with_SST_T10_1380_D_revision_8b", resourceCulture); + } + } + + internal static string Device_complies_with_SRP_no_version_claimed { + get { + return ResourceManager.GetString("Device_complies_with_SRP_no_version_claimed", resourceCulture); + } + } + + internal static string Device_complies_with_SRP_T10_1415_D_revision_10 { + get { + return ResourceManager.GetString("Device_complies_with_SRP_T10_1415_D_revision_10", resourceCulture); + } + } + + internal static string Device_complies_with_SRP_T10_1415_D_revision_16a { + get { + return ResourceManager.GetString("Device_complies_with_SRP_T10_1415_D_revision_16a", resourceCulture); + } + } + + internal static string Device_complies_with_SRP_ANSI_INCITS_365_2002 { + get { + return ResourceManager.GetString("Device_complies_with_SRP_ANSI_INCITS_365_2002", resourceCulture); + } + } + + internal static string Device_complies_with_iSCSI_no_version_claimed { + get { + return ResourceManager.GetString("Device_complies_with_iSCSI_no_version_claimed", resourceCulture); + } + } + + internal static string Device_complies_with_iSCSI_revision_0 { + get { + return ResourceManager.GetString("Device_complies_with_iSCSI_revision_0", resourceCulture); + } + } + + internal static string Device_complies_with_SBP_3_no_version_claimed { + get { + return ResourceManager.GetString("Device_complies_with_SBP_3_no_version_claimed", resourceCulture); + } + } + + internal static string Device_complies_with_SBP_3_T10_1467_D_revision_1f { + get { + return ResourceManager.GetString("Device_complies_with_SBP_3_T10_1467_D_revision_1f", resourceCulture); + } + } + + internal static string Device_complies_with_SBP_3_T10_1467_D_revision_3 { + get { + return ResourceManager.GetString("Device_complies_with_SBP_3_T10_1467_D_revision_3", resourceCulture); + } + } + + internal static string Device_complies_with_SBP_3_T10_1467_D_revision_4 { + get { + return ResourceManager.GetString("Device_complies_with_SBP_3_T10_1467_D_revision_4", resourceCulture); + } + } + + internal static string Device_complies_with_SBP_3_T10_1467_D_revision_5 { + get { + return ResourceManager.GetString("Device_complies_with_SBP_3_T10_1467_D_revision_5", resourceCulture); + } + } + + internal static string Device_complies_with_SBP_3_ANSI_INCITS_375_2004 { + get { + return ResourceManager.GetString("Device_complies_with_SBP_3_ANSI_INCITS_375_2004", resourceCulture); + } + } + + internal static string Device_complies_with_ADP_no_version_claimed { + get { + return ResourceManager.GetString("Device_complies_with_ADP_no_version_claimed", resourceCulture); + } + } + + internal static string Device_complies_with_ADT_no_version_claimed { + get { + return ResourceManager.GetString("Device_complies_with_ADT_no_version_claimed", resourceCulture); + } + } + + internal static string Device_complies_with_ADT_T10_1557_D_revision_11 { + get { + return ResourceManager.GetString("Device_complies_with_ADT_T10_1557_D_revision_11", resourceCulture); + } + } + + internal static string Device_complies_with_ADT_T10_1557_D_revision_14 { + get { + return ResourceManager.GetString("Device_complies_with_ADT_T10_1557_D_revision_14", resourceCulture); + } + } + + internal static string Device_complies_with_ADT_ANSI_INCITS_406_2005 { + get { + return ResourceManager.GetString("Device_complies_with_ADT_ANSI_INCITS_406_2005", resourceCulture); + } + } + + internal static string Device_complies_with_FCP_3_no_version_claimed { + get { + return ResourceManager.GetString("Device_complies_with_FCP_3_no_version_claimed", resourceCulture); + } + } + + internal static string Device_complies_with_FCP_3_T10_1560_D_revision_3f { + get { + return ResourceManager.GetString("Device_complies_with_FCP_3_T10_1560_D_revision_3f", resourceCulture); + } + } + + internal static string Device_complies_with_FCP_3_T10_1560_D_revision_4 { + get { + return ResourceManager.GetString("Device_complies_with_FCP_3_T10_1560_D_revision_4", resourceCulture); + } + } + + internal static string Device_complies_with_FCP_3_ANSI_INCITS_416_2006 { + get { + return ResourceManager.GetString("Device_complies_with_FCP_3_ANSI_INCITS_416_2006", resourceCulture); + } + } + + internal static string Device_complies_with_FCP_3_ISO_IEC_14776_223 { + get { + return ResourceManager.GetString("Device_complies_with_FCP_3_ISO_IEC_14776_223", resourceCulture); + } + } + + internal static string Device_complies_with_ADT_2_no_version_claimed { + get { + return ResourceManager.GetString("Device_complies_with_ADT_2_no_version_claimed", resourceCulture); + } + } + + internal static string Device_complies_with_ADT_2_T10_1742_D_revision_06 { + get { + return ResourceManager.GetString("Device_complies_with_ADT_2_T10_1742_D_revision_06", resourceCulture); + } + } + + internal static string Device_complies_with_ADT_2_T10_1742_D_revision_08 { + get { + return ResourceManager.GetString("Device_complies_with_ADT_2_T10_1742_D_revision_08", resourceCulture); + } + } + + internal static string Device_complies_with_ADT_2_T10_1742_D_revision_09 { + get { + return ResourceManager.GetString("Device_complies_with_ADT_2_T10_1742_D_revision_09", resourceCulture); + } + } + + internal static string Device_complies_with_ADT_2_ANSI_INCITS_472_2011 { + get { + return ResourceManager.GetString("Device_complies_with_ADT_2_ANSI_INCITS_472_2011", resourceCulture); + } + } + + internal static string Device_complies_with_FCP_4_no_version_claimed { + get { + return ResourceManager.GetString("Device_complies_with_FCP_4_no_version_claimed", resourceCulture); + } + } + + internal static string Device_complies_with_FCP_4_T10_1828_D_revision_01 { + get { + return ResourceManager.GetString("Device_complies_with_FCP_4_T10_1828_D_revision_01", resourceCulture); + } + } + + internal static string Device_complies_with_FCP_4_T10_1828_D_revision_02 { + get { + return ResourceManager.GetString("Device_complies_with_FCP_4_T10_1828_D_revision_02", resourceCulture); + } + } + + internal static string Device_complies_with_FCP_4_T10_1828_D_revision_02b { + get { + return ResourceManager.GetString("Device_complies_with_FCP_4_T10_1828_D_revision_02b", resourceCulture); + } + } + + internal static string Device_complies_with_FCP_4_ANSI_INCITS_481_2012 { + get { + return ResourceManager.GetString("Device_complies_with_FCP_4_ANSI_INCITS_481_2012", resourceCulture); + } + } + + internal static string Device_complies_with_ADT_3_no_version_claimed { + get { + return ResourceManager.GetString("Device_complies_with_ADT_3_no_version_claimed", resourceCulture); + } + } + + internal static string Device_complies_with_SPI_no_version_claimed { + get { + return ResourceManager.GetString("Device_complies_with_SPI_no_version_claimed", resourceCulture); + } + } + + internal static string Device_complies_with_SPI_T10_0855_D_revision_15a { + get { + return ResourceManager.GetString("Device_complies_with_SPI_T10_0855_D_revision_15a", resourceCulture); + } + } + + internal static string Device_complies_with_SPI_ANSI_INCITS_253_1995 { + get { + return ResourceManager.GetString("Device_complies_with_SPI_ANSI_INCITS_253_1995", resourceCulture); + } + } + + internal static string Device_complies_with_SPI_T10_0855_D_revision_15a_with_SPI_Amnd_revision_3a { + get { + return ResourceManager.GetString("Device_complies_with_SPI_T10_0855_D_revision_15a_with_SPI_Amnd_revision_3a", resourceCulture); + } + } + + internal static string Device_complies_with_SPI_ANSI_INCITS_253_1995_with_SPI_Amnd_ANSI_INCITS_253_AM1_1998 { + get { + return ResourceManager.GetString("Device_complies_with_SPI_ANSI_INCITS_253_1995_with_SPI_Amnd_ANSI_INCITS_253_AM1_1" + + "998", resourceCulture); + } + } + + internal static string Device_complies_with_Fast_20_no_version_claimed { + get { + return ResourceManager.GetString("Device_complies_with_Fast_20_no_version_claimed", resourceCulture); + } + } + + internal static string Device_complies_with_Fast_20_T10_1071_revision_06 { + get { + return ResourceManager.GetString("Device_complies_with_Fast_20_T10_1071_revision_06", resourceCulture); + } + } + + internal static string Device_complies_with_Fast_20_ANSI_INCITS_277_1996 { + get { + return ResourceManager.GetString("Device_complies_with_Fast_20_ANSI_INCITS_277_1996", resourceCulture); + } + } + + internal static string Device_complies_with_SPI_2_no_version_claimed { + get { + return ResourceManager.GetString("Device_complies_with_SPI_2_no_version_claimed", resourceCulture); + } + } + + internal static string Device_complies_with_SPI_2_T10_1142_D_revision_20b { + get { + return ResourceManager.GetString("Device_complies_with_SPI_2_T10_1142_D_revision_20b", resourceCulture); + } + } + + internal static string Device_complies_with_SPI_2_ANSI_INCITS_302_1999 { + get { + return ResourceManager.GetString("Device_complies_with_SPI_2_ANSI_INCITS_302_1999", resourceCulture); + } + } + + internal static string Device_complies_with_SPI_3_no_version_claimed { + get { + return ResourceManager.GetString("Device_complies_with_SPI_3_no_version_claimed", resourceCulture); + } + } + + internal static string Device_complies_with_SPI_3_T10_1302_D_revision_10 { + get { + return ResourceManager.GetString("Device_complies_with_SPI_3_T10_1302_D_revision_10", resourceCulture); + } + } + + internal static string Device_complies_with_SPI_3_T10_1302_D_revision_13a { + get { + return ResourceManager.GetString("Device_complies_with_SPI_3_T10_1302_D_revision_13a", resourceCulture); + } + } + + internal static string Device_complies_with_SPI_3_T10_1302_D_revision_14 { + get { + return ResourceManager.GetString("Device_complies_with_SPI_3_T10_1302_D_revision_14", resourceCulture); + } + } + + internal static string Device_complies_with_SPI_3_ANSI_INCITS_336_2000 { + get { + return ResourceManager.GetString("Device_complies_with_SPI_3_ANSI_INCITS_336_2000", resourceCulture); + } + } + + internal static string Device_complies_with_EPI_no_version_claimed { + get { + return ResourceManager.GetString("Device_complies_with_EPI_no_version_claimed", resourceCulture); + } + } + + internal static string Device_complies_with_EPI_T10_1134_revision_16 { + get { + return ResourceManager.GetString("Device_complies_with_EPI_T10_1134_revision_16", resourceCulture); + } + } + + internal static string Device_complies_with_EPI_ANSI_INCITS_TR_23_1999 { + get { + return ResourceManager.GetString("Device_complies_with_EPI_ANSI_INCITS_TR_23_1999", resourceCulture); + } + } + + internal static string Device_complies_with_SPI_4_no_version_claimed { + get { + return ResourceManager.GetString("Device_complies_with_SPI_4_no_version_claimed", resourceCulture); + } + } + + internal static string Device_complies_with_SPI_4_T10_1365_D_revision_7 { + get { + return ResourceManager.GetString("Device_complies_with_SPI_4_T10_1365_D_revision_7", resourceCulture); + } + } + + internal static string Device_complies_with_SPI_4_T10_1365_D_revision_9 { + get { + return ResourceManager.GetString("Device_complies_with_SPI_4_T10_1365_D_revision_9", resourceCulture); + } + } + + internal static string Device_complies_with_SPI_4_ANSI_INCITS_362_2002 { + get { + return ResourceManager.GetString("Device_complies_with_SPI_4_ANSI_INCITS_362_2002", resourceCulture); + } + } + + internal static string Device_complies_with_SPI_4_T10_1365_D_revision_10 { + get { + return ResourceManager.GetString("Device_complies_with_SPI_4_T10_1365_D_revision_10", resourceCulture); + } + } + + internal static string Device_complies_with_SPI_5_no_version_claimed { + get { + return ResourceManager.GetString("Device_complies_with_SPI_5_no_version_claimed", resourceCulture); + } + } + + internal static string Device_complies_with_SPI_5_T10_1525_D_revision_3 { + get { + return ResourceManager.GetString("Device_complies_with_SPI_5_T10_1525_D_revision_3", resourceCulture); + } + } + + internal static string Device_complies_with_SPI_5_T10_1525_D_revision_5 { + get { + return ResourceManager.GetString("Device_complies_with_SPI_5_T10_1525_D_revision_5", resourceCulture); + } + } + + internal static string Device_complies_with_SPI_5_T10_1525_D_revision_6 { + get { + return ResourceManager.GetString("Device_complies_with_SPI_5_T10_1525_D_revision_6", resourceCulture); + } + } + + internal static string Device_complies_with_SPI_5_ANSI_INCITS_367_2003 { + get { + return ResourceManager.GetString("Device_complies_with_SPI_5_ANSI_INCITS_367_2003", resourceCulture); + } + } + + internal static string Device_complies_with_SAS_no_version_claimed { + get { + return ResourceManager.GetString("Device_complies_with_SAS_no_version_claimed", resourceCulture); + } + } + + internal static string Device_complies_with_SAS_T10_1562_D_revision_01 { + get { + return ResourceManager.GetString("Device_complies_with_SAS_T10_1562_D_revision_01", resourceCulture); + } + } + + internal static string Device_complies_with_SAS_T10_1562_D_revision_03 { + get { + return ResourceManager.GetString("Device_complies_with_SAS_T10_1562_D_revision_03", resourceCulture); + } + } + + internal static string Device_complies_with_SAS_T10_1562_D_revision_04 { + get { + return ResourceManager.GetString("Device_complies_with_SAS_T10_1562_D_revision_04", resourceCulture); + } + } + + internal static string Device_complies_with_SAS_T10_1562_D_revision_05 { + get { + return ResourceManager.GetString("Device_complies_with_SAS_T10_1562_D_revision_05", resourceCulture); + } + } + + internal static string Device_complies_with_SAS_ANSI_INCITS_376_2003 { + get { + return ResourceManager.GetString("Device_complies_with_SAS_ANSI_INCITS_376_2003", resourceCulture); + } + } + + internal static string Device_complies_with_SAS_1_1_no_version_claimed { + get { + return ResourceManager.GetString("Device_complies_with_SAS_1_1_no_version_claimed", resourceCulture); + } + } + + internal static string Device_complies_with_SAS_1_1_T10_1601_D_revision_9 { + get { + return ResourceManager.GetString("Device_complies_with_SAS_1_1_T10_1601_D_revision_9", resourceCulture); + } + } + + internal static string Device_complies_with_SAS_1_1_T10_1601_D_revision_10 { + get { + return ResourceManager.GetString("Device_complies_with_SAS_1_1_T10_1601_D_revision_10", resourceCulture); + } + } + + internal static string Device_complies_with_SAS_1_1_ANSI_INCITS_417_2006 { + get { + return ResourceManager.GetString("Device_complies_with_SAS_1_1_ANSI_INCITS_417_2006", resourceCulture); + } + } + + internal static string Device_complies_with_SAS_1_1_ISO_IEC_14776_151 { + get { + return ResourceManager.GetString("Device_complies_with_SAS_1_1_ISO_IEC_14776_151", resourceCulture); + } + } + + internal static string Device_complies_with_SAS_2_no_version_claimed { + get { + return ResourceManager.GetString("Device_complies_with_SAS_2_no_version_claimed", resourceCulture); + } + } + + internal static string Device_complies_with_SAS_2_T10_1760_D_revision_14 { + get { + return ResourceManager.GetString("Device_complies_with_SAS_2_T10_1760_D_revision_14", resourceCulture); + } + } + + internal static string Device_complies_with_SAS_2_T10_1760_D_revision_15 { + get { + return ResourceManager.GetString("Device_complies_with_SAS_2_T10_1760_D_revision_15", resourceCulture); + } + } + + internal static string Device_complies_with_SAS_2_T10_1760_D_revision_16 { + get { + return ResourceManager.GetString("Device_complies_with_SAS_2_T10_1760_D_revision_16", resourceCulture); + } + } + + internal static string Device_complies_with_SAS_2_ANSI_INCITS_457_2010 { + get { + return ResourceManager.GetString("Device_complies_with_SAS_2_ANSI_INCITS_457_2010", resourceCulture); + } + } + + internal static string Device_complies_with_SAS_2_1_no_version_claimed { + get { + return ResourceManager.GetString("Device_complies_with_SAS_2_1_no_version_claimed", resourceCulture); + } + } + + internal static string Device_complies_with_SAS_2_1_T10_2125_D_revision_04 { + get { + return ResourceManager.GetString("Device_complies_with_SAS_2_1_T10_2125_D_revision_04", resourceCulture); + } + } + + internal static string Device_complies_with_SAS_2_1_T10_2125_D_revision_06 { + get { + return ResourceManager.GetString("Device_complies_with_SAS_2_1_T10_2125_D_revision_06", resourceCulture); + } + } + + internal static string Device_complies_with_SAS_2_1_T10_2125_D_revision_07 { + get { + return ResourceManager.GetString("Device_complies_with_SAS_2_1_T10_2125_D_revision_07", resourceCulture); + } + } + + internal static string Device_complies_with_SAS_2_1_ANSI_INCITS_478_2011 { + get { + return ResourceManager.GetString("Device_complies_with_SAS_2_1_ANSI_INCITS_478_2011", resourceCulture); + } + } + + internal static string Device_complies_with_SAS_2_1_ANSI_INCITS_478_2011_w__Amnd_1_ANSI_INCITS_478_AM1_2014 { + get { + return ResourceManager.GetString("Device_complies_with_SAS_2_1_ANSI_INCITS_478_2011_w__Amnd_1_ANSI_INCITS_478_AM1_2" + + "014", resourceCulture); + } + } + + internal static string Device_complies_with_SAS_2_1_ISO_IEC_14776_153 { + get { + return ResourceManager.GetString("Device_complies_with_SAS_2_1_ISO_IEC_14776_153", resourceCulture); + } + } + + internal static string Device_complies_with_SAS_3_no_version_claimed { + get { + return ResourceManager.GetString("Device_complies_with_SAS_3_no_version_claimed", resourceCulture); + } + } + + internal static string Device_complies_with_SAS_3_T10_BSR_INCITS_519_revision_05a { + get { + return ResourceManager.GetString("Device_complies_with_SAS_3_T10_BSR_INCITS_519_revision_05a", resourceCulture); + } + } + + internal static string Device_complies_with_SAS_3_T10_BSR_INCITS_519_revision_06 { + get { + return ResourceManager.GetString("Device_complies_with_SAS_3_T10_BSR_INCITS_519_revision_06", resourceCulture); + } + } + + internal static string Device_complies_with_SAS_3_ANSI_INCITS_519_2014 { + get { + return ResourceManager.GetString("Device_complies_with_SAS_3_ANSI_INCITS_519_2014", resourceCulture); + } + } + + internal static string Device_complies_with_SAS_4_no_version_claimed { + get { + return ResourceManager.GetString("Device_complies_with_SAS_4_no_version_claimed", resourceCulture); + } + } + + internal static string Device_complies_with_FC_PH_no_version_claimed { + get { + return ResourceManager.GetString("Device_complies_with_FC_PH_no_version_claimed", resourceCulture); + } + } + + internal static string Device_complies_with_FC_PH_ANSI_INCITS_230_1994 { + get { + return ResourceManager.GetString("Device_complies_with_FC_PH_ANSI_INCITS_230_1994", resourceCulture); + } + } + + internal static string Device_complies_with_FC_PH_ANSI_INCITS_230_1994_with_Amnd_1_ANSI_INCITS_230_AM1_1996 { + get { + return ResourceManager.GetString("Device_complies_with_FC_PH_ANSI_INCITS_230_1994_with_Amnd_1_ANSI_INCITS_230_AM1_1" + + "996", resourceCulture); + } + } + + internal static string Device_complies_with_FC_AL_no_version_claimed { + get { + return ResourceManager.GetString("Device_complies_with_FC_AL_no_version_claimed", resourceCulture); + } + } + + internal static string Device_complies_with_FC_AL_ANSI_INCITS_272_1996 { + get { + return ResourceManager.GetString("Device_complies_with_FC_AL_ANSI_INCITS_272_1996", resourceCulture); + } + } + + internal static string Device_complies_with_FC_AL_2_no_version_claimed { + get { + return ResourceManager.GetString("Device_complies_with_FC_AL_2_no_version_claimed", resourceCulture); + } + } + + internal static string Device_complies_with_FC_AL_2_T11_1133_D_revision_7_0 { + get { + return ResourceManager.GetString("Device_complies_with_FC_AL_2_T11_1133_D_revision_7_0", resourceCulture); + } + } + + internal static string Device_complies_with_FC_AL_2_ANSI_INCITS_332_1999_with_AM1_2003___AM2_2006 { + get { + return ResourceManager.GetString("Device_complies_with_FC_AL_2_ANSI_INCITS_332_1999_with_AM1_2003___AM2_2006", resourceCulture); + } + } + + internal static string Device_complies_with_FC_AL_2_ANSI_INCITS_332_1999_with_Amnd_2_AM2_2006 { + get { + return ResourceManager.GetString("Device_complies_with_FC_AL_2_ANSI_INCITS_332_1999_with_Amnd_2_AM2_2006", resourceCulture); + } + } + + internal static string Device_complies_with_FC_AL_2_ISO_IEC_14165_122_with_AM1___AM2 { + get { + return ResourceManager.GetString("Device_complies_with_FC_AL_2_ISO_IEC_14165_122_with_AM1___AM2", resourceCulture); + } + } + + internal static string Device_complies_with_FC_AL_2_ANSI_INCITS_332_1999 { + get { + return ResourceManager.GetString("Device_complies_with_FC_AL_2_ANSI_INCITS_332_1999", resourceCulture); + } + } + + internal static string Device_complies_with_FC_AL_2_ANSI_INCITS_332_1999_with_Amnd_1_AM1_2003 { + get { + return ResourceManager.GetString("Device_complies_with_FC_AL_2_ANSI_INCITS_332_1999_with_Amnd_1_AM1_2003", resourceCulture); + } + } + + internal static string Device_complies_with_FC_PH_3_no_version_claimed { + get { + return ResourceManager.GetString("Device_complies_with_FC_PH_3_no_version_claimed", resourceCulture); + } + } + + internal static string Device_complies_with_FC_PH_3_ANSI_INCITS_303_1998 { + get { + return ResourceManager.GetString("Device_complies_with_FC_PH_3_ANSI_INCITS_303_1998", resourceCulture); + } + } + + internal static string Device_complies_with_FC_FS_no_version_claimed { + get { + return ResourceManager.GetString("Device_complies_with_FC_FS_no_version_claimed", resourceCulture); + } + } + + internal static string Device_complies_with_FC_FS_T11_1331_D_revision_1_2 { + get { + return ResourceManager.GetString("Device_complies_with_FC_FS_T11_1331_D_revision_1_2", resourceCulture); + } + } + + internal static string Device_complies_with_FC_FS_T11_1331_D_revision_1_7 { + get { + return ResourceManager.GetString("Device_complies_with_FC_FS_T11_1331_D_revision_1_7", resourceCulture); + } + } + + internal static string Device_complies_with_FC_FS_ANSI_INCITS_373_2003 { + get { + return ResourceManager.GetString("Device_complies_with_FC_FS_ANSI_INCITS_373_2003", resourceCulture); + } + } + + internal static string Device_complies_with_FC_FS_ISO_IEC_14165_251 { + get { + return ResourceManager.GetString("Device_complies_with_FC_FS_ISO_IEC_14165_251", resourceCulture); + } + } + + internal static string Device_complies_with_FC_PI_no_version_claimed { + get { + return ResourceManager.GetString("Device_complies_with_FC_PI_no_version_claimed", resourceCulture); + } + } + + internal static string Device_complies_with_FC_PI_ANSI_INCITS_352_2002 { + get { + return ResourceManager.GetString("Device_complies_with_FC_PI_ANSI_INCITS_352_2002", resourceCulture); + } + } + + internal static string Device_complies_with_FC_PI_2_no_version_claimed { + get { + return ResourceManager.GetString("Device_complies_with_FC_PI_2_no_version_claimed", resourceCulture); + } + } + + internal static string Device_complies_with_FC_PI_2_T11_1506_D_revision_5_0 { + get { + return ResourceManager.GetString("Device_complies_with_FC_PI_2_T11_1506_D_revision_5_0", resourceCulture); + } + } + + internal static string Device_complies_with_FC_PI_2_ANSI_INCITS_404_2006 { + get { + return ResourceManager.GetString("Device_complies_with_FC_PI_2_ANSI_INCITS_404_2006", resourceCulture); + } + } + + internal static string Device_complies_with_FC_FS_2_no_version_claimed { + get { + return ResourceManager.GetString("Device_complies_with_FC_FS_2_no_version_claimed", resourceCulture); + } + } + + internal static string Device_complies_with_FC_FS_2_ANSI_INCITS_242_2007 { + get { + return ResourceManager.GetString("Device_complies_with_FC_FS_2_ANSI_INCITS_242_2007", resourceCulture); + } + } + + internal static string Device_complies_with_FC_FS_2_ANSI_INCITS_242_2007_with_AM1_ANSI_INCITS_242_AM1_2007 { + get { + return ResourceManager.GetString("Device_complies_with_FC_FS_2_ANSI_INCITS_242_2007_with_AM1_ANSI_INCITS_242_AM1_20" + + "07", resourceCulture); + } + } + + internal static string Device_complies_with_FC_LS_no_version_claimed { + get { + return ResourceManager.GetString("Device_complies_with_FC_LS_no_version_claimed", resourceCulture); + } + } + + internal static string Device_complies_with_FC_LS_T11_1620_D_revision_1_62 { + get { + return ResourceManager.GetString("Device_complies_with_FC_LS_T11_1620_D_revision_1_62", resourceCulture); + } + } + + internal static string Device_complies_with_FC_LS_ANSI_INCITS_433_2007 { + get { + return ResourceManager.GetString("Device_complies_with_FC_LS_ANSI_INCITS_433_2007", resourceCulture); + } + } + + internal static string Device_complies_with_FC_SP_no_version_claimed { + get { + return ResourceManager.GetString("Device_complies_with_FC_SP_no_version_claimed", resourceCulture); + } + } + + internal static string Device_complies_with_FC_SP_T11_1570_D_revision_1_6 { + get { + return ResourceManager.GetString("Device_complies_with_FC_SP_T11_1570_D_revision_1_6", resourceCulture); + } + } + + internal static string Device_complies_with_FC_SP_ANSI_INCITS_426_2007 { + get { + return ResourceManager.GetString("Device_complies_with_FC_SP_ANSI_INCITS_426_2007", resourceCulture); + } + } + + internal static string Device_complies_with_FC_PI_3_no_version_claimed { + get { + return ResourceManager.GetString("Device_complies_with_FC_PI_3_no_version_claimed", resourceCulture); + } + } + + internal static string Device_complies_with_FC_PI_3_T11_1625_D_revision_2_0 { + get { + return ResourceManager.GetString("Device_complies_with_FC_PI_3_T11_1625_D_revision_2_0", resourceCulture); + } + } + + internal static string Device_complies_with_FC_PI_3_T11_1625_D_revision_2_1 { + get { + return ResourceManager.GetString("Device_complies_with_FC_PI_3_T11_1625_D_revision_2_1", resourceCulture); + } + } + + internal static string Device_complies_with_FC_PI_3_T11_1625_D_revision_4_0 { + get { + return ResourceManager.GetString("Device_complies_with_FC_PI_3_T11_1625_D_revision_4_0", resourceCulture); + } + } + + internal static string Device_complies_with_FC_PI_3_ANSI_INCITS_460_2011 { + get { + return ResourceManager.GetString("Device_complies_with_FC_PI_3_ANSI_INCITS_460_2011", resourceCulture); + } + } + + internal static string Device_complies_with_FC_PI_4_no_version_claimed { + get { + return ResourceManager.GetString("Device_complies_with_FC_PI_4_no_version_claimed", resourceCulture); + } + } + + internal static string Device_complies_with_FC_PI_4_T11_1647_D_revision_8_0 { + get { + return ResourceManager.GetString("Device_complies_with_FC_PI_4_T11_1647_D_revision_8_0", resourceCulture); + } + } + + internal static string Device_complies_with_FC_PI_4_ANSI_INCITS_450_2009 { + get { + return ResourceManager.GetString("Device_complies_with_FC_PI_4_ANSI_INCITS_450_2009", resourceCulture); + } + } + + internal static string Device_complies_with_FC_10GFC_no_version_claimed { + get { + return ResourceManager.GetString("Device_complies_with_FC_10GFC_no_version_claimed", resourceCulture); + } + } + + internal static string Device_complies_with_FC_10GFC_ANSI_INCITS_364_2003 { + get { + return ResourceManager.GetString("Device_complies_with_FC_10GFC_ANSI_INCITS_364_2003", resourceCulture); + } + } + + internal static string Device_complies_with_FC_10GFC_ISO_IEC_14165_116 { + get { + return ResourceManager.GetString("Device_complies_with_FC_10GFC_ISO_IEC_14165_116", resourceCulture); + } + } + + internal static string Device_complies_with_FC_10GFC_ISO_IEC_14165_116_with_AM1 { + get { + return ResourceManager.GetString("Device_complies_with_FC_10GFC_ISO_IEC_14165_116_with_AM1", resourceCulture); + } + } + + internal static string Device_complies_with_FC_10GFC_ANSI_INCITS_364_2003_with_AM1_ANSI_INCITS_364_AM1_2007 { + get { + return ResourceManager.GetString("Device_complies_with_FC_10GFC_ANSI_INCITS_364_2003_with_AM1_ANSI_INCITS_364_AM1_2" + + "007", resourceCulture); + } + } + + internal static string Device_complies_with_FC_SP_2_no_version_claimed { + get { + return ResourceManager.GetString("Device_complies_with_FC_SP_2_no_version_claimed", resourceCulture); + } + } + + internal static string Device_complies_with_FC_FS_3_no_version_claimed { + get { + return ResourceManager.GetString("Device_complies_with_FC_FS_3_no_version_claimed", resourceCulture); + } + } + + internal static string Device_complies_with_FC_FS_3_T11_1861_D_revision_0_9 { + get { + return ResourceManager.GetString("Device_complies_with_FC_FS_3_T11_1861_D_revision_0_9", resourceCulture); + } + } + + internal static string Device_complies_with_FC_FS_3_T11_1861_D_revision_1_0 { + get { + return ResourceManager.GetString("Device_complies_with_FC_FS_3_T11_1861_D_revision_1_0", resourceCulture); + } + } + + internal static string Device_complies_with_FC_FS_3_T11_1861_D_revision_1_10 { + get { + return ResourceManager.GetString("Device_complies_with_FC_FS_3_T11_1861_D_revision_1_10", resourceCulture); + } + } + + internal static string Device_complies_with_FC_FS_3_ANSI_INCITS_470_2011 { + get { + return ResourceManager.GetString("Device_complies_with_FC_FS_3_ANSI_INCITS_470_2011", resourceCulture); + } + } + + internal static string Device_complies_with_FC_LS_2_no_version_claimed { + get { + return ResourceManager.GetString("Device_complies_with_FC_LS_2_no_version_claimed", resourceCulture); + } + } + + internal static string Device_complies_with_FC_LS_2_T11_2103_D_revision_2_11 { + get { + return ResourceManager.GetString("Device_complies_with_FC_LS_2_T11_2103_D_revision_2_11", resourceCulture); + } + } + + internal static string Device_complies_with_FC_LS_2_T11_2103_D_revision_2_21 { + get { + return ResourceManager.GetString("Device_complies_with_FC_LS_2_T11_2103_D_revision_2_21", resourceCulture); + } + } + + internal static string Device_complies_with_FC_LS_2_ANSI_INCITS_477_2011 { + get { + return ResourceManager.GetString("Device_complies_with_FC_LS_2_ANSI_INCITS_477_2011", resourceCulture); + } + } + + internal static string Device_complies_with_FC_PI_5_no_version_claimed { + get { + return ResourceManager.GetString("Device_complies_with_FC_PI_5_no_version_claimed", resourceCulture); + } + } + + internal static string Device_complies_with_FC_PI_5_T11_2118_D_revision_2_00 { + get { + return ResourceManager.GetString("Device_complies_with_FC_PI_5_T11_2118_D_revision_2_00", resourceCulture); + } + } + + internal static string Device_complies_with_FC_PI_5_T11_2118_D_revision_3_00 { + get { + return ResourceManager.GetString("Device_complies_with_FC_PI_5_T11_2118_D_revision_3_00", resourceCulture); + } + } + + internal static string Device_complies_with_FC_PI_5_T11_2118_D_revision_6_00 { + get { + return ResourceManager.GetString("Device_complies_with_FC_PI_5_T11_2118_D_revision_6_00", resourceCulture); + } + } + + internal static string Device_complies_with_FC_PI_5_T11_2118_D_revision_6_10 { + get { + return ResourceManager.GetString("Device_complies_with_FC_PI_5_T11_2118_D_revision_6_10", resourceCulture); + } + } + + internal static string Device_complies_with_FC_PI_5_ANSI_INCITS_479_2011 { + get { + return ResourceManager.GetString("Device_complies_with_FC_PI_5_ANSI_INCITS_479_2011", resourceCulture); + } + } + + internal static string Device_complies_with_FC_PI_6_no_version_claimed { + get { + return ResourceManager.GetString("Device_complies_with_FC_PI_6_no_version_claimed", resourceCulture); + } + } + + internal static string Device_complies_with_FC_FS_4_no_version_claimed { + get { + return ResourceManager.GetString("Device_complies_with_FC_FS_4_no_version_claimed", resourceCulture); + } + } + + internal static string Device_complies_with_FC_LS_3_no_version_claimed { + get { + return ResourceManager.GetString("Device_complies_with_FC_LS_3_no_version_claimed", resourceCulture); + } + } + + internal static string Device_complies_with_FC_SCM_no_version_claimed { + get { + return ResourceManager.GetString("Device_complies_with_FC_SCM_no_version_claimed", resourceCulture); + } + } + + internal static string Device_complies_with_FC_SCM_T11_1824DT_revision_1_0 { + get { + return ResourceManager.GetString("Device_complies_with_FC_SCM_T11_1824DT_revision_1_0", resourceCulture); + } + } + + internal static string Device_complies_with_FC_SCM_T11_1824DT_revision_1_1 { + get { + return ResourceManager.GetString("Device_complies_with_FC_SCM_T11_1824DT_revision_1_1", resourceCulture); + } + } + + internal static string Device_complies_with_FC_SCM_T11_1824DT_revision_1_4 { + get { + return ResourceManager.GetString("Device_complies_with_FC_SCM_T11_1824DT_revision_1_4", resourceCulture); + } + } + + internal static string Device_complies_with_FC_SCM_INCITS_TR_47_2012 { + get { + return ResourceManager.GetString("Device_complies_with_FC_SCM_INCITS_TR_47_2012", resourceCulture); + } + } + + internal static string Device_complies_with_FC_DA_2_no_version_claimed { + get { + return ResourceManager.GetString("Device_complies_with_FC_DA_2_no_version_claimed", resourceCulture); + } + } + + internal static string Device_complies_with_FC_DA_2_T11_1870DT_revision_1_04 { + get { + return ResourceManager.GetString("Device_complies_with_FC_DA_2_T11_1870DT_revision_1_04", resourceCulture); + } + } + + internal static string Device_complies_with_FC_DA_2_T11_1870DT_revision_1_06 { + get { + return ResourceManager.GetString("Device_complies_with_FC_DA_2_T11_1870DT_revision_1_06", resourceCulture); + } + } + + internal static string Device_complies_with_FC_DA_2_INCITS_TR_49_2012 { + get { + return ResourceManager.GetString("Device_complies_with_FC_DA_2_INCITS_TR_49_2012", resourceCulture); + } + } + + internal static string Device_complies_with_FC_DA_no_version_claimed { + get { + return ResourceManager.GetString("Device_complies_with_FC_DA_no_version_claimed", resourceCulture); + } + } + + internal static string Device_complies_with_FC_DA_T11_1513_DT_revision_3_1 { + get { + return ResourceManager.GetString("Device_complies_with_FC_DA_T11_1513_DT_revision_3_1", resourceCulture); + } + } + + internal static string Device_complies_with_FC_DA_ANSI_INCITS_TR_36_2004 { + get { + return ResourceManager.GetString("Device_complies_with_FC_DA_ANSI_INCITS_TR_36_2004", resourceCulture); + } + } + + internal static string Device_complies_with_FC_DA_ISO_IEC_14165_341 { + get { + return ResourceManager.GetString("Device_complies_with_FC_DA_ISO_IEC_14165_341", resourceCulture); + } + } + + internal static string Device_complies_with_FC_Tape_no_version_claimed { + get { + return ResourceManager.GetString("Device_complies_with_FC_Tape_no_version_claimed", resourceCulture); + } + } + + internal static string Device_complies_with_FC_Tape_T11_1315_revision_1_16 { + get { + return ResourceManager.GetString("Device_complies_with_FC_Tape_T11_1315_revision_1_16", resourceCulture); + } + } + + internal static string Device_complies_with_FC_Tape_T11_1315_revision_1_17 { + get { + return ResourceManager.GetString("Device_complies_with_FC_Tape_T11_1315_revision_1_17", resourceCulture); + } + } + + internal static string Device_complies_with_FC_Tape_ANSI_INCITS_TR_24_1999 { + get { + return ResourceManager.GetString("Device_complies_with_FC_Tape_ANSI_INCITS_TR_24_1999", resourceCulture); + } + } + + internal static string Device_complies_with_FC_FLA_no_version_claimed { + get { + return ResourceManager.GetString("Device_complies_with_FC_FLA_no_version_claimed", resourceCulture); + } + } + + internal static string Device_complies_with_FC_FLA_T11_1235_revision_7 { + get { + return ResourceManager.GetString("Device_complies_with_FC_FLA_T11_1235_revision_7", resourceCulture); + } + } + + internal static string Device_complies_with_FC_FLA_ANSI_INCITS_TR_20_1998 { + get { + return ResourceManager.GetString("Device_complies_with_FC_FLA_ANSI_INCITS_TR_20_1998", resourceCulture); + } + } + + internal static string Device_complies_with_FC_PLDA_no_version_claimed { + get { + return ResourceManager.GetString("Device_complies_with_FC_PLDA_no_version_claimed", resourceCulture); + } + } + + internal static string Device_complies_with_FC_PLDA_T11_1162_revision_2_1 { + get { + return ResourceManager.GetString("Device_complies_with_FC_PLDA_T11_1162_revision_2_1", resourceCulture); + } + } + + internal static string Device_complies_with_FC_PLDA_ANSI_INCITS_TR_19_1998 { + get { + return ResourceManager.GetString("Device_complies_with_FC_PLDA_ANSI_INCITS_TR_19_1998", resourceCulture); + } + } + + internal static string Device_complies_with_SSA_PH2_no_version_claimed { + get { + return ResourceManager.GetString("Device_complies_with_SSA_PH2_no_version_claimed", resourceCulture); + } + } + + internal static string Device_complies_with_SSA_PH2_T10_1_1145_D_revision_09c { + get { + return ResourceManager.GetString("Device_complies_with_SSA_PH2_T10_1_1145_D_revision_09c", resourceCulture); + } + } + + internal static string Device_complies_with_SSA_PH2_ANSI_INCITS_293_1996 { + get { + return ResourceManager.GetString("Device_complies_with_SSA_PH2_ANSI_INCITS_293_1996", resourceCulture); + } + } + + internal static string Device_complies_with_SSA_PH3_no_version_claimed { + get { + return ResourceManager.GetString("Device_complies_with_SSA_PH3_no_version_claimed", resourceCulture); + } + } + + internal static string Device_complies_with_SSA_PH3_T10_1_1146_D_revision_05b { + get { + return ResourceManager.GetString("Device_complies_with_SSA_PH3_T10_1_1146_D_revision_05b", resourceCulture); + } + } + + internal static string Device_complies_with_SSA_PH3_ANSI_INCITS_307_1998 { + get { + return ResourceManager.GetString("Device_complies_with_SSA_PH3_ANSI_INCITS_307_1998", resourceCulture); + } + } + + internal static string Device_complies_with_IEEE_1394_no_version_claimed { + get { + return ResourceManager.GetString("Device_complies_with_IEEE_1394_no_version_claimed", resourceCulture); + } + } + + internal static string Device_complies_with_ANSI_IEEE_1394_1995 { + get { + return ResourceManager.GetString("Device_complies_with_ANSI_IEEE_1394_1995", resourceCulture); + } + } + + internal static string Device_complies_with_IEEE_1394a_no_version_claimed { + get { + return ResourceManager.GetString("Device_complies_with_IEEE_1394a_no_version_claimed", resourceCulture); + } + } + + internal static string Device_complies_with_IEEE_1394b_no_version_claimed { + get { + return ResourceManager.GetString("Device_complies_with_IEEE_1394b_no_version_claimed", resourceCulture); + } + } + + internal static string Device_complies_with_ATA_ATAPI_6_no_version_claimed { + get { + return ResourceManager.GetString("Device_complies_with_ATA_ATAPI_6_no_version_claimed", resourceCulture); + } + } + + internal static string Device_complies_with_ATA_ATAPI_6_ANSI_INCITS_361_2002 { + get { + return ResourceManager.GetString("Device_complies_with_ATA_ATAPI_6_ANSI_INCITS_361_2002", resourceCulture); + } + } + + internal static string Device_complies_with_ATA_ATAPI_7_no_version_claimed { + get { + return ResourceManager.GetString("Device_complies_with_ATA_ATAPI_7_no_version_claimed", resourceCulture); + } + } + + internal static string Device_complies_with_ATA_ATAPI_7_T13_1532_D_revision_3 { + get { + return ResourceManager.GetString("Device_complies_with_ATA_ATAPI_7_T13_1532_D_revision_3", resourceCulture); + } + } + + internal static string Device_complies_with_ATA_ATAPI_7_ANSI_INCITS_397_2005 { + get { + return ResourceManager.GetString("Device_complies_with_ATA_ATAPI_7_ANSI_INCITS_397_2005", resourceCulture); + } + } + + internal static string Device_complies_with_ATA_ATAPI_7_ISO_IEC_24739 { + get { + return ResourceManager.GetString("Device_complies_with_ATA_ATAPI_7_ISO_IEC_24739", resourceCulture); + } + } + + internal static string Device_complies_with_ATA_ATAPI_8_ATA8_AAM_no_version_claimed { + get { + return ResourceManager.GetString("Device_complies_with_ATA_ATAPI_8_ATA8_AAM_no_version_claimed", resourceCulture); + } + } + + internal static string Device_complies_with_ATA_ATAPI_8_ATA8_APT_Parallel_Transport_no_version_claimed { + get { + return ResourceManager.GetString("Device_complies_with_ATA_ATAPI_8_ATA8_APT_Parallel_Transport_no_version_claimed", resourceCulture); + } + } + + internal static string Device_complies_with_ATA_ATAPI_8_ATA8_AST_Serial_Transport_no_version_claimed { + get { + return ResourceManager.GetString("Device_complies_with_ATA_ATAPI_8_ATA8_AST_Serial_Transport_no_version_claimed", resourceCulture); + } + } + + internal static string Device_complies_with_ATA_ATAPI_8_ATA8_ACS_ATA_ATAPI_Command_Set_no_version_claimed { + get { + return ResourceManager.GetString("Device_complies_with_ATA_ATAPI_8_ATA8_ACS_ATA_ATAPI_Command_Set_no_version_claime" + + "d", resourceCulture); + } + } + + internal static string Device_complies_with_ATA_ATAPI_8_ATA8_AAM_ANSI_INCITS_451_2008 { + get { + return ResourceManager.GetString("Device_complies_with_ATA_ATAPI_8_ATA8_AAM_ANSI_INCITS_451_2008", resourceCulture); + } + } + + internal static string Device_complies_with_ATA_ATAPI_8_ATA8_ACS_ANSI_INCITS_452_2009_w__Amendment_1 { + get { + return ResourceManager.GetString("Device_complies_with_ATA_ATAPI_8_ATA8_ACS_ANSI_INCITS_452_2009_w__Amendment_1", resourceCulture); + } + } + + internal static string Device_complies_with_Universal_Serial_Bus_Specification__Revision_1_1 { + get { + return ResourceManager.GetString("Device_complies_with_Universal_Serial_Bus_Specification__Revision_1_1", resourceCulture); + } + } + + internal static string Device_complies_with_Universal_Serial_Bus_Specification__Revision_2_0 { + get { + return ResourceManager.GetString("Device_complies_with_Universal_Serial_Bus_Specification__Revision_2_0", resourceCulture); + } + } + + internal static string Device_complies_with_USB_Mass_Storage_Class_Bulk_Only_Transport__Revision_1_0 { + get { + return ResourceManager.GetString("Device_complies_with_USB_Mass_Storage_Class_Bulk_Only_Transport__Revision_1_0", resourceCulture); + } + } + + internal static string Device_complies_with_UAS_no_version_claimed { + get { + return ResourceManager.GetString("Device_complies_with_UAS_no_version_claimed", resourceCulture); + } + } + + internal static string Device_complies_with_UAS_T10_2095_D_revision_02 { + get { + return ResourceManager.GetString("Device_complies_with_UAS_T10_2095_D_revision_02", resourceCulture); + } + } + + internal static string Device_complies_with_UAS_T10_2095_D_revision_04 { + get { + return ResourceManager.GetString("Device_complies_with_UAS_T10_2095_D_revision_04", resourceCulture); + } + } + + internal static string Device_complies_with_UAS_ANSI_INCITS_471_2010 { + get { + return ResourceManager.GetString("Device_complies_with_UAS_ANSI_INCITS_471_2010", resourceCulture); + } + } + + internal static string Device_complies_with_UAS_ISO_IEC_14776_251_2014 { + get { + return ResourceManager.GetString("Device_complies_with_UAS_ISO_IEC_14776_251_2014", resourceCulture); + } + } + + internal static string Device_complies_with_ACS_2_no_version_claimed { + get { + return ResourceManager.GetString("Device_complies_with_ACS_2_no_version_claimed", resourceCulture); + } + } + + internal static string Device_complies_with_ACS_2_ANSI_INCITS_482_2013 { + get { + return ResourceManager.GetString("Device_complies_with_ACS_2_ANSI_INCITS_482_2013", resourceCulture); + } + } + + internal static string Device_complies_with_ACS_3_no_version_claimed { + get { + return ResourceManager.GetString("Device_complies_with_ACS_3_no_version_claimed", resourceCulture); + } + } + + internal static string Device_complies_with_UAS_2_no_version_claimed { + get { + return ResourceManager.GetString("Device_complies_with_UAS_2_no_version_claimed", resourceCulture); + } + } + + internal static string Device_complies_with_SAT_no_version_claimed { + get { + return ResourceManager.GetString("Device_complies_with_SAT_no_version_claimed", resourceCulture); + } + } + + internal static string Device_complies_with_SAT_T10_1711_D_revision_8 { + get { + return ResourceManager.GetString("Device_complies_with_SAT_T10_1711_D_revision_8", resourceCulture); + } + } + + internal static string Device_complies_with_SAT_T10_1711_D_revision_9 { + get { + return ResourceManager.GetString("Device_complies_with_SAT_T10_1711_D_revision_9", resourceCulture); + } + } + + internal static string Device_complies_with_SAT_ANSI_INCITS_431_2007 { + get { + return ResourceManager.GetString("Device_complies_with_SAT_ANSI_INCITS_431_2007", resourceCulture); + } + } + + internal static string Device_complies_with_SAT_2_no_version_claimed { + get { + return ResourceManager.GetString("Device_complies_with_SAT_2_no_version_claimed", resourceCulture); + } + } + + internal static string Device_complies_with_SAT_2_T10_1826_D_revision_06 { + get { + return ResourceManager.GetString("Device_complies_with_SAT_2_T10_1826_D_revision_06", resourceCulture); + } + } + + internal static string Device_complies_with_SAT_2_T10_1826_D_revision_09 { + get { + return ResourceManager.GetString("Device_complies_with_SAT_2_T10_1826_D_revision_09", resourceCulture); + } + } + + internal static string Device_complies_with_SAT_2_ANSI_INCITS_465_2010 { + get { + return ResourceManager.GetString("Device_complies_with_SAT_2_ANSI_INCITS_465_2010", resourceCulture); + } + } + + internal static string Device_complies_with_SAT_3_no_version_claimed { + get { + return ResourceManager.GetString("Device_complies_with_SAT_3_no_version_claimed", resourceCulture); + } + } + + internal static string Device_complies_with_SAT_3_T10_BSR_INCITS_517_revision_4 { + get { + return ResourceManager.GetString("Device_complies_with_SAT_3_T10_BSR_INCITS_517_revision_4", resourceCulture); + } + } + + internal static string Device_complies_with_SAT_3_T10_BSR_INCITS_517_revision_7 { + get { + return ResourceManager.GetString("Device_complies_with_SAT_3_T10_BSR_INCITS_517_revision_7", resourceCulture); + } + } + + internal static string Device_complies_with_SAT_3_ANSI_INCITS_517_2015 { + get { + return ResourceManager.GetString("Device_complies_with_SAT_3_ANSI_INCITS_517_2015", resourceCulture); + } + } + + internal static string Device_complies_with_SAT_4_no_version_claimed { + get { + return ResourceManager.GetString("Device_complies_with_SAT_4_no_version_claimed", resourceCulture); + } + } + + internal static string Device_complies_with_SPL_no_version_claimed { + get { + return ResourceManager.GetString("Device_complies_with_SPL_no_version_claimed", resourceCulture); + } + } + + internal static string Device_complies_with_SPL_T10_2124_D_revision_6a { + get { + return ResourceManager.GetString("Device_complies_with_SPL_T10_2124_D_revision_6a", resourceCulture); + } + } + + internal static string Device_complies_with_SPL_T10_2124_D_revision_7 { + get { + return ResourceManager.GetString("Device_complies_with_SPL_T10_2124_D_revision_7", resourceCulture); + } + } + + internal static string Device_complies_with_SPL_ANSI_INCITS_476_2011 { + get { + return ResourceManager.GetString("Device_complies_with_SPL_ANSI_INCITS_476_2011", resourceCulture); + } + } + + internal static string Device_complies_with_SPL_ANSI_INCITS_476_2011_SPL_AM1_INCITS_476_AM1_2012 { + get { + return ResourceManager.GetString("Device_complies_with_SPL_ANSI_INCITS_476_2011_SPL_AM1_INCITS_476_AM1_2012", resourceCulture); + } + } + + internal static string Device_complies_with_SPL_ISO_IEC_14776_261_2012 { + get { + return ResourceManager.GetString("Device_complies_with_SPL_ISO_IEC_14776_261_2012", resourceCulture); + } + } + + internal static string Device_complies_with_SPL_2_no_version_claimed { + get { + return ResourceManager.GetString("Device_complies_with_SPL_2_no_version_claimed", resourceCulture); + } + } + + internal static string Device_complies_with_SPL_2_T10_BSR_INCITS_505_revision_4 { + get { + return ResourceManager.GetString("Device_complies_with_SPL_2_T10_BSR_INCITS_505_revision_4", resourceCulture); + } + } + + internal static string Device_complies_with_SPL_2_T10_BSR_INCITS_505_revision_5 { + get { + return ResourceManager.GetString("Device_complies_with_SPL_2_T10_BSR_INCITS_505_revision_5", resourceCulture); + } + } + + internal static string Device_complies_with_SPL_2_ANSI_INCITS_505_2013 { + get { + return ResourceManager.GetString("Device_complies_with_SPL_2_ANSI_INCITS_505_2013", resourceCulture); + } + } + + internal static string Device_complies_with_SPL_3_no_version_claimed { + get { + return ResourceManager.GetString("Device_complies_with_SPL_3_no_version_claimed", resourceCulture); + } + } + + internal static string Device_complies_with_SPL_3_T10_BSR_INCITS_492_revision_6 { + get { + return ResourceManager.GetString("Device_complies_with_SPL_3_T10_BSR_INCITS_492_revision_6", resourceCulture); + } + } + + internal static string Device_complies_with_SPL_3_T10_BSR_INCITS_492_revision_7 { + get { + return ResourceManager.GetString("Device_complies_with_SPL_3_T10_BSR_INCITS_492_revision_7", resourceCulture); + } + } + + internal static string Device_complies_with_SPL_3_ANSI_INCITS_492_2015 { + get { + return ResourceManager.GetString("Device_complies_with_SPL_3_ANSI_INCITS_492_2015", resourceCulture); + } + } + + internal static string Device_complies_with_SPL_4_no_version_claimed { + get { + return ResourceManager.GetString("Device_complies_with_SPL_4_no_version_claimed", resourceCulture); + } + } + + internal static string Device_complies_with_SOP_no_version_claimed { + get { + return ResourceManager.GetString("Device_complies_with_SOP_no_version_claimed", resourceCulture); + } + } + + internal static string Device_complies_with_SOP_T10_BSR_INCITS_489_revision_4 { + get { + return ResourceManager.GetString("Device_complies_with_SOP_T10_BSR_INCITS_489_revision_4", resourceCulture); + } + } + + internal static string Device_complies_with_SOP_T10_BSR_INCITS_489_revision_5 { + get { + return ResourceManager.GetString("Device_complies_with_SOP_T10_BSR_INCITS_489_revision_5", resourceCulture); + } + } + + internal static string Device_complies_with_SOP_ANSI_INCITS_489_2014 { + get { + return ResourceManager.GetString("Device_complies_with_SOP_ANSI_INCITS_489_2014", resourceCulture); + } + } + + internal static string Device_complies_with_PQI_no_version_claimed { + get { + return ResourceManager.GetString("Device_complies_with_PQI_no_version_claimed", resourceCulture); + } + } + + internal static string Device_complies_with_PQI_T10_BSR_INCITS_490_revision_6 { + get { + return ResourceManager.GetString("Device_complies_with_PQI_T10_BSR_INCITS_490_revision_6", resourceCulture); + } + } + + internal static string Device_complies_with_PQI_T10_BSR_INCITS_490_revision_7 { + get { + return ResourceManager.GetString("Device_complies_with_PQI_T10_BSR_INCITS_490_revision_7", resourceCulture); + } + } + + internal static string Device_complies_with_PQI_ANSI_INCITS_490_2014 { + get { + return ResourceManager.GetString("Device_complies_with_PQI_ANSI_INCITS_490_2014", resourceCulture); + } + } + + internal static string Device_complies_with_SOP_2_no_version_claimed { + get { + return ResourceManager.GetString("Device_complies_with_SOP_2_no_version_claimed", resourceCulture); + } + } + + internal static string Device_complies_with_PQI_2_no_version_claimed { + get { + return ResourceManager.GetString("Device_complies_with_PQI_2_no_version_claimed", resourceCulture); + } + } + + internal static string Device_complies_with_IEEE_1667_no_version_claimed { + get { + return ResourceManager.GetString("Device_complies_with_IEEE_1667_no_version_claimed", resourceCulture); + } + } + + internal static string Device_complies_with_IEEE_1667_2006 { + get { + return ResourceManager.GetString("Device_complies_with_IEEE_1667_2006", resourceCulture); + } + } + + internal static string Device_complies_with_IEEE_1667_2009 { + get { + return ResourceManager.GetString("Device_complies_with_IEEE_1667_2009", resourceCulture); + } + } + + internal static string Device_complies_with_unknown_standard_code_0 { + get { + return ResourceManager.GetString("Device_complies_with_unknown_standard_code_0", resourceCulture); + } + } + + internal static string Quantum_vendor_specific_information { + get { + return ResourceManager.GetString("Quantum_vendor_specific_information", resourceCulture); + } + } + + internal static string Product_family_is_not_specified { + get { + return ResourceManager.GetString("Product_family_is_not_specified", resourceCulture); + } + } + + internal static string Product_family_is_2_6_GB { + get { + return ResourceManager.GetString("Product_family_is_2_6_GB", resourceCulture); + } + } + + internal static string Product_family_is_6_0_GB { + get { + return ResourceManager.GetString("Product_family_is_6_0_GB", resourceCulture); + } + } + + internal static string Product_family_is_10_0_20_0_GB { + get { + return ResourceManager.GetString("Product_family_is_10_0_20_0_GB", resourceCulture); + } + } + + internal static string Product_family_is_20_0_40_0_GB { + get { + return ResourceManager.GetString("Product_family_is_20_0_40_0_GB", resourceCulture); + } + } + + internal static string Product_family_is_15_0_30_0_GB { + get { + return ResourceManager.GetString("Product_family_is_15_0_30_0_GB", resourceCulture); + } + } + + internal static string Product_family_0 { + get { + return ResourceManager.GetString("Product_family_0", resourceCulture); + } + } + + internal static string Release_firmware_0 { + get { + return ResourceManager.GetString("Release_firmware_0", resourceCulture); + } + } + + internal static string Firmware_version_0_1 { + get { + return ResourceManager.GetString("Firmware_version_0_1", resourceCulture); + } + } + + internal static string EEPROM_format_version_0_1 { + get { + return ResourceManager.GetString("EEPROM_format_version_0_1", resourceCulture); + } + } + + internal static string Firmware_personality_0 { + get { + return ResourceManager.GetString("Firmware_personality_0", resourceCulture); + } + } + + internal static string Firmware_sub_personality_0 { + get { + return ResourceManager.GetString("Firmware_sub_personality_0", resourceCulture); + } + } + + internal static string Tape_directory_format_version_0 { + get { + return ResourceManager.GetString("Tape_directory_format_version_0", resourceCulture); + } + } + + internal static string Controller_hardware_version_0 { + get { + return ResourceManager.GetString("Controller_hardware_version_0", resourceCulture); + } + } + + internal static string Drive_EEPROM_version_0 { + get { + return ResourceManager.GetString("Drive_EEPROM_version_0", resourceCulture); + } + } + + internal static string Drive_hardware_version_0 { + get { + return ResourceManager.GetString("Drive_hardware_version_0", resourceCulture); + } + } + + internal static string Media_loader_firmware_version_0 { + get { + return ResourceManager.GetString("Media_loader_firmware_version_0", resourceCulture); + } + } + + internal static string Media_loader_hardware_version_0 { + get { + return ResourceManager.GetString("Media_loader_hardware_version_0", resourceCulture); + } + } + + internal static string Media_loader_mechanical_version_0 { + get { + return ResourceManager.GetString("Media_loader_mechanical_version_0", resourceCulture); + } + } + + internal static string Library_is_present { + get { + return ResourceManager.GetString("Library_is_present", resourceCulture); + } + } + + internal static string Media_loader_is_present { + get { + return ResourceManager.GetString("Media_loader_is_present", resourceCulture); + } + } + + internal static string Module_revision_0 { + get { + return ResourceManager.GetString("Module_revision_0", resourceCulture); + } + } + + internal static string IBM_vendor_specific_information { + get { + return ResourceManager.GetString("IBM_vendor_specific_information", resourceCulture); + } + } + + internal static string Performance_is_not_limited { + get { + return ResourceManager.GetString("Performance_is_not_limited", resourceCulture); + } + } + + internal static string Performance_is_limited_using_factor_0 { + get { + return ResourceManager.GetString("Performance_is_limited_using_factor_0", resourceCulture); + } + } + + internal static string Automation_is_disabled { + get { + return ResourceManager.GetString("Automation_is_disabled", resourceCulture); + } + } + + internal static string IBM_OEM_Specific_Field_0 { + get { + return ResourceManager.GetString("IBM_OEM_Specific_Field_0", resourceCulture); + } + } + + internal static string HP_vendor_specific_information { + get { + return ResourceManager.GetString("HP_vendor_specific_information", resourceCulture); + } + } + + internal static string Device_supports_WORM_version_0 { + get { + return ResourceManager.GetString("Device_supports_WORM_version_0", resourceCulture); + } + } + + internal static string Device_supports_Tape_Disaster_Recovery { + get { + return ResourceManager.GetString("Device_supports_Tape_Disaster_Recovery", resourceCulture); + } + } + + internal static string Seagate_vendor_specific_information { + get { + return ResourceManager.GetString("Seagate_vendor_specific_information", resourceCulture); + } + } + + internal static string Drive_copyright_0 { + get { + return ResourceManager.GetString("Drive_copyright_0", resourceCulture); + } + } + + internal static string Drive_servo_part_number_0 { + get { + return ResourceManager.GetString("Drive_servo_part_number_0", resourceCulture); + } + } + + internal static string Drive_is_flashed_with_Kreon_firmware_0 { + get { + return ResourceManager.GetString("Drive_is_flashed_with_Kreon_firmware_0", resourceCulture); + } + } + + internal static string Vendor_device_type_modifier_0 { + get { + return ResourceManager.GetString("Vendor_device_type_modifier_0", resourceCulture); + } + } + + internal static string Reserved_byte_five_bits_two_to_one_0 { + get { + return ResourceManager.GetString("Reserved_byte_five_bits_two_to_one_0", resourceCulture); + } + } + + internal static string Reserved_byte_56_bits_seven_to_four_0 { + get { + return ResourceManager.GetString("Reserved_byte_56_bits_seven_to_four_0", resourceCulture); + } + } + + internal static string Reserved_byte_57 { + get { + return ResourceManager.GetString("Reserved_byte_57", resourceCulture); + } + } + + internal static string Reserved_bytes_74_to_95 { + get { + return ResourceManager.GetString("Reserved_bytes_74_to_95", resourceCulture); + } + } + + internal static string Vendor_specific_bytes_47_to_55 { + get { + return ResourceManager.GetString("Vendor_specific_bytes_47_to_55", resourceCulture); + } + } + + internal static string Vendor_specific_bytes_36_to_55 { + get { + return ResourceManager.GetString("Vendor_specific_bytes_36_to_55", resourceCulture); + } + } + + internal static string Hi_MD_device_ { + get { + return ResourceManager.GetString("Hi_MD_device_", resourceCulture); + } + } + + internal static string Hi_MD_specific_bytes_44_to_55 { + get { + return ResourceManager.GetString("Hi_MD_specific_bytes_44_to_55", resourceCulture); + } + } + + internal static string Vendor_specific_bytes_96_to_0 { + get { + return ResourceManager.GetString("Vendor_specific_bytes_96_to_0", resourceCulture); + } + } + } +} diff --git a/Localization/Localization.resx b/Localization/Localization.resx new file mode 100644 index 000000000..f521810aa --- /dev/null +++ b/Localization/Localization.resx @@ -0,0 +1,9762 @@ + + + + + + + + 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 + + + + ATAPI device + + + CompactFlash device + + + ATA device + + + Additional product ID: {0} + + + World Wide Name: {0:X16} + + + Supported ATA versions: + + + Maximum ATA revision supported: + + + Minor ATA version not specified + + + ATA (ATA-1) X3T9.2 781D prior to revision 4 + + + ATA-1 published, ANSI X3.221-1994 + + + ATA (ATA-1) X3T9.2 781D revision 4 + + + ATA-2 published, ANSI X3.279-1996 + + + ATA-2 X3T10 948D prior to revision 2k + + + ATA-3 X3T10 2008D revision 1 + + + ATA-2 X3T10 948D revision 2k + + + ATA-3 X3T10 2008D revision 0 + + + ATA-2 X3T10 948D revision 3 + + + ATA-3 published, ANSI X3.298-1997 + + + ATA-3 X3T10 2008D revision 6 + + + ATA-3 X3T13 2008D revision 7 + + + ATA/ATAPI-4 X3T13 1153D revision 6 + + + ATA/ATAPI-4 T13 1153D revision 13 + + + ATA/ATAPI-4 X3T13 1153D revision 7 + + + ATA/ATAPI-4 T13 1153D revision 18 + + + ATA/ATAPI-4 T13 1153D revision 15 + + + ATA/ATAPI-4 published, ANSI INCITS 317-1998 + + + ATA/ATAPI-5 T13 1321D revision 3 + + + ATA/ATAPI-4 T13 1153D revision 14 + + + ATA/ATAPI-5 T13 1321D revision 1 + + + ATA/ATAPI-5 published, ANSI INCITS 340-2000 + + + ATA/ATAPI-4 T13 1153D revision 17 + + + ATA/ATAPI-6 T13 1410D revision 0 + + + ATA/ATAPI-6 T13 1410D revision 3a + + + ATA/ATAPI-7 T13 1532D revision 1 + + + ATA/ATAPI-6 T13 1410D revision 2 + + + ATA/ATAPI-6 T13 1410D revision 1 + + + ATA/ATAPI-7 published ANSI INCITS 397-2005 + + + ATA/ATAPI-7 T13 1532D revision 0 + + + ACS-3 Revision 3b + + + ATA/ATAPI-7 T13 1532D revision 4a + + + ATA/ATAPI-6 published, ANSI INCITS 361-2002 + + + ATA8-ACS revision 3c + + + ATA8-ACS revision 6 + + + ATA8-ACS revision 4 + + + ACS-2 Revision 2 + + + ATA8-ACS Revision 3e + + + ATA8-ACS Revision 4c + + + ATA8-ACS Revision 3f + + + ATA8-ACS revision 3b + + + ACS-3 Revision 5 + + + ACS-2 published, ANSI INCITS 482-2012 + + + ATA8-ACS revision 2d + + + ACS-2 Revision 3 + + + ACS-3 Revision 4 + + + Unknown ATA revision 0x{0:X4} + + + Parallel ATA device: + + + Serial ATA device: + + + SATA Express device + + + Unknown transport type 0x{0:X1} + + + ATAPI Direct-access device + + + ATAPI Sequential-access device + + + ATAPI Printer device + + + ATAPI Processor device + + + ATAPI Write-once device + + + ATAPI CD-ROM/DVD/etc device + + + ATAPI Scanner device + + + ATAPI Optical memory device + + + ATAPI Medium change device + + + ATAPI Communications device + + + ATAPI Graphics arts pre-press device (defined in ASC IT8) + + + ATAPI Array controller device + + + ATAPI Enclosure services device + + + ATAPI Simplified direct-access device + + + ATAPI Optical card reader/writer device + + + ATAPI Bridging Expanders + + + ATAPI Object-based Storage Device + + + ATAPI Automation/Drive Interface + + + ATAPI Well known logical unit + + + ATAPI Unknown or no device type + + + ATAPI Unknown device type field value 0x{0:X2} + + + Device shall set DRQ within 3 ms of receiving PACKET + + + Device shall assert INTRQ when DRQ is set to one + + + Device shall set DRQ within 50 µs of receiving PACKET + + + Unknown ATAPI DRQ behaviour code {0} + + + ATAPI device uses 12 byte command packet + + + ATAPI device uses 16 byte command packet + + + Unknown ATAPI packet size code {0} + + + Incomplete identify response + + + Device uses non-magnetic media + + + Device is removable + + + Device is fixed + + + Device transfer rate is <= 5 Mb/s + + + Device transfer rate is > 5 Mb/s but <= 10 Mb/s + + + Device transfer rate is > 10 Mb/s + + + Device is soft sectored + + + Device is hard sectored + + + Device is not MFM encoded + + + Format speed tolerance gap is required + + + Track offset option is available + + + Data strobe offset option is available + + + Rotational speed tolerance is higher than 0,5% + + + Spindle motor control is implemented + + + Head switch time is bigger than 15 µs. + + + Device does not rotate. + + + Device rotates at {0} rpm. + + + Physical sector size: {0} bytes + + + Logical sector size: {0} bytes + + + Logical sector starts at offset {0} from physical sector + + + Cylinders: {0} max., {1} current + + + Heads: {0} max., {1} current + + + Sectors per track: {0} max., {1} current + + + Sectors addressable in CHS mode: {0} max., {1} current + + + Cylinders: {0} + + + Heads: {0} + + + Sectors per track: {0} + + + Sectors addressable in CHS mode: {0} + + + {0} sectors in 28-bit LBA mode + + + {0} sectors in 48-bit LBA mode + + + Device size in CHS mode: {0} bytes, {1} Mb, {2} MiB + + + Device size in 28-bit LBA mode: {0} bytes, {1} Tb, {2} TiB + + + Device size in 28-bit LBA mode: {0} bytes, {1} Gb, {2} GiB + + + Device size in 28-bit LBA mode: {0} bytes, {1} Mb, {2} MiB + + + Device size in 48-bit LBA mode: {0} bytes, {1} Tb, {2} TiB + + + Device size in 48-bit LBA mode: {0} bytes, {1} Gb, {2} GiB + + + Device size in 48-bit LBA mode: {0} bytes, {1} Mb, {2} MiB + + + {0} sectors in card + + + {0} bytes per unformatted track + + + {0} bytes per unformatted sector + + + Device requires SET FEATURES to spin up and IDENTIFY DEVICE response is incomplete. + + + Device requires SET FEATURES to spin up and IDENTIFY DEVICE response is complete. + + + Device does not require SET FEATURES to spin up and IDENTIFY DEVICE response is incomplete. + + + Device does not require SET FEATURES to spin up and IDENTIFY DEVICE response is complete. + + + Unknown device specific configuration 0x{0:X4} + + + {0} KiB of single ported single sector buffer + + + {0} KiB of dual ported multi sector buffer + + + {0} KiB of dual ported multi sector buffer with read caching + + + {0} KiB of unknown type {1} buffer + + + READ/WRITE LONG has {0} extra bytes + + + Device capabilities: + + + Standby time values are standard + + + IORDY is supported and can be disabled + + + IORDY is supported + + + DMA is supported + + + Device indicates a specific minimum standby timer value + + + A maximum of {0} sectors can be transferred per interrupt on READ/WRITE MULTIPLE + + + Device supports setting a maximum of {0} sectors + + + Long Physical Alignment setting is {0} + + + Device supports doubleword I/O + + + ATAPI device supports interleaved DMA + + + ATAPI device supports command queueing + + + ATAPI device supports overlapped operations + + + ATAPI device requires ATA software reset + + + PIO timing mode: {0} + + + DMA timing mode: {0} + + + Advanced PIO: + + + Single-word DMA: + + + (active) + + + Multi-word DMA: + + + Ultra DMA: + + + At minimum {0} ns. transfer cycle time per word in MDMA, {1} ns. recommended + + + At minimum {0} ns. transfer cycle time per word in PIO, without flow control + + + At minimum {0} ns. transfer cycle time per word in PIO, with IORDY flow control + + + {0} depth of queue maximum + + + {0} ns. typical to release bus from receipt of PACKET + + + {0} ns. typical to clear BSY bit from receipt of SERVICE + + + SATA 1.5Gb/s is supported + + + SATA 3.0Gb/s is supported + + + SATA 6.0Gb/s is supported + + + Receipt of host initiated power management requests is supported + + + PHY Event counters are supported + + + Supports host automatic partial to slumber transitions is supported + + + Supports device automatic partial to slumber transitions is supported + + + NCQ is supported + + + NCQ priority is supported + + + Unload is supported with outstanding NCQ commands + + + NCQ queue management is supported + + + NCQ streaming is supported + + + ATAPI device supports host environment detection + + + ATAPI device supports attention on slimline connected devices + + + {0} microseconds of interseek delay for ISO-7779 acoustic testing + + + Device nominal size is 5.25" + + + Device nominal size is 3.5" + + + Device nominal size is 2.5" + + + Device nominal size is 1.8" + + + Device nominal size is smaller than 1.8" + + + Device nominal size field value {0} is unknown + + + {0} bytes count limit for ATAPI + + + CompactFlash device supports power mode 1 + + + CompactFlash power mode 1 required for one or more commands + + + CompactFlash power mode 1 is disabled + + + CompactFlash device uses a maximum of {0} mA + + + Command set and features: + + + NOP is supported and enabled + + + NOP is supported + + + READ BUFFER is supported and enabled + + + READ BUFFER is supported + + + WRITE BUFFER is supported and enabled + + + WRITE BUFFER is supported + + + Host Protected Area is supported and enabled + + + Host Protected Area is supported + + + DEVICE RESET is supported and enabled + + + DEVICE RESET is supported + + + SERVICE interrupt is supported and enabled + + + SERVICE interrupt is supported + + + Release is supported and enabled + + + Release is supported + + + Look-ahead read is supported and enabled + + + Look-ahead read is supported + + + Write cache is supported and enabled + + + Write cache is supported + + + PACKET is supported and enabled + + + PACKET is supported + + + Power management is supported and enabled + + + Power management is supported + + + Removable media feature set is supported and enabled + + + Removable media feature set is supported + + + Security mode is supported and enabled + + + Security mode is supported + + + 28-bit LBA is supported + + + 48-bit LBA is supported and enabled + + + 48-bit LBA is supported + + + FLUSH CACHE is supported and enabled + + + FLUSH CACHE is supported + + + FLUSH CACHE EXT is supported and enabled + + + FLUSH CACHE EXT is supported + + + Device Configuration Overlay feature set is supported and enabled + + + Device Configuration Overlay feature set is supported + + + Automatic Acoustic Management is supported and enabled with value {0} (vendor recommends {1} + + + Automatic Acoustic Management is supported + + + SET MAX security extension is supported and enabled + + + SET MAX security extension is supported + + + Address Offset Reserved Area Boot is supported and enabled + + + Address Offset Reserved Area Boot is supported + + + SET FEATURES is required before spin-up + + + Power-up in standby is supported and enabled + + + Power-up in standby is supported + + + Removable Media Status Notification is supported and enabled + + + Removable Media Status Notification is supported + + + Advanced Power Management is supported and enabled with value {0} + + + Advanced Power Management is supported + + + CompactFlash feature set is supported and enabled + + + CompactFlash feature set is supported + + + READ DMA QUEUED and WRITE DMA QUEUED are supported and enabled + + + READ DMA QUEUED and WRITE DMA QUEUED are supported + + + DOWNLOAD MICROCODE is supported and enabled + + + DOWNLOAD MICROCODE is supported + + + S.M.A.R.T. is supported and enabled + + + S.M.A.R.T. is supported + + + S.M.A.R.T. Command Transport is supported + + + S.M.A.R.T. self-testing is supported and enabled + + + S.M.A.R.T. self-testing is supported + + + S.M.A.R.T. error logging is supported and enabled + + + S.M.A.R.T. error logging is supported + + + IDLE IMMEDIATE with UNLOAD FEATURE is supported and enabled + + + IDLE IMMEDIATE with UNLOAD FEATURE is supported + + + URG bit is supported in WRITE STREAM DMA EXT and WRITE STREAM EXT + + + URG bit is supported in READ STREAM DMA EXT and READ STREAM EXT + + + Device has a World Wide Name + + + WRITE DMA QUEUED FUA EXT is supported and enabled + + + WRITE DMA QUEUED FUA EXT is supported + + + WRITE DMA FUA EXT and WRITE MULTIPLE FUA EXT are supported and enabled + + + WRITE DMA FUA EXT and WRITE MULTIPLE FUA EXT are supported + + + General Purpose Logging is supported and enabled + + + General Purpose Logging is supported + + + Streaming feature set is supported and enabled + + + Streaming feature set is supported + + + Media Card Pass Through command set is supported and enabled + + + Media Card Pass Through command set is supported + + + Media Serial is supported and valid + + + Media Serial is supported + + + DSN feature set is supported and enabled + + + DSN feature set is supported + + + Accessible Max Address Configuration is supported and enabled + + + Accessible Max Address Configuration is supported + + + Extended Power Conditions are supported and enabled + + + Extended Power Conditions are supported + + + Extended Status Reporting is supported and enabled + + + Extended Status Reporting is supported + + + Free-fall control feature set is supported and enabled + + + Free-fall control feature set is supported + + + Segmented feature in DOWNLOAD MICROCODE is supported and enabled + + + Segmented feature in DOWNLOAD MICROCODE is supported + + + READ/WRITE DMA EXT GPL are supported and enabled + + + READ/WRITE DMA EXT GPL are supported + + + WRITE UNCORRECTABLE is supported and enabled + + + WRITE UNCORRECTABLE is supported + + + Write/Read/Verify is supported and enabled + + + Write/Read/Verify is supported + + + {0} sectors for Write/Read/Verify mode 3 + + + {0} sectors for Write/Read/Verify mode 2 + + + Current Write/Read/Verify mode: {0} + + + DT1825 is supported and enabled + + + DT1825 is supported + + + BLOCK ERASE EXT is supported + + + OVERWRITE EXT is supported + + + CRYPTO SCRAMBLE EXT is supported + + + DEVICE CONFIGURATION IDENTIFY DMA and DEVICE CONFIGURATION SET DMA are supported + + + READ BUFFER DMA is supported + + + WRITE BUFFER DMA is supported + + + DOWNLOAD MICROCODE DMA is supported + + + SET PASSWORD DMA and SET UNLOCK DMA are supported + + + Not all 28-bit commands are supported + + + Device follows CFast specification + + + Device follows IEEE-1667 + + + Read after TRIM is deterministic + + + Read after TRIM returns empty data + + + Device supports Long Physical Sector Alignment Error Reporting Control + + + Device encrypts all user data + + + Device's write cache is non-volatile + + + Device is zoned + + + Sanitize feature set is supported + + + Sanitize commands are specified by ACS-3 or higher + + + Sanitize commands are specified by ACS-2 + + + SANITIZE ANTIFREEZE LOCK EXT is supported + + + Trusted Computing feature set is supported + + + READ LOG DMA EXT is supported + + + RECEIVE FPDMA QUEUED and SEND FPDMA QUEUED are supported + + + Non-zero buffer offsets are supported and enabled + + + Non-zero buffer offsets are supported + + + DMA Setup auto-activation is supported and enabled + + + DMA Setup auto-activation is supported + + + Device-initiated power management is supported and enabled + + + Device-initiated power management is supported + + + In-order data delivery is supported and enabled + + + In-order data delivery is supported + + + Hardware Feature Control is supported and enabled + + + Hardware Feature Control is supported + + + Asynchronous notification is supported and enabled + + + Asynchronous notification is supported + + + Software Settings Preservation is supported and enabled + + + Software Settings Preservation is supported + + + NCQ Autosense is supported + + + Automatic Partial to Slumber transitions are enabled + + + Removable Media Status Notification feature set is supported + + + Free-fall sensitivity set to {0} + + + DATA SET MANAGEMENT can receive a maximum of {0} blocks of 512 bytes + + + Security: + + + Security is enabled + + + Security is locked + + + Security is not locked + + + Security is frozen + + + Security is not frozen + + + Security count has expired + + + Security count has not expired + + + Security level is maximum + + + Security level is high + + + Security is not enabled + + + Supports enhanced security erase + + + {0} minutes to complete secure erase + + + {0} minutes to complete enhanced secure erase + + + Master password revision code: {0} + + + Streaming: + + + Minimum request size is {0} + + + Streaming transfer time in PIO is {0} + + + Streaming transfer time in DMA is {0} + + + Streaming access latency is {0} + + + Streaming performance granularity is {0} + + + S.M.A.R.T. Command Transport (SCT): + + + SCT Long Sector Address is supported + + + SCT Write Same is supported + + + SCT Error Recovery Control is supported + + + SCT Features Control is supported + + + SCT Data Tables are supported + + + Non-Volatile Cache: + + + Version {0} + + + Power mode feature set is supported and enabled + + + Power mode feature set is supported + + + Non-Volatile Cache is {0} bytes + + + Word 9: 0x{0:X4} + + + Word 47 bits 15 to 8: 0x{0:X2} + + + Word 51 bits 7 to 0: 0x{0:X2} + + + Word 52 bits 7 to 0: 0x{0:X2} + + + Word 64 bits 15 to 8: 0x{0:X2} + + + Word 70: 0x{0:X4} + + + Word 73: 0x{0:X4} + + + Word 74: 0x{0:X4} + + + Word 116: 0x{0:X4} + + + Word {1}: 0x{0:X4} + + + Word {1} (CFA): 0x{0:X4} + + + Word 174: 0x{0:X4} + + + Word 175: 0x{0:X4} + + + Word 207 (CE-ATA): 0x{0:X4} + + + Word 208 (CE-ATA): 0x{0:X4} + + + Word 219 bits 15 to 8: 0x{0:X2} + + + Word 220 bits 15 to 8: 0x{0:X2} + + + Word 221: 0x{0:X4} + + + Word {1} (CE-ATA): 0x{0:X4} + + + Found incorrect Blu-ray BCA size ({0} bytes) + + + Reserved1 = 0x{0:X2} + + + Reserved2 = 0x{0:X2} + + + Blu-ray Burst Cutting Area in hex follows: + + + Found incorrect Blu-ray Cartridge Status size ({0} bytes) + + + Reserved3 = 0x{0:X8} + + + Reserved4 = 0x{0:X8} + + + Reserved5 = 0x{0:X8} + + + Reserved6 = 0x{0:X8} + + + Reserved7 = 0x{0:X8} + + + Media is inserted in a cartridge + + + Media has been taken out, or inserted in, the cartridge + + + Media is write protected + + + Media is not in a cartridge + + + Media has out bit marked, shouldn't + + + Media has write protection bit marked, shouldn't + + + Found incorrect DDS signature (0x{0:X4}) + + + DDS Format: 0x{0:X2} + + + DDS has ben updated {0} times + + + First PSN of Drive Area: 0x{0:X8} + + + First PSN of Defect List: 0x{0:X8} + + + PSN of User Data Area's LSN 0: 0x{0:X8} + + + Last User Data Area's LSN 0: 0x{0:X8} + + + ISA0 size: {0} + + + OSA size: {0} + + + ISA1 size: {0} + + + Spare Area Full Flags: 0x{0:X2} + + + Disc Type Specific Field 1: 0x{0:X2} + + + Disc Type Specific Field 2: 0x{0:X8} + + + Blu-ray DDS Status Bits in hex follows: + + + Blu-ray DDS Disc Type Specific Data in hex follows: + + + Reserved3 = 0x{0:X2} + + + Reserved4 = 0x{0:X16} + + + Reserved7 = 0x{0:X2} + + + Reserved8 = 0x{0:X2} + + + Reserved9 = 0x{0:X8} + + + Blu-ray DI Unit format dependent contents as hex follows: + + + Disc product revision number: {0} + + + Disc timestamp: 0x{0:X2} + + + Disc media type ID: "{0}" + + + Disc manufacturer ID: "{0}" + + + Last address unit number of data zone in this layer: {0} + + + First address unit number of data zone in this layer: {0} + + + Last user data PSN for disc: {0} + + + Disc does not specify a maximum transfer rate. + + + Disc has a maximum transfer rate of {0} Mbit/sec. + + + Disc uses unknown BCA code {0} + + + Disc has a BCA. + + + Disc doesn't have a BCA. + + + Disc uses unknown recorded reflectivity polarity with code {0} + + + Recorded marks have a higher reflectivity than unrecorded ones (LTH disc). + + + Recorded marks have a lower reflectivity than unrecorded ones (HTL disc). + + + Disc uses unknown polarity with code {0} + + + Disc uses negative polarity. + + + Disc uses positive polarity. + + + Disc uses unknown channel length with code {0} + + + Disc uses a 69.0nm channel giving 27 Gb per layer. + + + Disc uses a 74.5nm channel giving 25 Gb per layer. + + + This disc contains a CD-RW layer. + + + This disc contains a CD-R layer. + + + This disc contains a CD-ROM layer. + + + This disc does not contain a CD layer. + + + This disc contains a DVD-RW layer. + + + This disc contains a DVD-R layer. + + + This disc contains a DVD-ROM layer. + + + This disc does not contain a DVD layer. + + + This disc has {0} layers + + + Disc version: {0} + + + Disc class: {0} + + + Disc size: Unknown code {0} + + + Disc size: 80mm + + + Disc size: 120mm + + + Disc type identifier: "{0}" + + + DI Unit is {0} bytes + + + This DI starts a new unit + + + This DI continues previous unit + + + Legacy value: 0x{0:X2} + + + This DI refers to layer {0} + + + There are {0} per block + + + DI Unit Format: 0x{0:X2} + + + DI Unit Sequence: {0} + + + Found unknown disc type identifier "{0}" + + + Found incorrect Blu-ray Disc Information size ({0} bytes) + + + Found incorrect Blu-ray Spare Area Information size ({0} bytes) + + + {0} free spare blocks + + + {0} allocated spare blocks + + + Expected CD ATIP size (32 bytes) is not received size ({0} bytes), not decoding + + + Indicative Target Writing Power: 0x{0:X2} + + + Disc is DDCD-RW + + + Disc is DDCD-R + + + Reference speed is 4x + + + Reference speed is 8x + + + Reference speed set is unknown: {0} + + + ATIP Start time of Lead-in: 0x{0:X6} + + + ATIP Last possible start time of Lead-out: 0x{0:X6} + + + S4 value: 0x{0:X6} + + + Disc is CD-RW + + + Disc is High-Speed CD-RW + + + Disc is Ultra-Speed CD-RW + + + Disc is Ultra-Speed+ CD-RW + + + Disc is medium type B, low beta category (B-) CD-RW + + + Disc is medium type B, high beta category (B+) CD-RW + + + Disc is medium type C, low beta category (C-) CD-RW + + + Disc is medium type C, high beta category (C+) CD-RW + + + Unknown CD-RW disc subtype: {0} + + + Reference speed is 2x + + + Disc is CD-R + + + Disc is normal speed (CLV) CD-R + + + Disc is high speed (CAV) CD-R + + + Disc is medium type A, low beta category (A-) CD-R + + + Disc is medium type A, high beta category (A+) CD-R + + + Disc is medium type B, low beta category (B-) CD-R + + + Disc is medium type B, high beta category (B+) CD-R + + + Disc is medium type C, low beta category (C-) CD-R + + + Disc is medium type C, high beta category (C+) CD-R + + + Unknown CD-R disc subtype: {0} + + + ATIP Start time of Lead-in: {0}:{1:D2}:{2:D2} + + + ATIP Last possible start time of Lead-out: {0}:{1:D2}:{2:D2} + + + Disc use is unrestricted + + + Disc use is restricted + + + A1 value: 0x{0:X6} + + + A2 value: 0x{0:X6} + + + A3 value: 0x{0:X6} + + + Disc uses phase change + + + Disc uses long strategy type dye (Cyanine, AZO, etc...) + + + Disc uses short strategy type dye (Phthalocyanine, etc...) + + + Disc manufactured by: {0} + + + Expected CD-TEXT size ({0} bytes) is not received size ({1} bytes), not decoding + + + Incorrect CD-Text pack type {0}, not decoding + + + CD-Text pack contains title for album + + + CD-Text pack contains title for track {0} + + + CD-Text pack contains performer for album + + + CD-Text pack contains performer for track {0} + + + CD-Text pack contains songwriter for album + + + CD-Text pack contains songwriter for track {0} + + + album + + + track {0} + + + CD-Text pack contains arranger for album + + + CD-Text pack contains arranger for track {0} + + + CD-Text pack contains content provider's message for album + + + CD-Text pack contains content provider's message for track {0} + + + CD-Text pack contains disc identification information + + + CD-Text pack contains genre identification information + + + CD-Text pack contains table of contents information + + + CD-Text pack contains second table of contents information + + + CD-Text pack contains reserved data + + + CD-Text pack contains data reserved for content provider only + + + CD-Text pack contains UPC + + + CD-Text pack contains size block information + + + Double Byte Character Code is used + + + Block number {0} + + + Character position {0} + + + Text field: "{0}" + + + Binary contents: {0} + + + CRC: 0x{0:X4} + + + Expected CDFullTOC size ({0} bytes) is not received size ({1} bytes), not decoding + + + First complete session number: {0} + + + Last complete session number: {0} + + + Unknown TOC entry format, printing values as-is + + + Session {0} + + + First video track number: {0} + + + CD-V single in NTSC format with digital stereo sound + + + CD-V single in NTSC format with digital bilingual sound + + + CD-V disc in NTSC format with digital stereo sound + + + CD-V disc in NTSC format with digital bilingual sound + + + CD-V single in PAL format with digital stereo sound + + + CD-V single in PAL format with digital bilingual sound + + + CD-V disc in PAL format with digital stereo sound + + + CD-V disc in PAL format with digital bilingual sound + + + First track number: {0} ( + + + ) + + + Stereo audio track with no pre-emphasis + + + Stereo audio track with 50/15 μs pre-emphasis + + + Quadraphonic audio track with no pre-emphasis + + + Quadraphonic audio track with 50/15 μs pre-emphasis + + + Data track, recorded uninterrupted + + + Data track, recorded incrementally + + + Disc type: {0} + + + Last video track number: {0} + + + Last track number: {0} ( + + + Lead-out start position: {3:D2}:{0:D2}:{1:D2}:{2:D2} + + + Lead-out start position: {0:D2}:{1:D2}:{2:D2} + + + Lead-out is audio type + + + Lead-out is data type + + + Book type: 0x{0:X2} + + + Material type: 0x{0:X2} + + + Moment of inertia: 0x{0:X2} + + + Data track {3} starts at: {4:D2}:{0:D2}:{1:D2}:{2:D2} ( + + + Audio track {3} starts at: {4:D2}:{0:D2}:{1:D2}:{2:D2} ( + + + Data track {3} starts at: {0:D2}:{1:D2}:{2:D2} ( + + + Audio track {3} starts at: {0:D2}:{1:D2}:{2:D2} ( + + + Absolute time: {3:D2}:{0:D2}:{1:D2}:{2:D2} + + + Absolute time: {0:D2}:{1:D2}:{2:D2} + + + Video track {3} starts at: {0:D2}:{1:D2}:{2:D2} + + + Start of next possible program in the recordable area of the disc: {3:D2}:{0:D2}:{1:D2}:{2:D2} + + + Maximum start of outermost Lead-out in the recordable area of the disc: {3:D2}:{0:D2}:{1:D2}:{2:D2} + + + Start of next possible program in the recordable area of the disc: {0:D2}:{1:D2}:{2:D2} + + + Maximum start of outermost Lead-out in the recordable area of the disc: {0:D2}:{1:D2}:{2:D2} + + + Number of skip interval pointers: {0} + + + Number of skip track pointers: {0} + + + Skip track {0} + + + Optimum recording power: 0x{0:X2} + + + Start time of the first Lead-in area in the disc: {3:D2}:{0:D2}:{1:D2}:{2:D2} + + + Start time of the first Lead-in area in the disc: {0:D2}:{1:D2}:{2:D2} + + + Copy of information of A1 from ATIP found + + + Start position of outer part lead-in area: {3:D2}:{0:D2}:{1:D2}:{2:D2} + + + Stop position of inner part lead-out area: {3:D2}:{0:D2}:{1:D2}:{2:D2} + + + Start position of outer part lead-in area: {0:D2}:{1:D2}:{2:D2} + + + Stop position of inner part lead-out area: {0:D2}:{1:D2}:{2:D2} + + + Start time for interval that should be skipped: {0:D2}:{1:D2}:{2:D2} + + + Ending time for interval that should be skipped: {0:D2}:{1:D2}:{2:D2} + + + Disc ID: {0:X6} + + + Expected CD PMA size ({0} bytes) is not received size ({1} bytes), not decoding + + + Track {0} (Stereo audio track with no pre-emphasis) starts at {4}:{1:D2}:{2:D2}:{3:D2} and ends at {8}:{5:D2}:{6:D2}:{7:D2} + + + Track {0} (Stereo audio track with no pre-emphasis) starts at {1:D2}:{2:D2}:{3:D2} and ends at {4:D2}:{5:D2}:{6:D2} + + + Track {0} (Stereo audio track with 50/15 μs pre-emphasis) starts at {4}:{1:D2}:{2:D2}:{3:D2} and ends at {8}:{5:D2}:{6:D2}:{7:D2} + + + Track {0} (Stereo audio track with 50/15 μs pre-emphasis) starts at {1:D2}:{2:D2}:{3:D2} and ends at {4:D2}:{5:D2}:{6:D2} + + + Track {0} (Quadraphonic audio track with no pre-emphasis) starts at {4}:{1:D2}:{2:D2}:{3:D2} and ends at {8}:{5:D2}:{6:D2}:{7:D2} + + + Track {0} (Quadraphonic audio track with no pre-emphasis) starts at {1:D2}:{2:D2}:{3:D2} and ends at {4:D2}:{5:D2}:{6:D2} + + + Track {0} (Quadraphonic audio track with 50/15 μs pre-emphasis) starts at {4}:{1:D2}:{2:D2}:{3:D2} and ends at {8}:{5:D2}:{6:D2}:{7:D2} + + + Track {0} (Quadraphonic audio track with 50/15 μs pre-emphasis) starts at {1:D2}:{2:D2}:{3:D2} and ends at {4:D2}:{5:D2}:{6:D2} + + + Track {0} (Data track, recorded uninterrupted) starts at {4}:{1:D2}:{2:D2}:{3:D2} and ends at {8}:{5:D2}:{6:D2}:{7:D2} + + + Track {0} (Data track, recorded uninterrupted) starts at {1:D2}:{2:D2}:{3:D2} and ends at {4:D2}:{5:D2}:{6:D2} + + + Track {0} (Data track, recorded incrementally) starts at {4}:{1:D2}:{2:D2}:{3:D2} and ends at {8}:{5:D2}:{6:D2}:{7:D2} + + + Track {0} (Data track, recorded incrementally) starts at {1:D2}:{2:D2}:{3:D2} and ends at {4:D2}:{5:D2}:{6:D2} + + + Reserved = 0x{0:X2} + + + Skip track assignment {0} says that tracks {1} should be skipped + + + Unskip track assignment {0} says that tracks {1} should not be skipped + + + Skip time interval assignment {0} says that from {4}:{1:D2}:{2:D2}:{3:D2} to {8}:{5:D2}:{6:D2}:{7:D2} should be skipped + + + Skip time interval assignment {0} says that from {1:D2}:{2:D2}:{3:D2} to {4:D2}:{5:D2}:{6:D2} should be skipped + + + Unskip time interval assignment {0} says that from {4}:{1:D2}:{2:D2}:{3:D2} to {8}:{5:D2}:{6:D2}:{7:D2} should not be skipped + + + Unskip time interval assignment {0} says that from {1:D2}:{2:D2}:{3:D2} to {4:D2}:{5:D2}:{6:D2} should not be skipped + + + CD sector. + + + CD-ROM sector. + + + Position {0:X2}:{1:X2}:{2:X2} (LBA {3}) + + + Mode 0. + + + Mode 1. + + + Mode 2. + + + Invalid mode 3. + + + User data block + + + Fourth run-in block + + + Third run-in block + + + Second run-in block + + + First run-in block + + + Link block + + + Second run-out block + + + First run-out block + + + Correct sector contents. + + + Incorrect sector contents. + + + Correct EDC. + + + Incorrect EDC. + + + Correct ECC P. + + + Incorrect ECC P. + + + Correct ECC Q. + + + Incorrect ECC Q. + + + Correct zero fill. + + + Incorrect zero fill. + + + Subheader copies differ. + + + File number: {0} + + + Channel number: {0} + + + Coding information number: {0} + + + End of file. + + + Real-time block. + + + Form 2. + + + Form 1. + + + Trigger block. + + + Data block. + + + Audio block. + + + Video block. + + + End of record. + + + Expected CDSessionInfo size ({0} bytes) is not received size ({1} bytes), not decoding + + + First track number in last complete session: {0} + + + Track starts at LBA {0}, or MSF {1:X2}:{2:X2}:{3:X2} + + + Q subchannel mode not given + + + Q subchannel stores current position + + + Q subchannel stores ISRC + + + Q subchannel stores media catalog number + + + Reserved flags 0x{0:X2} set + + + Digital copy of track is permitted + + + Digital copy of track is prohibited + + + stereo audio with pre-emphasis + + + stereo audio without pre-emphasis + + + incremental data + + + uninterrupted data + + + quadraphonic audio with pre-emphasis + + + quadraphonic audio without pre-emphasis + + + reserved control value {0} + + + copy permitted + + + copy prohibited + + + Lead-In + + + {0:D2}:{1:D2}:{2:D2} - LBA {3,6}: {4} area, {5}, {6}, {7}, Q mode {8} position: {9:X2}:{10:X2}:{11:X2} (LBA {12}), track {13:X} starts at {14:X2}:{15:X2}:{16:X2} (LBA {17}), Q CRC 0x{18:X2}{19:X2} ({20}), R-W {21} + + + corrupted pause + + + pause + + + not pause + + + OK + + + BAD + + + empty + + + not empty + + + CD-DA / CD-ROM + + + CD-i + + + CD-ROM XA + + + unknown {0:X2} + + + {0:D2}:{1:D2}:{2:D2} - LBA {3,6}: {4} area, {5}, {6}, {7}, Q mode {8} position: {9:X2}:{10:X2}:{11:X2} (LBA {12}), track {13:X} is first program area track in {14} format, Q CRC 0x{15:X2}{16:X2} ({17}), R-W {18} + + + {0:D2}:{1:D2}:{2:D2} - LBA {3,6}: {4} area, {5}, {6}, {7}, Q mode {8} position: {9:X2}:{10:X2}:{11:X2} (LBA {12}), track {13:X} is last program area track, Q CRC 0x{14:X2}{15:X2} ({16}), R-W {17} + + + {0:D2}:{1:D2}:{2:D2} - LBA {3,6}: {4} area, {5}, {6}, {7}, Q mode {8} MCN: {9} frame {10:X2} CRC 0x{11:X2}{12:X2} ({13}), R-W {14} + + + {0:D2}:{1:D2}:{2:D2} - LBA {3,6}: {4} area, {5}, {6}, {7}, Q: {8:X2} {9:X2} {10:X2} {11:X2} {12:X2} {13:X2} {14:X2} {15:X2} {16:X2} {17:X2} CRC 0x{18:X2}{19:X2} ({20}), R-W {21} + + + {0:D2}:{1:D2}:{2:D2} - LBA {3,6}: {4} area, {5}, {6}, {7}, Q mode {8} skip interval start time {9:X2}{10:X2}{11:X2}, skip interval stop time {12:X2}{13:X2}{14:X2}, CRC 0x{15:X2}{16:X2} ({17}), R-W {18} + + + {0:D2}:{1:D2}:{2:D2} - LBA {3,6}: {4} area, {5}, {6}, {7}, Q mode {8} next program area can start at {9:X2}:{10:X2}:{11:X2} (LBA {12}), last-session, {13} mode 5 pointers, CRC 0x{14:X2}{15:X2} ({16}), R-W {17} + + + {0:D2}:{1:D2}:{2:D2} - LBA {3,6}: {4} area, {5}, {6}, {7}, Q mode {8} next program area can start at {9:X2}:{10:X2}:{11:X2} (LBA {12}), maximum Lead-out at {13:X2}:{14:X2}:{15:X2} (LBA {16}), {17} mode 5 pointers, CRC 0x{18:X2}{19:X2} ({20}), R-W {21} + + + {0:D2}:{1:D2}:{2:D2} - LBA {3,6}: {4} area, {5}, {6}, {7}, Q mode {8}, {9} skip interval pointers, {10} skip track assignments, CRC 0x{11:X2}{12:X2} ({13}), R-W {14} + + + {0:D2}:{1:D2}:{2:D2} - LBA {3,6}: {4} area, {5}, {6}, {7}, Q mode {8}, ATIP values {9:X2}, {10:X2}, {11:X2}, first disc Lead-in starts at {12:X2}{13:X2}{14:X2} (LBA {15}), CRC 0x{16:X2}{17:X2} ({18}), R-W {19} + + + {0:D2}:{1:D2}:{2:D2} - LBA {3,6}: {4} area, {5}, {6}, {7}, Q mode {8}, tracks {9} to be skipped, CRC 0x{10:X2}{11:X2} ({12}), R-W {13} + + + Lead-out + + + Program + + + {0:D2}:{1:D2}:{2:D2} - LBA {3,6}: {4} area, {5}, {6}, {7}, Q mode {8} position: track {9:X} index {10:X} relative position {11:X2}:{12:X2}:{13:X2} (LBA {14}), absolute position {15:X2}:{16:X2}:{17:X2} (LBA {18}), Q CRC 0x{19:X2}{20:X2} ({21}), R-W {22} + + + {0:D2}:{1:D2}:{2:D2} - LBA {3,6}: {4} area, {5}, {6}, {7}, Q mode {8} ISRC: {9} frame {10:X2} CRC 0x{11:X2}{12:X2} ({13}), R-W {14} + + + Expected CD TOC size ({0} bytes) is not received size ({1} bytes), not decoding + + + First track number in first complete session: {0} + + + Last track number in last complete session: {0} + + + Track number: Lead-Out + + + Track number: {0} + + + Q subchannel stores track pointer + + + Q subchannel stores video track pointer + + + Q subchannel mode {0} + + + Disc surface is set to write protected status + + + Disc comes in a cartridge + + + Disc has been extracted from the cartridge + + + Cartridge is set to write protected + + + Disc shall not be written without a cartridge + + + Disc may be written without a cartridge + + + Unknown disc type id {0} + + + Disc is write inhibited because it has been extracted from the cartridge + + + Disc is write inhibited for an unspecified reason + + + Disc has unknown reason {0} for write inhibition + + + No drive region setting. + + + Drive region is set. + + + Drive region is set, with additional restrictions required to make a change. + + + Drive region has been set permanently, but may be reset by the vendor if necessary. + + + Drive has {0} vendor resets available. + + + Drive has {0} user controlled changes available. + + + Drive has no region set. + + + Drive is region free. + + + Drive has the following regions set: + + + The Logical Unit does not enforce Region Playback Controls (RPC). + + + The Logical Unit shall adhere to the specification and all requirements of the CSS license agreement concerning RPC. + + + The Logical Unit uses an unknown region enforcement scheme. + + + Disc has no encryption. + + + Disc is encrypted using CSS or CPPM. + + + Disc is encrypted using CPRM. + + + Disc is encrypted using AACS. + + + Disc is encrypted using unknown algorithm with ID {0}. + + + Disc cannot be played in any region at all. + + + Disc can be played in any region. + + + Disc can be played in the following regions: + + + Formatting in progress. + + + Formatting is only using partial certification + + + Only a group is being formatted + + + Disc has been certified by a user + + + Disc has been certified by a manufacturer + + + DDS has been updated {0} times + + + Group {0} is being formatted + + + Group {0} is being certified partially + + + Group {0} has been certified by an user + + + Disc has {0} zones + + + Primary Spare Area stats at PSN {0:X}h and ends at PSN {1:X}h, inclusively + + + LSN 0 is at PSN {0:X}h + + + Zone {0} starts at LSN {1} + + + unknown size identifier {0} + + + Disc is a {0} {1} version {2} + + + Disc claims conformation to ECMA-267 + + + Disc claims conformation to ECMA-268 + + + Disc claims conformation to ECMA-272 + + + Disc claims conformation to ECMA-330 + + + Disc claims conformation to ECMA-279 + + + Disc claims conformation to ECMA-359 + + + Disc claims conformation to ECMA-382 + + + Disc claims conformation to ECMA-338 + + + Disc claims conformation to ECMA-384 + + + 60mm + + + invalid size + + + Disc claims conformation to ECMA-365 + + + Disc claims conformation to ECMA-274 + + + Disc claims conformation to ECMA-337 + + + Disc claims conformation to ECMA-371 + + + Disc claims conformation to ECMA-349 + + + Disc claims conformation to ECMA-374 + + + Disc claims conformation to ECMA-364 + + + Disc is a Nintendo Gamecube Optical Disc (GOD) + + + Disc is a Nintendo Wii Optical Disc (WOD) + + + unknown disc type + + + 80mm + + + 120mm + + + Disc book type is {0} + + + Disc maximum transfer rate is 2,52 Mbit/sec. + + + Disc maximum transfer rate is 5,04 Mbit/sec. + + + Disc maximum transfer rate is 10,08 Mbit/sec. + + + Disc maximum transfer rate is 20,16 Mbit/sec. + + + Disc maximum transfer rate is 30,24 Mbit/sec. + + + Disc maximum transfer rate is unspecified. + + + Disc maximum transfer rate is specified by unknown key {0} + + + Disc has {0} layers + + + Layers are in parallel track path + + + Layers are in opposite track path + + + Pitch size is 0,267 μm/bit + + + Pitch size is 0,147 μm/bit + + + Pitch size is between 0,409 μm/bit and 0,435 μm/bit + + + Pitch size is between 0,140 μm/bit and 0,148 μm/bit + + + Pitch size is 0,153 μm/bit + + + Pitch size is between 0,130 μm/bit and 0,140 μm/bit + + + Pitch size is 0,353 μm/bit + + + Unknown pitch size key {0} + + + Track size is 0,74 μm + + + Track size is 0,80 μm + + + Track size is 0,615 μm + + + Track size is 0,40 μm + + + Track size is 0,34 μm + + + Unknown track size key {0} + + + Data area starts at PSN {0:X}h + + + Data area ends at PSN {0:X}h + + + Layer 0 ends at PSN {0:X}h + + + Disc is empty + + + Disc has a burst cutting area + + + Media attribute is {0} + + + Disc shall be recorded with a case + + + Disc can be recorded with or without a case + + + Unknown DVD-RAM case type key {0} + + + Disc manufacturer is {0} + + + Disc manufacturer supplementary information is {0} + + + Current Border-Out first sector is PSN {0:X}h + + + Next Border-In first sector is PSN {0:X}h + + + Disc contains extended information for VCPS + + + Disc application code is {0} + + + Disc media type is {0} + + + Disc product revision is {0} + + + Current RMD in extra Border zone starts at PSN {0:X}h + + + PFI in extra Border zone starts at PSN {0:X}h + + + Control Data Zone is pre-recorded + + + Lead-In is pre-recorded + + + Lead-Out is pre-recorded + + + Disc for unrestricted use. + + + Invalid purpose field with value {0} + + + Consumer purpose disc for use in consumer purpose drives + + + Disc for restricted use. + + + Disc for use in special drives according with purpose value {0} + + + General purpose disc for use in general purpose drives + + + Disc track pitch is 0,74 μm + + + Unknown track pitch + + + Reference velocity is 3,49 m/s + + + Unknown reference velocity + + + Disc has 80mm diameter + + + Disc has 120mm diameter + + + Disc reflectivity is between 18% and 30% + + + Disc reflectivity is between 45% and 85% + + + Dye is organic + + + Dye is phase change + + + Disc is RW (rewritable) + + + Disc is R (recordable) + + + Wavelength is 650nm + + + Unknown wavelength + + + Last writable ECC block address: 0x{0:X6} + + + Part version {0} + + + Recommended recording power is {0} mW + + + Recording power is not specified + + + Recommended erasing power ratio is {0} ε + + + Erasing power ratio is not specified + + + {0} unused primary spare blocks + + + {0} unused supplementary spare blocks + + + {0} allocated supplementary spare blocks + + + Prologue found at {0} + + + Volume {0} + + + Sector {0} + + + Checksum {0} + + + Epilogue {0:X2}{1:X2}{2:X2} + + + Inner gap has {0} bytes + + + Data has {0} bytes + + + Got {0} bytes of gap + + + Finished sector at {0} + + + Adding sector {0} of track {1} + + + MultiMediaCard Device Identification Register: + + + Manufacturer: {0} + + + Removable device + + + BGA device + + + POP device + + + Application ID: {0} + + + Product revision: {0:X2}.{1:X2} + + + Product serial number: {0} + + + 1997 or 2013 + + + 1998 or 2014 + + + 1999 or 2015 + + + 2000 or 2016 + + + 2001 or 2017 + + + 2002 or 2018 + + + 2003 or 2019 + + + 2004 or 2020 + + + 2005 or 2021 + + + 2006 or 2022 + + + 2007 or 2023 + + + 2008 or 2024 + + + 2009 or 2025 + + + Device manufactured month {0} of {1} + + + CID CRC: 0x{0:X2} + + + Register version 1.0 + + + Register version 1.1 + + + Register version 1.2 + + + MultiMediaCard Device Specific Data Register: + + + Register version is defined in Extended Device Specific Data Register + + + ns + + + μs + + + ms + + + MHz + + + unknown + + + Device's clock frequency: {0}{1} + + + Read block length size is defined in extended CSD + + + Device may be bigger than 2GiB and have its real size defined in the extended CSD + + + Device has {0} blocks + + + Device has {0} GiB + + + Device has {0} MiB + + + Device has {0} KiB + + + Device has {0} bytes + + + Device uses a maximum of 0.5mA for reading at minimum voltage + + + Device uses a maximum of 1mA for reading at minimum voltage + + + Device uses a maximum of 5mA for reading at minimum voltage + + + Device uses a maximum of 10mA for reading at minimum voltage + + + Device uses a maximum of 25mA for reading at minimum voltage + + + Device uses a maximum of 35mA for reading at minimum voltage + + + Device uses a maximum of 60mA for reading at minimum voltage + + + Device uses a maximum of 100mA for reading at minimum voltage + + + Device uses a maximum of 1mA for reading at maximum voltage + + + Device uses a maximum of 5mA for reading at maximum voltage + + + Device uses a maximum of 10mA for reading at maximum voltage + + + Device uses a maximum of 25mA for reading at maximum voltage + + + Device uses a maximum of 35mA for reading at maximum voltage + + + Device uses a maximum of 45mA for reading at maximum voltage + + + Device uses a maximum of 80mA for reading at maximum voltage + + + Device uses a maximum of 200mA for reading at maximum voltage + + + Device uses a maximum of 0.5mA for writing at minimum voltage + + + Device uses a maximum of 1mA for writing at minimum voltage + + + Device uses a maximum of 5mA for writing at minimum voltage + + + Device uses a maximum of 10mA for writing at minimum voltage + + + Device uses a maximum of 25mA for writing at minimum voltage + + + Device uses a maximum of 35mA for writing at minimum voltage + + + Device uses a maximum of 60mA for writing at minimum voltage + + + Device uses a maximum of 100mA for writing at minimum voltage + + + Device uses a maximum of 1mA for writing at maximum voltage + + + Device uses a maximum of 5mA for writing at maximum voltage + + + Device uses a maximum of 10mA for writing at maximum voltage + + + Device uses a maximum of 25mA for writing at maximum voltage + + + Device uses a maximum of 35mA for writing at maximum voltage + + + Device uses a maximum of 45mA for writing at maximum voltage + + + Device uses a maximum of 80mA for writing at maximum voltage + + + Device uses a maximum of 200mA for writing at maximum voltage + + + Device can erase a minimum of {0} blocks at a time + + + Device can write protect regions + + + Device can write protect a minimum of {0} blocks at a time + + + Device can't write protect regions + + + Device uses no ECC by default + + + Device uses BCH(542, 512) ECC by default + + + Device uses unknown ECC code {0} by default + + + Writing is {0} times slower than reading + + + Write block length size is defined in extended CSD + + + Write block length is {0} bytes + + + Device allows writing partial blocks + + + Device supports content protection + + + Device contents are original + + + Device is permanently write protected + + + Device is temporarily write protected + + + Device is formatted like a hard disk + + + Device is formatted like a floppy disk using Microsoft FAT + + + Device uses Universal File Format + + + Device uses unknown file format code {0} + + + Device uses unknown file format code {0} and file format group 1 + + + Device currently uses no ECC + + + Device currently uses BCH(542, 512) ECC + + + Device currently uses unknown ECC code {0} + + + CSD CRC: 0x{0:X2} + + + MultiMediaCard Extended Device Specific Data Register: + + + Last extended security error was {0} + + + Device supports standard MMC command set + + + Device supports unknown command sets 0x{0:X2} + + + Device implements HPI using CMD12 + + + Device implements HPI using CMD13 + + + Device supports background operations + + + Device supports a maximum of {0} packed reads and {1} packed writes + + + Device supports Data Tag + + + Tags must be in units of {0} sectors + + + Tag resources size is {0}. + + + Max context ID is {0}. + + + Large unit maximum multiplier is {0}. + + + Large unit size is {0} MiB + + + Device supports non-persistent extended partitions + + + Device supports system code extended partitions + + + Device supports FFU + + + Maximum timeout for switch command when setting a value to the mode operation codes field is {0:D2}s + + + Maximum timeout for switch command when setting a value to the mode operation codes field is {0:D2}ms + + + Maximum timeout for switch command when setting a value to the mode operation codes field is {0:D2}µs + + + Device supports Vendor Specific Mode + + + Device supports the barrier command + + + Device supports command queuing with a depth of {0} + + + {0} firmware sectors correctly programmed + + + Device used between 0% and 10% of its estimated life time + + + Device used between 10% and 20% of its estimated life time + + + Device used between 20% and 30% of its estimated life time + + + Device used between 30% and 40% of its estimated life time + + + Device used between 40% and 50% of its estimated life time + + + Device used between 50% and 60% of its estimated life time + + + Device used between 60% and 70% of its estimated life time + + + Device used between 70% and 80% of its estimated life time + + + Device used between 80% and 90% of its estimated life time + + + Device used between 90% and 100% of its estimated life time + + + Device exceeded its maximum estimated life time + + + Device informs it's in good health + + + Device informs it should be replaced soon + + + Device informs it should be replace immediately + + + Device does not report an optimal read size + + + Optimal read size is {0} KiB + + + Device does not report an optimal write size + + + Optimal write size is {0} KiB + + + Device does not report an optimal trim size + + + Optimal trim size is {0} KiB + + + Device version: {0} + + + Firmware version: {0} + + + Device has no cache + + + Device has {0} KiB of cache + + + Device takes a maximum of {0} ms by default for a SWITCH command + + + Device takes a maximum of {0} by default to power off from a SWITCH command notification + + + Device has no pending background operations + + + Device has non critical operations outstanding + + + Device has performance impacted operations outstanding + + + Device has critical operations outstanding + + + Last WRITE MULTIPLE command correctly programmed {0} sectors + + + Device takes a maximum of {0} ms for initialization after partition + + + Device uses a FIFO policy for cache flushing + + + Device takes a maximum of {0} ms for trimming a single erase group + + + Device supports the sanitize operation + + + Device supports supports the secure and insecure trim operations + + + Device supports automatic erase on retired defective blocks + + + Device supports secure purge operations + + + Device takes a maximum of {0} ms for securely erasing a single erase group + + + Device takes a maximum of {0} ms for securely trimming a single erase group + + + Device supports high speed timing on boot + + + Device supports dual data rate on boot + + + Device supports alternative boot method + + + Device has a {0} KiB boot partition + + + Device has a page size of {0} KiB + + + Device erase groups are {0} KiB + + + Device takes a maximum of {0} ms for erasing a single erase group + + + Device smallest write protect group is made of {0} erase groups + + + Device uses {0} mA on Vcc when sleeping + + + Device uses {0} μA on Vcc when sleeping + + + Device uses {0} mA on Vccq when sleeping + + + Device uses {0} μA on Vccq when sleeping + + + Device takes a maximum of {0} s to switch production state awareness + + + Device takes a maximum of {0} ms to switch production state awareness + + + Device takes a maximum of {0} μs to switch production state awareness + + + Device takes a maximum of {0} ms to transition between sleep and standby states + + + Device takes a maximum of {0} μs to transition between sleep and standby states + + + Device takes a maximum of {0} ns to transition between sleep and standby states + + + Device takes a maximum of {0} s to move to sleep state + + + Device takes a maximum of {0} ms to move to sleep state + + + Device takes a maximum of {0} μs to move to sleep state + + + Device has {0} sectors + + + Device supports secure write protection + + + Device has secure write protection enabled + + + Device cannot achieve 2.4MB/s reading in SDR 26Mhz mode + + + Device can achieve a minimum of {0}MB/s reading in SDR 26Mhz mode + + + Device cannot achieve 2.4MB/s reading in SDR 26Mhz 4-bit mode + + + Device can achieve a minimum of {0}MB/s reading in SDR 26Mhz 4-bit mode + + + Device cannot achieve 2.4MB/s reading in SDR 52Mhz mode + + + Device can achieve a minimum of {0}MB/s reading in SDR 52Mhz mode + + + Device cannot achieve 4.8MB/s reading in DDR 52Mhz mode + + + Device can achieve a minimum of {0}MB/s reading in DDR 52Mhz mode + + + Device cannot achieve 2.4MB/s writing in SDR 26Mhz mode + + + Device can achieve a minimum of {0}MB/s writing in SDR 26Mhz mode + + + Device cannot achieve 2.4MB/s writing in SDR 26Mhz 4-bit mode + + + Device can achieve a minimum of {0}MB/s writing in SDR 26Mhz 4-bit mode + + + Device cannot achieve 2.4MB/s writing in SDR 52Mhz mode + + + Device can achieve a minimum of {0}MB/s writing in SDR 52Mhz mode + + + Device cannot achieve 4.8MB/s writing in DDR 52Mhz mode + + + Device can achieve a minimum of {0}MB/s writing in DDR 52Mhz mode + + + Device can take a maximum of {0} ms when switching partitions + + + Device can take a maximum of {0} ms when releasing from an interrupt + + + Device supports I/O driver strength type 0. + + + Device supports I/O driver strength type 1. + + + Device supports I/O driver strength type 2. + + + Device supports I/O driver strength type 3. + + + Device supports I/O driver strength type 4. + + + Device supports 26 Mhz mode + + + Device supports 52 Mhz mode + + + Device supports DDR 52 Mhz mode at 1.8V or 3V + + + Device supports DDR 52 Mhz mode 1.2V + + + Device supports HS-200 mode (SDR 200Mhz) at 1.8V + + + Device supports HS-200 mode (SDR 200Mhz) at 1.2V + + + Device supports HS-400 mode (DDR 200Mhz) at 1.8V + + + Device supports HS-400 mode (DDR 200Mhz) at 1.2V + + + CSD version 1.{0} revision 1.{1} + + + Device follows compatibility MMC command set. + + + Device follows standard MMC command set v4.0. + + + Device follows standard MMC command set with unknown version code {0}. + + + Device follows unknown MMC command set code {0} with revision code {1}. + + + Device is in High Speed mode. + + + Device is in HS-200 mode. + + + Device is in HS-400 mode. + + + Device has unknown timing mode {0}. + + + Selected driver strength is type {0}. + + + Device supports enhanced strobe mode + + + Device uses strobe during Data Out, CRC and CMD responses + + + Device uses strobe during Data Out and CRC responses + + + Device is using 1-bit data bus + + + Device is using 4-bit data bus + + + Device is using 8-bit data bus + + + Device is using 4-bit DDR data bus + + + Device is using 8-bit DDR data bus + + + Device is using unknown data bus code {0} + + + Erased memory range shall be '{0}'. + + + Unknown erased memory content code {0} + + + Device sends boot acknowledge + + + Device is not boot enabled + + + Device boot partition 1 is enabled + + + Device boot partition 2 is enabled + + + Device user area is enable for boot + + + Unknown enabled boot partition code {0} + + + There is no access to boot partition + + + There is read/write access to boot partition 1 + + + There is read/write access to boot partition 2 + + + There is read/write access to replay protected memory block + + + There is access to general purpose partition {0} + + + Change of the boot configuration register bits is permanently disabled. + + + Change of the boot configuration register bits is disabled until the next power cycle. + + + Device will boot up in x1 SDR or x4 DDR bus width. + + + Device will boot up in x4 SDR or DDR bus width. + + + Device will boot up in x8 SDR or DDR bus width. + + + Unknown boot condition for bus width with code 3. + + + Device will retain boot conditions after boot operation. + + + Device will reset boot conditions to compatibility mode after boot operation. + + + Device will use single data rate with compatible timings in boot operation. + + + Device will use single data rate with high speed timings in boot operation. + + + Device will use dual data rate in boot operation. + + + Device will use unknown boot mode with code 3. + + + Device will use high capacity erase unit size, timeout and write protect group size definitions. + + + Boot area 1 is not protected + + + Boot area 1 is power on protected + + + Boot area 1 is permanently protected + + + Boot area 2 is not protected + + + Boot area 2 is power on protected + + + Boot area 2 is permanently protected + + + Boot area 2 is permanently write protected. + + + Boot area 1 is permanently write protected. + + + Both boot areas are permanently write protected. + + + Boot area 2 is write protected until next power cycle. + + + Boot area 1 is write protected until next power cycle. + + + Both boot areas are write protected until next power cycle. + + + Permanent write protection of boot areas is disabled. + + + Power cycled write protection of boot areas is disabled. + + + Use of password protection features is permanently disabled. + + + Use of permanent write protection is disabled. + + + Permanent write protection is disabled. + + + Power cycled write protection is disabled. + + + Permanent write protection will be applied to selected group. + + + Power cycled write protection will be applied to selected group. + + + Firmware updates are permanently disabled + + + Device has a {0} KiB replay protected memory block + + + Device supports partitioning features + + + Device can have enhanced technological features in partitions and user data area + + + Device can have extended partitions attribute. + + + Device natively uses 512 byte sectors + + + Device natively uses 4096 byte sectors + + + Device natively uses unknown sector size indicated by code {0} + + + Device is emulating 512 byte sectors + + + Device is using natively sized sectors + + + Device emulates unknown sector size indicated by code {0} + + + Device currently addresses 512 byte sectors + + + Device currently addresses 4096 byte sectors + + + Device currently addresses unknown sector size indicated by code {0} + + + Device's cache is enabled + + + Device has enabled command queuing + + + MultiMediaCard Operation Conditions Register: + + + Device is powering up + + + Device is byte addressed + + + Device is sector addressed + + + Unknown device access mode {0} + + + Device can work with supply 3.5~3.6V + + + Device can work with supply 3.4~3.5V + + + Device can work with supply 3.3~3.4V + + + Device can work with supply 3.2~3.3V + + + Device can work with supply 3.1~3.2V + + + Device can work with supply 2.9~3.0V + + + Device can work with supply 2.8~2.9V + + + Device can work with supply 2.7~2.8V + + + Device can work with supply 2.6~2.7V + + + Device can work with supply 2.5~2.6V + + + Device can work with supply 2.4~2.5V + + + Device can work with supply 2.3~2.4V + + + Device can work with supply 2.2~2.3V + + + Device can work with supply 2.1~2.2V + + + Device can work with supply 2.0~2.1V + + + Device can work with supply 1.65~1.95V + + + Unknown manufacturer ID 0x{0:X2} + + + PCMCIA Device Geometry Tuples: + + + Geometry: + + + Device width: {0} bits + + + Erase block: {0} bytes + + + Read block: {0} bytes + + + Write block: {0} bytes + + + Partition alignment: {0} bytes + + + PCMCIA Manufacturer Identification Tuple: + + + Manufacturer ID: {0} + + + Card ID: 0x{0:X4} + + + PCMCIA Level 1 Version / Product Information Tuple: + + + Card indicates compliance with PC Card Standard Release {0}.{1} + + + No manufacturer information string. + + + No product name string. + + + No additional information. + + + Additional information: + + + Unknown vendor id 0x{0:X4} + + + AACS Volume Identifier in hex follows: + + + AACS Media Serial Number in hex follows: + + + AACS Media Identifier in hex follows: + + + Total number of media key blocks available to transfer {0} + + + AACS Media Key Blocks in hex follows: + + + AACS Data Keys in hex follows: + + + Drive can store 256 LBA Extents + + + Drive cannot store LBA Extents + + + Drive can store {0} LBA Extents + + + LBA Extent {0} starts at LBA {1} and goes for {2} sectors + + + Total number of CPRM Media Key Blocks available to transfer: {0} + + + CPRM Media Key Blocks in hex follows: + + + Disc type declared as CD-DA or CD-ROM + + + Disc type declared as CD-i + + + Disc type declared as CD-ROM XA + + + Disc type is undefined + + + Unknown disc type {0:X2}h + + + Disc is incomplete + + + Disc is finalized + + + Disc is erasable + + + Last session is empty + + + Last session is incomplete + + + Last session is damaged + + + Last session is complete + + + Media was being formatted in the background but it is stopped and incomplete + + + Media is currently being formatted in the background + + + Media background formatting has completed + + + MRW is dirty + + + First track on disc is track {0} + + + Disc has {0} sessions + + + First track in last session is track {0} + + + Last track in last session is track {0} + + + Last session Lead-In address is {0} (as LBA) or {1:X2}:{2:X2}:{3:X2} + + + Last possible Lead-Out address is {0} (as LBA) or {1:X2}:{2:X2}:{3:X2} + + + Disc is defined for unrestricted use + + + Disc is defined for restricted use + + + Disc barcode: {0:X16} + + + Disc application code: {0} + + + OPC values for {0}Kbit/sec.: {1}, {2}, {3}, {4}, {5}, {6} + + + {0} maximum possible tracks on the disc + + + {0} assigned tracks on the disc + + + {0} maximum possible appendable tracks on the disc + + + {0} current appendable tracks on the disc + + + {0} remaining POW replacements + + + {0} remaining POW reallocation map entries + + + {0} remaining POW updates + + + Drive reported a reserved profile number + + + MMC Supported Profiles: + + + Drive supports non-removable changeable media + + + Drive supports rewritable and removable media + + + Drive supports Magneto-Optical media + + + Drive supports optical write-once media + + + Drive supports Advanced Storage - Magneto-Optical + + + Drive supports CD-ROM + + + Drive supports CD-R + + + Drive supports CD-RW + + + Drive supports DVD-ROM + + + Drive supports DVD-R + + + Drive supports DVD-RAM + + + Drive supports restricted overwrite DVD-RW + + + Drive supports sequentially recorded DVD-RW + + + Drive supports sequentially recorded DVD-R DL + + + Drive supports layer jump recorded DVD-R DL + + + Drive supports DVD-RW DL + + + Drive supports DVD-Download + + + Drive supports DVD+RW + + + Drive supports DVD+R + + + Drive supports DDCD-ROM + + + Drive supports DDCD-R + + + Drive supports DDCD-RW + + + Drive supports DVD+RW DL + + + Drive supports DVD+R DL + + + Drive supports BD-ROM + + + Drive supports BD-R SRM + + + Drive supports BD-R RRM + + + Drive supports BD-RE + + + Drive supports HD DVD-ROM + + + Drive supports HD DVD-R + + + Drive supports HD DVD-RAM + + + Drive supports HD DVD-RW + + + Drive supports HD DVD-R DL + + + Drive supports HD DVD-RW DL + + + Drive supports HDBurn CD-ROM + + + Drive supports HDBurn CD-R + + + Drive supports HDBurn CD-RW + + + Drive is not conforming to any profile + + + Drive informs of unknown profile 0x{0:X4} + + + (current) + + + MMC Core Feature: + + + Drive uses an unspecified physical interface + + + Drive uses a SCSI interface + + + Drive uses an ATAPI interface + + + Drive uses an IEEE-1394 interface + + + Drive uses an IEEE-1394A interface + + + Drive uses a Fibre Channel interface + + + Drive uses an IEEE-1394B interface + + + Drive uses a Serial ATAPI interface + + + Drive uses an USB interface + + + Drive uses a vendor unique interface + + + Drive uses an unknown interface with code {0} + + + Drive supports Device Busy events + + + Drive supports EVPD, Page Code and 16-bit Allocation Length as described in SPC-3 + + + MMC Morphing: + + + Drive supports polling and asynchronous GET EVENT STATUS NOTIFICATION + + + Drive supports only polling GET EVENT STATUS NOTIFICATION + + + Drive supports operational change request / notification class events + + + MMC Removable Medium: + + + Drive uses media caddy + + + Drive uses a tray + + + Drive is pop-up + + + Drive is a changer with individually changeable discs + + + Drive is a changer using cartridges + + + Drive uses unknown loading mechanism type {0} + + + Drive can lock media + + + Drive power ups locked + + + Drive can eject media + + + Drive can load media + + + Drive reports Device Busy Class events during medium loading/unloading + + + MMC Write Protect: + + + Drive supports reading/writing the Disc Write Protect PAC on BD-R/-RE media + + + Drive supports writing the Write Inhibit DCB on DVD+RW media + + + Drive supports set/release of PWP status + + + Drive supports the SWPP bit of the Timeout and Protect mode page + + + MMC Random Readable + + + Drive shall report Read/Write Error Recovery mode page + + + {0} bytes per logical block + + + {0} logical blocks per media readable unit + + + Drive claims capability to read all CD formats according to OSTA Multi-Read Specification + + + + MMC CD Read + + + Drive supports the DAP bit in the READ CD and READ CD MSF commands + + + Drive supports C2 Error Pointers + + + Drive can return CD-Text from Lead-In + + + MMC DVD Read + + + Drive can read DVD media + + + Drive can read DVD-R DL from all recording modes + + + Drive can read DVD-RW DL from all recording modes + + + Drive conforms to DVD Multi Drive Read-only Specifications + + + MMC Random Writable: + + + {0} logical blocks per media writable unit + + + Last addressable logical block is {0} + + + MMC Incremental Streaming Writable: + + + Drive supports data block types: + + + Drive claims support to report Track Resources Information + + + Drive supports address mode reservation on the RESERVE TRACK command + + + Drive is capable of zero loss linking + + + Drive supports media that require erasing before writing + + + MMC Formattable: + + + Drive can format media into logical blocks + + + Drive can format BD-RE with no spares allocated + + + Drive can expand the spare area on a formatted BD-RE disc + + + Drive can format BD-RE discs with quick certification + + + Drive can format BD-RE discs with full certification + + + Drive can fast re-format BD-RE discs + + + Drive can format BD-R discs with RRM format + + + MMC Hardware Defect Management: + + + Drive shall be able to provide a defect-free contiguous address space + + + Drive can return Spare Area Information + + + MMC Write Once + + + Drive shall have the ability to overwrite logical blocks only in fixed sets at a time + + + Drive can write High-Speed CD-RW + + + Drive can read and write CD-MRW and DVD+MRW + + + Drive can read and write DVD+MRW + + + Drive and read DVD+MRW and read and write CD-MRW + + + Drive can read and write CD-MRW + + + Drive can read CD-MRW and DVD+MRW + + + Drive can read CD-MRW + + + MMC Enhanced Defect Reporting Feature: + + + Drive supports DRT-DM mode + + + Drive supports Persistent-DM mode + + + Drive has {0} DBI cache zones + + + Drive has {0} DBI entries + + + Drive can read and write DVD+RW + + + Drive supports only the read compatibility stop + + + Drive supports both forms of background format stopping + + + Drive can do a quick start formatting + + + Drive can read DVD+RW + + + Drive can read and write DVD+R + + + Drive can read DVD+R + + + MMC Rigid Restricted Overwrite + + + Drive supports the BLANK command + + + Drive supports writing on an intermediate state session and quick formatting + + + Drive can read Defect Status data recorded on the medium + + + Drive can generate Defect Status data during formatting + + + Drive can write CDs in Track at Once Mode: + + + Drive can write user provided data in the R-W subchannels + + + Drive accepts RAW R-W subchannel data + + + Drive accepts Packed R-W subchannel data + + + Drive can overwrite a TAO track with another in CD-RWs + + + Drive can do a test writing + + + Drive supports zero loss linking + + + Drive can write CDs in Session at Once Mode: + + + Drive can write CDs in raw Mode: + + + Drive can write CDs in Session at Once and in Raw Modes: + + + Drive can write multi-session CDs in raw mode + + + Drive can write CD-RWs + + + Drive supports a maximum of {0} bytes in a single cue sheet + + + Drive supports writing DVD-R, DVD-RW and DVD-R DL + + + Drive supports writing DVD-R and DVD-R DL + + + Drive supports writing DVD-R and DVD-RW + + + Drive supports writing DVD-R + + + Drive can read DDCDs + + + Drive supports writing DDCD-R + + + Drive supports writing DDCD-RW + + + Drive supports quick formatting + + + MMC Layer Jump Recording: + + + Current media has a {0} bytes link available + + + Drive can stop a long immediate operation + + + Drive can write CD-RW + + + Drive supports CD-RW subtypes + + + Drive can write BD-R on Pseudo-OVerwrite SRM mode + + + Drive can read and write DVD+RW DL + + + Drive can read DVD+RW DL + + + Drive can read and write DVD+R DL + + + Drive can read DVD+R DL + + + MMC BD Read + + + Drive can read BD-ROM pre-1.0 + + + Drive can read BD-ROM Ver.1 + + + Drive can read BD-R pre-1.0 + + + Drive can read BD-R Ver.1 + + + Drive can read BD-RE pre-1.0 + + + Drive can read BD-RE Ver.1 + + + Drive can read BD-RE Ver.2 + + + Drive can read BD's Burst Cutting Area + + + MMC BD Write + + + Drive can write BD-R pre-1.0 + + + Drive can write BD-R Ver.1 + + + Drive can write BD-RE pre-1.0 + + + Drive can write BD-RE Ver.1 + + + Drive can write BD-RE Ver.2 + + + Drive supports write without verify requirement + + + Drive is able to detect and report defective writable unit and behave accordingly + + + Drive can read HD DVD-ROM, HD DVD-RW, HD DVD-R and HD DVD-RAM + + + Drive can read HD DVD-ROM, HD DVD-RW and HD DVD-R + + + Drive can read HD DVD-ROM, HD DVD-RW and HD DVD-RAM + + + Drive can read HD DVD-ROM and HD DVD-RW + + + Drive can write HD DVD-RW, HD DVD-R and HD DVD-RAM + + + Drive can write HD DVD-RW and HD DVD-R + + + Drive can write HD DVD-RW and HD DVD-RAM + + + Drive can write HD DVD-RW + + + Drive is able to access Hybrid discs + + + Drive is able to maintain the online format layer through reset and power cycling + + + Drive is able to perform host and drive directed power management + + + Drive supports S.M.A.R.T. + + + Drive supports the Informational Exceptions Control mode page 1Ch + + + MMC Embedded Changer: + + + Drive can change disc side + + + Drive is able to report slots contents after a reset or change + + + Drive has {0} slots + + + Drive has an analogue audio output + + + Drive supports the SCAN command + + + Drive is able to mute channels separately + + + Drive supports separate volume per channel + + + Drive has {0} volume levels + + + Drive supports Microcode Upgrade + + + Drive supports validating the 5-bit Mode of the READ BUFFER and WRITE BUFFER commands + + + Drive supports Timeout & Protect mode page 1Dh + + + Drive supports the Group3 in Timeout & Protect mode page 1Dh + + + Drive has {0} increase of Group 3 time unit + + + Drive supports DVD CSS/CPPM version {0} and current disc is encrypted + + + Drive supports DVD CSS/CPPM version {0} + + + MMC Real Time Streaming: + + + Drive supports Set Minimum Performance with the SET STREAMING command + + + Drive supports the block bit in the READ BUFFER CAPACITY command + + + Drive supports the SET CD SPEED command + + + Drive supports the Write Speed Performance Descriptor Blocks in the MMC mode page 2Ah + + + Drive supports the Write Speed data of GET PERFORMANCE and the WRC field of SET STREAMING + + + Drive supports stream recording + + + Drive is able to read media serial number + + + Drive supports DCB {0:X8}h + + + Drive supports DVD CPRM version {0} and current disc is or can be encrypted + + + Drive supports DVD CPRM version {0} + + + Drive firmware is dated {0} + + + Drive supports AACS version {0} and current disc is encrypted + + + Drive supports AACS version {0} + + + Drive supports reading the Drive Certificate + + + Drive supports reading Media Key Block of CPRM + + + Drive supports writing with bus encryption + + + Drive supports bus encryption + + + Drive supports generating the binding nonce + + + {0} media blocks are required for the binding nonce + + + Drive supports {0} AGIDs concurrently + + + Maximum {0} scramble extent information entries + + + Drive and currently inserted media support VCPS + + + Drive supports VCPS + + + Drive and currently inserted media support SecurDisc + + + Drive supports SecurDisc + + + Drive supports the Trusted Computing Group Optical Security Subsystem Class + + + Current media is initialized with TCG OSSC + + + Drive supports PSA updates on write-once media + + + Drive supports linked OSPBs + + + Drive will only record on the OSSC Disc Format + + + Profile {0}: {1} + + + {0} format layers recognized + + + Layer {0} is of type Blu-ray + + + This is the default layer. + + + This is the layer actually in use. + + + Layer {0} is of type CD + + + Layer {0} is of type DVD + + + Layer {0} is of type HD DVD + + + Layer {0} is of unknown type 0x{1:X4} + + + Writing inhibited by media specific reason + + + Cartridge sets write protection + + + Media surface sets write protection + + + Software write protection is set until power down + + + Reserved4 = 0x{0:X2} + + + Reserved5 = 0x{0:X2} + + + Reserved6 = 0x{0:X2} + + + SCSI Control mode page: + + + Parameters can be saved + + + If set, target shall report log exception conditions + + + Tagged queuing is disabled + + + Extended Contingent Allegiance is enabled + + + Target may issue an asynchronous event notification upon completing its initialization + + + Target may issue an asynchronous event notification instead of a unit attention condition + + + Target may issue an asynchronous event notification instead of a deferred error + + + Global logging target save disabled + + + CHECK CONDITION should be reported rather than a long busy condition + + + Software write protect is active + + + Tasks aborted by other initiator's actions should be terminated with TASK ABORTED + + + All tasks received in nexus with ACA ACTIVE is set and an ACA condition is established shall terminate + + + Device shall return descriptor format sense data when returning sense data in the same transactions as a CHECK CONDITION + + + LOGICAL BLOCK APPLICATION TAG should not be modified + + + Protector information checking is disabled + + + No unit attention on release + + + Application Tag mode page is enabled + + + Abort any write command without protection information + + + Supports block lengths and protection information + + + The logical unit maintains one task set for all nexuses + + + The logical unit maintains separate task sets for each nexus + + + Unknown Task set type {0} + + + Commands should be sent strictly ordered + + + Commands can be reordered in any manner + + + Unknown Queue Algorithm Modifier {0} + + + If ACA is established, the task set commands shall resume after it is cleared, otherwise they shall terminate with CHECK CONDITION + + + All the affected commands in the task set shall be aborted when CHECK CONDITION is returned + + + Affected commands in the task set belonging with the CHECK CONDITION nexus shall be aborted + + + Reserved QErr value 2 is set + + + LUN shall clear unit attention condition reported in the same nexus + + + LUN shall not clear unit attention condition reported in the same nexus + + + LUN shall not clear unit attention condition reported in the same nexus and shall establish a unit attention condition for the initiator + + + Reserved UA_INTLCK_CTRL value 1 is set + + + On medium insertion, it shall be loaded for full access + + + On medium insertion, it shall be loaded for auxiliary memory access only + + + On medium insertion, it shall not be loaded + + + Reserved autoload mode {0} set + + + {0} ms before attempting asynchronous event notifications after initialization + + + There is no limit on the maximum time that is allowed to remain busy + + + A maximum of {0} ms are allowed to remain busy + + + {0} seconds to complete extended self-test + + + SCSI Control extension page: + + + Timestamp can be initialized by methods outside of the SCSI standards + + + Timestamp can be initialized by methods outside of the SCSI standards, but SCSI's SET TIMESTAMP shall take precedence over them + + + Implicit Asymmetric Logical Unit Access is enabled + + + Initial priority is {0} + + + Device will not degrade performance to extend its life + + + Maximum sense data would be {0} bytes + + + SCSI Medium types supported page: + + + Supported medium type one: {0} + + + Supported medium type two: {0} + + + Supported medium type three: {0} + + + Supported medium type four: {0} + + + SCSI CD-ROM parameters page: + + + Drive will remain in track hold state a vendor-specified time after a seek or read + + + Drive will remain in track hold state 125 ms after a seek or read + + + Drive will remain in track hold state 250 ms after a seek or read + + + Drive will remain in track hold state 500 ms after a seek or read + + + Drive will remain in track hold state 1 second after a seek or read + + + Drive will remain in track hold state 2 seconds after a seek or read + + + Drive will remain in track hold state 4 seconds after a seek or read + + + Drive will remain in track hold state 8 seconds after a seek or read + + + Drive will remain in track hold state 16 seconds after a seek or read + + + Drive will remain in track hold state 32 seconds after a seek or read + + + Drive will remain in track hold state 1 minute after a seek or read + + + Drive will remain in track hold state 2 minutes after a seek or read + + + Drive will remain in track hold state 4 minutes after a seek or read + + + Drive will remain in track hold state 8 minutes after a seek or read + + + Drive will remain in track hold state 16 minutes after a seek or read + + + Drive will remain in track hold state 32 minutes after a seek or read + + + Each minute has {0} seconds + + + Each second has {0} frames + + + SCSI CD-ROM audio control parameters page: + + + Drive will return from playback command immediately + + + Drive will return from playback command when playback ends + + + Drive will stop playback on track end + + + There are {0} blocks per each second of audio + + + Output port 0 has channels + + + muted + + + at maximum volume + + + at volume {0} + + + Output port 1 has channels + + + Output port 2 has channels + + + Output port 3 has channels + + + SCSI Data compression page: + + + Drive supports data compression + + + Data compression is enabled with + + + IBM ALDC with 512 byte buffer + + + IBM ALDC with 1024 byte buffer + + + IBM ALDC with 2048 byte buffer + + + IBM IDRC + + + DCLZ + + + an unregistered compression algorithm + + + an unknown algorithm coded {0} + + + Data decompression is enabled + + + Last data read was uncompressed + + + Last data read was compressed with + + + Report exception on compression is set to {0} + + + Drive does not support data compression + + + SCSI Drive Operation Mode page: + + + Verifying after writing is disabled + + + Drive will abort when a writing error is detected + + + Drive has two LUNs with rewritable being + + + SCSI Power Consumption page: + + + Device power consumption is dictated by identifier {0} of Power Consumption VPD + + + Device is in highest relative power consumption level + + + Device is in intermediate relative power consumption level + + + Device is in lowest relative power consumption level + + + SCSI Removable Block Access Capabilities page: + + + Drive can be used as a system floppy device + + + Drive supports reporting progress of format + + + Drive is a Non-CD Optical Device + + + Device is a dual device supporting CD and Non-CD Optical + + + Drive supports {0} LUNs + + + SCSI Informational exceptions control page: + + + Informational exceptions are disabled + + + Informational exceptions are enabled + + + No reporting of informational exception condition + + + Asynchronous event reporting of informational exceptions + + + Generate unit attention on informational exceptions + + + Conditionally generate recovered error on informational exceptions + + + Unconditionally generate recovered error on informational exceptions + + + Generate no sense on informational exceptions + + + Only report informational exception condition on request + + + Unknown method of reporting {0} + + + Informational exceptions reporting should not affect drive performance + + + A test informational exception will raise on next timer + + + Drive shall log informational exception conditions + + + Timer interval is vendor-specific + + + Timer interval is {0} ms + + + Informational exception conditions will be reported a maximum of {0} times + + + Warning reporting is enabled + + + Background functions are enabled + + + Drive will report background self-test errors + + + SCSI Background Control page: + + + Background scans will be halted if log is full + + + Background scans will only be logged if they require intervention + + + Background medium scans are enabled + + + Background pre-scans are enabled + + + {0} hours shall be between the start of a background scan operation and the next + + + Background pre-scan operations can take a maximum of {0} hours + + + At least {0} ms must be idle before resuming a suspended background scan operation + + + At most {0} ms must be before suspending a background scan operation and processing received commands + + + SCSI Timer & Protect page: + + + Drive is disabled until power is cycled + + + Drive is software write-protected until powered down + + + Drive will remain in same status a vendor-specified time after a seek, read or write operation + + + Drive will remain in same status 125 ms after a seek, read or write operation + + + Drive will remain in same status 250 ms after a seek, read or write operation + + + Drive will remain in same status 500 ms after a seek, read or write operation + + + Drive will remain in same status 1 second after a seek, read or write operation + + + Drive will remain in same status 2 seconds after a seek, read or write operation + + + Drive will remain in same status 4 seconds after a seek, read or write operation + + + Drive will remain in same status 8 seconds after a seek, read or write operation + + + Drive will remain in same status 16 seconds after a seek, read or write operation + + + Drive will remain in same status 32 seconds after a seek, read or write operation + + + Drive will remain in same status 1 minute after a seek, read or write operation + + + Drive will remain in same status 2 minutes after a seek, read or write operation + + + Drive will remain in same status 4 minutes after a seek, read or write operation + + + Drive will remain in same status 8 minutes after a seek, read or write operation + + + Drive will remain in same status 16 minutes after a seek, read or write operation + + + Drive will remain in same status 32 minutes after a seek, read or write operation + + + SCSI Medium Configuration Mode Page: + + + Drive is operating in WORM mode + + + Drive does not allow any logical blocks to be overwritten + + + Drive allows a tape header to be overwritten + + + Drive allows all format labels to be overwritten + + + Unknown WORM mode label restrictions code {0} + + + SCSI Read-write error recovery page: + + + Automatic write reallocation is enabled + + + Automatic read reallocation is enabled + + + Data not recovered within limits shall be transferred back before a CHECK CONDITION + + + Drive will transfer the entire requested length without delaying to perform error recovery + + + Drive will use the most expedient form of error recovery first + + + Drive shall report recovered errors + + + Transfer will be terminated upon error detection + + + Error correction is disabled + + + Drive will repeat read operations {0} times + + + Drive will repeat write operations {0} times + + + Drive will employ a maximum of {0} ms to recover data + + + Logical block provisioning error reporting is enabled + + + SCSI Read error recovery page for MultiMedia Devices: + + + All available recovery procedures will be used. + + + Only retries and CIRC are used. + + + Only retries are used. + + + Recovered errors will not be reported. + + + Recovered errors will be reported. + + + Recovered errors will be reported and aborted with CHECK CONDITION. + + + Unrecovered ECC errors will return CHECK CONDITION. + + + Unrecovered CIRC errors will return CHECK CONDITION. + + + Unrecovered ECC errors will not abort the transfer. + + + Unrecovered CIRC errors will not abort the transfer. + + + Unrecovered ECC errors will return CHECK CONDITION and the uncorrected data. + + + Unrecovered CIRC errors will return CHECK CONDITION and the uncorrected data. + + + Unknown recovery parameter 0x{0:X2} + + + SCSI CD-ROM capabilities page: + + + Drive can play audio + + + Drive can read sectors in Mode 2 Form 1 format + + + Drive can read sectors in Mode 2 Form 2 format + + + Drive supports multi-session discs and/or Photo-CD + + + Drive can read digital audio + + + Drive can continue from streaming loss + + + Drive can read uncorrected and interleaved R-W subchannels + + + Drive can read, deinterleave and correct R-W subchannels + + + Drive supports C2 pointers + + + Drive can read Media Catalogue Number + + + Drive can read ISRC + + + Drive uses media caddy + + + Drive uses a tray + + + Drive is pop-up + + + Drive is a changer with individually changeable discs + + + Drive is a changer using cartridges + + + Drive uses unknown loading mechanism type {0} + + + Drive can lock media + + + Drive power ups locked + + + Drive is locked, media cannot be ejected or inserted + + + Drive is not locked, media can be ejected and inserted + + + Drive is locked, media cannot be ejected, but if empty, can be inserted + + + Drive can eject media + + + Each channel can be muted independently + + + Each channel's volume can be controlled independently + + + Drive supports {0} volume levels + + + Drive has {0} Kbyte of buffer + + + Drive's maximum reading speed is {0} Kbyte/sec. + + + Drive's current reading speed is {0} Kbyte/sec. + + + Drive can read and write CD-R + + + Drive can read CD-R + + + Drive supports reading CD-R packet media + + + Drive can read and write CD-RW + + + Drive can read CD-RW + + + Drive can read DVD-ROM + + + Drive can read and write DVD-R + + + Drive can read DVD-R + + + Drive can read and write DVD-RAM + + + Drive can read DVD-RAM + + + Drive can deliver a composite audio and video data stream + + + Drive supports IEC-958 digital output on port 1 + + + Drive supports IEC-958 digital output on port 2 + + + Drive contains a changer that can report the exact contents of the slots + + + Drive's current writing speed is {0} Kbyte/sec. in CLV mode + + + Drive's current writing speed is {0} Kbyte/sec. in pure CAV mode + + + Drive's maximum writing speed is {0} Kbyte/sec. + + + Drive's current writing speed is {0} Kbyte/sec. + + + Drive supports writing at {0} Kbyte/sec. in CLV mode + + + Drive supports writing at is {0} Kbyte/sec. in pure CAV mode + + + Drive supports test writing + + + Drive can read barcode + + + Drive can read both sides of a disc + + + Drive an read raw R-W subchannel from the Lead-In + + + Drive supports DVD CSS and/or DVD CPPM + + + Drive supports buffer under-run free recording + + + IBM Behaviour Configuration Mode Page: + + + Fence behaviour is normal + + + Panic fence behaviour is enabled + + + Unknown fence behaviour code {0} + + + Cleaning behaviour is normal + + + Drive will periodically request cleaning + + + Unknown cleaning behaviour code {0} + + + WORM emulation is disabled + + + WORM emulation is enabled + + + Unknown WORM emulation code {0} + + + Uses 35-bytes sense data + + + Uses 96-bytes sense data + + + Unknown sense data behaviour code {0} + + + Drive will set Check Condition when cleaning is needed + + + No deferred error will be reported to a rewind command + + + Drive will set Check Condition when the criteria for Dead Media is met + + + Drive will not accept downlevel firmware via an FMR tape + + + Drive will eject cleaning cartridges on error + + + Drive will eject firmware cartridges on error + + + Drive will eject data cartridges on error + + + SCSI Disconnect-Reconnect mode page: + + + {0} ratio of buffer that shall be full prior to attempting a reselection + + + {0} ratio of buffer that shall be empty prior to attempting a reselection + + + {0} µs maximum permitted to assert BSY without a REQ/ACK handshake + + + {0} µs maximum permitted wait after releasing the bus before attempting reselection + + + {0} µs allowed to use the bus before disconnecting, if granted the privilege and not restricted + + + {0} bytes maximum can be transferred before disconnecting + + + {0} bytes maximum can be transferred for a command along with the disconnect command + + + Target shall not transfer data for a command during the same interconnect tenancy + + + Target is allowed to re-order the data transfer + + + Data transfer disconnect control is not used + + + All data for a command shall be transferred within a single interconnect tenancy + + + All data and the response for a command shall be transferred within a single interconnect tenancy + + + Reserved data transfer disconnect control value {0} + + + HP Serial Number Override Mode Page: + + + Serial number is the manufacturer's default value + + + Serial number is not the manufacturer's default value + + + Serial number: {0} + + + HP Device Time Mode Page: + + + Drive has been powered up {0} times + + + Drive has been powered up since {0} seconds ago this time + + + Drive has been powered up a total of {0} seconds + + + Drive's date/time is: {0} + + + Drive's time is UTC + + + Drive's time is synchronized with a NTP source + + + Library time is {0} + + + HP Extended Reset Mode Page: + + + Normal reset behaviour + + + Drive will flush and position itself on a LUN or target reset + + + Drive will maintain position on a LUN or target reset + + + IBM LEOT Mode Page: + + + {0} wraps + + + Fujitsu Verify Control Page: + + + Audio/Visual data support mode is applied + + + Test write operation is restricted during read or write operations. + + + Always apply the verify operation + + + Never apply the verify operation + + + Apply the verify operation depending on the condition + + + The device type that would be provided in the INQUIRY response is {0} + + + HP CD-ROM Emulation/Disaster Recovery Mode Page: + + + Drive is emulating a CD-ROM drive + + + Drive is not emulating a CD-ROM drive + + + Drive will not exit emulation automatically + + + SCSI Format device page: + + + {0} tracks per zone to use in dividing the capacity for the purpose of allocating alternate sectors + + + {0} sectors per zone that shall be reserved for defect handling + + + {0} tracks per zone that shall be reserved for defect handling + + + {0} tracks per LUN that shall be reserved for defect handling + + + {0} physical sectors per track + + + {0} Bytes per physical sector + + + Target-dependent interleave value is {0} + + + {0} sectors between last block of one track and first block of the next + + + {0} sectors between last block of a cylinder and first block of the next one + + + Drive supports soft-sectoring format + + + Drive supports hard-sectoring format + + + Drive media is removable + + + Sector addressing is progressively incremented in one surface before going to the next + + + Sector addressing is progressively incremented in one cylinder before going to the next + + + SCSI Rigid disk drive geometry page: + + + {0} heads + + + {0} cylinders + + + Write pre-compensation starts at cylinder {0} + + + Write current reduction starts at cylinder {0} + + + Drive steps in {0} ns + + + Heads park in cylinder {0} + + + Medium rotates at {0} rpm + + + Spindle synchronization is disable or unsupported + + + Target operates as a synchronized-spindle slave + + + Target operates as a synchronized-spindle master + + + Target operates as a synchronized-spindle master control + + + SCSI Flexible disk page: + + + Transfer rate: {0} kbit/s + + + {0} sectors per track + + + {0} bytes per sector + + + Drive steps in {0} μs + + + Each step pulse is {0} ms + + + Heads settles in {0} μs + + + Target shall wait {0} seconds before attempting to access the medium after motor on is asserted + + + Target shall wait {0} seconds after drive is ready before aborting medium access attempts + + + Target shall wait {0} seconds before releasing the motor on signal after becoming idle + + + Target shall never release the motor on signal + + + There is a drive ready signal + + + Sectors start at 1 + + + The motor on signal shall remain released + + + Drive needs to do {0} step pulses per cylinder + + + Write pre-compensation is {0} + + + Head takes {0} ms to load + + + Head takes {0} ms to unload + + + Pin 34 is unconnected + + + Pin 34 indicates drive is ready when active high + + + Pin 34 indicates drive is ready when active low + + + Pin 34 indicates disk has changed when active high + + + Pin 34 indicates disk has changed when active low + + + Pin 34 indicates unknown function {0} when active high + + + Pin 34 indicates unknown function {0} when active low + + + Pin 4 is unconnected + + + Pin 4 indicates drive is in use when active high + + + Pin 4 indicates drive is in use when active low + + + Pin 4 indicates eject when active high + + + Pin 4 indicates eject when active low + + + Pin 4 indicates head load when active high + + + Pin 4 indicates head load when active low + + + Pin 4 indicates unknown function {0} when active high + + + Pin 4 indicates unknown function {0} when active low + + + Pin 2 is unconnected + + + Pin 2 indicates unknown function {0} when active high + + + Pin 2 indicates unknown function {0} when active low + + + Pin 1 is unconnected + + + Pin 1 indicates disk change reset when active high + + + Pin 1 indicates disk change reset when active low + + + Pin 1 indicates unknown function {0} when active high + + + Pin 1 indicates unknown function {0} when active low + + + SCSI optical memory: + + + On reading an updated block drive will return RECOVERED ERROR + + + SCSI Verify error recovery page: + + + Drive will repeat verify operations {0} times + + + SCSI Verify error recovery page for MultiMedia Devices: + + + SCSI Caching mode page: + + + Read-cache is enabled + + + Write-cache is enabled + + + Drive does not distinguish between cached read data + + + Data put by READ commands should be evicted from cache sooner than data put in read cache by other means + + + Data put by READ commands should not be evicted if there is data cached by other means that can be evicted + + + Unknown demand read retention priority value {0} + + + Drive does not distinguish between cached write data + + + Data put by WRITE commands should be evicted from cache sooner than data put in write cache by other means + + + Data put by WRITE commands should not be evicted if there is data cached by other means that can be evicted + + + Unknown demand write retention priority value {0} + + + Read-ahead is disabled + + + Pre-fetch values indicate a block multiplier + + + No pre-fetch will be done + + + Pre-fetch will be done for READ commands of {0} blocks or less + + + At least {0} blocks will be always pre-fetched + + + A maximum of {0} blocks will be pre-fetched + + + A maximum of {0} blocks will be pre-fetched even if it is commanded to pre-fetch more + + + Device should use number of cache segments or cache segment size for caching + + + Pre-fetch should be aborted upon receiving a new command + + + Caching analysis is permitted + + + Pre-fetch can continue across discontinuities (such as cylinders or tracks) + + + Drive should not reorder the sequence of write commands to be faster + + + Drive cache segments should be {0} blocks long + + + Drive cache segments should be {0} bytes long + + + Drive should have {0} cache segments + + + Drive shall allocate {0} bytes to buffer even when all cached data cannot be evicted + + + Non-Volatile cache is disabled + + + SCSI XOR control mode page: + + + XOR operations are disabled + + + Drive accepts a maximum of {0} blocks in a single XOR WRITE command + + + Drive accepts a maximum of {0} blocks in a REGENERATE command + + + Drive accepts a maximum of {0} blocks in a READ command during rebuild + + + Drive needs a minimum of {0} ms between READ commands during rebuild + + + SCSI Device configuration page: + + + Active format: {0} + + + Active partition: {0} + + + Write buffer shall have a full ratio of {0} before being flushed to medium + + + Read buffer shall have an empty ratio of {0} before more data is read from medium + + + Drive will delay {0} ms before buffered data is forcefully written to the medium even before buffer is full + + + Drive supports recovering data from buffer + + + Recovered buffer data comes in LIFO order + + + Recovered buffer data comes in FIFO order + + + Medium supports block IDs + + + Drive reports setmarks + + + Drive will pre-read until buffer is full + + + Drive will pre-read until one filemark is detected + + + Drive will pre-read until two filemark is detected + + + Drive will pre-read until three filemark is detected + + + Drive reports early warnings + + + Drive will synchronize buffer to medium on early warnings + + + Inter-block gap is long enough to support update in place + + + Inter-block gap is {0} times the device's defined gap size + + + Inter-block gap is unknown value {0} + + + Drive generates end-of-data + + + Drive does not use compression + + + Drive uses default compression + + + Drive uses unknown compression {0} + + + Software write protect is enabled + + + Associated write protect is enabled + + + Persistent write protect is enabled + + + Permanent write protect is enabled + + + Drive operates using explicit address mode + + + Drive operates using implicit address mode + + + Drive shall position to beginning of default data partition on reset + + + Drive shall maintain its position on reset + + + Drive will do nothing on WORM tampered medium + + + Drive will return CHECK CONDITION on WORM tampered medium + + + Drive will only respond to commands if it has received a reservation + + + SCSI medium partition page: + + + {0} maximum additional partitions + + + {0} additional partitions defined + + + Partitions are fixed under device definitions + + + Number of partitions can be defined but their size is defined by the device + + + Number and size of partitions can be manually defined + + + Partition parameters will not be applied until a FORMAT MEDIUM command is received + + + Device may erase any or all partitions on MODE SELECT for partitioning + + + Device shall erase all partitions on MODE SELECT for partitioning + + + Device shall not erase any partition on MODE SELECT for partitioning + + + Device shall erase all partitions differing on size on MODE SELECT for partitioning + + + Partitions are defined in bytes + + + bytes + + + Partitions are defined in kilobytes + + + kilobytes + + + Partitions are defined in megabytes + + + megabytes + + + Partitions are defined in units of {0} bytes + + + units of {0} bytes + + + Unknown partition size unit code {0} + + + units + + + Device is capable of recognizing both medium partitions and format + + + Device is capable of recognizing medium format + + + Device is capable of recognizing medium partitions + + + Device is not capable of recognizing neither medium partitions nor format + + + Unknown medium recognition code {0} + + + Medium has defined {0} partitions + + + Device recognizes one single partition spanning whole medium + + + Partition {0} runs for rest of medium + + + Partition {0} is {1} {2} long + + + SCSI medium partition page (extra): + + + Partition {0} is {1} units long + + + Certance Drive Capabilities Control Mode Page: + + + Operating systems support is standard LTO + + + Operating systems support is unknown code {0} + + + Factory test code is disabled + + + Factory test code 1 is disabled + + + Factory test code 2 is disabled + + + Unknown factory test code {0} + + + Power-On Self-Test is enabled + + + Power-On Self-Test is disable + + + Unknown Power-On Self-Test code {0} + + + Compression is controlled using mode pages 0Fh and 10h + + + Compression is enabled and not controllable + + + Compression is disabled and not controllable + + + Unknown compression control code {0} + + + SCSI UNLOAD command will not eject the cartridge + + + How should tapes be unloaded in a power cycle, tape incompatibility, firmware download or cleaning end: + + + Tape will stay threaded at beginning + + + Tape will be unthreaded + + + Tape will be unthreaded and unloaded + + + Data tapes will be threaded at beginning, rest will be unloaded + + + Unknown auto unload code {0} + + + Certance Interface Control Mode Page: + + + Library interface will operate at 9600 baud on next reset + + + Library interface will operate at 19200 baud on next reset + + + Library interface will operate at 38400 baud on next reset + + + Library interface will operate at 57600 baud on next reset + + + Library interface will operate at 115200 baud on next reset + + + Unknown library interface baud rate code {0} + + + Library interface transmits 2 stop bits per byte + + + Library interface transmits 1 stop bits per byte + + + Port A uses Parallel SCSI Ultra-160 interface + + + Drive will respond to SCSI ID {0} on Port A enabling + + + Drive jumpers choose SCSI ID {0} + + + SCSI port is enabled + + + SCSI port is disabled + + + SCSI port will be enabled on next power up + + + SCSI port will be disabled on next power up + + + IBM Vendor-Specific Control Mode Page: + + + Vendor-specific mode control: {0} + + + Vendor-specific velocity setting: {0} + + + Drive supports encryption + + + Drive has encryption enabled + + + ECMA-54: 200 mm Flexible Disk Cartridge using Two-Frequency Recording at 13262 ftprad on One Side + + + ECMA-59 & ANSI X3.121-1984: 200 mm Flexible Disk Cartridge using Two-Frequency Recording at 13262 ftprad on Both Sides + + + ECMA-69: 200 mm Flexible Disk Cartridge using MFM Recording at 13262 ftprad on Both Sides + + + ECMA-66: 130 mm Flexible Disk Cartridge using Two-Frequency Recording at 7958 ftprad on One Side + + + ECMA-70 & ANSI X3.125-1985: 130 mm Flexible Disk Cartridge using MFM Recording at 7958 ftprad on Both Sides; 1,9 Tracks per mm + + + ECMA-78 & ANSI X3.126-1986: 130 mm Flexible Disk Cartridge using MFM Recording at 7958 ftprad on Both Sides; 3,8 Tracks per mm + + + ECMA-99 & ISO 8630-1985: 130 mm Flexible Disk Cartridge using MFM Recording at 13262 ftprad on Both Sides; 3,8 Tracks per mm + + + ECMA-100 & ANSI X3.137: 90 mm Flexible Disk Cartridge using MFM Recording at 7859 ftprad on Both Sides; 5,3 Tracks per mm + + + ANSI X3.73-1980: 200 mm, 6631 ftprad, 1,9 Tracks per mm, 1 side + + + ANSI X3.73-1980: 200 mm, 6631 ftprad, 1,9 Tracks per mm, 2 sides + + + ANSI X3.80-1980: 130 mm, 3979 ftprad, 1,9 Tracks per mm, 1 side + + + 3.5-inch, 135 tpi, 12362 bits/radian, double-sided MFM (aka 1.25Mb) + + + 3.5-inch, 135 tpi, 15916 bits/radian, double-sided MFM (aka 1.44Mb) + + + a Read-only optical + + + a Write-once Read-many optical + + + a Erasable optical + + + a combination of read-only and write-once optical + + + a direct-overwrite optical + + + a Sony Hi-MD disc + + + SCSI Mode Sense Header: + + + Medium is {0} + + + Medium is write protected + + + Drive supports DPO and FUA bits + + + 7958 flux transitions per radian + + + 13262 flux transitions per radian + + + 15916 flux transitions per radian + + + with unknown density code 0x{0:X2} + + + All remaining blocks have {0} and are {1} bytes each + + + {0} blocks have {1} and are {2} bytes each + + + All remaining blocks are {0} bytes each + + + {0} blocks are {1} bytes each + + + Device writes directly to media + + + Device uses a write cache + + + Device uses a write cache but doesn't return until cache is flushed + + + Unknown buffered mode code 0x{0:X2} + + + Device uses default speed + + + Device uses speed {0} + + + undefined + + + 6,3 mm tape with 12 tracks at 394 ftpmm or DC-9250 + + + 6,3 mm tape with 24 tracks at 394 ftpmm or MLR1-26GBSL + + + LTO Ultrium WORM or cleaning cartridge + + + LTO Ultrium + + + LTO Ultrium-2 + + + DC-2900SL + + + MLR1-26GB or DDS-3 + + + DC-9200 or DDS-4 + + + DAT-72 + + + LTO Ultrium-3 + + + LTO Ultrium-3 WORM + + + DDS cleaning cartridge + + + SLR-32 + + + SLRtape-50 + + + LTO Ultrium-4 + + + LTO Ultrium-4 WORM + + + SLRtape-50 SL + + + SLR-32SL + + + SLR-5 + + + SLR-5SL + + + LTO Ultrium-5 + + + LTO Ultrium-5 WORM + + + SLRtape-7 + + + SLRtape-7 SL + + + SLRtape-24 + + + SLRtape-24 SL + + + LTO Ultrium-6 + + + LTO Ultrium-6 WORM + + + SLRtape-140 + + + SLRtape-40 + + + SLRtape-60 or SLRtape-75 + + + SLRtape-100 + + + SLR-40, SLR-60 or SLR-100 + + + LTO Ultrium-7 + + + LTO Ultrium-7 WORM + + + Exatape 15m, IBM MagStar or VXA + + + CompactTape I, Exatape 28m, CompactTape II, VXA-2 or VXA-3 + + + Exatape 54m or DLTtape III + + + Exatape 80m or DLTtape IIIxt + + + Exatape 106m, DLTtape IV or Travan 5 + + + Exatape 160m XL or Super DLTtape I + + + Super DLTtape II + + + VStape I + + + DLTtape S4 + + + Travan 7 + + + Exatape 22m + + + Exatape 40m + + + Exatape 76m + + + Exatape 112m + + + Exatape 22m AME + + + Exatape 170m + + + Exatape 125m + + + Exatape 45m + + + Exatape 225m + + + Exatape 150m + + + Exatape 75m + + + unknown medium type 0x{0:X2} + + + ECMA-62 & ANSI X3.22-1983: 12,7 mm 9-Track Magnetic Tape, 32 ftpmm, NRZI, 32 cpmm + + + ECMA-62 & ANSI X3.39-1986: 12,7 mm 9-Track Magnetic Tape, 126 ftpmm, Phase Encoding, 63 cpmm + + + ECMA-62 & ANSI X3.54-1986: 12,7 mm 9-Track Magnetic Tape, 356 ftpmm, NRZI, 245 cpmm GCR + + + ECMA-79 & ANSI X3.116-1986: 6,30 mm Magnetic Tape Cartridge, 252 ftpmm, MFM + + + Draft ECMA & ANSI X3B5/87-099: 12,7 mm 18-Track Magnetic Tape Cartridge, 1944 ftpmm, IFM, GCR (IBM 3480, 3490, 3490E) + + + ECMA-46 & ANSI X3.56-1986: 6,30 mm Magnetic Tape Cartridge, Phase Encoding, 63 bpmm + + + ECMA-98: 6,30 mm Magnetic Tape Cartridge, NRZI, 394 ftpmm + + + ANSI X3.136-1986: 6,3 mm 4 or 9-Track Magnetic Tape Cartridge, 315 bpmm, GCR (QIC-24) + + + ANSI X3.157-1987: 12,7 mm 9-Track Magnetic Tape, 126 bpmm, Phase Encoding + + + ANSI X3.158-1987: 3,81 mm 4-Track Magnetic Tape Cassette, 315 bpmm, GCR + + + ANSI X3B5/86-199: 12,7 mm 22-Track Magnetic Tape Cartridge, 262 bpmm, MFM + + + HI-TC1: 12,7 mm 24-Track Magnetic Tape Cartridge, 500 bpmm, GCR + + + HI-TC2: 12,7 mm 24-Track Magnetic Tape Cartridge, 999 bpmm, GCR + + + QIC-120: 6,3 mm 15-Track Magnetic Tape Cartridge, 394 bpmm, GCR + + + QIC-150: 6,3 mm 18-Track Magnetic Tape Cartridge, 394 bpmm, GCR + + + QIC-320: 6,3 mm 26-Track Magnetic Tape Cartridge, 630 bpmm, GCR + + + QIC-1350: 6,3 mm 30-Track Magnetic Tape Cartridge, 2034 bpmm, RLL + + + ANSI X3B5/88-185A: 3,81 mm Magnetic Tape Cassette, 2400 bpmm, DDS + + + ANSI X3.202-1991: 8 mm Magnetic Tape Cassette, 1703 bpmm, RLL + + + ECMA TC17: 8 mm Magnetic Tape Cassette, 1789 bpmm, RLL + + + ANSI X3.193-1990: 12,7 mm 48-Track Magnetic Tape Cartridge, 394 bpmm, MFM + + + ANSI X3B5/97-174: 12,7 mm 48-Track Magnetic Tape Cartridge, 1673 bpmm, MFM + + + QIC-11 + + + IBM 3490E + + + LTO Ultrium or Super AIT-1 + + + LTO Ultrium-2 or T9840 + + + T9940 + + + LTO Ultrium-3 or T9940 + + + T9840C + + + LTO Ultrium-4 or T9840D + + + T10000A + + + T10000B + + + T10000C + + + T10000D + + + AIT-1 + + + AIT-2 + + + AIT-3 + + + DDS-2 + + + DDS-3 + + + DDS-4 + + + unknown density code 0x{0:X2} + + + LTO Ultrium cleaning cartridge + + + MLR1-26GB + + + DC-9200 + + + LTO Ultrium-2 in CD emulation mode + + + LTO Ultrium-3 in CD emulation mode + + + LTO Ultrium-4 in CD emulation mode + + + LTO Ultrium-5 in CD emulation mode + + + EXB-8200 + + + EXB-8200 compressed + + + EXB-8500 + + + EXB-8500 compressed + + + Mammoth + + + IBM 3590 + + + IBM 3590E + + + VXA-1 + + + CompactTape I + + + CompactTape II + + + IBM 3590 extended + + + IBM 3590E extended + + + VXA-2 + + + VXA-3 + + + DLTtape III at 42500 bpi + + + DLTtape III with 56 tracks + + + DLTtape III at 62500 bpi + + + DLTtape III compressed + + + DLTtape IIIxt + + + DLTtape IIIxt compressed + + + DLTtape IV + + + DLTtape IV at 123090 bpi + + + DLTtape IV at 98250 bpi + + + Travan 5 + + + DLTtape IV compressed + + + DLTtape IV at 85937 bpi + + + DLTtape IV at 85937 bpi compressed + + + DLTtape IV at 123090 bpi compressed + + + DLTtape IV at 98250 bpi compressed + + + Super DLTtape I at 133000 bpi + + + Super DLTtape I + + + Super DLTtape I compressed + + + VStape I compressed + + + Mammoth-2 + + + DC-9250 + + + MRL1-26GBSL + + + SLR-32 SL + + + SLR-5 SL + + + SLR40, SLR60 or SLR100 + + + All remaining blocks conform to {0} and have a variable length + + + All remaining blocks conform to {0} and are {1} bytes each + + + {0} blocks conform to {1} and have a variable length + + + {0} blocks conform to {1} and are {2} bytes each + + + All remaining blocks have a variable length + + + {0} blocks have a variable length + + + Device prints directly + + + Device uses a print cache + + + Medium is + + + a combination of read-only and erasable optical + + + a combination of write-once and erasable optical + + + an unknown medium type 0x{0:X2} + + + Blank checking during write is enabled + + + ISO/IEC 10090: 86 mm Read/Write single-sided optical disc with 12500 tracks + + + 89 mm Read/Write double-sided optical disc with 12500 tracks + + + ANSI X3.212: 130 mm Read/Write double-sided optical disc with 18750 tracks + + + ANSI X3.191: 130 mm Write-Once double-sided optical disc with 30000 tracks + + + ANSI X3.214: 130 mm Write-Once double-sided optical disc with 20000 tracks + + + ANSI X3.211: 130 mm Write-Once double-sided optical disc with 18750 tracks + + + 200 mm optical disc + + + ISO/IEC 13614: 300 mm double-sided optical disc + + + ANSI X3.200: 356 mm double-sided optical disc with 56350 tracks + + + All remaining blocks are {0} and have a variable length + + + All remaining blocks are {0} and are {1} bytes each + + + {0} blocks are {1} and have a variable length + + + {0} blocks are {1} and are {2} bytes each + + + 120 mm CD-ROM + + + 120 mm Compact Disc Digital Audio + + + 120 mm Compact Disc with data and audio + + + 80 mm CD-ROM + + + 80 mm Compact Disc Digital Audio + + + 80 mm Compact Disc with data and audio + + + Unknown medium type + + + 120 mm Hybrid disc (Photo CD) + + + Unknown size CD-R + + + 120 mm CD-R with data only + + + 120 mm CD-R with audio only + + + 120 mm CD-R with data and audio + + + 120 mm Hybrid CD-R (Photo CD) + + + 80 mm CD-R with data only + + + 80 mm CD-R with audio only + + + 80 mm Hybrid CD-R (Photo CD) + + + Unknown size CD-RW + + + 120 mm CD-RW with data only + + + 120 mm CD-RW with audio only + + + 120 mm CD-RW with data and audio + + + 120 mm Hybrid CD-RW (Photo CD) + + + 80 mm CD-RW with data only + + + 80 mm CD-RW with audio only + + + 80 mm CD-RW with data and audio + + + 80 mm Hybrid CD-RW (Photo CD) + + + Unknown size HD disc + + + 120 mm HD disc + + + 80 mm HD disc + + + No disc inserted, tray closed or caddy inserted + + + Tray open or no caddy inserted + + + Tray closed or caddy inserted but medium error + + + Read-only block device + + + Read/Write block device + + + Unknown block device + + + LTO in CD-ROM emulation mode + + + user data only + + + user data plus auxiliary data + + + 4-byte tag, user data plus auxiliary data + + + audio information only + + + Density "{0}" defined by "{1}". + + + Secondary code: {0:X2}h + + + Drive can write this density + + + This descriptor is duplicated + + + This is the default density on the drive + + + Density has {0} bits per mm, with {1} tracks in a {2} mm width tape + + + Density maximum capacity is {0} megabytes + + + Density description: {0} + + + Primary code: {0:X2}h + + + Medium supports following density codes: + + + Medium type "{0}" defined by "{1}". + + + Medium type code: {0:X2}h + + + Medium has a nominal length of {0} m in a {1} mm width tape + + + Medium description: {0} + + + SCSI Implemented operating definitions: + + + Default operating definition: {0} + + + Current operating definition: {0} + + + There are no supported definitions + + + Supported operating definitions: + + + SCSI Device identification: + + + There are no identifiers + + + Identifier has unknown association with code {0} + + + Automation/Drive Interface Transport + + + AT Attachment Interface (ATA/ATAPI) + + + Fibre Channel + + + IEEE 1394 + + + Internet SCSI + + + no specific + + + PCI Express + + + SCSI Remote Direct Memory Access + + + Serial Attachment SCSI + + + Parallel SCSI + + + SCSI over PCI Express + + + SSA + + + USB Attached SCSI + + + unknown code {0} + + + Descriptor refers to {0} protocol + + + Vendor descriptor contains: {0} + + + Vendor descriptor contains binary data (hex): {0} + + + Vendor descriptor contains unknown kind {1} of data (hex): {0} + + + Inquiry descriptor contains: {0} + + + Inquiry descriptor contains binary data (hex): {0} + + + Inquiry descriptor contains unknown kind {1} of data (hex): {0} + + + IEEE EUI-64: {0} + + + IEEE EUI-64: {0:X2} + + + NAA: {0} + + + NAA: {0:X2} + + + Relative target port identifier: {0} + + + Target group identifier: {0} + + + Logical unit group identifier: {0} + + + MD5 logical unit identifier: {0} + + + MD5 logical unit identifier: {0:x2} + + + SCSI name string identifier: {0} + + + SCSI name string identifier (hex): {0} + + + Protocol (Automation/Drive Interface Transport) specific descriptor with unknown format (hex): {0} + + + Protocol (ATA/ATAPI) specific descriptor with unknown format (hex): {0} + + + Protocol (Fibre Channel) specific descriptor with unknown format (hex): {0} + + + Protocol (IEEE 1394) specific descriptor with unknown format (hex): {0} + + + Protocol (Internet SCSI) specific descriptor with unknown format (hex): {0} + + + Protocol (unknown) specific descriptor with unknown format (hex): {0} + + + Protocol (PCI Express) specific descriptor with unknown format (hex): {0} + + + Protocol (SCSI Remote Direct Memory Access) specific descriptor with unknown format (hex): {0} + + + Protocol (Serial Attachment SCSI) specific descriptor with unknown format (hex): {0} + + + Protocol (Parallel SCSI) specific descriptor with unknown format (hex): {0} + + + Protocol (SSA) specific descriptor with unknown format (hex): {0} + + + Protocol (SCSIe) specific descriptor: Routing ID is {0} + + + Protocol (UAS) specific descriptor: USB address {0} interface {1} + + + Protocol (unknown code {0}) specific descriptor with unknown format (hex): {1} + + + Unknown descriptor type {1} contains: {0} + + + Unknown descriptor type {1} contains binary data (hex): {0} + + + Inquiry descriptor type {2} contains unknown kind {1} of data (hex): {0} + + + SCSI Software Interface Identifiers: + + + SCSI Management Network Addresses: + + + There are no addresses + + + Identifier belongs to addressed logical unit + + + Identifier belongs to target port + + + Identifier belongs to target device that contains the addressed logical unit + + + Identifier has unknown association with code {0} + + + Address for code download: {0} + + + Address for diagnostics: {0} + + + Address for logging: {0} + + + Address for status: {0} + + + Address for storage configuration service: {0} + + + Unspecified address: {0} + + + Address for copy service: {0} + + + Address for administrative configuration service: {0} + + + Address of unknown type {1}: {0} + + + SCSI Extended INQUIRY Data: + + + Logical unit supports type 1 protection + + + Logical unit supports types 1 and 2 protection + + + Logical unit supports type 2 protection + + + Logical unit supports types 1 and 3 protection + + + Logical unit supports type 3 protection + + + Logical unit supports types 2 and 3 protection + + + Logical unit supports types 1, 2 and 3 protection + + + Logical unit supports unknown protection defined by code {0} + + + Logical unit supports logical block protection + + + Device checks the logical block guard + + + Device checks the logical block application tag + + + Device checks the logical block reference tag + + + Device supports unit attention condition sense key specific data + + + Device supports grouping + + + Device supports priority + + + Device supports head of queue + + + Device supports the ORDERED task attribute + + + Device supports the SIMPLE task attribute + + + Device supports marking a block as uncorrectable with WRITE LONG + + + Device supports disabling correction with WRITE LONG + + + Device has a non-volatile cache + + + Device has a volatile cache + + + Device has disabled protection information checks + + + Device supports protection information intervals + + + Device clears any unit attention condition in all LUNs after reporting for any LUN + + + Device supports referrals + + + Device implements alternate reset handling + + + Device supports capability-based command security + + + Device supports power-on activation for new microcode + + + Device supports hard reset activation for new microcode + + + Device supports vendor specific activation for new microcode + + + Extended self-test takes {0} to complete + + + Device supports a maximum of {0} bytes for sense data + + + SCSI to ATA Translation Layer Data: + + + Translation layer vendor: {0} + + + Translation layer name: {0} + + + Translation layer release level: {0} + + + Device responded to ATA IDENTIFY DEVICE command. + + + Device responded to ATA IDENTIFY PACKET DEVICE command. + + + Device responded to ATA command {0:X2}h + + + Device uses Parallel ATA. + + + Device uses Serial ATA. + + + Device uses unknown transport with code {0} + + + ATA IDENTIFY information follows: + + + Could not decode ATA IDENTIFY information + + + Quantum Firmware Build Information page: + + + Servo firmware checksum: 0x{0:X4} + + + EEPROM firmware checksum: 0x{0:X4} + + + Read/write firmware checksum: 0x{0:X8} + + + Read/write firmware build date: {0} + + + Certance Drive Component Revision Levels page: + + + Component: {0} + + + Version: {0} + + + Date: {0} + + + Variant: {0} + + + Certance Drive Component Serial Number page: + + + Head Assembly Serial Number: {0} + + + Reel Motor 1 Serial Number: {0} + + + Reel Motor 2 Serial Number: {0} + + + Board Serial Number: {0} + + + Base Mechanical Serial Number: {0} + + + Certance drive status page: + + + Command forwarding is disabled + + + Command forwarding is enabled + + + Unknown command forwarding code {0} + + + Alerts are enabled + + + Cartridge removable is prevented + + + Unit is reserved by initiator ID {0:X16} + + + Device needs cleaning cartridge + + + Cartridge tape is threaded + + + There are commands pending to be forwarded + + + Cartridge will be loaded and threaded on insertion + + + Cartridge will be loaded but not threaded on insertion + + + Cartridge will not be loaded + + + Unknown autoloading mode code {0} + + + Port A link is down + + + Port A uses Parallel SCSI Ultra-160 interface + + + Unknown port A transport type code {0} + + + Drive responds to SCSI ID {0} + + + Drive has been operating {0} + + + Inserted cartridge is LTO + + + Unknown cartridge format code {0} + + + There is no cartridge inserted + + + Cleaning cartridge inserted + + + Unknown data cartridge inserted + + + Firmware cartridge inserted + + + LTO Ultrium 1 Type A cartridge inserted + + + LTO Ultrium 1 Type B cartridge inserted + + + LTO Ultrium 1 Type C cartridge inserted + + + LTO Ultrium 1 Type D cartridge inserted + + + LTO Ultrium 2 cartridge inserted + + + Unknown cartridge type code {0} + + + Cartridge has an uncompressed capability of {0} gigabytes + + + Cartridge serial number: {0} + + + IBM Drive Component Revision Levels page: + + + Code name: {0} + + + IBM Drive Serial Numbers page: + + + Manufacturing serial number: {0} + + + Reported serial number: {0} + + + SCSI Sequential-access Device Capabilities: + + + Device supports WORM media + + + Device supports Tape Stream Mirroring + + + HP Drive Firmware Revision Levels page: + + + HP Drive Hardware Revision Levels page: + + + HP Drive PCA Revision Levels page: + + + HP Drive Mechanism Revision Levels page: + + + HP Drive Head Assembly Revision Levels page: + + + HP Drive ACI Revision Levels page: + + + Copyright: {0} + + + Seagate Firmware Numbers page: + + + Controller firmware version: {0} + + + Boot firmware version: {0} + + + Servo firmware version: {0} + + + Error class {0} type {1} happened on block {2} + + + Error class {0} type {1} + + + SCSI SENSE: {0} + + + On segment {0} + + + Filemark or setmark found + + + End-of-medium/partition found + + + Incorrect length indicator + + + On logical block {0} + + + Illegal field in CDB + + + Illegal field in data parameters + + + Invalid value in bit {0} in field {1} of CDB + + + Invalid value in field {0} of CDB + + + Format progress {0:P} + + + Actual retry count is {0} + + + On logical block {0} + + + VENDOR-SPECIFIC ASC {0:X2}h WITH VENDOR-SPECIFIC ASCQ {1:X2}h + + + VENDOR-SPECIFIC ASC {0:X2}h WITH ASCQ {1:X2}h + + + ASC {0:X2}h WITH VENDOR-SPECIFIC ASCQ {1:X2}h + + + ASC {0:X2}h WITH ASCQ {1:X2}h + + + SecureDigital Device Identification Register: + + + SecureDigital Device Specific Data Register: + + + Register version 2.0 + + + Asynchronous data access time is {0}{1} + + + Clock dependent part of data access is {0} clock cycles + + + MBit/s + + + Device's transfer speed: {0}{1} + + + Device support command classes {0} + + + Read block length is {0} bytes + + + Device allows reading partial blocks + + + Write commands can cross physical block boundaries + + + Read commands can cross physical block boundaries + + + Device implements configurable driver stage + + + Device has {0} TiB + + + Device can erase multiple blocks + + + Device must erase a minimum of {0} blocks at a time + + + SecureDigital Operation Conditions Register: + + + Device is SDHC, SDXC or higher + + + Device is UHS-II or higher + + + Device can switch to work with 1.8V supply + + + Device is in low power mode + + + SecureDigital Device Configuration Register: + + + Unknown register version {0} + + + Device follows SecureDigital Physical Layer Specification version 1.0x + + + Device follows SecureDigital Physical Layer Specification version 1.10 + + + Device follows SecureDigital Physical Layer Specification version 2.00 + + + Device follows SecureDigital Physical Layer Specification version 3.0x + + + Device follows SecureDigital Physical Layer Specification version 4.xx + + + Device follows SecureDigital Physical Layer Specification version 5.xx + + + Device follows SecureDigital Physical Layer Specification version 6.xx + + + Device follows SecureDigital Physical Layer Specification version 7.xx + + + Device follows SecureDigital Physical Layer Specification version 8.xx + + + Device follows SecureDigital Physical Layer Specification with unknown version {0}.{1}.{2}.{3} + + + Device does not support CPRM + + + Device does not use CPRM + + + Device uses CPRM according to specification version 1.01 + + + Device uses CPRM according to specification version 2.00 + + + Device uses CPRM according to specification version 3.xx + + + Device uses unknown CPRM specification with code {0} + + + Device supports 1-bit data bus + + + Device supports 4-bit data bus + + + Device supports extended security + + + Device supports extension register multi-block commands + + + Device supports extension register single-block commands + + + Device supports set block count command + + + Device supports speed class control command + + + SEGA IP.BIN INFORMATION: + + + System name: {0} + + + Initial program address: 0x{0:X8} + + + Initial program load size: {0} bytes + + + Initial program entry address: 0x{0:X8} + + + Initial program work RAM: {0} bytes + + + System program address: 0x{0:X8} + + + System program load size: {0} bytes + + + System program entry address: 0x{0:X8} + + + System program work RAM: {0} bytes + + + Release date: {0} + + + Hardware ID: {0} + + + Developer code: {0} + + + Domestic title: {0} + + + Overseas title: {0} + + + Product code: {0} + + + Peripherals: + + + Game supports analog controller. + + + Game supports trackball. + + + Game supports light gun. + + + Game supports JoyPad. + + + Game supports Master System's JoyPad. + + + Game supports printer interface. + + + Game supports serial (RS-232C) interface. + + + Game supports tablet interface. + + + Game supports paddle controller. + + + Game supports unknown peripheral {0}. + + + Regions supported: + + + Japanese NTSC. + + + USA NTSC. + + + Europe PAL. + + + Game supports unknown region {0}. + + + Product name: {0} + + + Product version: {0} + + + Product CRC: 0x{0:X8} + + + Producer: {0} + + + Disc media: {0} + + + Disc number {0} of {1} + + + Disc boots natively. + + + Disc boots using Windows CE. + + + Disc boots using unknown loader: {0}. + + + North America NTSC. + + + Game uses Windows CE. + + + Game supports the VGA Box. + + + Game supports other expansion. + + + Game supports Puru Puru pack. + + + Game supports Mike Device. + + + Game supports Memory Card. + + + Game requires A + B + Start buttons and D-Pad. + + + Game requires C button. + + + Game requires D button. + + + Game requires X button. + + + Game requires Y button. + + + Game requires Z button. + + + Game requires expanded direction buttons. + + + Game requires analog R trigger. + + + Game requires analog L trigger. + + + Game requires analog horizontal controller. + + + Game requires analog vertical controller. + + + Game requires expanded analog horizontal controller. + + + Game requires expanded analog vertical controller. + + + Game supports Gun. + + + Game supports Keyboard. + + + Game supports Mouse. + + + Game supports unknown peripherals mask {0:X2} + + + Game supports analog steering controller. + + + Game supports multitap. + + + Asia NTSC. + + + Catalogue number: + + + Timestamp: {0} + + + Media ID: + + + Xbox Game Disc + + + Xbox 360 Game Disc + + + Challenge ID: {0} + + + Challenge level: {0} + + + Challenge value: 0x{0:X8} + + + Response modifier: {0} + + + Response value: 0x{0:X8} + + + Extent starts at PSN {0:X6}h and ends at PSN {1:X6}h + + + Device vendor: {0} + + + Device name: {0} + + + Device release level: {0} + + + Device is connected and supported. + + + Device is supported but not connected. + + + Reserved value set in Peripheral Qualifier field. + + + Device is connected but unsupported. + + + Vendor value {0} set in Peripheral Qualifier field. + + + Direct-access device + + + Sequential-access device + + + Printer device + + + Processor device + + + Write-once device + + + CD-ROM/DVD/etc device + + + Scanner device + + + Optical memory device + + + Medium change device + + + Communications device + + + Graphics arts pre-press device (defined in ASC IT8) + + + Array controller device + + + Enclosure services device + + + Simplified direct-access device + + + Optical card reader/writer device + + + Bridging Expanders + + + Object-based Storage Device + + + Automation/Drive Interface + + + Security Manager Device + + + Host managed zoned block device + + + Well known logical unit + + + Unknown or no device type + + + Unknown device type field value 0x{0:X2} + + + Device does not claim to comply with any SCSI ANSI standard + + + Device claims to comply with ANSI X3.131:1986 (SCSI-1) + + + Device claims to comply with ANSI X3.131:1994 (SCSI-2) + + + Device claims to comply with ANSI X3.301:1997 (SPC-1) + + + Device claims to comply with ANSI X3.351:2001 (SPC-2) + + + Device claims to comply with ANSI X3.408:2005 (SPC-3) + + + Device claims to comply with ANSI X3.408:2005 (SPC-4) + + + Device claims to comply with unknown SCSI ANSI standard value 0x{0:X2}) + + + Device does not claim to comply with any SCSI ECMA standard + + + Device claims to comply ECMA-111: Small Computer System Interface SCSI + + + Device claims to comply with unknown SCSI ECMA standard value 0x{0:X2}) + + + Device does not claim to comply with any SCSI ISO/IEC standard + + + Device claims to comply with ISO/IEC 9316:1995 + + + Device claims to comply with unknown SCSI ISO/IEC standard value 0x{0:X2}) + + + Device supports Asynchronous Event Reporting Capability + + + Device supports TERMINATE TASK command + + + Device supports setting Normal ACA + + + Device supports LUN hierarchical addressing + + + Device contains an embedded storage array controller + + + Device contains an Access Control Coordinator + + + Device supports third-party copy commands + + + Device supports protection information + + + Device supports basic queueing + + + Device contains an embedded enclosure services component + + + Multi-port device + + + Device contains or is attached to a medium changer + + + Device supports request and acknowledge handshakes + + + Device supports 32-bit wide SCSI addresses + + + Device supports 16-bit wide SCSI addresses + + + Device supports relative addressing + + + Device supports 32-bit wide data transfers + + + Device supports 16-bit wide data transfers + + + Device supports synchronous data transfer + + + Device supports linked commands + + + Device supports CONTINUE TASK and TARGET TRANSFER DISABLE commands + + + Device supports Quick Arbitration and Selection + + + Device supports TCQ queue + + + Device supports information unit transfers + + + Device implements RESET as a soft reset + + + Vendor specific bit 5 on byte 6 of INQUIRY response is set + + + Device does not support asymmetrical access + + + Device only supports implicit asymmetrical access + + + Device only supports explicit asymmetrical access + + + Device supports implicit and explicit asymmetrical access + + + Unknown value in TPGS field 0x{0:X2} + + + Device supports only ST clocking + + + Device supports only DT clocking + + + Reserved value 0x02 found in SPI clocking field + + + Device supports ST and DT clocking + + + Unknown value in SPI clocking field 0x{0:X2} + + + Device complies with SAM (no version claimed) + + + Device complies with SAM T10/0994-D revision 18 + + + Device complies with SAM ANSI INCITS 270-1996 + + + Device complies with SAM-2 (no version claimed) + + + Device complies with SAM-2 T10/1157-D revision 23 + + + Device complies with SAM-2 T10/1157-D revision 24 + + + Device complies with SAM-2 ANSI INCITS 366-2003 + + + Device complies with SAM-2 ISO/IEC 14776-412 + + + Device complies with SAM-3 (no version claimed) + + + Device complies with SAM-3 T10/1561-D revision 7 + + + Device complies with SAM-3 T10/1561-D revision 13 + + + Device complies with SAM-3 T10/1561-D revision 14 + + + Device complies with SAM-3 ANSI INCITS 402-2005 + + + Device complies with SAM-4 (no version claimed) + + + Device complies with SAM-4 T10/1683-D revision 13 + + + Device complies with SAM-4 T10/1683-D revision 14 + + + Device complies with SAM-4 ANSI INCITS 447-2008 + + + Device complies with SAM-4 ISO/IEC 14776-414 + + + Device complies with SAM-5 (no version claimed) + + + Device complies with SAM-5 T10/2104-D revision 4 + + + Device complies with SAM-5 T10/2104-D revision 20 + + + Device complies with SAM-5 T10/2104-D revision 21 + + + Device complies with SAM-6 (no version claimed) + + + Device complies with SPC (no version claimed) + + + Device complies with SPC T10/0995-D revision 11a + + + Device complies with SPC ANSI INCITS 301-1997 + + + Device complies with MMC (no version claimed) + + + Device complies with MMC T10/1048-D revision 10a + + + Device complies with MMC ANSI INCITS 304-1997 + + + Device complies with SCC (no version claimed) + + + Device complies with SCC T10/1047-D revision 06c + + + Device complies with SCC ANSI INCITS 276-1997 + + + Device complies with SBC (no version claimed) + + + Device complies with SBC T10/0996-D revision 08c + + + Device complies with SBC ANSI INCITS 306-1998 + + + Device complies with SMC (no version claimed) + + + Device complies with SMC T10/0999-D revision 10a + + + Device complies with SMC ANSI INCITS 314-1998 + + + Device complies with SMC ISO/IEC 14776-351 + + + Device complies with SES (no version claimed) + + + Device complies with SES T10/1212-D revision 08b + + + Device complies with SES ANSI INCITS 305-1998 + + + Device complies with SES T10/1212 revision 08b w/ Amendment ANSI INCITS.305/AM1-2000 + + + Device complies with SES ANSI INCITS 305-1998 w/ Amendment ANSI INCITS.305/AM1-2000 + + + Device complies with SCC-2 (no version claimed) + + + Device complies with SCC-2 T10/1125-D revision 04 + + + Device complies with SCC-2 ANSI INCITS 318-1998 + + + Device complies with SSC (no version claimed) + + + Device complies with SSC T10/0997-D revision 17 + + + Device complies with SSC T10/0997-D revision 22 + + + Device complies with SSC ANSI INCITS 335-2000 + + + Device complies with RBC (no version claimed) + + + Device complies with RBC T10/1240-D revision 10a + + + Device complies with RBC ANSI INCITS 330-2000 + + + Device complies with MMC-2 (no version claimed) + + + Device complies with MMC-2 T10/1228-D revision 11 + + + Device complies with MMC-2 T10/1228-D revision 11a + + + Device complies with MMC-2 ANSI INCITS 333-2000 + + + Device complies with SPC-2 (no version claimed) + + + Device complies with SPC-2 T10/1236-D revision 12 + + + Device complies with SPC-2 T10/1236-D revision 18 + + + Device complies with SPC-2 T10/1236-D revision 19 + + + Device complies with SPC-2 T10/1236-D revision 20 + + + Device complies with SPC-2 ANSI INCITS 351-2001 + + + Device complies with SPC-2 ISO/IEC 14776-452 + + + Device complies with OCRW (no version claimed) + + + Device complies with OCRW ISO/IEC 14776-381 + + + Device complies with MMC-3 (no version claimed) + + + Device complies with MMC-3 T10/1363-D revision 9 + + + Device complies with MMC-3 T10/1363-D revision 10g + + + Device complies with MMC-3 ANSI INCITS 360-2002 + + + Device complies with SMC-2 (no version claimed) + + + Device complies with SMC-2 T10/1383-D revision 5 + + + Device complies with SMC-2 T10/1383-D revision 6 + + + Device complies with SMC-2 T10/1383-D revision 7 + + + Device complies with SMC-2 ANSI INCITS 382-2004 + + + Device complies with SPC-3 (no version claimed) + + + Device complies with SPC-3 T10/1416-D revision 7 + + + Device complies with SPC-3 T10/1416-D revision 21 + + + Device complies with SPC-3 T10/1416-D revision 22 + + + Device complies with SPC-3 T10/1416-D revision 23 + + + Device complies with SPC-3 ANSI INCITS 408-2005 + + + Device complies with SPC-3 ISO/IEC 14776-453 + + + Device complies with SBC-2 (no version claimed) + + + Device complies with SBC-2 T10/1417-D revision 5a + + + Device complies with SBC-2 T10/1417-D revision 15 + + + Device complies with SBC-2 T10/1417-D revision 16 + + + Device complies with SBC-2 ANSI INCITS 405-2005 + + + Device complies with SBC-2 ISO/IEC 14776-322 + + + Device complies with OSD (no version claimed) + + + Device complies with OSD T10/1355-D revision 0 + + + Device complies with OSD T10/1355-D revision 7a + + + Device complies with OSD T10/1355-D revision 8 + + + Device complies with OSD T10/1355-D revision 9 + + + Device complies with OSD T10/1355-D revision 10 + + + Device complies with OSD ANSI INCITS 400-2004 + + + Device complies with SSC-2 (no version claimed) + + + Device complies with SSC-2 T10/1434-D revision 7 + + + Device complies with SSC-2 T10/1434-D revision 9 + + + Device complies with SSC-2 ANSI INCITS 380-2003 + + + Device complies with BCC (no version claimed) + + + Device complies with MMC-4 (no version claimed) + + + Device complies with MMC-4 T10/1545-D revision 5 + + + Device complies with MMC-4 T10/1545-D revision 5a + + + Device complies with MMC-4 T10/1545-D revision 3 + + + Device complies with MMC-4 T10/1545-D revision 3d + + + Device complies with MMC-4 ANSI INCITS 401-2005 + + + Device complies with ADC (no version claimed) + + + Device complies with ADC T10/1558-D revision 6 + + + Device complies with ADC T10/1558-D revision 7 + + + Device complies with ADC ANSI INCITS 403-2005 + + + Device complies with SES-2 (no version claimed) + + + Device complies with SES-2 T10/1559-D revision 16 + + + Device complies with SES-2 T10/1559-D revision 19 + + + Device complies with SES-2 T10/1559-D revision 20 + + + Device complies with SES-2 ANSI INCITS 448-2008 + + + Device complies with SES-2 ISO/IEC 14776-372 + + + Device complies with SSC-3 (no version claimed) + + + Device complies with SSC-3 T10/1611-D revision 04a + + + Device complies with SSC-3 T10/1611-D revision 05 + + + Device complies with SSC-3 ANSI INCITS 467-2011 + + + Device complies with SSC-3 ISO/IEC 14776-333:2013 + + + Device complies with MMC-5 (no version claimed) + + + Device complies with MMC-5 T10/1675-D revision 03 + + + Device complies with MMC-5 T10/1675-D revision 03b + + + Device complies with MMC-5 T10/1675-D revision 04 + + + Device complies with MMC-5 ANSI INCITS 430-2007 + + + Device complies with OSD-2 (no version claimed) + + + Device complies with OSD-2 T10/1729-D revision 4 + + + Device complies with OSD-2 T10/1729-D revision 5 + + + Device complies with OSD-2 ANSI INCITS 458-2011 + + + Device complies with SPC-4 (no version claimed) + + + Device complies with SPC-4 T10/BSR INCITS 513 revision 16 + + + Device complies with SPC-4 T10/BSR INCITS 513 revision 18 + + + Device complies with SPC-4 T10/BSR INCITS 513 revision 23 + + + Device complies with SPC-4 T10/BSR INCITS 513 revision 36 + + + Device complies with SPC-4 T10/BSR INCITS 513 revision 37 + + + Device complies with SPC-4 T10/BSR INCITS 513 revision 37a + + + Device complies with SPC-4 ANSI INCITS 513-2015 + + + Device complies with SMC-3 (no version claimed) + + + Device complies with SMC-3 T10/1730-D revision 15 + + + Device complies with SMC-3 T10/1730-D revision 16 + + + Device complies with SMC-3 ANSI INCITS 484-2012 + + + Device complies with ADC-2 (no version claimed) + + + Device complies with ADC-2 T10/1741-D revision 7 + + + Device complies with ADC-2 T10/1741-D revision 8 + + + Device complies with ADC-2 ANSI INCITS 441-2008 + + + Device complies with SBC-3 (no version claimed) + + + Device complies with SBC-3 T10/BSR INCITS 514 revision 35 + + + Device complies with SBC-3 T10/BSR INCITS 514 revision 36 + + + Device complies with SBC-3 ANSI INCITS 514-2014 + + + Device complies with MMC-6 (no version claimed) + + + Device complies with MMC-6 T10/1836-D revision 02b + + + Device complies with MMC-6 T10/1836-D revision 02g + + + Device complies with MMC-6 ANSI INCITS 468-2010 + + + Device complies with MMC-6 ANSI INCITS 468-2010 + MMC-6/AM1 ANSI INCITS 468-2010/AM 1 + + + Device complies with ADC-3 (no version claimed) + + + Device complies with ADC-3 T10/1895-D revision 04 + + + Device complies with ADC-3 T10/1895-D revision 05 + + + Device complies with ADC-3 T10/1895-D revision 05a + + + Device complies with ADC-3 ANSI INCITS 497-2012 + + + Device complies with SSC-4 (no version claimed) + + + Device complies with SSC-4 T10/BSR INCITS 516 revision 2 + + + Device complies with SSC-4 T10/BSR INCITS 516 revision 3 + + + Device complies with SSC-4 ANSI INCITS 516-2013 + + + Device complies with OSD-3 (no version claimed) + + + Device complies with SES-3 (no version claimed) + + + Device complies with SSC-5 (no version claimed) + + + Device complies with SPC-5 (no version claimed) + + + Device complies with SFSC (no version claimed) + + + Device complies with SFSC BSR INCITS 501 revision 01 + + + Device complies with SBC-4 (no version claimed) + + + Device complies with ZBC (no version claimed) + + + Device complies with ZBC BSR INCITS 536 revision 02 + + + Device complies with ADC-4 (no version claimed) + + + Device complies with SSA-TL2 (no version claimed) + + + Device complies with SSA-TL2 T10.1/1147-D revision 05b + + + Device complies with SSA-TL2 ANSI INCITS 308-1998 + + + Device complies with SSA-TL1 (no version claimed) + + + Device complies with SSA-TL1 T10.1/0989-D revision 10b + + + Device complies with SSA-TL1 ANSI INCITS 295-1996 + + + Device complies with SSA-S3P (no version claimed) + + + Device complies with SSA-S3P T10.1/1051-D revision 05b + + + Device complies with SSA-S3P ANSI INCITS 309-1998 + + + Device complies with SSA-S2P (no version claimed) + + + Device complies with SSA-S2P T10.1/1121-D revision 07b + + + Device complies with SSA-S2P ANSI INCITS 294-1996 + + + Device complies with SIP (no version claimed) + + + Device complies with SIP T10/0856-D revision 10 + + + Device complies with SIP ANSI INCITS 292-1997 + + + Device complies with FCP (no version claimed) + + + Device complies with FCP T10/0993-D revision 12 + + + Device complies with FCP ANSI INCITS 269-1996 + + + Device complies with SBP-2 (no version claimed) + + + Device complies with SBP-2 T10/1155-D revision 04 + + + Device complies with SBP-2 ANSI INCITS 325-1998 + + + Device complies with FCP-2 (no version claimed) + + + Device complies with FCP-2 T10/1144-D revision 4 + + + Device complies with FCP-2 T10/1144-D revision 7 + + + Device complies with FCP-2 T10/1144-D revision 7a + + + Device complies with FCP-2 ANSI INCITS 350-2003 + + + Device complies with FCP-2 T10/1144-D revision 8 + + + Device complies with SST (no version claimed) + + + Device complies with SST T10/1380-D revision 8b + + + Device complies with SRP (no version claimed) + + + Device complies with SRP T10/1415-D revision 10 + + + Device complies with SRP T10/1415-D revision 16a + + + Device complies with SRP ANSI INCITS 365-2002 + + + Device complies with iSCSI (no version claimed) + + + Device complies with iSCSI revision {0} + + + Device complies with SBP-3 (no version claimed) + + + Device complies with SBP-3 T10/1467-D revision 1f + + + Device complies with SBP-3 T10/1467-D revision 3 + + + Device complies with SBP-3 T10/1467-D revision 4 + + + Device complies with SBP-3 T10/1467-D revision 5 + + + Device complies with SBP-3 ANSI INCITS 375-2004 + + + Device complies with ADP (no version claimed) + + + Device complies with ADT (no version claimed) + + + Device complies with ADT T10/1557-D revision 11 + + + Device complies with ADT T10/1557-D revision 14 + + + Device complies with ADT ANSI INCITS 406-2005 + + + Device complies with FCP-3 (no version claimed) + + + Device complies with FCP-3 T10/1560-D revision 3f + + + Device complies with FCP-3 T10/1560-D revision 4 + + + Device complies with FCP-3 ANSI INCITS 416-2006 + + + Device complies with FCP-3 ISO/IEC 14776-223 + + + Device complies with ADT-2 (no version claimed) + + + Device complies with ADT-2 T10/1742-D revision 06 + + + Device complies with ADT-2 T10/1742-D revision 08 + + + Device complies with ADT-2 T10/1742-D revision 09 + + + Device complies with ADT-2 ANSI INCITS 472-2011 + + + Device complies with FCP-4 (no version claimed) + + + Device complies with FCP-4 T10/1828-D revision 01 + + + Device complies with FCP-4 T10/1828-D revision 02 + + + Device complies with FCP-4 T10/1828-D revision 02b + + + Device complies with FCP-4 ANSI INCITS 481-2012 + + + Device complies with ADT-3 (no version claimed) + + + Device complies with SPI (no version claimed) + + + Device complies with SPI T10/0855-D revision 15a + + + Device complies with SPI ANSI INCITS 253-1995 + + + Device complies with SPI T10/0855-D revision 15a with SPI Amnd revision 3a + + + Device complies with SPI ANSI INCITS 253-1995 with SPI Amnd ANSI INCITS 253/AM1-1998 + + + Device complies with Fast-20 (no version claimed) + + + Device complies with Fast-20 T10/1071 revision 06 + + + Device complies with Fast-20 ANSI INCITS 277-1996 + + + Device complies with SPI-2 (no version claimed) + + + Device complies with SPI-2 T10/1142-D revision 20b + + + Device complies with SPI-2 ANSI INCITS 302-1999 + + + Device complies with SPI-3 (no version claimed) + + + Device complies with SPI-3 T10/1302-D revision 10 + + + Device complies with SPI-3 T10/1302-D revision 13a + + + Device complies with SPI-3 T10/1302-D revision 14 + + + Device complies with SPI-3 ANSI INCITS 336-2000 + + + Device complies with EPI (no version claimed) + + + Device complies with EPI T10/1134 revision 16 + + + Device complies with EPI ANSI INCITS TR-23 1999 + + + Device complies with SPI-4 (no version claimed) + + + Device complies with SPI-4 T10/1365-D revision 7 + + + Device complies with SPI-4 T10/1365-D revision 9 + + + Device complies with SPI-4 ANSI INCITS 362-2002 + + + Device complies with SPI-4 T10/1365-D revision 10 + + + Device complies with SPI-5 (no version claimed) + + + Device complies with SPI-5 T10/1525-D revision 3 + + + Device complies with SPI-5 T10/1525-D revision 5 + + + Device complies with SPI-5 T10/1525-D revision 6 + + + Device complies with SPI-5 ANSI INCITS 367-2003 + + + Device complies with SAS (no version claimed) + + + Device complies with SAS T10/1562-D revision 01 + + + Device complies with SAS T10/1562-D revision 03 + + + Device complies with SAS T10/1562-D revision 04 + + + Device complies with SAS T10/1562-D revision 05 + + + Device complies with SAS ANSI INCITS 376-2003 + + + Device complies with SAS-1.1 (no version claimed) + + + Device complies with SAS-1.1 T10/1601-D revision 9 + + + Device complies with SAS-1.1 T10/1601-D revision 10 + + + Device complies with SAS-1.1 ANSI INCITS 417-2006 + + + Device complies with SAS-1.1 ISO/IEC 14776-151 + + + Device complies with SAS-2 (no version claimed) + + + Device complies with SAS-2 T10/1760-D revision 14 + + + Device complies with SAS-2 T10/1760-D revision 15 + + + Device complies with SAS-2 T10/1760-D revision 16 + + + Device complies with SAS-2 ANSI INCITS 457-2010 + + + Device complies with SAS-2.1 (no version claimed) + + + Device complies with SAS-2.1 T10/2125-D revision 04 + + + Device complies with SAS-2.1 T10/2125-D revision 06 + + + Device complies with SAS-2.1 T10/2125-D revision 07 + + + Device complies with SAS-2.1 ANSI INCITS 478-2011 + + + Device complies with SAS-2.1 ANSI INCITS 478-2011 w/ Amnd 1 ANSI INCITS 478/AM1-2014 + + + Device complies with SAS-2.1 ISO/IEC 14776-153 + + + Device complies with SAS-3 (no version claimed) + + + Device complies with SAS-3 T10/BSR INCITS 519 revision 05a + + + Device complies with SAS-3 T10/BSR INCITS 519 revision 06 + + + Device complies with SAS-3 ANSI INCITS 519-2014 + + + Device complies with SAS-4 (no version claimed) + + + Device complies with FC-PH (no version claimed) + + + Device complies with FC-PH ANSI INCITS 230-1994 + + + Device complies with FC-PH ANSI INCITS 230-1994 with Amnd 1 ANSI INCITS 230/AM1-1996 + + + Device complies with FC-AL (no version claimed) + + + Device complies with FC-AL ANSI INCITS 272-1996 + + + Device complies with FC-AL-2 (no version claimed) + + + Device complies with FC-AL-2 T11/1133-D revision 7.0 + + + Device complies with FC-AL-2 ANSI INCITS 332-1999 with AM1-2003 & AM2-2006 + + + Device complies with FC-AL-2 ANSI INCITS 332-1999 with Amnd 2 AM2-2006 + + + Device complies with FC-AL-2 ISO/IEC 14165-122 with AM1 & AM2 + + + Device complies with FC-AL-2 ANSI INCITS 332-1999 + + + Device complies with FC-AL-2 ANSI INCITS 332-1999 with Amnd 1 AM1-2003 + + + Device complies with FC-PH-3 (no version claimed) + + + Device complies with FC-PH-3 ANSI INCITS 303-1998 + + + Device complies with FC-FS (no version claimed) + + + Device complies with FC-FS T11/1331-D revision 1.2 + + + Device complies with FC-FS T11/1331-D revision 1.7 + + + Device complies with FC-FS ANSI INCITS 373-2003 + + + Device complies with FC-FS ISO/IEC 14165-251 + + + Device complies with FC-PI (no version claimed) + + + Device complies with FC-PI ANSI INCITS 352-2002 + + + Device complies with FC-PI-2 (no version claimed) + + + Device complies with FC-PI-2 T11/1506-D revision 5.0 + + + Device complies with FC-PI-2 ANSI INCITS 404-2006 + + + Device complies with FC-FS-2 (no version claimed) + + + Device complies with FC-FS-2 ANSI INCITS 242-2007 + + + Device complies with FC-FS-2 ANSI INCITS 242-2007 with AM1 ANSI INCITS 242/AM1-2007 + + + Device complies with FC-LS (no version claimed) + + + Device complies with FC-LS T11/1620-D revision 1.62 + + + Device complies with FC-LS ANSI INCITS 433-2007 + + + Device complies with FC-SP (no version claimed) + + + Device complies with FC-SP T11/1570-D revision 1.6 + + + Device complies with FC-SP ANSI INCITS 426-2007 + + + Device complies with FC-PI-3 (no version claimed) + + + Device complies with FC-PI-3 T11/1625-D revision 2.0 + + + Device complies with FC-PI-3 T11/1625-D revision 2.1 + + + Device complies with FC-PI-3 T11/1625-D revision 4.0 + + + Device complies with FC-PI-3 ANSI INCITS 460-2011 + + + Device complies with FC-PI-4 (no version claimed) + + + Device complies with FC-PI-4 T11/1647-D revision 8.0 + + + Device complies with FC-PI-4 ANSI INCITS 450-2009 + + + Device complies with FC 10GFC (no version claimed) + + + Device complies with FC 10GFC ANSI INCITS 364-2003 + + + Device complies with FC 10GFC ISO/IEC 14165-116 + + + Device complies with FC 10GFC ISO/IEC 14165-116 with AM1 + + + Device complies with FC 10GFC ANSI INCITS 364-2003 with AM1 ANSI INCITS 364/AM1-2007 + + + Device complies with FC-SP-2 (no version claimed) + + + Device complies with FC-FS-3 (no version claimed) + + + Device complies with FC-FS-3 T11/1861-D revision 0.9 + + + Device complies with FC-FS-3 T11/1861-D revision 1.0 + + + Device complies with FC-FS-3 T11/1861-D revision 1.10 + + + Device complies with FC-FS-3 ANSI INCITS 470-2011 + + + Device complies with FC-LS-2 (no version claimed) + + + Device complies with FC-LS-2 T11/2103-D revision 2.11 + + + Device complies with FC-LS-2 T11/2103-D revision 2.21 + + + Device complies with FC-LS-2 ANSI INCITS 477-2011 + + + Device complies with FC-PI-5 (no version claimed) + + + Device complies with FC-PI-5 T11/2118-D revision 2.00 + + + Device complies with FC-PI-5 T11/2118-D revision 3.00 + + + Device complies with FC-PI-5 T11/2118-D revision 6.00 + + + Device complies with FC-PI-5 T11/2118-D revision 6.10 + + + Device complies with FC-PI-5 ANSI INCITS 479-2011 + + + Device complies with FC-PI-6 (no version claimed) + + + Device complies with FC-FS-4 (no version claimed) + + + Device complies with FC-LS-3 (no version claimed) + + + Device complies with FC-SCM (no version claimed) + + + Device complies with FC-SCM T11/1824DT revision 1.0 + + + Device complies with FC-SCM T11/1824DT revision 1.1 + + + Device complies with FC-SCM T11/1824DT revision 1.4 + + + Device complies with FC-SCM INCITS TR-47 2012 + + + Device complies with FC-DA-2 (no version claimed) + + + Device complies with FC-DA-2 T11/1870DT revision 1.04 + + + Device complies with FC-DA-2 T11/1870DT revision 1.06 + + + Device complies with FC-DA-2 INCITS TR-49 2012 + + + Device complies with FC-DA (no version claimed) + + + Device complies with FC-DA T11/1513-DT revision 3.1 + + + Device complies with FC-DA ANSI INCITS TR-36 2004 + + + Device complies with FC-DA ISO/IEC 14165-341 + + + Device complies with FC-Tape (no version claimed) + + + Device complies with FC-Tape T11/1315 revision 1.16 + + + Device complies with FC-Tape T11/1315 revision 1.17 + + + Device complies with FC-Tape ANSI INCITS TR-24 1999 + + + Device complies with FC-FLA (no version claimed) + + + Device complies with FC-FLA T11/1235 revision 7 + + + Device complies with FC-FLA ANSI INCITS TR-20 1998 + + + Device complies with FC-PLDA (no version claimed) + + + Device complies with FC-PLDA T11/1162 revision 2.1 + + + Device complies with FC-PLDA ANSI INCITS TR-19 1998 + + + Device complies with SSA-PH2 (no version claimed) + + + Device complies with SSA-PH2 T10.1/1145-D revision 09c + + + Device complies with SSA-PH2 ANSI INCITS 293-1996 + + + Device complies with SSA-PH3 (no version claimed) + + + Device complies with SSA-PH3 T10.1/1146-D revision 05b + + + Device complies with SSA-PH3 ANSI INCITS 307-1998 + + + Device complies with IEEE 1394 (no version claimed) + + + Device complies with ANSI IEEE 1394-1995 + + + Device complies with IEEE 1394a (no version claimed) + + + Device complies with IEEE 1394b (no version claimed) + + + Device complies with ATA/ATAPI-6 (no version claimed) + + + Device complies with ATA/ATAPI-6 ANSI INCITS 361-2002 + + + Device complies with ATA/ATAPI-7 (no version claimed) + + + Device complies with ATA/ATAPI-7 T13/1532-D revision 3 + + + Device complies with ATA/ATAPI-7 ANSI INCITS 397-2005 + + + Device complies with ATA/ATAPI-7 ISO/IEC 24739 + + + Device complies with ATA/ATAPI-8 ATA8-AAM (no version claimed) + + + Device complies with ATA/ATAPI-8 ATA8-APT Parallel Transport (no version claimed) + + + Device complies with ATA/ATAPI-8 ATA8-AST Serial Transport (no version claimed) + + + Device complies with ATA/ATAPI-8 ATA8-ACS ATA/ATAPI Command Set (no version claimed) + + + Device complies with ATA/ATAPI-8 ATA8-AAM ANSI INCITS 451-2008 + + + Device complies with ATA/ATAPI-8 ATA8-ACS ANSI INCITS 452-2009 w/ Amendment 1 + + + Device complies with Universal Serial Bus Specification, Revision 1.1 + + + Device complies with Universal Serial Bus Specification, Revision 2.0 + + + Device complies with USB Mass Storage Class Bulk-Only Transport, Revision 1.0 + + + Device complies with UAS (no version claimed) + + + Device complies with UAS T10/2095-D revision 02 + + + Device complies with UAS T10/2095-D revision 04 + + + Device complies with UAS ANSI INCITS 471-2010 + + + Device complies with UAS ISO/IEC 14776-251:2014 + + + Device complies with ACS-2 (no version claimed) + + + Device complies with ACS-2 ANSI INCITS 482-2013 + + + Device complies with ACS-3 (no version claimed) + + + Device complies with UAS-2 (no version claimed) + + + Device complies with SAT (no version claimed) + + + Device complies with SAT T10/1711-D revision 8 + + + Device complies with SAT T10/1711-D revision 9 + + + Device complies with SAT ANSI INCITS 431-2007 + + + Device complies with SAT-2 (no version claimed) + + + Device complies with SAT-2 T10/1826-D revision 06 + + + Device complies with SAT-2 T10/1826-D revision 09 + + + Device complies with SAT-2 ANSI INCITS 465-2010 + + + Device complies with SAT-3 (no version claimed) + + + Device complies with SAT-3 T10/BSR INCITS 517 revision 4 + + + Device complies with SAT-3 T10/BSR INCITS 517 revision 7 + + + Device complies with SAT-3 ANSI INCITS 517-2015 + + + Device complies with SAT-4 (no version claimed) + + + Device complies with SPL (no version claimed) + + + Device complies with SPL T10/2124-D revision 6a + + + Device complies with SPL T10/2124-D revision 7 + + + Device complies with SPL ANSI INCITS 476-2011 + + + Device complies with SPL ANSI INCITS 476-2011 + SPL AM1 INCITS 476/AM1 2012 + + + Device complies with SPL ISO/IEC 14776-261:2012 + + + Device complies with SPL-2 (no version claimed) + + + Device complies with SPL-2 T10/BSR INCITS 505 revision 4 + + + Device complies with SPL-2 T10/BSR INCITS 505 revision 5 + + + Device complies with SPL-2 ANSI INCITS 505-2013 + + + Device complies with SPL-3 (no version claimed) + + + Device complies with SPL-3 T10/BSR INCITS 492 revision 6 + + + Device complies with SPL-3 T10/BSR INCITS 492 revision 7 + + + Device complies with SPL-3 ANSI INCITS 492-2015 + + + Device complies with SPL-4 (no version claimed) + + + Device complies with SOP (no version claimed) + + + Device complies with SOP T10/BSR INCITS 489 revision 4 + + + Device complies with SOP T10/BSR INCITS 489 revision 5 + + + Device complies with SOP ANSI INCITS 489-2014 + + + Device complies with PQI (no version claimed) + + + Device complies with PQI T10/BSR INCITS 490 revision 6 + + + Device complies with PQI T10/BSR INCITS 490 revision 7 + + + Device complies with PQI ANSI INCITS 490-2014 + + + Device complies with SOP-2 (no version claimed) + + + Device complies with PQI-2 (no version claimed) + + + Device complies with IEEE 1667 (no version claimed) + + + Device complies with IEEE 1667-2006 + + + Device complies with IEEE 1667-2009 + + + Device complies with unknown standard code 0x{0:X4} + + + Quantum vendor-specific information: + + + Product family is not specified + + + Product family is 2.6 GB + + + Product family is 6.0 GB + + + Product family is 10.0/20.0 GB + + + Product family is 20.0/40.0 GB + + + Product family is 15.0/30.0 GB + + + Product family: {0} + + + Release firmware: {0} + + + Firmware version: {0}.{1} + + + EEPROM format version: {0}.{1} + + + Firmware personality: {0} + + + Firmware sub-personality: {0} + + + Tape directory format version: {0} + + + Controller hardware version: {0} + + + Drive EEPROM version: {0} + + + Drive hardware version: {0} + + + Media loader firmware version: {0} + + + Media loader hardware version: {0} + + + Media loader mechanical version: {0} + + + Library is present + + + Media loader is present + + + Module revision: {0} + + + IBM vendor-specific information: + + + Performance is not limited + + + Performance is limited using factor {0} + + + Automation is disabled + + + IBM OEM Specific Field: {0} + + + HP vendor-specific information: + + + Device supports WORM version {0} + + + Device supports Tape Disaster Recovery + + + Seagate vendor-specific information: + + + Drive copyright: {0} + + + Drive servo part number: {0} + + + Drive is flashed with Kreon firmware {0}. + + + Vendor's device type modifier = 0x{0:X2} + + + Reserved byte 5, bits 2 to 1 = 0x{0:X2} + + + Reserved byte 56, bits 7 to 4 = 0x{0:X2} + + + Reserved byte 57 = 0x{0:X2} + + + Reserved bytes 74 to 95 + + + Vendor-specific bytes 47 to 55 + + + Vendor-specific bytes 36 to 55 + + + Hi-MD device. + + + Hi-MD specific bytes 44 to 55 + + + Vendor-specific bytes 96 to {0} + + \ No newline at end of file diff --git a/MMC/CID.cs b/MMC/CID.cs index 136cec9b2..ce04050ab 100644 --- a/MMC/CID.cs +++ b/MMC/CID.cs @@ -103,58 +103,58 @@ public static partial class Decoders var sb = new StringBuilder(); - sb.AppendLine("MultiMediaCard Device Identification Register:"); - sb.AppendFormat("\tManufacturer: {0}", VendorString.Prettify(cid.Manufacturer)).AppendLine(); + sb.AppendLine(Localization.MultiMediaCard_Device_Identification_Register); + sb.AppendFormat("\t" + Localization.Manufacturer_0, VendorString.Prettify(cid.Manufacturer)).AppendLine(); switch(cid.DeviceType) { case 0: - sb.AppendLine("\tRemovable device"); + sb.AppendLine("\t" + Localization.Removable_device); break; case 1: - sb.AppendLine("\tBGA device"); + sb.AppendLine("\t" + Localization.BGA_device); break; case 2: - sb.AppendLine("\tPOP device"); + sb.AppendLine("\t" + Localization.POP_device); break; } - sb.AppendFormat("\tApplication ID: {0}", cid.ApplicationID).AppendLine(); - sb.AppendFormat("\tProduct name: {0}", cid.ProductName).AppendLine(); + sb.AppendFormat("\t" + Localization.Application_ID_0, cid.ApplicationID).AppendLine(); + sb.AppendFormat("\t" + Localization.Product_name_0, cid.ProductName).AppendLine(); - sb.AppendFormat("\tProduct revision: {0:X2}.{1:X2}", (cid.ProductRevision & 0xF0) >> 4, + sb.AppendFormat("\t" + Localization.Product_revision_0_1, (cid.ProductRevision & 0xF0) >> 4, cid.ProductRevision & 0x0F).AppendLine(); - sb.AppendFormat("\tProduct serial number: {0}", cid.ProductSerialNumber).AppendLine(); + sb.AppendFormat("\t" + Localization.Product_serial_number_0, cid.ProductSerialNumber).AppendLine(); string year = (cid.ManufacturingDate & 0x0F) switch { - 0 => "1997 or 2013", - 1 => "1998 or 2014", - 2 => "1999 or 2015", - 3 => "2000 or 2016", - 4 => "2001 or 2017", - 5 => "2002 or 2018", - 6 => "2003 or 2019", - 7 => "2004 or 2020", - 8 => "2005 or 2021", - 9 => "2006 or 2022", - 10 => "2007 or 2023", - 11 => "2008 or 2024", - 12 => "2009 or 2025", + 0 => Localization._1997_or_2013, + 1 => Localization._1998_or_2014, + 2 => Localization._1999_or_2015, + 3 => Localization._2000_or_2016, + 4 => Localization._2001_or_2017, + 5 => Localization._2002_or_2018, + 6 => Localization._2003_or_2019, + 7 => Localization._2004_or_2020, + 8 => Localization._2005_or_2021, + 9 => Localization._2006_or_2022, + 10 => Localization._2007_or_2023, + 11 => Localization._2008_or_2024, + 12 => Localization._2009_or_2025, 13 => "2010", 14 => "2011", 15 => "2012", _ => "" }; - sb.AppendFormat("\tDevice manufactured month {0} of {1}", (cid.ManufacturingDate & 0xF0) >> 4, year). - AppendLine(); + sb.AppendFormat("\t" + Localization.Device_manufactured_month_0_of_1, (cid.ManufacturingDate & 0xF0) >> 4, + year).AppendLine(); - sb.AppendFormat("\tCID CRC: 0x{0:X2}", cid.CRC).AppendLine(); + sb.AppendFormat("\t" + Localization.CID_CRC_0, cid.CRC).AppendLine(); return sb.ToString(); } diff --git a/MMC/CSD.cs b/MMC/CSD.cs index be0a5680c..703d83ff6 100644 --- a/MMC/CSD.cs +++ b/MMC/CSD.cs @@ -151,24 +151,25 @@ public static partial class Decoders string unit = ""; var sb = new StringBuilder(); - sb.AppendLine("MultiMediaCard Device Specific Data Register:"); + sb.AppendLine(Localization.MultiMediaCard_Device_Specific_Data_Register_); switch(csd.Structure) { case 0: - sb.AppendLine("\tRegister version 1.0"); + sb.AppendLine("\t" + Localization.Register_version_1_0); break; case 1: - sb.AppendLine("\tRegister version 1.1"); + sb.AppendLine("\t" + Localization.Register_version_1_1); break; case 2: - sb.AppendLine("\tRegister version 1.2"); + sb.AppendLine("\t" + Localization.Register_version_1_2); break; case 3: - sb.AppendLine("\tRegister version is defined in Extended Device Specific Data Register"); + sb.AppendLine("\t" + Localization. + Register_version_is_defined_in_Extended_Device_Specific_Data_Register); break; } @@ -176,42 +177,42 @@ public static partial class Decoders switch(csd.TAAC & 0x07) { case 0: - unit = "ns"; + unit = Localization.unit_ns; unitFactor = 1; break; case 1: - unit = "ns"; + unit = Localization.unit_ns; unitFactor = 10; break; case 2: - unit = "ns"; + unit = Localization.unit_ns; unitFactor = 100; break; case 3: - unit = "μs"; + unit = Localization.unit_μs; unitFactor = 1; break; case 4: - unit = "μs"; + unit = Localization.unit_μs; unitFactor = 10; break; case 5: - unit = "μs"; + unit = Localization.unit_μs; unitFactor = 100; break; case 6: - unit = "ms"; + unit = Localization.unit_ms; unitFactor = 1; break; case 7: - unit = "ms"; + unit = Localization.unit_ms; unitFactor = 10; break; @@ -239,11 +240,12 @@ public static partial class Decoders }; double result = unitFactor * multiplier; - sb.AppendFormat("\tAsynchronous data access time is {0}{1}", result, unit).AppendLine(); + sb.AppendFormat("\t" + Localization.Asynchronous_data_access_time_is_0_1, result, unit).AppendLine(); - sb.AppendFormat("\tClock dependent part of data access is {0} clock cycles", csd.NSAC * 100).AppendLine(); + sb.AppendFormat("\t" + Localization.Clock_dependent_part_of_data_access_is_0_clock_cycles, csd.NSAC * 100). + AppendLine(); - unit = "MHz"; + unit = Localization.unit_MHz; switch(csd.Speed & 0x07) { @@ -264,7 +266,7 @@ public static partial class Decoders break; default: - unit = "unknown"; + unit = Localization.unit_unknown; unitFactor = 0; break; @@ -292,7 +294,7 @@ public static partial class Decoders }; result = unitFactor * multiplier; - sb.AppendFormat("\tDevice's clock frequency: {0}{1}", result, unit).AppendLine(); + sb.AppendFormat("\t" + Localization.Device_s_clock_frequency_0_1, result, unit).AppendLine(); unit = ""; @@ -300,49 +302,51 @@ public static partial class Decoders if((csd.Classes & mask) == mask) unit += $" {cl}"; - sb.AppendFormat("\tDevice support command classes {0}", unit).AppendLine(); + sb.AppendFormat("\t" + Localization.Device_support_command_classes_0, unit).AppendLine(); if(csd.ReadBlockLength == 15) - sb.AppendLine("\tRead block length size is defined in extended CSD"); + sb.AppendLine("\t" + Localization.Read_block_length_size_is_defined_in_extended_CSD); else - sb.AppendFormat("\tRead block length is {0} bytes", Math.Pow(2, csd.ReadBlockLength)).AppendLine(); + sb.AppendFormat("\t" + Localization.Read_block_length_is_0_bytes, Math.Pow(2, csd.ReadBlockLength)). + AppendLine(); if(csd.ReadsPartialBlocks) - sb.AppendLine("\tDevice allows reading partial blocks"); + sb.AppendLine("\t" + Localization.Device_allows_reading_partial_blocks); if(csd.WriteMisalignment) - sb.AppendLine("\tWrite commands can cross physical block boundaries"); + sb.AppendLine("\t" + Localization.Write_commands_can_cross_physical_block_boundaries); if(csd.ReadMisalignment) - sb.AppendLine("\tRead commands can cross physical block boundaries"); + sb.AppendLine("\t" + Localization.Read_commands_can_cross_physical_block_boundaries); if(csd.DSRImplemented) - sb.AppendLine("\tDevice implements configurable driver stage"); + sb.AppendLine("\t" + Localization.Device_implements_configurable_driver_stage); if(csd.Size == 0xFFF) - sb.AppendLine("\tDevice may be bigger than 2GiB and have its real size defined in the extended CSD"); + sb.AppendLine("\t" + Localization. + Device_may_be_bigger_than_2GiB_and_have_its_real_size_defined_in_the_extended_CSD); - result = (csd.Size + 1) * Math.Pow(2, csd.SizeMultiplier + 2); - sb.AppendFormat("\tDevice has {0} blocks", (int)result).AppendLine(); + result = (csd.Size + 1) * Math.Pow(2, csd.SizeMultiplier + 2); + sb.AppendFormat("\t" + Localization.Device_has_0_blocks, (int)result).AppendLine(); result = (csd.Size + 1) * Math.Pow(2, csd.SizeMultiplier + 2) * Math.Pow(2, csd.ReadBlockLength); switch(result) { case > 1073741824: - sb.AppendFormat("\tDevice has {0} GiB", result / 1073741824.0).AppendLine(); + sb.AppendFormat("\t" + Localization.Device_has_0_GiB, result / 1073741824.0).AppendLine(); break; case > 1048576: - sb.AppendFormat("\tDevice has {0} MiB", result / 1048576.0).AppendLine(); + sb.AppendFormat("\t" + Localization.Device_has_0_MiB, result / 1048576.0).AppendLine(); break; case > 1024: - sb.AppendFormat("\tDevice has {0} KiB", result / 1024.0).AppendLine(); + sb.AppendFormat("\t" + Localization.Device_has_0_KiB, result / 1024.0).AppendLine(); break; default: - sb.AppendFormat("\tDevice has {0} bytes", result).AppendLine(); + sb.AppendFormat("\t" + Localization.Device_has_0_bytes, result).AppendLine(); break; } @@ -350,35 +354,35 @@ public static partial class Decoders switch(csd.ReadCurrentAtVddMin & 0x07) { case 0: - sb.AppendLine("\tDevice uses a maximum of 0.5mA for reading at minimum voltage"); + sb.AppendLine("\t" + Localization.Device_uses_a_maximum_of_0_5mA_for_reading_at_minimum_voltage); break; case 1: - sb.AppendLine("\tDevice uses a maximum of 1mA for reading at minimum voltage"); + sb.AppendLine("\t" + Localization.Device_uses_a_maximum_of_1mA_for_reading_at_minimum_voltage); break; case 2: - sb.AppendLine("\tDevice uses a maximum of 5mA for reading at minimum voltage"); + sb.AppendLine("\t" + Localization.Device_uses_a_maximum_of_5mA_for_reading_at_minimum_voltage); break; case 3: - sb.AppendLine("\tDevice uses a maximum of 10mA for reading at minimum voltage"); + sb.AppendLine("\t" + Localization.Device_uses_a_maximum_of_10mA_for_reading_at_minimum_voltage); break; case 4: - sb.AppendLine("\tDevice uses a maximum of 25mA for reading at minimum voltage"); + sb.AppendLine("\t" + Localization.Device_uses_a_maximum_of_25mA_for_reading_at_minimum_voltage); break; case 5: - sb.AppendLine("\tDevice uses a maximum of 35mA for reading at minimum voltage"); + sb.AppendLine("\t" + Localization.Device_uses_a_maximum_of_35mA_for_reading_at_minimum_voltage); break; case 6: - sb.AppendLine("\tDevice uses a maximum of 60mA for reading at minimum voltage"); + sb.AppendLine("\t" + Localization.Device_uses_a_maximum_of_60mA_for_reading_at_minimum_voltage); break; case 7: - sb.AppendLine("\tDevice uses a maximum of 100mA for reading at minimum voltage"); + sb.AppendLine("\t" + Localization.Device_uses_a_maximum_of_100mA_for_reading_at_minimum_voltage); break; } @@ -386,35 +390,35 @@ public static partial class Decoders switch(csd.ReadCurrentAtVddMax & 0x07) { case 0: - sb.AppendLine("\tDevice uses a maximum of 1mA for reading at maximum voltage"); + sb.AppendLine("\t" + Localization.Device_uses_a_maximum_of_1mA_for_reading_at_maximum_voltage); break; case 1: - sb.AppendLine("\tDevice uses a maximum of 5mA for reading at maximum voltage"); + sb.AppendLine("\t" + Localization.Device_uses_a_maximum_of_5mA_for_reading_at_maximum_voltage); break; case 2: - sb.AppendLine("\tDevice uses a maximum of 10mA for reading at maximum voltage"); + sb.AppendLine("\t" + Localization.Device_uses_a_maximum_of_10mA_for_reading_at_maximum_voltage); break; case 3: - sb.AppendLine("\tDevice uses a maximum of 25mA for reading at maximum voltage"); + sb.AppendLine("\t" + Localization.Device_uses_a_maximum_of_25mA_for_reading_at_maximum_voltage); break; case 4: - sb.AppendLine("\tDevice uses a maximum of 35mA for reading at maximum voltage"); + sb.AppendLine("\t" + Localization.Device_uses_a_maximum_of_35mA_for_reading_at_maximum_voltage); break; case 5: - sb.AppendLine("\tDevice uses a maximum of 45mA for reading at maximum voltage"); + sb.AppendLine("\t" + Localization.Device_uses_a_maximum_of_45mA_for_reading_at_maximum_voltage); break; case 6: - sb.AppendLine("\tDevice uses a maximum of 80mA for reading at maximum voltage"); + sb.AppendLine("\t" + Localization.Device_uses_a_maximum_of_80mA_for_reading_at_maximum_voltage); break; case 7: - sb.AppendLine("\tDevice uses a maximum of 200mA for reading at maximum voltage"); + sb.AppendLine("\t" + Localization.Device_uses_a_maximum_of_200mA_for_reading_at_maximum_voltage); break; } @@ -422,35 +426,35 @@ public static partial class Decoders switch(csd.WriteCurrentAtVddMin & 0x07) { case 0: - sb.AppendLine("\tDevice uses a maximum of 0.5mA for writing at minimum voltage"); + sb.AppendLine("\t" + Localization.Device_uses_a_maximum_of_0_5mA_for_writing_at_minimum_voltage); break; case 1: - sb.AppendLine("\tDevice uses a maximum of 1mA for writing at minimum voltage"); + sb.AppendLine("\t" + Localization.Device_uses_a_maximum_of_1mA_for_writing_at_minimum_voltage); break; case 2: - sb.AppendLine("\tDevice uses a maximum of 5mA for writing at minimum voltage"); + sb.AppendLine("\t" + Localization.Device_uses_a_maximum_of_5mA_for_writing_at_minimum_voltage); break; case 3: - sb.AppendLine("\tDevice uses a maximum of 10mA for writing at minimum voltage"); + sb.AppendLine("\t" + Localization.Device_uses_a_maximum_of_10mA_for_writing_at_minimum_voltage); break; case 4: - sb.AppendLine("\tDevice uses a maximum of 25mA for writing at minimum voltage"); + sb.AppendLine("\t" + Localization.Device_uses_a_maximum_of_25mA_for_writing_at_minimum_voltage); break; case 5: - sb.AppendLine("\tDevice uses a maximum of 35mA for writing at minimum voltage"); + sb.AppendLine("\t" + Localization.Device_uses_a_maximum_of_35mA_for_writing_at_minimum_voltage); break; case 6: - sb.AppendLine("\tDevice uses a maximum of 60mA for writing at minimum voltage"); + sb.AppendLine("\t" + Localization.Device_uses_a_maximum_of_60mA_for_writing_at_minimum_voltage); break; case 7: - sb.AppendLine("\tDevice uses a maximum of 100mA for writing at minimum voltage"); + sb.AppendLine("\t" + Localization.Device_uses_a_maximum_of_100mA_for_writing_at_minimum_voltage); break; } @@ -458,35 +462,35 @@ public static partial class Decoders switch(csd.WriteCurrentAtVddMax & 0x07) { case 0: - sb.AppendLine("\tDevice uses a maximum of 1mA for writing at maximum voltage"); + sb.AppendLine("\t" + Localization.Device_uses_a_maximum_of_1mA_for_writing_at_maximum_voltage); break; case 1: - sb.AppendLine("\tDevice uses a maximum of 5mA for writing at maximum voltage"); + sb.AppendLine("\t" + Localization.Device_uses_a_maximum_of_5mA_for_writing_at_maximum_voltage); break; case 2: - sb.AppendLine("\tDevice uses a maximum of 10mA for writing at maximum voltage"); + sb.AppendLine("\t" + Localization.Device_uses_a_maximum_of_10mA_for_writing_at_maximum_voltage); break; case 3: - sb.AppendLine("\tDevice uses a maximum of 25mA for writing at maximum voltage"); + sb.AppendLine("\t" + Localization.Device_uses_a_maximum_of_25mA_for_writing_at_maximum_voltage); break; case 4: - sb.AppendLine("\tDevice uses a maximum of 35mA for writing at maximum voltage"); + sb.AppendLine("\t" + Localization.Device_uses_a_maximum_of_35mA_for_writing_at_maximum_voltage); break; case 5: - sb.AppendLine("\tDevice uses a maximum of 45mA for writing at maximum voltage"); + sb.AppendLine("\t" + Localization.Device_uses_a_maximum_of_45mA_for_writing_at_maximum_voltage); break; case 6: - sb.AppendLine("\tDevice uses a maximum of 80mA for writing at maximum voltage"); + sb.AppendLine("\t" + Localization.Device_uses_a_maximum_of_80mA_for_writing_at_maximum_voltage); break; case 7: - sb.AppendLine("\tDevice uses a maximum of 200mA for writing at maximum voltage"); + sb.AppendLine("\t" + Localization.Device_uses_a_maximum_of_200mA_for_writing_at_maximum_voltage); break; } @@ -495,100 +499,105 @@ public static partial class Decoders unitFactor = Convert.ToDouble(csd.EraseGroupSize); multiplier = Convert.ToDouble(csd.EraseGroupSizeMultiplier); result = (unitFactor + 1) * (multiplier + 1); - sb.AppendFormat("\tDevice can erase a minimum of {0} blocks at a time", (int)result).AppendLine(); + sb.AppendFormat("\t" + Localization.Device_can_erase_a_minimum_of_0_blocks_at_a_time, (int)result).AppendLine(); if(csd.WriteProtectGroupEnable) { - sb.AppendLine("\tDevice can write protect regions"); + sb.AppendLine("\t" + Localization.Device_can_write_protect_regions); // TODO: Check specification // unitFactor = Convert.ToDouble(csd.WriteProtectGroupSize); - sb.AppendFormat("\tDevice can write protect a minimum of {0} blocks at a time", (int)(result + 1)). - AppendLine(); + sb.AppendFormat("\t" + Localization.Device_can_write_protect_a_minimum_of_0_blocks_at_a_time, + (int)(result + 1)).AppendLine(); } else - sb.AppendLine("\tDevice can't write protect regions"); + sb.AppendLine("\t" + Localization.Device_cant_write_protect_regions); switch(csd.DefaultECC) { case 0: - sb.AppendLine("\tDevice uses no ECC by default"); + sb.AppendLine("\t" + Localization.Device_uses_no_ECC_by_default); break; case 1: - sb.AppendLine("\tDevice uses BCH(542, 512) ECC by default"); + sb.AppendLine("\t" + Localization.Device_uses_BCH_542_512_ECC_by_default); break; case 2: - sb.AppendFormat("\tDevice uses unknown ECC code {0} by default", csd.DefaultECC).AppendLine(); + sb.AppendFormat("\t" + Localization.Device_uses_unknown_ECC_code_0_by_default, csd.DefaultECC). + AppendLine(); break; } - sb.AppendFormat("\tWriting is {0} times slower than reading", Math.Pow(2, csd.WriteSpeedFactor)).AppendLine(); + sb.AppendFormat("\t" + Localization.Writing_is_0_times_slower_than_reading, Math.Pow(2, csd.WriteSpeedFactor)). + AppendLine(); if(csd.WriteBlockLength == 15) - sb.AppendLine("\tWrite block length size is defined in extended CSD"); + sb.AppendLine("\t" + Localization.Write_block_length_size_is_defined_in_extended_CSD); else - sb.AppendFormat("\tWrite block length is {0} bytes", Math.Pow(2, csd.WriteBlockLength)).AppendLine(); + sb.AppendFormat("\t" + Localization.Write_block_length_is_0_bytes, Math.Pow(2, csd.WriteBlockLength)). + AppendLine(); if(csd.WritesPartialBlocks) - sb.AppendLine("\tDevice allows writing partial blocks"); + sb.AppendLine("\t" + Localization.Device_allows_writing_partial_blocks); if(csd.ContentProtection) - sb.AppendLine("\tDevice supports content protection"); + sb.AppendLine("\t" + Localization.Device_supports_content_protection); if(!csd.Copy) - sb.AppendLine("\tDevice contents are original"); + sb.AppendLine("\t" + Localization.Device_contents_are_original); if(csd.PermanentWriteProtect) - sb.AppendLine("\tDevice is permanently write protected"); + sb.AppendLine("\t" + Localization.Device_is_permanently_write_protected); if(csd.TemporaryWriteProtect) - sb.AppendLine("\tDevice is temporarily write protected"); + sb.AppendLine("\t" + Localization.Device_is_temporarily_write_protected); if(!csd.FileFormatGroup) switch(csd.FileFormat) { case 0: - sb.AppendLine("\tDevice is formatted like a hard disk"); + sb.AppendLine("\t" + Localization.Device_is_formatted_like_a_hard_disk); break; case 1: - sb.AppendLine("\tDevice is formatted like a floppy disk using Microsoft FAT"); + sb.AppendLine("\t" + Localization.Device_is_formatted_like_a_floppy_disk_using_Microsoft_FAT); break; case 2: - sb.AppendLine("\tDevice uses Universal File Format"); + sb.AppendLine("\t" + Localization.Device_uses_Universal_File_Format); break; default: - sb.AppendFormat("\tDevice uses unknown file format code {0}", csd.FileFormat).AppendLine(); + sb.AppendFormat("\t" + Localization.Device_uses_unknown_file_format_code_0, csd.FileFormat). + AppendLine(); break; } else - sb.AppendFormat("\tDevice uses unknown file format code {0} and file format group 1", csd.FileFormat). - AppendLine(); + sb.AppendFormat("\t" + Localization.Device_uses_unknown_file_format_code_0_and_file_format_group_1, + csd.FileFormat).AppendLine(); switch(csd.ECC) { case 0: - sb.AppendLine("\tDevice currently uses no ECC"); + sb.AppendLine("\t" + Localization.Device_currently_uses_no_ECC); break; case 1: - sb.AppendLine("\tDevice currently uses BCH(542, 512) ECC by default"); + sb.AppendLine("\t" + Localization.Device_currently_uses_BCH_542_512_ECC); break; case 2: - sb.AppendFormat("\tDevice currently uses unknown ECC code {0}", csd.DefaultECC).AppendLine(); + sb.AppendFormat("\t" + Localization.Device_currently_uses_unknown_ECC_code_0, csd.DefaultECC). + AppendLine(); break; } - sb.AppendFormat("\tCSD CRC: 0x{0:X2}", csd.CRC).AppendLine(); + sb.AppendFormat("\t" + Localization.CSD_CRC_0, csd.CRC).AppendLine(); return sb.ToString(); } diff --git a/MMC/ExtendedCSD.cs b/MMC/ExtendedCSD.cs index 89abb3232..14eb4fd13 100644 --- a/MMC/ExtendedCSD.cs +++ b/MMC/ExtendedCSD.cs @@ -354,55 +354,60 @@ public static partial class Decoders return null; var sb = new StringBuilder(); - sb.AppendLine("MultiMediaCard Extended Device Specific Data Register:"); + sb.AppendLine(Localization.MultiMediaCard_Extended_Device_Specific_Data_Register); double unit; if(csd.ExtendedSecurityCommandsError != 0) - sb.AppendFormat("\tLast extended security error was {0}", csd.ExtendedSecurityCommandsError).AppendLine(); + sb.AppendFormat("\t" + Localization.Last_extended_security_error_was_0, csd.ExtendedSecurityCommandsError). + AppendLine(); if(csd.SupportedCommandSets.HasFlag(DeviceSupportedCommandSets.Standard)) - sb.AppendLine("\tDevice supports standard MMC command set"); + sb.AppendLine("\t" + Localization.Device_supports_standard_MMC_command_set); if(((int)csd.SupportedCommandSets & 0xFE) != 0) - sb.AppendFormat("\tDevice supports unknown command sets 0x{0:X2}", (int)csd.SupportedCommandSets); + sb.AppendFormat("\t" + Localization.Device_supports_unknown_command_sets_0, (int)csd.SupportedCommandSets); if(csd.HPIFeatures.HasFlag(HPIFeatures.Supported)) - sb.AppendLine(csd.HPIFeatures.HasFlag(HPIFeatures.CMD12) ? "\tDevice implements HPI using CMD12" - : "\tDevice implements HPI using CMD13"); + sb.AppendLine(csd.HPIFeatures.HasFlag(HPIFeatures.CMD12) + ? "\t" + Localization.Device_implements_HPI_using_CMD12 + : "\t" + Localization.Device_implements_HPI_using_CMD13); if(csd.BackgroundOperationsSupport.HasFlag(BackgroundOperationsSupport.Supported)) - sb.AppendLine("\tDevice supports background operations"); + sb.AppendLine("\t" + Localization.Device_supports_background_operations); - sb.AppendFormat("\tDevice supports a maximum of {0} packed reads and {1} packed writes", + sb.AppendFormat("\t" + Localization.Device_supports_a_maximum_of_0_packed_reads_and_1_packed_writes, csd.MaxPackedReadCommands, csd.MaxPackedWriteCommands).AppendLine(); if(csd.DataTagSupport.HasFlag(DataTagSupport.Supported)) { - sb.AppendLine("\tDevice supports Data Tag"); - sb.AppendFormat("\tTags must be in units of {0} sectors", Math.Pow(2, csd.TagUnitSize)).AppendLine(); - sb.AppendFormat("\tTag resources size is {0}.", csd.TagResourcesSize).AppendLine(); + sb.AppendLine("\t" + Localization.Device_supports_Data_Tag); + + sb.AppendFormat("\t" + Localization.Tags_must_be_in_units_of_0_sectors, Math.Pow(2, csd.TagUnitSize)). + AppendLine(); + + sb.AppendFormat("\t" + Localization.Tag_resources_size_is_0, csd.TagResourcesSize).AppendLine(); } if(csd.ContextManagementCaps != 0) { - sb.AppendFormat("\tMax context ID is {0}.", csd.ContextManagementCaps & 0xF).AppendLine(); + sb.AppendFormat("\t" + Localization.Max_context_ID_is_0, csd.ContextManagementCaps & 0xF).AppendLine(); - sb.AppendFormat("\tLarge unit maximum multiplier is {0}.", ((csd.ContextManagementCaps & 0x70) >> 4) + 1). - AppendLine(); + sb.AppendFormat("\t" + Localization.Large_unit_maximum_multiplier_is_0, + ((csd.ContextManagementCaps & 0x70) >> 4) + 1).AppendLine(); } - sb.AppendFormat("\tLarge unit size is {0} MiB", csd.LargeUnitSize + 1).AppendLine(); + sb.AppendFormat("\t" + Localization.Large_unit_size_is_0_MiB, csd.LargeUnitSize + 1).AppendLine(); if(csd.ExtendedPartitionsSupport.HasFlag(ExtendedPartitionsSupport.NonPersistent)) - sb.AppendLine("\tDevice supports non-persistent extended partitions"); + sb.AppendLine("\t" + Localization.Device_supports_non_persistent_extended_partitions); if(csd.ExtendedPartitionsSupport.HasFlag(ExtendedPartitionsSupport.SystemCode)) - sb.AppendLine("\tDevice supports system code extended partitions"); + sb.AppendLine("\t" + Localization.Device_supports_system_code_extended_partitions); if(csd.SupportedModes.HasFlag(SupportedModes.FFU)) { - sb.AppendLine("\tDevice supports FFU"); + sb.AppendLine("\t" + Localization.Device_supports_FFU); if(csd.FFUFeatures.HasFlag(FFUFeatures.SupportedModeOperationCodes)) @@ -416,19 +421,19 @@ public static partial class Decoders { case > 1000000: sb. - AppendFormat("\t\tMaximum timeout for switch command when setting a value to the mode operation codes field is {0:D2}s", + AppendFormat("\t" + Localization.Maximum_timeout_for_switch_command_when_setting_a_value_to_the_mode_operation_codes_field_is_0_s, unit / 1000000).AppendLine(); break; case > 1000: sb. - AppendFormat("\tMaximum timeout for switch command when setting a value to the mode operation codes field is {0:D2}ms", + AppendFormat("\t" + Localization.Maximum_timeout_for_switch_command_when_setting_a_value_to_the_mode_operation_codes_field_is_0_ms, unit / 1000).AppendLine(); break; default: sb. - AppendFormat("\tMaximum timeout for switch command when setting a value to the mode operation codes field is {0:D2}µs", + AppendFormat("\t" + Localization.Maximum_timeout_for_switch_command_when_setting_a_value_to_the_mode_operation_codes_field_is_0_µs, unit).AppendLine(); break; @@ -437,62 +442,62 @@ public static partial class Decoders } if(csd.SupportedModes.HasFlag(SupportedModes.VendorSpecific)) - sb.AppendLine("\tDevice supports Vendor Specific Mode"); + sb.AppendLine("\t" + Localization.Device_supports_Vendor_Specific_Mode); if(csd.BarrierSupport == 0x01) - sb.AppendLine("\tDevice supports the barrier command"); + sb.AppendLine("\t" + Localization.Device_supports_the_barrier_command); if(csd.CMDQueuingSupport.HasFlag(CMDQueuingSupport.Supported)) - sb.AppendFormat("\tDevice supports command queuing with a depth of {0}", csd.CMDQueuingDepth + 1). - AppendLine(); + sb.AppendFormat("\t" + Localization.Device_supports_command_queuing_with_a_depth_of_0, + csd.CMDQueuingDepth + 1).AppendLine(); - sb.AppendFormat("\t{0} firmware sectors correctly programmed", csd.NumberOfFWSectorsCorrectlyProgrammed). - AppendLine(); + sb.AppendFormat("\t" + Localization._0_firmware_sectors_correctly_programmed, + csd.NumberOfFWSectorsCorrectlyProgrammed).AppendLine(); switch(csd.DeviceLifeEstimationTypeB) { case 1: - sb.AppendLine("\tDevice used between 0% and 10% of its estimated life time"); + sb.AppendLine("\t" + Localization.Device_used_between_zero_and_10_of_its_estimated_life_time); break; case 2: - sb.AppendLine("\tDevice used between 10% and 20% of its estimated life time"); + sb.AppendLine("\t" + Localization.Device_used_between_10_and_20_of_its_estimated_life_time); break; case 3: - sb.AppendLine("\tDevice used between 20% and 30% of its estimated life time"); + sb.AppendLine("\t" + Localization.Device_used_between_20_and_30_of_its_estimated_life_time); break; case 4: - sb.AppendLine("\tDevice used between 30% and 40% of its estimated life time"); + sb.AppendLine("\t" + Localization.Device_used_between_30_and_40_of_its_estimated_life_time); break; case 5: - sb.AppendLine("\tDevice used between 40% and 50% of its estimated life time"); + sb.AppendLine("\t" + Localization.Device_used_between_40_and_50_of_its_estimated_life_time); break; case 6: - sb.AppendLine("\tDevice used between 50% and 60% of its estimated life time"); + sb.AppendLine("\t" + Localization.Device_used_between_50_and_60_of_its_estimated_life_time); break; case 7: - sb.AppendLine("\tDevice used between 60% and 70% of its estimated life time"); + sb.AppendLine("\t" + Localization.Device_used_between_60_and_70_of_its_estimated_life_time); break; case 8: - sb.AppendLine("\tDevice used between 70% and 80% of its estimated life time"); + sb.AppendLine("\t" + Localization.Device_used_between_70_and_80_of_its_estimated_life_time); break; case 9: - sb.AppendLine("\tDevice used between 80% and 90% of its estimated life time"); + sb.AppendLine("\t" + Localization.Device_used_between_80_and_90_of_its_estimated_life_time); break; case 10: - sb.AppendLine("\tDevice used between 90% and 100% of its estimated life time"); + sb.AppendLine("\t" + Localization.Device_used_between_90_and_100_of_its_estimated_life_time); break; case 11: - sb.AppendLine("\tDevice exceeded its maximum estimated life time"); + sb.AppendLine("\t" + Localization.Device_exceeded_its_maximum_estimated_life_time); break; } @@ -500,47 +505,47 @@ public static partial class Decoders switch(csd.DeviceLifeEstimationTypeA) { case 1: - sb.AppendLine("\tDevice used between 0% and 10% of its estimated life time"); + sb.AppendLine("\t" + Localization.Device_used_between_zero_and_10_of_its_estimated_life_time); break; case 2: - sb.AppendLine("\tDevice used between 10% and 20% of its estimated life time"); + sb.AppendLine("\t" + Localization.Device_used_between_10_and_20_of_its_estimated_life_time); break; case 3: - sb.AppendLine("\tDevice used between 20% and 30% of its estimated life time"); + sb.AppendLine("\t" + Localization.Device_used_between_20_and_30_of_its_estimated_life_time); break; case 4: - sb.AppendLine("\tDevice used between 30% and 40% of its estimated life time"); + sb.AppendLine("\t" + Localization.Device_used_between_30_and_40_of_its_estimated_life_time); break; case 5: - sb.AppendLine("\tDevice used between 40% and 50% of its estimated life time"); + sb.AppendLine("\t" + Localization.Device_used_between_40_and_50_of_its_estimated_life_time); break; case 6: - sb.AppendLine("\tDevice used between 50% and 60% of its estimated life time"); + sb.AppendLine("\t" + Localization.Device_used_between_50_and_60_of_its_estimated_life_time); break; case 7: - sb.AppendLine("\tDevice used between 60% and 70% of its estimated life time"); + sb.AppendLine("\t" + Localization.Device_used_between_60_and_70_of_its_estimated_life_time); break; case 8: - sb.AppendLine("\tDevice used between 70% and 80% of its estimated life time"); + sb.AppendLine("\t" + Localization.Device_used_between_70_and_80_of_its_estimated_life_time); break; case 9: - sb.AppendLine("\tDevice used between 80% and 90% of its estimated life time"); + sb.AppendLine("\t" + Localization.Device_used_between_80_and_90_of_its_estimated_life_time); break; case 10: - sb.AppendLine("\tDevice used between 90% and 100% of its estimated life time"); + sb.AppendLine("\t" + Localization.Device_used_between_90_and_100_of_its_estimated_life_time); break; case 11: - sb.AppendLine("\tDevice exceeded its maximum estimated life time"); + sb.AppendLine("\t" + Localization.Device_exceeded_its_maximum_estimated_life_time); break; } @@ -548,131 +553,135 @@ public static partial class Decoders switch(csd.PreEOLInformation) { case 1: - sb.AppendLine("\tDevice informs it's in good health"); + sb.AppendLine("\t" + Localization.Device_informs_its_in_good_health); break; case 2: - sb.AppendLine("\tDevice informs it should be replaced soon"); + sb.AppendLine("\t" + Localization.Device_informs_it_should_be_replaced_soon); break; case 3: - sb.AppendLine("\tDevice informs it should be replace immediately"); + sb.AppendLine("\t" + Localization.Device_informs_it_should_be_replace_immediately); break; } if(csd.OptimalReadSize == 0) - sb.AppendLine("\tDevice does not report an optimal read size"); + sb.AppendLine("\t" + Localization.Device_does_not_report_an_optimal_read_size); else - sb.AppendFormat("\tOptimal read size is {0} KiB", 4 * csd.OptimalReadSize).AppendLine(); + sb.AppendFormat("\t" + Localization.Optimal_read_size_is_0_KiB, 4 * csd.OptimalReadSize).AppendLine(); if(csd.OptimalWriteSize == 0) - sb.AppendLine("\tDevice does not report an optimal write size"); + sb.AppendLine("\t" + Localization.Device_does_not_report_an_optimal_write_size); else - sb.AppendFormat("\tOptimal write size is {0} KiB", 4 * csd.OptimalWriteSize).AppendLine(); + sb.AppendFormat("\t" + Localization.Optimal_write_size_is_0_KiB, 4 * csd.OptimalWriteSize).AppendLine(); if(csd.OptimalTrimUnitSize == 0) - sb.AppendLine("\tDevice does not report an optimal trim size"); + sb.AppendLine("\t" + Localization.Device_does_not_report_an_optimal_trim_size); else - sb.AppendFormat("\tOptimal trim size is {0} KiB", 4 * Math.Pow(2, csd.OptimalTrimUnitSize - 1)). - AppendLine(); + sb.AppendFormat("\t" + Localization.Optimal_trim_size_is_0_KiB, + 4 * Math.Pow(2, csd.OptimalTrimUnitSize - 1)).AppendLine(); - sb.AppendFormat("\tDevice version: {0}", csd.DeviceVersion).AppendLine(); - sb.AppendFormat("\tFirmware version: {0}", csd.FirmwareVersion).AppendLine(); + sb.AppendFormat("\t" + Localization.Device_version_0, csd.DeviceVersion).AppendLine(); + sb.AppendFormat("\t" + Localization.Firmware_version_0, csd.FirmwareVersion).AppendLine(); if(csd.CacheSize == 0) - sb.AppendLine("\tDevice has no cache"); + sb.AppendLine("\t" + Localization.Device_has_no_cache); else - sb.AppendFormat("\tDevice has {0} KiB of cache", csd.CacheSize / 8).AppendLine(); + sb.AppendFormat("\t" + Localization.Device_has_0_KiB_of_cache, csd.CacheSize / 8).AppendLine(); if(csd.GenericCMD6Timeout > 0) - sb.AppendFormat("\tDevice takes a maximum of {0} ms by default for a SWITCH command", + sb.AppendFormat("\t" + Localization.Device_takes_a_maximum_of_0_ms_by_default_for_a_SWITCH_command, csd.GenericCMD6Timeout * 10).AppendLine(); if(csd.PowerOffNotificationTimeout > 0) sb. - AppendFormat("\tDevice takes a maximum of {0} by default to power off from a SWITCH command notification", + AppendFormat("\t" + Localization.Device_takes_a_maximum_of_0_by_default_to_power_off_from_a_SWITCH_command_notification, csd.PowerOffNotificationTimeout * 10).AppendLine(); switch(csd.BackgroundOperationsStatus & 0x03) { case 0: - sb.AppendLine("\tDevice has no pending background operations"); + sb.AppendLine("\t" + Localization.Device_has_no_pending_background_operations); break; case 1: - sb.AppendLine("\tDevice has non critical operations outstanding"); + sb.AppendLine("\t" + Localization.Device_has_non_critical_operations_outstanding); break; case 2: - sb.AppendLine("\tDevice has performance impacted operations outstanding"); + sb.AppendLine("\t" + Localization.Device_has_performance_impacted_operations_outstanding); break; case 3: - sb.AppendLine("\tDevice has critical operations outstanding"); + sb.AppendLine("\t" + Localization.Device_has_critical_operations_outstanding); break; } - sb.AppendFormat("\tLast WRITE MULTIPLE command correctly programmed {0} sectors", + sb.AppendFormat("\t" + Localization.Last_WRITE_MULTIPLE_command_correctly_programmed_0_sectors, csd.CorrectlyProgrammedSectors).AppendLine(); if(csd.InitializationTimeAfterPartition > 0) - sb.AppendFormat("\tDevice takes a maximum of {0} ms for initialization after partition", + sb.AppendFormat("\t" + Localization.Device_takes_a_maximum_of_0_ms_for_initialization_after_partition, csd.InitializationTimeAfterPartition * 100).AppendLine(); if(csd.CacheFlushingPolicy.HasFlag(CacheFlushingPolicy.FIFO)) - sb.AppendLine("\tDevice uses a FIFO policy for cache flushing"); + sb.AppendLine("\t" + Localization.Device_uses_a_FIFO_policy_for_cache_flushing); if(csd.TRIMMultiplier > 0) - sb.AppendFormat("\tDevice takes a maximum of {0} ms for trimming a single erase group", + sb.AppendFormat("\t" + Localization.Device_takes_a_maximum_of_0_ms_for_trimming_a_single_erase_group, csd.TRIMMultiplier * 300).AppendLine(); if(csd.SecureFeatureSupport.HasFlag(SecureFeatureSupport.Sanitize)) - sb.AppendLine("\tDevice supports the sanitize operation"); + sb.AppendLine("\t" + Localization.Device_supports_the_sanitize_operation); if(csd.SecureFeatureSupport.HasFlag(SecureFeatureSupport.Trim)) - sb.AppendLine("\tDevice supports supports the secure and insecure trim operations"); + sb.AppendLine("\t" + Localization.Device_supports_supports_the_secure_and_insecure_trim_operations); if(csd.SecureFeatureSupport.HasFlag(SecureFeatureSupport.Defective)) - sb.AppendLine("\tDevice supports automatic erase on retired defective blocks"); + sb.AppendLine("\t" + Localization.Device_supports_automatic_erase_on_retired_defective_blocks); if(csd.SecureFeatureSupport.HasFlag(SecureFeatureSupport.Purge)) - sb.AppendLine("\tDevice supports secure purge operations"); + sb.AppendLine("\t" + Localization.Device_supports_secure_purge_operations); if(csd.SecureEraseMultiplier > 0) - sb.AppendFormat("\tDevice takes a maximum of {0} ms for securely erasing a single erase group", - csd.SecureEraseMultiplier * 300).AppendLine(); + sb. + AppendFormat("\t" + Localization.Device_takes_a_maximum_of_0_ms_for_securely_erasing_a_single_erase_group, + csd.SecureEraseMultiplier * 300).AppendLine(); if(csd.SecureTRIMMultiplier > 0) - sb.AppendFormat("\tDevice takes a maximum of {0} ms for securely trimming a single erase group", - csd.SecureTRIMMultiplier * 300).AppendLine(); + sb. + AppendFormat("\t" + Localization.Device_takes_a_maximum_of_0_ms_for_securely_trimming_a_single_erase_group, + csd.SecureTRIMMultiplier * 300).AppendLine(); if(csd.BootInformation.HasFlag(BootInformation.HighSpeed)) - sb.AppendLine("\tDevice supports high speed timing on boot"); + sb.AppendLine("\t" + Localization.Device_supports_high_speed_timing_on_boot); if(csd.BootInformation.HasFlag(BootInformation.DDR)) - sb.AppendLine("\tDevice supports dual data rate on boot"); + sb.AppendLine("\t" + Localization.Device_supports_dual_data_rate_on_boot); if(csd.BootInformation.HasFlag(BootInformation.Alternative)) - sb.AppendLine("\tDevice supports alternative boot method"); + sb.AppendLine("\t" + Localization.Device_supports_alternative_boot_method); if(csd.BootPartitionSize > 0) - sb.AppendFormat("\tDevice has a {0} KiB boot partition", csd.BootPartitionSize * 128).AppendLine(); + sb.AppendFormat("\t" + Localization.Device_has_a_0_KiB_boot_partition, csd.BootPartitionSize * 128). + AppendLine(); if((csd.AccessSize & 0x0F) > 0) - sb.AppendFormat("\tDevice has a page size of {0} KiB", + sb.AppendFormat("\t" + Localization.Device_has_a_page_size_of_0_KiB, 512 * Math.Pow(2, (csd.AccessSize & 0x0F) - 1) / 1024.0).AppendLine(); if(csd.HighCapacityEraseUnitSize > 0) - sb.AppendFormat("\tDevice erase groups are {0} KiB", csd.HighCapacityEraseUnitSize * 512).AppendLine(); + sb.AppendFormat("\t" + Localization.Device_erase_groups_are_0_KiB, csd.HighCapacityEraseUnitSize * 512). + AppendLine(); if(csd.HighCapacityEraseTimeout > 0) - sb.AppendFormat("\tDevice takes a maximum of {0} ms for erasing a single erase group", + sb.AppendFormat("\t" + Localization.Device_takes_a_maximum_of_0_ms_for_erasing_a_single_erase_group, csd.HighCapacityEraseTimeout * 300).AppendLine(); if(csd.HighCapacityWriteProtectGroupSize > 0) - sb.AppendFormat("\tDevice smallest write protect group is made of {0} erase groups", + sb.AppendFormat("\t" + Localization.Device_smallest_write_protect_group_is_made_of_0_erase_groups, csd.HighCapacityWriteProtectGroupSize).AppendLine(); if(csd.SleepCurrentVcc > 0) @@ -680,9 +689,9 @@ public static partial class Decoders unit = Math.Pow(2, csd.SleepCurrentVcc); if(unit > 1000) - sb.AppendFormat("\tDevice uses {0} mA on Vcc when sleeping", unit / 1000).AppendLine(); + sb.AppendFormat("\t" + Localization.Device_uses_0_mA_on_Vcc_when_sleeping, unit / 1000).AppendLine(); else - sb.AppendFormat("\tDevice uses {0} μA on Vcc when sleeping", unit).AppendLine(); + sb.AppendFormat("\t" + Localization.Device_uses_0_μA_on_Vcc_when_sleeping, unit).AppendLine(); } if(csd.SleepCurrentVccQ > 0) @@ -690,9 +699,9 @@ public static partial class Decoders unit = Math.Pow(2, csd.SleepCurrentVccQ); if(unit > 1000) - sb.AppendFormat("\tDevice uses {0} mA on Vccq when sleeping", unit / 1000).AppendLine(); + sb.AppendFormat("\t" + Localization.Device_uses_0_mA_on_Vccq_when_sleeping, unit / 1000).AppendLine(); else - sb.AppendFormat("\tDevice uses {0} μA on Vccq when sleeping", unit).AppendLine(); + sb.AppendFormat("\t" + Localization.Device_uses_0_μA_on_Vccq_when_sleeping, unit).AppendLine(); } if(csd.ProductionStateAwarenessTimeout > 0) @@ -702,18 +711,21 @@ public static partial class Decoders switch(unit) { case > 1000000: - sb.AppendFormat("\tDevice takes a maximum of {0} s to switch production state awareness", - unit / 1000000).AppendLine(); + sb. + AppendFormat("\t" + Localization.Device_takes_a_maximum_of_0_s_to_switch_production_state_awareness, + unit / 1000000).AppendLine(); break; case > 1000: - sb.AppendFormat("\tDevice takes a maximum of {0} ms to switch production state awareness", - unit / 1000).AppendLine(); + sb. + AppendFormat("\t" + Localization.Device_takes_a_maximum_of_0_ms_to_switch_production_state_awareness, + unit / 1000).AppendLine(); break; default: - sb.AppendFormat("\tDevice takes a maximum of {0} μs to switch production state awareness", unit). - AppendLine(); + sb. + AppendFormat("\t" + Localization.Device_takes_a_maximum_of_0_μs_to_switch_production_state_awareness, + unit).AppendLine(); break; } @@ -726,18 +738,21 @@ public static partial class Decoders switch(unit) { case > 1000000: - sb.AppendFormat("\tDevice takes a maximum of {0} ms to transition between sleep and standby states", - unit / 1000000).AppendLine(); + sb. + AppendFormat("\t" + Localization.Device_takes_a_maximum_of_0_ms_to_transition_between_sleep_and_standby_states, + unit / 1000000).AppendLine(); break; case > 1000: - sb.AppendFormat("\tDevice takes a maximum of {0} μs to transition between sleep and standby states", - unit / 1000).AppendLine(); + sb. + AppendFormat("\t" + Localization.Device_takes_a_maximum_of_0_μs_to_transition_between_sleep_and_standby_states, + unit / 1000).AppendLine(); break; default: - sb.AppendFormat("\tDevice takes a maximum of {0} ns to transition between sleep and standby states", - unit).AppendLine(); + sb. + AppendFormat("\t" + Localization.Device_takes_a_maximum_of_0_ns_to_transition_between_sleep_and_standby_states, + unit).AppendLine(); break; } @@ -750,168 +765,170 @@ public static partial class Decoders switch(unit) { case > 1000000: - sb.AppendFormat("\tDevice takes a maximum of {0} s to move to sleep state", unit / 1000000). - AppendLine(); + sb.AppendFormat("\t" + Localization.Device_takes_a_maximum_of_0_s_to_move_to_sleep_state, + unit / 1000000).AppendLine(); break; case > 1000: - sb.AppendFormat("\tDevice takes a maximum of {0} ms to move to sleep state", unit / 1000). - AppendLine(); + sb.AppendFormat("\t" + Localization.Device_takes_a_maximum_of_0_ms_to_move_to_sleep_state, + unit / 1000).AppendLine(); break; default: - sb.AppendFormat("\tDevice takes a maximum of {0} μs to move to sleep state", unit).AppendLine(); + sb.AppendFormat("\t" + Localization.Device_takes_a_maximum_of_0_μs_to_move_to_sleep_state, unit). + AppendLine(); break; } } - sb.AppendFormat("\tDevice has {0} sectors", csd.SectorCount).AppendLine(); + sb.AppendFormat("\t" + Localization.Device_has_0_sectors, csd.SectorCount).AppendLine(); if(csd.SecureWriteProtectInformation.HasFlag(SecureWriteProtectInformation.Supported)) { - sb.AppendLine("\tDevice supports secure write protection"); + sb.AppendLine("\t" + Localization.Device_supports_secure_write_protection); if(csd.SecureWriteProtectInformation.HasFlag(SecureWriteProtectInformation.Enabled)) - sb.AppendLine("\tDevice has secure write protection enabled"); + sb.AppendLine("\t" + Localization.Device_has_secure_write_protection_enabled); } unit = csd.MinimumReadPerformance26 * 300; if(csd.MinimumReadPerformance26 == 0) - sb.AppendLine("\tDevice cannot achieve 2.4MB/s reading in SDR 26Mhz mode"); + sb.AppendLine("\t" + Localization.Device_cannot_achieve_2_4MB_s_reading_in_SDR_26Mhz_mode); else - sb.AppendFormat("\tDevice can achieve a minimum of {0}MB/s reading in SDR 26Mhz mode", unit / 1000). - AppendLine(); + sb.AppendFormat("\t" + Localization.Device_can_achieve_a_minimum_of_0_MB_s_reading_in_SDR_26Mhz_mode, + unit / 1000).AppendLine(); unit = csd.MinimumReadPerformance26_4 * 300; if(csd.MinimumReadPerformance26_4 == 0) - sb.AppendLine("\tDevice cannot achieve 2.4MB/s reading in SDR 26Mhz 4-bit mode"); + sb.AppendLine("\t" + Localization.Device_cannot_achieve_2_4MB_s_reading_in_SDR_26Mhz_4_bit_mode); else - sb.AppendFormat("\tDevice can achieve a minimum of {0}MB/s reading in SDR 26Mhz 4-bit mode", unit / 1000). - AppendLine(); + sb.AppendFormat("\t" + Localization.Device_can_achieve_a_minimum_of_0_MB_s_reading_in_SDR_26Mhz_4_bit_mode, + unit / 1000).AppendLine(); unit = csd.MinimumReadPerformance52 * 300; if(csd.MinimumReadPerformance52 == 0) - sb.AppendLine("\tDevice cannot achieve 2.4MB/s reading in SDR 52Mhz mode"); + sb.AppendLine("\t" + Localization.Device_cannot_achieve_2_4MB_s_reading_in_SDR_52Mhz_mode); else - sb.AppendFormat("\tDevice can achieve a minimum of {0}MB/s reading in SDR 52Mhz mode", unit / 1000). - AppendLine(); + sb.AppendFormat("\t" + Localization.Device_can_achieve_a_minimum_of_0_MB_s_reading_in_SDR_52Mhz_mode, + unit / 1000).AppendLine(); unit = csd.MinimumReadPerformanceDDR52 * 600; if(csd.MinimumReadPerformanceDDR52 == 0) - sb.AppendLine("\tDevice cannot achieve 4.8MB/s reading in DDR 52Mhz mode"); + sb.AppendLine("\t" + Localization.Device_cannot_achieve_4_8MB_s_reading_in_DDR_52Mhz_mode); else - sb.AppendFormat("\tDevice can achieve a minimum of {0}MB/s reading in DDR 52Mhz mode", unit / 1000). - AppendLine(); + sb.AppendFormat("\t" + Localization.Device_can_achieve_a_minimum_of_0_MB_s_reading_in_DDR_52Mhz_mode, + unit / 1000).AppendLine(); unit = csd.MinimumWritePerformance26 * 300; if(csd.MinimumWritePerformance26 == 0) - sb.AppendLine("\tDevice cannot achieve 2.4MB/s writing in SDR 26Mhz mode"); + sb.AppendLine("\t" + Localization.Device_cannot_achieve_2_4MB_s_writing_in_SDR_26Mhz_mode); else - sb.AppendFormat("\tDevice can achieve a minimum of {0}MB/s writing in SDR 26Mhz mode", unit / 1000). - AppendLine(); + sb.AppendFormat("\t" + Localization.Device_can_achieve_a_minimum_of_0_MB_s_writing_in_SDR_26Mhz_mode, + unit / 1000).AppendLine(); unit = csd.MinimumWritePerformance26_4 * 300; if(csd.MinimumWritePerformance26_4 == 0) - sb.AppendLine("\tDevice cannot achieve 2.4MB/s writing in SDR 26Mhz 4-bit mode"); + sb.AppendLine("\t" + Localization.Device_cannot_achieve_2_4MB_s_writing_in_SDR_26Mhz_4_bit_mode); else - sb.AppendFormat("\tDevice can achieve a minimum of {0}MB/s writing in SDR 26Mhz 4-bit mode", unit / 1000). - AppendLine(); + sb.AppendFormat("\t" + Localization.Device_can_achieve_a_minimum_of_0_MB_s_writing_in_SDR_26Mhz_4_bit_mode, + unit / 1000).AppendLine(); unit = csd.MinimumWritePerformance52 * 300; if(csd.MinimumWritePerformance52 == 0) - sb.AppendLine("\tDevice cannot achieve 2.4MB/s writing in SDR 52Mhz mode"); + sb.AppendLine("\t" + Localization.Device_cannot_achieve_2_4MB_s_writing_in_SDR_52Mhz_mode); else - sb.AppendFormat("\tDevice can achieve a minimum of {0}MB/s writing in SDR 52Mhz mode", unit / 1000). - AppendLine(); + sb.AppendFormat("\t" + Localization.Device_can_achieve_a_minimum_of_0_MB_s_writing_in_SDR_52Mhz_mode, + unit / 1000).AppendLine(); unit = csd.MinimumWritePerformanceDDR52 * 600; if(csd.MinimumWritePerformanceDDR52 == 0) - sb.AppendLine("\tDevice cannot achieve 4.8MB/s writing in DDR 52Mhz mode"); + sb.AppendLine("\t" + Localization.Device_cannot_achieve_4_8MB_s_writing_in_DDR_52Mhz_mode); else - sb.AppendFormat("\tDevice can achieve a minimum of {0}MB/s writing in DDR 52Mhz mode", unit / 1000). - AppendLine(); + sb.AppendFormat("\t" + Localization.Device_can_achieve_a_minimum_of_0_MB_s_writing_in_DDR_52Mhz_mode, + unit / 1000).AppendLine(); if(csd.PartitionSwitchingTime > 0) - sb.AppendFormat("\tDevice can take a maximum of {0} ms when switching partitions", + sb.AppendFormat("\t" + Localization.Device_can_take_a_maximum_of_0_ms_when_switching_partitions, csd.PartitionSwitchingTime * 10).AppendLine(); if(csd.OutOfInterruptBusyTiming > 0) - sb.AppendFormat("\tDevice can take a maximum of {0} ms when releasing from an interrupt", + sb.AppendFormat("\t" + Localization.Device_can_take_a_maximum_of_0_ms_when_releasing_from_an_interrupt, csd.OutOfInterruptBusyTiming * 10).AppendLine(); if(csd.DriverStrength.HasFlag(DriverStrength.Type0)) - sb.AppendLine("\tDevice supports I/O driver strength type 0."); + sb.AppendLine("\t" + Localization.Device_supports_IO_driver_strength_type_zero); if(csd.DriverStrength.HasFlag(DriverStrength.Type1)) - sb.AppendLine("\tDevice supports I/O driver strength type 1."); + sb.AppendLine("\t" + Localization.Device_supports_IO_driver_strength_type_one); if(csd.DriverStrength.HasFlag(DriverStrength.Type2)) - sb.AppendLine("\tDevice supports I/O driver strength type 2."); + sb.AppendLine("\t" + Localization.Device_supports_IO_driver_strength_type_two); if(csd.DriverStrength.HasFlag(DriverStrength.Type3)) - sb.AppendLine("\tDevice supports I/O driver strength type 3."); + sb.AppendLine("\t" + Localization.Device_supports_IO_driver_strength_type_three); if(csd.DriverStrength.HasFlag(DriverStrength.Type4)) - sb.AppendLine("\tDevice supports I/O driver strength type 4."); + sb.AppendLine("\t" + Localization.Device_supports_IO_driver_strength_type_four); if(csd.DeviceType.HasFlag(DeviceType.HS_26)) - sb.AppendLine("\tDevice supports 26 Mhz mode"); + sb.AppendLine("\t" + Localization.Device_supports_26_Mhz_mode); if(csd.DeviceType.HasFlag(DeviceType.HS_52)) - sb.AppendLine("\tDevice supports 52 Mhz mode"); + sb.AppendLine("\t" + Localization.Device_supports_52_Mhz_mode); if(csd.DeviceType.HasFlag(DeviceType.HS_DDR_52)) - sb.AppendLine("\tDevice supports DDR 52 Mhz mode at 1.8V or 3V"); + sb.AppendLine("\t" + Localization.Device_supports_DDR_52_Mhz_mode_at_1_8V_or_3V); if(csd.DeviceType.HasFlag(DeviceType.HS_DDR_52_LV)) - sb.AppendLine("\tDevice supports DDR 52 Mhz mode 1.2V"); + sb.AppendLine("\t" + Localization.Device_supports_DDR_52_Mhz_mode_1_2V); if(csd.DeviceType.HasFlag(DeviceType.HS200_18)) - sb.AppendLine("\tDevice supports HS-200 mode (SDR 200Mhz) at 1.8V"); + sb.AppendLine("\t" + Localization.Device_supports_HS_200_mode_SDR_200Mhz_at_1_8V); if(csd.DeviceType.HasFlag(DeviceType.HS200_12)) - sb.AppendLine("\tDevice supports HS-200 mode (SDR 200Mhz) at 1.2V"); + sb.AppendLine("\t" + Localization.Device_supports_HS_200_mode_SDR_200Mhz_at_1_2V); if(csd.DeviceType.HasFlag(DeviceType.HS400_18)) - sb.AppendLine("\tDevice supports HS-400 mode (DDR 200Mhz) at 1.8V"); + sb.AppendLine("\t" + Localization.Device_supports_HS_400_mode_DDR_200Mhz_at_1_8V); if(csd.DeviceType.HasFlag(DeviceType.HS400_12)) - sb.AppendLine("\tDevice supports HS-400 mode (DDR 200Mhz) at 1.2V"); + sb.AppendLine("\t" + Localization.Device_supports_HS_400_mode_DDR_200Mhz_at_1_2V); - sb.AppendFormat("\tCSD version 1.{0} revision 1.{1}", csd.Structure, csd.Revision).AppendLine(); + sb.AppendFormat("\t" + Localization.CSD_version_one_0_revision_one_1, csd.Structure, csd.Revision).AppendLine(); switch(csd.CommandSet) { case 0: - sb.AppendLine("\tDevice follows compatibility MMC command set."); + sb.AppendLine("\t" + Localization.Device_follows_compatibility_MMC_command_set); break; case 1: switch(csd.CommandSetRevision) { case 0: - sb.AppendLine("\tDevice follows standard MMC command set v4.0."); + sb.AppendLine("\t" + Localization.Device_follows_standard_MMC_command_set_v4_0); break; default: - sb.AppendFormat("\tDevice follows standard MMC command set with unknown version code {0}.", - csd.CommandSetRevision).AppendLine(); + sb. + AppendFormat("\t" + Localization.Device_follows_standard_MMC_command_set_with_unknown_version_code_0, + csd.CommandSetRevision).AppendLine(); break; } break; default: - sb.AppendFormat("\tDevice follows unknown MMC command set code {0} with revision code {1}.", + sb.AppendFormat("\t" + Localization.Device_follows_unknown_MMC_command_set_code_0_with_revision_code_1, csd.CommandSet, csd.CommandSetRevision).AppendLine(); break; @@ -921,59 +938,61 @@ public static partial class Decoders { case 0: break; case 1: - sb.AppendLine("\tDevice is in High Speed mode."); + sb.AppendLine("\t" + Localization.Device_is_in_High_Speed_mode); break; case 2: - sb.AppendLine("\tDevice is in HS-200 mode."); + sb.AppendLine("\t" + Localization.Device_is_in_HS200_mode); break; case 3: - sb.AppendLine("\tDevice is in HS-400 mode."); + sb.AppendLine("\t" + Localization.Device_is_in_HS400_mode); break; default: - sb.AppendFormat("\tDevice has unknown timing mode {0}.", csd.HighSpeedInterfaceTiming & 0x0F). - AppendLine(); + sb.AppendFormat("\t" + Localization.Device_has_unknown_timing_mode_0, + csd.HighSpeedInterfaceTiming & 0x0F).AppendLine(); break; } - sb.AppendFormat("\tSelected driver strength is type {0}.", (csd.HighSpeedInterfaceTiming & 0xF0) >> 4). - AppendLine(); + sb.AppendFormat("\t" + Localization.Selected_driver_strength_is_type_0, + (csd.HighSpeedInterfaceTiming & 0xF0) >> 4).AppendLine(); if((csd.StrobeSupport & 0x01) == 0x01) { - sb.AppendLine("\tDevice supports enhanced strobe mode"); + sb.AppendLine("\t" + Localization.Device_supports_enhanced_strobe_mode); - sb.AppendLine((csd.BusWidth & 0x80) == 0x80 ? "\tDevice uses strobe during Data Out, CRC and CMD responses" - : "\tDevice uses strobe during Data Out and CRC responses"); + sb.AppendLine((csd.BusWidth & 0x80) == 0x80 + ? "\t" + Localization.Device_uses_strobe_during_Data_Out_CRC_and_CMD_responses + : "\t" + Localization.Device_uses_strobe_during_Data_Out_and_CRC_responses); } switch(csd.BusWidth & 0x0F) { case 0: - sb.AppendLine("\tDevice is using 1-bit data bus"); + sb.AppendLine("\t" + Localization.Device_is_using_1bit_data_bus); break; case 1: - sb.AppendLine("\tDevice is using 4-bit data bus"); + sb.AppendLine("\t" + Localization.Device_is_using_4bit_data_bus); break; case 2: - sb.AppendLine("\tDevice is using 8-bit data bus"); + sb.AppendLine("\t" + Localization.Device_is_using_8bit_data_bus); break; case 5: - sb.AppendLine("\tDevice is using 4-bit DDR data bus"); + sb.AppendLine("\t" + Localization.Device_is_using_4bit_DDR_data_bus); break; case 6: - sb.AppendLine("\tDevice is using 8-bit DDR data bus"); + sb.AppendLine("\t" + Localization.Device_is_using_8bit_DDR_data_bus); break; default: - sb.AppendFormat("\tDevice is using unknown data bus code {0}", csd.BusWidth & 0x0F).AppendLine(); + sb.AppendFormat("\t" + Localization.Device_is_using_unknown_data_bus_code_0, csd.BusWidth & 0x0F). + AppendLine(); break; } @@ -982,39 +1001,41 @@ public static partial class Decoders { case 0: case 1: - sb.AppendFormat("\tErased memory range shall be '{0}'.", csd.ErasedMemoryContent).AppendLine(); + sb.AppendFormat("\t" + Localization.Erased_memory_range_shall_be_0, csd.ErasedMemoryContent). + AppendLine(); break; default: - sb.AppendFormat("\tUnknown erased memory content code {0}", csd.ErasedMemoryContent).AppendLine(); + sb.AppendFormat("\t" + Localization.Unknown_erased_memory_content_code_0, csd.ErasedMemoryContent). + AppendLine(); break; } if((csd.PartitionConfiguration & 0x40) == 0x40) - sb.AppendLine("\tDevice sends boot acknowledge"); + sb.AppendLine("\t" + Localization.Device_sends_boot_acknowledge); switch((csd.PartitionConfiguration & 0x38) >> 3) { case 0: - sb.AppendLine("\tDevice is not boot enabled"); + sb.AppendLine("\t" + Localization.Device_is_not_boot_enabled); break; case 1: - sb.AppendLine("\tDevice boot partition 1 is enabled"); + sb.AppendLine("\t" + Localization.Device_boot_partition_one_is_enabled); break; case 2: - sb.AppendLine("\tDevice boot partition 2 is enabled"); + sb.AppendLine("\t" + Localization.Device_boot_partition_two_is_enabled); break; case 7: - sb.AppendLine("\tDevice user area is enable for boot"); + sb.AppendLine("\t" + Localization.Device_user_area_is_enable_for_boot); break; default: - sb.AppendFormat("\tUnknown enabled boot partition code {0}", (csd.PartitionConfiguration & 0x38) >> 3). - AppendLine(); + sb.AppendFormat("\t" + Localization.Unknown_enabled_boot_partition_code_0, + (csd.PartitionConfiguration & 0x38) >> 3).AppendLine(); break; } @@ -1022,91 +1043,97 @@ public static partial class Decoders switch(csd.PartitionConfiguration & 0x07) { case 0: - sb.AppendLine("\tThere is no access to boot partition"); + sb.AppendLine("\t" + Localization.There_is_no_access_to_boot_partition); break; case 1: - sb.AppendLine("\tThere is read/write access to boot partition 1"); + sb.AppendLine("\t" + Localization.There_is_read_write_access_to_boot_partition_one); break; case 2: - sb.AppendLine("\tThere is read/write access to boot partition 2"); + sb.AppendLine("\t" + Localization.There_is_read_write_access_to_boot_partition_two); break; case 3: - sb.AppendLine("\tThere is read/write access to replay protected memory block"); + sb.AppendLine("\t" + Localization.There_is_read_write_access_to_replay_protected_memory_block); break; default: - sb.AppendFormat("\tThere is access to general purpose partition {0}", + sb.AppendFormat("\t" + Localization.There_is_access_to_general_purpose_partition_0, (csd.PartitionConfiguration & 0x07) - 3).AppendLine(); break; } if(csd.BootConfigProtection.HasFlag(BootConfigProtection.Permanent)) - sb.AppendLine("\tChange of the boot configuration register bits is permanently disabled."); + sb.AppendLine("\t" + Localization.Change_of_the_boot_configuration_register_bits_is_permanently_disabled); else if(csd.BootConfigProtection.HasFlag(BootConfigProtection.PowerCycle)) - sb.AppendLine("\tChange of the boot configuration register bits is disabled until the next power cycle."); + sb.AppendLine("\t" + Localization. + Change_of_the_boot_configuration_register_bits_is_disabled_until_the_next_power_cycle); switch(csd.BootBusConditions & 0x03) { case 0: - sb.AppendLine("\tDevice will boot up in x1 SDR or x4 DDR bus width."); + sb.AppendLine("\t" + Localization.Device_will_boot_up_in_x1_SDR_or_x4_DDR_bus_width); break; case 1: - sb.AppendLine("\tDevice will boot up in x4 SDR or DDR bus width."); + sb.AppendLine("\t" + Localization.Device_will_boot_up_in_x4_SDR_or_DDR_bus_width); break; case 2: - sb.AppendLine("\tDevice will boot up in x8 SDR or DDR bus width."); + sb.AppendLine("\t" + Localization.Device_will_boot_up_in_x8_SDR_or_DDR_bus_width); break; case 3: - sb.AppendLine("\tUnknown boot condition for bus width with code 3."); + sb.AppendLine("\t" + Localization.Unknown_boot_condition_for_bus_width_with_code_three); break; } - sb.AppendLine((csd.BootBusConditions & 4) == 4 ? "\tDevice will retain boot conditions after boot operation." - : "\tDevice will reset boot conditions to compatibility mode after boot operation."); + sb.AppendLine((csd.BootBusConditions & 4) == 4 + ? "\t" + Localization.Device_will_retain_boot_conditions_after_boot_operation + : "\t" + Localization. + Device_will_reset_boot_conditions_to_compatibility_mode_after_boot_operation); switch((csd.BootBusConditions & 0x24) >> 3) { case 0: - sb.AppendLine("\tDevice will use single data rate with compatible timings in boot operation."); + sb.AppendLine("\t" + Localization. + Device_will_use_single_data_rate_with_compatible_timings_in_boot_operation); break; case 1: - sb.AppendLine("\tDevice will use single data rate with high speed timings in boot operation."); + sb.AppendLine("\t" + Localization. + Device_will_use_single_data_rate_with_high_speed_timings_in_boot_operation); break; case 2: - sb.AppendLine("\tDevice will use dual data rate in boot operation."); + sb.AppendLine("\t" + Localization.Device_will_use_dual_data_rate_in_boot_operation); break; case 3: - sb.AppendLine("\tDevice will use unknown boot mode with code 3."); + sb.AppendLine("\t" + Localization.Device_will_use_unknown_boot_mode_with_code_three); break; } if(csd.HighCapacityEraseGroupDefinition.HasFlag(HighCapacityEraseGroupDefinition.Enabled)) - sb.AppendLine("\tDevice will use high capacity erase unit size, timeout and write protect group size definitions."); + sb.AppendLine("\t" + Localization. + Device_will_use_high_capacity_erase_unit_size__timeout_and_write_protect_group_size_definitions); switch(csd.BootWriteProtectionStatus & 0x03) { case 0: - sb.AppendLine("\tBoot area 1 is not protected"); + sb.AppendLine("\t" + Localization.Boot_area_one_is_not_protected); break; case 1: - sb.AppendLine("\tBoot area 1 is power on protected"); + sb.AppendLine("\t" + Localization.Boot_area_one_is_power_on_protected); break; case 2: - sb.AppendLine("\tBoot area 1 is permanently protected"); + sb.AppendLine("\t" + Localization.Boot_area_one_is_permanently_protected); break; } @@ -1114,15 +1141,15 @@ public static partial class Decoders switch((csd.BootWriteProtectionStatus & 0x0C) >> 2) { case 0: - sb.AppendLine("\tBoot area 2 is not protected"); + sb.AppendLine("\t" + Localization.Boot_area_two_is_not_protected); break; case 1: - sb.AppendLine("\tBoot area 2 is power on protected"); + sb.AppendLine("\t" + Localization.Boot_area_two_is_power_on_protected); break; case 2: - sb.AppendLine("\tBoot area 2 is permanently protected"); + sb.AppendLine("\t" + Localization.Boot_area_two_is_permanently_protected); break; } @@ -1132,74 +1159,76 @@ public static partial class Decoders if(csd.BootAreaWriteProtectionRegister.HasFlag(BootAreaWriteProtectionRegister.Selected)) sb.AppendLine(csd.BootAreaWriteProtectionRegister.HasFlag(BootAreaWriteProtectionRegister. PermanentArea2) - ? "\tBoot area 2 is permanently write protected." - : "\tBoot area 1 is permanently write protected."); + ? "\t" + Localization.Boot_area_two_is_permanently_write_protected + : "\t" + Localization.Boot_area_one_is_permanently_write_protected); else - sb.AppendLine("\tBoth boot areas are permanently write protected."); + sb.AppendLine("\t" + Localization.Both_boot_areas_are_permanently_write_protected); } else if(csd.BootAreaWriteProtectionRegister.HasFlag(BootAreaWriteProtectionRegister.PowerOn)) { if(csd.BootAreaWriteProtectionRegister.HasFlag(BootAreaWriteProtectionRegister.Selected)) sb.AppendLine(csd.BootAreaWriteProtectionRegister.HasFlag(BootAreaWriteProtectionRegister.PowerOnArea2) - ? "\tBoot area 2 is write protected until next power cycle." - : "\tBoot area 1 is write protected until next power cycle."); + ? "\t" + Localization.Boot_area_two_is_write_protected_until_next_power_cycle + : "\t" + Localization.Boot_area_one_is_write_protected_until_next_power_cycle); else - sb.AppendLine("\tBoth boot areas are write protected until next power cycle."); + sb.AppendLine("\t" + Localization.Both_boot_areas_are_write_protected_until_next_power_cycle); } if(csd.BootAreaWriteProtectionRegister.HasFlag(BootAreaWriteProtectionRegister.PermanentDisable)) - sb.AppendLine("\tPermanent write protection of boot areas is disabled."); + sb.AppendLine("\t" + Localization.Permanent_write_protection_of_boot_areas_is_disabled); if(csd.BootAreaWriteProtectionRegister.HasFlag(BootAreaWriteProtectionRegister.PowerOnDisable)) - sb.AppendLine("\tPower cycled write protection of boot areas is disabled."); + sb.AppendLine("\t" + Localization.Power_cycled_write_protection_of_boot_areas_is_disabled); if(csd.UserAreaWriteProtectionRegister.HasFlag(UserAreaWriteProtectionRegister.DisablePassword)) - sb.AppendLine("\tUse of password protection features is permanently disabled."); + sb.AppendLine("\t" + Localization.Use_of_password_protection_features_is_permanently_disabled); if(csd.UserAreaWriteProtectionRegister.HasFlag(UserAreaWriteProtectionRegister.DisableWriteProtect)) - sb.AppendLine("\tUse of permanent write protection is disabled."); + sb.AppendLine("\t" + Localization.Use_of_permanent_write_protection_is_disabled); if(csd.UserAreaWriteProtectionRegister.HasFlag(UserAreaWriteProtectionRegister.DisablePermanent)) - sb.AppendLine("\tPermanent write protection is disabled."); + sb.AppendLine("\t" + Localization.Permanent_write_protection_is_disabled); if(csd.UserAreaWriteProtectionRegister.HasFlag(UserAreaWriteProtectionRegister.DisablePowerOn)) - sb.AppendLine("\tPower cycled write protection is disabled."); + sb.AppendLine("\t" + Localization.Power_cycled_write_protection_is_disabled); if(csd.UserAreaWriteProtectionRegister.HasFlag(UserAreaWriteProtectionRegister.ApplyPermanent)) - sb.AppendLine("\tPermanent write protection will be applied to selected group."); + sb.AppendLine("\t" + Localization.Permanent_write_protection_will_be_applied_to_selected_group); if(csd.UserAreaWriteProtectionRegister.HasFlag(UserAreaWriteProtectionRegister.ApplyPowerOn)) - sb.AppendLine("\tPower cycled write protection will be applied to selected group."); + sb.AppendLine("\t" + Localization.Power_cycled_write_protection_will_be_applied_to_selected_group); if((csd.FirmwareConfiguration & 0x01) == 0x01) - sb.AppendLine("\tFirmware updates are permanently disabled"); + sb.AppendLine("\t" + Localization.Firmware_updates_are_permanently_disabled); if(csd.RPMBSize > 0) - sb.AppendFormat("\tDevice has a {0} KiB replay protected memory block", csd.RPMBSize * 128).AppendLine(); + sb.AppendFormat("\t" + Localization.Device_has_a_0_KiB_replay_protected_memory_block, csd.RPMBSize * 128). + AppendLine(); if(csd.PartitioningSupport.HasFlag(PartitioningSupport.Supported)) { - sb.AppendLine("\tDevice supports partitioning features"); + sb.AppendLine("\t" + Localization.Device_supports_partitioning_features); if(csd.PartitioningSupport.HasFlag(PartitioningSupport.Enhanced)) - sb.AppendLine("\tDevice can have enhanced technological features in partitions and user data area"); + sb.AppendLine("\t" + Localization. + Device_can_have_enhanced_technological_features_in_partitions_and_user_data_area); if(csd.PartitioningSupport.HasFlag(PartitioningSupport.Extended)) - sb.AppendLine("\tDevice can have extended partitions attribute."); + sb.AppendLine("\t" + Localization.Device_can_have_extended_partitions_attribute); } switch(csd.NativeSectorSize) { case 0: - sb.AppendLine("\tDevice natively uses 512 byte sectors"); + sb.AppendLine("\t" + Localization.Device_natively_uses_512_byte_sectors); break; case 1: - sb.AppendLine("\tDevice natively uses 4096 byte sectors"); + sb.AppendLine("\t" + Localization.Device_natively_uses_4096_byte_sectors); break; default: - sb.AppendFormat("\tDevice natively uses unknown sector size indicated by code {0}", + sb.AppendFormat("\t" + Localization.Device_natively_uses_unknown_sector_size_indicated_by_code_0, csd.NativeSectorSize).AppendLine(); break; @@ -1208,16 +1237,16 @@ public static partial class Decoders switch(csd.SectorSizeEmulation) { case 0: - sb.AppendLine("\tDevice is emulating 512 byte sectors"); + sb.AppendLine("\t" + Localization.Device_is_emulating_512_byte_sectors); break; case 1: - sb.AppendLine("\tDevice is using natively sized sectors"); + sb.AppendLine("\t" + Localization.Device_is_using_natively_sized_sectors); break; default: - sb.AppendFormat("\tDevice emulates unknown sector size indicated by code {0}", csd.NativeSectorSize). - AppendLine(); + sb.AppendFormat("\t" + Localization.Device_emulates_unknown_sector_size_indicated_by_code_0, + csd.NativeSectorSize).AppendLine(); break; } @@ -1225,25 +1254,25 @@ public static partial class Decoders switch(csd.SectorSize) { case 0: - sb.AppendLine("\tDevice currently addresses 512 byte sectors"); + sb.AppendLine("\t" + Localization.Device_currently_addresses_512_byte_sectors); break; case 1: - sb.AppendLine("\tDevice currently addresses 4096 byte sectors"); + sb.AppendLine("\t" + Localization.Device_currently_addresses_4096_byte_sectors); break; default: - sb.AppendFormat("\tDevice currently addresses unknown sector size indicated by code {0}", + sb.AppendFormat("\t" + Localization.Device_currently_addresses_unknown_sector_size_indicated_by_code_0, csd.NativeSectorSize).AppendLine(); break; } if((csd.CacheControl & 0x01) == 0x01) - sb.AppendLine("\tDevice's cache is enabled"); + sb.AppendLine("\t" + Localization.Devices_cache_is_enabled); if((csd.CommandQueueModeEnable & 0x01) == 0x01) - sb.AppendLine("\tDevice has enabled command queuing"); + sb.AppendLine("\t" + Localization.Device_has_enabled_command_queuing); return sb.ToString(); } diff --git a/MMC/OCR.cs b/MMC/OCR.cs index 3bcb77357..fd0a47d10 100644 --- a/MMC/OCR.cs +++ b/MMC/OCR.cs @@ -103,74 +103,74 @@ public static partial class Decoders return null; var sb = new StringBuilder(); - sb.AppendLine("MultiMediaCard Operation Conditions Register:"); + sb.AppendLine(Localization.MultiMediaCard_Operation_Conditions_Register); if(!ocr.PowerUp) - sb.AppendLine("\tDevice is powering up"); + sb.AppendLine("\t" + Localization.Device_is_powering_up); switch(ocr.AccessMode) { case 0: - sb.AppendLine("\tDevice is byte addressed"); + sb.AppendLine("\t" + Localization.Device_is_byte_addressed); break; case 2: - sb.AppendLine("\tDevice is sector addressed"); + sb.AppendLine("\t" + Localization.Device_is_sector_addressed); break; default: - sb.AppendFormat("\tUnknown device access mode {0}", ocr.AccessMode).AppendLine(); + sb.AppendFormat("\t" + Localization.Unknown_device_access_mode_0, ocr.AccessMode).AppendLine(); break; } if(ocr.ThreeFive) - sb.AppendLine("\tDevice can work with supply 3.5~3.6V"); + sb.AppendLine("\t" + Localization.Device_can_work_with_supply_3_5_3_6V); if(ocr.ThreeFour) - sb.AppendLine("\tDevice can work with supply 3.4~3.5V"); + sb.AppendLine("\t" + Localization.Device_can_work_with_supply_3_4_3_5V); if(ocr.ThreeThree) - sb.AppendLine("\tDevice can work with supply 3.3~3.4V"); + sb.AppendLine("\t" + Localization.Device_can_work_with_supply_3_3_3_4V); if(ocr.ThreeTwo) - sb.AppendLine("\tDevice can work with supply 3.2~3.3V"); + sb.AppendLine("\t" + Localization.Device_can_work_with_supply_3_2_3_3V); if(ocr.ThreeOne) - sb.AppendLine("\tDevice can work with supply 3.1~3.2V"); + sb.AppendLine("\t" + Localization.Device_can_work_with_supply_3_1_3_2V); if(ocr.TwoNine) - sb.AppendLine("\tDevice can work with supply 2.9~3.0V"); + sb.AppendLine("\t" + Localization.Device_can_work_with_supply_2_9_3_0V); if(ocr.TwoEight) - sb.AppendLine("\tDevice can work with supply 2.8~2.9V"); + sb.AppendLine("\t" + Localization.Device_can_work_with_supply_2_8_2_9V); if(ocr.TwoSeven) - sb.AppendLine("\tDevice can work with supply 2.7~2.8V"); + sb.AppendLine("\t" + Localization.Device_can_work_with_supply_2_7_2_8V); if(ocr.TwoSix) - sb.AppendLine("\tDevice can work with supply 2.6~2.7V"); + sb.AppendLine("\t" + Localization.Device_can_work_with_supply_2_6_2_7V); if(ocr.TwoFive) - sb.AppendLine("\tDevice can work with supply 2.5~2.6V"); + sb.AppendLine("\t" + Localization.Device_can_work_with_supply_2_5_2_6V); if(ocr.TwoFour) - sb.AppendLine("\tDevice can work with supply 2.4~2.5V"); + sb.AppendLine("\t" + Localization.Device_can_work_with_supply_2_4_2_5V); if(ocr.TwoThree) - sb.AppendLine("\tDevice can work with supply 2.3~2.4V"); + sb.AppendLine("\t" + Localization.Device_can_work_with_supply_2_3_2_4V); if(ocr.TwoTwo) - sb.AppendLine("\tDevice can work with supply 2.2~2.3V"); + sb.AppendLine("\t" + Localization.Device_can_work_with_supply_2_2_2_3V); if(ocr.TwoOne) - sb.AppendLine("\tDevice can work with supply 2.1~2.2V"); + sb.AppendLine("\t" + Localization.Device_can_work_with_supply_2_1_2_2V); if(ocr.TwoZero) - sb.AppendLine("\tDevice can work with supply 2.0~2.1V"); + sb.AppendLine("\t" + Localization.Device_can_work_with_supply_2_0_2_1V); if(ocr.OneSix) - sb.AppendLine("\tDevice can work with supply 1.65~1.95V"); + sb.AppendLine("\t" + Localization.Device_can_work_with_supply_1_65_1_95V); return sb.ToString(); } diff --git a/MMC/VendorString.cs b/MMC/VendorString.cs index 68b4faa9f..a213c3716 100644 --- a/MMC/VendorString.cs +++ b/MMC/VendorString.cs @@ -46,6 +46,6 @@ public static class VendorString 0x07 => "Nokia", 0x15 => "Samsung", 0x2C => "extreMEmory", - _ => $"Unknown manufacturer ID 0x{mmcVendorId:X2}" + _ => string.Format(Localization.Unknown_manufacturer_ID_0, mmcVendorId) }; } \ No newline at end of file diff --git a/PCMCIA/CIS.cs b/PCMCIA/CIS.cs index dadbcaef5..305e92004 100644 --- a/PCMCIA/CIS.cs +++ b/PCMCIA/CIS.cs @@ -129,23 +129,25 @@ public static class CIS return null; var sb = new StringBuilder(); - sb.AppendLine("PCMCIA Device Geometry Tuples:"); + sb.AppendLine(Localization.PCMCIA_Device_Geometry_Tuples); foreach(DeviceGeometry geometry in tuple.Geometries) { - sb.AppendLine("\tGeometry:"); - sb.AppendFormat("\t\tDevice width: {0} bits", (1 << (geometry.CardInterface - 1)) * 8).AppendLine(); + sb.AppendLine("\t" + Localization.Geometry); - sb.AppendFormat("\t\tErase block = {0} bytes", + sb.AppendFormat("\t\t" + Localization.Device_width_0_bits, (1 << (geometry.CardInterface - 1)) * 8). + AppendLine(); + + sb.AppendFormat("\t\t" + Localization.Erase_block_0_bytes, (1 << (geometry.EraseBlockSize - 1)) * (1 << (geometry.Interleaving - 1))).AppendLine(); - sb.AppendFormat("\t\tRead block = {0} bytes", + sb.AppendFormat("\t\t" + Localization.Read_block_0_bytes, (1 << (geometry.ReadBlockSize - 1)) * (1 << (geometry.Interleaving - 1))).AppendLine(); - sb.AppendFormat("\t\tWrite block = {0} bytes", + sb.AppendFormat("\t\t" + Localization.Write_block_0_bytes, (1 << (geometry.WriteBlockSize - 1)) * (1 << (geometry.Interleaving - 1))).AppendLine(); - sb.AppendFormat("\t\tPartition alignment = {0} bytes", + sb.AppendFormat("\t\t" + Localization.Partition_alignment_0_bytes, (1 << (geometry.EraseBlockSize - 1)) * (1 << (geometry.Interleaving - 1)) * (1 << (geometry.Partitions - 1))).AppendLine(); } @@ -190,9 +192,9 @@ public static class CIS return null; var sb = new StringBuilder(); - sb.AppendLine("PCMCIA Manufacturer Identification Tuple:"); - sb.AppendFormat("\tManufacturer ID: {0}", VendorCode.Prettify(tuple.ManufacturerID)).AppendLine(); - sb.AppendFormat("\tCard ID:D 0x{0:X4}", tuple.CardID).AppendLine(); + sb.AppendLine(Localization.Manufacturer_Identification_Tuple); + sb.AppendFormat("\t" + Localization.Manufacturer_ID_0, VendorCode.Prettify(tuple.ManufacturerID)).AppendLine(); + sb.AppendFormat("\t" + Localization.Card_ID_0, tuple.CardID).AppendLine(); return sb.ToString(); } @@ -280,27 +282,27 @@ public static class CIS return null; var sb = new StringBuilder(); - sb.AppendLine("PCMCIA Level 1 Version / Product Information Tuple:"); + sb.AppendLine(Localization.PCMCIA_Level_1_Version_Product_Information_Tuple); - sb.AppendFormat("\tCard indicates compliance with PC Card Standard Release {0}.{1}", tuple.MajorVersion, - tuple.MinorVersion).AppendLine(); + sb.AppendFormat("\t" + Localization.Card_indicates_compliance_with_PC_Card_Standard_Release_0_1, + tuple.MajorVersion, tuple.MinorVersion).AppendLine(); if(string.IsNullOrEmpty(tuple.Manufacturer)) - sb.AppendLine("\tNo manufacturer information string."); + sb.AppendLine("\t" + Localization.No_manufacturer_information_string); else - sb.AppendFormat("\tManufacturer: {0}", tuple.Manufacturer).AppendLine(); + sb.AppendFormat(Localization.Manufacturer_0, tuple.Manufacturer).AppendLine(); if(string.IsNullOrEmpty(tuple.Product)) - sb.AppendLine("\tNo product name string."); + sb.AppendLine("\t" + Localization.No_product_name_string); else - sb.AppendFormat("\tProduct name: {0}", tuple.Product).AppendLine(); + sb.AppendFormat(Localization.Product_name_0, tuple.Product).AppendLine(); if(tuple.AdditionalInformation == null || tuple.AdditionalInformation.Length == 0) - sb.AppendLine("\tNo additional information."); + sb.AppendLine("\t" + Localization.No_additional_information); else { - sb.AppendLine("\tAdditional information:"); + sb.AppendLine("\t" + Localization.Additional_information); foreach(string info in tuple.AdditionalInformation.Where(info => !string.IsNullOrEmpty(info))) sb.AppendFormat("\t\t{0}", info).AppendLine(); diff --git a/PCMCIA/VendorCode.cs b/PCMCIA/VendorCode.cs index 150667e7a..a9422d050 100644 --- a/PCMCIA/VendorCode.cs +++ b/PCMCIA/VendorCode.cs @@ -357,7 +357,7 @@ public static class VendorCode case 0xC020: return "NextCom K.K."; case 0xC250: return "EMTAC Technology Corporation"; case 0xD601: return "Elsa"; - default: return $"Unknown vendor id 0x{id:X4}"; + default: return string.Format(Localization.Unknown_vendor_id_0, id); } } } \ No newline at end of file diff --git a/SCSI/EVPD.cs b/SCSI/EVPD.cs index 5b298b615..e7483caff 100644 --- a/SCSI/EVPD.cs +++ b/SCSI/EVPD.cs @@ -272,22 +272,25 @@ public static class EVPD Page_81 page = modePage.Value; var sb = new StringBuilder(); - sb.AppendLine("SCSI Implemented operating definitions:"); + sb.AppendLine(Localization.SCSI_Implemented_operating_definitions); - sb.AppendFormat("\tDefault operating definition: {0}", DefinitionToString(page.Current)).AppendLine(); - sb.AppendFormat("\tCurrent operating definition: {0}", DefinitionToString(page.Current)).AppendLine(); + sb.AppendFormat("\t" + Localization.Default_operating_definition_0, DefinitionToString(page.Current)). + AppendLine(); + + sb.AppendFormat("\t" + Localization.Current_operating_definition_0, DefinitionToString(page.Current)). + AppendLine(); if(page.Supported.Length == 0) { - sb.AppendLine("\tThere are no supported definitions"); + sb.AppendLine("\t" + Localization.There_are_no_supported_definitions); return sb.ToString(); } - sb.AppendLine("\tSupported operating definitions:"); + sb.AppendLine("\t" + Localization.Supported_operating_definitions); foreach(ScsiDefinitions definition in page.Supported) - sb.AppendFormat("\t\t{0}", DefinitionToString(definition)).AppendLine(); + sb.AppendFormat("\t" + "\t{0}", DefinitionToString(definition)).AppendLine(); return sb.ToString(); } @@ -439,11 +442,11 @@ public static class EVPD Page_83 page = modePage.Value; var sb = new StringBuilder(); - sb.AppendLine("SCSI Device identification:"); + sb.AppendLine(Localization.SCSI_Device_identification); if(page.Descriptors.Length == 0) { - sb.AppendLine("\tThere are no identifiers"); + sb.AppendLine("\t" + Localization.There_are_no_identifiers); return sb.ToString(); } @@ -453,20 +456,21 @@ public static class EVPD switch(descriptor.Association) { case IdentificationAssociation.LogicalUnit: - sb.AppendLine("\tIdentifier belongs to addressed logical unit"); + sb.AppendLine("\t" + Localization.Identifier_belongs_to_addressed_logical_unit); break; case IdentificationAssociation.TargetPort: - sb.AppendLine("\tIdentifier belongs to target port"); + sb.AppendLine("\t" + Localization.Identifier_belongs_to_target_port); break; case IdentificationAssociation.TargetDevice: - sb.AppendLine("\tIdentifier belongs to target device that contains the addressed logical unit"); + sb.AppendLine("\t" + Localization. + Identifier_belongs_to_target_device_that_contains_the_addressed_logical_unit); break; default: - sb.AppendFormat("\tIdentifier has unknown association with code {0}", (byte)descriptor.Association). - AppendLine(); + sb.AppendFormat("\t" + Localization.Identifier_has_unknown_association_with_code__0_, + (byte)descriptor.Association).AppendLine(); break; } @@ -475,23 +479,23 @@ public static class EVPD { string protocol = descriptor.ProtocolIdentifier switch { - ProtocolIdentifiers.ADT => "Automation/Drive Interface Transport", - ProtocolIdentifiers.ATA => "AT Attachment Interface (ATA/ATAPI)", - ProtocolIdentifiers.FibreChannel => "Fibre Channel", - ProtocolIdentifiers.Firewire => "IEEE 1394", - ProtocolIdentifiers.iSCSI => "Internet SCSI", - ProtocolIdentifiers.NoProtocol => "no specific", - ProtocolIdentifiers.PCIe => "PCI Express", - ProtocolIdentifiers.RDMAP => "SCSI Remote Direct Memory Access", - ProtocolIdentifiers.SAS => "Serial Attachment SCSI", - ProtocolIdentifiers.SCSI => "Parallel SCSI", - ProtocolIdentifiers.SCSIe => "SCSI over PCI Express", - ProtocolIdentifiers.SSA => "SSA", - ProtocolIdentifiers.UAS => "USB Attached SCSI", - _ => $"unknown code {(byte)descriptor.ProtocolIdentifier}" + ProtocolIdentifiers.ADT => Localization.Automation_Drive_Interface_Transport, + ProtocolIdentifiers.ATA => Localization.AT_Attachment_Interface__ATA_ATAPI_, + ProtocolIdentifiers.FibreChannel => Localization.Fibre_Channel, + ProtocolIdentifiers.Firewire => Localization.IEEE_1394, + ProtocolIdentifiers.iSCSI => Localization.Internet_SCSI, + ProtocolIdentifiers.NoProtocol => Localization.no_specific_protocol, + ProtocolIdentifiers.PCIe => Localization.PCI_Express, + ProtocolIdentifiers.RDMAP => Localization.SCSI_Remote_Direct_Memory_Access, + ProtocolIdentifiers.SAS => Localization.Serial_Attachment_SCSI, + ProtocolIdentifiers.SCSI => Localization.Parallel_SCSI, + ProtocolIdentifiers.SCSIe => Localization.SCSI_over_PCI_Express, + ProtocolIdentifiers.SSA => Localization.SSA, + ProtocolIdentifiers.UAS => Localization.USB_Attached_SCSI, + _ => string.Format(Localization.unknown_code_protocol_0, (byte)descriptor.ProtocolIdentifier) }; - sb.AppendFormat("\tDescriptor refers to {0} protocol", protocol).AppendLine(); + sb.AppendFormat("\t" + Localization.Descriptor_refers_to_0_protocol, protocol).AppendLine(); } switch(descriptor.Type) @@ -501,16 +505,17 @@ public static class EVPD { case IdentificationCodeSet.ASCII: case IdentificationCodeSet.UTF8: - sb.AppendFormat("\tVendor descriptor contains: {0}", descriptor.ASCII).AppendLine(); + sb.AppendFormat("\t" + Localization.Vendor_descriptor_contains_0, descriptor.ASCII). + AppendLine(); break; case IdentificationCodeSet.Binary: - sb.AppendFormat("\tVendor descriptor contains binary data (hex): {0}", + sb.AppendFormat("\t" + Localization.Vendor_descriptor_contains_binary_data_hex_0, PrintHex.ByteArrayToHexArrayString(descriptor.Binary, 40)).AppendLine(); break; default: - sb.AppendFormat("\tVendor descriptor contains unknown kind {1} of data (hex): {0}", + sb.AppendFormat("\t" + Localization.Vendor_descriptor_contains_unknown_kind_1_of_data_hex_0, PrintHex.ByteArrayToHexArrayString(descriptor.Binary, 40), (byte)descriptor.CodeSet).AppendLine(); @@ -523,18 +528,20 @@ public static class EVPD { case IdentificationCodeSet.ASCII: case IdentificationCodeSet.UTF8: - sb.AppendFormat("\tInquiry descriptor contains: {0}", descriptor.ASCII).AppendLine(); + sb.AppendFormat("\t" + Localization.Inquiry_descriptor_contains_0, descriptor.ASCII). + AppendLine(); break; case IdentificationCodeSet.Binary: - sb.AppendFormat("\tInquiry descriptor contains binary data (hex): {0}", + sb.AppendFormat("\t" + Localization.Inquiry_descriptor_contains_binary_data_hex_0, PrintHex.ByteArrayToHexArrayString(descriptor.Binary, 40)).AppendLine(); break; default: - sb.AppendFormat("\tInquiry descriptor contains unknown kind {1} of data (hex): {0}", - PrintHex.ByteArrayToHexArrayString(descriptor.Binary, 40), - (byte)descriptor.CodeSet).AppendLine(); + sb. + AppendFormat("\t" + Localization.Inquiry_descriptor_contains_unknown_kind_1_of_data_hex_0, + PrintHex.ByteArrayToHexArrayString(descriptor.Binary, 40), + (byte)descriptor.CodeSet).AppendLine(); break; } @@ -542,10 +549,10 @@ public static class EVPD break; case IdentificationTypes.EUI: if(descriptor.CodeSet is IdentificationCodeSet.ASCII or IdentificationCodeSet.UTF8) - sb.AppendFormat("\tIEEE EUI-64: {0}", descriptor.ASCII).AppendLine(); + sb.AppendFormat("\t" + Localization.IEEE_EUI_64_0, descriptor.ASCII).AppendLine(); else { - sb.AppendFormat("\tIEEE EUI-64: {0:X2}", descriptor.Binary[0]); + sb.AppendFormat("\t" + Localization.IEEE_EUI_64_0_X2, descriptor.Binary[0]); for(int i = 1; i < descriptor.Binary.Length; i++) sb.AppendFormat(":{0:X2}", descriptor.Binary[i]); @@ -556,10 +563,10 @@ public static class EVPD break; case IdentificationTypes.NAA: if(descriptor.CodeSet is IdentificationCodeSet.ASCII or IdentificationCodeSet.UTF8) - sb.AppendFormat("\tNAA: {0}", descriptor.ASCII).AppendLine(); + sb.AppendFormat("\t" + Localization.NAA_0, descriptor.ASCII).AppendLine(); else { - sb.AppendFormat("\tNAA: {0:X2}", descriptor.Binary[0]); + sb.AppendFormat("\t" + Localization.NAA_0_X2, descriptor.Binary[0]); for(int i = 1; i < descriptor.Binary.Length; i++) sb.AppendFormat(":{0:X2}", descriptor.Binary[i]); @@ -570,34 +577,37 @@ public static class EVPD break; case IdentificationTypes.Relative: if(descriptor.CodeSet is IdentificationCodeSet.ASCII or IdentificationCodeSet.UTF8) - sb.AppendFormat("\tRelative target port identifier: {0}", descriptor.ASCII).AppendLine(); + sb.AppendFormat("\t" + Localization.Relative_target_port_identifier_0, descriptor.ASCII). + AppendLine(); else - sb.AppendFormat("\tRelative target port identifier: {0}", + sb.AppendFormat("\t" + Localization.Relative_target_port_identifier_0, (descriptor.Binary[2] << 8) + descriptor.Binary[3]).AppendLine(); break; case IdentificationTypes.TargetPortGroup: if(descriptor.CodeSet is IdentificationCodeSet.ASCII or IdentificationCodeSet.UTF8) - sb.AppendFormat("\tTarget group identifier: {0}", descriptor.ASCII).AppendLine(); + sb.AppendFormat("\t" + Localization.Target_group_identifier_0, descriptor.ASCII).AppendLine(); else - sb.AppendFormat("\tTarget group identifier: {0}", + sb.AppendFormat("\t" + Localization.Target_group_identifier_0, (descriptor.Binary[2] << 8) + descriptor.Binary[3]).AppendLine(); break; case IdentificationTypes.LogicalUnitGroup: if(descriptor.CodeSet is IdentificationCodeSet.ASCII or IdentificationCodeSet.UTF8) - sb.AppendFormat("\tLogical unit group identifier: {0}", descriptor.ASCII).AppendLine(); + sb.AppendFormat("\t" + Localization.Logical_unit_group_identifier_0, descriptor.ASCII). + AppendLine(); else - sb.AppendFormat("\tLogical unit group identifier: {0}", + sb.AppendFormat("\t" + Localization.Logical_unit_group_identifier_0, (descriptor.Binary[2] << 8) + descriptor.Binary[3]).AppendLine(); break; case IdentificationTypes.MD5: if(descriptor.CodeSet is IdentificationCodeSet.ASCII or IdentificationCodeSet.UTF8) - sb.AppendFormat("\tMD5 logical unit identifier: {0}", descriptor.ASCII).AppendLine(); + sb.AppendFormat("\t" + Localization.MD5_logical_unit_identifier_0, descriptor.ASCII). + AppendLine(); else { - sb.AppendFormat("\tMD5 logical unit identifier: {0:x2}", descriptor.Binary[0]); + sb.AppendFormat("\t" + Localization.MD5_logical_unit_identifier_0_x2, descriptor.Binary[0]); for(int i = 1; i < descriptor.Binary.Length; i++) sb.AppendFormat("{0:x2}", descriptor.Binary[i]); @@ -608,9 +618,10 @@ public static class EVPD break; case IdentificationTypes.SCSI: if(descriptor.CodeSet is IdentificationCodeSet.ASCII or IdentificationCodeSet.UTF8) - sb.AppendFormat("\tSCSI name string identifier: {0}", descriptor.ASCII).AppendLine(); + sb.AppendFormat("\t" + Localization.SCSI_name_string_identifier_0, descriptor.ASCII). + AppendLine(); else - sb.AppendFormat("\tSCSI name string identifier (hex): {0}", + sb.AppendFormat("\t" + Localization.SCSI_name_string_identifier_hex_0, PrintHex.ByteArrayToHexArrayString(descriptor.Binary, 40)).AppendLine(); break; @@ -621,92 +632,95 @@ public static class EVPD { case ProtocolIdentifiers.ADT: sb. - AppendFormat("\tProtocol (Automation/Drive Interface Transport) specific descriptor with unknown format (hex): {0}", + AppendFormat("\t" + Localization.Protocol_Automation_Drive_Interface_Transport_specific_descriptor_with_unknown_format_hex_0, PrintHex.ByteArrayToHexArrayString(descriptor.Binary, 40)). AppendLine(); break; case ProtocolIdentifiers.ATA: sb. - AppendFormat("\tProtocol (ATA/ATAPI) specific descriptor with unknown format (hex): {0}", + AppendFormat("\t" + Localization.Protocol_ATA_ATAPI_specific_descriptor_with_unknown_format_hex_0, PrintHex.ByteArrayToHexArrayString(descriptor.Binary, 40)). AppendLine(); break; case ProtocolIdentifiers.FibreChannel: sb. - AppendFormat("\tProtocol (Fibre Channel) specific descriptor with unknown format (hex): {0}", + AppendFormat("\t" + Localization.Protocol_Fibre_Channel_specific_descriptor_with_unknown_format_hex_0, PrintHex.ByteArrayToHexArrayString(descriptor.Binary, 40)). AppendLine(); break; case ProtocolIdentifiers.Firewire: sb. - AppendFormat("\tProtocol (IEEE 1394) specific descriptor with unknown format (hex): {0}", + AppendFormat("\t" + Localization.Protocol_IEEE_1394_specific_descriptor_with_unknown_format_hex_0, PrintHex.ByteArrayToHexArrayString(descriptor.Binary, 40)). AppendLine(); break; case ProtocolIdentifiers.iSCSI: sb. - AppendFormat("\tProtocol (Internet SCSI) specific descriptor with unknown format (hex): {0}", + AppendFormat("\t" + Localization.Protocol_Internet_SCSI_specific_descriptor_with_unknown_format_hex_0, PrintHex.ByteArrayToHexArrayString(descriptor.Binary, 40)). AppendLine(); break; case ProtocolIdentifiers.NoProtocol: sb. - AppendFormat("\tProtocol (unknown) specific descriptor with unknown format (hex): {0}", + AppendFormat("\t" + Localization.Protocol_unknown_specific_descriptor_with_unknown_format_hex_0, PrintHex.ByteArrayToHexArrayString(descriptor.Binary, 40)). AppendLine(); break; case ProtocolIdentifiers.PCIe: sb. - AppendFormat("\tProtocol (PCI Express) specific descriptor with unknown format (hex): {0}", + AppendFormat("\t" + Localization.Protocol_PCI_Express_specific_descriptor_with_unknown_format_hex_0, PrintHex.ByteArrayToHexArrayString(descriptor.Binary, 40)). AppendLine(); break; case ProtocolIdentifiers.RDMAP: sb. - AppendFormat("\tProtocol (SCSI Remote Direct Memory Access) specific descriptor with unknown format (hex): {0}", + AppendFormat("\t" + Localization.Protocol_SCSI_Remote_Direct_Memory_Access_specific_descriptor_with_unknown_format_hex_0, PrintHex.ByteArrayToHexArrayString(descriptor.Binary, 40)). AppendLine(); break; case ProtocolIdentifiers.SAS: sb. - AppendFormat("\tProtocol (Serial Attachment SCSI) specific descriptor with unknown format (hex): {0}", + AppendFormat("\t" + Localization.Protocol_Serial_Attachment_SCSI_specific_descriptor_with_unknown_format_hex_0, PrintHex.ByteArrayToHexArrayString(descriptor.Binary, 40)). AppendLine(); break; case ProtocolIdentifiers.SCSI: sb. - AppendFormat("\tProtocol (Parallel SCSI) specific descriptor with unknown format (hex): {0}", + AppendFormat("\t" + Localization.Protocol_Parallel_SCSI_specific_descriptor_with_unknown_format_hex_0, PrintHex.ByteArrayToHexArrayString(descriptor.Binary, 40)). AppendLine(); break; case ProtocolIdentifiers.SSA: - sb.AppendFormat("\tProtocol (SSA) specific descriptor with unknown format (hex): {0}", - PrintHex.ByteArrayToHexArrayString(descriptor.Binary, 40)).AppendLine(); + sb. + AppendFormat("\t" + Localization.Protocol_SSA_specific_descriptor_with_unknown_format_hex_0, + PrintHex.ByteArrayToHexArrayString(descriptor.Binary, 40)). + AppendLine(); break; case ProtocolIdentifiers.SCSIe: - sb.AppendFormat("\tProtocol (SCSIe) specific descriptor: Routing ID is {0}", + sb.AppendFormat("\t" + Localization.Protocol_SCSIe_specific_descriptor_Routing_ID_is_0, (descriptor.Binary[0] << 8) + descriptor.Binary[1]).AppendLine(); break; case ProtocolIdentifiers.UAS: - sb.AppendFormat("\tProtocol (UAS) specific descriptor: USB address {0} interface {1}", - descriptor.Binary[0] & 0x7F, descriptor.Binary[2]).AppendLine(); + sb. + AppendFormat("\t" + Localization.Protocol_UAS_specific_descriptor_USB_address_0_interface_1, + descriptor.Binary[0] & 0x7F, descriptor.Binary[2]).AppendLine(); break; default: sb. - AppendFormat("\tProtocol (unknown code {0}) specific descriptor with unknown format (hex): {1}", + AppendFormat("\t" + Localization.Protocol_unknown_code_0_specific_descriptor_with_unknown_format_hex_1, (byte)descriptor.ProtocolIdentifier, PrintHex.ByteArrayToHexArrayString(descriptor.Binary, 40)). AppendLine(); @@ -721,20 +735,21 @@ public static class EVPD { case IdentificationCodeSet.ASCII: case IdentificationCodeSet.UTF8: - sb.AppendFormat("\tUnknown descriptor type {1} contains: {0}", descriptor.ASCII, + sb.AppendFormat("\t" + Localization.Unknown_descriptor_type_1_contains_0, descriptor.ASCII, (byte)descriptor.Type).AppendLine(); break; case IdentificationCodeSet.Binary: - sb.AppendFormat("\tUnknown descriptor type {1} contains binary data (hex): {0}", + sb.AppendFormat("\t" + Localization.Unknown_descriptor_type_1_contains_binary_data_hex_0, PrintHex.ByteArrayToHexArrayString(descriptor.Binary, 40), (byte)descriptor.Type).AppendLine(); break; default: - sb.AppendFormat("Inquiry descriptor type {2} contains unknown kind {1} of data (hex): {0}", - PrintHex.ByteArrayToHexArrayString(descriptor.Binary, 40), - (byte)descriptor.CodeSet, (byte)descriptor.Type).AppendLine(); + sb. + AppendFormat(Localization.Inquiry_descriptor_type_2_contains_unknown_kind_1_of_data_hex_0, + PrintHex.ByteArrayToHexArrayString(descriptor.Binary, 40), + (byte)descriptor.CodeSet, (byte)descriptor.Type).AppendLine(); break; } @@ -817,18 +832,18 @@ public static class EVPD Page_84 page = modePage.Value; var sb = new StringBuilder(); - sb.AppendLine("SCSI Software Interface Identifiers:"); + sb.AppendLine(Localization.SCSI_Software_Interface_Identifiers); if(page.Identifiers.Length == 0) { - sb.AppendLine("\tThere are no identifiers"); + sb.AppendLine("\t" + Localization.There_are_no_identifiers); return sb.ToString(); } foreach(SoftwareIdentifier identifier in page.Identifiers) { - sb.AppendFormat("\t{0:X2}", identifier.Identifier[0]); + sb.AppendFormat("\t" + "{0:X2}", identifier.Identifier[0]); for(int i = 1; i < identifier.Identifier.Length; i++) sb.AppendFormat(":{0:X2}", identifier.Identifier[i]); @@ -927,11 +942,11 @@ public static class EVPD Page_85 page = modePage.Value; var sb = new StringBuilder(); - sb.AppendLine("SCSI Management Network Addresses:"); + sb.AppendLine(Localization.SCSI_Management_Network_Addresses); if(page.Descriptors.Length == 0) { - sb.AppendLine("\tThere are no addresses"); + sb.AppendLine("\t" + Localization.There_are_no_addresses); return sb.ToString(); } @@ -941,20 +956,21 @@ public static class EVPD switch(descriptor.Association) { case IdentificationAssociation.LogicalUnit: - sb.AppendLine("\tIdentifier belongs to addressed logical unit"); + sb.AppendLine("\t" + Localization.Identifier_belongs_to_addressed_logical_unit); break; case IdentificationAssociation.TargetPort: - sb.AppendLine("\tIdentifier belongs to target port"); + sb.AppendLine("\t" + Localization.Identifier_belongs_to_target_port); break; case IdentificationAssociation.TargetDevice: - sb.AppendLine("\tIdentifier belongs to target device that contains the addressed logical unit"); + sb.AppendLine("\t" + Localization. + Identifier_belongs_to_target_device_that_contains_the_addressed_logical_unit); break; default: - sb.AppendFormat("\tIdentifier has unknown association with code {0}", (byte)descriptor.Association). - AppendLine(); + sb.AppendFormat("\t" + Localization.Identifier_has_unknown_association_with_code_0, + (byte)descriptor.Association).AppendLine(); break; } @@ -962,48 +978,48 @@ public static class EVPD switch(descriptor.Type) { case NetworkServiceTypes.CodeDownload: - sb.AppendFormat("Address for code download: {0}", StringHandlers.CToString(descriptor.Address)). - AppendLine(); + sb.AppendFormat(Localization.Address_for_code_download_0, + StringHandlers.CToString(descriptor.Address)).AppendLine(); break; case NetworkServiceTypes.Diagnostics: - sb.AppendFormat("Address for diagnostics: {0}", StringHandlers.CToString(descriptor.Address)). - AppendLine(); + sb.AppendFormat(Localization.Address_for_diagnostics_0, + StringHandlers.CToString(descriptor.Address)).AppendLine(); break; case NetworkServiceTypes.Logging: - sb.AppendFormat("Address for logging: {0}", StringHandlers.CToString(descriptor.Address)). + sb.AppendFormat(Localization.Address_for_logging_0, StringHandlers.CToString(descriptor.Address)). AppendLine(); break; case NetworkServiceTypes.Status: - sb.AppendFormat("Address for status: {0}", StringHandlers.CToString(descriptor.Address)). + sb.AppendFormat(Localization.Address_for_status_0, StringHandlers.CToString(descriptor.Address)). AppendLine(); break; case NetworkServiceTypes.StorageConf: - sb.AppendFormat("Address for storage configuration service: {0}", + sb.AppendFormat(Localization.Address_for_storage_configuration_service_0, StringHandlers.CToString(descriptor.Address)).AppendLine(); break; case NetworkServiceTypes.Unspecified: - sb.AppendFormat("Unspecified address: {0}", StringHandlers.CToString(descriptor.Address)). + sb.AppendFormat(Localization.Unspecified_address_0, StringHandlers.CToString(descriptor.Address)). AppendLine(); break; case NetworkServiceTypes.CopyService: - sb.AppendFormat("Address for copy service: {0}", StringHandlers.CToString(descriptor.Address)). - AppendLine(); + sb.AppendFormat(Localization.Address_for_copy_service_0, + StringHandlers.CToString(descriptor.Address)).AppendLine(); break; case NetworkServiceTypes.Administrative: - sb.AppendFormat("Address for administrative configuration service: {0}", + sb.AppendFormat(Localization.Address_for_administrative_configuration_service_0, StringHandlers.CToString(descriptor.Address)).AppendLine(); break; default: - sb.AppendFormat("Address of unknown type {1}: {0}", StringHandlers.CToString(descriptor.Address), - (byte)descriptor.Type).AppendLine(); + sb.AppendFormat(Localization.Address_of_unknown_type_1_0, + StringHandlers.CToString(descriptor.Address), (byte)descriptor.Type).AppendLine(); break; } @@ -1137,7 +1153,7 @@ public static class EVPD Page_86 page = modePage.Value; var sb = new StringBuilder(); - sb.AppendLine("SCSI Extended INQUIRY Data:"); + sb.AppendLine(Localization.SCSI_Extended_INQUIRY_Data); switch(page.PeripheralDeviceType) { @@ -1146,119 +1162,120 @@ public static class EVPD switch(page.SPT) { case 0: - sb.AppendLine("Logical unit supports type 1 protection"); + sb.AppendLine(Localization.Logical_unit_supports_type_1_protection); break; case 1: - sb.AppendLine("Logical unit supports types 1 and 2 protection"); + sb.AppendLine(Localization.Logical_unit_supports_types_1_and_2_protection); break; case 2: - sb.AppendLine("Logical unit supports type 2 protection"); + sb.AppendLine(Localization.Logical_unit_supports_type_2_protection); break; case 3: - sb.AppendLine("Logical unit supports types 1 and 3 protection"); + sb.AppendLine(Localization.Logical_unit_supports_types_1_and_3_protection); break; case 4: - sb.AppendLine("Logical unit supports type 3 protection"); + sb.AppendLine(Localization.Logical_unit_supports_type_3_protection); break; case 5: - sb.AppendLine("Logical unit supports types 2 and 3 protection"); + sb.AppendLine(Localization.Logical_unit_supports_types_2_and_3_protection); break; case 7: - sb.AppendLine("Logical unit supports types 1, 2 and 3 protection"); + sb.AppendLine(Localization.Logical_unit_supports_types_1_2_and_3_protection); break; default: - sb.AppendFormat("Logical unit supports unknown protection defined by code {0}", page.SPT). - AppendLine(); + sb.AppendFormat(Localization.Logical_unit_supports_unknown_protection_defined_by_code_0, + page.SPT).AppendLine(); break; } break; case PeripheralDeviceTypes.SequentialAccess when page.SPT == 1: - sb.AppendLine("Logical unit supports logical block protection"); + sb.AppendLine(Localization.Logical_unit_supports_logical_block_protection); break; } if(page.GRD_CHK) - sb.AppendLine("Device checks the logical block guard"); + sb.AppendLine(Localization.Device_checks_the_logical_block_guard); if(page.APP_CHK) - sb.AppendLine("Device checks the logical block application tag"); + sb.AppendLine(Localization.Device_checks_the_logical_block_application_tag); if(page.REF_CHK) - sb.AppendLine("Device checks the logical block reference tag"); + sb.AppendLine(Localization.Device_checks_the_logical_block_reference_tag); if(page.UASK_SUP) - sb.AppendLine("Device supports unit attention condition sense key specific data"); + sb.AppendLine(Localization.Device_supports_unit_attention_condition_sense_key_specific_data); if(page.GROUP_SUP) - sb.AppendLine("Device supports grouping"); + sb.AppendLine(Localization.Device_supports_grouping); if(page.PRIOR_SUP) - sb.AppendLine("Device supports priority"); + sb.AppendLine(Localization.Device_supports_priority); if(page.HEADSUP) - sb.AppendLine("Device supports head of queue"); + sb.AppendLine(Localization.Device_supports_head_of_queue); if(page.ORDSUP) - sb.AppendLine("Device supports the ORDERED task attribute"); + sb.AppendLine(Localization.Device_supports_the_ORDERED_task_attribute); if(page.SIMPSUP) - sb.AppendLine("Device supports the SIMPLE task attribute"); + sb.AppendLine(Localization.Device_supports_the_SIMPLE_task_attribute); if(page.WU_SUP) - sb.AppendLine("Device supports marking a block as uncorrectable with WRITE LONG"); + sb.AppendLine(Localization.Device_supports_marking_a_block_as_uncorrectable_with_WRITE_LONG); if(page.CRD_SUP) - sb.AppendLine("Device supports disabling correction with WRITE LONG"); + sb.AppendLine(Localization.Device_supports_disabling_correction_with_WRITE_LONG); if(page.NV_SUP) - sb.AppendLine("Device has a non-volatile cache"); + sb.AppendLine(Localization.Device_has_a_non_volatile_cache); if(page.V_SUP) - sb.AppendLine("Device has a volatile cache"); + sb.AppendLine(Localization.Device_has_a_volatile_cache); if(page.NO_PI_CHK) - sb.AppendLine("Device has disabled protection information checks"); + sb.AppendLine(Localization.Device_has_disabled_protection_information_checks); if(page.P_I_I_SUP) - sb.AppendLine("Device supports protection information intervals"); + sb.AppendLine(Localization.Device_supports_protection_information_intervals); if(page.LUICLR) - sb.AppendLine("Device clears any unit attention condition in all LUNs after reporting for any LUN"); + sb.AppendLine(Localization. + Device_clears_any_unit_attention_condition_in_all_LUNs_after_reporting_for_any_LUN); if(page.R_SUP) - sb.AppendLine("Device supports referrals"); + sb.AppendLine(Localization.Device_supports_referrals); if(page.HSSRELEF) - sb.AppendLine("Device implements alternate reset handling"); + sb.AppendLine(Localization.Device_implements_alternate_reset_handling); if(page.CBCS) - sb.AppendLine("Device supports capability-based command security"); + sb.AppendLine(Localization.Device_supports_capability_based_command_security); if(page.POA_SUP) - sb.AppendLine("Device supports power-on activation for new microcode"); + sb.AppendLine(Localization.Device_supports_power_on_activation_for_new_microcode); if(page.HRA_SUP) - sb.AppendLine("Device supports hard reset activation for new microcode"); + sb.AppendLine(Localization.Device_supports_hard_reset_activation_for_new_microcode); if(page.VSA_SUP) - sb.AppendLine("Device supports vendor specific activation for new microcode"); + sb.AppendLine(Localization.Device_supports_vendor_specific_activation_for_new_microcode); if(page.ExtendedTestMinutes > 0) - sb.AppendFormat("Extended self-test takes {0} to complete", TimeSpan.FromMinutes(page.ExtendedTestMinutes)). - AppendLine(); + sb.AppendFormat(Localization.Extended_self_test_takes_0_to_complete, + TimeSpan.FromMinutes(page.ExtendedTestMinutes)).AppendLine(); if(page.MaximumSenseLength > 0) - sb.AppendFormat("Device supports a maximum of {0} bytes for sense data", page.MaximumSenseLength). + sb.AppendFormat(Localization.Device_supports_a_maximum_of_0_bytes_for_sense_data, page.MaximumSenseLength). AppendLine(); return sb.ToString(); @@ -1335,29 +1352,29 @@ public static class EVPD Page_89 page = modePage.Value; var sb = new StringBuilder(); - sb.AppendLine("SCSI to ATA Translation Layer Data:"); + sb.AppendLine(Localization.SCSI_to_ATA_Translation_Layer_Data); - sb.AppendFormat("\tTranslation layer vendor: {0}", + sb.AppendFormat("\t" + Localization.Translation_layer_vendor_0, VendorString.Prettify(StringHandlers.CToString(page.VendorIdentification).Trim())).AppendLine(); - sb.AppendFormat("\tTranslation layer name: {0}", StringHandlers.CToString(page.ProductIdentification).Trim()). - AppendLine(); + sb.AppendFormat("\t" + Localization.Translation_layer_name_0, + StringHandlers.CToString(page.ProductIdentification).Trim()).AppendLine(); - sb.AppendFormat("\tTranslation layer release level: {0}", + sb.AppendFormat("\t" + Localization.Translation_layer_release_level_0, StringHandlers.CToString(page.ProductRevisionLevel).Trim()).AppendLine(); switch(page.CommandCode) { case 0xEC: - sb.AppendLine("\tDevice responded to ATA IDENTIFY DEVICE command."); + sb.AppendLine("\t" + Localization.Device_responded_to_ATA_IDENTIFY_DEVICE_command); break; case 0xA1: - sb.AppendLine("\tDevice responded to ATA IDENTIFY PACKET DEVICE command."); + sb.AppendLine("\t" + Localization.Device_responded_to_ATA_IDENTIFY_PACKET_DEVICE_command); break; default: - sb.AppendFormat("\tDevice responded to ATA command {0:X2}h", page.CommandCode).AppendLine(); + sb.AppendFormat("\t" + Localization.Device_responded_to_ATA_command_0, page.CommandCode).AppendLine(); break; } @@ -1365,15 +1382,16 @@ public static class EVPD switch(page.Signature[0]) { case 0x00: - sb.AppendLine("\tDevice uses Parallel ATA."); + sb.AppendLine("\t" + Localization.Device_uses_Parallel_ATA); break; case 0x34: - sb.AppendLine("\tDevice uses Serial ATA."); + sb.AppendLine("\t" + Localization.Device_uses_Serial_ATA); break; default: - sb.AppendFormat("\tDevice uses unknown transport with code {0}", page.Signature[0]).AppendLine(); + sb.AppendFormat("\t" + Localization.Device_uses_unknown_transport_with_code_0, page.Signature[0]). + AppendLine(); break; } @@ -1382,11 +1400,11 @@ public static class EVPD if(id != null) { - sb.AppendLine("\tATA IDENTIFY information follows:"); + sb.AppendLine("\t" + Localization.ATA_IDENTIFY_information_follows); sb.AppendFormat("{0}", ATA.Identify.Prettify(id)).AppendLine(); } else - sb.AppendLine("\tCould not decode ATA IDENTIFY information"); + sb.AppendLine("\t" + Localization.Could_not_decode_ATA_IDENTIFY_information); return sb.ToString(); } @@ -1453,13 +1471,15 @@ public static class EVPD Page_C0_Quantum page = modePage.Value; var sb = new StringBuilder(); - sb.AppendLine("Quantum Firmware Build Information page:"); + sb.AppendLine(Localization.Quantum_Quantum_Firmware_Build_Information_page); - sb.AppendFormat("\tServo firmware checksum: 0x{0:X4}", page.ServoFirmwareChecksum).AppendLine(); - sb.AppendFormat("\tEEPROM firmware checksum: 0x{0:X4}", page.ServoEEPROMChecksum).AppendLine(); - sb.AppendFormat("\tRead/write firmware checksum: 0x{0:X8}", page.ReadWriteFirmwareChecksum).AppendLine(); + sb.AppendFormat("\t" + Localization.Quantum_Servo_firmware_checksum_0, page.ServoFirmwareChecksum).AppendLine(); + sb.AppendFormat("\t" + Localization.Quantum_EEPROM_firmware_checksum_0, page.ServoEEPROMChecksum).AppendLine(); - sb.AppendFormat("\tRead/write firmware build date: {0}", + sb.AppendFormat("\t" + Localization.Quantum_Read_write_firmware_checksum_0, page.ReadWriteFirmwareChecksum). + AppendLine(); + + sb.AppendFormat("\t" + Localization.Quantum_Read_write_firmware_build_date_0, StringHandlers.CToString(page.ReadWriteFirmwareBuildData)).AppendLine(); return sb.ToString(); @@ -1529,12 +1549,14 @@ public static class EVPD Page_C0_C1_Certance page = modePage.Value; var sb = new StringBuilder(); - sb.AppendLine("Certance Drive Component Revision Levels page:"); + sb.AppendLine(Localization.Certance_Certance_Drive_Component_Revision_Levels_page); - sb.AppendFormat("\tComponent: {0}", StringHandlers.CToString(page.Component)).AppendLine(); - sb.AppendFormat("\tVersion: {0}", StringHandlers.CToString(page.Version)).AppendLine(); - sb.AppendFormat("\tDate: {0}", StringHandlers.CToString(page.Date)).AppendLine(); - sb.AppendFormat("\tVariant: {0}", StringHandlers.CToString(page.Variant)).AppendLine(); + sb.AppendFormat("\t" + Localization.Certance_Component_0, StringHandlers.CToString(page.Component)). + AppendLine(); + + sb.AppendFormat("\t" + Localization.Certance_Version_0, StringHandlers.CToString(page.Version)).AppendLine(); + sb.AppendFormat("\t" + Localization.Certance_Date_0, StringHandlers.CToString(page.Date)).AppendLine(); + sb.AppendFormat("\t" + Localization.Certance_Variant_0, StringHandlers.CToString(page.Variant)).AppendLine(); return sb.ToString(); } @@ -1597,32 +1619,33 @@ public static class EVPD Page_C2_C3_C4_C5_C6_Certance page = modePage.Value; var sb = new StringBuilder(); - sb.AppendLine("Certance Drive Component Serial Number page:"); + sb.AppendLine(Localization.Certance_Certance_Drive_Component_Serial_Number_page); switch(page.PageCode) { case 0xC2: - sb.AppendFormat("\tHead Assembly Serial Number: {0}", StringHandlers.CToString(page.SerialNumber)). - AppendLine(); + sb.AppendFormat("\t" + Localization.Certance_Head_Assembly_Serial_Number_0, + StringHandlers.CToString(page.SerialNumber)).AppendLine(); break; case 0xC3: - sb.AppendFormat("\tReel Motor 1 Serial Number: {0}", StringHandlers.CToString(page.SerialNumber)). - AppendLine(); + sb.AppendFormat("\t" + Localization.Certance_Reel_Motor_1_Serial_Number_0, + StringHandlers.CToString(page.SerialNumber)).AppendLine(); break; case 0xC4: - sb.AppendFormat("\tReel Motor 2 Serial Number: {0}", StringHandlers.CToString(page.SerialNumber)). - AppendLine(); + sb.AppendFormat("\t" + Localization.Certance_Reel_Motor_2_Serial_Number_0, + StringHandlers.CToString(page.SerialNumber)).AppendLine(); break; case 0xC5: - sb.AppendFormat("\tBoard Serial Number: {0}", StringHandlers.CToString(page.SerialNumber)).AppendLine(); + sb.AppendFormat("\t" + Localization.Certance_Board_Serial_Number_0, + StringHandlers.CToString(page.SerialNumber)).AppendLine(); break; case 0xC6: - sb.AppendFormat("\tBase Mechanical Serial Number: {0}", StringHandlers.CToString(page.SerialNumber)). - AppendLine(); + sb.AppendFormat("\t" + Localization.Certance_Base_Mechanical_Serial_Number_0, + StringHandlers.CToString(page.SerialNumber)).AppendLine(); break; } @@ -1730,58 +1753,58 @@ public static class EVPD Page_DF_Certance page = modePage.Value; var sb = new StringBuilder(); - sb.AppendLine("Certance drive status page:"); + sb.AppendLine(Localization.Certance_drive_status_page); switch(page.CmdFwd) { case 0: - sb.AppendLine("\tCommand forwarding is disabled"); + sb.AppendLine("\t" + Localization.Command_forwarding_is_disabled); break; case 1: - sb.AppendLine("\tCommand forwarding is enabled"); + sb.AppendLine("\t" + Localization.Command_forwarding_is_enabled); break; default: - sb.AppendFormat("\tUnknown command forwarding code {0}", page.CmdFwd).AppendLine(); + sb.AppendFormat("\t" + Localization.Unknown_command_forwarding_code_0, page.CmdFwd).AppendLine(); break; } if(page.Alerts) - sb.AppendLine("\tAlerts are enabled"); + sb.AppendLine("\t" + Localization.Alerts_are_enabled); if(page.NoRemov) - sb.AppendLine("\tCartridge removable is prevented"); + sb.AppendLine("\t" + Localization.Cartridge_removable_is_prevented); if(page.UnitRsvd) - sb.AppendFormat("\tUnit is reserved by initiator ID {0:X16}", page.InitiatorID).AppendLine(); + sb.AppendFormat("\t" + Localization.Unit_is_reserved_by_initiator_ID_0, page.InitiatorID).AppendLine(); if(page.Clean) - sb.AppendLine("\tDevice needs cleaning cartridge"); + sb.AppendLine("\t" + Localization.Device_needs_cleaning_cartridge); if(page.Threaded) - sb.AppendLine("\tCartridge tape is threaded"); + sb.AppendLine("\t" + Localization.Cartridge_tape_is_threaded); if(page.Lun1Cmd) - sb.AppendLine("\tThere are commands pending to be forwarded"); + sb.AppendLine("\t" + Localization.There_are_commands_pending_to_be_forwarded); switch(page.AutoloadMode) { case 0: - sb.AppendLine("\tCartridge will be loaded and threaded on insertion"); + sb.AppendLine("\t" + Localization.Cartridge_will_be_loaded_and_threaded_on_insertion); break; case 1: - sb.AppendLine("\tCartridge will be loaded but not threaded on insertion"); + sb.AppendLine("\t" + Localization.Cartridge_will_be_loaded_but_not_threaded_on_insertion); break; case 2: - sb.AppendLine("\tCartridge will not be loaded"); + sb.AppendLine("\t" + Localization.Cartridge_will_not_be_loaded); break; default: - sb.AppendFormat("\tUnknown autoloading mode code {0}", page.AutoloadMode).AppendLine(); + sb.AppendFormat("\t" + Localization.Unknown_autoloading_mode_code_0, page.AutoloadMode).AppendLine(); break; } @@ -1789,34 +1812,37 @@ public static class EVPD switch(page.PortATransportType) { case 0: - sb.AppendLine("\tPort A link is down"); + sb.AppendLine("\t" + Localization.Port_A_link_is_down); break; case 3: - sb.AppendLine("\tPort A uses Parallel SCSI Ultra-160 interface"); + sb.AppendLine("\t" + Localization.Port_A_uses_Parallel_SCSI_Ultra_160_interface); break; default: - sb.AppendFormat("\tUnknown port A transport type code {0}", page.PortATransportType).AppendLine(); + sb.AppendFormat("\t" + Localization.Unknown_port_A_transport_type_code_0, page.PortATransportType). + AppendLine(); break; } if(page.PortATransportType > 0) - sb.AppendFormat("\tDrive responds to SCSI ID {0}", page.PortASelectionID).AppendLine(); + sb.AppendFormat("\t" + Localization.Drive_responds_to_SCSI_ID_0, page.PortASelectionID).AppendLine(); - sb.AppendFormat("\tDrive has been operating {0}", TimeSpan.FromHours(page.OperatingHours)).AppendLine(); + sb.AppendFormat("\t" + Localization.Drive_has_been_operating_0, TimeSpan.FromHours(page.OperatingHours)). + AppendLine(); if(page.CartridgeType > 0) { switch(page.CartridgeFormat) { case 0: - sb.AppendLine("\tInserted cartridge is LTO"); + sb.AppendLine("\t" + Localization.Inserted_cartridge_is_LTO); break; default: - sb.AppendFormat("\tUnknown cartridge format code {0}", page.CartridgeType).AppendLine(); + sb.AppendFormat("\t" + Localization.Unknown_cartridge_format_code_0, page.CartridgeType). + AppendLine(); break; } @@ -1824,55 +1850,55 @@ public static class EVPD switch(page.CartridgeType) { case 0: - sb.AppendLine("\tThere is no cartridge inserted"); + sb.AppendLine("\t" + Localization.There_is_no_cartridge_inserted); break; case 1: - sb.AppendLine("\tCleaning cartridge inserted"); + sb.AppendLine("\t" + Localization.Cleaning_cartridge_inserted); break; case 2: - sb.AppendLine("\tUnknown data cartridge inserted"); + sb.AppendLine("\t" + Localization.Unknown_data_cartridge_inserted); break; case 3: - sb.AppendLine("\tFirmware cartridge inserted"); + sb.AppendLine("\t" + Localization.Firmware_cartridge_inserted); break; case 4: - sb.AppendLine("\tLTO Ultrium 1 Type A cartridge inserted"); + sb.AppendLine("\t" + Localization.LTO_Ultrium_1_Type_A_cartridge_inserted); break; case 5: - sb.AppendLine("\tLTO Ultrium 1 Type B cartridge inserted"); + sb.AppendLine("\t" + Localization.LTO_Ultrium_1_Type_B_cartridge_inserted); break; case 6: - sb.AppendLine("\tLTO Ultrium 1 Type C cartridge inserted"); + sb.AppendLine("\t" + Localization.LTO_Ultrium_1_Type_C_cartridge_inserted); break; case 7: - sb.AppendLine("\tLTO Ultrium 1 Type D cartridge inserted"); + sb.AppendLine("\t" + Localization.LTO_Ultrium_1_Type_D_cartridge_inserted); break; case 8: - sb.AppendLine("\tLTO Ultrium 2 cartridge inserted"); + sb.AppendLine("\t" + Localization.LTO_Ultrium_2_cartridge_inserted); break; default: - sb.AppendFormat("\tUnknown cartridge type code {0}", page.CartridgeType).AppendLine(); + sb.AppendFormat("\t" + Localization.Unknown_cartridge_type_code_0, page.CartridgeType).AppendLine(); break; } - sb.AppendFormat("\tCartridge has an uncompressed capability of {0} gigabytes", page.CartridgeCapacity). - AppendLine(); + sb.AppendFormat("\t" + Localization.Cartridge_has_an_uncompressed_capability_of_0_gigabytes, + page.CartridgeCapacity).AppendLine(); - sb.AppendFormat("\tCartridge serial number: {0}", + sb.AppendFormat("\t" + Localization.Cartridge_serial_number_0, StringHandlers.SpacePaddedToString(page.CartridgeSerialNumber)).AppendLine(); } else - sb.AppendLine("\tThere is no cartridge inserted"); + sb.AppendLine("\t" + Localization.There_is_no_cartridge_inserted); return sb.ToString(); } @@ -1931,10 +1957,10 @@ public static class EVPD Page_C0_IBM page = modePage.Value; var sb = new StringBuilder(); - sb.AppendLine("IBM Drive Component Revision Levels page:"); + sb.AppendLine(Localization.IBM_Drive_Component_Revision_Levels_page); - sb.AppendFormat("\tCode name: {0}", StringHandlers.CToString(page.CodeName)).AppendLine(); - sb.AppendFormat("\tDate: {0}", StringHandlers.CToString(page.Date)).AppendLine(); + sb.AppendFormat("\t" + Localization.Code_name_0, StringHandlers.CToString(page.CodeName)).AppendLine(); + sb.AppendFormat("\t" + Localization.Certance_Date_0, StringHandlers.CToString(page.Date)).AppendLine(); return sb.ToString(); } @@ -1993,13 +2019,14 @@ public static class EVPD Page_C1_IBM page = modePage.Value; var sb = new StringBuilder(); - sb.AppendLine("IBM Drive Serial Numbers page:"); + sb.AppendLine(Localization.IBM_Drive_Serial_Numbers_page); - sb.AppendFormat("\tManufacturing serial number: {0}", StringHandlers.CToString(page.ManufacturingSerial)). + sb.AppendFormat("\t" + Localization.Manufacturing_serial_number_0, + StringHandlers.CToString(page.ManufacturingSerial)).AppendLine(); + + sb.AppendFormat("\t" + Localization.Reported_serial_number_0, StringHandlers.CToString(page.ReportedSerial)). AppendLine(); - sb.AppendFormat("\tReported serial number: {0}", StringHandlers.CToString(page.ReportedSerial)).AppendLine(); - return sb.ToString(); } #endregion EVPD Page 0xC1 (IBM): Drive Serial Numbers page @@ -2053,13 +2080,13 @@ public static class EVPD Page_B0 page = modePage.Value; var sb = new StringBuilder(); - sb.AppendLine("SCSI Sequential-access Device Capabilities:"); + sb.AppendLine(Localization.SCSI_Sequential_access_Device_Capabilities); if(page.WORM) - sb.AppendLine("\tDevice supports WORM media"); + sb.AppendLine("\t" + Localization.Device_supports_WORM_media); if(page.TSMC) - sb.AppendLine("\tDevice supports Tape Stream Mirroring"); + sb.AppendLine("\t" + Localization.Device_supports_Tape_Stream_Mirroring); return sb.ToString(); } @@ -2183,45 +2210,48 @@ public static class EVPD switch(page.PageCode) { case 0xC0: - sb.AppendLine("HP Drive Firmware Revision Levels page:"); + sb.AppendLine(Localization.HP_Drive_Firmware_Revision_Levels_page); break; case 0xC1: - sb.AppendLine("HP Drive Hardware Revision Levels page:"); + sb.AppendLine(Localization.HP_Drive_Hardware_Revision_Levels_page); break; case 0xC2: - sb.AppendLine("HP Drive PCA Revision Levels page:"); + sb.AppendLine(Localization.HP_Drive_PCA_Revision_Levels_page); break; case 0xC3: - sb.AppendLine("HP Drive Mechanism Revision Levels page:"); + sb.AppendLine(Localization.HP_Drive_Mechanism_Revision_Levels_page); break; case 0xC4: - sb.AppendLine("HP Drive Head Assembly Revision Levels page:"); + sb.AppendLine(Localization.HP_Drive_Head_Assembly_Revision_Levels_page); break; case 0xC5: - sb.AppendLine("HP Drive ACI Revision Levels page:"); + sb.AppendLine(Localization.HP_Drive_ACI_Revision_Levels_page); break; } if(page.Component is { Length: > 0 }) - sb.AppendFormat("\tComponent: {0}", StringHandlers.CToString(page.Component)).AppendLine(); + sb.AppendFormat("\t" + Localization.Certance_Component_0, StringHandlers.CToString(page.Component)). + AppendLine(); if(page.Version is { Length: > 0 }) - sb.AppendFormat("\tVersion: {0}", StringHandlers.CToString(page.Version)).AppendLine(); + sb.AppendFormat("\t" + Localization.Certance_Version_0, StringHandlers.CToString(page.Version)). + AppendLine(); if(page.Date is { Length: > 0 }) - sb.AppendFormat("\tDate: {0}", StringHandlers.CToString(page.Date)).AppendLine(); + sb.AppendFormat("\t" + Localization.Certance_Date_0, StringHandlers.CToString(page.Date)).AppendLine(); if(page.Variant is { Length: > 0 }) - sb.AppendFormat("\tVariant: {0}", StringHandlers.CToString(page.Variant)).AppendLine(); + sb.AppendFormat("\t" + Localization.Certance_Variant_0, StringHandlers.CToString(page.Variant)). + AppendLine(); if(page.Copyright is { Length: > 0 }) - sb.AppendFormat("\tCopyright: {0}", StringHandlers.CToString(page.Copyright)).AppendLine(); + sb.AppendFormat("\t" + Localization.Copyright_0, StringHandlers.CToString(page.Copyright)).AppendLine(); return sb.ToString(); } @@ -2284,13 +2314,16 @@ public static class EVPD Page_C0_Seagate page = modePage.Value; var sb = new StringBuilder(); - sb.AppendLine("Seagate Firmware Numbers page:"); + sb.AppendLine(Localization.Seagate_Firmware_Numbers_page); - sb.AppendFormat("\tController firmware version: {0}", StringHandlers.CToString(page.ControllerFirmware)). + sb.AppendFormat("\t" + Localization.Controller_firmware_version_0, + StringHandlers.CToString(page.ControllerFirmware)).AppendLine(); + + sb.AppendFormat("\t" + Localization.Boot_firmware_version_0, StringHandlers.CToString(page.BootFirmware)). AppendLine(); - sb.AppendFormat("\tBoot firmware version: {0}", StringHandlers.CToString(page.BootFirmware)).AppendLine(); - sb.AppendFormat("\tServo firmware version: {0}", StringHandlers.CToString(page.ServoFirmware)).AppendLine(); + sb.AppendFormat("\t" + Localization.Servo_firmware_version_0, StringHandlers.CToString(page.ServoFirmware)). + AppendLine(); return sb.ToString(); } diff --git a/SCSI/Inquiry.cs b/SCSI/Inquiry.cs index 17efe321d..a4ade2887 100644 --- a/SCSI/Inquiry.cs +++ b/SCSI/Inquiry.cs @@ -36,6 +36,7 @@ using System.Linq; using System.Text; using Aaru.CommonTypes.Structs.Devices.SCSI; using Aaru.Helpers; +using Aaru.Localization; namespace Aaru.Decoders.SCSI; @@ -61,37 +62,37 @@ public static class Inquiry var sb = new StringBuilder(); - sb.AppendFormat("Device vendor: {0}", + sb.AppendFormat(Localization.Device_vendor_0, VendorString.Prettify(StringHandlers.CToString(response.VendorIdentification).Trim())). AppendLine(); - sb.AppendFormat("Device name: {0}", StringHandlers.CToString(response.ProductIdentification).Trim()). + sb.AppendFormat(Localization.Device_name_0, StringHandlers.CToString(response.ProductIdentification).Trim()). AppendLine(); - sb.AppendFormat("Device release level: {0}", StringHandlers.CToString(response.ProductRevisionLevel).Trim()). - AppendLine(); + sb.AppendFormat(Localization.Device_release_level_0, + StringHandlers.CToString(response.ProductRevisionLevel).Trim()).AppendLine(); switch((PeripheralQualifiers)response.PeripheralQualifier) { case PeripheralQualifiers.Supported: - sb.AppendLine("Device is connected and supported."); + sb.AppendLine(Localization.Device_is_connected_and_supported); break; case PeripheralQualifiers.Unconnected: - sb.AppendLine("Device is supported but not connected."); + sb.AppendLine(Localization.Device_is_supported_but_not_connected); break; case PeripheralQualifiers.Reserved: - sb.AppendLine("Reserved value set in Peripheral Qualifier field."); + sb.AppendLine(Localization.Reserved_value_set_in_Peripheral_Qualifier_field); break; case PeripheralQualifiers.Unsupported: - sb.AppendLine("Device is connected but unsupported."); + sb.AppendLine(Localization.Device_is_connected_but_unsupported); break; default: - sb.AppendFormat("Vendor value {0} set in Peripheral Qualifier field.", response.PeripheralQualifier). - AppendLine(); + sb.AppendFormat(Localization.Vendor_value_0_set_in_Peripheral_Qualifier_field, + response.PeripheralQualifier).AppendLine(); break; } @@ -99,99 +100,100 @@ public static class Inquiry switch((PeripheralDeviceTypes)response.PeripheralDeviceType) { case PeripheralDeviceTypes.DirectAccess: //0x00, - sb.AppendLine("Direct-access device"); + sb.AppendLine(Localization.Direct_access_device); break; case PeripheralDeviceTypes.SequentialAccess: //0x01, - sb.AppendLine("Sequential-access device"); + sb.AppendLine(Localization.Sequential_access_device); break; case PeripheralDeviceTypes.PrinterDevice: //0x02, - sb.AppendLine("Printer device"); + sb.AppendLine(Localization.Printer_device); break; case PeripheralDeviceTypes.ProcessorDevice: //0x03, - sb.AppendLine("Processor device"); + sb.AppendLine(Localization.Processor_device); break; case PeripheralDeviceTypes.WriteOnceDevice: //0x04, - sb.AppendLine("Write-once device"); + sb.AppendLine(Localization.Write_once_device); break; case PeripheralDeviceTypes.MultiMediaDevice: //0x05, - sb.AppendLine("CD-ROM/DVD/etc device"); + sb.AppendLine(Localization.CD_ROM_DVD_etc_device); break; case PeripheralDeviceTypes.ScannerDevice: //0x06, - sb.AppendLine("Scanner device"); + sb.AppendLine(Localization.Scanner_device); break; case PeripheralDeviceTypes.OpticalDevice: //0x07, - sb.AppendLine("Optical memory device"); + sb.AppendLine(Localization.Optical_memory_device); break; case PeripheralDeviceTypes.MediumChangerDevice: //0x08, - sb.AppendLine("Medium change device"); + sb.AppendLine(Localization.Medium_change_device); break; case PeripheralDeviceTypes.CommsDevice: //0x09, - sb.AppendLine("Communications device"); + sb.AppendLine(Localization.Communications_device); break; case PeripheralDeviceTypes.PrePressDevice1: //0x0A, - sb.AppendLine("Graphics arts pre-press device (defined in ASC IT8)"); + sb.AppendLine(Localization.Graphics_arts_pre_press_device_defined_in_ASC_IT8); break; case PeripheralDeviceTypes.PrePressDevice2: //0x0B, - sb.AppendLine("Graphics arts pre-press device (defined in ASC IT8)"); + sb.AppendLine(Localization.Graphics_arts_pre_press_device_defined_in_ASC_IT8); break; case PeripheralDeviceTypes.ArrayControllerDevice: //0x0C, - sb.AppendLine("Array controller device"); + sb.AppendLine(Localization.Array_controller_device); break; case PeripheralDeviceTypes.EnclosureServiceDevice: //0x0D, - sb.AppendLine("Enclosure services device"); + sb.AppendLine(Localization.Enclosure_services_device); break; case PeripheralDeviceTypes.SimplifiedDevice: //0x0E, - sb.AppendLine("Simplified direct-access device"); + sb.AppendLine(Localization.Simplified_direct_access_device); break; case PeripheralDeviceTypes.OCRWDevice: //0x0F, - sb.AppendLine("Optical card reader/writer device"); + sb.AppendLine(Localization.Optical_card_reader_writer_device); break; case PeripheralDeviceTypes.BridgingExpander: //0x10, - sb.AppendLine("Bridging Expanders"); + sb.AppendLine(Localization.Bridging_Expanders); break; case PeripheralDeviceTypes.ObjectDevice: //0x11, - sb.AppendLine("Object-based Storage Device"); + sb.AppendLine(Localization.Object_based_Storage_Device); break; case PeripheralDeviceTypes.ADCDevice: //0x12, - sb.AppendLine("Automation/Drive Interface"); + sb.AppendLine(Localization.Automation_Drive_Interface); break; case PeripheralDeviceTypes.SCSISecurityManagerDevice: //0x13, - sb.AppendLine("Security Manager Device"); + sb.AppendLine(Localization.Security_Manager_Device); break; case PeripheralDeviceTypes.SCSIZonedBlockDevice: //0x14 - sb.AppendLine("Host managed zoned block device"); + sb.AppendLine(Localization.Host_managed_zoned_block_device); break; case PeripheralDeviceTypes.WellKnownDevice: //0x1E, - sb.AppendLine("Well known logical unit"); + sb.AppendLine(Localization.Well_known_logical_unit); break; case PeripheralDeviceTypes.UnknownDevice: //0x1F - sb.AppendLine("Unknown or no device type"); + sb.AppendLine(Localization.Unknown_or_no_device_type); break; default: - sb.AppendFormat("Unknown device type field value 0x{0:X2}", response.PeripheralDeviceType).AppendLine(); + sb.AppendFormat(Localization.Unknown_device_type_field_value_0, response.PeripheralDeviceType). + AppendLine(); break; } @@ -199,35 +201,35 @@ public static class Inquiry switch((ANSIVersions)response.ANSIVersion) { case ANSIVersions.ANSINoVersion: - sb.AppendLine("Device does not claim to comply with any SCSI ANSI standard"); + sb.AppendLine(Localization.Device_does_not_claim_to_comply_with_any_SCSI_ANSI_standard); break; case ANSIVersions.ANSI1986Version: - sb.AppendLine("Device claims to comply with ANSI X3.131:1986 (SCSI-1)"); + sb.AppendLine(Localization.Device_claims_to_comply_with_ANSI_X3_131_1986_SCSI_1); break; case ANSIVersions.ANSI1994Version: - sb.AppendLine("Device claims to comply with ANSI X3.131:1994 (SCSI-2)"); + sb.AppendLine(Localization.Device_claims_to_comply_with_ANSI_X3_131_1994_SCSI_2); break; case ANSIVersions.ANSI1997Version: - sb.AppendLine("Device claims to comply with ANSI X3.301:1997 (SPC-1)"); + sb.AppendLine(Localization.Device_claims_to_comply_with_ANSI_X3_301_1997_SPC_1); break; case ANSIVersions.ANSI2001Version: - sb.AppendLine("Device claims to comply with ANSI X3.351:2001 (SPC-2)"); + sb.AppendLine(Localization.Device_claims_to_comply_with_ANSI_X3_351_2001_SPC_2); break; case ANSIVersions.ANSI2005Version: - sb.AppendLine("Device claims to comply with ANSI X3.408:2005 (SPC-3)"); + sb.AppendLine(Localization.Device_claims_to_comply_with_ANSI_X3_408_2005_SPC_3); break; case ANSIVersions.ANSI2008Version: - sb.AppendLine("Device claims to comply with ANSI X3.408:2005 (SPC-4)"); + sb.AppendLine(Localization.Device_claims_to_comply_with_ANSI_X3_408_2005_SPC_4); break; default: - sb.AppendFormat("Device claims to comply with unknown SCSI ANSI standard value 0x{0:X2})", + sb.AppendFormat(Localization.Device_claims_to_comply_with_unknown_SCSI_ANSI_standard_value_0, response.ANSIVersion).AppendLine(); break; @@ -236,15 +238,15 @@ public static class Inquiry switch((ECMAVersions)response.ECMAVersion) { case ECMAVersions.ECMANoVersion: - sb.AppendLine("Device does not claim to comply with any SCSI ECMA standard"); + sb.AppendLine(Localization.Device_does_not_claim_to_comply_with_any_SCSI_ECMA_standard); break; case ECMAVersions.ECMA111: - sb.AppendLine("Device claims to comply ECMA-111: Small Computer System Interface SCSI"); + sb.AppendLine(Localization.Device_claims_to_comply_ECMA_111_Small_Computer_System_Interface_SCSI); break; default: - sb.AppendFormat("Device claims to comply with unknown SCSI ECMA standard value 0x{0:X2})", + sb.AppendFormat(Localization.Device_claims_to_comply_with_unknown_SCSI_ECMA_standard_value_0, response.ECMAVersion).AppendLine(); break; @@ -253,122 +255,122 @@ public static class Inquiry switch((ISOVersions)response.ISOVersion) { case ISOVersions.ISONoVersion: - sb.AppendLine("Device does not claim to comply with any SCSI ISO/IEC standard"); + sb.AppendLine(Localization.Device_does_not_claim_to_comply_with_any_SCSI_ISO_IEC_standard); break; case ISOVersions.ISO1995Version: - sb.AppendLine("Device claims to comply with ISO/IEC 9316:1995"); + sb.AppendLine(Localization.Device_claims_to_comply_with_ISO_IEC_9316_1995); break; default: - sb.AppendFormat("Device claims to comply with unknown SCSI ISO/IEC standard value 0x{0:X2})", + sb.AppendFormat(Localization.Device_claims_to_comply_with_unknown_SCSI_ISO_IEC_standard_value_0, response.ISOVersion).AppendLine(); break; } if(response.RMB) - sb.AppendLine("Device is removable"); + sb.AppendLine(Localization.Device_is_removable); if(response.AERC) - sb.AppendLine("Device supports Asynchronous Event Reporting Capability"); + sb.AppendLine(Localization.Device_supports_Asynchronous_Event_Reporting_Capability); if(response.TrmTsk) - sb.AppendLine("Device supports TERMINATE TASK command"); + sb.AppendLine(Localization.Device_supports_TERMINATE_TASK_command); if(response.NormACA) - sb.AppendLine("Device supports setting Normal ACA"); + sb.AppendLine(Localization.Device_supports_setting_Normal_ACA); if(response.HiSup) - sb.AppendLine("Device supports LUN hierarchical addressing"); + sb.AppendLine(Localization.Device_supports_LUN_hierarchical_addressing); if(response.SCCS) - sb.AppendLine("Device contains an embedded storage array controller"); + sb.AppendLine(Localization.Device_contains_an_embedded_storage_array_controller); if(response.ACC) - sb.AppendLine("Device contains an Access Control Coordinator"); + sb.AppendLine(Localization.Device_contains_an_Access_Control_Coordinator); if(response.ThreePC) - sb.AppendLine("Device supports third-party copy commands"); + sb.AppendLine(Localization.Device_supports_third_party_copy_commands); if(response.Protect) - sb.AppendLine("Device supports protection information"); + sb.AppendLine(Localization.Device_supports_protection_information); if(response.BQue) - sb.AppendLine("Device supports basic queueing"); + sb.AppendLine(Localization.Device_supports_basic_queueing); if(response.EncServ) - sb.AppendLine("Device contains an embedded enclosure services component"); + sb.AppendLine(Localization.Device_contains_an_embedded_enclosure_services_component); if(response.MultiP) - sb.AppendLine("Multi-port device"); + sb.AppendLine(Localization.Multi_port_device); if(response.MChngr) - sb.AppendLine("Device contains or is attached to a medium changer"); + sb.AppendLine(Localization.Device_contains_or_is_attached_to_a_medium_changer); if(response.ACKREQQ) - sb.AppendLine("Device supports request and acknowledge handshakes"); + sb.AppendLine(Localization.Device_supports_request_and_acknowledge_handshakes); if(response.Addr32) - sb.AppendLine("Device supports 32-bit wide SCSI addresses"); + sb.AppendLine(Localization.Device_supports_32_bit_wide_SCSI_addresses); if(response.Addr16) - sb.AppendLine("Device supports 16-bit wide SCSI addresses"); + sb.AppendLine(Localization.Device_supports_16_bit_wide_SCSI_addresses); if(response.RelAddr) - sb.AppendLine("Device supports relative addressing"); + sb.AppendLine(Localization.Device_supports_relative_addressing); if(response.WBus32) - sb.AppendLine("Device supports 32-bit wide data transfers"); + sb.AppendLine(Localization.Device_supports_32_bit_wide_data_transfers); if(response.WBus16) - sb.AppendLine("Device supports 16-bit wide data transfers"); + sb.AppendLine(Localization.Device_supports_16_bit_wide_data_transfers); if(response.Sync) - sb.AppendLine("Device supports synchronous data transfer"); + sb.AppendLine(Localization.Device_supports_synchronous_data_transfer); if(response.Linked) - sb.AppendLine("Device supports linked commands"); + sb.AppendLine(Localization.Device_supports_linked_commands); if(response.TranDis) - sb.AppendLine("Device supports CONTINUE TASK and TARGET TRANSFER DISABLE commands"); + sb.AppendLine(Localization.Device_supports_CONTINUE_TASK_and_TARGET_TRANSFER_DISABLE_commands); if(response.QAS) - sb.AppendLine("Device supports Quick Arbitration and Selection"); + sb.AppendLine(Localization.Device_supports_Quick_Arbitration_and_Selection); if(response.CmdQue) - sb.AppendLine("Device supports TCQ queue"); + sb.AppendLine(Localization.Device_supports_TCQ_queue); if(response.IUS) - sb.AppendLine("Device supports information unit transfers"); + sb.AppendLine(Localization.Device_supports_information_unit_transfers); if(response.SftRe) - sb.AppendLine("Device implements RESET as a soft reset"); + sb.AppendLine(Localization.Device_implements_RESET_as_a_soft_reset); #if DEBUG if(response.VS1) - sb.AppendLine("Vendor specific bit 5 on byte 6 of INQUIRY response is set"); + sb.AppendLine(Localization.Vendor_specific_bit_5_on_byte_6_of_INQUIRY_response_is_set); #endif switch((TGPSValues)response.TPGS) { case TGPSValues.NotSupported: - sb.AppendLine("Device does not support asymmetrical access"); + sb.AppendLine(Localization.Device_does_not_support_asymmetrical_access); break; case TGPSValues.OnlyImplicit: - sb.AppendLine("Device only supports implicit asymmetrical access"); + sb.AppendLine(Localization.Device_only_supports_implicit_asymmetrical_access); break; case TGPSValues.OnlyExplicit: - sb.AppendLine("Device only supports explicit asymmetrical access"); + sb.AppendLine(Localization.Device_only_supports_explicit_asymmetrical_access); break; case TGPSValues.Both: - sb.AppendLine("Device supports implicit and explicit asymmetrical access"); + sb.AppendLine(Localization.Device_supports_implicit_and_explicit_asymmetrical_access); break; default: - sb.AppendFormat("Unknown value in TPGS field 0x{0:X2}", response.TPGS).AppendLine(); + sb.AppendFormat(Localization.Unknown_value_in_TPGS_field_0, response.TPGS).AppendLine(); break; } @@ -376,23 +378,23 @@ public static class Inquiry switch((SPIClocking)response.Clocking) { case SPIClocking.ST: - sb.AppendLine("Device supports only ST clocking"); + sb.AppendLine(Localization.Device_supports_only_ST_clocking); break; case SPIClocking.DT: - sb.AppendLine("Device supports only DT clocking"); + sb.AppendLine(Localization.Device_supports_only_DT_clocking); break; case SPIClocking.Reserved: - sb.AppendLine("Reserved value 0x02 found in SPI clocking field"); + sb.AppendLine(Localization.Reserved_value_0x02_found_in_SPI_clocking_field); break; case SPIClocking.STandDT: - sb.AppendLine("Device supports ST and DT clocking"); + sb.AppendLine(Localization.Device_supports_ST_and_DT_clocking); break; default: - sb.AppendFormat("Unknown value in SPI clocking field 0x{0:X2}", response.Clocking).AppendLine(); + sb.AppendFormat(Localization.Unknown_value_in_SPI_clocking_field_0, response.Clocking).AppendLine(); break; } @@ -404,839 +406,842 @@ public static class Inquiry case 0xFFFF: case 0x0000: break; case 0x0020: - sb.AppendLine("Device complies with SAM (no version claimed)"); + sb.AppendLine(Localization.Device_complies_with_SAM_no_version_claimed); break; case 0x003B: - sb.AppendLine("Device complies with SAM T10/0994-D revision 18"); + sb.AppendLine(Localization.Device_complies_with_SAM_T10_0994_D_revision_18); break; case 0x003C: - sb.AppendLine("Device complies with SAM ANSI INCITS 270-1996"); + sb.AppendLine(Localization.Device_complies_with_SAM_ANSI_INCITS_270_1996); break; case 0x0040: - sb.AppendLine("Device complies with SAM-2 (no version claimed)"); + sb.AppendLine(Localization.Device_complies_with_SAM_2_no_version_claimed); break; case 0x0054: - sb.AppendLine("Device complies with SAM-2 T10/1157-D revision 23"); + sb.AppendLine(Localization.Device_complies_with_SAM_2_T10_1157_D_revision_23); break; case 0x0055: - sb.AppendLine("Device complies with SAM-2 T10/1157-D revision 24"); + sb.AppendLine(Localization.Device_complies_with_SAM_2_T10_1157_D_revision_24); break; case 0x005C: - sb.AppendLine("Device complies with SAM-2 ANSI INCITS 366-2003"); + sb.AppendLine(Localization.Device_complies_with_SAM_2_ANSI_INCITS_366_2003); break; case 0x005E: - sb.AppendLine("Device complies with SAM-2 ISO/IEC 14776-412"); + sb.AppendLine(Localization.Device_complies_with_SAM_2_ISO_IEC_14776_412); break; case 0x0060: - sb.AppendLine("Device complies with SAM-3 (no version claimed)"); + sb.AppendLine(Localization.Device_complies_with_SAM_3_no_version_claimed); break; case 0x0062: - sb.AppendLine("Device complies with SAM-3 T10/1561-D revision 7"); + sb.AppendLine(Localization.Device_complies_with_SAM_3_T10_1561_D_revision_7); break; case 0x0075: - sb.AppendLine("Device complies with SAM-3 T10/1561-D revision 13"); + sb.AppendLine(Localization.Device_complies_with_SAM_3_T10_1561_D_revision_13); break; case 0x0076: - sb.AppendLine("Device complies with SAM-3 T10/1561-D revision 14"); + sb.AppendLine(Localization.Device_complies_with_SAM_3_T10_1561_D_revision_14); break; case 0x0077: - sb.AppendLine("Device complies with SAM-3 ANSI INCITS 402-2005"); + sb.AppendLine(Localization.Device_complies_with_SAM_3_ANSI_INCITS_402_2005); break; case 0x0080: - sb.AppendLine("Device complies with SAM-4 (no version claimed)"); + sb.AppendLine(Localization.Device_complies_with_SAM_4_no_version_claimed); break; case 0x0087: - sb.AppendLine("Device complies with SAM-4 T10/1683-D revision 13"); + sb.AppendLine(Localization.Device_complies_with_SAM_4_T10_1683_D_revision_13); break; case 0x008B: - sb.AppendLine("Device complies with SAM-4 T10/1683-D revision 14"); + sb.AppendLine(Localization.Device_complies_with_SAM_4_T10_1683_D_revision_14); break; case 0x0090: - sb.AppendLine("Device complies with SAM-4 ANSI INCITS 447-2008"); + sb.AppendLine(Localization.Device_complies_with_SAM_4_ANSI_INCITS_447_2008); break; case 0x0092: - sb.AppendLine("Device complies with SAM-4 ISO/IEC 14776-414"); + sb.AppendLine(Localization.Device_complies_with_SAM_4_ISO_IEC_14776_414); break; case 0x00A0: - sb.AppendLine("Device complies with SAM-5 (no version claimed)"); + sb.AppendLine(Localization.Device_complies_with_SAM_5_no_version_claimed); break; case 0x00A2: - sb.AppendLine("Device complies with SAM-5 T10/2104-D revision 4"); + sb.AppendLine(Localization.Device_complies_with_SAM_5_T10_2104_D_revision_4); break; case 0x00A4: - sb.AppendLine("Device complies with SAM-5 T10/2104-D revision 20"); + sb.AppendLine(Localization.Device_complies_with_SAM_5_T10_2104_D_revision_20); break; case 0x00A6: - sb.AppendLine("Device complies with SAM-5 T10/2104-D revision 21"); + sb.AppendLine(Localization.Device_complies_with_SAM_5_T10_2104_D_revision_21); break; case 0x00C0: - sb.AppendLine("Device complies with SAM-6 (no version claimed)"); + sb.AppendLine(Localization.Device_complies_with_SAM_6_no_version_claimed); break; case 0x0120: - sb.AppendLine("Device complies with SPC (no version claimed)"); + sb.AppendLine(Localization.Device_complies_with_SPC_no_version_claimed); break; case 0x013B: - sb.AppendLine("Device complies with SPC T10/0995-D revision 11a"); + sb.AppendLine(Localization.Device_complies_with_SPC_T10_0995_D_revision_11a); break; case 0x013C: - sb.AppendLine("Device complies with SPC ANSI INCITS 301-1997"); + sb.AppendLine(Localization.Device_complies_with_SPC_ANSI_INCITS_301_1997); break; case 0x0140: - sb.AppendLine("Device complies with MMC (no version claimed)"); + sb.AppendLine(Localization.Device_complies_with_MMC_no_version_claimed); break; case 0x015B: - sb.AppendLine("Device complies with MMC T10/1048-D revision 10a"); + sb.AppendLine(Localization.Device_complies_with_MMC_T10_1048_D_revision_10a); break; case 0x015C: - sb.AppendLine("Device complies with MMC ANSI INCITS 304-1997"); + sb.AppendLine(Localization.Device_complies_with_MMC_ANSI_INCITS_304_1997); break; case 0x0160: - sb.AppendLine("Device complies with SCC (no version claimed)"); + sb.AppendLine(Localization.Device_complies_with_SCC_no_version_claimed); break; case 0x017B: - sb.AppendLine("Device complies with SCC T10/1047-D revision 06c"); + sb.AppendLine(Localization.Device_complies_with_SCC_T10_1047_D_revision_06c); break; case 0x017C: - sb.AppendLine("Device complies with SCC ANSI INCITS 276-1997"); + sb.AppendLine(Localization.Device_complies_with_SCC_ANSI_INCITS_276_1997); break; case 0x0180: - sb.AppendLine("Device complies with SBC (no version claimed)"); + sb.AppendLine(Localization.Device_complies_with_SBC_no_version_claimed); break; case 0x019B: - sb.AppendLine("Device complies with SBC T10/0996-D revision 08c"); + sb.AppendLine(Localization.Device_complies_with_SBC_T10_0996_D_revision_08c); break; case 0x019C: - sb.AppendLine("Device complies with SBC ANSI INCITS 306-1998"); + sb.AppendLine(Localization.Device_complies_with_SBC_ANSI_INCITS_306_1998); break; case 0x01A0: - sb.AppendLine("Device complies with SMC (no version claimed)"); + sb.AppendLine(Localization.Device_complies_with_SMC_no_version_claimed); break; case 0x01BB: - sb.AppendLine("Device complies with SMC T10/0999-D revision 10a"); + sb.AppendLine(Localization.Device_complies_with_SMC_T10_0999_D_revision_10a); break; case 0x01BC: - sb.AppendLine("Device complies with SMC ANSI INCITS 314-1998"); + sb.AppendLine(Localization.Device_complies_with_SMC_ANSI_INCITS_314_1998); break; case 0x01BE: - sb.AppendLine("Device complies with SMC ISO/IEC 14776-351"); + sb.AppendLine(Localization.Device_complies_with_SMC_ISO_IEC_14776_351); break; case 0x01C0: - sb.AppendLine("Device complies with SES (no version claimed)"); + sb.AppendLine(Localization.Device_complies_with_SES_no_version_claimed); break; case 0x01DB: - sb.AppendLine("Device complies with SES T10/1212-D revision 08b"); + sb.AppendLine(Localization.Device_complies_with_SES_T10_1212_D_revision_08b); break; case 0x01DC: - sb.AppendLine("Device complies with SES ANSI INCITS 305-1998"); + sb.AppendLine(Localization.Device_complies_with_SES_ANSI_INCITS_305_1998); break; case 0x01DD: - sb.AppendLine("Device complies with SES T10/1212 revision 08b w/ Amendment ANSI INCITS.305/AM1-2000"); + sb.AppendLine(Localization. + Device_complies_with_SES_T10_1212_revision_08b_Amendment_ANSI_INCITS_305_AM1_2000); break; case 0x01DE: - sb.AppendLine("Device complies with SES ANSI INCITS 305-1998 w/ Amendment ANSI INCITS.305/AM1-2000"); + sb.AppendLine(Localization. + Device_complies_with_SES_ANSI_INCITS_305_1998_Amendment_ANSI_INCITS_305_AM1_2000); break; case 0x01E0: - sb.AppendLine("Device complies with SCC-2 (no version claimed)"); + sb.AppendLine(Localization.Device_complies_with_SCC_2_no_version_claimed); break; case 0x01FB: - sb.AppendLine("Device complies with SCC-2 T10/1125-D revision 04"); + sb.AppendLine(Localization.Device_complies_with_SCC_2_T10_1125_D_revision_04); break; case 0x01FC: - sb.AppendLine("Device complies with SCC-2 ANSI INCITS 318-1998"); + sb.AppendLine(Localization.Device_complies_with_SCC_2_ANSI_INCITS_318_1998); break; case 0x0200: - sb.AppendLine("Device complies with SSC (no version claimed)"); + sb.AppendLine(Localization.Device_complies_with_SSC_no_version_claimed); break; case 0x0201: - sb.AppendLine("Device complies with SSC T10/0997-D revision 17"); + sb.AppendLine(Localization.Device_complies_with_SSC_T10_0997_D_revision_17); break; case 0x0207: - sb.AppendLine("Device complies with SSC T10/0997-D revision 22"); + sb.AppendLine(Localization.Device_complies_with_SSC_T10_0997_D_revision_22); break; case 0x021C: - sb.AppendLine("Device complies with SSC ANSI INCITS 335-2000"); + sb.AppendLine(Localization.Device_complies_with_SSC_ANSI_INCITS_335_2000); break; case 0x0220: - sb.AppendLine("Device complies with RBC (no version claimed)"); + sb.AppendLine(Localization.Device_complies_with_RBC_no_version_claimed); break; case 0x0238: - sb.AppendLine("Device complies with RBC T10/1240-D revision 10a"); + sb.AppendLine(Localization.Device_complies_with_RBC_T10_1240_D_revision_10a); break; case 0x023C: - sb.AppendLine("Device complies with RBC ANSI INCITS 330-2000"); + sb.AppendLine(Localization.Device_complies_with_RBC_ANSI_INCITS_330_2000); break; case 0x0240: - sb.AppendLine("Device complies with MMC-2 (no version claimed)"); + sb.AppendLine(Localization.Device_complies_with_MMC_2_no_version_claimed); break; case 0x0255: - sb.AppendLine("Device complies with MMC-2 T10/1228-D revision 11"); + sb.AppendLine(Localization.Device_complies_with_MMC_2_T10_1228_D_revision_11); break; case 0x025B: - sb.AppendLine("Device complies with MMC-2 T10/1228-D revision 11a"); + sb.AppendLine(Localization.Device_complies_with_MMC_2_T10_1228_D_revision_11a); break; case 0x025C: - sb.AppendLine("Device complies with MMC-2 ANSI INCITS 333-2000"); + sb.AppendLine(Localization.Device_complies_with_MMC_2_ANSI_INCITS_333_2000); break; case 0x0260: - sb.AppendLine("Device complies with SPC-2 (no version claimed)"); + sb.AppendLine(Localization.Device_complies_with_SPC_2_no_version_claimed); break; case 0x0267: - sb.AppendLine("Device complies with SPC-2 T10/1236-D revision 12"); + sb.AppendLine(Localization.Device_complies_with_SPC_2_T10_1236_D_revision_12); break; case 0x0269: - sb.AppendLine("Device complies with SPC-2 T10/1236-D revision 18"); + sb.AppendLine(Localization.Device_complies_with_SPC_2_T10_1236_D_revision_18); break; case 0x0275: - sb.AppendLine("Device complies with SPC-2 T10/1236-D revision 19"); + sb.AppendLine(Localization.Device_complies_with_SPC_2_T10_1236_D_revision_19); break; case 0x0276: - sb.AppendLine("Device complies with SPC-2 T10/1236-D revision 20"); + sb.AppendLine(Localization.Device_complies_with_SPC_2_T10_1236_D_revision_20); break; case 0x0277: - sb.AppendLine("Device complies with SPC-2 ANSI INCITS 351-2001"); + sb.AppendLine(Localization.Device_complies_with_SPC_2_ANSI_INCITS_351_2001); break; case 0x0278: - sb.AppendLine("Device complies with SPC-2 ISO/IEC 14776-452"); + sb.AppendLine(Localization.Device_complies_with_SPC_2_ISO_IEC_14776_452); break; case 0x0280: - sb.AppendLine("Device complies with OCRW (no version claimed)"); + sb.AppendLine(Localization.Device_complies_with_OCRW_no_version_claimed); break; case 0x029E: - sb.AppendLine("Device complies with OCRW ISO/IEC 14776-381"); + sb.AppendLine(Localization.Device_complies_with_OCRW_ISO_IEC_14776_381); break; case 0x02A0: - sb.AppendLine("Device complies with MMC-3 (no version claimed)"); + sb.AppendLine(Localization.Device_complies_with_MMC_3_no_version_claimed); break; case 0x02B5: - sb.AppendLine("Device complies with MMC-3 T10/1363-D revision 9"); + sb.AppendLine(Localization.Device_complies_with_MMC_3_T10_1363_D_revision_9); break; case 0x02B6: - sb.AppendLine("Device complies with MMC-3 T10/1363-D revision 10g"); + sb.AppendLine(Localization.Device_complies_with_MMC_3_T10_1363_D_revision_10g); break; case 0x02B8: - sb.AppendLine("Device complies with MMC-3 ANSI INCITS 360-2002"); + sb.AppendLine(Localization.Device_complies_with_MMC_3_ANSI_INCITS_360_2002); break; case 0x02E0: - sb.AppendLine("Device complies with SMC-2 (no version claimed)"); + sb.AppendLine(Localization.Device_complies_with_SMC_2_no_version_claimed); break; case 0x02F5: - sb.AppendLine("Device complies with SMC-2 T10/1383-D revision 5"); + sb.AppendLine(Localization.Device_complies_with_SMC_2_T10_1383_D_revision_5); break; case 0x02FC: - sb.AppendLine("Device complies with SMC-2 T10/1383-D revision 6"); + sb.AppendLine(Localization.Device_complies_with_SMC_2_T10_1383_D_revision_6); break; case 0x02FD: - sb.AppendLine("Device complies with SMC-2 T10/1383-D revision 7"); + sb.AppendLine(Localization.Device_complies_with_SMC_2_T10_1383_D_revision_7); break; case 0x02FE: - sb.AppendLine("Device complies with SMC-2 ANSI INCITS 382-2004"); + sb.AppendLine(Localization.Device_complies_with_SMC_2_ANSI_INCITS_382_2004); break; case 0x0300: - sb.AppendLine("Device complies with SPC-3 (no version claimed)"); + sb.AppendLine(Localization.Device_complies_with_SPC_3_no_version_claimed); break; case 0x0301: - sb.AppendLine("Device complies with SPC-3 T10/1416-D revision 7"); + sb.AppendLine(Localization.Device_complies_with_SPC_3_T10_1416_D_revision_7); break; case 0x0307: - sb.AppendLine("Device complies with SPC-3 T10/1416-D revision 21"); + sb.AppendLine(Localization.Device_complies_with_SPC_3_T10_1416_D_revision_21); break; case 0x030F: - sb.AppendLine("Device complies with SPC-3 T10/1416-D revision 22"); + sb.AppendLine(Localization.Device_complies_with_SPC_3_T10_1416_D_revision_22); break; case 0x0312: - sb.AppendLine("Device complies with SPC-3 T10/1416-D revision 23"); + sb.AppendLine(Localization.Device_complies_with_SPC_3_T10_1416_D_revision_23); break; case 0x0314: - sb.AppendLine("Device complies with SPC-3 ANSI INCITS 408-2005"); + sb.AppendLine(Localization.Device_complies_with_SPC_3_ANSI_INCITS_408_2005); break; case 0x0316: - sb.AppendLine("Device complies with SPC-3 ISO/IEC 14776-453"); + sb.AppendLine(Localization.Device_complies_with_SPC_3_ISO_IEC_14776_453); break; case 0x0320: - sb.AppendLine("Device complies with SBC-2 (no version claimed)"); + sb.AppendLine(Localization.Device_complies_with_SBC_2_no_version_claimed); break; case 0x0322: - sb.AppendLine("Device complies with SBC-2 T10/1417-D revision 5a"); + sb.AppendLine(Localization.Device_complies_with_SBC_2_T10_1417_D_revision_5a); break; case 0x0324: - sb.AppendLine("Device complies with SBC-2 T10/1417-D revision 15"); + sb.AppendLine(Localization.Device_complies_with_SBC_2_T10_1417_D_revision_15); break; case 0x033B: - sb.AppendLine("Device complies with SBC-2 T10/1417-D revision 16"); + sb.AppendLine(Localization.Device_complies_with_SBC_2_T10_1417_D_revision_16); break; case 0x033D: - sb.AppendLine("Device complies with SBC-2 ANSI INCITS 405-2005"); + sb.AppendLine(Localization.Device_complies_with_SBC_2_ANSI_INCITS_405_2005); break; case 0x033E: - sb.AppendLine("Device complies with SBC-2 ISO/IEC 14776-322"); + sb.AppendLine(Localization.Device_complies_with_SBC_2_ISO_IEC_14776_322); break; case 0x0340: - sb.AppendLine("Device complies with OSD (no version claimed)"); + sb.AppendLine(Localization.Device_complies_with_OSD_no_version_claimed); break; case 0x0341: - sb.AppendLine("Device complies with OSD T10/1355-D revision 0"); + sb.AppendLine(Localization.Device_complies_with_OSD_T10_1355_D_revision_0); break; case 0x0342: - sb.AppendLine("Device complies with OSD T10/1355-D revision 7a"); + sb.AppendLine(Localization.Device_complies_with_OSD_T10_1355_D_revision_7a); break; case 0x0343: - sb.AppendLine("Device complies with OSD T10/1355-D revision 8"); + sb.AppendLine(Localization.Device_complies_with_OSD_T10_1355_D_revision_8); break; case 0x0344: - sb.AppendLine("Device complies with OSD T10/1355-D revision 9"); + sb.AppendLine(Localization.Device_complies_with_OSD_T10_1355_D_revision_9); break; case 0x0355: - sb.AppendLine("Device complies with OSD T10/1355-D revision 10"); + sb.AppendLine(Localization.Device_complies_with_OSD_T10_1355_D_revision_10); break; case 0x0356: - sb.AppendLine("Device complies with OSD ANSI INCITS 400-2004"); + sb.AppendLine(Localization.Device_complies_with_OSD_ANSI_INCITS_400_2004); break; case 0x0360: - sb.AppendLine("Device complies with SSC-2 (no version claimed)"); + sb.AppendLine(Localization.Device_complies_with_SSC_2_no_version_claimed); break; case 0x0374: - sb.AppendLine("Device complies with SSC-2 T10/1434-D revision 7"); + sb.AppendLine(Localization.Device_complies_with_SSC_2_T10_1434_D_revision_7); break; case 0x0375: - sb.AppendLine("Device complies with SSC-2 T10/1434-D revision 9"); + sb.AppendLine(Localization.Device_complies_with_SSC_2_T10_1434_D_revision_9); break; case 0x037D: - sb.AppendLine("Device complies with SSC-2 ANSI INCITS 380-2003"); + sb.AppendLine(Localization.Device_complies_with_SSC_2_ANSI_INCITS_380_2003); break; case 0x0380: - sb.AppendLine("Device complies with BCC (no version claimed)"); + sb.AppendLine(Localization.Device_complies_with_BCC_no_version_claimed); break; case 0x03A0: - sb.AppendLine("Device complies with MMC-4 (no version claimed)"); + sb.AppendLine(Localization.Device_complies_with_MMC_4_no_version_claimed); break; case 0x03B0: - sb.AppendLine("Device complies with MMC-4 T10/1545-D revision 5"); + sb.AppendLine(Localization.Device_complies_with_MMC_4_T10_1545_D_revision_5); break; case 0x03B1: - sb.AppendLine("Device complies with MMC-4 T10/1545-D revision 5a"); + sb.AppendLine(Localization.Device_complies_with_MMC_4_T10_1545_D_revision_5a); break; case 0x03BD: - sb.AppendLine("Device complies with MMC-4 T10/1545-D revision 3"); + sb.AppendLine(Localization.Device_complies_with_MMC_4_T10_1545_D_revision_3); break; case 0x03BE: - sb.AppendLine("Device complies with MMC-4 T10/1545-D revision 3d"); + sb.AppendLine(Localization.Device_complies_with_MMC_4_T10_1545_D_revision_3d); break; case 0x03BF: - sb.AppendLine("Device complies with MMC-4 ANSI INCITS 401-2005"); + sb.AppendLine(Localization.Device_complies_with_MMC_4_ANSI_INCITS_401_2005); break; case 0x03C0: - sb.AppendLine("Device complies with ADC (no version claimed)"); + sb.AppendLine(Localization.Device_complies_with_ADC_no_version_claimed); break; case 0x03D5: - sb.AppendLine("Device complies with ADC T10/1558-D revision 6"); + sb.AppendLine(Localization.Device_complies_with_ADC_T10_1558_D_revision_6); break; case 0x03D6: - sb.AppendLine("Device complies with ADC T10/1558-D revision 7"); + sb.AppendLine(Localization.Device_complies_with_ADC_T10_1558_D_revision_7); break; case 0x03D7: - sb.AppendLine("Device complies with ADC ANSI INCITS 403-2005"); + sb.AppendLine(Localization.Device_complies_with_ADC_ANSI_INCITS_403_2005); break; case 0x03E0: - sb.AppendLine("Device complies with SES-2 (no version claimed)"); + sb.AppendLine(Localization.Device_complies_with_SES_2_no_version_claimed); break; case 0x03E1: - sb.AppendLine("Device complies with SES-2 T10/1559-D revision 16"); + sb.AppendLine(Localization.Device_complies_with_SES_2_T10_1559_D_revision_16); break; case 0x03E7: - sb.AppendLine("Device complies with SES-2 T10/1559-D revision 19"); + sb.AppendLine(Localization.Device_complies_with_SES_2_T10_1559_D_revision_19); break; case 0x03EB: - sb.AppendLine("Device complies with SES-2 T10/1559-D revision 20"); + sb.AppendLine(Localization.Device_complies_with_SES_2_T10_1559_D_revision_20); break; case 0x03F0: - sb.AppendLine("Device complies with SES-2 ANSI INCITS 448-2008"); + sb.AppendLine(Localization.Device_complies_with_SES_2_ANSI_INCITS_448_2008); break; case 0x03F2: - sb.AppendLine("Device complies with SES-2 ISO/IEC 14776-372"); + sb.AppendLine(Localization.Device_complies_with_SES_2_ISO_IEC_14776_372); break; case 0x0400: - sb.AppendLine("Device complies with SSC-3 (no version claimed)"); + sb.AppendLine(Localization.Device_complies_with_SSC_3_no_version_claimed); break; case 0x0403: - sb.AppendLine("Device complies with SSC-3 T10/1611-D revision 04a"); + sb.AppendLine(Localization.Device_complies_with_SSC_3_T10_1611_D_revision_04a); break; case 0x0407: - sb.AppendLine("Device complies with SSC-3 T10/1611-D revision 05"); + sb.AppendLine(Localization.Device_complies_with_SSC_3_T10_1611_D_revision_05); break; case 0x0409: - sb.AppendLine("Device complies with SSC-3 ANSI INCITS 467-2011"); + sb.AppendLine(Localization.Device_complies_with_SSC_3_ANSI_INCITS_467_2011); break; case 0x040B: - sb.AppendLine("Device complies with SSC-3 ISO/IEC 14776-333:2013"); + sb.AppendLine(Localization.Device_complies_with_SSC_3_ISO_IEC_14776_333_2013); break; case 0x0420: - sb.AppendLine("Device complies with MMC-5 (no version claimed)"); + sb.AppendLine(Localization.Device_complies_with_MMC_5_no_version_claimed); break; case 0x042F: - sb.AppendLine("Device complies with MMC-5 T10/1675-D revision 03"); + sb.AppendLine(Localization.Device_complies_with_MMC_5_T10_1675_D_revision_03); break; case 0x0431: - sb.AppendLine("Device complies with MMC-5 T10/1675-D revision 03b"); + sb.AppendLine(Localization.Device_complies_with_MMC_5_T10_1675_D_revision_03b); break; case 0x0432: - sb.AppendLine("Device complies with MMC-5 T10/1675-D revision 04"); + sb.AppendLine(Localization.Device_complies_with_MMC_5_T10_1675_D_revision_04); break; case 0x0434: - sb.AppendLine("Device complies with MMC-5 ANSI INCITS 430-2007"); + sb.AppendLine(Localization.Device_complies_with_MMC_5_ANSI_INCITS_430_2007); break; case 0x0440: - sb.AppendLine("Device complies with OSD-2 (no version claimed)"); + sb.AppendLine(Localization.Device_complies_with_OSD_2_no_version_claimed); break; case 0x0444: - sb.AppendLine("Device complies with OSD-2 T10/1729-D revision 4"); + sb.AppendLine(Localization.Device_complies_with_OSD_2_T10_1729_D_revision_4); break; case 0x0446: - sb.AppendLine("Device complies with OSD-2 T10/1729-D revision 5"); + sb.AppendLine(Localization.Device_complies_with_OSD_2_T10_1729_D_revision_5); break; case 0x0448: - sb.AppendLine("Device complies with OSD-2 ANSI INCITS 458-2011"); + sb.AppendLine(Localization.Device_complies_with_OSD_2_ANSI_INCITS_458_2011); break; case 0x0460: - sb.AppendLine("Device complies with SPC-4 (no version claimed)"); + sb.AppendLine(Localization.Device_complies_with_SPC_4_no_version_claimed); break; case 0x0461: - sb.AppendLine("Device complies with SPC-4 T10/BSR INCITS 513 revision 16"); + sb.AppendLine(Localization.Device_complies_with_SPC_4_T10_BSR_INCITS_513_revision_16); break; case 0x0462: - sb.AppendLine("Device complies with SPC-4 T10/BSR INCITS 513 revision 18"); + sb.AppendLine(Localization.Device_complies_with_SPC_4_T10_BSR_INCITS_513_revision_18); break; case 0x0463: - sb.AppendLine("Device complies with SPC-4 T10/BSR INCITS 513 revision 23"); + sb.AppendLine(Localization.Device_complies_with_SPC_4_T10_BSR_INCITS_513_revision_23); break; case 0x0466: - sb.AppendLine("Device complies with SPC-4 T10/BSR INCITS 513 revision 36"); + sb.AppendLine(Localization.Device_complies_with_SPC_4_T10_BSR_INCITS_513_revision_36); break; case 0x0468: - sb.AppendLine("Device complies with SPC-4 T10/BSR INCITS 513 revision 37"); + sb.AppendLine(Localization.Device_complies_with_SPC_4_T10_BSR_INCITS_513_revision_37); break; case 0x0469: - sb.AppendLine("Device complies with SPC-4 T10/BSR INCITS 513 revision 37a"); + sb.AppendLine(Localization.Device_complies_with_SPC_4_T10_BSR_INCITS_513_revision_37a); break; case 0x046C: - sb.AppendLine("Device complies with SPC-4 ANSI INCITS 513-2015"); + sb.AppendLine(Localization.Device_complies_with_SPC_4_ANSI_INCITS_513_2015); break; case 0x0480: - sb.AppendLine("Device complies with SMC-3 (no version claimed)"); + sb.AppendLine(Localization.Device_complies_with_SMC_3_no_version_claimed); break; case 0x0482: - sb.AppendLine("Device complies with SMC-3 T10/1730-D revision 15"); + sb.AppendLine(Localization.Device_complies_with_SMC_3_T10_1730_D_revision_15); break; case 0x0484: - sb.AppendLine("Device complies with SMC-3 T10/1730-D revision 16"); + sb.AppendLine(Localization.Device_complies_with_SMC_3_T10_1730_D_revision_16); break; case 0x0486: - sb.AppendLine("Device complies with SMC-3 ANSI INCITS 484-2012"); + sb.AppendLine(Localization.Device_complies_with_SMC_3_ANSI_INCITS_484_2012); break; case 0x04A0: - sb.AppendLine("Device complies with ADC-2 (no version claimed)"); + sb.AppendLine(Localization.Device_complies_with_ADC_2_no_version_claimed); break; case 0x04A7: - sb.AppendLine("Device complies with ADC-2 T10/1741-D revision 7"); + sb.AppendLine(Localization.Device_complies_with_ADC_2_T10_1741_D_revision_7); break; case 0x04AA: - sb.AppendLine("Device complies with ADC-2 T10/1741-D revision 8"); + sb.AppendLine(Localization.Device_complies_with_ADC_2_T10_1741_D_revision_8); break; case 0x04AC: - sb.AppendLine("Device complies with ADC-2 ANSI INCITS 441-2008"); + sb.AppendLine(Localization.Device_complies_with_ADC_2_ANSI_INCITS_441_2008); break; case 0x04C0: - sb.AppendLine("Device complies with SBC-3 (no version claimed)"); + sb.AppendLine(Localization.Device_complies_with_SBC_3_no_version_claimed); break; case 0x04C3: - sb.AppendLine("Device complies with SBC-3 T10/BSR INCITS 514 revision 35"); + sb.AppendLine(Localization.Device_complies_with_SBC_3_T10_BSR_INCITS_514_revision_35); break; case 0x04C5: - sb.AppendLine("Device complies with SBC-3 T10/BSR INCITS 514 revision 36"); + sb.AppendLine(Localization.Device_complies_with_SBC_3_T10_BSR_INCITS_514_revision_36); break; case 0x04C8: - sb.AppendLine("Device complies with SBC-3 ANSI INCITS 514-2014"); + sb.AppendLine(Localization.Device_complies_with_SBC_3_ANSI_INCITS_514_2014); break; case 0x04E0: - sb.AppendLine("Device complies with MMC-6 (no version claimed)"); + sb.AppendLine(Localization.Device_complies_with_MMC_6_no_version_claimed); break; case 0x04E3: - sb.AppendLine("Device complies with MMC-6 T10/1836-D revision 02b"); + sb.AppendLine(Localization.Device_complies_with_MMC_6_T10_1836_D_revision_02b); break; case 0x04E5: - sb.AppendLine("Device complies with MMC-6 T10/1836-D revision 02g"); + sb.AppendLine(Localization.Device_complies_with_MMC_6_T10_1836_D_revision_02g); break; case 0x04E6: - sb.AppendLine("Device complies with MMC-6 ANSI INCITS 468-2010"); + sb.AppendLine(Localization.Device_complies_with_MMC_6_ANSI_INCITS_468_2010); break; case 0x04E7: - sb.AppendLine("Device complies with MMC-6 ANSI INCITS 468-2010 + MMC-6/AM1 ANSI INCITS 468-2010/AM 1"); + sb.AppendLine(Localization. + Device_complies_with_MMC_6_ANSI_INCITS_468_2010_MMC_6_AM1_ANSI_INCITS_468_2010_AM_1); break; case 0x0500: - sb.AppendLine("Device complies with ADC-3 (no version claimed)"); + sb.AppendLine(Localization.Device_complies_with_ADC_3_no_version_claimed); break; case 0x0502: - sb.AppendLine("Device complies with ADC-3 T10/1895-D revision 04"); + sb.AppendLine(Localization.Device_complies_with_ADC_3_T10_1895_D_revision_04); break; case 0x0504: - sb.AppendLine("Device complies with ADC-3 T10/1895-D revision 05"); + sb.AppendLine(Localization.Device_complies_with_ADC_3_T10_1895_D_revision_05); break; case 0x0506: - sb.AppendLine("Device complies with ADC-3 T10/1895-D revision 05a"); + sb.AppendLine(Localization.Device_complies_with_ADC_3_T10_1895_D_revision_05a); break; case 0x050A: - sb.AppendLine("Device complies with ADC-3 ANSI INCITS 497-2012"); + sb.AppendLine(Localization.Device_complies_with_ADC_3_ANSI_INCITS_497_2012); break; case 0x0520: - sb.AppendLine("Device complies with SSC-4 (no version claimed)"); + sb.AppendLine(Localization.Device_complies_with_SSC_4_no_version_claimed); break; case 0x0523: - sb.AppendLine("Device complies with SSC-4 T10/BSR INCITS 516 revision 2"); + sb.AppendLine(Localization.Device_complies_with_SSC_4_T10_BSR_INCITS_516_revision_2); break; case 0x0525: - sb.AppendLine("Device complies with SSC-4 T10/BSR INCITS 516 revision 3"); + sb.AppendLine(Localization.Device_complies_with_SSC_4_T10_BSR_INCITS_516_revision_3); break; case 0x0527: - sb.AppendLine("Device complies with SSC-4 ANSI INCITS 516-2013"); + sb.AppendLine(Localization.Device_complies_with_SSC_4_ANSI_INCITS_516_2013); break; case 0x0560: - sb.AppendLine("Device complies with OSD-3 (no version claimed)"); + sb.AppendLine(Localization.Device_complies_with_OSD_3_no_version_claimed); break; case 0x0580: - sb.AppendLine("Device complies with SES-3 (no version claimed)"); + sb.AppendLine(Localization.Device_complies_with_SES_3_no_version_claimed); break; case 0x05A0: - sb.AppendLine("Device complies with SSC-5 (no version claimed)"); + sb.AppendLine(Localization.Device_complies_with_SSC_5_no_version_claimed); break; case 0x05C0: - sb.AppendLine("Device complies with SPC-5 (no version claimed)"); + sb.AppendLine(Localization.Device_complies_with_SPC_5_no_version_claimed); break; case 0x05E0: - sb.AppendLine("Device complies with SFSC (no version claimed)"); + sb.AppendLine(Localization.Device_complies_with_SFSC_no_version_claimed); break; case 0x05E3: - sb.AppendLine("Device complies with SFSC BSR INCITS 501 revision 01"); + sb.AppendLine(Localization.Device_complies_with_SFSC_BSR_INCITS_501_revision_01); break; case 0x0600: - sb.AppendLine("Device complies with SBC-4 (no version claimed)"); + sb.AppendLine(Localization.Device_complies_with_SBC_4_no_version_claimed); break; case 0x0620: - sb.AppendLine("Device complies with ZBC (no version claimed)"); + sb.AppendLine(Localization.Device_complies_with_ZBC_no_version_claimed); break; case 0x0622: - sb.AppendLine("Device complies with ZBC BSR INCITS 536 revision 02"); + sb.AppendLine(Localization.Device_complies_with_ZBC_BSR_INCITS_536_revision_02); break; case 0x0640: - sb.AppendLine("Device complies with ADC-4 (no version claimed)"); + sb.AppendLine(Localization.Device_complies_with_ADC_4_no_version_claimed); break; case 0x0820: - sb.AppendLine("Device complies with SSA-TL2 (no version claimed)"); + sb.AppendLine(Localization.Device_complies_with_SSA_TL2_no_version_claimed); break; case 0x083B: - sb.AppendLine("Device complies with SSA-TL2 T10.1/1147-D revision 05b"); + sb.AppendLine(Localization.Device_complies_with_SSA_TL2_T10_1_1147_D_revision_05b); break; case 0x083C: - sb.AppendLine("Device complies with SSA-TL2 ANSI INCITS 308-1998"); + sb.AppendLine(Localization.Device_complies_with_SSA_TL2_ANSI_INCITS_308_1998); break; case 0x0840: - sb.AppendLine("Device complies with SSA-TL1 (no version claimed)"); + sb.AppendLine(Localization.Device_complies_with_SSA_TL1_no_version_claimed); break; case 0x085B: - sb.AppendLine("Device complies with SSA-TL1 T10.1/0989-D revision 10b"); + sb.AppendLine(Localization.Device_complies_with_SSA_TL1_T10_1_0989_D_revision_10b); break; case 0x085C: - sb.AppendLine("Device complies with SSA-TL1 ANSI INCITS 295-1996"); + sb.AppendLine(Localization.Device_complies_with_SSA_TL1_ANSI_INCITS_295_1996); break; case 0x0860: - sb.AppendLine("Device complies with SSA-S3P (no version claimed)"); + sb.AppendLine(Localization.Device_complies_with_SSA_S3P_no_version_claimed); break; case 0x087B: - sb.AppendLine("Device complies with SSA-S3P T10.1/1051-D revision 05b"); + sb.AppendLine(Localization.Device_complies_with_SSA_S3P_T10_1_1051_D_revision_05b); break; case 0x087C: - sb.AppendLine("Device complies with SSA-S3P ANSI INCITS 309-1998"); + sb.AppendLine(Localization.Device_complies_with_SSA_S3P_ANSI_INCITS_309_1998); break; case 0x0880: - sb.AppendLine("Device complies with SSA-S2P (no version claimed)"); + sb.AppendLine(Localization.Device_complies_with_SSA_S2P_no_version_claimed); break; case 0x089B: - sb.AppendLine("Device complies with SSA-S2P T10.1/1121-D revision 07b"); + sb.AppendLine(Localization.Device_complies_with_SSA_S2P_T10_1_1121_D_revision_07b); break; case 0x089C: - sb.AppendLine("Device complies with SSA-S2P ANSI INCITS 294-1996"); + sb.AppendLine(Localization.Device_complies_with_SSA_S2P_ANSI_INCITS_294_1996); break; case 0x08A0: - sb.AppendLine("Device complies with SIP (no version claimed)"); + sb.AppendLine(Localization.Device_complies_with_SIP_no_version_claimed); break; case 0x08BB: - sb.AppendLine("Device complies with SIP T10/0856-D revision 10"); + sb.AppendLine(Localization.Device_complies_with_SIP_T10_0856_D_revision_10); break; case 0x08BC: - sb.AppendLine("Device complies with SIP ANSI INCITS 292-1997"); + sb.AppendLine(Localization.Device_complies_with_SIP_ANSI_INCITS_292_1997); break; case 0x08C0: - sb.AppendLine("Device complies with FCP (no version claimed)"); + sb.AppendLine(Localization.Device_complies_with_FCP_no_version_claimed); break; case 0x08DB: - sb.AppendLine("Device complies with FCP T10/0993-D revision 12"); + sb.AppendLine(Localization.Device_complies_with_FCP_T10_0993_D_revision_12); break; case 0x08DC: - sb.AppendLine("Device complies with FCP ANSI INCITS 269-1996"); + sb.AppendLine(Localization.Device_complies_with_FCP_ANSI_INCITS_269_1996); break; case 0x08E0: - sb.AppendLine("Device complies with SBP-2 (no version claimed)"); + sb.AppendLine(Localization.Device_complies_with_SBP_2_no_version_claimed); break; case 0x08FB: - sb.AppendLine("Device complies with SBP-2 T10/1155-D revision 04"); + sb.AppendLine(Localization.Device_complies_with_SBP_2_T10_1155_D_revision_04); break; case 0x08FC: - sb.AppendLine("Device complies with SBP-2 ANSI INCITS 325-1998"); + sb.AppendLine(Localization.Device_complies_with_SBP_2_ANSI_INCITS_325_1998); break; case 0x0900: - sb.AppendLine("Device complies with FCP-2 (no version claimed)"); + sb.AppendLine(Localization.Device_complies_with_FCP_2_no_version_claimed); break; case 0x0901: - sb.AppendLine("Device complies with FCP-2 T10/1144-D revision 4"); + sb.AppendLine(Localization.Device_complies_with_FCP_2_T10_1144_D_revision_4); break; case 0x0915: - sb.AppendLine("Device complies with FCP-2 T10/1144-D revision 7"); + sb.AppendLine(Localization.Device_complies_with_FCP_2_T10_1144_D_revision_7); break; case 0x0916: - sb.AppendLine("Device complies with FCP-2 T10/1144-D revision 7a"); + sb.AppendLine(Localization.Device_complies_with_FCP_2_T10_1144_D_revision_7a); break; case 0x0917: - sb.AppendLine("Device complies with FCP-2 ANSI INCITS 350-2003"); + sb.AppendLine(Localization.Device_complies_with_FCP_2_ANSI_INCITS_350_2003); break; case 0x0918: - sb.AppendLine("Device complies with FCP-2 T10/1144-D revision 8"); + sb.AppendLine(Localization.Device_complies_with_FCP_2_T10_1144_D_revision_8); break; case 0x0920: - sb.AppendLine("Device complies with SST (no version claimed)"); + sb.AppendLine(Localization.Device_complies_with_SST_no_version_claimed); break; case 0x0935: - sb.AppendLine("Device complies with SST T10/1380-D revision 8b"); + sb.AppendLine(Localization.Device_complies_with_SST_T10_1380_D_revision_8b); break; case 0x0940: - sb.AppendLine("Device complies with SRP (no version claimed)"); + sb.AppendLine(Localization.Device_complies_with_SRP_no_version_claimed); break; case 0x0954: - sb.AppendLine("Device complies with SRP T10/1415-D revision 10"); + sb.AppendLine(Localization.Device_complies_with_SRP_T10_1415_D_revision_10); break; case 0x0955: - sb.AppendLine("Device complies with SRP T10/1415-D revision 16a"); + sb.AppendLine(Localization.Device_complies_with_SRP_T10_1415_D_revision_16a); break; case 0x095C: - sb.AppendLine("Device complies with SRP ANSI INCITS 365-2002"); + sb.AppendLine(Localization.Device_complies_with_SRP_ANSI_INCITS_365_2002); break; case 0x0960: - sb.AppendLine("Device complies with iSCSI (no version claimed)"); + sb.AppendLine(Localization.Device_complies_with_iSCSI_no_version_claimed); break; case 0x0961: @@ -1270,1004 +1275,1021 @@ public static class Inquiry case 0x097D: case 0x097E: case 0x097F: - sb.AppendFormat("Device complies with iSCSI revision {0}", VersionDescriptor & 0x1F). + sb.AppendFormat(Localization.Device_complies_with_iSCSI_revision_0, VersionDescriptor & 0x1F). AppendLine(); break; case 0x0980: - sb.AppendLine("Device complies with SBP-3 (no version claimed)"); + sb.AppendLine(Localization.Device_complies_with_SBP_3_no_version_claimed); break; case 0x0982: - sb.AppendLine("Device complies with SBP-3 T10/1467-D revision 1f"); + sb.AppendLine(Localization.Device_complies_with_SBP_3_T10_1467_D_revision_1f); break; case 0x0994: - sb.AppendLine("Device complies with SBP-3 T10/1467-D revision 3"); + sb.AppendLine(Localization.Device_complies_with_SBP_3_T10_1467_D_revision_3); break; case 0x099A: - sb.AppendLine("Device complies with SBP-3 T10/1467-D revision 4"); + sb.AppendLine(Localization.Device_complies_with_SBP_3_T10_1467_D_revision_4); break; case 0x099B: - sb.AppendLine("Device complies with SBP-3 T10/1467-D revision 5"); + sb.AppendLine(Localization.Device_complies_with_SBP_3_T10_1467_D_revision_5); break; case 0x099C: - sb.AppendLine("Device complies with SBP-3 ANSI INCITS 375-2004"); + sb.AppendLine(Localization.Device_complies_with_SBP_3_ANSI_INCITS_375_2004); break; case 0x09C0: - sb.AppendLine("Device complies with ADP (no version claimed)"); + sb.AppendLine(Localization.Device_complies_with_ADP_no_version_claimed); break; case 0x09E0: - sb.AppendLine("Device complies with ADT (no version claimed)"); + sb.AppendLine(Localization.Device_complies_with_ADT_no_version_claimed); break; case 0x09F9: - sb.AppendLine("Device complies with ADT T10/1557-D revision 11"); + sb.AppendLine(Localization.Device_complies_with_ADT_T10_1557_D_revision_11); break; case 0x09FA: - sb.AppendLine("Device complies with ADT T10/1557-D revision 14"); + sb.AppendLine(Localization.Device_complies_with_ADT_T10_1557_D_revision_14); break; case 0x09FD: - sb.AppendLine("Device complies with ADT ANSI INCITS 406-2005"); + sb.AppendLine(Localization.Device_complies_with_ADT_ANSI_INCITS_406_2005); break; case 0x0A00: - sb.AppendLine("Device complies with FCP-3 (no version claimed)"); + sb.AppendLine(Localization.Device_complies_with_FCP_3_no_version_claimed); break; case 0x0A07: - sb.AppendLine("Device complies with FCP-3 T10/1560-D revision 3f"); + sb.AppendLine(Localization.Device_complies_with_FCP_3_T10_1560_D_revision_3f); break; case 0x0A0F: - sb.AppendLine("Device complies with FCP-3 T10/1560-D revision 4"); + sb.AppendLine(Localization.Device_complies_with_FCP_3_T10_1560_D_revision_4); break; case 0x0A11: - sb.AppendLine("Device complies with FCP-3 ANSI INCITS 416-2006"); + sb.AppendLine(Localization.Device_complies_with_FCP_3_ANSI_INCITS_416_2006); break; case 0x0A1C: - sb.AppendLine("Device complies with FCP-3 ISO/IEC 14776-223"); + sb.AppendLine(Localization.Device_complies_with_FCP_3_ISO_IEC_14776_223); break; case 0x0A20: - sb.AppendLine("Device complies with ADT-2 (no version claimed)"); + sb.AppendLine(Localization.Device_complies_with_ADT_2_no_version_claimed); break; case 0x0A22: - sb.AppendLine("Device complies with ADT-2 T10/1742-D revision 06"); + sb.AppendLine(Localization.Device_complies_with_ADT_2_T10_1742_D_revision_06); break; case 0x0A27: - sb.AppendLine("Device complies with ADT-2 T10/1742-D revision 08"); + sb.AppendLine(Localization.Device_complies_with_ADT_2_T10_1742_D_revision_08); break; case 0x0A28: - sb.AppendLine("Device complies with ADT-2 T10/1742-D revision 09"); + sb.AppendLine(Localization.Device_complies_with_ADT_2_T10_1742_D_revision_09); break; case 0x0A2B: - sb.AppendLine("Device complies with ADT-2 ANSI INCITS 472-2011"); + sb.AppendLine(Localization.Device_complies_with_ADT_2_ANSI_INCITS_472_2011); break; case 0x0A40: - sb.AppendLine("Device complies with FCP-4 (no version claimed)"); + sb.AppendLine(Localization.Device_complies_with_FCP_4_no_version_claimed); break; case 0x0A42: - sb.AppendLine("Device complies with FCP-4 T10/1828-D revision 01"); + sb.AppendLine(Localization.Device_complies_with_FCP_4_T10_1828_D_revision_01); break; case 0x0A44: - sb.AppendLine("Device complies with FCP-4 T10/1828-D revision 02"); + sb.AppendLine(Localization.Device_complies_with_FCP_4_T10_1828_D_revision_02); break; case 0x0A45: - sb.AppendLine("Device complies with FCP-4 T10/1828-D revision 02b"); + sb.AppendLine(Localization.Device_complies_with_FCP_4_T10_1828_D_revision_02b); break; case 0x0A46: - sb.AppendLine("Device complies with FCP-4 ANSI INCITS 481-2012"); + sb.AppendLine(Localization.Device_complies_with_FCP_4_ANSI_INCITS_481_2012); break; case 0x0A60: - sb.AppendLine("Device complies with ADT-3 (no version claimed)"); + sb.AppendLine(Localization.Device_complies_with_ADT_3_no_version_claimed); break; case 0x0AA0: - sb.AppendLine("Device complies with SPI (no version claimed)"); + sb.AppendLine(Localization.Device_complies_with_SPI_no_version_claimed); break; case 0x0AB9: - sb.AppendLine("Device complies with SPI T10/0855-D revision 15a"); + sb.AppendLine(Localization.Device_complies_with_SPI_T10_0855_D_revision_15a); break; case 0x0ABA: - sb.AppendLine("Device complies with SPI ANSI INCITS 253-1995"); + sb.AppendLine(Localization.Device_complies_with_SPI_ANSI_INCITS_253_1995); break; case 0x0ABB: - sb.AppendLine("Device complies with SPI T10/0855-D revision 15a with SPI Amnd revision 3a"); + sb.AppendLine(Localization. + Device_complies_with_SPI_T10_0855_D_revision_15a_with_SPI_Amnd_revision_3a); break; case 0x0ABC: - sb.AppendLine("Device complies with SPI ANSI INCITS 253-1995 with SPI Amnd ANSI INCITS 253/AM1-1998"); + sb.AppendLine(Localization. + Device_complies_with_SPI_ANSI_INCITS_253_1995_with_SPI_Amnd_ANSI_INCITS_253_AM1_1998); break; case 0x0AC0: - sb.AppendLine("Device complies with Fast-20 (no version claimed)"); + sb.AppendLine(Localization.Device_complies_with_Fast_20_no_version_claimed); break; case 0x0ADB: - sb.AppendLine("Device complies with Fast-20 T10/1071 revision 06"); + sb.AppendLine(Localization.Device_complies_with_Fast_20_T10_1071_revision_06); break; case 0x0ADC: - sb.AppendLine("Device complies with Fast-20 ANSI INCITS 277-1996"); + sb.AppendLine(Localization.Device_complies_with_Fast_20_ANSI_INCITS_277_1996); break; case 0x0AE0: - sb.AppendLine("Device complies with SPI-2 (no version claimed)"); + sb.AppendLine(Localization.Device_complies_with_SPI_2_no_version_claimed); break; case 0x0AFB: - sb.AppendLine("Device complies with SPI-2 T10/1142-D revision 20b"); + sb.AppendLine(Localization.Device_complies_with_SPI_2_T10_1142_D_revision_20b); break; case 0x0AFC: - sb.AppendLine("Device complies with SPI-2 ANSI INCITS 302-1999"); + sb.AppendLine(Localization.Device_complies_with_SPI_2_ANSI_INCITS_302_1999); break; case 0x0B00: - sb.AppendLine("Device complies with SPI-3 (no version claimed)"); + sb.AppendLine(Localization.Device_complies_with_SPI_3_no_version_claimed); break; case 0x0B18: - sb.AppendLine("Device complies with SPI-3 T10/1302-D revision 10"); + sb.AppendLine(Localization.Device_complies_with_SPI_3_T10_1302_D_revision_10); break; case 0x0B19: - sb.AppendLine("Device complies with SPI-3 T10/1302-D revision 13a"); + sb.AppendLine(Localization.Device_complies_with_SPI_3_T10_1302_D_revision_13a); break; case 0x0B1A: - sb.AppendLine("Device complies with SPI-3 T10/1302-D revision 14"); + sb.AppendLine(Localization.Device_complies_with_SPI_3_T10_1302_D_revision_14); break; case 0x0B1C: - sb.AppendLine("Device complies with SPI-3 ANSI INCITS 336-2000"); + sb.AppendLine(Localization.Device_complies_with_SPI_3_ANSI_INCITS_336_2000); break; case 0x0B20: - sb.AppendLine("Device complies with EPI (no version claimed)"); + sb.AppendLine(Localization.Device_complies_with_EPI_no_version_claimed); break; case 0x0B3B: - sb.AppendLine("Device complies with EPI T10/1134 revision 16"); + sb.AppendLine(Localization.Device_complies_with_EPI_T10_1134_revision_16); break; case 0x0B3C: - sb.AppendLine("Device complies with EPI ANSI INCITS TR-23 1999"); + sb.AppendLine(Localization.Device_complies_with_EPI_ANSI_INCITS_TR_23_1999); break; case 0x0B40: - sb.AppendLine("Device complies with SPI-4 (no version claimed)"); + sb.AppendLine(Localization.Device_complies_with_SPI_4_no_version_claimed); break; case 0x0B54: - sb.AppendLine("Device complies with SPI-4 T10/1365-D revision 7"); + sb.AppendLine(Localization.Device_complies_with_SPI_4_T10_1365_D_revision_7); break; case 0x0B55: - sb.AppendLine("Device complies with SPI-4 T10/1365-D revision 9"); + sb.AppendLine(Localization.Device_complies_with_SPI_4_T10_1365_D_revision_9); break; case 0x0B56: - sb.AppendLine("Device complies with SPI-4 ANSI INCITS 362-2002"); + sb.AppendLine(Localization.Device_complies_with_SPI_4_ANSI_INCITS_362_2002); break; case 0x0B59: - sb.AppendLine("Device complies with SPI-4 T10/1365-D revision 10"); + sb.AppendLine(Localization.Device_complies_with_SPI_4_T10_1365_D_revision_10); break; case 0x0B60: - sb.AppendLine("Device complies with SPI-5 (no version claimed)"); + sb.AppendLine(Localization.Device_complies_with_SPI_5_no_version_claimed); break; case 0x0B79: - sb.AppendLine("Device complies with SPI-5 T10/1525-D revision 3"); + sb.AppendLine(Localization.Device_complies_with_SPI_5_T10_1525_D_revision_3); break; case 0x0B7A: - sb.AppendLine("Device complies with SPI-5 T10/1525-D revision 5"); + sb.AppendLine(Localization.Device_complies_with_SPI_5_T10_1525_D_revision_5); break; case 0x0B7B: - sb.AppendLine("Device complies with SPI-5 T10/1525-D revision 6"); + sb.AppendLine(Localization.Device_complies_with_SPI_5_T10_1525_D_revision_6); break; case 0x0B7C: - sb.AppendLine("Device complies with SPI-5 ANSI INCITS 367-2003"); + sb.AppendLine(Localization.Device_complies_with_SPI_5_ANSI_INCITS_367_2003); break; case 0x0BE0: - sb.AppendLine("Device complies with SAS (no version claimed)"); + sb.AppendLine(Localization.Device_complies_with_SAS_no_version_claimed); break; case 0x0BE1: - sb.AppendLine("Device complies with SAS T10/1562-D revision 01"); + sb.AppendLine(Localization.Device_complies_with_SAS_T10_1562_D_revision_01); break; case 0x0BF5: - sb.AppendLine("Device complies with SAS T10/1562-D revision 03"); + sb.AppendLine(Localization.Device_complies_with_SAS_T10_1562_D_revision_03); break; case 0x0BFA: - sb.AppendLine("Device complies with SAS T10/1562-D revision 04"); + sb.AppendLine(Localization.Device_complies_with_SAS_T10_1562_D_revision_04); break; case 0x0BFB: - sb.AppendLine("Device complies with SAS T10/1562-D revision 04"); + sb.AppendLine(Localization.Device_complies_with_SAS_T10_1562_D_revision_04); break; case 0x0BFC: - sb.AppendLine("Device complies with SAS T10/1562-D revision 05"); + sb.AppendLine(Localization.Device_complies_with_SAS_T10_1562_D_revision_05); break; case 0x0BFD: - sb.AppendLine("Device complies with SAS ANSI INCITS 376-2003"); + sb.AppendLine(Localization.Device_complies_with_SAS_ANSI_INCITS_376_2003); break; case 0x0C00: - sb.AppendLine("Device complies with SAS-1.1 (no version claimed)"); + sb.AppendLine(Localization.Device_complies_with_SAS_1_1_no_version_claimed); break; case 0x0C07: - sb.AppendLine("Device complies with SAS-1.1 T10/1601-D revision 9"); + sb.AppendLine(Localization.Device_complies_with_SAS_1_1_T10_1601_D_revision_9); break; case 0x0C0F: - sb.AppendLine("Device complies with SAS-1.1 T10/1601-D revision 10"); + sb.AppendLine(Localization.Device_complies_with_SAS_1_1_T10_1601_D_revision_10); break; case 0x0C11: - sb.AppendLine("Device complies with SAS-1.1 ANSI INCITS 417-2006"); + sb.AppendLine(Localization.Device_complies_with_SAS_1_1_ANSI_INCITS_417_2006); break; case 0x0C12: - sb.AppendLine("Device complies with SAS-1.1 ISO/IEC 14776-151"); + sb.AppendLine(Localization.Device_complies_with_SAS_1_1_ISO_IEC_14776_151); break; case 0x0C20: - sb.AppendLine("Device complies with SAS-2 (no version claimed)"); + sb.AppendLine(Localization.Device_complies_with_SAS_2_no_version_claimed); break; case 0x0C23: - sb.AppendLine("Device complies with SAS-2 T10/1760-D revision 14"); + sb.AppendLine(Localization.Device_complies_with_SAS_2_T10_1760_D_revision_14); break; case 0x0C27: - sb.AppendLine("Device complies with SAS-2 T10/1760-D revision 15"); + sb.AppendLine(Localization.Device_complies_with_SAS_2_T10_1760_D_revision_15); break; case 0x0C28: - sb.AppendLine("Device complies with SAS-2 T10/1760-D revision 16"); + sb.AppendLine(Localization.Device_complies_with_SAS_2_T10_1760_D_revision_16); break; case 0x0C2A: - sb.AppendLine("Device complies with SAS-2 ANSI INCITS 457-2010"); + sb.AppendLine(Localization.Device_complies_with_SAS_2_ANSI_INCITS_457_2010); break; case 0x0C40: - sb.AppendLine("Device complies with SAS-2.1 (no version claimed)"); + sb.AppendLine(Localization.Device_complies_with_SAS_2_1_no_version_claimed); break; case 0x0C48: - sb.AppendLine("Device complies with SAS-2.1 T10/2125-D revision 04"); + sb.AppendLine(Localization.Device_complies_with_SAS_2_1_T10_2125_D_revision_04); break; case 0x0C4A: - sb.AppendLine("Device complies with SAS-2.1 T10/2125-D revision 06"); + sb.AppendLine(Localization.Device_complies_with_SAS_2_1_T10_2125_D_revision_06); break; case 0x0C4B: - sb.AppendLine("Device complies with SAS-2.1 T10/2125-D revision 07"); + sb.AppendLine(Localization.Device_complies_with_SAS_2_1_T10_2125_D_revision_07); break; case 0x0C4E: - sb.AppendLine("Device complies with SAS-2.1 ANSI INCITS 478-2011"); + sb.AppendLine(Localization.Device_complies_with_SAS_2_1_ANSI_INCITS_478_2011); break; case 0x0C4F: - sb.AppendLine("Device complies with SAS-2.1 ANSI INCITS 478-2011 w/ Amnd 1 ANSI INCITS 478/AM1-2014"); + sb.AppendLine(Localization. + Device_complies_with_SAS_2_1_ANSI_INCITS_478_2011_w__Amnd_1_ANSI_INCITS_478_AM1_2014); break; case 0x0C52: - sb.AppendLine("Device complies with SAS-2.1 ISO/IEC 14776-153"); + sb.AppendLine(Localization.Device_complies_with_SAS_2_1_ISO_IEC_14776_153); break; case 0x0C60: - sb.AppendLine("Device complies with SAS-3 (no version claimed)"); + sb.AppendLine(Localization.Device_complies_with_SAS_3_no_version_claimed); break; case 0x0C63: - sb.AppendLine("Device complies with SAS-3 T10/BSR INCITS 519 revision 05a"); + sb.AppendLine(Localization.Device_complies_with_SAS_3_T10_BSR_INCITS_519_revision_05a); break; case 0x0C65: - sb.AppendLine("Device complies with SAS-3 T10/BSR INCITS 519 revision 06"); + sb.AppendLine(Localization.Device_complies_with_SAS_3_T10_BSR_INCITS_519_revision_06); break; case 0x0C68: - sb.AppendLine("Device complies with SAS-3 ANSI INCITS 519-2014"); + sb.AppendLine(Localization.Device_complies_with_SAS_3_ANSI_INCITS_519_2014); break; case 0x0C80: - sb.AppendLine("Device complies with SAS-4 (no version claimed)"); + sb.AppendLine(Localization.Device_complies_with_SAS_4_no_version_claimed); break; case 0x0D20: - sb.AppendLine("Device complies with FC-PH (no version claimed)"); + sb.AppendLine(Localization.Device_complies_with_FC_PH_no_version_claimed); break; case 0x0D3B: - sb.AppendLine("Device complies with FC-PH ANSI INCITS 230-1994"); + sb.AppendLine(Localization.Device_complies_with_FC_PH_ANSI_INCITS_230_1994); break; case 0x0D3C: - sb.AppendLine("Device complies with FC-PH ANSI INCITS 230-1994 with Amnd 1 ANSI INCITS 230/AM1-1996"); + sb.AppendLine(Localization. + Device_complies_with_FC_PH_ANSI_INCITS_230_1994_with_Amnd_1_ANSI_INCITS_230_AM1_1996); break; case 0x0D40: - sb.AppendLine("Device complies with FC-AL (no version claimed)"); + sb.AppendLine(Localization.Device_complies_with_FC_AL_no_version_claimed); break; case 0x0D5C: - sb.AppendLine("Device complies with FC-AL ANSI INCITS 272-1996"); + sb.AppendLine(Localization.Device_complies_with_FC_AL_ANSI_INCITS_272_1996); break; case 0x0D60: - sb.AppendLine("Device complies with FC-AL-2 (no version claimed)"); + sb.AppendLine(Localization.Device_complies_with_FC_AL_2_no_version_claimed); break; case 0x0D61: - sb.AppendLine("Device complies with FC-AL-2 T11/1133-D revision 7.0"); + sb.AppendLine(Localization.Device_complies_with_FC_AL_2_T11_1133_D_revision_7_0); break; case 0x0D63: - sb.AppendLine("Device complies with FC-AL-2 ANSI INCITS 332-1999 with AM1-2003 & AM2-2006"); + sb.AppendLine(Localization. + Device_complies_with_FC_AL_2_ANSI_INCITS_332_1999_with_AM1_2003___AM2_2006); break; case 0x0D64: - sb.AppendLine("Device complies with FC-AL-2 ANSI INCITS 332-1999 with Amnd 2 AM2-2006"); + sb.AppendLine(Localization. + Device_complies_with_FC_AL_2_ANSI_INCITS_332_1999_with_Amnd_2_AM2_2006); break; case 0x0D65: - sb.AppendLine("Device complies with FC-AL-2 ISO/IEC 14165-122 with AM1 & AM2"); + sb.AppendLine(Localization.Device_complies_with_FC_AL_2_ISO_IEC_14165_122_with_AM1___AM2); break; case 0x0D7C: - sb.AppendLine("Device complies with FC-AL-2 ANSI INCITS 332-1999"); + sb.AppendLine(Localization.Device_complies_with_FC_AL_2_ANSI_INCITS_332_1999); break; case 0x0D7D: - sb.AppendLine("Device complies with FC-AL-2 ANSI INCITS 332-1999 with Amnd 1 AM1-2003"); + sb.AppendLine(Localization. + Device_complies_with_FC_AL_2_ANSI_INCITS_332_1999_with_Amnd_1_AM1_2003); break; case 0x0D80: - sb.AppendLine("Device complies with FC-PH-3 (no version claimed)"); + sb.AppendLine(Localization.Device_complies_with_FC_PH_3_no_version_claimed); break; case 0x0D9C: - sb.AppendLine("Device complies with FC-PH-3 ANSI INCITS 303-1998"); + sb.AppendLine(Localization.Device_complies_with_FC_PH_3_ANSI_INCITS_303_1998); break; case 0x0DA0: - sb.AppendLine("Device complies with FC-FS (no version claimed)"); + sb.AppendLine(Localization.Device_complies_with_FC_FS_no_version_claimed); break; case 0x0DB7: - sb.AppendLine("Device complies with FC-FS T11/1331-D revision 1.2"); + sb.AppendLine(Localization.Device_complies_with_FC_FS_T11_1331_D_revision_1_2); break; case 0x0DB8: - sb.AppendLine("Device complies with FC-FS T11/1331-D revision 1.7"); + sb.AppendLine(Localization.Device_complies_with_FC_FS_T11_1331_D_revision_1_7); break; case 0x0DBC: - sb.AppendLine("Device complies with FC-FS ANSI INCITS 373-2003"); + sb.AppendLine(Localization.Device_complies_with_FC_FS_ANSI_INCITS_373_2003); break; case 0x0DBD: - sb.AppendLine("Device complies with FC-FS ISO/IEC 14165-251"); + sb.AppendLine(Localization.Device_complies_with_FC_FS_ISO_IEC_14165_251); break; case 0x0DC0: - sb.AppendLine("Device complies with FC-PI (no version claimed)"); + sb.AppendLine(Localization.Device_complies_with_FC_PI_no_version_claimed); break; case 0x0DDC: - sb.AppendLine("Device complies with FC-PI ANSI INCITS 352-2002"); + sb.AppendLine(Localization.Device_complies_with_FC_PI_ANSI_INCITS_352_2002); break; case 0x0DE0: - sb.AppendLine("Device complies with FC-PI-2 (no version claimed)"); + sb.AppendLine(Localization.Device_complies_with_FC_PI_2_no_version_claimed); break; case 0x0DE2: - sb.AppendLine("Device complies with FC-PI-2 T11/1506-D revision 5.0"); + sb.AppendLine(Localization.Device_complies_with_FC_PI_2_T11_1506_D_revision_5_0); break; case 0x0DE4: - sb.AppendLine("Device complies with FC-PI-2 ANSI INCITS 404-2006"); + sb.AppendLine(Localization.Device_complies_with_FC_PI_2_ANSI_INCITS_404_2006); break; case 0x0E00: - sb.AppendLine("Device complies with FC-FS-2 (no version claimed)"); + sb.AppendLine(Localization.Device_complies_with_FC_FS_2_no_version_claimed); break; case 0x0E02: - sb.AppendLine("Device complies with FC-FS-2 ANSI INCITS 242-2007"); + sb.AppendLine(Localization.Device_complies_with_FC_FS_2_ANSI_INCITS_242_2007); break; case 0x0E03: - sb.AppendLine("Device complies with FC-FS-2 ANSI INCITS 242-2007 with AM1 ANSI INCITS 242/AM1-2007"); + sb.AppendLine(Localization. + Device_complies_with_FC_FS_2_ANSI_INCITS_242_2007_with_AM1_ANSI_INCITS_242_AM1_2007); break; case 0x0E20: - sb.AppendLine("Device complies with FC-LS (no version claimed)"); + sb.AppendLine(Localization.Device_complies_with_FC_LS_no_version_claimed); break; case 0x0E21: - sb.AppendLine("Device complies with FC-LS T11/1620-D revision 1.62"); + sb.AppendLine(Localization.Device_complies_with_FC_LS_T11_1620_D_revision_1_62); break; case 0x0E29: - sb.AppendLine("Device complies with FC-LS ANSI INCITS 433-2007"); + sb.AppendLine(Localization.Device_complies_with_FC_LS_ANSI_INCITS_433_2007); break; case 0x0E40: - sb.AppendLine("Device complies with FC-SP (no version claimed)"); + sb.AppendLine(Localization.Device_complies_with_FC_SP_no_version_claimed); break; case 0x0E42: - sb.AppendLine("Device complies with FC-SP T11/1570-D revision 1.6"); + sb.AppendLine(Localization.Device_complies_with_FC_SP_T11_1570_D_revision_1_6); break; case 0x0E45: - sb.AppendLine("Device complies with FC-SP ANSI INCITS 426-2007"); + sb.AppendLine(Localization.Device_complies_with_FC_SP_ANSI_INCITS_426_2007); break; case 0x0E60: - sb.AppendLine("Device complies with FC-PI-3 (no version claimed)"); + sb.AppendLine(Localization.Device_complies_with_FC_PI_3_no_version_claimed); break; case 0x0E62: - sb.AppendLine("Device complies with FC-PI-3 T11/1625-D revision 2.0"); + sb.AppendLine(Localization.Device_complies_with_FC_PI_3_T11_1625_D_revision_2_0); break; case 0x0E68: - sb.AppendLine("Device complies with FC-PI-3 T11/1625-D revision 2.1"); + sb.AppendLine(Localization.Device_complies_with_FC_PI_3_T11_1625_D_revision_2_1); break; case 0x0E6A: - sb.AppendLine("Device complies with FC-PI-3 T11/1625-D revision 4.0"); + sb.AppendLine(Localization.Device_complies_with_FC_PI_3_T11_1625_D_revision_4_0); break; case 0x0E6E: - sb.AppendLine("Device complies with FC-PI-3 ANSI INCITS 460-2011"); + sb.AppendLine(Localization.Device_complies_with_FC_PI_3_ANSI_INCITS_460_2011); break; case 0x0E80: - sb.AppendLine("Device complies with FC-PI-4 (no version claimed)"); + sb.AppendLine(Localization.Device_complies_with_FC_PI_4_no_version_claimed); break; case 0x0E82: - sb.AppendLine("Device complies with FC-PI-4 T11/1647-D revision 8.0"); + sb.AppendLine(Localization.Device_complies_with_FC_PI_4_T11_1647_D_revision_8_0); break; case 0x0E88: - sb.AppendLine("Device complies with FC-PI-4 ANSI INCITS 450-2009"); + sb.AppendLine(Localization.Device_complies_with_FC_PI_4_ANSI_INCITS_450_2009); break; case 0x0EA0: - sb.AppendLine("Device complies with FC 10GFC (no version claimed)"); + sb.AppendLine(Localization.Device_complies_with_FC_10GFC_no_version_claimed); break; case 0x0EA2: - sb.AppendLine("Device complies with FC 10GFC ANSI INCITS 364-2003"); + sb.AppendLine(Localization.Device_complies_with_FC_10GFC_ANSI_INCITS_364_2003); break; case 0x0EA3: - sb.AppendLine("Device complies with FC 10GFC ISO/IEC 14165-116"); + sb.AppendLine(Localization.Device_complies_with_FC_10GFC_ISO_IEC_14165_116); break; case 0x0EA5: - sb.AppendLine("Device complies with FC 10GFC ISO/IEC 14165-116 with AM1"); + sb.AppendLine(Localization.Device_complies_with_FC_10GFC_ISO_IEC_14165_116_with_AM1); break; case 0x0EA6: - sb.AppendLine("Device complies with FC 10GFC ANSI INCITS 364-2003 with AM1 ANSI INCITS 364/AM1-2007"); + sb.AppendLine(Localization. + Device_complies_with_FC_10GFC_ANSI_INCITS_364_2003_with_AM1_ANSI_INCITS_364_AM1_2007); break; case 0x0EC0: - sb.AppendLine("Device complies with FC-SP-2 (no version claimed)"); + sb.AppendLine(Localization.Device_complies_with_FC_SP_2_no_version_claimed); break; case 0x0EE0: - sb.AppendLine("Device complies with FC-FS-3 (no version claimed)"); + sb.AppendLine(Localization.Device_complies_with_FC_FS_3_no_version_claimed); break; case 0x0EE2: - sb.AppendLine("Device complies with FC-FS-3 T11/1861-D revision 0.9"); + sb.AppendLine(Localization.Device_complies_with_FC_FS_3_T11_1861_D_revision_0_9); break; case 0x0EE7: - sb.AppendLine("Device complies with FC-FS-3 T11/1861-D revision 1.0"); + sb.AppendLine(Localization.Device_complies_with_FC_FS_3_T11_1861_D_revision_1_0); break; case 0x0EE9: - sb.AppendLine("Device complies with FC-FS-3 T11/1861-D revision 1.10"); + sb.AppendLine(Localization.Device_complies_with_FC_FS_3_T11_1861_D_revision_1_10); break; case 0x0EEB: - sb.AppendLine("Device complies with FC-FS-3 ANSI INCITS 470-2011"); + sb.AppendLine(Localization.Device_complies_with_FC_FS_3_ANSI_INCITS_470_2011); break; case 0x0F00: - sb.AppendLine("Device complies with FC-LS-2 (no version claimed)"); + sb.AppendLine(Localization.Device_complies_with_FC_LS_2_no_version_claimed); break; case 0x0F03: - sb.AppendLine("Device complies with FC-LS-2 T11/2103-D revision 2.11"); + sb.AppendLine(Localization.Device_complies_with_FC_LS_2_T11_2103_D_revision_2_11); break; case 0x0F05: - sb.AppendLine("Device complies with FC-LS-2 T11/2103-D revision 2.21"); + sb.AppendLine(Localization.Device_complies_with_FC_LS_2_T11_2103_D_revision_2_21); break; case 0x0F07: - sb.AppendLine("Device complies with FC-LS-2 ANSI INCITS 477-2011"); + sb.AppendLine(Localization.Device_complies_with_FC_LS_2_ANSI_INCITS_477_2011); break; case 0x0F20: - sb.AppendLine("Device complies with FC-PI-5 (no version claimed)"); + sb.AppendLine(Localization.Device_complies_with_FC_PI_5_no_version_claimed); break; case 0x0F27: - sb.AppendLine("Device complies with FC-PI-5 T11/2118-D revision 2.00"); + sb.AppendLine(Localization.Device_complies_with_FC_PI_5_T11_2118_D_revision_2_00); break; case 0x0F28: - sb.AppendLine("Device complies with FC-PI-5 T11/2118-D revision 3.00"); + sb.AppendLine(Localization.Device_complies_with_FC_PI_5_T11_2118_D_revision_3_00); break; case 0x0F2A: - sb.AppendLine("Device complies with FC-PI-5 T11/2118-D revision 6.00"); + sb.AppendLine(Localization.Device_complies_with_FC_PI_5_T11_2118_D_revision_6_00); break; case 0x0F2B: - sb.AppendLine("Device complies with FC-PI-5 T11/2118-D revision 6.10"); + sb.AppendLine(Localization.Device_complies_with_FC_PI_5_T11_2118_D_revision_6_10); break; case 0x0F2E: - sb.AppendLine("Device complies with FC-PI-5 ANSI INCITS 479-2011"); + sb.AppendLine(Localization.Device_complies_with_FC_PI_5_ANSI_INCITS_479_2011); break; case 0x0F40: - sb.AppendLine("Device complies with FC-PI-6 (no version claimed)"); + sb.AppendLine(Localization.Device_complies_with_FC_PI_6_no_version_claimed); break; case 0x0F60: - sb.AppendLine("Device complies with FC-FS-4 (no version claimed)"); + sb.AppendLine(Localization.Device_complies_with_FC_FS_4_no_version_claimed); break; case 0x0F80: - sb.AppendLine("Device complies with FC-LS-3 (no version claimed)"); + sb.AppendLine(Localization.Device_complies_with_FC_LS_3_no_version_claimed); break; case 0x12A0: - sb.AppendLine("Device complies with FC-SCM (no version claimed)"); + sb.AppendLine(Localization.Device_complies_with_FC_SCM_no_version_claimed); break; case 0x12A3: - sb.AppendLine("Device complies with FC-SCM T11/1824DT revision 1.0"); + sb.AppendLine(Localization.Device_complies_with_FC_SCM_T11_1824DT_revision_1_0); break; case 0x12A5: - sb.AppendLine("Device complies with FC-SCM T11/1824DT revision 1.1"); + sb.AppendLine(Localization.Device_complies_with_FC_SCM_T11_1824DT_revision_1_1); break; case 0x12A7: - sb.AppendLine("Device complies with FC-SCM T11/1824DT revision 1.4"); + sb.AppendLine(Localization.Device_complies_with_FC_SCM_T11_1824DT_revision_1_4); break; case 0x12AA: - sb.AppendLine("Device complies with FC-SCM INCITS TR-47 2012"); + sb.AppendLine(Localization.Device_complies_with_FC_SCM_INCITS_TR_47_2012); break; case 0x12C0: - sb.AppendLine("Device complies with FC-DA-2 (no version claimed)"); + sb.AppendLine(Localization.Device_complies_with_FC_DA_2_no_version_claimed); break; case 0x12C3: - sb.AppendLine("Device complies with FC-DA-2 T11/1870DT revision 1.04"); + sb.AppendLine(Localization.Device_complies_with_FC_DA_2_T11_1870DT_revision_1_04); break; case 0x12C5: - sb.AppendLine("Device complies with FC-DA-2 T11/1870DT revision 1.06"); + sb.AppendLine(Localization.Device_complies_with_FC_DA_2_T11_1870DT_revision_1_06); break; case 0x12C9: - sb.AppendLine("Device complies with FC-DA-2 INCITS TR-49 2012"); + sb.AppendLine(Localization.Device_complies_with_FC_DA_2_INCITS_TR_49_2012); break; case 0x12E0: - sb.AppendLine("Device complies with FC-DA (no version claimed)"); + sb.AppendLine(Localization.Device_complies_with_FC_DA_no_version_claimed); break; case 0x12E2: - sb.AppendLine("Device complies with FC-DA T11/1513-DT revision 3.1"); + sb.AppendLine(Localization.Device_complies_with_FC_DA_T11_1513_DT_revision_3_1); break; case 0x12E8: - sb.AppendLine("Device complies with FC-DA ANSI INCITS TR-36 2004"); + sb.AppendLine(Localization.Device_complies_with_FC_DA_ANSI_INCITS_TR_36_2004); break; case 0x12E9: - sb.AppendLine("Device complies with FC-DA ISO/IEC 14165-341"); + sb.AppendLine(Localization.Device_complies_with_FC_DA_ISO_IEC_14165_341); break; case 0x1300: - sb.AppendLine("Device complies with FC-Tape (no version claimed)"); + sb.AppendLine(Localization.Device_complies_with_FC_Tape_no_version_claimed); break; case 0x1301: - sb.AppendLine("Device complies with FC-Tape T11/1315 revision 1.16"); + sb.AppendLine(Localization.Device_complies_with_FC_Tape_T11_1315_revision_1_16); break; case 0x131B: - sb.AppendLine("Device complies with FC-Tape T11/1315 revision 1.17"); + sb.AppendLine(Localization.Device_complies_with_FC_Tape_T11_1315_revision_1_17); break; case 0x131C: - sb.AppendLine("Device complies with FC-Tape ANSI INCITS TR-24 1999"); + sb.AppendLine(Localization.Device_complies_with_FC_Tape_ANSI_INCITS_TR_24_1999); break; case 0x1320: - sb.AppendLine("Device complies with FC-FLA (no version claimed)"); + sb.AppendLine(Localization.Device_complies_with_FC_FLA_no_version_claimed); break; case 0x133B: - sb.AppendLine("Device complies with FC-FLA T11/1235 revision 7"); + sb.AppendLine(Localization.Device_complies_with_FC_FLA_T11_1235_revision_7); break; case 0x133C: - sb.AppendLine("Device complies with FC-FLA ANSI INCITS TR-20 1998"); + sb.AppendLine(Localization.Device_complies_with_FC_FLA_ANSI_INCITS_TR_20_1998); break; case 0x1340: - sb.AppendLine("Device complies with FC-PLDA (no version claimed)"); + sb.AppendLine(Localization.Device_complies_with_FC_PLDA_no_version_claimed); break; case 0x135B: - sb.AppendLine("Device complies with FC-PLDA T11/1162 revision 2.1"); + sb.AppendLine(Localization.Device_complies_with_FC_PLDA_T11_1162_revision_2_1); break; case 0x135C: - sb.AppendLine("Device complies with FC-PLDA ANSI INCITS TR-19 1998"); + sb.AppendLine(Localization.Device_complies_with_FC_PLDA_ANSI_INCITS_TR_19_1998); break; case 0x1360: - sb.AppendLine("Device complies with SSA-PH2 (no version claimed)"); + sb.AppendLine(Localization.Device_complies_with_SSA_PH2_no_version_claimed); break; case 0x137B: - sb.AppendLine("Device complies with SSA-PH2 T10.1/1145-D revision 09c"); + sb.AppendLine(Localization.Device_complies_with_SSA_PH2_T10_1_1145_D_revision_09c); break; case 0x137C: - sb.AppendLine("Device complies with SSA-PH2 ANSI INCITS 293-1996"); + sb.AppendLine(Localization.Device_complies_with_SSA_PH2_ANSI_INCITS_293_1996); break; case 0x1380: - sb.AppendLine("Device complies with SSA-PH3 (no version claimed)"); + sb.AppendLine(Localization.Device_complies_with_SSA_PH3_no_version_claimed); break; case 0x139B: - sb.AppendLine("Device complies with SSA-PH3 T10.1/1146-D revision 05b"); + sb.AppendLine(Localization.Device_complies_with_SSA_PH3_T10_1_1146_D_revision_05b); break; case 0x139C: - sb.AppendLine("Device complies with SSA-PH3 ANSI INCITS 307-1998"); + sb.AppendLine(Localization.Device_complies_with_SSA_PH3_ANSI_INCITS_307_1998); break; case 0x14A0: - sb.AppendLine("Device complies with IEEE 1394 (no version claimed)"); + sb.AppendLine(Localization.Device_complies_with_IEEE_1394_no_version_claimed); break; case 0x14BD: - sb.AppendLine("Device complies with ANSI IEEE 1394-1995"); + sb.AppendLine(Localization.Device_complies_with_ANSI_IEEE_1394_1995); break; case 0x14C0: - sb.AppendLine("Device complies with IEEE 1394a (no version claimed)"); + sb.AppendLine(Localization.Device_complies_with_IEEE_1394a_no_version_claimed); break; case 0x14E0: - sb.AppendLine("Device complies with IEEE 1394b (no version claimed)"); + sb.AppendLine(Localization.Device_complies_with_IEEE_1394b_no_version_claimed); break; case 0x15E0: - sb.AppendLine("Device complies with ATA/ATAPI-6 (no version claimed)"); + sb.AppendLine(Localization.Device_complies_with_ATA_ATAPI_6_no_version_claimed); break; case 0x15FD: - sb.AppendLine("Device complies with ATA/ATAPI-6 ANSI INCITS 361-2002"); + sb.AppendLine(Localization.Device_complies_with_ATA_ATAPI_6_ANSI_INCITS_361_2002); break; case 0x1600: - sb.AppendLine("Device complies with ATA/ATAPI-7 (no version claimed)"); + sb.AppendLine(Localization.Device_complies_with_ATA_ATAPI_7_no_version_claimed); break; case 0x1602: - sb.AppendLine("Device complies with ATA/ATAPI-7 T13/1532-D revision 3"); + sb.AppendLine(Localization.Device_complies_with_ATA_ATAPI_7_T13_1532_D_revision_3); break; case 0x161C: - sb.AppendLine("Device complies with ATA/ATAPI-7 ANSI INCITS 397-2005"); + sb.AppendLine(Localization.Device_complies_with_ATA_ATAPI_7_ANSI_INCITS_397_2005); break; case 0x161E: - sb.AppendLine("Device complies with ATA/ATAPI-7 ISO/IEC 24739"); + sb.AppendLine(Localization.Device_complies_with_ATA_ATAPI_7_ISO_IEC_24739); break; case 0x1620: - sb.AppendLine("Device complies with ATA/ATAPI-8 ATA8-AAM (no version claimed)"); + sb.AppendLine(Localization.Device_complies_with_ATA_ATAPI_8_ATA8_AAM_no_version_claimed); break; case 0x1621: - sb.AppendLine("Device complies with ATA/ATAPI-8 ATA8-APT Parallel Transport (no version claimed)"); + sb.AppendLine(Localization. + Device_complies_with_ATA_ATAPI_8_ATA8_APT_Parallel_Transport_no_version_claimed); break; case 0x1622: - sb.AppendLine("Device complies with ATA/ATAPI-8 ATA8-AST Serial Transport (no version claimed)"); + sb.AppendLine(Localization. + Device_complies_with_ATA_ATAPI_8_ATA8_AST_Serial_Transport_no_version_claimed); break; case 0x1623: - sb.AppendLine("Device complies with ATA/ATAPI-8 ATA8-ACS ATA/ATAPI Command Set (no version claimed)"); + sb.AppendLine(Localization. + Device_complies_with_ATA_ATAPI_8_ATA8_ACS_ATA_ATAPI_Command_Set_no_version_claimed); break; case 0x1628: - sb.AppendLine("Device complies with ATA/ATAPI-8 ATA8-AAM ANSI INCITS 451-2008"); + sb.AppendLine(Localization.Device_complies_with_ATA_ATAPI_8_ATA8_AAM_ANSI_INCITS_451_2008); break; case 0x162A: - sb.AppendLine("Device complies with ATA/ATAPI-8 ATA8-ACS ANSI INCITS 452-2009 w/ Amendment 1"); + sb.AppendLine(Localization. + Device_complies_with_ATA_ATAPI_8_ATA8_ACS_ANSI_INCITS_452_2009_w__Amendment_1); break; case 0x1728: - sb.AppendLine("Device complies with Universal Serial Bus Specification, Revision 1.1"); + sb.AppendLine(Localization. + Device_complies_with_Universal_Serial_Bus_Specification__Revision_1_1); break; case 0x1729: - sb.AppendLine("Device complies with Universal Serial Bus Specification, Revision 2.0"); + sb.AppendLine(Localization. + Device_complies_with_Universal_Serial_Bus_Specification__Revision_2_0); break; case 0x1730: - sb.AppendLine("Device complies with USB Mass Storage Class Bulk-Only Transport, Revision 1.0"); + sb.AppendLine(Localization. + Device_complies_with_USB_Mass_Storage_Class_Bulk_Only_Transport__Revision_1_0); break; case 0x1740: - sb.AppendLine("Device complies with UAS (no version claimed)"); + sb.AppendLine(Localization.Device_complies_with_UAS_no_version_claimed); break; case 0x1743: - sb.AppendLine("Device complies with UAS T10/2095-D revision 02"); + sb.AppendLine(Localization.Device_complies_with_UAS_T10_2095_D_revision_02); break; case 0x1747: - sb.AppendLine("Device complies with UAS T10/2095-D revision 04"); + sb.AppendLine(Localization.Device_complies_with_UAS_T10_2095_D_revision_04); break; case 0x1748: - sb.AppendLine("Device complies with UAS ANSI INCITS 471-2010"); + sb.AppendLine(Localization.Device_complies_with_UAS_ANSI_INCITS_471_2010); break; case 0x1749: - sb.AppendLine("Device complies with UAS ISO/IEC 14776-251:2014"); + sb.AppendLine(Localization.Device_complies_with_UAS_ISO_IEC_14776_251_2014); break; case 0x1761: - sb.AppendLine("Device complies with ACS-2 (no version claimed)"); + sb.AppendLine(Localization.Device_complies_with_ACS_2_no_version_claimed); break; case 0x1762: - sb.AppendLine("Device complies with ACS-2 ANSI INCITS 482-2013"); + sb.AppendLine(Localization.Device_complies_with_ACS_2_ANSI_INCITS_482_2013); break; case 0x1765: - sb.AppendLine("Device complies with ACS-3 (no version claimed)"); + sb.AppendLine(Localization.Device_complies_with_ACS_3_no_version_claimed); break; case 0x1780: - sb.AppendLine("Device complies with UAS-2 (no version claimed)"); + sb.AppendLine(Localization.Device_complies_with_UAS_2_no_version_claimed); break; case 0x1EA0: - sb.AppendLine("Device complies with SAT (no version claimed)"); + sb.AppendLine(Localization.Device_complies_with_SAT_no_version_claimed); break; case 0x1EA7: - sb.AppendLine("Device complies with SAT T10/1711-D revision 8"); + sb.AppendLine(Localization.Device_complies_with_SAT_T10_1711_D_revision_8); break; case 0x1EAB: - sb.AppendLine("Device complies with SAT T10/1711-D revision 9"); + sb.AppendLine(Localization.Device_complies_with_SAT_T10_1711_D_revision_9); break; case 0x1EAD: - sb.AppendLine("Device complies with SAT ANSI INCITS 431-2007"); + sb.AppendLine(Localization.Device_complies_with_SAT_ANSI_INCITS_431_2007); break; case 0x1EC0: - sb.AppendLine("Device complies with SAT-2 (no version claimed)"); + sb.AppendLine(Localization.Device_complies_with_SAT_2_no_version_claimed); break; case 0x1EC4: - sb.AppendLine("Device complies with SAT-2 T10/1826-D revision 06"); + sb.AppendLine(Localization.Device_complies_with_SAT_2_T10_1826_D_revision_06); break; case 0x1EC8: - sb.AppendLine("Device complies with SAT-2 T10/1826-D revision 09"); + sb.AppendLine(Localization.Device_complies_with_SAT_2_T10_1826_D_revision_09); break; case 0x1ECA: - sb.AppendLine("Device complies with SAT-2 ANSI INCITS 465-2010"); + sb.AppendLine(Localization.Device_complies_with_SAT_2_ANSI_INCITS_465_2010); break; case 0x1EE0: - sb.AppendLine("Device complies with SAT-3 (no version claimed)"); + sb.AppendLine(Localization.Device_complies_with_SAT_3_no_version_claimed); break; case 0x1EE2: - sb.AppendLine("Device complies with SAT-3 T10/BSR INCITS 517 revision 4"); + sb.AppendLine(Localization.Device_complies_with_SAT_3_T10_BSR_INCITS_517_revision_4); break; case 0x1EE4: - sb.AppendLine("Device complies with SAT-3 T10/BSR INCITS 517 revision 7"); + sb.AppendLine(Localization.Device_complies_with_SAT_3_T10_BSR_INCITS_517_revision_7); break; case 0x1EE8: - sb.AppendLine("Device complies with SAT-3 ANSI INCITS 517-2015"); + sb.AppendLine(Localization.Device_complies_with_SAT_3_ANSI_INCITS_517_2015); break; case 0x1F00: - sb.AppendLine("Device complies with SAT-4 (no version claimed)"); + sb.AppendLine(Localization.Device_complies_with_SAT_4_no_version_claimed); break; case 0x20A0: - sb.AppendLine("Device complies with SPL (no version claimed)"); + sb.AppendLine(Localization.Device_complies_with_SPL_no_version_claimed); break; case 0x20A3: - sb.AppendLine("Device complies with SPL T10/2124-D revision 6a"); + sb.AppendLine(Localization.Device_complies_with_SPL_T10_2124_D_revision_6a); break; case 0x20A5: - sb.AppendLine("Device complies with SPL T10/2124-D revision 7"); + sb.AppendLine(Localization.Device_complies_with_SPL_T10_2124_D_revision_7); break; case 0x20A7: - sb.AppendLine("Device complies with SPL ANSI INCITS 476-2011"); + sb.AppendLine(Localization.Device_complies_with_SPL_ANSI_INCITS_476_2011); break; case 0x20A8: - sb.AppendLine("Device complies with SPL ANSI INCITS 476-2011 + SPL AM1 INCITS 476/AM1 2012"); + sb.AppendLine(Localization. + Device_complies_with_SPL_ANSI_INCITS_476_2011_SPL_AM1_INCITS_476_AM1_2012); break; case 0x20AA: - sb.AppendLine("Device complies with SPL ISO/IEC 14776-261:2012"); + sb.AppendLine(Localization.Device_complies_with_SPL_ISO_IEC_14776_261_2012); break; case 0x20C0: - sb.AppendLine("Device complies with SPL-2 (no version claimed)"); + sb.AppendLine(Localization.Device_complies_with_SPL_2_no_version_claimed); break; case 0x20C2: - sb.AppendLine("Device complies with SPL-2 T10/BSR INCITS 505 revision 4"); + sb.AppendLine(Localization.Device_complies_with_SPL_2_T10_BSR_INCITS_505_revision_4); break; case 0x20C4: - sb.AppendLine("Device complies with SPL-2 T10/BSR INCITS 505 revision 5"); + sb.AppendLine(Localization.Device_complies_with_SPL_2_T10_BSR_INCITS_505_revision_5); break; case 0x20C8: - sb.AppendLine("Device complies with SPL-2 ANSI INCITS 505-2013"); + sb.AppendLine(Localization.Device_complies_with_SPL_2_ANSI_INCITS_505_2013); break; case 0x20E0: - sb.AppendLine("Device complies with SPL-3 (no version claimed)"); + sb.AppendLine(Localization.Device_complies_with_SPL_3_no_version_claimed); break; case 0x20E4: - sb.AppendLine("Device complies with SPL-3 T10/BSR INCITS 492 revision 6"); + sb.AppendLine(Localization.Device_complies_with_SPL_3_T10_BSR_INCITS_492_revision_6); break; case 0x20E6: - sb.AppendLine("Device complies with SPL-3 T10/BSR INCITS 492 revision 7"); + sb.AppendLine(Localization.Device_complies_with_SPL_3_T10_BSR_INCITS_492_revision_7); break; case 0x20E8: - sb.AppendLine("Device complies with SPL-3 ANSI INCITS 492-2015"); + sb.AppendLine(Localization.Device_complies_with_SPL_3_ANSI_INCITS_492_2015); break; case 0x2100: - sb.AppendLine("Device complies with SPL-4 (no version claimed)"); + sb.AppendLine(Localization.Device_complies_with_SPL_4_no_version_claimed); break; case 0x21E0: - sb.AppendLine("Device complies with SOP (no version claimed)"); + sb.AppendLine(Localization.Device_complies_with_SOP_no_version_claimed); break; case 0x21E4: - sb.AppendLine("Device complies with SOP T10/BSR INCITS 489 revision 4"); + sb.AppendLine(Localization.Device_complies_with_SOP_T10_BSR_INCITS_489_revision_4); break; case 0x21E6: - sb.AppendLine("Device complies with SOP T10/BSR INCITS 489 revision 5"); + sb.AppendLine(Localization.Device_complies_with_SOP_T10_BSR_INCITS_489_revision_5); break; case 0x21E8: - sb.AppendLine("Device complies with SOP ANSI INCITS 489-2014"); + sb.AppendLine(Localization.Device_complies_with_SOP_ANSI_INCITS_489_2014); break; case 0x2200: - sb.AppendLine("Device complies with PQI (no version claimed)"); + sb.AppendLine(Localization.Device_complies_with_PQI_no_version_claimed); break; case 0x2204: - sb.AppendLine("Device complies with PQI T10/BSR INCITS 490 revision 6"); + sb.AppendLine(Localization.Device_complies_with_PQI_T10_BSR_INCITS_490_revision_6); break; case 0x2206: - sb.AppendLine("Device complies with PQI T10/BSR INCITS 490 revision 7"); + sb.AppendLine(Localization.Device_complies_with_PQI_T10_BSR_INCITS_490_revision_7); break; case 0x2208: - sb.AppendLine("Device complies with PQI ANSI INCITS 490-2014"); + sb.AppendLine(Localization.Device_complies_with_PQI_ANSI_INCITS_490_2014); break; case 0x2220: - sb.AppendLine("Device complies with SOP-2 (no version claimed)"); + sb.AppendLine(Localization.Device_complies_with_SOP_2_no_version_claimed); break; case 0x2240: - sb.AppendLine("Device complies with PQI-2 (no version claimed)"); + sb.AppendLine(Localization.Device_complies_with_PQI_2_no_version_claimed); break; case 0xFFC0: - sb.AppendLine("Device complies with IEEE 1667 (no version claimed)"); + sb.AppendLine(Localization.Device_complies_with_IEEE_1667_no_version_claimed); break; case 0xFFC1: - sb.AppendLine("Device complies with IEEE 1667-2006"); + sb.AppendLine(Localization.Device_complies_with_IEEE_1667_2006); break; case 0xFFC2: - sb.AppendLine("Device complies with IEEE 1667-2009"); + sb.AppendLine(Localization.Device_complies_with_IEEE_1667_2009); break; default: - sb.AppendFormat("Device complies with unknown standard code 0x{0:X4}", VersionDescriptor). + sb.AppendFormat(Localization.Device_complies_with_unknown_standard_code_0, VersionDescriptor). AppendLine(); break; @@ -2277,71 +2299,77 @@ public static class Inquiry if(response.QuantumPresent && StringHandlers.CToString(response.VendorIdentification).ToLowerInvariant().Trim() == "quantum") { - sb.AppendLine("Quantum vendor-specific information:"); + sb.AppendLine(Localization.Quantum_vendor_specific_information); switch(response.Qt_ProductFamily) { case 0: - sb.AppendLine("Product family is not specified"); + sb.AppendLine(Localization.Product_family_is_not_specified); break; case 1: - sb.AppendLine("Product family is 2.6 GB"); + sb.AppendLine(Localization.Product_family_is_2_6_GB); break; case 2: - sb.AppendLine("Product family is 6.0 GB"); + sb.AppendLine(Localization.Product_family_is_6_0_GB); break; case 3: - sb.AppendLine("Product family is 10.0/20.0 GB"); + sb.AppendLine(Localization.Product_family_is_10_0_20_0_GB); break; case 5: - sb.AppendLine("Product family is 20.0/40.0 GB"); + sb.AppendLine(Localization.Product_family_is_20_0_40_0_GB); break; case 6: - sb.AppendLine("Product family is 15.0/30.0 GB"); + sb.AppendLine(Localization.Product_family_is_15_0_30_0_GB); break; default: - sb.AppendFormat("Product family: {0}", response.Qt_ProductFamily).AppendLine(); + sb.AppendFormat(Localization.Product_family_0, response.Qt_ProductFamily).AppendLine(); break; } - sb.AppendFormat("Release firmware: {0}", response.Qt_ReleasedFirmware).AppendLine(); + sb.AppendFormat(Localization.Release_firmware_0, response.Qt_ReleasedFirmware).AppendLine(); - sb.AppendFormat("Firmware version: {0}.{1}", response.Qt_FirmwareMajorVersion, + sb.AppendFormat(Localization.Firmware_version_0_1, response.Qt_FirmwareMajorVersion, response.Qt_FirmwareMinorVersion).AppendLine(); - sb.AppendFormat("EEPROM format version: {0}.{1}", response.Qt_EEPROMFormatMajorVersion, + sb.AppendFormat(Localization.EEPROM_format_version_0_1, response.Qt_EEPROMFormatMajorVersion, response.Qt_EEPROMFormatMinorVersion).AppendLine(); - sb.AppendFormat("Firmware personality: {0}", response.Qt_FirmwarePersonality).AppendLine(); - sb.AppendFormat("Firmware sub-personality: {0}", response.Qt_FirmwareSubPersonality).AppendLine(); + sb.AppendFormat(Localization.Firmware_personality_0, response.Qt_FirmwarePersonality).AppendLine(); + sb.AppendFormat(Localization.Firmware_sub_personality_0, response.Qt_FirmwareSubPersonality).AppendLine(); - sb.AppendFormat("Tape directory format version: {0}", response.Qt_TapeDirectoryFormatVersion).AppendLine(); + sb.AppendFormat(Localization.Tape_directory_format_version_0, response.Qt_TapeDirectoryFormatVersion). + AppendLine(); - sb.AppendFormat("Controller hardware version: {0}", response.Qt_ControllerHardwareVersion).AppendLine(); - sb.AppendFormat("Drive EEPROM version: {0}", response.Qt_DriveEEPROMVersion).AppendLine(); - sb.AppendFormat("Drive hardware version: {0}", response.Qt_DriveHardwareVersion).AppendLine(); + sb.AppendFormat(Localization.Controller_hardware_version_0, response.Qt_ControllerHardwareVersion). + AppendLine(); - sb.AppendFormat("Media loader firmware version: {0}", response.Qt_MediaLoaderFirmwareVersion).AppendLine(); + sb.AppendFormat(Localization.Drive_EEPROM_version_0, response.Qt_DriveEEPROMVersion).AppendLine(); + sb.AppendFormat(Localization.Drive_hardware_version_0, response.Qt_DriveHardwareVersion).AppendLine(); - sb.AppendFormat("Media loader hardware version: {0}", response.Qt_MediaLoaderHardwareVersion).AppendLine(); + sb.AppendFormat(Localization.Media_loader_firmware_version_0, response.Qt_MediaLoaderFirmwareVersion). + AppendLine(); - sb.AppendFormat("Media loader mechanical version: {0}", response.Qt_MediaLoaderMechanicalVersion). + sb.AppendFormat(Localization.Media_loader_hardware_version_0, response.Qt_MediaLoaderHardwareVersion). + AppendLine(); + + sb.AppendFormat(Localization.Media_loader_mechanical_version_0, response.Qt_MediaLoaderMechanicalVersion). AppendLine(); if(response.Qt_LibraryPresent) - sb.AppendLine("Library is present"); + sb.AppendLine(Localization.Library_is_present); if(response.Qt_MediaLoaderPresent) - sb.AppendLine("Media loader is present"); + sb.AppendLine(Localization.Media_loader_is_present); - sb.AppendFormat("Module revision: {0}", StringHandlers.CToString(response.Qt_ModuleRevision)).AppendLine(); + sb.AppendFormat(Localization.Module_revision_0, StringHandlers.CToString(response.Qt_ModuleRevision)). + AppendLine(); } #endregion Quantum vendor prettifying @@ -2349,17 +2377,17 @@ public static class Inquiry if(response.IBMPresent && StringHandlers.CToString(response.VendorIdentification).ToLowerInvariant().Trim() == "ibm") { - sb.AppendLine("IBM vendor-specific information:"); + sb.AppendLine(Localization.IBM_vendor_specific_information); if(response.IBM_PerformanceLimit == 0) - sb.AppendLine("Performance is not limited"); + sb.AppendLine(Localization.Performance_is_not_limited); else - sb.AppendFormat("Performance is limited using factor {0}", response.IBM_PerformanceLimit); + sb.AppendFormat(Localization.Performance_is_limited_using_factor_0, response.IBM_PerformanceLimit); if(response.IBM_AutDis) - sb.AppendLine("Automation is disabled"); + sb.AppendLine(Localization.Automation_is_disabled); - sb.AppendFormat("IBM OEM Specific Field: {0}", response.IBM_OEMSpecific).AppendLine(); + sb.AppendFormat(Localization.IBM_OEM_Specific_Field_0, response.IBM_OEMSpecific).AppendLine(); } #endregion IBM vendor prettifying @@ -2367,10 +2395,10 @@ public static class Inquiry if(response.HPPresent && StringHandlers.CToString(response.VendorIdentification).ToLowerInvariant().Trim() == "hp") { - sb.AppendLine("HP vendor-specific information:"); + sb.AppendLine(Localization.HP_vendor_specific_information); if(response.HP_WORM) - sb.AppendFormat("Device supports WORM version {0}", response.HP_WORMVersion).AppendLine(); + sb.AppendFormat(Localization.Device_supports_WORM_version_0, response.HP_WORMVersion).AppendLine(); byte[] OBDRSign = { @@ -2378,7 +2406,7 @@ public static class Inquiry }; if(OBDRSign.SequenceEqual(response.HP_OBDR)) - sb.AppendLine("Device supports Tape Disaster Recovery"); + sb.AppendLine(Localization.Device_supports_Tape_Disaster_Recovery); } #endregion HP vendor prettifying @@ -2386,44 +2414,44 @@ public static class Inquiry if((response.SeagatePresent || response.Seagate2Present || response.Seagate3Present) && StringHandlers.CToString(response.VendorIdentification).ToLowerInvariant().Trim() == "seagate") { - sb.AppendLine("Seagate vendor-specific information:"); + sb.AppendLine(Localization.Seagate_vendor_specific_information); if(response.SeagatePresent) - sb.AppendFormat("Drive serial number: {0}", + sb.AppendFormat(Core.Drive_serial_number_0, StringHandlers.CToString(response.Seagate_DriveSerialNumber)).AppendLine(); if(response.Seagate2Present) - sb.AppendFormat("Drive copyright: {0}", StringHandlers.CToString(response.Seagate_Copyright)). + sb.AppendFormat(Localization.Drive_copyright_0, StringHandlers.CToString(response.Seagate_Copyright)). AppendLine(); if(response.Seagate3Present) - sb.AppendFormat("Drive servo part number: {0}", + sb.AppendFormat(Localization.Drive_servo_part_number_0, PrintHex.ByteArrayToHexArrayString(response.Seagate_ServoPROMPartNo, 40)).AppendLine(); } #endregion Seagate vendor prettifying #region Kreon vendor prettifying if(response.KreonPresent) - sb.AppendFormat("Drive is flashed with Kreon firmware {0}.", + sb.AppendFormat(Localization.Drive_is_flashed_with_Kreon_firmware_0, StringHandlers.CToString(response.KreonVersion)).AppendLine(); #endregion Kreon vendor prettifying #if DEBUG if(response.DeviceTypeModifier != 0) - sb.AppendFormat("Vendor's device type modifier = 0x{0:X2}", response.DeviceTypeModifier).AppendLine(); + sb.AppendFormat(Localization.Vendor_device_type_modifier_0, response.DeviceTypeModifier).AppendLine(); if(response.Reserved2 != 0) - sb.AppendFormat("Reserved byte 5, bits 2 to 1 = 0x{0:X2}", response.Reserved2).AppendLine(); + sb.AppendFormat(Localization.Reserved_byte_five_bits_two_to_one_0, response.Reserved2).AppendLine(); if(response.Reserved3 != 0) - sb.AppendFormat("Reserved byte 56, bits 7 to 4 = 0x{0:X2}", response.Reserved3).AppendLine(); + sb.AppendFormat(Localization.Reserved_byte_56_bits_seven_to_four_0, response.Reserved3).AppendLine(); if(response.Reserved4 != 0) - sb.AppendFormat("Reserved byte 57 = 0x{0:X2}", response.Reserved4).AppendLine(); + sb.AppendFormat(Localization.Reserved_byte_57, response.Reserved4).AppendLine(); if(response.Reserved5 != null) { - sb.AppendLine("Reserved bytes 74 to 95"); + sb.AppendLine(Localization.Reserved_bytes_74_to_95); sb.AppendLine("============================================================"); sb.AppendLine(PrintHex.ByteArrayToHexArrayString(response.Reserved5, 60)); sb.AppendLine("============================================================"); @@ -2434,14 +2462,14 @@ public static class Inquiry { byte[] vendor = new byte[7]; Array.Copy(response.VendorSpecific, 11, vendor, 0, 7); - sb.AppendLine("Vendor-specific bytes 47 to 55"); + sb.AppendLine(Localization.Vendor_specific_bytes_47_to_55); sb.AppendLine("============================================================"); sb.AppendLine(PrintHex.ByteArrayToHexArrayString(vendor, 60)); sb.AppendLine("============================================================"); } else { - sb.AppendLine("Vendor-specific bytes 36 to 55"); + sb.AppendLine(Localization.Vendor_specific_bytes_36_to_55); sb.AppendLine("============================================================"); sb.AppendLine(PrintHex.ByteArrayToHexArrayString(response.VendorSpecific, 60)); sb.AppendLine("============================================================"); @@ -2449,11 +2477,11 @@ public static class Inquiry if(response.IsHiMD) { - sb.AppendLine("Hi-MD device."); + sb.AppendLine(Localization.Hi_MD_device_); if(response.HiMDSpecific != null) { - sb.AppendLine("Hi-MD specific bytes 44 to 55"); + sb.AppendLine(Localization.Hi_MD_specific_bytes_44_to_55); sb.AppendLine("============================================================"); sb.AppendLine(PrintHex.ByteArrayToHexArrayString(response.HiMDSpecific, 60)); sb.AppendLine("============================================================"); @@ -2463,7 +2491,7 @@ public static class Inquiry if(response.VendorSpecific2 == null) return sb.ToString(); - sb.AppendFormat("Vendor-specific bytes 96 to {0}", response.AdditionalLength + 4).AppendLine(); + sb.AppendFormat(Localization.Vendor_specific_bytes_96_to_0, response.AdditionalLength + 4).AppendLine(); sb.AppendLine("============================================================"); sb.AppendLine(PrintHex.ByteArrayToHexArrayString(response.VendorSpecific2, 60)); sb.AppendLine("============================================================"); diff --git a/SCSI/MMC/AACS.cs b/SCSI/MMC/AACS.cs index d65bd3cc0..41f70025d 100644 --- a/SCSI/MMC/AACS.cs +++ b/SCSI/MMC/AACS.cs @@ -83,12 +83,12 @@ public static class AACS #if DEBUG if(response.Reserved1 != 0) - sb.AppendFormat("Reserved1 = 0x{0:X2}", response.Reserved1).AppendLine(); + sb.AppendFormat(Localization.Reserved1_equals_0_X8, response.Reserved1).AppendLine(); if(response.Reserved2 != 0) - sb.AppendFormat("Reserved2 = 0x{0:X2}", response.Reserved2).AppendLine(); + sb.AppendFormat(Localization.Reserved2_equals_0_X8, response.Reserved2).AppendLine(); #endif - sb.AppendFormat("AACS Volume Identifier in hex follows:"); + sb.AppendFormat(Localization.AACS_Volume_Identifier_in_hex_follows); sb.AppendLine(PrintHex.ByteArrayToHexArrayString(response.VolumeIdentifier, 80)); return sb.ToString(); @@ -130,12 +130,12 @@ public static class AACS #if DEBUG if(response.Reserved1 != 0) - sb.AppendFormat("Reserved1 = 0x{0:X2}", response.Reserved1).AppendLine(); + sb.AppendFormat(Localization.Reserved1_equals_0_X8, response.Reserved1).AppendLine(); if(response.Reserved2 != 0) - sb.AppendFormat("Reserved2 = 0x{0:X2}", response.Reserved2).AppendLine(); + sb.AppendFormat(Localization.Reserved2_equals_0_X8, response.Reserved2).AppendLine(); #endif - sb.AppendFormat("AACS Media Serial Number in hex follows:"); + sb.AppendFormat(Localization.AACS_Media_Serial_Number_in_hex_follows); sb.AppendLine(PrintHex.ByteArrayToHexArrayString(response.MediaSerialNumber, 80)); return sb.ToString(); @@ -177,12 +177,12 @@ public static class AACS #if DEBUG if(response.Reserved1 != 0) - sb.AppendFormat("Reserved1 = 0x{0:X2}", response.Reserved1).AppendLine(); + sb.AppendFormat(Localization.Reserved1_equals_0_X8, response.Reserved1).AppendLine(); if(response.Reserved2 != 0) - sb.AppendFormat("Reserved2 = 0x{0:X2}", response.Reserved2).AppendLine(); + sb.AppendFormat(Localization.Reserved2_equals_0_X8, response.Reserved2).AppendLine(); #endif - sb.AppendFormat("AACS Media Identifier in hex follows:"); + sb.AppendFormat(Localization.AACS_Media_Identifier_in_hex_follows); sb.AppendLine(PrintHex.ByteArrayToHexArrayString(response.MediaIdentifier, 80)); return sb.ToString(); @@ -224,11 +224,12 @@ public static class AACS #if DEBUG if(response.Reserved != 0) - sb.AppendFormat("Reserved = 0x{0:X2}", response.Reserved).AppendLine(); + sb.AppendFormat(Localization.Reserved_equals_0_X2, response.Reserved).AppendLine(); #endif - sb.AppendFormat("Total number of media key blocks available to transfer {0}", response.TotalPacks).AppendLine(); + sb.AppendFormat(Localization.Total_number_of_media_key_blocks_available_to_transfer_0, response.TotalPacks). + AppendLine(); - sb.AppendFormat("AACS Media Key Blocks in hex follows:"); + sb.AppendFormat(Localization.AACS_Media_Key_Blocks_in_hex_follows); sb.AppendLine(PrintHex.ByteArrayToHexArrayString(response.MediaKeyBlockPacks, 80)); return sb.ToString(); @@ -270,12 +271,12 @@ public static class AACS #if DEBUG if(response.Reserved1 != 0) - sb.AppendFormat("Reserved1 = 0x{0:X2}", response.Reserved1).AppendLine(); + sb.AppendFormat(Localization.Reserved1_equals_0_X8, response.Reserved1).AppendLine(); if(response.Reserved2 != 0) - sb.AppendFormat("Reserved2 = 0x{0:X2}", response.Reserved2).AppendLine(); + sb.AppendFormat(Localization.Reserved2_equals_0_X8, response.Reserved2).AppendLine(); #endif - sb.AppendFormat("AACS Data Keys in hex follows:"); + sb.AppendFormat(Localization.AACS_Data_Keys_in_hex_follows); sb.AppendLine(PrintHex.ByteArrayToHexArrayString(response.DataKeys, 80)); return sb.ToString(); @@ -326,13 +327,13 @@ public static class AACS var sb = new StringBuilder(); if(response.MaxLBAExtents == 0) - sb.AppendLine(response.DataLength > 2 ? "Drive can store 256 LBA Extents" - : "Drive cannot store LBA Extents"); + sb.AppendLine(response.DataLength > 2 ? Localization.Drive_can_store_256_LBA_Extents + : Localization.Drive_cannot_store_LBA_Extents); else - sb.AppendFormat("Drive can store {0} LBA Extents", response.MaxLBAExtents).AppendLine(); + sb.AppendFormat(Localization.Drive_can_store_0_LBA_Extents, response.MaxLBAExtents).AppendLine(); for(int i = 0; i < response.Extents.Length; i++) - sb.AppendFormat("LBA Extent {0} starts at LBA {1} and goes for {2} sectors", i, + sb.AppendFormat(Localization.LBA_Extent_0_starts_at_LBA_1_and_goes_for_2_sectors, i, response.Extents[i].StartLBA, response.Extents[i].LBACount); return sb.ToString(); diff --git a/SCSI/MMC/CPRM.cs b/SCSI/MMC/CPRM.cs index 88fd5005b..efb5a29c2 100644 --- a/SCSI/MMC/CPRM.cs +++ b/SCSI/MMC/CPRM.cs @@ -83,12 +83,12 @@ public static class CPRM #if DEBUG if(response.Reserved != 0) - sb.AppendFormat("Reserved = 0x{0:X2}", response.Reserved).AppendLine(); + sb.AppendFormat(Localization.Reserved_equals_0_X2, response.Reserved).AppendLine(); #endif - sb.AppendFormat("Total number of CPRM Media Key Blocks available to transfer: {0}", response.TotalPacks). - AppendLine(); + sb.AppendFormat(Localization.Total_number_of_CPRM_Media_Key_Blocks_available_to_transfer_0, + response.TotalPacks).AppendLine(); - sb.AppendFormat("CPRM Media Key Blocks in hex follows:"); + sb.AppendFormat(Localization.CPRM_Media_Key_Blocks_in_hex_follows); sb.AppendLine(PrintHex.ByteArrayToHexArrayString(response.MKBPackData, 80)); return sb.ToString(); diff --git a/SCSI/MMC/DiscInformation.cs b/SCSI/MMC/DiscInformation.cs index bff8a7183..4cedc5601 100644 --- a/SCSI/MMC/DiscInformation.cs +++ b/SCSI/MMC/DiscInformation.cs @@ -133,23 +133,23 @@ public static class DiscInformation switch(information.Value.DiscType) { case 0x00: - sb.AppendLine("Disc type declared as CD-DA or CD-ROM"); + sb.AppendLine(Localization.Disc_type_declared_as_CD_DA_or_CD_ROM); break; case 0x10: - sb.AppendLine("Disc type declared as CD-i"); + sb.AppendLine(Localization.Disc_type_declared_as_CD_i); break; case 0x20: - sb.AppendLine("Disc type declared as CD-ROM XA"); + sb.AppendLine(Localization.Disc_type_declared_as_CD_ROM_XA); break; case 0xFF: - sb.AppendLine("Disc type is undefined"); + sb.AppendLine(Localization.Disc_type_is_undefined); break; default: - sb.AppendFormat("Unknown disc type {0:X2}h", information.Value.DiscType).AppendLine(); + sb.AppendFormat(Localization.Unknown_disc_type_0, information.Value.DiscType).AppendLine(); break; } @@ -157,38 +157,38 @@ public static class DiscInformation switch(information.Value.DiscStatus) { case 0: - sb.AppendLine("Disc is empty"); + sb.AppendLine(Localization.Disc_is_empty); break; case 1: - sb.AppendLine("Disc is incomplete"); + sb.AppendLine(Localization.Disc_is_incomplete); break; case 2: - sb.AppendLine("Disc is finalized"); + sb.AppendLine(Localization.Disc_is_finalized); break; } if(information.Value.Erasable) - sb.AppendLine("Disc is erasable"); + sb.AppendLine(Localization.Disc_is_erasable); switch(information.Value.LastSessionStatus) { case 0: - sb.AppendLine("Last session is empty"); + sb.AppendLine(Localization.Last_session_is_empty); break; case 1: - sb.AppendLine("Last session is incomplete"); + sb.AppendLine(Localization.Last_session_is_incomplete); break; case 2: - sb.AppendLine("Last session is damaged"); + sb.AppendLine(Localization.Last_session_is_damaged); break; case 3: - sb.AppendLine("Last session is complete"); + sb.AppendLine(Localization.Last_session_is_complete); break; } @@ -196,61 +196,63 @@ public static class DiscInformation switch(information.Value.BGFormatStatus) { case 1: - sb.AppendLine("Media was being formatted in the background but it is stopped and incomplete"); + sb.AppendLine(Localization. + Media_was_being_formatted_in_the_background_but_it_is_stopped_and_incomplete); break; case 2: - sb.AppendLine("Media is currently being formatted in the background"); + sb.AppendLine(Localization.Media_is_currently_being_formatted_in_the_background); break; case 3: - sb.AppendLine("Media background formatting has completed"); + sb.AppendLine(Localization.Media_background_formatting_has_completed); break; } if(information.Value.Dbit) - sb.AppendLine("MRW is dirty"); + sb.AppendLine(Localization.MRW_is_dirty); - sb.AppendFormat("First track on disc is track {0}", information.Value.FirstTrackNumber).AppendLine(); - sb.AppendFormat("Disc has {0} sessions", information.Value.Sessions).AppendLine(); + sb.AppendFormat(Localization.First_track_on_disc_is_track_0, information.Value.FirstTrackNumber).AppendLine(); + sb.AppendFormat(Localization.Disc_has_0_sessions, information.Value.Sessions).AppendLine(); - sb.AppendFormat("First track in last session is track {0}", information.Value.FirstTrackLastSession). + sb.AppendFormat(Localization.First_track_in_last_session_is_track_0, information.Value.FirstTrackLastSession). AppendLine(); - sb.AppendFormat("Last track in last session is track {0}", information.Value.LastTrackLastSession).AppendLine(); + sb.AppendFormat(Localization.Last_track_in_last_session_is_track_0, information.Value.LastTrackLastSession). + AppendLine(); - sb.AppendFormat("Last session Lead-In address is {0} (as LBA) or {1:X2}:{2:X2}:{3:X2}", + sb.AppendFormat(Localization.Last_session_Lead_In_address_is_0_as_LBA_or_1_2_3, information.Value.LastSessionLeadInStartLBA, (information.Value.LastSessionLeadInStartLBA & 0xFF0000) >> 16, (information.Value.LastSessionLeadInStartLBA & 0xFF00) >> 8, information.Value.LastSessionLeadInStartLBA & 0xFF).AppendLine(); - sb.AppendFormat("Last possible Lead-Out address is {0} (as LBA) or {1:X2}:{2:X2}:{3:X2}", + sb.AppendFormat(Localization.Last_possible_Lead_Out_address_is_0_as_LBA_or_1_2_3, information.Value.LastPossibleLeadOutStartLBA, (information.Value.LastPossibleLeadOutStartLBA & 0xFF0000) >> 16, (information.Value.LastPossibleLeadOutStartLBA & 0xFF00) >> 8, information.Value.LastPossibleLeadOutStartLBA & 0xFF).AppendLine(); - sb.AppendLine(information.Value.URU ? "Disc is defined for unrestricted use" - : "Disc is defined for restricted use"); + sb.AppendLine(information.Value.URU ? Localization.Disc_is_defined_for_unrestricted_use + : Localization.Disc_is_defined_for_restricted_use); if(information.Value.DID_V) - sb.AppendFormat("Disc ID: {0:X6}", information.Value.DiscIdentification & 0x00FFFFFF).AppendLine(); + sb.AppendFormat(Localization.Disc_ID_0_X6, information.Value.DiscIdentification & 0x00FFFFFF).AppendLine(); if(information.Value.DBC_V) - sb.AppendFormat("Disc barcode: {0:X16}", information.Value.DiscBarcode).AppendLine(); + sb.AppendFormat(Localization.Disc_barcode_0, information.Value.DiscBarcode).AppendLine(); if(information.Value.DAC_V) - sb.AppendFormat("Disc application code: {0}", information.Value.DiscApplicationCode).AppendLine(); + sb.AppendFormat(Localization.Disc_application_code_0, information.Value.DiscApplicationCode).AppendLine(); if(information.Value.OPCTables == null) return sb.ToString(); foreach(OPCTable table in information.Value.OPCTables) - sb.AppendFormat("OPC values for {0}Kbit/sec.: {1}, {2}, {3}, {4}, {5}, {6}", table.Speed, - table.OPCValues[0], table.OPCValues[1], table.OPCValues[2], table.OPCValues[3], - table.OPCValues[4], table.OPCValues[5]).AppendLine(); + sb.AppendFormat(Localization.OPC_values_for_0_Kbit_sec_1_2_3_4_5_6, table.Speed, table.OPCValues[0], + table.OPCValues[1], table.OPCValues[2], table.OPCValues[3], table.OPCValues[4], + table.OPCValues[5]).AppendLine(); return sb.ToString(); } @@ -287,13 +289,13 @@ public static class DiscInformation var sb = new StringBuilder(); - sb.AppendFormat("{0} maximum possible tracks on the disc", information.Value.MaxTracks).AppendLine(); - sb.AppendFormat("{0} assigned tracks on the disc", information.Value.AssignedTracks).AppendLine(); + sb.AppendFormat(Localization._0_maximum_possible_tracks_on_the_disc, information.Value.MaxTracks).AppendLine(); + sb.AppendFormat(Localization._0_assigned_tracks_on_the_disc, information.Value.AssignedTracks).AppendLine(); - sb.AppendFormat("{0} maximum possible appendable tracks on the disc", information.Value.AppendableTracks). - AppendLine(); + sb.AppendFormat(Localization._0_maximum_possible_appendable_tracks_on_the_disc, + information.Value.AppendableTracks).AppendLine(); - sb.AppendFormat("{0} current appendable tracks on the disc", information.Value.MaxAppendableTracks). + sb.AppendFormat(Localization._0_current_appendable_tracks_on_the_disc, information.Value.MaxAppendableTracks). AppendLine(); return sb.ToString(); @@ -336,12 +338,13 @@ public static class DiscInformation var sb = new StringBuilder(); - sb.AppendFormat("{0} remaining POW replacements", information.Value.RemainingPOWReplacements).AppendLine(); - - sb.AppendFormat("{0} remaining POW reallocation map entries", information.Value.RemainingPOWReallocation). + sb.AppendFormat(Localization._0_remaining_POW_replacements, information.Value.RemainingPOWReplacements). AppendLine(); - sb.AppendFormat("{0} remaining POW updates", information.Value.RemainingPOWUpdates).AppendLine(); + sb.AppendFormat(Localization._0_remaining_POW_reallocation_map_entries, + information.Value.RemainingPOWReallocation).AppendLine(); + + sb.AppendFormat(Localization._0_remaining_POW_updates, information.Value.RemainingPOWUpdates).AppendLine(); return sb.ToString(); } diff --git a/SCSI/MMC/Features.cs b/SCSI/MMC/Features.cs index f043bbfe3..633f7c5fe 100644 --- a/SCSI/MMC/Features.cs +++ b/SCSI/MMC/Features.cs @@ -38,6 +38,7 @@ using System.Diagnostics.CodeAnalysis; using System.Text; using Aaru.CommonTypes.Structs.Devices.SCSI; using Aaru.Helpers; +using Aaru.Localization; namespace Aaru.Decoders.SCSI.MMC; @@ -3083,7 +3084,7 @@ public static class Features Feature_0000 ftr = feature.Value; var sb = new StringBuilder(); - sb.AppendLine("MMC Supported Profiles:"); + sb.AppendLine(Localization.MMC_Supported_Profiles); if(ftr.Profiles == null) return sb.ToString(); @@ -3093,169 +3094,169 @@ public static class Features switch(prof.Number) { case ProfileNumber.Reserved: - sb.Append("\tDrive reported a reserved profile number"); + sb.Append("\t" + Localization.Drive_reported_a_reserved_profile_number); break; case ProfileNumber.NonRemovable: - sb.Append("\tDrive supports non-removable changeable media"); + sb.Append("\t" + Localization.Drive_supports_non_removable_changeable_media); break; case ProfileNumber.Removable: - sb.Append("\tDrive supports rewritable and removable media"); + sb.Append("\t" + Localization.Drive_supports_rewritable_and_removable_media); break; case ProfileNumber.MOErasable: - sb.Append("\tDrive supports Magnet-Optical media"); + sb.Append("\t" + Localization.Drive_supports_Magneto_Optical_media); break; case ProfileNumber.OpticalWORM: - sb.Append("\tDrive supports optical write-once media"); + sb.Append("\t" + Localization.Drive_supports_optical_write_once_media); break; case ProfileNumber.ASMO: - sb.Append("\tDrive supports Advanced Storage - Magneto-Optical"); + sb.Append("\t" + Localization.Drive_supports_Advanced_Storage_Magneto_Optical); break; case ProfileNumber.CDROM: - sb.Append("\tDrive supports CD-ROM"); + sb.Append("\t" + Localization.Drive_supports_CD_ROM); break; case ProfileNumber.CDR: - sb.Append("\tDrive supports CD-R"); + sb.Append("\t" + Localization.Drive_supports_CD_R); break; case ProfileNumber.CDRW: - sb.Append("\tDrive supports CD-RW"); + sb.Append("\t" + Localization.Drive_supports_CD_RW); break; case ProfileNumber.DVDROM: - sb.Append("\tDrive supports DVD-ROM"); + sb.Append("\t" + Localization.Drive_supports_DVD_ROM); break; case ProfileNumber.DVDRSeq: - sb.Append("\tDrive supports DVD-R"); + sb.Append("\t" + Localization.Drive_supports_DVD_R); break; case ProfileNumber.DVDRAM: - sb.Append("\tDrive supports DVD-RAM"); + sb.Append("\t" + Localization.Drive_supports_DVD_RAM); break; case ProfileNumber.DVDRWRes: - sb.Append("\tDrive supports restricted overwrite DVD-RW"); + sb.Append("\t" + Localization.Drive_supports_restricted_overwrite_DVD_RW); break; case ProfileNumber.DVDRWSeq: - sb.Append("\tDrive supports sequentially recorded DVD-RW"); + sb.Append("\t" + Localization.Drive_supports_sequentially_recorded_DVD_RW); break; case ProfileNumber.DVDRDLSeq: - sb.Append("\tDrive supports sequentially recorded DVD-R DL"); + sb.Append("\t" + Localization.Drive_supports_sequentially_recorded_DVD_R_DL); break; case ProfileNumber.DVDRDLJump: - sb.Append("\tDrive supports layer jump recorded DVD-R DL"); + sb.Append("\t" + Localization.Drive_supports_layer_jump_recorded_DVD_R_DL); break; case ProfileNumber.DVDRWDL: - sb.Append("\tDrive supports DVD-RW DL"); + sb.Append("\t" + Localization.Drive_supports_DVD_RW_DL); break; case ProfileNumber.DVDDownload: - sb.Append("\tDrive supports DVD-Download"); + sb.Append("\t" + Localization.Drive_supports_DVD_Download); break; case ProfileNumber.DVDRWPlus: - sb.Append("\tDrive supports DVD+RW"); + sb.Append("\t" + Localization.Drive_supports_DVD_Plus_RW); break; case ProfileNumber.DVDRPlus: - sb.Append("\tDrive supports DVD+R"); + sb.Append("\t" + Localization.Drive_supports_DVD_Plus_R); break; case ProfileNumber.DDCDROM: - sb.Append("\tDrive supports DDCD-ROM"); + sb.Append("\t" + Localization.Drive_supports_DDCD_ROM); break; case ProfileNumber.DDCDR: - sb.Append("\tDrive supports DDCD-R"); + sb.Append("\t" + Localization.Drive_supports_DDCD_R); break; case ProfileNumber.DDCDRW: - sb.Append("\tDrive supports DDCD-RW"); + sb.Append("\t" + Localization.Drive_supports_DDCD_RW); break; case ProfileNumber.DVDRWDLPlus: - sb.Append("\tDrive supports DVD+RW DL"); + sb.Append("\t" + Localization.Drive_supports_DVD_Plus_RW_DL); break; case ProfileNumber.DVDRDLPlus: - sb.Append("\tDrive supports DVD+R DL"); + sb.Append("\t" + Localization.Drive_supports_DVD_Plus_R_DL); break; case ProfileNumber.BDROM: - sb.Append("\tDrive supports BD-ROM"); + sb.Append("\t" + Localization.Drive_supports_BD_ROM); break; case ProfileNumber.BDRSeq: - sb.Append("\tDrive supports BD-R SRM"); + sb.Append("\t" + Localization.Drive_supports_BD_R_SRM); break; case ProfileNumber.BDRRdm: - sb.Append("\tDrive supports BD-R RRM"); + sb.Append("\t" + Localization.Drive_supports_BD_R_RRM); break; case ProfileNumber.BDRE: - sb.Append("\tDrive supports BD-RE"); + sb.Append("\t" + Localization.Drive_supports_BD_RE); break; case ProfileNumber.HDDVDROM: - sb.Append("\tDrive supports HD DVD-ROM"); + sb.Append("\t" + Localization.Drive_supports_HD_DVD_ROM); break; case ProfileNumber.HDDVDR: - sb.Append("\tDrive supports HD DVD-R"); + sb.Append("\t" + Localization.Drive_supports_HD_DVD_R); break; case ProfileNumber.HDDVDRAM: - sb.Append("\tDrive supports HD DVD-RAM"); + sb.Append("\t" + Localization.Drive_supports_HD_DVD_RAM); break; case ProfileNumber.HDDVDRW: - sb.Append("\tDrive supports HD DVD-RW"); + sb.Append("\t" + Localization.Drive_supports_HD_DVD_RW); break; case ProfileNumber.HDDVDRDL: - sb.Append("\tDrive supports HD DVD-R DL"); + sb.Append("\t" + Localization.Drive_supports_HD_DVD_R_DL); break; case ProfileNumber.HDDVDRWDL: - sb.Append("\tDrive supports HD DVD-RW DL"); + sb.Append("\t" + Localization.Drive_supports_HD_DVD_RW_DL); break; case ProfileNumber.HDBURNROM: - sb.Append("\tDrive supports HDBurn CD-ROM"); + sb.Append("\t" + Localization.Drive_supports_HDBurn_CD_ROM); break; case ProfileNumber.HDBURNR: - sb.Append("\tDrive supports HDBurn CD-R"); + sb.Append("\t" + Localization.Drive_supports_HDBurn_CD_R); break; case ProfileNumber.HDBURNRW: - sb.Append("\tDrive supports HDBurn CD-RW"); + sb.Append("\t" + Localization.Drive_supports_HDBurn_CD_RW); break; case ProfileNumber.Unconforming: - sb.Append("\tDrive is not conforming to any profile"); + sb.Append("\t" + Localization.Drive_is_not_conforming_to_any_profile); break; default: - sb.AppendFormat("\tDrive informs of unknown profile 0x{0:X4}", (ushort)prof.Number); + sb.AppendFormat("\t" + Localization.Drive_informs_of_unknown_profile_0, (ushort)prof.Number); break; } if(prof.Current) - sb.AppendLine(" (current)"); + sb.AppendLine(Localization.current); else sb.AppendLine(); } @@ -3271,62 +3272,64 @@ public static class Features Feature_0001 ftr = feature.Value; var sb = new StringBuilder(); - sb.AppendLine("MMC Core Feature:"); - sb.Append("\tDrive uses "); + sb.AppendLine(Localization.MMC_Core_Feature); + sb.Append("\t"); switch(ftr.PhysicalInterfaceStandard) { case PhysicalInterfaces.Unspecified: - sb.AppendLine("an unspecified physical interface"); + sb.AppendLine(Localization.Drive_uses_an_unspecified_physical_interface); break; case PhysicalInterfaces.SCSI: - sb.AppendLine("SCSI interface"); + sb.AppendLine(Localization.Drive_uses_a_SCSI_interface); break; case PhysicalInterfaces.ATAPI: - sb.AppendLine("ATAPI interface"); + sb.AppendLine(Localization.Drive_uses_an_ATAPI_interface); break; case PhysicalInterfaces.IEEE1394: - sb.AppendLine("IEEE-1394 interface"); + sb.AppendLine(Localization.Drive_uses_an_IEEE_1394_interface); break; case PhysicalInterfaces.IEEE1394A: - sb.AppendLine("IEEE-1394A interface"); + sb.AppendLine(Localization.Drive_uses_an_IEEE_1394A_interface); break; case PhysicalInterfaces.FC: - sb.AppendLine("Fibre Channel interface"); + sb.AppendLine(Localization.Drive_uses_a_Fibre_Channel_interface); break; case PhysicalInterfaces.IEEE1394B: - sb.AppendLine("IEEE-1394B interface"); + sb.AppendLine(Localization.Drive_uses_an_IEEE_1394B_interface); break; case PhysicalInterfaces.SerialATAPI: - sb.AppendLine("Serial ATAPI interface"); + sb.AppendLine(Localization.Drive_uses_a_Serial_ATAPI_interface); break; case PhysicalInterfaces.USB: - sb.AppendLine("USB interface"); + sb.AppendLine(Localization.Drive_uses_an_USB_interface); break; case PhysicalInterfaces.Vendor: - sb.AppendLine("a vendor unique interface"); + sb.AppendLine(Localization.Drive_uses_a_vendor_unique_interface); break; default: - sb.AppendFormat("an unknown interface with code {0}", (uint)ftr.PhysicalInterfaceStandard).AppendLine(); + sb.AppendFormat(Localization.Drive_uses_an_unknown_interface_with_code_0, + (uint)ftr.PhysicalInterfaceStandard).AppendLine(); break; } if(ftr.DBE) - sb.AppendLine("\tDrive supports Device Busy events"); + sb.AppendLine("\t" + Localization.Drive_supports_Device_Busy_events); if(ftr.INQ2) - sb.AppendLine("\tDrive supports EVPD, Page Code and 16-bit Allocation Length as described in SPC-3"); + sb.AppendLine("\t" + Localization. + Drive_supports_EVPD_Page_Code_and_16_bit_Allocation_Length_as_described_in_SPC_3); return sb.ToString(); } @@ -3339,13 +3342,14 @@ public static class Features Feature_0002 ftr = feature.Value; var sb = new StringBuilder(); - sb.AppendLine("MMC Morphing:"); + sb.AppendLine(Localization.MMC_Morphing); - sb.AppendLine(ftr.Async ? "\tDrive supports polling and asynchronous GET EVENT STATUS NOTIFICATION" - : "\tDrive supports only polling GET EVENT STATUS NOTIFICATION"); + sb.AppendLine(ftr.Async + ? "\t" + Localization.Drive_supports_polling_and_asynchronous_GET_EVENT_STATUS_NOTIFICATION + : "\t" + Localization.Drive_supports_only_polling_GET_EVENT_STATUS_NOTIFICATION); if(ftr.OCEvent) - sb.AppendLine("\tDrive supports operational change request / notification class events"); + sb.AppendLine("\t" + Localization.Drive_supports_operational_change_request_notification_class_events); return sb.ToString(); } @@ -3358,51 +3362,53 @@ public static class Features Feature_0003 ftr = feature.Value; var sb = new StringBuilder(); - sb.AppendLine("MMC Removable Medium:"); + sb.AppendLine(Localization.Features_Prettify_0003_MMC_Removable_Medium); switch(ftr.LoadingMechanismType) { case 0: - sb.AppendLine("\tDrive uses media caddy"); + sb.AppendLine("\t" + Localization.Features_Prettify_0003_Drive_uses_media_caddy); break; case 1: - sb.AppendLine("\tDrive uses a tray"); + sb.AppendLine("\t" + Localization.Features_Prettify_0003_Drive_uses_a_tray); break; case 2: - sb.AppendLine("\tDrive is pop-up"); + sb.AppendLine("\t" + Localization.Features_Prettify_0003_Drive_is_pop_up); break; case 4: - sb.AppendLine("\tDrive is a changer with individually changeable discs"); + sb.AppendLine("\t" + Localization. + Features_Prettify_0003_Drive_is_a_changer_with_individually_changeable_discs); break; case 5: - sb.AppendLine("\tDrive is a changer using cartridges"); + sb.AppendLine("\t" + Localization.Features_Prettify_0003_Drive_is_a_changer_using_cartridges); break; default: - sb.AppendFormat("\tDrive uses unknown loading mechanism type {0}", ftr.LoadingMechanismType). - AppendLine(); + sb.AppendFormat("\t" + Localization.Features_Prettify_0003_Drive_uses_unknown_loading_mechanism_type_0, + ftr.LoadingMechanismType).AppendLine(); break; } if(ftr.Lock) - sb.AppendLine("\tDrive can lock media"); + sb.AppendLine("\t" + Localization.Features_Prettify_0003_Drive_can_lock_media); if(ftr.PreventJumper) - sb.AppendLine("\tDrive power ups locked"); + sb.AppendLine("\t" + Localization.Features_Prettify_0003_Drive_power_ups_locked); if(ftr.Eject) - sb.AppendLine("\tDrive can eject media"); + sb.AppendLine("\t" + Localization.Features_Prettify_0003_Drive_can_eject_media); if(ftr.Load) - sb.AppendLine("\tDrive can load media"); + sb.AppendLine("\t" + Localization.Features_Prettify_0003_Drive_can_load_media); if(ftr.DBML) - sb.AppendLine("\tDrive reports Device Busy Class events during medium loading/unloading"); + sb.AppendLine("\t" + Localization. + Features_Prettify_0003_Drive_reports_Device_Busy_Class_events_during_medium_loading_unloading); return sb.ToString(); } @@ -3415,19 +3421,20 @@ public static class Features Feature_0004 ftr = feature.Value; var sb = new StringBuilder(); - sb.AppendLine("MMC Write Protect:"); + sb.AppendLine(Localization.MMC_Write_Protect); if(ftr.DWP) - sb.AppendLine("\tDrive supports reading/writing the Disc Write Protect PAC on BD-R/-RE media"); + sb.AppendLine("\t" + Localization. + Drive_supports_reading_writing_the_Disc_Write_Protect_PAC_on_BD_R_RE_media); if(ftr.WDCB) - sb.AppendLine("\tDrive supports writing the Write Inhibit DCB on DVD+RW media"); + sb.AppendLine("\t" + Localization.Drive_supports_writing_the_Write_Inhibit_DCB_on_DVD_RW_media); if(ftr.SPWP) - sb.AppendLine("\tDrive supports set/release of PWP status"); + sb.AppendLine("\t" + Localization.Drive_supports_set_release_of_PWP_status); if(ftr.SSWPP) - sb.AppendLine("\tDrive supports the SWPP bit of the Timeout and Protect mode page"); + sb.AppendLine("\t" + Localization.Drive_supports_the_SWPP_bit_of_the_Timeout_and_Protect_mode_page); return sb.ToString(); } @@ -3440,28 +3447,29 @@ public static class Features Feature_0010 ftr = feature.Value; var sb = new StringBuilder(); - sb.Append("MMC Random Readable"); + sb.Append(Localization.MMC_Random_Readable); if(ftr.Current) - sb.Append(" (current)"); + sb.Append(Localization.current); sb.AppendLine(":"); if(ftr.PP) - sb.AppendLine("\tDrive shall report Read/Write Error Recovery mode page"); + sb.AppendLine("\t" + Localization.Drive_shall_report_Read_Write_Error_Recovery_mode_page); if(ftr.LogicalBlockSize > 0) - sb.AppendFormat("\t{0} bytes per logical block", ftr.LogicalBlockSize).AppendLine(); + sb.AppendFormat("\t" + Localization._0_bytes_per_logical_block, ftr.LogicalBlockSize).AppendLine(); if(ftr.Blocking > 1) - sb.AppendFormat("\t{0} logical blocks per media readable unit", ftr.Blocking).AppendLine(); + sb.AppendFormat("\t" + Localization._0_logical_blocks_per_media_readable_unit, ftr.Blocking).AppendLine(); return sb.ToString(); } public static string Prettify_001D(Feature_001D? feature) => !feature.HasValue ? null - : "Drive claims capability to read all CD formats according to OSTA Multi-Read Specification\n"; + : Localization.Drive_claims_capability_to_read_all_CD_formats_according_to_OSTA_Multi_Read_Specification + + "\n"; public static string Prettify_001E(Feature_001E? feature) { @@ -3471,21 +3479,21 @@ public static class Features Feature_001E ftr = feature.Value; var sb = new StringBuilder(); - sb.Append("MMC CD Read"); + sb.Append(Localization.MMC_CD_Read); if(ftr.Current) - sb.Append(" (current)"); + sb.Append(Localization.current); sb.AppendLine(":"); if(ftr.DAP) - sb.AppendLine("\tDrive supports the DAP bit in the READ CD and READ CD MSF commands"); + sb.AppendLine("\t" + Localization.Drive_supports_the_DAP_bit_in_the_READ_CD_and_READ_CD_MSF_commands); if(ftr.C2) - sb.AppendLine("\tDrive supports C2 Error Pointers"); + sb.AppendLine("\t" + Localization.Drive_supports_C2_Error_Pointers); if(ftr.CDText) - sb.AppendLine("\tDrive can return CD-Text from Lead-In"); + sb.AppendLine("\t" + Localization.Drive_can_return_CD_Text_from_Lead_In); return sb.ToString(); } @@ -3498,22 +3506,22 @@ public static class Features Feature_001F ftr = feature.Value; var sb = new StringBuilder(); - sb.Append("MMC DVD Read"); + sb.Append(Localization.MMC_DVD_Read); if(ftr.Current) - sb.Append(" (current)"); + sb.Append(Localization.current); sb.AppendLine(":"); - sb.AppendLine("\tDrive can read DVD media"); + sb.AppendLine("\t" + Localization.Drive_can_read_DVD_media); if(ftr.DualR) - sb.AppendLine("\tDrive can read DVD-R DL from all recording modes"); + sb.AppendLine("\t" + Localization.Drive_can_read_DVD_R_DL_from_all_recording_modes); if(ftr.DualRW) - sb.AppendLine("\tDrive can read DVD-RW DL from all recording modes"); + sb.AppendLine("\t" + Localization.Drive_can_read_DVD_RW_DL_from_all_recording_modes); if(ftr.MULTI110) - sb.AppendLine("\tDrive conforms to DVD Multi Drive Read-only Specifications"); + sb.AppendLine("\t" + Localization.Drive_conforms_to_DVD_Multi_Drive_Read_only_Specifications); return sb.ToString(); } @@ -3526,24 +3534,24 @@ public static class Features Feature_0020 ftr = feature.Value; var sb = new StringBuilder(); - sb.Append("MMC Random Writable:"); + sb.Append(Localization.MMC_Random_Writable); if(ftr.Current) - sb.Append(" (current)"); + sb.Append(Localization.current); sb.AppendLine(":"); if(ftr.PP) - sb.AppendLine("\tDrive shall report Read/Write Error Recovery mode page"); + sb.AppendLine("\t" + Localization.Drive_shall_report_Read_Write_Error_Recovery_mode_page); if(ftr.LogicalBlockSize > 0) - sb.AppendFormat("\t{0} bytes per logical block", ftr.LogicalBlockSize).AppendLine(); + sb.AppendFormat("\t" + Localization._0_bytes_per_logical_block, ftr.LogicalBlockSize).AppendLine(); if(ftr.Blocking > 1) - sb.AppendFormat("\t{0} logical blocks per media writable unit", ftr.Blocking).AppendLine(); + sb.AppendFormat("\t" + Localization._0_logical_blocks_per_media_writable_unit, ftr.Blocking).AppendLine(); if(ftr.LastLBA > 0) - sb.AppendFormat("\tLast addressable logical block is {0}", ftr.LastLBA).AppendLine(); + sb.AppendFormat("\t" + Localization.Last_addressable_logical_block_is_0, ftr.LastLBA).AppendLine(); return sb.ToString(); } @@ -3556,11 +3564,11 @@ public static class Features Feature_0021 ftr = feature.Value; var sb = new StringBuilder(); - sb.AppendLine("MMC Incremental Streaming Writable:"); + sb.AppendLine(Localization.MMC_Incremental_Streaming_Writable); if(ftr.DataTypeSupported > 0) { - sb.Append("\tDrive supports data block types:"); + sb.Append("\t" + Localization.Drive_supports_data_block_types); if((ftr.DataTypeSupported & 0x0001) == 0x0001) sb.Append(" 0"); @@ -3614,19 +3622,19 @@ public static class Features } if(ftr.TRIO) - sb.AppendLine("\tDrive claims support to report Track Resources Information"); + sb.AppendLine("\t" + Localization.Drive_claims_support_to_report_Track_Resources_Information); if(ftr.ARSV) - sb.AppendLine("\tDrive supports address mode reservation on the RESERVE TRACK command"); + sb.AppendLine("\t" + Localization.Drive_supports_address_mode_reservation_on_the_RESERVE_TRACK_command); if(ftr.BUF) - sb.AppendLine("\tDrive is capable of zero loss linking"); + sb.AppendLine("\t" + Localization.Drive_is_capable_of_zero_loss_linking); return sb.ToString(); } public static string Prettify_0022(Feature_0022? feature) => - !feature.HasValue ? null : "Drive supports media that require erasing before writing\n"; + !feature.HasValue ? null : Localization.Drive_supports_media_that_require_erasing_before_writing + "\n"; public static string Prettify_0023(Feature_0023? feature) { @@ -3636,26 +3644,26 @@ public static class Features Feature_0023 ftr = feature.Value; var sb = new StringBuilder(); - sb.AppendLine("MMC Formattable:"); - sb.AppendLine("\tDrive can format media into logical blocks"); + sb.AppendLine(Localization.MMC_Formattable); + sb.AppendLine("\t" + Localization.Drive_can_format_media_into_logical_blocks); if(ftr.RENoSA) - sb.AppendLine("\tDrive can format BD-RE with no spares allocated"); + sb.AppendLine("\t" + Localization.Drive_can_format_BD_RE_with_no_spares_allocated); if(ftr.Expand) - sb.AppendLine("\tDrive can expand the spare area on a formatted BD-RE disc"); + sb.AppendLine("\t" + Localization.Drive_can_expand_the_spare_area_on_a_formatted_BD_RE_disc); if(ftr.QCert) - sb.AppendLine("\tDrive can format BD-RE discs with quick certification"); + sb.AppendLine("\t" + Localization.Drive_can_format_BD_RE_discs_with_quick_certification); if(ftr.Cert) - sb.AppendLine("\tDrive can format BD-RE discs with full certification"); + sb.AppendLine("\t" + Localization.Drive_can_format_BD_RE_discs_with_full_certification); if(ftr.FRF) - sb.AppendLine("\tDrive can fast re-format BD-RE discs"); + sb.AppendLine("\t" + Localization.Drive_can_fast_re_format_BD_RE_discs); if(ftr.RRM) - sb.AppendLine("\tDrive can format BD-R discs with RRM format"); + sb.AppendLine("\t" + Localization.Drive_can_format_BD_R_discs_with_RRM_format); return sb.ToString(); } @@ -3668,11 +3676,11 @@ public static class Features Feature_0024 ftr = feature.Value; var sb = new StringBuilder(); - sb.AppendLine("MMC Hardware Defect Management:"); - sb.AppendLine("\tDrive shall be able to provide a defect-free contiguous address space"); + sb.AppendLine(Localization.MMC_Hardware_Defect_Management); + sb.AppendLine("\t" + Localization.Drive_shall_be_able_to_provide_a_defect_free_contiguous_address_space); if(ftr.SSA) - sb.AppendLine("\tDrive can return Spare Area Information"); + sb.AppendLine("\t" + Localization.Drive_can_return_Spare_Area_Information); return sb.ToString(); } @@ -3685,28 +3693,28 @@ public static class Features Feature_0025 ftr = feature.Value; var sb = new StringBuilder(); - sb.Append("MMC Write Once"); + sb.Append(Localization.MMC_Write_Once); if(ftr.Current) - sb.Append(" (current)"); + sb.Append(Localization.current); sb.AppendLine(":"); if(ftr.PP) - sb.AppendLine("\tDrive shall report Read/Write Error Recovery mode page"); + sb.AppendLine("\t" + Localization.Drive_shall_report_Read_Write_Error_Recovery_mode_page); if(ftr.LogicalBlockSize > 0) - sb.AppendFormat("\t{0} bytes per logical block", ftr.LogicalBlockSize).AppendLine(); + sb.AppendFormat("\t" + Localization._0_bytes_per_logical_block, ftr.LogicalBlockSize).AppendLine(); if(ftr.Blocking > 1) - sb.AppendFormat("\t{0} logical blocks per media writable unit", ftr.Blocking).AppendLine(); + sb.AppendFormat("\t" + Localization._0_logical_blocks_per_media_writable_unit, ftr.Blocking).AppendLine(); return sb.ToString(); } public static string Prettify_0026(Feature_0026? feature) => !feature.HasValue ? null - : "Drive shall have the ability to overwrite logical blocks only in fixed sets at a time\n"; + : Localization.Drive_shall_have_the_ability_to_overwrite_logical_blocks_only_in_fixed_sets_at_a_time + "\n"; public static string Prettify_0027(Feature_0027? feature) { @@ -3716,10 +3724,10 @@ public static class Features Feature_0027 ftr = feature.Value; var sb = new StringBuilder(); - sb.Append("Drive can write High-Speed CD-RW"); + sb.Append(Localization.Drive_can_write_High_Speed_CD_RW); if(ftr.Current) - sb.AppendLine(" (current)"); + sb.AppendLine(Localization.current); else sb.AppendLine(); @@ -3736,30 +3744,31 @@ public static class Features if(ftr.Write && ftr is { DVDPRead: true, DVDPWrite: true }) - sb.Append("Drive can read and write CD-MRW and DVD+MRW"); + sb.Append(Localization.Drive_can_read_and_write_CD_MRW_and_DVD_MRW); else if(ftr is { DVDPRead: true, DVDPWrite: true }) - sb.Append("Drive can read and write DVD+MRW"); + sb.Append(Localization.Drive_can_read_and_write_DVD_MRW); else switch(ftr.Write) { case true when ftr.DVDPRead: - sb.Append("Drive and read DVD+MRW and read and write CD-MRW"); + sb.Append(Localization.Drive_and_read_DVD_MRW_and_read_and_write_CD_MRW); break; case true: - sb.Append("Drive can read and write CD-MRW"); + sb.Append(Localization.Drive_can_read_and_write_CD_MRW); break; default: { - sb.Append(ftr.DVDPRead ? "Drive can read CD-MRW and DVD+MRW" : "Drive can read CD-MRW"); + sb.Append(ftr.DVDPRead ? Localization.Drive_can_read_CD_MRW_and_DVD_MRW + : Localization.Drive_can_read_CD_MRW); break; } } if(ftr.Current) - sb.AppendLine(" (current)"); + sb.AppendLine(Localization.current); else sb.AppendLine(); @@ -3774,15 +3783,16 @@ public static class Features Feature_0029 ftr = feature.Value; var sb = new StringBuilder(); - sb.AppendLine("MMC Enhanced Defect Reporting Feature:"); + sb.AppendLine(Localization.MMC_Enhanced_Defect_Reporting_Feature); - sb.AppendLine(ftr.DRTDM ? "\tDrive supports DRT-DM mode" : "\tDrive supports Persistent-DM mode"); + sb.AppendLine(ftr.DRTDM ? "\t" + Localization.Drive_supports_DRT_DM_mode + : "\t" + Localization.Drive_supports_Persistent_DM_mode); if(ftr.DBICacheZones > 0) - sb.AppendFormat("\tDrive has {0} DBI cache zones", ftr.DBICacheZones).AppendLine(); + sb.AppendFormat("\t" + Localization.Drive_has_0_DBI_cache_zones, ftr.DBICacheZones).AppendLine(); if(ftr.Entries > 0) - sb.AppendFormat("\tDrive has {0} DBI entries", ftr.Entries).AppendLine(); + sb.AppendFormat("\t" + Localization.Drive_has_0_DBI_entries, ftr.Entries).AppendLine(); return sb.ToString(); } @@ -3797,25 +3807,25 @@ public static class Features if(ftr.Write) { - sb.Append("Drive can read and write DVD+RW"); + sb.Append(Localization.Drive_can_read_and_write_DVD_RW); if(ftr.Current) - sb.AppendLine(" (current)"); + sb.AppendLine(Localization.current); else sb.AppendLine(); - sb.AppendLine(ftr.CloseOnly ? "\tDrive supports only the read compatibility stop" - : "\tDrive supports both forms of background format stopping"); + sb.AppendLine(ftr.CloseOnly ? "\t" + Localization.Drive_supports_only_the_read_compatibility_stop + : "\t" + Localization.Drive_supports_both_forms_of_background_format_stopping); if(ftr.QuickStart) - sb.AppendLine("\tDrive can do a quick start formatting"); + sb.AppendLine("\t" + Localization.Drive_can_do_a_quick_start_formatting); } else { - sb.Append("Drive can read DVD+RW"); + sb.Append(Localization.Drive_can_read_DVD_Plus_RW); if(ftr.Current) - sb.AppendLine(" (current)"); + sb.AppendLine(Localization.current); else sb.AppendLine(); } @@ -3833,19 +3843,19 @@ public static class Features if(ftr.Write) { - sb.Append("Drive can read and write DVD+R"); + sb.Append(Localization.Drive_can_read_and_write_DVD_Plus_R); if(ftr.Current) - sb.AppendLine(" (current)"); + sb.AppendLine(Localization.current); else sb.AppendLine(); } else { - sb.Append("Drive can read DVD+R"); + sb.Append(Localization.Drive_can_read_DVD_Plus_R); if(ftr.Current) - sb.AppendLine(" (current)"); + sb.AppendLine(Localization.current); else sb.AppendLine(); } @@ -3861,20 +3871,21 @@ public static class Features Feature_002C ftr = feature.Value; var sb = new StringBuilder(); - sb.Append("MMC Rigid Restricted Overwrite"); - sb.AppendLine(ftr.Current ? " (current):" : ":"); + sb.Append(Localization.MMC_Rigid_Restricted_Overwrite); + sb.AppendLine(ftr.Current ? $"{Localization.current}:" : ":"); if(ftr.Blank) - sb.AppendLine("\tDrive supports the BLANK command"); + sb.AppendLine("\t" + Localization.Drive_supports_the_BLANK_command); if(ftr.Intermediate) - sb.AppendLine("\tDrive supports writing on an intermediate state session and quick formatting"); + sb.AppendLine("\t" + Localization. + Drive_supports_writing_on_an_intermediate_state_session_and_quick_formatting); if(ftr.DSDR) - sb.AppendLine("\tDrive can read Defect Status data recorded on the medium"); + sb.AppendLine("\t" + Localization.Drive_can_read_Defect_Status_data_recorded_on_the_medium); if(ftr.DSDG) - sb.AppendLine("\tDrive can generate Defect Status data during formatting"); + sb.AppendLine("\t" + Localization.Drive_can_generate_Defect_Status_data_during_formatting); return sb.ToString(); } @@ -3887,32 +3898,32 @@ public static class Features Feature_002D ftr = feature.Value; var sb = new StringBuilder(); - sb.AppendLine("Drive can write CDs in Track at Once Mode:"); + sb.AppendLine(Localization.Drive_can_write_CDs_in_Track_at_Once_Mode); if(ftr.RWSubchannel) { - sb.AppendLine("\tDrive can write user provided data in the R-W subchannels"); + sb.AppendLine("\t" + Localization.Drive_can_write_user_provided_data_in_the_R_W_subchannels); if(ftr.RWRaw) - sb.AppendLine("\tDrive accepts RAW R-W subchannel data"); + sb.AppendLine("\t" + Localization.Drive_accepts_RAW_R_W_subchannel_data); if(ftr.RWPack) - sb.AppendLine("\tDrive accepts Packed R-W subchannel data"); + sb.AppendLine("\t" + Localization.Drive_accepts_Packed_R_W_subchannel_data); } if(ftr.CDRW) - sb.AppendLine("\tDrive can overwrite a TAO track with another in CD-RWs"); + sb.AppendLine("\t" + Localization.Drive_can_overwrite_a_TAO_track_with_another_in_CD_RWs); if(ftr.TestWrite) - sb.AppendLine("\tDrive can do a test writing"); + sb.AppendLine("\t" + Localization.Drive_can_do_a_test_writing); if(ftr.BUF) - sb.AppendLine("\tDrive supports zero loss linking"); + sb.AppendLine("\t" + Localization.Drive_supports_zero_loss_linking); if(ftr.DataTypeSupported <= 0) return sb.ToString(); - sb.Append("\tDrive supports data block types:"); + sb.Append("\t" + Localization.Drive_supports_data_block_types); if((ftr.DataTypeSupported & 0x0001) == 0x0001) sb.Append(" 0"); @@ -3978,37 +3989,37 @@ public static class Features switch(ftr.SAO) { case true when !ftr.RAW: - sb.AppendLine("Drive can write CDs in Session at Once Mode:"); + sb.AppendLine(Localization.Drive_can_write_CDs_in_Session_at_Once_Mode); break; case false when ftr.RAW: - sb.AppendLine("Drive can write CDs in raw Mode:"); + sb.AppendLine(Localization.Drive_can_write_CDs_in_raw_Mode); break; default: - sb.AppendLine("Drive can write CDs in Session at Once and in Raw Modes:"); + sb.AppendLine(Localization.Drive_can_write_CDs_in_Session_at_Once_and_in_Raw_Modes); break; } if(ftr is { RAW: true, RAWMS: true }) - sb.AppendLine("\tDrive can write multi-session CDs in raw mode"); + sb.AppendLine("\t" + Localization.Drive_can_write_multi_session_CDs_in_raw_mode); if(ftr.RW) - sb.AppendLine("\tDrive can write user provided data in the R-W subchannels"); + sb.AppendLine("\t" + Localization.Drive_can_write_user_provided_data_in_the_R_W_subchannels); if(ftr.CDRW) - sb.AppendLine("\tDrive can write CD-RWs"); + sb.AppendLine("\t" + Localization.Drive_can_write_CD_RWs); if(ftr.TestWrite) - sb.AppendLine("\tDrive can do a test writing"); + sb.AppendLine("\t" + Localization.Drive_can_do_a_test_writing); if(ftr.BUF) - sb.AppendLine("\tDrive supports zero loss linking"); + sb.AppendLine("\t" + Localization.Drive_supports_zero_loss_linking); if(ftr.MaxCueSheet > 0) - sb.AppendFormat("\tDrive supports a maximum of {0} bytes in a single cue sheet", ftr.MaxCueSheet). - AppendLine(); + sb.AppendFormat("\t" + Localization.Drive_supports_a_maximum_of_0_bytes_in_a_single_cue_sheet, + ftr.MaxCueSheet).AppendLine(); return sb.ToString(); } @@ -4022,24 +4033,25 @@ public static class Features var sb = new StringBuilder(); if(ftr is { DVDRW: true, RDL: true }) - sb.AppendLine("Drive supports writing DVD-R, DVD-RW and DVD-R DL"); + sb.AppendLine(Localization.Drive_supports_writing_DVD_R_DVD_RW_and_DVD_R_DL); else if(ftr.RDL) - sb.AppendLine("Drive supports writing DVD-R and DVD-R DL"); + sb.AppendLine(Localization.Drive_supports_writing_DVD_R_and_DVD_R_DL); else if(ftr.DVDRW) - sb.AppendLine("Drive supports writing DVD-R and DVD-RW"); + sb.AppendLine(Localization.Drive_supports_writing_DVD_R_and_DVD_RW); else - sb.AppendLine("Drive supports writing DVD-R"); + sb.AppendLine(Localization.Drive_supports_writing_DVD_R); if(ftr.TestWrite) - sb.AppendLine("\tDrive can do a test writing"); + sb.AppendLine("\t" + Localization.Drive_can_do_a_test_writing); if(ftr.BUF) - sb.AppendLine("\tDrive supports zero loss linking"); + sb.AppendLine("\t" + Localization.Drive_supports_zero_loss_linking); return sb.ToString(); } - public static string Prettify_0030(Feature_0030? feature) => !feature.HasValue ? null : "Drive can read DDCDs\n"; + public static string Prettify_0030(Feature_0030? feature) => + !feature.HasValue ? null : Localization.Drive_can_read_DDCDs + "\n"; public static string Prettify_0031(Feature_0031? feature) { @@ -4049,10 +4061,10 @@ public static class Features Feature_0031 ftr = feature.Value; var sb = new StringBuilder(); - sb.AppendLine("Drive supports writing DDCD-R"); + sb.AppendLine(Localization.Drive_supports_writing_DDCD_R); if(ftr.TestWrite) - sb.AppendLine("\tDrive can do a test writing"); + sb.AppendLine("\t" + Localization.Drive_can_do_a_test_writing); return sb.ToString(); } @@ -4065,13 +4077,13 @@ public static class Features Feature_0032 ftr = feature.Value; var sb = new StringBuilder(); - sb.AppendLine("Drive supports writing DDCD-RW"); + sb.AppendLine(Localization.Drive_supports_writing_DDCD_RW); if(ftr.Blank) - sb.AppendLine("\tDrive supports the BLANK command"); + sb.AppendLine("\t" + Localization.Drive_supports_the_BLANK_command); if(ftr.Intermediate) - sb.AppendLine("\tDrive supports quick formatting"); + sb.AppendLine("\t" + Localization.Drive_supports_quick_formatting); return sb.ToString(); } @@ -4084,19 +4096,19 @@ public static class Features Feature_0033 ftr = feature.Value; var sb = new StringBuilder(); - sb.AppendLine("MMC Layer Jump Recording:"); + sb.AppendLine(Localization.MMC_Layer_Jump_Recording); if(ftr.LinkSizes == null) return sb.ToString(); foreach(byte link in ftr.LinkSizes) - sb.AppendFormat("\tCurrent media has a {0} bytes link available", link).AppendLine(); + sb.AppendFormat("\t" + Localization.Current_media_has_a_0_bytes_link_available, link).AppendLine(); return sb.ToString(); } public static string Prettify_0035(Feature_0035? feature) => - !feature.HasValue ? null : "Drive can stop a long immediate operation\n"; + !feature.HasValue ? null : Localization.Drive_can_stop_a_long_immediate_operation + "\n"; public static string Prettify_0037(Feature_0037? feature) { @@ -4106,12 +4118,12 @@ public static class Features Feature_0037 ftr = feature.Value; var sb = new StringBuilder(); - sb.AppendLine("Drive can write CD-RW"); + sb.AppendLine(Localization.Drive_can_write_CD_RW); if(ftr.SubtypeSupport <= 0) return sb.ToString(); - sb.Append("\tDrive supports CD-RW subtypes"); + sb.Append("\t" + Localization.Drive_supports_CD_RW_subtypes); if((ftr.SubtypeSupport & 0x01) == 0x01) sb.Append(" 0"); @@ -4143,7 +4155,7 @@ public static class Features } public static string Prettify_0038(Feature_0038? feature) => - !feature.HasValue ? null : "Drive can write BD-R on Pseudo-OVerwrite SRM mode\n"; + !feature.HasValue ? null : Localization.Drive_can_write_BD_R_on_Pseudo_OVerwrite_SRM_mode + "\n"; public static string Prettify_003A(Feature_003A? feature) { @@ -4155,25 +4167,25 @@ public static class Features if(ftr.Write) { - sb.Append("Drive can read and write DVD+RW DL"); + sb.Append(Localization.Drive_can_read_and_write_DVD_Plus_RW_DL); if(ftr.Current) - sb.AppendLine(" (current)"); + sb.AppendLine(Localization.current); else sb.AppendLine(); - sb.AppendLine(ftr.CloseOnly ? "\tDrive supports only the read compatibility stop" - : "\tDrive supports both forms of background format stopping"); + sb.AppendLine(ftr.CloseOnly ? "\t" + Localization.Drive_supports_only_the_read_compatibility_stop + : "\t" + Localization.Drive_supports_both_forms_of_background_format_stopping); if(ftr.QuickStart) - sb.AppendLine("\tDrive can do a quick start formatting"); + sb.AppendLine("\t" + Localization.Drive_can_do_a_quick_start_formatting); } else { - sb.Append("Drive can read DVD+RW DL"); + sb.Append(Localization.Drive_can_read_DVD_Plus_RW_DL); if(ftr.Current) - sb.AppendLine(" (current)"); + sb.AppendLine(Localization.current); else sb.AppendLine(); } @@ -4191,19 +4203,19 @@ public static class Features if(ftr.Write) { - sb.Append("Drive can read and write DVD+R DL"); + sb.Append(Localization.Drive_can_read_and_write_DVD_Plus_R_DL); if(ftr.Current) - sb.AppendLine(" (current)"); + sb.AppendLine(Localization.current); else sb.AppendLine(); } else { - sb.Append("Drive can read DVD+R DL"); + sb.Append(Localization.Features_Prettify_003B_Drive_can_read_DVD_Plus_R_DL); if(ftr.Current) - sb.AppendLine(" (current)"); + sb.AppendLine(Localization.current); else sb.AppendLine(); } @@ -4219,32 +4231,32 @@ public static class Features Feature_0040 ftr = feature.Value; var sb = new StringBuilder(); - sb.Append("MMC BD Read"); - sb.AppendLine(ftr.Current ? " (current):" : ":"); + sb.Append(Localization.MMC_BD_Read); + sb.AppendLine(ftr.Current ? $"{Localization.current}:" : ":"); if(ftr.OldROM) - sb.AppendLine("\tDrive can read BD-ROM pre-1.0"); + sb.AppendLine("\t" + Localization.Drive_can_read_BD_ROM_pre_1_0); if(ftr.ROM) - sb.AppendLine("\tDrive can read BD-ROM Ver.1"); + sb.AppendLine("\t" + Localization.Drive_can_read_BD_ROM_Ver_1); if(ftr.OldR) - sb.AppendLine("\tDrive can read BD-R pre-1.0"); + sb.AppendLine("\t" + Localization.Drive_can_read_BD_R_pre_1_0); if(ftr.R) - sb.AppendLine("\tDrive can read BD-R Ver.1"); + sb.AppendLine("\t" + Localization.Drive_can_read_BD_R_Ver_1); if(ftr.OldRE) - sb.AppendLine("\tDrive can read BD-RE pre-1.0"); + sb.AppendLine("\t" + Localization.Drive_can_read_BD_RE_pre_1_0); if(ftr.RE1) - sb.AppendLine("\tDrive can read BD-RE Ver.1"); + sb.AppendLine("\t" + Localization.Drive_can_read_BD_RE_Ver_1); if(ftr.RE2) - sb.AppendLine("\tDrive can read BD-RE Ver.2"); + sb.AppendLine("\t" + Localization.Drive_can_read_BD_RE_Ver_2); if(ftr.BCA) - sb.AppendLine("\tDrive can read BD's Burst Cutting Area"); + sb.AppendLine("\t" + Localization.Drive_can_read_BDs_Burst_Cutting_Area); return sb.ToString(); } @@ -4257,33 +4269,35 @@ public static class Features Feature_0041 ftr = feature.Value; var sb = new StringBuilder(); - sb.Append("MMC BD Write"); - sb.AppendLine(ftr.Current ? " (current):" : ":"); + sb.Append(Localization.MMC_BD_Write); + sb.AppendLine(ftr.Current ? $"{Localization.current}:" : ":"); if(ftr.OldR) - sb.AppendLine("\tDrive can write BD-R pre-1.0"); + sb.AppendLine("\t" + Localization.Drive_can_write_BD_R_pre_1_0); if(ftr.R) - sb.AppendLine("\tDrive can write BD-R Ver.1"); + sb.AppendLine("\t" + Localization.Drive_can_write_BD_R_Ver_1); if(ftr.OldRE) - sb.AppendLine("\tDrive can write BD-RE pre-1.0"); + sb.AppendLine("\t" + Localization.Drive_can_write_BD_RE_pre_1_0); if(ftr.RE1) - sb.AppendLine("\tDrive can write BD-RE Ver.1"); + sb.AppendLine("\t" + Localization.Drive_can_write_BD_RE_Ver_1); if(ftr.RE2) - sb.AppendLine("\tDrive can write BD-RE Ver.2"); + sb.AppendLine("\t" + Localization.Drive_can_write_BD_RE_Ver_2); if(ftr.SVNR) - sb.AppendLine("\tDrive supports write without verify requirement"); + sb.AppendLine("\t" + Localization.Drive_supports_write_without_verify_requirement); return sb.ToString(); } public static string Prettify_0042(Feature_0042? feature) => !feature.HasValue ? null - : "Drive is able to detect and report defective writable unit and behave accordingly\n"; + : Localization. + Features_Prettify_0042_Drive_is_able_to_detect_and_report_defective_writable_unit_and_behave_accordingly + + "\n"; public static string Prettify_0050(Feature_0050? feature) { @@ -4296,24 +4310,24 @@ public static class Features switch(ftr.HDDVDR) { case true when ftr.HDDVDRAM: - sb.Append("Drive can read HD DVD-ROM, HD DVD-RW, HD DVD-R and HD DVD-RAM"); + sb.Append(Localization.Drive_can_read_HD_DVD_ROM_HD_DVD_RW_HD_DVD_R_and_HD_DVD_RAM); break; case true: - sb.Append("Drive can read HD DVD-ROM, HD DVD-RW and HD DVD-R"); + sb.Append(Localization.Drive_can_read_HD_DVD_ROM_HD_DVD_RW_and_HD_DVD_R); break; default: { - sb.Append(ftr.HDDVDRAM ? "Drive can read HD DVD-ROM, HD DVD-RW and HD DVD-RAM" - : "Drive can read HD DVD-ROM and HD DVD-RW"); + sb.Append(ftr.HDDVDRAM ? Localization.Drive_can_read_HD_DVD_ROM_HD_DVD_RW_and_HD_DVD_RAM + : Localization.Drive_can_read_HD_DVD_ROM_and_HD_DVD_RW); break; } } if(ftr.Current) - sb.AppendLine(" (current)"); + sb.AppendLine(Localization.current); else sb.AppendLine(); @@ -4331,23 +4345,24 @@ public static class Features switch(ftr.HDDVDR) { case true when ftr.HDDVDRAM: - sb.Append("Drive can write HD DVD-RW, HD DVD-R and HD DVD-RAM"); + sb.Append(Localization.Drive_can_write_HD_DVD_RW_HD_DVD_R_and_HD_DVD_RAM); break; case true: - sb.Append("Drive can write HD DVD-RW and HD DVD-R"); + sb.Append(Localization.Drive_can_write_HD_DVD_RW_and_HD_DVD_R); break; default: { - sb.Append(ftr.HDDVDRAM ? "Drive can write HD DVD-RW and HD DVD-RAM" : "Drive can write HD DVD-RW"); + sb.Append(ftr.HDDVDRAM ? Localization.Drive_can_write_HD_DVD_RW_and_HD_DVD_RAM + : Localization.Drive_can_write_HD_DVD_RW); break; } } if(ftr.Current) - sb.AppendLine(" (current)"); + sb.AppendLine(Localization.current); else sb.AppendLine(); @@ -4362,21 +4377,23 @@ public static class Features Feature_0080 ftr = feature.Value; var sb = new StringBuilder(); - sb.Append("Drive is able to access Hybrid discs"); + sb.Append(Localization.Drive_is_able_to_access_Hybrid_discs); if(ftr.Current) - sb.AppendLine(" (current)"); + sb.AppendLine(Localization.current); else sb.AppendLine(); if(ftr.RI) - sb.AppendLine("\tDrive is able to maintain the online format layer through reset and power cycling"); + sb.AppendLine("\t" + Localization. + Drive_is_able_to_maintain_the_online_format_layer_through_reset_and_power_cycling); return sb.ToString(); } public static string Prettify_0100(Feature_0100? feature) => - !feature.HasValue ? null : "Drive is able to perform host and drive directed power management\n"; + !feature.HasValue ? null + : Localization.Drive_is_able_to_perform_host_and_drive_directed_power_management + "\n"; public static string Prettify_0101(Feature_0101? feature) { @@ -4386,10 +4403,10 @@ public static class Features Feature_0101 ftr = feature.Value; var sb = new StringBuilder(); - sb.AppendLine("Drive supports S.M.A.R.T."); + sb.AppendLine(Localization.Drive_supports_SMART); if(ftr.PP) - sb.AppendLine("\tDrive supports the Informational Exceptions Control mode page 1Ch"); + sb.AppendLine("\t" + Localization.Drive_supports_the_Informational_Exceptions_Control_mode_page_1Ch); return sb.ToString(); } @@ -4402,15 +4419,15 @@ public static class Features Feature_0102 ftr = feature.Value; var sb = new StringBuilder(); - sb.AppendLine("MMC Embedded Changer:"); + sb.AppendLine(Localization.MMC_Embedded_Changer); if(ftr.SCC) - sb.AppendLine("\tDrive can change disc side"); + sb.AppendLine("\t" + Localization.Drive_can_change_disc_side); if(ftr.SDP) - sb.AppendLine("\tDrive is able to report slots contents after a reset or change"); + sb.AppendLine("\t" + Localization.Drive_is_able_to_report_slots_contents_after_a_reset_or_change); - sb.AppendFormat("\tDrive has {0} slots", ftr.HighestSlotNumber + 1).AppendLine(); + sb.AppendFormat("\t" + Localization.Drive_has_0_slots, ftr.HighestSlotNumber + 1).AppendLine(); return sb.ToString(); } @@ -4423,18 +4440,18 @@ public static class Features Feature_0103 ftr = feature.Value; var sb = new StringBuilder(); - sb.AppendLine("Drive has an analogue audio output"); + sb.AppendLine(Localization.Drive_has_an_analogue_audio_output); if(ftr.Scan) - sb.AppendLine("\tDrive supports the SCAN command"); + sb.AppendLine("\t" + Localization.Drive_supports_the_SCAN_command); if(ftr.SCM) - sb.AppendLine("\tDrive is able to mute channels separately"); + sb.AppendLine("\t" + Localization.Drive_is_able_to_mute_channels_separately); if(ftr.SV) - sb.AppendLine("\tDrive supports separate volume per channel"); + sb.AppendLine("\t" + Localization.Drive_supports_separate_volume_per_channel); - sb.AppendFormat("\tDrive has {0} volume levels", ftr.VolumeLevels + 1).AppendLine(); + sb.AppendFormat("\t" + Localization.Drive_has_0_volume_levels, ftr.VolumeLevels + 1).AppendLine(); return sb.ToString(); } @@ -4447,10 +4464,11 @@ public static class Features Feature_0104 ftr = feature.Value; var sb = new StringBuilder(); - sb.AppendLine("Drive supports Microcode Upgrade"); + sb.AppendLine(Localization.Drive_supports_Microcode_Upgrade); if(ftr.M5) - sb.AppendLine("Drive supports validating the 5-bit Mode of the READ BUFFER and WRITE BUFFER commands"); + sb.AppendLine(Localization. + Drive_supports_validating_the_5_bit_Mode_of_the_READ_BUFFER_and_WRITE_BUFFER_commands); return sb.ToString(); } @@ -4463,15 +4481,15 @@ public static class Features Feature_0105 ftr = feature.Value; var sb = new StringBuilder(); - sb.AppendLine("Drive supports Timeout & Protect mode page 1Dh"); + sb.AppendLine(Localization.Drive_supports_Timeout_Protect_mode_page_1Dh); if(!ftr.Group3) return sb.ToString(); - sb.AppendLine("\tDrive supports the Group3 in Timeout & Protect mode page 1Dh"); + sb.AppendLine("\t" + Localization.Drive_supports_the_Group3_in_Timeout_Protect_mode_page_1Dh); if(ftr.UnitLength > 0) - sb.AppendFormat("\tDrive has {0} increase of Group 3 time unit", ftr.UnitLength).AppendLine(); + sb.AppendFormat("\t" + Localization.Drive_has_0_increase_of_Group_3_time_unit, ftr.UnitLength).AppendLine(); return sb.ToString(); } @@ -4484,12 +4502,11 @@ public static class Features Feature_0106 ftr = feature.Value; var sb = new StringBuilder(); - sb.AppendFormat("Drive supports DVD CSS/CPPM version {0}", ftr.CSSVersion); - if(ftr.Current) - sb.AppendLine(" and current disc is encrypted"); + sb.AppendFormat(Localization.Drive_supports_DVD_CSS_CPPM_version_0_and_current_disc_is_encrypted, + ftr.CSSVersion).AppendLine(); else - sb.AppendLine(); + sb.AppendFormat(Localization.Drive_supports_DVD_CSS_CPPM_version_0, ftr.CSSVersion).AppendLine(); return sb.ToString(); } @@ -4502,25 +4519,27 @@ public static class Features Feature_0107 ftr = feature.Value; var sb = new StringBuilder(); - sb.AppendLine("MMC Real Time Streaming:"); + sb.AppendLine(Localization.MMC_Real_Time_Streaming_); if(ftr.SMP) - sb.AppendLine("\tDrive supports Set Minimum Performance with the SET STREAMING command"); + sb.AppendLine("\t" + Localization.Drive_supports_Set_Minimum_Performance_with_the_SET_STREAMING_command); if(ftr.RBCB) - sb.AppendLine("\tDrive supports the block bit in the READ BUFFER CAPACITY command"); + sb.AppendLine("\t" + Localization.Drive_supports_the_block_bit_in_the_READ_BUFFER_CAPACITY_command); if(ftr.SCS) - sb.AppendLine("\tDrive supports the SET CD SPEED command"); + sb.AppendLine("\t" + Localization.Drive_supports_the_SET_CD_SPEED_command); if(ftr.MP2A) - sb.AppendLine("\tDrive supports the Write Speed Performance Descriptor Blocks in the MMC mode page 2Ah"); + sb.AppendLine("\t" + Localization. + Drive_supports_the_Write_Speed_Performance_Descriptor_Blocks_in_the_MMC_mode_page_2Ah); if(ftr.WSPD) - sb.AppendLine("\tDrive supports the Write Speed data of GET PERFORMANCE and the WRC field of SET STREAMING"); + sb.AppendLine("\t" + Localization. + Drive_supports_the_Write_Speed_data_of_GET_PERFORMANCE_and_the_WRC_field_of_SET_STREAMING); if(ftr.SW) - sb.AppendLine("\tDrive supports stream recording"); + sb.AppendLine("\t" + Localization.Drive_supports_stream_recording); return sb.ToString(); } @@ -4533,13 +4552,13 @@ public static class Features Feature_0108 ftr = feature.Value; var sb = new StringBuilder(); - sb.AppendFormat("Drive serial number: {0}", ftr.Serial).AppendLine(); + sb.AppendFormat(Core.Drive_serial_number_0, ftr.Serial).AppendLine(); return sb.ToString(); } public static string Prettify_0109(Feature_0109? feature) => - !feature.HasValue ? null : "Drive is able to read media serial number\n"; + !feature.HasValue ? null : Localization.Drive_is_able_to_read_media_serial_number + "\n"; public static string Prettify_010A(Feature_010A? feature) { @@ -4553,7 +4572,7 @@ public static class Features return sb.ToString(); foreach(uint dcb in ftr.DCBs) - sb.AppendFormat("Drive supports DCB {0:X8}h", dcb).AppendLine(); + sb.AppendFormat(Localization.Drive_supports_DCB_0, dcb).AppendLine(); return sb.ToString(); } @@ -4566,12 +4585,11 @@ public static class Features Feature_010B ftr = feature.Value; var sb = new StringBuilder(); - sb.AppendFormat("Drive supports DVD CPRM version {0}", ftr.CPRMVersion); - if(ftr.Current) - sb.AppendLine(" and current disc is or can be encrypted"); + sb.AppendFormat(Localization.Drive_supports_DVD_CPRM_version_0_and_current_disc_is_or_can_be_encrypted, + ftr.CPRMVersion).AppendLine(); else - sb.AppendLine(); + sb.AppendFormat(Localization.Drive_supports_DVD_CPRM_version_0, ftr.CPRMVersion).AppendLine(); return sb.ToString(); } @@ -4616,7 +4634,7 @@ public static class Features var fwDate = new DateTime(int.Parse(syear), int.Parse(smonth), int.Parse(sday), int.Parse(shour), int.Parse(sminute), int.Parse(ssecond), DateTimeKind.Utc); - sb.AppendFormat("Drive firmware is dated {0}", fwDate).AppendLine(); + sb.AppendFormat(Localization.Drive_firmware_is_dated_0, fwDate).AppendLine(); } #pragma warning disable RECS0022 // A catch clause that catches System.Exception and has an empty body catch @@ -4636,36 +4654,35 @@ public static class Features Feature_010D ftr = feature.Value; var sb = new StringBuilder(); - sb.AppendFormat("Drive supports AACS version {0}", ftr.AACSVersion); - if(ftr.Current) - sb.AppendLine(" and current disc is encrypted"); + sb.AppendFormat(Localization.Drive_supports_AACS_version_0_and_current_disc_is_encrypted, ftr.AACSVersion). + AppendLine(); else - sb.AppendLine(); + sb.AppendFormat(Localization.Drive_supports_AACS_version_0, ftr.AACSVersion).AppendLine(); if(ftr.RDC) - sb.AppendLine("\tDrive supports reading the Drive Certificate"); + sb.AppendLine("\t" + Localization.Drive_supports_reading_the_Drive_Certificate); if(ftr.RMC) - sb.AppendLine("\tDrive supports reading Media Key Block of CPRM"); + sb.AppendLine("\t" + Localization.Drive_supports_reading_Media_Key_Block_of_CPRM); if(ftr.WBE) - sb.AppendLine("\tDrive supports writing with bus encryption"); + sb.AppendLine("\t" + Localization.Drive_supports_writing_with_bus_encryption); if(ftr.BEC) - sb.AppendLine("\tDrive supports bus encryption"); + sb.AppendLine("\t" + Localization.Drive_supports_bus_encryption); if(ftr.BNG) { - sb.AppendLine("\tDrive supports generating the binding nonce"); + sb.AppendLine("\t" + Localization.Drive_supports_generating_the_binding_nonce); if(ftr.BindNonceBlocks > 0) - sb.AppendFormat("\t{0} media blocks are required for the binding nonce", ftr.BindNonceBlocks). - AppendLine(); + sb.AppendFormat("\t" + Localization._0_media_blocks_are_required_for_the_binding_nonce, + ftr.BindNonceBlocks).AppendLine(); } if(ftr.AGIDs > 0) - sb.AppendFormat("\tDrive supports {0} AGIDs concurrently", ftr.AGIDs).AppendLine(); + sb.AppendFormat("\t" + Localization.Drive_supports_0_AGIDs_concurrently, ftr.AGIDs).AppendLine(); return sb.ToString(); } @@ -4678,15 +4695,16 @@ public static class Features Feature_010E ftr = feature.Value; var sb = new StringBuilder(); - sb.Append("Drive supports DVD-Download"); + sb.Append(Localization.Drive_supports_DVD_Download); if(ftr.Current) - sb.AppendLine(" (current)"); + sb.AppendLine(Localization.current); else sb.AppendLine(); if(ftr.MaxScrambleExtent > 0) - sb.AppendFormat("\tMaximum {0} scramble extent information entries", ftr.MaxScrambleExtent).AppendLine(); + sb.AppendFormat("\t" + Localization.Maximum_0_scramble_extent_information_entries, ftr.MaxScrambleExtent). + AppendLine(); return sb.ToString(); } @@ -4699,7 +4717,8 @@ public static class Features Feature_0110 ftr = feature.Value; var sb = new StringBuilder(); - sb.AppendLine(ftr.Current ? "Drive and currently inserted media support VCPS" : "Drive supports VCPS"); + sb.AppendLine(ftr.Current ? Localization.Drive_and_currently_inserted_media_support_VCPS + : Localization.Drive_supports_VCPS); return sb.ToString(); } @@ -4712,8 +4731,8 @@ public static class Features Feature_0113 ftr = feature.Value; var sb = new StringBuilder(); - sb.AppendLine(ftr.Current ? "Drive and currently inserted media support SecurDisc" - : "Drive supports SecurDisc"); + sb.AppendLine(ftr.Current ? Localization.Drive_and_currently_inserted_media_support_SecurDisc + : Localization.Drive_supports_SecurDisc); return sb.ToString(); } @@ -4726,25 +4745,25 @@ public static class Features Feature_0142 ftr = feature.Value; var sb = new StringBuilder(); - sb.AppendLine("Drive supports the Trusted Computing Group Optical Security Subsystem Class"); + sb.AppendLine(Localization.Drive_supports_the_Trusted_Computing_Group_Optical_Security_Subsystem_Class); if(ftr.Current) - sb.AppendLine("\tCurrent media is initialized with TCG OSSC"); + sb.AppendLine("\t" + Localization.Current_media_is_initialized_with_TCG_OSSC); if(ftr.PSAU) - sb.AppendLine("\tDrive supports PSA updates on write-once media"); + sb.AppendLine("\t" + Localization.Drive_supports_PSA_updates_on_write_once_media); if(ftr.LOSPB) - sb.AppendLine("\tDrive supports linked OSPBs"); + sb.AppendLine("\t" + Localization.Drive_supports_linked_OSPBs); if(ftr.ME) - sb.AppendLine("\tDrive will only record on the OSSC Disc Format"); + sb.AppendLine("\t" + Localization.Drive_will_only_record_on_the_OSSC_Disc_Format); if(ftr.Profiles == null) return sb.ToString(); for(int i = 0; i < ftr.Profiles.Length; i++) - sb.AppendFormat("\tProfile {0}: {1}", i, ftr.Profiles[i]).AppendLine(); + sb.AppendFormat("\t" + Localization.Profile_0_1, i, ftr.Profiles[i]).AppendLine(); return sb.ToString(); } diff --git a/SCSI/MMC/Hybrid.cs b/SCSI/MMC/Hybrid.cs index 67e0dc329..6fc4938d0 100644 --- a/SCSI/MMC/Hybrid.cs +++ b/SCSI/MMC/Hybrid.cs @@ -89,72 +89,73 @@ public static class Hybrid var sb = new StringBuilder(); - sb.AppendFormat("{0} format layers recognized", response.NumberOfLayers); + sb.AppendFormat(Localization._0_format_layers_recognized, response.NumberOfLayers); for(int i = 0; i < response.FormatLayers.Length; i++) switch(response.FormatLayers[i]) { case (ushort)FormatLayerTypeCodes.BDLayer: { - sb.AppendFormat("Layer {0} is of type Blu-ray", i).AppendLine(); + sb.AppendFormat(Localization.Layer_0_is_of_type_Blu_ray, i).AppendLine(); if(response.DefaultFormatLayer == i) - sb.AppendLine("This is the default layer."); + sb.AppendLine(Localization.This_is_the_default_layer); if(response.OnlineFormatLayer == i) - sb.AppendLine("This is the layer actually in use."); + sb.AppendLine(Localization.This_is_the_layer_actually_in_use); break; } case (ushort)FormatLayerTypeCodes.CDLayer: { - sb.AppendFormat("Layer {0} is of type CD", i).AppendLine(); + sb.AppendFormat(Localization.Layer_0_is_of_type_CD, i).AppendLine(); if(response.DefaultFormatLayer == i) - sb.AppendLine("This is the default layer."); + sb.AppendLine(Localization.This_is_the_default_layer); if(response.OnlineFormatLayer == i) - sb.AppendLine("This is the layer actually in use."); + sb.AppendLine(Localization.This_is_the_layer_actually_in_use); break; } case (ushort)FormatLayerTypeCodes.DVDLayer: { - sb.AppendFormat("Layer {0} is of type DVD", i).AppendLine(); + sb.AppendFormat(Localization.Layer_0_is_of_type_DVD, i).AppendLine(); if(response.DefaultFormatLayer == i) - sb.AppendLine("This is the default layer."); + sb.AppendLine(Localization.This_is_the_default_layer); if(response.OnlineFormatLayer == i) - sb.AppendLine("This is the layer actually in use."); + sb.AppendLine(Localization.This_is_the_layer_actually_in_use); break; } case (ushort)FormatLayerTypeCodes.HDDVDLayer: { - sb.AppendFormat("Layer {0} is of type HD DVD", i).AppendLine(); + sb.AppendFormat(Localization.Layer_0_is_of_type_HD_DVD, i).AppendLine(); if(response.DefaultFormatLayer == i) - sb.AppendLine("This is the default layer."); + sb.AppendLine(Localization.This_is_the_default_layer); if(response.OnlineFormatLayer == i) - sb.AppendLine("This is the layer actually in use."); + sb.AppendLine(Localization.This_is_the_layer_actually_in_use); break; } default: { - sb.AppendFormat("Layer {0} is of unknown type 0x{1:X4}", i, response.FormatLayers[i]).AppendLine(); + sb.AppendFormat(Localization.Layer_0_is_of_unknown_type_1, i, response.FormatLayers[i]). + AppendLine(); if(response.DefaultFormatLayer == i) - sb.AppendLine("This is the default layer."); + sb.AppendLine(Localization.This_is_the_default_layer); if(response.OnlineFormatLayer == i) - sb.AppendLine("This is the layer actually in use."); + sb.AppendLine(Localization.This_is_the_layer_actually_in_use); break; } diff --git a/SCSI/MMC/WriteProtect.cs b/SCSI/MMC/WriteProtect.cs index 5e1731843..f91dacadb 100644 --- a/SCSI/MMC/WriteProtect.cs +++ b/SCSI/MMC/WriteProtect.cs @@ -87,35 +87,35 @@ public static class WriteProtect var sb = new StringBuilder(); if(response.MSWI) - sb.AppendLine("Writing inhibited by media specific reason"); + sb.AppendLine(Localization.Writing_inhibited_by_media_specific_reason); if(response.CWP) - sb.AppendLine("Cartridge sets write protection"); + sb.AppendLine(Localization.Cartridge_sets_write_protection); if(response.PWP) - sb.AppendLine("Media surface sets write protection"); + sb.AppendLine(Localization.Media_surface_sets_write_protection); if(response.SWPP) - sb.AppendLine("Software write protection is set until power down"); + sb.AppendLine(Localization.Software_write_protection_is_set_until_power_down); #if DEBUG if(response.Reserved1 != 0) - sb.AppendFormat("Reserved1 = 0x{0:X2}", response.Reserved1).AppendLine(); + sb.AppendFormat(Localization.Reserved1_equals_0_X8, response.Reserved1).AppendLine(); if(response.Reserved2 != 0) - sb.AppendFormat("Reserved2 = 0x{0:X2}", response.Reserved2).AppendLine(); + sb.AppendFormat(Localization.Reserved2_equals_0_X8, response.Reserved2).AppendLine(); if(response.Reserved3 != 0) - sb.AppendFormat("Reserved3 = 0x{0:X2}", response.Reserved3).AppendLine(); + sb.AppendFormat(Localization.Reserved_3_equals_0_X2, response.Reserved3).AppendLine(); if(response.Reserved4 != 0) - sb.AppendFormat("Reserved4 = 0x{0:X2}", response.Reserved4).AppendLine(); + sb.AppendFormat(Localization.Reserved_4_equals_0_X2, response.Reserved4).AppendLine(); if(response.Reserved5 != 0) - sb.AppendFormat("Reserved5 = 0x{0:X2}", response.Reserved5).AppendLine(); + sb.AppendFormat(Localization.Reserved_5_equals_0_X2, response.Reserved5).AppendLine(); if(response.Reserved6 != 0) - sb.AppendFormat("Reserved6 = 0x{0:X2}", response.Reserved6).AppendLine(); + sb.AppendFormat(Localization.Reserved_6_equals_0_X2, response.Reserved6).AppendLine(); #endif return sb.ToString(); diff --git a/SCSI/Modes/00_SFF.cs b/SCSI/Modes/00_SFF.cs index 06d003235..a546b83b4 100644 --- a/SCSI/Modes/00_SFF.cs +++ b/SCSI/Modes/00_SFF.cs @@ -93,21 +93,21 @@ public static partial class Modes ModePage_00_SFF page = modePage.Value; var sb = new StringBuilder(); - sb.AppendLine("SCSI Drive Operation Mode page:"); + sb.AppendLine(Localization.SCSI_Drive_Operation_Mode_page); if(page.PS) - sb.AppendLine("\tParameters can be saved"); + sb.AppendLine("\t" + Localization.Parameters_can_be_saved); if(page.DVW) - sb.AppendLine("\tVerifying after writing is disabled"); + sb.AppendLine("\t" + Localization.Verifying_after_writing_is_disabled); if(page.DDE) - sb.AppendLine("\tDrive will abort when a writing error is detected"); + sb.AppendLine("\t" + Localization.Drive_will_abort_when_a_writing_error_is_detected); if(!page.SLM) return sb.ToString(); - sb.Append("\tDrive has two LUNs with rewritable being "); + sb.Append("\t" + Localization.Drive_has_two_LUNs_with_rewritable_being); sb.AppendLine(page.SLR ? "LUN 1" : "LUN 0"); return sb.ToString(); diff --git a/SCSI/Modes/01.cs b/SCSI/Modes/01.cs index 2ca280bbb..f87828340 100644 --- a/SCSI/Modes/01.cs +++ b/SCSI/Modes/01.cs @@ -180,47 +180,51 @@ public static partial class Modes ModePage_01 page = modePage.Value; var sb = new StringBuilder(); - sb.AppendLine("SCSI Read-write error recovery page:"); + sb.AppendLine(Localization.SCSI_Read_write_error_recovery_page); if(page.PS) - sb.AppendLine("\tParameters can be saved"); + sb.AppendLine("\t" + Localization.Parameters_can_be_saved); if(page.AWRE) - sb.AppendLine("\tAutomatic write reallocation is enabled"); + sb.AppendLine("\t" + Localization.Automatic_write_reallocation_is_enabled); if(page.ARRE) - sb.AppendLine("\tAutomatic read reallocation is enabled"); + sb.AppendLine("\t" + Localization.Automatic_read_reallocation_is_enabled); if(page.TB) - sb.AppendLine("\tData not recovered within limits shall be transferred back before a CHECK CONDITION"); + sb.AppendLine("\t" + Localization. + Data_not_recovered_within_limits_shall_be_transferred_back_before_a_CHECK_CONDITION); if(page.RC) - sb.AppendLine("\tDrive will transfer the entire requested length without delaying to perform error recovery"); + sb.AppendLine("\t" + Localization. + Drive_will_transfer_the_entire_requested_length_without_delaying_to_perform_error_recovery); if(page.EER) - sb.AppendLine("\tDrive will use the most expedient form of error recovery first"); + sb.AppendLine("\t" + Localization.Drive_will_use_the_most_expedient_form_of_error_recovery_first); if(page.PER) - sb.AppendLine("\tDrive shall report recovered errors"); + sb.AppendLine("\t" + Localization.Drive_shall_report_recovered_errors); if(page.DTE) - sb.AppendLine("\tTransfer will be terminated upon error detection"); + sb.AppendLine("\t" + Localization.Transfer_will_be_terminated_upon_error_detection); if(page.DCR) - sb.AppendLine("\tError correction is disabled"); + sb.AppendLine("\t" + Localization.Error_correction_is_disabled); if(page.ReadRetryCount > 0) - sb.AppendFormat("\tDrive will repeat read operations {0} times", page.ReadRetryCount).AppendLine(); - - if(page.WriteRetryCount > 0) - sb.AppendFormat("\tDrive will repeat write operations {0} times", page.WriteRetryCount).AppendLine(); - - if(page.RecoveryTimeLimit > 0) - sb.AppendFormat("\tDrive will employ a maximum of {0} ms to recover data", page.RecoveryTimeLimit). + sb.AppendFormat("\t" + Localization.Drive_will_repeat_read_operations_0_times, page.ReadRetryCount). AppendLine(); + if(page.WriteRetryCount > 0) + sb.AppendFormat("\t" + Localization.Drive_will_repeat_write_operations_0_times, page.WriteRetryCount). + AppendLine(); + + if(page.RecoveryTimeLimit > 0) + sb.AppendFormat("\t" + Localization.Drive_will_employ_a_maximum_of_0_ms_to_recover_data, + page.RecoveryTimeLimit).AppendLine(); + if(page.LBPERE) - sb.AppendLine("Logical block provisioning error reporting is enabled"); + sb.AppendLine(Localization.Logical_block_provisioning_error_reporting_is_enabled); return sb.ToString(); } diff --git a/SCSI/Modes/01_MMC.cs b/SCSI/Modes/01_MMC.cs index d502fd280..247ec405f 100644 --- a/SCSI/Modes/01_MMC.cs +++ b/SCSI/Modes/01_MMC.cs @@ -120,30 +120,34 @@ public static partial class Modes ModePage_01_MMC page = modePage.Value; var sb = new StringBuilder(); - sb.AppendLine("SCSI Read error recovery page for MultiMedia Devices:"); + sb.AppendLine(Localization.SCSI_Read_error_recovery_page_for_MultiMedia_Devices); if(page.PS) - sb.AppendLine("\tParameters can be saved"); + sb.AppendLine("\t" + Localization.Parameters_can_be_saved); if(page.ReadRetryCount > 0) - sb.AppendFormat("\tDrive will repeat read operations {0} times", page.ReadRetryCount).AppendLine(); + sb.AppendFormat("\t" + Localization.Drive_will_repeat_read_operations_0_times, page.ReadRetryCount). + AppendLine(); - const string AllUsed = "\tAll available recovery procedures will be used.\n"; - const string CIRCRetriesUsed = "\tOnly retries and CIRC are used.\n"; - const string RetriesUsed = "\tOnly retries are used.\n"; - const string RecoveredNotReported = "\tRecovered errors will not be reported.\n"; - const string RecoveredReported = "\tRecovered errors will be reported.\n"; - const string RecoveredAbort = "\tRecovered errors will be reported and aborted with CHECK CONDITION.\n"; - const string UnrecECCAbort = "\tUnrecovered ECC errors will return CHECK CONDITION."; - const string UnrecCIRCAbort = "\tUnrecovered CIRC errors will return CHECK CONDITION."; - const string UnrecECCNotAbort = "\tUnrecovered ECC errors will not abort the transfer."; - const string UnrecCIRCNotAbort = "\tUnrecovered CIRC errors will not abort the transfer."; + string AllUsed = "\t" + Localization.All_available_recovery_procedures_will_be_used + "\n"; + string CIRCRetriesUsed = "\t" + Localization.Only_retries_and_CIRC_are_used + "\n"; + string RetriesUsed = "\t" + Localization.Only_retries_are_used + "\n"; + string RecoveredNotReported = "\t" + Localization.Recovered_errors_will_not_be_reported + "\n"; + string RecoveredReported = "\t" + Localization.Recovered_errors_will_be_reported + "\n"; - const string UnrecECCAbortData = - "\tUnrecovered ECC errors will return CHECK CONDITION and the uncorrected data."; + string RecoveredAbort = "\t" + Localization.Recovered_errors_will_be_reported_and_aborted_with_CHECK_CONDITION + + "\n"; - const string UnrecCIRCAbortData = - "\tUnrecovered CIRC errors will return CHECK CONDITION and the uncorrected data."; + string UnrecECCAbort = "\t" + Localization.Unrecovered_ECC_errors_will_return_CHECK_CONDITION; + string UnrecCIRCAbort = "\t" + Localization.Unrecovered_CIRC_errors_will_return_CHECK_CONDITION; + string UnrecECCNotAbort = "\t" + Localization.Unrecovered_ECC_errors_will_not_abort_the_transfer; + string UnrecCIRCNotAbort = "\t" + Localization.Unrecovered_CIRC_errors_will_not_abort_the_transfer; + + string UnrecECCAbortData = + "\t" + Localization.Unrecovered_ECC_errors_will_return_CHECK_CONDITION_and_the_uncorrected_data; + + string UnrecCIRCAbortData = + "\t" + Localization.Unrecovered_CIRC_errors_will_return_CHECK_CONDITION_and_the_uncorrected_data; switch(page.Parameter) { @@ -216,17 +220,18 @@ public static partial class Modes case 0x34: goto case 0x14; case 0x35: goto case 0x15; default: - sb.AppendFormat("Unknown recovery parameter 0x{0:X2}", page.Parameter).AppendLine(); + sb.AppendFormat(Localization.Unknown_recovery_parameter_0, page.Parameter).AppendLine(); break; } if(page.WriteRetryCount > 0) - sb.AppendFormat("\tDrive will repeat write operations {0} times", page.WriteRetryCount).AppendLine(); + sb.AppendFormat("\t" + Localization.Drive_will_repeat_write_operations_0_times, page.WriteRetryCount). + AppendLine(); if(page.RecoveryTimeLimit > 0) - sb.AppendFormat("\tDrive will employ a maximum of {0} ms to recover data", page.RecoveryTimeLimit). - AppendLine(); + sb.AppendFormat("\t" + Localization.Drive_will_employ_a_maximum_of_0_ms_to_recover_data, + page.RecoveryTimeLimit).AppendLine(); return sb.ToString(); } diff --git a/SCSI/Modes/02.cs b/SCSI/Modes/02.cs index 42a130f27..7d91c736f 100644 --- a/SCSI/Modes/02.cs +++ b/SCSI/Modes/02.cs @@ -122,62 +122,69 @@ public static partial class Modes ModePage_02 page = modePage.Value; var sb = new StringBuilder(); - sb.AppendLine("SCSI Disconnect-Reconnect mode page:"); + sb.AppendLine(Localization.SCSI_Disconnect_Reconnect_mode_page); if(page.PS) - sb.AppendLine("\tParameters can be saved"); + sb.AppendLine("\t" + Localization.Parameters_can_be_saved); if(page.BufferFullRatio > 0) - sb.AppendFormat("\t{0} ratio of buffer that shall be full prior to attempting a reselection", + sb.AppendFormat("\t" + Localization._0_ratio_of_buffer_that_shall_be_full_prior_to_attempting_a_reselection, page.BufferFullRatio).AppendLine(); if(page.BufferEmptyRatio > 0) - sb.AppendFormat("\t{0} ratio of buffer that shall be empty prior to attempting a reselection", - page.BufferEmptyRatio).AppendLine(); + sb. + AppendFormat("\t" + Localization._0_ratio_of_buffer_that_shall_be_empty_prior_to_attempting_a_reselection, + page.BufferEmptyRatio).AppendLine(); if(page.BusInactivityLimit > 0) - sb.AppendFormat("\t{0} µs maximum permitted to assert BSY without a REQ/ACK handshake", + sb.AppendFormat("\t" + Localization._0_µs_maximum_permitted_to_assert_BSY_without_a_REQ_ACK_handshake, page.BusInactivityLimit * 100).AppendLine(); if(page.DisconnectTimeLimit > 0) - sb.AppendFormat("\t{0} µs maximum permitted wait after releasing the bus before attempting reselection", - page.DisconnectTimeLimit * 100).AppendLine(); + sb. + AppendFormat("\t" + Localization._0_µs_maximum_permitted_wait_after_releasing_the_bus_before_attempting_reselection, + page.DisconnectTimeLimit * 100).AppendLine(); if(page.ConnectTimeLimit > 0) sb. - AppendFormat("\t{0} µs allowed to use the bus before disconnecting, if granted the privilege and not restricted", + AppendFormat("\t" + Localization._0_µs_allowed_to_use_the_bus_before_disconnecting_if_granted_the_privilege_and_not_restricted, page.ConnectTimeLimit * 100).AppendLine(); if(page.MaxBurstSize > 0) - sb.AppendFormat("\t{0} bytes maximum can be transferred before disconnecting", page.MaxBurstSize * 512). - AppendLine(); + sb.AppendFormat("\t" + Localization._0_bytes_maximum_can_be_transferred_before_disconnecting, + page.MaxBurstSize * 512).AppendLine(); if(page.FirstBurstSize > 0) - sb.AppendFormat("\t{0} bytes maximum can be transferred for a command along with the disconnect command", - page.FirstBurstSize * 512).AppendLine(); + sb. + AppendFormat("\t" + Localization._0_bytes_maximum_can_be_transferred_for_a_command_along_with_the_disconnect_command, + page.FirstBurstSize * 512).AppendLine(); if(page.DIMM) - sb.AppendLine("\tTarget shall not transfer data for a command during the same interconnect tenancy"); + sb.AppendLine("\t" + Localization. + Target_shall_not_transfer_data_for_a_command_during_the_same_interconnect_tenancy); if(page.EMDP) - sb.AppendLine("\tTarget is allowed to re-order the data transfer"); + sb.AppendLine("\t" + Localization.Target_is_allowed_to_reorder_the_data_transfer); switch(page.DTDC) { case 0: - sb.AppendLine("\tData transfer disconnect control is not used"); + sb.AppendLine("\t" + Localization.Data_transfer_disconnect_control_is_not_used); break; case 1: - sb.AppendLine("\tAll data for a command shall be transferred within a single interconnect tenancy"); + sb.AppendLine("\t" + Localization. + All_data_for_a_command_shall_be_transferred_within_a_single_interconnect_tenancy); break; case 3: - sb.AppendLine("\tAll data and the response for a command shall be transferred within a single interconnect tenancy"); + sb.AppendLine("\t" + Localization. + All_data_and_the_response_for_a_command_shall_be_transferred_within_a_single_interconnect_tenancy); break; default: - sb.AppendFormat("\tReserved data transfer disconnect control value {0}", page.DTDC).AppendLine(); + sb.AppendFormat("\t" + Localization.Reserved_data_transfer_disconnect_control_value_0, page.DTDC). + AppendLine(); break; } diff --git a/SCSI/Modes/03.cs b/SCSI/Modes/03.cs index c57739d88..9ba361353 100644 --- a/SCSI/Modes/03.cs +++ b/SCSI/Modes/03.cs @@ -121,46 +121,48 @@ public static partial class Modes ModePage_03 page = modePage.Value; var sb = new StringBuilder(); - sb.AppendLine("SCSI Format device page:"); + sb.AppendLine(Localization.SCSI_Format_device_page); if(page.PS) - sb.AppendLine("\tParameters can be saved"); + sb.AppendLine("\t" + Localization.Parameters_can_be_saved); sb. - AppendFormat("\t{0} tracks per zone to use in dividing the capacity for the purpose of allocating alternate sectors", + AppendFormat("\t" + Localization._0_tracks_per_zone_to_use_in_dividing_the_capacity_for_the_purpose_of_allocating_alternate_sectors, page.TracksPerZone).AppendLine(); - sb.AppendFormat("\t{0} sectors per zone that shall be reserved for defect handling", page.AltSectorsPerZone). - AppendLine(); + sb.AppendFormat("\t" + Localization._0_sectors_per_zone_that_shall_be_reserved_for_defect_handling, + page.AltSectorsPerZone).AppendLine(); - sb.AppendFormat("\t{0} tracks per zone that shall be reserved for defect handling", page.AltTracksPerZone). - AppendLine(); + sb.AppendFormat("\t" + Localization._0_tracks_per_zone_that_shall_be_reserved_for_defect_handling, + page.AltTracksPerZone).AppendLine(); - sb.AppendFormat("\t{0} tracks per LUN that shall be reserved for defect handling", page.AltTracksPerLun). - AppendLine(); + sb.AppendFormat("\t" + Localization._0_tracks_per_LUN_that_shall_be_reserved_for_defect_handling, + page.AltTracksPerLun).AppendLine(); - sb.AppendFormat("\t{0} physical sectors per track", page.SectorsPerTrack).AppendLine(); - sb.AppendFormat("\t{0} Bytes per physical sector", page.BytesPerSector).AppendLine(); - sb.AppendFormat("\tTarget-dependent interleave value is {0}", page.Interleave).AppendLine(); + sb.AppendFormat("\t" + Localization._0_physical_sectors_per_track, page.SectorsPerTrack).AppendLine(); + sb.AppendFormat("\t" + Localization._0_Bytes_per_physical_sector, page.BytesPerSector).AppendLine(); + sb.AppendFormat("\t" + Localization.Target_dependent_interleave_value_is_0, page.Interleave).AppendLine(); - sb.AppendFormat("\t{0} sectors between last block of one track and first block of the next", page.TrackSkew). - AppendLine(); + sb.AppendFormat("\t" + Localization._0_sectors_between_last_block_of_one_track_and_first_block_of_the_next, + page.TrackSkew).AppendLine(); - sb.AppendFormat("\t{0} sectors between last block of a cylinder and first block of the next one", + sb.AppendFormat("\t" + Localization._0_sectors_between_last_block_of_a_cylinder_and_first_block_of_the_next_one, page.CylinderSkew).AppendLine(); if(page.SSEC) - sb.AppendLine("\tDrive supports soft-sectoring format"); + sb.AppendLine("\t" + Localization.Drive_supports_soft_sectoring_format); if(page.HSEC) - sb.AppendLine("\tDrive supports hard-sectoring format"); + sb.AppendLine("\t" + Localization.Drive_supports_hard_sectoring_format); if(page.RMB) - sb.AppendLine("\tDrive media is removable"); + sb.AppendLine("\t" + Localization.Drive_media_is_removable); sb.AppendLine(page.SURF - ? "\tSector addressing is progressively incremented in one surface before going to the next" - : "\tSector addressing is progressively incremented in one cylinder before going to the next"); + ? "\t" + Localization. + Sector_addressing_is_progressively_incremented_in_one_surface_before_going_to_the_next + : "\t" + Localization. + Sector_addressing_is_progressively_incremented_in_one_cylinder_before_going_to_the_next); return sb.ToString(); } diff --git a/SCSI/Modes/04.cs b/SCSI/Modes/04.cs index fb1e2c3a1..3937e43d5 100644 --- a/SCSI/Modes/04.cs +++ b/SCSI/Modes/04.cs @@ -111,44 +111,46 @@ public static partial class Modes ModePage_04 page = modePage.Value; var sb = new StringBuilder(); - sb.AppendLine("SCSI Rigid disk drive geometry page:"); + sb.AppendLine(Localization.SCSI_Rigid_disk_drive_geometry_page); if(page.PS) - sb.AppendLine("\tParameters can be saved"); + sb.AppendLine("\t" + Localization.Parameters_can_be_saved); - sb.AppendFormat("\t{0} heads", page.Heads).AppendLine(); - sb.AppendFormat("\t{0} cylinders", page.Cylinders).AppendLine(); + sb.AppendFormat("\t" + Localization._0_heads, page.Heads).AppendLine(); + sb.AppendFormat("\t" + Localization._0_cylinders, page.Cylinders).AppendLine(); if(page.WritePrecompCylinder < page.Cylinders) - sb.AppendFormat("\tWrite pre-compensation starts at cylinder {0}", page.WritePrecompCylinder).AppendLine(); + sb.AppendFormat("\t" + Localization.Write_pre_compensation_starts_at_cylinder_0, page.WritePrecompCylinder). + AppendLine(); if(page.WriteReduceCylinder < page.Cylinders) - sb.AppendFormat("\tWrite current reduction starts at cylinder {0}", page.WriteReduceCylinder).AppendLine(); + sb.AppendFormat("\t" + Localization.Write_current_reduction_starts_at_cylinder_0, page.WriteReduceCylinder). + AppendLine(); if(page.DriveStepRate > 0) - sb.AppendFormat("\tDrive steps in {0} ns", (uint)page.DriveStepRate * 100).AppendLine(); + sb.AppendFormat("\t" + Localization.Drive_steps_in_0_ns, (uint)page.DriveStepRate * 100).AppendLine(); - sb.AppendFormat("\tHeads park in cylinder {0}", page.LandingCylinder).AppendLine(); + sb.AppendFormat("\t" + Localization.Heads_park_in_cylinder_0, page.LandingCylinder).AppendLine(); if(page.MediumRotationRate > 0) - sb.AppendFormat("\tMedium rotates at {0} rpm", page.MediumRotationRate).AppendLine(); + sb.AppendFormat("\t" + Localization.Medium_rotates_at_0_rpm, page.MediumRotationRate).AppendLine(); switch(page.RPL) { case 0: - sb.AppendLine("\tSpindle synchronization is disable or unsupported"); + sb.AppendLine("\t" + Localization.Spindle_synchronization_is_disable_or_unsupported); break; case 1: - sb.AppendLine("\tTarget operates as a synchronized-spindle slave"); + sb.AppendLine("\t" + Localization.Target_operates_as_a_synchronized_spindle_slave); break; case 2: - sb.AppendLine("\tTarget operates as a synchronized-spindle master"); + sb.AppendLine("\t" + Localization.Target_operates_as_a_synchronized_spindle_master); break; case 3: - sb.AppendLine("\tTarget operates as a synchronized-spindle master control"); + sb.AppendLine("\t" + Localization.Target_operates_as_a_synchronized_spindle_master_control); break; } diff --git a/SCSI/Modes/05.cs b/SCSI/Modes/05.cs index ee910f445..cc7c3d755 100644 --- a/SCSI/Modes/05.cs +++ b/SCSI/Modes/05.cs @@ -157,89 +157,94 @@ public static partial class Modes ModePage_05 page = modePage.Value; var sb = new StringBuilder(); - sb.AppendLine("SCSI Flexible disk page:"); + sb.AppendLine(Localization.SCSI_Flexible_disk_page); if(page.PS) - sb.AppendLine("\tParameters can be saved"); + sb.AppendLine("\t" + Localization.Parameters_can_be_saved); - sb.AppendFormat("\tTransfer rate: {0} kbit/s", page.TransferRate).AppendLine(); - sb.AppendFormat("\t{0} heads", page.Heads).AppendLine(); - sb.AppendFormat("\t{0} cylinders", page.Cylinders).AppendLine(); - sb.AppendFormat("\t{0} sectors per track", page.SectorsPerTrack).AppendLine(); - sb.AppendFormat("\t{0} bytes per sector", page.BytesPerSector).AppendLine(); + sb.AppendFormat("\t" + Localization.Transfer_rate_0_kbits, page.TransferRate).AppendLine(); + sb.AppendFormat("\t" + Localization._0_heads, page.Heads).AppendLine(); + sb.AppendFormat("\t" + Localization._0_cylinders, page.Cylinders).AppendLine(); + sb.AppendFormat("\t" + Localization._0_sectors_per_track, page.SectorsPerTrack).AppendLine(); + sb.AppendFormat("\t" + Localization._0_bytes_per_sector, page.BytesPerSector).AppendLine(); if(page.WritePrecompCylinder < page.Cylinders) - sb.AppendFormat("\tWrite pre-compensation starts at cylinder {0}", page.WritePrecompCylinder).AppendLine(); + sb.AppendFormat("\t" + Localization.Write_pre_compensation_starts_at_cylinder_0, page.WritePrecompCylinder). + AppendLine(); if(page.WriteReduceCylinder < page.Cylinders) - sb.AppendFormat("\tWrite current reduction starts at cylinder {0}", page.WriteReduceCylinder).AppendLine(); + sb.AppendFormat("\t" + Localization.Write_current_reduction_starts_at_cylinder_0, page.WriteReduceCylinder). + AppendLine(); if(page.DriveStepRate > 0) - sb.AppendFormat("\tDrive steps in {0} μs", (uint)page.DriveStepRate * 100).AppendLine(); + sb.AppendFormat("\t" + Localization.Drive_steps_in_0_μs, (uint)page.DriveStepRate * 100).AppendLine(); if(page.DriveStepPulse > 0) - sb.AppendFormat("\tEach step pulse is {0} ms", page.DriveStepPulse).AppendLine(); + sb.AppendFormat("\t" + Localization.Each_step_pulse_is_0_ms, page.DriveStepPulse).AppendLine(); if(page.HeadSettleDelay > 0) - sb.AppendFormat("\tHeads settles in {0} μs", (uint)page.HeadSettleDelay * 100).AppendLine(); + sb.AppendFormat("\t" + Localization.Heads_settles_in_0_μs, (uint)page.HeadSettleDelay * 100).AppendLine(); if(!page.TRDY) sb. - AppendFormat("\tTarget shall wait {0} seconds before attempting to access the medium after motor on is asserted", + AppendFormat("\t" + Localization.Target_shall_wait_0_seconds_before_attempting_to_access_the_medium_after_motor_on_is_asserted, (double)page.MotorOnDelay * 10).AppendLine(); else sb. - AppendFormat("\tTarget shall wait {0} seconds after drive is ready before aborting medium access attempts", + AppendFormat("\t" + Localization.Target_shall_wait_0_seconds_after_drive_is_ready_before_aborting_medium_access_attempts, (double)page.MotorOnDelay * 10).AppendLine(); if(page.MotorOffDelay != 0xFF) - sb.AppendFormat("\tTarget shall wait {0} seconds before releasing the motor on signal after becoming idle", - (double)page.MotorOffDelay * 10).AppendLine(); + sb. + AppendFormat("\t" + Localization.Target_shall_wait_0_seconds_before_releasing_the_motor_on_signal_after_becoming_idle, + (double)page.MotorOffDelay * 10).AppendLine(); else - sb.AppendLine("\tTarget shall never release the motor on signal"); + sb.AppendLine("\t" + Localization.Target_shall_never_release_the_motor_on_signal); if(page.TRDY) - sb.AppendLine("\tThere is a drive ready signal"); + sb.AppendLine("\t" + Localization.There_is_a_drive_ready_signal); if(page.SSN) - sb.AppendLine("\tSectors start at 1"); + sb.AppendLine("\t" + Localization.Sectors_start_at_1); if(page.MO) - sb.AppendLine("\tThe motor on signal shall remain released"); + sb.AppendLine("\t" + Localization.The_motor_on_signal_shall_remain_released); - sb.AppendFormat("\tDrive needs to do {0} step pulses per cylinder", page.SPC + 1).AppendLine(); + sb.AppendFormat("\t" + Localization.Drive_needs_to_do_0_step_pulses_per_cylinder, page.SPC + 1).AppendLine(); if(page.WriteCompensation > 0) - sb.AppendFormat("\tWrite pre-compensation is {0}", page.WriteCompensation).AppendLine(); + sb.AppendFormat("\t" + Localization.Write_pre_compensation_is_0, page.WriteCompensation).AppendLine(); if(page.HeadLoadDelay > 0) - sb.AppendFormat("\tHead takes {0} ms to load", page.HeadLoadDelay).AppendLine(); + sb.AppendFormat("\t" + Localization.Head_takes_0_ms_to_load, page.HeadLoadDelay).AppendLine(); if(page.HeadUnloadDelay > 0) - sb.AppendFormat("\tHead takes {0} ms to unload", page.HeadUnloadDelay).AppendLine(); + sb.AppendFormat("\t" + Localization.Head_takes_0_ms_to_unload, page.HeadUnloadDelay).AppendLine(); if(page.MediumRotationRate > 0) - sb.AppendFormat("\tMedium rotates at {0} rpm", page.MediumRotationRate).AppendLine(); + sb.AppendFormat("\t" + Localization.Medium_rotates_at_0_rpm, page.MediumRotationRate).AppendLine(); switch(page.Pin34 & 0x07) { case 0: - sb.AppendLine("\tPin 34 is unconnected"); + sb.AppendLine("\t" + Localization.Pin_34_is_unconnected); break; case 1: - sb.Append("\tPin 34 indicates drive is ready when active "); - sb.Append((page.Pin34 & 0x08) == 0x08 ? "high" : "low"); + sb.Append("\t" + ((page.Pin34 & 0x08) == 0x08 + ? Localization.Pin_34_indicates_drive_is_ready_when_active_high + : Localization.Pin_34_indicates_drive_is_ready_when_active_low)); break; case 2: - sb.Append("\tPin 34 indicates disk has changed when active "); - sb.Append((page.Pin34 & 0x08) == 0x08 ? "high" : "low"); + sb.Append("\t" + ((page.Pin34 & 0x08) == 0x08 + ? Localization.Pin_34_indicates_disk_has_changed_when_active_high + : Localization.Pin_34_indicates_disk_has_changed_when_active_low)); break; default: - sb.AppendFormat("\tPin 34 indicates unknown function {0} when active ", page.Pin34 & 0x07); - sb.Append((page.Pin34 & 0x08) == 0x08 ? "high" : "low"); + sb.AppendFormat("\t" + ((page.Pin34 & 0x08) == 0x08 ? Localization.Pin_34_indicates_unknown_function_0_when_active_high : Localization.Pin_34_indicates_unknown_function_0_when_active_low), + page.Pin34 & 0x07); break; } @@ -247,27 +252,28 @@ public static partial class Modes switch(page.Pin4 & 0x07) { case 0: - sb.AppendLine("\tPin 4 is unconnected"); + sb.AppendLine("\t" + Localization.Pin_4_is_unconnected); break; case 1: - sb.Append("\tPin 4 indicates drive is in use when active "); - sb.Append((page.Pin4 & 0x08) == 0x08 ? "high" : "low"); + sb.Append("\t" + ((page.Pin4 & 0x08) == 0x08 + ? Localization.Pin_4_indicates_drive_is_in_use_when_active_high + : Localization.Pin_4_indicates_drive_is_in_use_when_active_low)); break; case 2: - sb.Append("\tPin 4 indicates eject when active "); - sb.Append((page.Pin4 & 0x08) == 0x08 ? "high" : "low"); + sb.Append("\t" + ((page.Pin4 & 0x08) == 0x08 ? Localization.Pin_4_indicates_eject_when_active_high + : Localization.Pin_4_indicates_eject_when_active_low)); break; case 3: - sb.Append("\tPin 4 indicates head load when active "); - sb.Append((page.Pin4 & 0x08) == 0x08 ? "high" : "low"); + sb.Append("\t" + ((page.Pin4 & 0x08) == 0x08 ? Localization.Pin_4_indicates_head_load_when_active_high + : Localization.Pin_4_indicates_head_load_when_active_low)); break; default: - sb.AppendFormat("\tPin 4 indicates unknown function {0} when active ", page.Pin4 & 0x07); - sb.Append((page.Pin4 & 0x08) == 0x08 ? "high" : "low"); + sb.AppendFormat("\t" + ((page.Pin4 & 0x08) == 0x08 ? Localization.Pin_4_indicates_unknown_function_0_when_active_high : Localization.Pin_4_indicates_unknown_function_0_when_active_low), + page.Pin4 & 0x07); break; } @@ -275,12 +281,12 @@ public static partial class Modes switch(page.Pin2 & 0x07) { case 0: - sb.AppendLine("\tPin 2 is unconnected"); + sb.AppendLine("\t" + Localization.Pin_2_is_unconnected); break; default: - sb.AppendFormat("\tPin 2 indicates unknown function {0} when active ", page.Pin2 & 0x07); - sb.Append((page.Pin2 & 0x08) == 0x08 ? "high" : "low"); + sb.AppendFormat("\t" + ((page.Pin2 & 0x08) == 0x08 ? Localization.Pin_2_indicates_unknown_function_0_when_active_high : Localization.Pin_2_indicates_unknown_function_0_when_active_low), + page.Pin2 & 0x07); break; } @@ -288,17 +294,18 @@ public static partial class Modes switch(page.Pin1 & 0x07) { case 0: - sb.AppendLine("\tPin 1 is unconnected"); + sb.AppendLine("\t" + Localization.Pin_1_is_unconnected); break; case 1: - sb.Append("\tPin 1 indicates disk change reset when active "); - sb.Append((page.Pin1 & 0x08) == 0x08 ? "high" : "low"); + sb.Append("\t" + ((page.Pin1 & 0x08) == 0x08 + ? Localization.Pin_1_indicates_disk_change_reset_when_active_high + : Localization.Pin_1_indicates_disk_change_reset_when_active_low)); break; default: - sb.AppendFormat("\tPin 1 indicates unknown function {0} when active ", page.Pin1 & 0x07); - sb.Append((page.Pin1 & 0x08) == 0x08 ? "high" : "low"); + sb.AppendFormat("\t" + ((page.Pin1 & 0x08) == 0x08 ? Localization.Pin_1_indicates_unknown_function_0_when_active_high : Localization.Pin_1_indicates_unknown_function_0_when_active_low), + page.Pin1 & 0x07); break; } diff --git a/SCSI/Modes/06.cs b/SCSI/Modes/06.cs index bf233aeb8..1cab107eb 100644 --- a/SCSI/Modes/06.cs +++ b/SCSI/Modes/06.cs @@ -82,13 +82,13 @@ public static partial class Modes ModePage_06 page = modePage.Value; var sb = new StringBuilder(); - sb.AppendLine("SCSI optical memory:"); + sb.AppendLine(Localization.SCSI_optical_memory); if(page.PS) - sb.AppendLine("\tParameters can be saved"); + sb.AppendLine("\t" + Localization.Parameters_can_be_saved); if(page.RUBR) - sb.AppendLine("\tOn reading an updated block drive will return RECOVERED ERROR"); + sb.AppendLine("\t" + Localization.On_reading_an_updated_block_drive_will_return_RECOVERED_ERROR); return sb.ToString(); } diff --git a/SCSI/Modes/07.cs b/SCSI/Modes/07.cs index b82f9e9c8..9bfc5480c 100644 --- a/SCSI/Modes/07.cs +++ b/SCSI/Modes/07.cs @@ -101,29 +101,30 @@ public static partial class Modes ModePage_07 page = modePage.Value; var sb = new StringBuilder(); - sb.AppendLine("SCSI Verify error recovery page:"); + sb.AppendLine(Localization.SCSI_Verify_error_recovery_page); if(page.PS) - sb.AppendLine("\tParameters can be saved"); + sb.AppendLine("\t" + Localization.Parameters_can_be_saved); if(page.EER) - sb.AppendLine("\tDrive will use the most expedient form of error recovery first"); + sb.AppendLine("\t" + Localization.Drive_will_use_the_most_expedient_form_of_error_recovery_first); if(page.PER) - sb.AppendLine("\tDrive shall report recovered errors"); + sb.AppendLine("\t" + Localization.Drive_shall_report_recovered_errors); if(page.DTE) - sb.AppendLine("\tTransfer will be terminated upon error detection"); + sb.AppendLine("\t" + Localization.Transfer_will_be_terminated_upon_error_detection); if(page.DCR) - sb.AppendLine("\tError correction is disabled"); + sb.AppendLine("\t" + Localization.Error_correction_is_disabled); if(page.VerifyRetryCount > 0) - sb.AppendFormat("\tDrive will repeat verify operations {0} times", page.VerifyRetryCount).AppendLine(); + sb.AppendFormat("\t" + Localization.Drive_will_repeat_verify_operations_0_times, page.VerifyRetryCount). + AppendLine(); if(page.RecoveryTimeLimit > 0) - sb.AppendFormat("\tDrive will employ a maximum of {0} ms to recover data", page.RecoveryTimeLimit). - AppendLine(); + sb.AppendFormat("\t" + Localization.Drive_will_employ_a_maximum_of_0_ms_to_recover_data, + page.RecoveryTimeLimit).AppendLine(); return sb.ToString(); } diff --git a/SCSI/Modes/07_MMC.cs b/SCSI/Modes/07_MMC.cs index bb053d3bb..bbd3c0309 100644 --- a/SCSI/Modes/07_MMC.cs +++ b/SCSI/Modes/07_MMC.cs @@ -85,30 +85,34 @@ public static partial class Modes ModePage_07_MMC page = modePage.Value; var sb = new StringBuilder(); - sb.AppendLine("SCSI Verify error recovery page for MultiMedia Devices:"); + sb.AppendLine(Localization.SCSI_Verify_error_recovery_page_for_MultiMedia_Devices); if(page.PS) - sb.AppendLine("\tParameters can be saved"); + sb.AppendLine("\t" + Localization.Parameters_can_be_saved); if(page.VerifyRetryCount > 0) - sb.AppendFormat("\tDrive will repeat verify operations {0} times", page.VerifyRetryCount).AppendLine(); + sb.AppendFormat("\t" + Localization.Drive_will_repeat_verify_operations_0_times, page.VerifyRetryCount). + AppendLine(); - const string AllUsed = "\tAll available recovery procedures will be used.\n"; - const string CIRCRetriesUsed = "\tOnly retries and CIRC are used.\n"; - const string RetriesUsed = "\tOnly retries are used.\n"; - const string RecoveredNotReported = "\tRecovered errors will not be reported.\n"; - const string RecoveredReported = "\tRecovered errors will be reported.\n"; - const string RecoveredAbort = "\tRecovered errors will be reported and aborted with CHECK CONDITION.\n"; - const string UnrecECCAbort = "\tUnrecovered ECC errors will return CHECK CONDITION."; - const string UnrecCIRCAbort = "\tUnrecovered CIRC errors will return CHECK CONDITION."; - const string UnrecECCNotAbort = "\tUnrecovered ECC errors will not abort the transfer."; - const string UnrecCIRCNotAbort = "\tUnrecovered CIRC errors will not abort the transfer."; + string AllUsed = "\t" + Localization.All_available_recovery_procedures_will_be_used + "\n"; + string CIRCRetriesUsed = "\t" + Localization.Only_retries_and_CIRC_are_used + "\n"; + string RetriesUsed = "\t" + Localization.Only_retries_are_used + "\n"; + string RecoveredNotReported = "\t" + Localization.Recovered_errors_will_not_be_reported + "\n"; + string RecoveredReported = "\t" + Localization.Recovered_errors_will_be_reported + "\n"; - const string UnrecECCAbortData = - "\tUnrecovered ECC errors will return CHECK CONDITION and the uncorrected data."; + string RecoveredAbort = "\t" + Localization.Recovered_errors_will_be_reported_and_aborted_with_CHECK_CONDITION + + "\n"; - const string UnrecCIRCAbortData = - "\tUnrecovered CIRC errors will return CHECK CONDITION and the uncorrected data."; + string UnrecECCAbort = "\t" + Localization.Unrecovered_ECC_errors_will_return_CHECK_CONDITION; + string UnrecCIRCAbort = "\t" + Localization.Unrecovered_CIRC_errors_will_return_CHECK_CONDITION; + string UnrecECCNotAbort = "\t" + Localization.Unrecovered_ECC_errors_will_not_abort_the_transfer; + string UnrecCIRCNotAbort = "\t" + Localization.Unrecovered_CIRC_errors_will_not_abort_the_transfer; + + string UnrecECCAbortData = + "\t" + Localization.Unrecovered_ECC_errors_will_return_CHECK_CONDITION_and_the_uncorrected_data; + + string UnrecCIRCAbortData = + "\t" + Localization.Unrecovered_CIRC_errors_will_return_CHECK_CONDITION_and_the_uncorrected_data; switch(page.Parameter) { @@ -181,7 +185,7 @@ public static partial class Modes case 0x34: goto case 0x14; case 0x35: goto case 0x15; default: - sb.AppendFormat("Unknown recovery parameter 0x{0:X2}", page.Parameter).AppendLine(); + sb.AppendFormat(Localization.Unknown_recovery_parameter_0, page.Parameter).AppendLine(); break; } diff --git a/SCSI/Modes/08.cs b/SCSI/Modes/08.cs index 676b52e90..26bf3e74c 100644 --- a/SCSI/Modes/08.cs +++ b/SCSI/Modes/08.cs @@ -151,34 +151,36 @@ public static partial class Modes ModePage_08 page = modePage.Value; var sb = new StringBuilder(); - sb.AppendLine("SCSI Caching mode page:"); + sb.AppendLine(Localization.SCSI_Caching_mode_page); if(page.PS) - sb.AppendLine("\tParameters can be saved"); + sb.AppendLine("\t" + Localization.Parameters_can_be_saved); if(page.RCD) - sb.AppendLine("\tRead-cache is enabled"); + sb.AppendLine("\t" + Localization.Read_cache_is_enabled); if(page.WCE) - sb.AppendLine("\tWrite-cache is enabled"); + sb.AppendLine("\t" + Localization.Write_cache_is_enabled); switch(page.DemandReadRetentionPrio) { case 0: - sb.AppendLine("\tDrive does not distinguish between cached read data"); + sb.AppendLine("\t" + Localization.Drive_does_not_distinguish_between_cached_read_data); break; case 1: - sb.AppendLine("\tData put by READ commands should be evicted from cache sooner than data put in read cache by other means"); + sb.AppendLine("\t" + Localization. + Data_put_by_READ_commands_should_be_evicted_from_cache_sooner_than_data_put_in_read_cache_by_other_means); break; case 0xF: - sb.AppendLine("\tData put by READ commands should not be evicted if there is data cached by other means that can be evicted"); + sb.AppendLine("\t" + Localization. + Data_put_by_READ_commands_should_not_be_evicted_if_there_is_data_cached_by_other_means_that_can_be_evicted); break; default: - sb.AppendFormat("\tUnknown demand read retention priority value {0}", page.DemandReadRetentionPrio). - AppendLine(); + sb.AppendFormat("\t" + Localization.Unknown_demand_read_retention_priority_value_0, + page.DemandReadRetentionPrio).AppendLine(); break; } @@ -186,89 +188,96 @@ public static partial class Modes switch(page.WriteRetentionPriority) { case 0: - sb.AppendLine("\tDrive does not distinguish between cached write data"); + sb.AppendLine("\t" + Localization.Drive_does_not_distinguish_between_cached_write_data); break; case 1: - sb.AppendLine("\tData put by WRITE commands should be evicted from cache sooner than data put in write cache by other means"); + sb.AppendLine("\t" + Localization. + Data_put_by_WRITE_commands_should_be_evicted_from_cache_sooner_than_data_put_in_write_cache_by_other_means); break; case 0xF: - sb.AppendLine("\tData put by WRITE commands should not be evicted if there is data cached by other means that can be evicted"); + sb.AppendLine("\t" + Localization. + Data_put_by_WRITE_commands_should_not_be_evicted_if_there_is_data_cached_by_other_means_that_can_be_evicted); break; default: - sb.AppendFormat("\tUnknown demand write retention priority value {0}", page.DemandReadRetentionPrio). - AppendLine(); + sb.AppendFormat("\t" + Localization.Unknown_demand_write_retention_priority_value_0, + page.DemandReadRetentionPrio).AppendLine(); break; } if(page.DRA) - sb.AppendLine("\tRead-ahead is disabled"); + sb.AppendLine("\t" + Localization.Read_ahead_is_disabled); else { if(page.MF) - sb.AppendLine("\tPre-fetch values indicate a block multiplier"); + sb.AppendLine("\t" + Localization.Pre_fetch_values_indicate_a_block_multiplier); if(page.DisablePreFetch == 0) - sb.AppendLine("\tNo pre-fetch will be done"); + sb.AppendLine("\t" + Localization.No_pre_fetch_will_be_done); else { - sb.AppendFormat("\tPre-fetch will be done for READ commands of {0} blocks or less", + sb.AppendFormat("\t" + Localization.Pre_fetch_will_be_done_for_READ_commands_of_0_blocks_or_less, page.DisablePreFetch).AppendLine(); if(page.MinimumPreFetch > 0) - sb.AppendFormat("At least {0} blocks will be always pre-fetched", page.MinimumPreFetch). + sb.AppendFormat(Localization.At_least_0_blocks_will_be_always_pre_fetched, page.MinimumPreFetch). AppendLine(); if(page.MaximumPreFetch > 0) - sb.AppendFormat("\tA maximum of {0} blocks will be pre-fetched", page.MaximumPreFetch).AppendLine(); + sb.AppendFormat("\t" + Localization.A_maximum_of_0_blocks_will_be_pre_fetched, + page.MaximumPreFetch).AppendLine(); if(page.MaximumPreFetchCeiling > 0) sb. - AppendFormat("\tA maximum of {0} blocks will be pre-fetched even if it is commanded to pre-fetch more", + AppendFormat("\t" + Localization.A_maximum_of_0_blocks_will_be_pre_fetched_even_if_it_is_commanded_to_pre_fetch_more, page.MaximumPreFetchCeiling).AppendLine(); if(page.IC) - sb.AppendLine("\tDevice should use number of cache segments or cache segment size for caching"); + sb.AppendLine("\t" + Localization. + Device_should_use_number_of_cache_segments_or_cache_segment_size_for_caching); if(page.ABPF) - sb.AppendLine("\tPre-fetch should be aborted upon receiving a new command"); + sb.AppendLine("\t" + Localization.Pre_fetch_should_be_aborted_upon_receiving_a_new_command); if(page.CAP) - sb.AppendLine("\tCaching analysis is permitted"); + sb.AppendLine("\t" + Localization.Caching_analysis_is_permitted); if(page.Disc) - sb.AppendLine("\tPre-fetch can continue across discontinuities (such as cylinders or tracks)"); + sb.AppendLine("\t" + Localization. + Pre_fetch_can_continue_across_discontinuities_such_as_cylinders_or_tracks); } } if(page.FSW) - sb.AppendLine("\tDrive should not reorder the sequence of write commands to be faster"); + sb.AppendLine("\t" + Localization.Drive_should_not_reorder_the_sequence_of_write_commands_to_be_faster); if(page.Size) { if(page.CacheSegmentSize > 0) if(page.LBCSS) - sb.AppendFormat("\tDrive cache segments should be {0} blocks long", page.CacheSegmentSize). - AppendLine(); + sb.AppendFormat("\t" + Localization.Drive_cache_segments_should_be_0_blocks_long, + page.CacheSegmentSize).AppendLine(); else - sb.AppendFormat("\tDrive cache segments should be {0} bytes long", page.CacheSegmentSize). - AppendLine(); + sb.AppendFormat("\t" + Localization.Drive_cache_segments_should_be_0_bytes_long, + page.CacheSegmentSize).AppendLine(); } else { if(page.CacheSegments > 0) - sb.AppendFormat("\tDrive should have {0} cache segments", page.CacheSegments).AppendLine(); + sb.AppendFormat("\t" + Localization.Drive_should_have_0_cache_segments, page.CacheSegments). + AppendLine(); } if(page.NonCacheSegmentSize > 0) - sb.AppendFormat("\tDrive shall allocate {0} bytes to buffer even when all cached data cannot be evicted", - page.NonCacheSegmentSize).AppendLine(); + sb. + AppendFormat("\t" + Localization.Drive_shall_allocate_0_bytes_to_buffer_even_when_all_cached_data_cannot_be_evicted, + page.NonCacheSegmentSize).AppendLine(); if(page.NV_DIS) - sb.AppendLine("\tNon-Volatile cache is disabled"); + sb.AppendLine("\t" + Localization.Non_Volatile_cache_is_disabled); return sb.ToString(); } diff --git a/SCSI/Modes/0A.cs b/SCSI/Modes/0A.cs index cdeb2dfe2..ea7f82db1 100644 --- a/SCSI/Modes/0A.cs +++ b/SCSI/Modes/0A.cs @@ -183,77 +183,83 @@ public static partial class Modes ModePage_0A page = modePage.Value; var sb = new StringBuilder(); - sb.AppendLine("SCSI Control mode page:"); + sb.AppendLine(Localization.SCSI_Control_mode_page); if(page.PS) - sb.AppendLine("\tParameters can be saved"); + sb.AppendLine("\t" + Localization.Parameters_can_be_saved); if(page.RLEC) - sb.AppendLine("\tIf set, target shall report log exception conditions"); + sb.AppendLine("\t" + Localization.If_set_target_shall_report_log_exception_conditions); if(page.DQue) - sb.AppendLine("\tTagged queuing is disabled"); + sb.AppendLine("\t" + Localization.Tagged_queuing_is_disabled); if(page.EECA) - sb.AppendLine("\tExtended Contingent Allegiance is enabled"); + sb.AppendLine("\t" + Localization.Extended_Contingent_Allegiance_is_enabled); if(page.RAENP) - sb.AppendLine("\tTarget may issue an asynchronous event notification upon completing its initialization"); + sb.AppendLine("\t" + Localization. + Target_may_issue_an_asynchronous_event_notification_upon_completing_its_initialization); if(page.UAAENP) - sb.AppendLine("\tTarget may issue an asynchronous event notification instead of a unit attention condition"); + sb.AppendLine("\t" + Localization. + Target_may_issue_an_asynchronous_event_notification_instead_of_a_unit_attention_condition); if(page.EAENP) - sb.AppendLine("\tTarget may issue an asynchronous event notification instead of a deferred error"); + sb.AppendLine("\t" + Localization. + Target_may_issue_an_asynchronous_event_notification_instead_of_a_deferred_error); if(page.GLTSD) - sb.AppendLine("\tGlobal logging target save disabled"); + sb.AppendLine("\t" + Localization.Global_logging_target_save_disabled); if(page.RAC) - sb.AppendLine("\tCHECK CONDITION should be reported rather than a long busy condition"); + sb.AppendLine("\t" + Localization.CHECK_CONDITION_should_be_reported_rather_than_a_long_busy_condition); if(page.SWP) - sb.AppendLine("\tSoftware write protect is active"); + sb.AppendLine("\t" + Localization.Software_write_protect_is_active); if(page.TAS) - sb.AppendLine("\tTasks aborted by other initiator's actions should be terminated with TASK ABORTED"); + sb.AppendLine("\t" + Localization. + Tasks_aborted_by_other_initiator_s_actions_should_be_terminated_with_TASK_ABORTED); if(page.TMF_ONLY) - sb.AppendLine("\tAll tasks received in nexus with ACA ACTIVE is set and an ACA condition is established shall terminate"); + sb.AppendLine("\t" + Localization. + All_tasks_received_in_nexus_with_ACA_ACTIVE_is_set_and_an_ACA_condition_is_established_shall_terminate); if(page.D_SENSE) - sb.AppendLine("\tDevice shall return descriptor format sense data when returning sense data in the same transactions as a CHECK CONDITION"); + sb.AppendLine("\t" + Localization. + Device_shall_return_descriptor_format_sense_data_when_returning_sense_data_in_the_same_transactions_as_a_CHECK_CONDITION); if(page.ATO) - sb.AppendLine("\tLOGICAL BLOCK APPLICATION TAG should not be modified"); + sb.AppendLine("\t" + Localization.LOGICAL_BLOCK_APPLICATION_TAG_should_not_be_modified); if(page.DPICZ) - sb.AppendLine("\tProtector information checking is disabled"); + sb.AppendLine("\t" + Localization.Protector_information_checking_is_disabled); if(page.NUAR) - sb.AppendLine("\tNo unit attention on release"); + sb.AppendLine("\t" + Localization.No_unit_attention_on_release); if(page.ATMPE) - sb.AppendLine("\tApplication Tag mode page is enabled"); + sb.AppendLine("\t" + Localization.Application_Tag_mode_page_is_enabled); if(page.RWWP) - sb.AppendLine("\tAbort any write command without protection information"); + sb.AppendLine("\t" + Localization.Abort_any_write_command_without_protection_information); if(page.SBLP) - sb.AppendLine("\tSupports block lengths and protection information"); + sb.AppendLine("\t" + Localization.Supports_block_lengths_and_protection_information); switch(page.TST) { case 0: - sb.AppendLine("\tThe logical unit maintains one task set for all nexuses"); + sb.AppendLine("\t" + Localization.The_logical_unit_maintains_one_task_set_for_all_nexuses); break; case 1: - sb.AppendLine("\tThe logical unit maintains separate task sets for each nexus"); + sb.AppendLine("\t" + Localization.The_logical_unit_maintains_separate_task_sets_for_each_nexus); break; default: - sb.AppendFormat("\tUnknown Task set type {0}", page.TST).AppendLine(); + sb.AppendFormat("\t" + Localization.Unknown_Task_set_type_0, page.TST).AppendLine(); break; } @@ -261,15 +267,16 @@ public static partial class Modes switch(page.QueueAlgorithm) { case 0: - sb.AppendLine("\tCommands should be sent strictly ordered"); + sb.AppendLine("\t" + Localization.Commands_should_be_sent_strictly_ordered); break; case 1: - sb.AppendLine("\tCommands can be reordered in any manner"); + sb.AppendLine("\t" + Localization.Commands_can_be_reordered_in_any_manner); break; default: - sb.AppendFormat("\tUnknown Queue Algorithm Modifier {0}", page.QueueAlgorithm).AppendLine(); + sb.AppendFormat("\t" + Localization.Unknown_Queue_Algorithm_Modifier_0, page.QueueAlgorithm). + AppendLine(); break; } @@ -277,19 +284,22 @@ public static partial class Modes switch(page.QErr) { case 0: - sb.AppendLine("\tIf ACA is established, the task set commands shall resume after it is cleared, otherwise they shall terminate with CHECK CONDITION"); + sb.AppendLine("\t" + Localization. + If_ACA_is_established_the_task_set_commands_shall_resume_after_it_is_cleared_otherwise_they_shall_terminate_with_CHECK_CONDITION); break; case 1: - sb.AppendLine("\tAll the affected commands in the task set shall be aborted when CHECK CONDITION is returned"); + sb.AppendLine("\t" + Localization. + All_the_affected_commands_in_the_task_set_shall_be_aborted_when_CHECK_CONDITION_is_returned); break; case 3: - sb.AppendLine("\tAffected commands in the task set belonging with the CHECK CONDITION nexus shall be aborted"); + sb.AppendLine("\t" + Localization. + Affected_commands_in_the_task_set_belonging_with_the_CHECK_CONDITION_nexus_shall_be_aborted); break; default: - sb.AppendLine("\tReserved QErr value 2 is set"); + sb.AppendLine("\t" + Localization.Reserved_QErr_value_2_is_set); break; } @@ -297,19 +307,21 @@ public static partial class Modes switch(page.UA_INTLCK_CTRL) { case 0: - sb.AppendLine("\tLUN shall clear unit attention condition reported in the same nexus"); + sb.AppendLine("\t" + Localization.LUN_shall_clear_unit_attention_condition_reported_in_the_same_nexus); break; case 2: - sb.AppendLine("\tLUN shall not clear unit attention condition reported in the same nexus"); + sb.AppendLine("\t" + Localization. + LUN_shall_not_clear_unit_attention_condition_reported_in_the_same_nexus); break; case 3: - sb.AppendLine("\tLUN shall not clear unit attention condition reported in the same nexus and shall establish a unit attention condition for the initiator"); + sb.AppendLine("\t" + Localization. + LUN_shall_not_clear_unit_attention_condition_reported_in_the_same_nexus_and_shall_establish_a_unit_attention_condition_for_the_initiator); break; default: - sb.AppendLine("\tReserved UA_INTLCK_CTRL value 1 is set"); + sb.AppendLine("\t" + Localization.Reserved_UA_INTLCK_CTRL_value_1_is_set); break; } @@ -317,36 +329,39 @@ public static partial class Modes switch(page.AutoloadMode) { case 0: - sb.AppendLine("\tOn medium insertion, it shall be loaded for full access"); + sb.AppendLine("\t" + Localization.On_medium_insertion_it_shall_be_loaded_for_full_access); break; case 1: - sb.AppendLine("\tOn medium insertion, it shall be loaded for auxiliary memory access only"); + sb.AppendLine("\t" + Localization. + On_medium_insertion_it_shall_be_loaded_for_auxiliary_memory_access_only); break; case 2: - sb.AppendLine("\tOn medium insertion, it shall not be loaded"); + sb.AppendLine("\t" + Localization.On_medium_insertion_it_shall_not_be_loaded); break; default: - sb.AppendFormat("\tReserved autoload mode {0} set", page.AutoloadMode).AppendLine(); + sb.AppendFormat("\t" + Localization.Reserved_autoload_mode_0_set, page.AutoloadMode).AppendLine(); break; } if(page.ReadyAENHoldOffPeriod > 0) - sb.AppendFormat("\t{0} ms before attempting asynchronous event notifications after initialization", - page.ReadyAENHoldOffPeriod).AppendLine(); + sb. + AppendFormat("\t" + Localization._0_ms_before_attempting_asynchronous_event_notifications_after_initialization, + page.ReadyAENHoldOffPeriod).AppendLine(); if(page.BusyTimeoutPeriod > 0) if(page.BusyTimeoutPeriod == 0xFFFF) - sb.AppendLine("\tThere is no limit on the maximum time that is allowed to remain busy"); + sb.AppendLine("\t" + Localization.There_is_no_limit_on_the_maximum_time_that_is_allowed_to_remain_busy); else - sb.AppendFormat("\tA maximum of {0} ms are allowed to remain busy", page.BusyTimeoutPeriod * 100). - AppendLine(); + sb.AppendFormat("\t" + Localization.A_maximum_of_0_ms_are_allowed_to_remain_busy, + page.BusyTimeoutPeriod * 100).AppendLine(); if(page.ExtendedSelfTestCompletionTime > 0) - sb.AppendFormat("\t{0} seconds to complete extended self-test", page.ExtendedSelfTestCompletionTime); + sb.AppendFormat("\t" + Localization._0_seconds_to_complete_extended_self_test, + page.ExtendedSelfTestCompletionTime); return sb.ToString(); } @@ -414,31 +429,32 @@ public static partial class Modes ModePage_0A_S01 page = modePage.Value; var sb = new StringBuilder(); - sb.AppendLine("SCSI Control extension page:"); + sb.AppendLine(Localization.SCSI_Control_extension_page); if(page.PS) - sb.AppendLine("\tParameters can be saved"); + sb.AppendLine("\t" + Localization.Parameters_can_be_saved); if(page.TCMOS) { - sb.Append("\tTimestamp can be initialized by methods outside of the SCSI standards"); - if(page.SCSIP) - sb.Append(", but SCSI's SET TIMESTAMP shall take precedence over them"); - - sb.AppendLine(); + sb.AppendLine("\t" + Localization. + S01_Timestamp_can_be_initialized_by_methods_outside_of_the_SCSI_standards_but_SCSI_SET_TIMESTAMP_shall_take_precedence_over_them); + else + sb.AppendLine("\t" + Localization. + Timestamp_can_be_initialized_by_methods_outside_of_the_SCSI_standards); } if(page.IALUAE) - sb.AppendLine("\tImplicit Asymmetric Logical Unit Access is enabled"); + sb.AppendLine("\t" + Localization.Implicit_Asymmetric_Logical_Unit_Access_is_enabled); - sb.AppendFormat("\tInitial priority is {0}", page.InitialPriority).AppendLine(); + sb.AppendFormat("\t" + Localization.Initial_priority_is_0, page.InitialPriority).AppendLine(); if(page.DLC) - sb.AppendLine("\tDevice will not degrade performance to extend its life"); + sb.AppendLine("\t" + Localization.Device_will_not_degrade_performance_to_extend_its_life); if(page.MaximumSenseLength > 0) - sb.AppendFormat("\tMaximum sense data would be {0} bytes", page.MaximumSenseLength).AppendLine(); + sb.AppendFormat("\t" + Localization.Maximum_sense_data_would_be_0_bytes, page.MaximumSenseLength). + AppendLine(); return sb.ToString(); } diff --git a/SCSI/Modes/0B.cs b/SCSI/Modes/0B.cs index d53f0d65c..547d8149b 100644 --- a/SCSI/Modes/0B.cs +++ b/SCSI/Modes/0B.cs @@ -87,23 +87,26 @@ public static partial class Modes ModePage_0B page = modePage.Value; var sb = new StringBuilder(); - sb.AppendLine("SCSI Medium types supported page:"); + sb.AppendLine(Localization.SCSI_Medium_types_supported_page); if(page.PS) - sb.AppendLine("\tParameters can be saved"); + sb.AppendLine("\t" + Localization.Parameters_can_be_saved); if(page.MediumType1 != MediumTypes.Default) - sb.AppendFormat("Supported medium type one: {0}", GetMediumTypeDescription(page.MediumType1)).AppendLine(); + sb.AppendFormat(Localization.Supported_medium_type_one_0, GetMediumTypeDescription(page.MediumType1)). + AppendLine(); if(page.MediumType2 != MediumTypes.Default) - sb.AppendFormat("Supported medium type two: {0}", GetMediumTypeDescription(page.MediumType2)).AppendLine(); + sb.AppendFormat(Localization.Supported_medium_type_two_0, GetMediumTypeDescription(page.MediumType2)). + AppendLine(); if(page.MediumType3 != MediumTypes.Default) - sb.AppendFormat("Supported medium type three: {0}", GetMediumTypeDescription(page.MediumType3)). + sb.AppendFormat(Localization.Supported_medium_type_three_0, GetMediumTypeDescription(page.MediumType3)). AppendLine(); if(page.MediumType4 != MediumTypes.Default) - sb.AppendFormat("Supported medium type four: {0}", GetMediumTypeDescription(page.MediumType4)).AppendLine(); + sb.AppendFormat(Localization.Supported_medium_type_four_0, GetMediumTypeDescription(page.MediumType4)). + AppendLine(); return sb.ToString(); } diff --git a/SCSI/Modes/0D.cs b/SCSI/Modes/0D.cs index c6d408c38..c593e1e8c 100644 --- a/SCSI/Modes/0D.cs +++ b/SCSI/Modes/0D.cs @@ -88,84 +88,89 @@ public static partial class Modes ModePage_0D page = modePage.Value; var sb = new StringBuilder(); - sb.AppendLine("SCSI CD-ROM parameters page:"); + sb.AppendLine(Localization.SCSI_CD_ROM_parameters_page); if(page.PS) - sb.AppendLine("\tParameters can be saved"); + sb.AppendLine("\t" + Localization.Parameters_can_be_saved); switch(page.InactivityTimerMultiplier) { case 0: - sb.AppendLine("\tDrive will remain in track hold state a vendor-specified time after a seek or read"); + sb.AppendLine("\t" + Localization. + Drive_will_remain_in_track_hold_state_a_vendor_specified_time_after_a_seek_or_read); break; case 1: - sb.AppendLine("\tDrive will remain in track hold state 125 ms after a seek or read"); + sb.AppendLine("\t" + Localization.Drive_will_remain_in_track_hold_state_125_ms_after_a_seek_or_read); break; case 2: - sb.AppendLine("\tDrive will remain in track hold state 250 ms after a seek or read"); + sb.AppendLine("\t" + Localization.Drive_will_remain_in_track_hold_state_250_ms_after_a_seek_or_read); break; case 3: - sb.AppendLine("\tDrive will remain in track hold state 500 ms after a seek or read"); + sb.AppendLine("\t" + Localization.Drive_will_remain_in_track_hold_state_500_ms_after_a_seek_or_read); break; case 4: - sb.AppendLine("\tDrive will remain in track hold state 1 second after a seek or read"); + sb.AppendLine("\t" + Localization.Drive_will_remain_in_track_hold_state_1_second_after_a_seek_or_read); break; case 5: - sb.AppendLine("\tDrive will remain in track hold state 2 seconds after a seek or read"); + sb.AppendLine("\t" + Localization.Drive_will_remain_in_track_hold_state_2_seconds_after_a_seek_or_read); break; case 6: - sb.AppendLine("\tDrive will remain in track hold state 4 seconds after a seek or read"); + sb.AppendLine("\t" + Localization.Drive_will_remain_in_track_hold_state_4_seconds_after_a_seek_or_read); break; case 7: - sb.AppendLine("\tDrive will remain in track hold state 8 seconds after a seek or read"); + sb.AppendLine("\t" + Localization.Drive_will_remain_in_track_hold_state_8_seconds_after_a_seek_or_read); break; case 8: - sb.AppendLine("\tDrive will remain in track hold state 16 seconds after a seek or read"); + sb.AppendLine("\t" + Localization. + Drive_will_remain_in_track_hold_state_16_seconds_after_a_seek_or_read); break; case 9: - sb.AppendLine("\tDrive will remain in track hold state 32 seconds after a seek or read"); + sb.AppendLine("\t" + Localization. + Drive_will_remain_in_track_hold_state_32_seconds_after_a_seek_or_read); break; case 10: - sb.AppendLine("\tDrive will remain in track hold state 1 minute after a seek or read"); + sb.AppendLine("\t" + Localization.Drive_will_remain_in_track_hold_state_1_minute_after_a_seek_or_read); break; case 11: - sb.AppendLine("\tDrive will remain in track hold state 2 minutes after a seek or read"); + sb.AppendLine("\t" + Localization.Drive_will_remain_in_track_hold_state_2_minutes_after_a_seek_or_read); break; case 12: - sb.AppendLine("\tDrive will remain in track hold state 4 minutes after a seek or read"); + sb.AppendLine("\t" + Localization.Drive_will_remain_in_track_hold_state_4_minutes_after_a_seek_or_read); break; case 13: - sb.AppendLine("\tDrive will remain in track hold state 8 minutes after a seek or read"); + sb.AppendLine("\t" + Localization.Drive_will_remain_in_track_hold_state_8_minutes_after_a_seek_or_read); break; case 14: - sb.AppendLine("\tDrive will remain in track hold state 16 minutes after a seek or read"); + sb.AppendLine("\t" + Localization. + Drive_will_remain_in_track_hold_state_16_minutes_after_a_seek_or_read); break; case 15: - sb.AppendLine("\tDrive will remain in track hold state 32 minutes after a seek or read"); + sb.AppendLine("\t" + Localization. + Drive_will_remain_in_track_hold_state_32_minutes_after_a_seek_or_read); break; } if(page.SecondsPerMinute > 0) - sb.AppendFormat("\tEach minute has {0} seconds", page.SecondsPerMinute).AppendLine(); + sb.AppendFormat("\t" + Localization.Each_minute_has_0_seconds, page.SecondsPerMinute).AppendLine(); if(page.FramesPerSecond > 0) - sb.AppendFormat("\tEach second has {0} frames", page.FramesPerSecond).AppendLine(); + sb.AppendFormat("\t" + Localization.Each_second_has_0_frames, page.FramesPerSecond).AppendLine(); return sb.ToString(); } diff --git a/SCSI/Modes/0E.cs b/SCSI/Modes/0E.cs index 74faa3cde..70fa58b40 100644 --- a/SCSI/Modes/0E.cs +++ b/SCSI/Modes/0E.cs @@ -118,16 +118,16 @@ public static partial class Modes ModePage_0E page = modePage.Value; var sb = new StringBuilder(); - sb.AppendLine("SCSI CD-ROM audio control parameters page:"); + sb.AppendLine(Localization.SCSI_CD_ROM_audio_control_parameters_page); if(page.PS) - sb.AppendLine("\tParameters can be saved"); + sb.AppendLine("\t" + Localization.Parameters_can_be_saved); - sb.AppendLine(page.Immed ? "\tDrive will return from playback command immediately" - : "\tDrive will return from playback command when playback ends"); + sb.AppendLine(page.Immed ? "\t" + Localization.Drive_will_return_from_playback_command_immediately + : "\t" + Localization.Drive_will_return_from_playback_command_when_playback_ends); if(page.SOTC) - sb.AppendLine("\tDrive will stop playback on track end"); + sb.AppendLine("\t" + Localization.Drive_will_stop_playback_on_track_end); if(page.APRVal) { @@ -138,12 +138,12 @@ public static partial class Modes else blocks = page.BlocksPerSecondOfAudio; - sb.AppendFormat("\tThere are {0} blocks per each second of audio", blocks).AppendLine(); + sb.AppendFormat("\t" + Localization.There_are_0_blocks_per_each_second_of_audio, blocks).AppendLine(); } if(page.OutputPort0ChannelSelection > 0) { - sb.Append("\tOutput port 0 has channels "); + sb.Append("\t" + Localization.Output_port_0_has_channels); if((page.OutputPort0ChannelSelection & 0x01) == 0x01) sb.Append("0 "); @@ -160,15 +160,15 @@ public static partial class Modes switch(page.OutputPort0Volume) { case 0: - sb.AppendLine("muted"); + sb.AppendLine(Localization.muted); break; case 0xFF: - sb.AppendLine("at maximum volume"); + sb.AppendLine(Localization.at_maximum_volume); break; default: - sb.AppendFormat("at volume {0}", page.OutputPort0Volume).AppendLine(); + sb.AppendFormat(Localization.at_volume_0, page.OutputPort0Volume).AppendLine(); break; } @@ -176,7 +176,7 @@ public static partial class Modes if(page.OutputPort1ChannelSelection > 0) { - sb.Append("\tOutput port 1 has channels "); + sb.Append("\t" + Localization.Output_port_1_has_channels); if((page.OutputPort1ChannelSelection & 0x01) == 0x01) sb.Append("0 "); @@ -193,15 +193,15 @@ public static partial class Modes switch(page.OutputPort1Volume) { case 0: - sb.AppendLine("muted"); + sb.AppendLine(Localization.muted); break; case 0xFF: - sb.AppendLine("at maximum volume"); + sb.AppendLine(Localization.at_maximum_volume); break; default: - sb.AppendFormat("at volume {0}", page.OutputPort1Volume).AppendLine(); + sb.AppendFormat(Localization.at_volume_0, page.OutputPort1Volume).AppendLine(); break; } @@ -209,7 +209,7 @@ public static partial class Modes if(page.OutputPort2ChannelSelection > 0) { - sb.Append("\tOutput port 2 has channels "); + sb.Append("\t" + Localization.Output_port_2_has_channels); if((page.OutputPort2ChannelSelection & 0x01) == 0x01) sb.Append("0 "); @@ -226,15 +226,15 @@ public static partial class Modes switch(page.OutputPort2Volume) { case 0: - sb.AppendLine("muted"); + sb.AppendLine(Localization.muted); break; case 0xFF: - sb.AppendLine("at maximum volume"); + sb.AppendLine(Localization.at_maximum_volume); break; default: - sb.AppendFormat("at volume {0}", page.OutputPort2Volume).AppendLine(); + sb.AppendFormat(Localization.at_volume_0, page.OutputPort2Volume).AppendLine(); break; } @@ -243,7 +243,7 @@ public static partial class Modes if(page.OutputPort3ChannelSelection <= 0) return sb.ToString(); - sb.Append("\tOutput port 3 has channels "); + sb.Append("\t" + Localization.Output_port_3_has_channels); if((page.OutputPort3ChannelSelection & 0x01) == 0x01) sb.Append("0 "); @@ -260,15 +260,15 @@ public static partial class Modes switch(page.OutputPort3Volume) { case 0: - sb.AppendLine("muted"); + sb.AppendLine(Localization.muted); break; case 0xFF: - sb.AppendLine("at maximum volume"); + sb.AppendLine(Localization.at_maximum_volume); break; default: - sb.AppendFormat("at volume {0}", page.OutputPort3Volume).AppendLine(); + sb.AppendFormat(Localization.at_volume_0, page.OutputPort3Volume).AppendLine(); break; } diff --git a/SCSI/Modes/0F.cs b/SCSI/Modes/0F.cs index 5e9af2511..4b4efd537 100644 --- a/SCSI/Modes/0F.cs +++ b/SCSI/Modes/0F.cs @@ -102,47 +102,47 @@ public static partial class Modes ModePage_0F page = modePage.Value; var sb = new StringBuilder(); - sb.AppendLine("SCSI Data compression page:"); + sb.AppendLine(Localization.SCSI_Data_compression_page); if(page.PS) - sb.AppendLine("\tParameters can be saved"); + sb.AppendLine("\t" + Localization.Parameters_can_be_saved); if(page.DCC) { - sb.AppendLine("\tDrive supports data compression"); + sb.AppendLine("\t" + Localization.Drive_supports_data_compression); if(page.DCE) { - sb.Append("\tData compression is enabled with "); + sb.Append("\t" + Localization.Data_compression_is_enabled_with); switch(page.CompressionAlgo) { case 3: - sb.AppendLine("IBM ALDC with 512 byte buffer"); + sb.AppendLine(Localization.IBM_ALDC_with_512_byte_buffer); break; case 4: - sb.AppendLine("IBM ALDC with 1024 byte buffer"); + sb.AppendLine(Localization.IBM_ALDC_with_1024_byte_buffer); break; case 5: - sb.AppendLine("IBM ALDC with 2048 byte buffer"); + sb.AppendLine(Localization.IBM_ALDC_with_2048_byte_buffer); break; case 0x10: - sb.AppendLine("IBM IDRC"); + sb.AppendLine(Localization.IBM_IDRC); break; case 0x20: - sb.AppendLine("DCLZ"); + sb.AppendLine(Localization.DCLZ); break; case 0xFF: - sb.AppendLine("an unregistered compression algorithm"); + sb.AppendLine(Localization.an_unregistered_compression_algorithm); break; default: - sb.AppendFormat("an unknown algorithm coded {0}", page.CompressionAlgo).AppendLine(); + sb.AppendFormat(Localization.an_unknown_algorithm_coded_0, page.CompressionAlgo).AppendLine(); break; } @@ -150,52 +150,53 @@ public static partial class Modes if(page.DDE) { - sb.AppendLine("\tData decompression is enabled"); + sb.AppendLine("\t" + Localization.Data_decompression_is_enabled); if(page.DecompressionAlgo == 0) - sb.AppendLine("\tLast data read was uncompressed"); + sb.AppendLine("\t" + Localization.Last_data_read_was_uncompressed); else { - sb.Append("\tLast data read was compressed with "); + sb.Append("\t" + Localization.Last_data_read_was_compressed_with_); switch(page.CompressionAlgo) { case 3: - sb.AppendLine("IBM ALDC with 512 byte buffer"); + sb.AppendLine(Localization.IBM_ALDC_with_512_byte_buffer); break; case 4: - sb.AppendLine("IBM ALDC with 1024 byte buffer"); + sb.AppendLine(Localization.IBM_ALDC_with_1024_byte_buffer); break; case 5: - sb.AppendLine("IBM ALDC with 2048 byte buffer"); + sb.AppendLine(Localization.IBM_ALDC_with_2048_byte_buffer); break; case 0x10: - sb.AppendLine("IBM IDRC"); + sb.AppendLine(Localization.IBM_IDRC); break; case 0x20: - sb.AppendLine("DCLZ"); + sb.AppendLine(Localization.DCLZ); break; case 0xFF: - sb.AppendLine("an unregistered compression algorithm"); + sb.AppendLine(Localization.an_unregistered_compression_algorithm); break; default: - sb.AppendFormat("an unknown algorithm coded {0}", page.CompressionAlgo).AppendLine(); + sb.AppendFormat(Localization.an_unknown_algorithm_coded_0, page.CompressionAlgo). + AppendLine(); break; } } } - sb.AppendFormat("\tReport exception on compression is set to {0}", page.RED).AppendLine(); + sb.AppendFormat("\t" + Localization.Report_exception_on_compression_is_set_to_0, page.RED).AppendLine(); } else - sb.AppendLine("\tDrive does not support data compression"); + sb.AppendLine("\t" + Localization.Drive_does_not_support_data_compression); return sb.ToString(); } diff --git a/SCSI/Modes/10.cs b/SCSI/Modes/10.cs index b45c7b8f3..9f969eacc 100644 --- a/SCSI/Modes/10.cs +++ b/SCSI/Modes/10.cs @@ -102,29 +102,30 @@ public static partial class Modes ModePage_10 page = modePage.Value; var sb = new StringBuilder(); - sb.AppendLine("SCSI XOR control mode page:"); + sb.AppendLine(Localization.SCSI_XOR_control_mode_page); if(page.PS) - sb.AppendLine("\tParameters can be saved"); + sb.AppendLine("\t" + Localization.Parameters_can_be_saved); if(page.XORDIS) - sb.AppendLine("\tXOR operations are disabled"); + sb.AppendLine("\t" + Localization.XOR_operations_are_disabled); else { if(page.MaxXorWrite > 0) - sb.AppendFormat("\tDrive accepts a maximum of {0} blocks in a single XOR WRITE command", + sb.AppendFormat("\t" + Localization.Drive_accepts_a_maximum_of_0_blocks_in_a_single_XOR_WRITE_command, page.MaxXorWrite).AppendLine(); if(page.MaxRegenSize > 0) - sb.AppendFormat("\tDrive accepts a maximum of {0} blocks in a REGENERATE command", page.MaxRegenSize). - AppendLine(); + sb.AppendFormat("\t" + Localization.Drive_accepts_a_maximum_of_0_blocks_in_a_REGENERATE_command, + page.MaxRegenSize).AppendLine(); if(page.MaxRebuildRead > 0) - sb.AppendFormat("\tDrive accepts a maximum of {0} blocks in a READ command during rebuild", - page.MaxRebuildRead).AppendLine(); + sb. + AppendFormat("\t" + Localization.Drive_accepts_a_maximum_of_0_blocks_in_a_READ_command_during_rebuild, + page.MaxRebuildRead).AppendLine(); if(page.RebuildDelay > 0) - sb.AppendFormat("\tDrive needs a minimum of {0} ms between READ commands during rebuild", + sb.AppendFormat("\t" + Localization.Drive_needs_a_minimum_of_0_ms_between_READ_commands_during_rebuild, page.RebuildDelay).AppendLine(); } diff --git a/SCSI/Modes/10_SSC.cs b/SCSI/Modes/10_SSC.cs index d65f45895..a53ac615c 100644 --- a/SCSI/Modes/10_SSC.cs +++ b/SCSI/Modes/10_SSC.cs @@ -170,71 +170,72 @@ public static partial class Modes ModePage_10_SSC page = modePage.Value; var sb = new StringBuilder(); - sb.AppendLine("SCSI Device configuration page:"); + sb.AppendLine(Localization.SCSI_Device_configuration_page); if(page.PS) - sb.AppendLine("\tParameters can be saved"); + sb.AppendLine("\t" + Localization.Parameters_can_be_saved); - sb.AppendFormat("\tActive format: {0}", page.ActiveFormat).AppendLine(); - sb.AppendFormat("\tActive partition: {0}", page.ActivePartition).AppendLine(); + sb.AppendFormat("\t" + Localization.Active_format_0, page.ActiveFormat).AppendLine(); + sb.AppendFormat("\t" + Localization.Active_partition_0, page.ActivePartition).AppendLine(); - sb.AppendFormat("\tWrite buffer shall have a full ratio of {0} before being flushed to medium", + sb.AppendFormat("\t" + Localization.Write_buffer_shall_have_a_full_ratio_of_0_before_being_flushed_to_medium, page.WriteBufferFullRatio).AppendLine(); - sb.AppendFormat("\tRead buffer shall have an empty ratio of {0} before more data is read from medium", - page.ReadBufferEmptyRatio).AppendLine(); + sb. + AppendFormat("\t" + Localization.Read_buffer_shall_have_an_empty_ratio_of_0_before_more_data_is_read_from_medium, + page.ReadBufferEmptyRatio).AppendLine(); sb. - AppendFormat("\tDrive will delay {0} ms before buffered data is forcefully written to the medium even before buffer is full", + AppendFormat("\t" + Localization.Drive_will_delay_0_ms_before_buffered_data_is_forcefully_written_to_the_medium_even_before_buffer_is_full, page.WriteDelayTime * 100).AppendLine(); if(page.DBR) { - sb.AppendLine("\tDrive supports recovering data from buffer"); + sb.AppendLine("\t" + Localization.Drive_supports_recovering_data_from_buffer); - sb.AppendLine(page.RBO ? "\tRecovered buffer data comes in LIFO order" - : "\tRecovered buffer data comes in FIFO order"); + sb.AppendLine(page.RBO ? "\t" + Localization.Recovered_buffer_data_comes_in_LIFO_order + : "\t" + Localization.Recovered_buffer_data_comes_in_FIFO_order); } if(page.BIS) - sb.AppendLine("\tMedium supports block IDs"); + sb.AppendLine("\t" + Localization.Medium_supports_block_IDs); if(page.RSmk) - sb.AppendLine("\tDrive reports setmarks"); + sb.AppendLine("\t" + Localization.Drive_reports_setmarks); switch(page.SOCF) { case 0: - sb.AppendLine("\tDrive will pre-read until buffer is full"); + sb.AppendLine("\t" + Localization.Drive_will_pre_read_until_buffer_is_full); break; case 1: - sb.AppendLine("\tDrive will pre-read until one filemark is detected"); + sb.AppendLine("\t" + Localization.Drive_will_pre_read_until_one_filemark_is_detected); break; case 2: - sb.AppendLine("\tDrive will pre-read until two filemark is detected"); + sb.AppendLine("\t" + Localization.Drive_will_pre_read_until_two_filemark_is_detected); break; case 3: - sb.AppendLine("\tDrive will pre-read until three filemark is detected"); + sb.AppendLine("\t" + Localization.Drive_will_pre_read_until_three_filemark_is_detected); break; } if(page.REW) { - sb.AppendLine("\tDrive reports early warnings"); + sb.AppendLine("\t" + Localization.Drive_reports_early_warnings); if(page.SEW) - sb.AppendLine("\tDrive will synchronize buffer to medium on early warnings"); + sb.AppendLine("\t" + Localization.Drive_will_synchronize_buffer_to_medium_on_early_warnings); } switch(page.GapSize) { case 0: break; case 1: - sb.AppendLine("\tInter-block gap is long enough to support update in place"); + sb.AppendLine("\t" + Localization.Inter_block_gap_is_long_enough_to_support_update_in_place); break; case 2: @@ -251,59 +252,60 @@ public static partial class Modes case 13: case 14: case 15: - sb.AppendFormat("\tInter-block gap is {0} times the device's defined gap size", page.GapSize). - AppendLine(); + sb.AppendFormat("\t" + Localization.Inter_block_gap_is_0_times_the_device_defined_gap_size, + page.GapSize).AppendLine(); break; default: - sb.AppendFormat("\tInter-block gap is unknown value {0}", page.GapSize).AppendLine(); + sb.AppendFormat("\t" + Localization.Inter_block_gap_is_unknown_value_0, page.GapSize).AppendLine(); break; } if(page.EEG) - sb.AppendLine("\tDrive generates end-of-data"); + sb.AppendLine("\t" + Localization.Drive_generates_end_of_data); switch(page.SelectedCompression) { case 0: - sb.AppendLine("\tDrive does not use compression"); + sb.AppendLine("\t" + Localization.Drive_does_not_use_compression); break; case 1: - sb.AppendLine("\tDrive uses default compression"); + sb.AppendLine("\t" + Localization.Drive_uses_default_compression); break; default: - sb.AppendFormat("\tDrive uses unknown compression {0}", page.SelectedCompression).AppendLine(); + sb.AppendFormat("\t" + Localization.Drive_uses_unknown_compression_0, page.SelectedCompression). + AppendLine(); break; } if(page.SWP) - sb.AppendLine("\tSoftware write protect is enabled"); + sb.AppendLine("\t" + Localization.Software_write_protect_is_enabled); if(page.ASOCWP) - sb.AppendLine("\tAssociated write protect is enabled"); + sb.AppendLine("\t" + Localization.Associated_write_protect_is_enabled); if(page.PERSWP) - sb.AppendLine("\tPersistent write protect is enabled"); + sb.AppendLine("\t" + Localization.Persistent_write_protect_is_enabled); if(page.PRMWP) - sb.AppendLine("\tPermanent write protect is enabled"); + sb.AppendLine("\t" + Localization.Permanent_write_protect_is_enabled); if(page.BAML) - sb.AppendLine(page.BAM ? "\tDrive operates using explicit address mode" - : "\tDrive operates using implicit address mode"); + sb.AppendLine(page.BAM ? "\t" + Localization.Drive_operates_using_explicit_address_mode + : "\t" + Localization.Drive_operates_using_implicit_address_mode); switch(page.RewindOnReset) { case 1: - sb.AppendLine("\tDrive shall position to beginning of default data partition on reset"); + sb.AppendLine("\t" + Localization.Drive_shall_position_to_beginning_of_default_data_partition_on_reset); break; case 2: - sb.AppendLine("\tDrive shall maintain its position on reset"); + sb.AppendLine("\t" + Localization.Drive_shall_maintain_its_position_on_reset); break; } @@ -311,17 +313,17 @@ public static partial class Modes switch(page.WTRE) { case 1: - sb.AppendLine("\tDrive will do nothing on WORM tampered medium"); + sb.AppendLine("\t" + Localization.Drive_will_do_nothing_on_WORM_tampered_medium); break; case 2: - sb.AppendLine("\tDrive will return CHECK CONDITION on WORM tampered medium"); + sb.AppendLine("\t" + Localization.Drive_will_return_CHECK_CONDITION_on_WORM_tampered_medium); break; } if(page.OIR) - sb.AppendLine("\tDrive will only respond to commands if it has received a reservation"); + sb.AppendLine("\t" + Localization.Drive_will_only_respond_to_commands_if_it_has_received_a_reservation); return sb.ToString(); } diff --git a/SCSI/Modes/11.cs b/SCSI/Modes/11.cs index 57cb5122e..73d36b135 100644 --- a/SCSI/Modes/11.cs +++ b/SCSI/Modes/11.cs @@ -143,42 +143,49 @@ public static partial class Modes ModePage_11 page = modePage.Value; var sb = new StringBuilder(); - sb.AppendLine("SCSI medium partition page:"); + sb.AppendLine(Localization.SCSI_medium_partition_page); if(page.PS) - sb.AppendLine("\tParameters can be saved"); + sb.AppendLine("\t" + Localization.Parameters_can_be_saved); - sb.AppendFormat("\t{0} maximum additional partitions", page.MaxAdditionalPartitions).AppendLine(); - sb.AppendFormat("\t{0} additional partitions defined", page.AdditionalPartitionsDefined).AppendLine(); + sb.AppendFormat("\t" + Localization._0_maximum_additional_partitions, page.MaxAdditionalPartitions). + AppendLine(); + + sb.AppendFormat("\t" + Localization._0_additional_partitions_defined, page.AdditionalPartitionsDefined). + AppendLine(); if(page.FDP) - sb.AppendLine("\tPartitions are fixed under device definitions"); + sb.AppendLine("\t" + Localization.Partitions_are_fixed_under_device_definitions); if(page.SDP) - sb.AppendLine("\tNumber of partitions can be defined but their size is defined by the device"); + sb.AppendLine("\t" + Localization. + Number_of_partitions_can_be_defined_but_their_size_is_defined_by_the_device); if(page.IDP) - sb.AppendLine("\tNumber and size of partitions can be manually defined"); + sb.AppendLine("\t" + Localization.Number_and_size_of_partitions_can_be_manually_defined); if(page.POFM) - sb.AppendLine("\tPartition parameters will not be applied until a FORMAT MEDIUM command is received"); + sb.AppendLine("\t" + Localization. + Partition_parameters_will_not_be_applied_until_a_FORMAT_MEDIUM_command_is_received); switch(page.CLEAR) { case false when !page.ADDP: - sb.AppendLine("\tDevice may erase any or all partitions on MODE SELECT for partitioning"); + sb.AppendLine("\t" + Localization. + Device_may_erase_any_or_all_partitions_on_MODE_SELECT_for_partitioning); break; case true when !page.ADDP: - sb.AppendLine("\tDevice shall erase all partitions on MODE SELECT for partitioning"); + sb.AppendLine("\t" + Localization.Device_shall_erase_all_partitions_on_MODE_SELECT_for_partitioning); break; case false: - sb.AppendLine("\tDevice shall not erase any partition on MODE SELECT for partitioning"); + sb.AppendLine("\t" + Localization.Device_shall_not_erase_any_partition_on_MODE_SELECT_for_partitioning); break; default: - sb.AppendLine("\tDevice shall erase all partitions differing on size on MODE SELECT for partitioning"); + sb.AppendLine("\t" + Localization. + Device_shall_erase_all_partitions_differing_on_size_on_MODE_SELECT_for_partitioning); break; } @@ -188,30 +195,30 @@ public static partial class Modes switch(page.PSUM) { case PartitionSizeUnitOfMeasures.Bytes: - sb.AppendLine("\tPartitions are defined in bytes"); - measure = "bytes"; + sb.AppendLine("\t" + Localization.Partitions_are_defined_in_bytes); + measure = Localization.bytes; break; case PartitionSizeUnitOfMeasures.Kilobytes: - sb.AppendLine("\tPartitions are defined in kilobytes"); - measure = "kilobytes"; + sb.AppendLine("\t" + Localization.Partitions_are_defined_in_kilobytes); + measure = Localization.kilobytes; break; case PartitionSizeUnitOfMeasures.Megabytes: - sb.AppendLine("\tPartitions are defined in megabytes"); - measure = "megabytes"; + sb.AppendLine("\t" + Localization.Partitions_are_defined_in_megabytes); + measure = Localization.megabytes; break; case PartitionSizeUnitOfMeasures.Exponential: - sb.AppendFormat("\tPartitions are defined in units of {0} bytes", Math.Pow(10, page.PartitionUnits)). - AppendLine(); + sb.AppendFormat("\t" + Localization.Partitions_are_defined_in_units_of_0_bytes, + Math.Pow(10, page.PartitionUnits)).AppendLine(); - measure = $"units of {Math.Pow(10, page.PartitionUnits)} bytes"; + measure = string.Format(Localization.units_of_0_bytes, Math.Pow(10, page.PartitionUnits)); break; default: - sb.AppendFormat("\tUnknown partition size unit code {0}", (byte)page.PSUM).AppendLine(); - measure = "units"; + sb.AppendFormat("\t" + Localization.Unknown_partition_size_unit_code_0, (byte)page.PSUM).AppendLine(); + measure = Localization.units; break; } @@ -219,38 +226,40 @@ public static partial class Modes switch(page.MediumFormatRecognition) { case MediumFormatRecognitionValues.Capable: - sb.AppendLine("\tDevice is capable of recognizing both medium partitions and format"); + sb.AppendLine("\t" + Localization.Device_is_capable_of_recognizing_both_medium_partitions_and_format); break; case MediumFormatRecognitionValues.FormatCapable: - sb.AppendLine("\tDevice is capable of recognizing medium format"); + sb.AppendLine("\t" + Localization.Device_is_capable_of_recognizing_medium_format); break; case MediumFormatRecognitionValues.PartitionCapable: - sb.AppendLine("\tDevice is capable of recognizing medium partitions"); + sb.AppendLine("\t" + Localization.Device_is_capable_of_recognizing_medium_partitions); break; case MediumFormatRecognitionValues.Incapable: - sb.AppendLine("\tDevice is not capable of recognizing neither medium partitions nor format"); + sb.AppendLine("\t" + Localization. + Device_is_not_capable_of_recognizing_neither_medium_partitions_nor_format); break; default: - sb.AppendFormat("\tUnknown medium recognition code {0}", (byte)page.MediumFormatRecognition). - AppendLine(); + sb.AppendFormat("\t" + Localization.Unknown_medium_recognition_code_0, + (byte)page.MediumFormatRecognition).AppendLine(); break; } - sb.AppendFormat("\tMedium has defined {0} partitions", page.PartitionSizes.Length).AppendLine(); + sb.AppendFormat("\t" + Localization.Medium_has_defined_0_partitions, page.PartitionSizes.Length).AppendLine(); for(int i = 0; i < page.PartitionSizes.Length; i++) if(page.PartitionSizes[i] == 0) if(page.PartitionSizes.Length == 1) - sb.AppendLine("\tDevice recognizes one single partition spanning whole medium"); + sb.AppendLine("\t" + Localization.Device_recognizes_one_single_partition_spanning_whole_medium); else - sb.AppendFormat("\tPartition {0} runs for rest of medium", i).AppendLine(); + sb.AppendFormat("\t" + Localization.Partition_0_runs_for_rest_of_medium, i).AppendLine(); else - sb.AppendFormat("\tPartition {0} is {1} {2} long", i, page.PartitionSizes[i], measure).AppendLine(); + sb.AppendFormat("\t" + Localization.Partition_0_is_1_2_long, i, page.PartitionSizes[i], measure). + AppendLine(); return sb.ToString(); } diff --git a/SCSI/Modes/12_13_14.cs b/SCSI/Modes/12_13_14.cs index 9565bbc66..ce91a38dc 100644 --- a/SCSI/Modes/12_13_14.cs +++ b/SCSI/Modes/12_13_14.cs @@ -94,15 +94,15 @@ public static partial class Modes ModePage_12_13_14 page = modePage.Value; var sb = new StringBuilder(); - sb.AppendLine("SCSI medium partition page (extra):"); + sb.AppendLine(Localization.SCSI_medium_partition_page_extra); if(page.PS) - sb.AppendLine("\tParameters can be saved"); + sb.AppendLine("\t" + Localization.Parameters_can_be_saved); - sb.AppendFormat("\tMedium has defined {0} partitions", page.PartitionSizes.Length).AppendLine(); + sb.AppendFormat("\t" + Localization.Medium_has_defined_0_partitions, page.PartitionSizes.Length).AppendLine(); for(int i = 0; i < page.PartitionSizes.Length; i++) - sb.AppendFormat("\tPartition {0} is {1} units long", i, page.PartitionSizes[i]).AppendLine(); + sb.AppendFormat("\t" + Localization.Partition_0_is_1_units_long, i, page.PartitionSizes[i]).AppendLine(); return sb.ToString(); } diff --git a/SCSI/Modes/1A.cs b/SCSI/Modes/1A.cs index 44fbea0fc..6e02eff3e 100644 --- a/SCSI/Modes/1A.cs +++ b/SCSI/Modes/1A.cs @@ -138,45 +138,47 @@ public static partial class Modes sb.AppendLine("SCSI Power condition page:"); if(page.PS) - sb.AppendLine("\tParameters can be saved"); + sb.AppendLine("\t" + Localization.Parameters_can_be_saved); if(page is { Standby : true, StandbyTimer : > 0 } || page is { Standby_Y: true, StandbyTimer_Y: > 0 }) { if(page is { Standby: true, StandbyTimer: > 0 }) - sb.AppendFormat("\tStandby timer Z is set to {0} ms", page.StandbyTimer * 100).AppendLine(); + sb.AppendFormat("\t" + "Standby timer Z is set to {0} ms", page.StandbyTimer * 100).AppendLine(); if(page is { Standby_Y: true, StandbyTimer_Y: > 0 }) - sb.AppendFormat("\tStandby timer Y is set to {0} ms", page.StandbyTimer_Y * 100).AppendLine(); + sb.AppendFormat("\t" + "Standby timer Y is set to {0} ms", page.StandbyTimer_Y * 100).AppendLine(); } else - sb.AppendLine("\tDrive will not enter standby mode"); + sb.AppendLine("\t" + "Drive will not enter standby mode"); if(page is { Idle : true, IdleTimer : > 0 } || page is { Idle_B: true, IdleTimer_B: > 0 } || page is { Idle_C: true, IdleTimer_C: > 0 }) { if(page is { Idle: true, IdleTimer: > 0 }) - sb.AppendFormat("\tIdle timer A is set to {0} ms", page.IdleTimer * 100).AppendLine(); + sb.AppendFormat("\t" + "Idle timer A is set to {0} ms", page.IdleTimer * 100).AppendLine(); if(page is { Idle_B: true, IdleTimer_B: > 0 }) - sb.AppendFormat("\tIdle timer B is set to {0} ms", page.IdleTimer_B * 100).AppendLine(); + sb.AppendFormat("\t" + "Idle timer B is set to {0} ms", page.IdleTimer_B * 100).AppendLine(); if(page is { Idle_C: true, IdleTimer_C: > 0 }) - sb.AppendFormat("\tIdle timer C is set to {0} ms", page.IdleTimer_C * 100).AppendLine(); + sb.AppendFormat("\t" + "Idle timer C is set to {0} ms", page.IdleTimer_C * 100).AppendLine(); } else - sb.AppendLine("\tDrive will not enter idle mode"); + sb.AppendLine("\t" + "Drive will not enter idle mode"); switch(page.PM_BG_Precedence) { case 0: break; case 1: - sb.AppendLine("\tPerforming background functions take precedence over maintaining low power conditions"); + sb.AppendLine("\t" + + "Performing background functions take precedence over maintaining low power conditions"); break; case 2: - sb.AppendLine("\tMaintaining low power conditions take precedence over performing background functions"); + sb.AppendLine("\t" + + "Maintaining low power conditions take precedence over performing background functions"); break; } @@ -234,28 +236,29 @@ public static partial class Modes ModePage_1A_S01 page = modePage.Value; var sb = new StringBuilder(); - sb.AppendLine("SCSI Power Consumption page:"); + sb.AppendLine(Localization.SCSI_Power_Consumption_page); if(page.PS) - sb.AppendLine("\tParameters can be saved"); + sb.AppendLine("\t" + Localization.Parameters_can_be_saved); switch(page.ActiveLevel) { case 0: - sb.AppendFormat("\tDevice power consumption is dictated by identifier {0} of Power Consumption VPD", - page.PowerConsumptionIdentifier).AppendLine(); + sb. + AppendFormat("\t" + Localization.Device_power_consumption_is_dictated_by_identifier_0_of_Power_Consumption_VPD, + page.PowerConsumptionIdentifier).AppendLine(); break; case 1: - sb.AppendLine("\tDevice is in highest relative power consumption level"); + sb.AppendLine("\t" + Localization.Device_is_in_highest_relative_power_consumption_level); break; case 2: - sb.AppendLine("\tDevice is in intermediate relative power consumption level"); + sb.AppendLine("\t" + Localization.Device_is_in_intermediate_relative_power_consumption_level); break; case 3: - sb.AppendLine("\tDevice is in lowest relative power consumption level"); + sb.AppendLine("\t" + Localization.Device_is_in_lowest_relative_power_consumption_level); break; } diff --git a/SCSI/Modes/1B.cs b/SCSI/Modes/1B.cs index 29cd752ee..b99560040 100644 --- a/SCSI/Modes/1B.cs +++ b/SCSI/Modes/1B.cs @@ -95,25 +95,25 @@ public static partial class Modes ModePage_1B page = modePage.Value; var sb = new StringBuilder(); - sb.AppendLine("SCSI Removable Block Access Capabilities page:"); + sb.AppendLine(Localization.SCSI_Removable_Block_Access_Capabilities_page); if(page.PS) - sb.AppendLine("\tParameters can be saved"); + sb.AppendLine("\t" + Localization.Parameters_can_be_saved); if(page.SFLP) - sb.AppendLine("\tDrive can be used as a system floppy device"); + sb.AppendLine("\t" + Localization.Drive_can_be_used_as_a_system_floppy_device); if(page.SRFP) - sb.AppendLine("\tDrive supports reporting progress of format"); + sb.AppendLine("\t" + Localization.Drive_supports_reporting_progress_of_format); if(page.NCD) - sb.AppendLine("\tDrive is a Non-CD Optical Device"); + sb.AppendLine("\t" + Localization.Drive_is_a_Non_CD_Optical_Device); if(page.SML) - sb.AppendLine("\tDevice is a dual device supporting CD and Non-CD Optical"); + sb.AppendLine("\t" + Localization.Device_is_a_dual_device_supporting_CD_and_Non_CD_Optical); if(page.TLUN > 0) - sb.AppendFormat("\tDrive supports {0} LUNs", page.TLUN).AppendLine(); + sb.AppendFormat("\t" + Localization.Drive_supports_0_LUNs, page.TLUN).AppendLine(); return sb.ToString(); } diff --git a/SCSI/Modes/1C.cs b/SCSI/Modes/1C.cs index 86104b0db..8984678dd 100644 --- a/SCSI/Modes/1C.cs +++ b/SCSI/Modes/1C.cs @@ -120,81 +120,84 @@ public static partial class Modes ModePage_1C page = modePage.Value; var sb = new StringBuilder(); - sb.AppendLine("SCSI Informational exceptions control page:"); + sb.AppendLine(Localization.SCSI_Informational_exceptions_control_page); if(page.PS) - sb.AppendLine("\tParameters can be saved"); + sb.AppendLine("\t" + Localization.Parameters_can_be_saved); if(page.DExcpt) - sb.AppendLine("\tInformational exceptions are disabled"); + sb.AppendLine("\t" + Localization.Informational_exceptions_are_disabled); else { - sb.AppendLine("\tInformational exceptions are enabled"); + sb.AppendLine("\t" + Localization.Informational_exceptions_are_enabled); switch(page.MRIE) { case 0: - sb.AppendLine("\tNo reporting of informational exception condition"); + sb.AppendLine("\t" + Localization.No_reporting_of_informational_exception_condition); break; case 1: - sb.AppendLine("\tAsynchronous event reporting of informational exceptions"); + sb.AppendLine("\t" + Localization.Asynchronous_event_reporting_of_informational_exceptions); break; case 2: - sb.AppendLine("\tGenerate unit attention on informational exceptions"); + sb.AppendLine("\t" + Localization.Generate_unit_attention_on_informational_exceptions); break; case 3: - sb.AppendLine("\tConditionally generate recovered error on informational exceptions"); + sb.AppendLine("\t" + Localization. + Conditionally_generate_recovered_error_on_informational_exceptions); break; case 4: - sb.AppendLine("\tUnconditionally generate recovered error on informational exceptions"); + sb.AppendLine("\t" + Localization. + Unconditionally_generate_recovered_error_on_informational_exceptions); break; case 5: - sb.AppendLine("\tGenerate no sense on informational exceptions"); + sb.AppendLine("\t" + Localization.Generate_no_sense_on_informational_exceptions); break; case 6: - sb.AppendLine("\tOnly report informational exception condition on request"); + sb.AppendLine("\t" + Localization.Only_report_informational_exception_condition_on_request); break; default: - sb.AppendFormat("\tUnknown method of reporting {0}", page.MRIE).AppendLine(); + sb.AppendFormat("\t" + Localization.Unknown_method_of_reporting_0, page.MRIE).AppendLine(); break; } if(page.Perf) - sb.AppendLine("\tInformational exceptions reporting should not affect drive performance"); + sb.AppendLine("\t" + Localization. + Informational_exceptions_reporting_should_not_affect_drive_performance); if(page.Test) - sb.AppendLine("\tA test informational exception will raise on next timer"); + sb.AppendLine("\t" + Localization.A_test_informational_exception_will_raise_on_next_timer); if(page.LogErr) - sb.AppendLine("\tDrive shall log informational exception conditions"); + sb.AppendLine("\t" + Localization.Drive_shall_log_informational_exception_conditions); if(page.IntervalTimer > 0) if(page.IntervalTimer == 0xFFFFFFFF) - sb.AppendLine("\tTimer interval is vendor-specific"); + sb.AppendLine("\t" + Localization.Timer_interval_is_vendor_specific); else - sb.AppendFormat("\tTimer interval is {0} ms", page.IntervalTimer * 100).AppendLine(); + sb.AppendFormat("\t" + Localization.Timer_interval_is_0_ms, page.IntervalTimer * 100).AppendLine(); if(page.ReportCount > 0) - sb.AppendFormat("\tInformational exception conditions will be reported a maximum of {0} times", + sb.AppendFormat("\t" + Localization.Informational_exception_conditions_will_be_reported_a_maximum_of_0_times, page.ReportCount); } if(page.EWasc) - sb.AppendLine("\tWarning reporting is enabled"); + sb.AppendLine("\t" + Localization.Warning_reporting_is_enabled); if(page.EBF) - sb.AppendLine("\tBackground functions are enabled"); + sb.AppendLine("\t" + Localization.Background_functions_are_enabled); if(page.EBACKERR) - sb.AppendLine("\tDrive will report background self-test errors"); + sb.AppendLine("\t" + Localization.Drive_will_report_background_self_test_errors); return sb.ToString(); } @@ -269,38 +272,40 @@ public static partial class Modes ModePage_1C_S01 page = modePage.Value; var sb = new StringBuilder(); - sb.AppendLine("SCSI Background Control page:"); + sb.AppendLine(Localization.SCSI_Background_Control_page); if(page.PS) - sb.AppendLine("\tParameters can be saved"); + sb.AppendLine("\t" + Localization.Parameters_can_be_saved); if(page.S_L_Full) - sb.AppendLine("\tBackground scans will be halted if log is full"); + sb.AppendLine("\t" + Localization.Background_scans_will_be_halted_if_log_is_full); if(page.LOWIR) - sb.AppendLine("\tBackground scans will only be logged if they require intervention"); + sb.AppendLine("\t" + Localization.Background_scans_will_only_be_logged_if_they_require_intervention); if(page.En_Bms) - sb.AppendLine("\tBackground medium scans are enabled"); + sb.AppendLine("\t" + Localization.Background_medium_scans_are_enabled); if(page.En_Ps) - sb.AppendLine("\tBackground pre-scans are enabled"); + sb.AppendLine("\t" + Localization.Background_pre_scans_are_enabled); if(page.BackgroundScanInterval > 0) - sb.AppendFormat("\t{0} hours shall be between the start of a background scan operation and the next", - page.BackgroundScanInterval).AppendLine(); + sb. + AppendFormat("\t" + Localization._0__hours_shall_be_between_the_start_of_a_background_scan_operation_and_the_next, + page.BackgroundScanInterval).AppendLine(); if(page.BackgroundPrescanTimeLimit > 0) - sb.AppendFormat("\tBackground pre-scan operations can take a maximum of {0} hours", + sb.AppendFormat("\t" + Localization.Background_pre_scan_operations_can_take_a_maximum_of_0_hours, page.BackgroundPrescanTimeLimit).AppendLine(); if(page.MinIdleBeforeBgScan > 0) - sb.AppendFormat("\tAt least {0} ms must be idle before resuming a suspended background scan operation", - page.MinIdleBeforeBgScan).AppendLine(); + sb. + AppendFormat("\t" + Localization.At_least_0_ms_must_be_idle_before_resuming_a_suspended_background_scan_operation, + page.MinIdleBeforeBgScan).AppendLine(); if(page.MaxTimeSuspendBgScan > 0) sb. - AppendFormat("\tAt most {0} ms must be before suspending a background scan operation and processing received commands", + AppendFormat("\t" + Localization.At_most_0_ms_must_be_before_suspending_a_background_scan_operation_and_processing_received_commands, page.MaxTimeSuspendBgScan).AppendLine(); return sb.ToString(); diff --git a/SCSI/Modes/1C_SFF.cs b/SCSI/Modes/1C_SFF.cs index bb410a53f..b27f8f92c 100644 --- a/SCSI/Modes/1C_SFF.cs +++ b/SCSI/Modes/1C_SFF.cs @@ -89,81 +89,97 @@ public static partial class Modes ModePage_1C_SFF page = modePage.Value; var sb = new StringBuilder(); - sb.AppendLine("SCSI Timer & Protect page:"); + sb.AppendLine(Localization.SCSI_Timer_Protect_page); if(page.PS) - sb.AppendLine("\tParameters can be saved"); + sb.AppendLine("\t" + Localization.Parameters_can_be_saved); if(page.DISP) - sb.AppendLine("\tDrive is disabled until power is cycled"); + sb.AppendLine("\t" + Localization.Drive_is_disabled_until_power_is_cycled); if(page.SWPP) - sb.AppendLine("\tDrive is software write-protected until powered down"); + sb.AppendLine("\t" + Localization.Drive_is_software_write_protected_until_powered_down); switch(page.InactivityTimeMultiplier) { case 0: - sb.AppendLine("\tDrive will remain in same status a vendor-specified time after a seek, read or write operation"); + sb.AppendLine("\t" + Localization. + Drive_will_remain_in_same_status_a_vendor_specified_time_after_a_seek_read_or_write_operation); break; case 1: - sb.AppendLine("\tDrive will remain in same status 125 ms after a seek, read or write operation"); + sb.AppendLine("\t" + Localization. + Drive_will_remain_in_same_status_125_ms_after_a_seek_read_or_write_operation); break; case 2: - sb.AppendLine("\tDrive will remain in same status 250 ms after a seek, read or write operation"); + sb.AppendLine("\t" + Localization. + Drive_will_remain_in_same_status_250_ms_after_a_seek_read_or_write_operation); break; case 3: - sb.AppendLine("\tDrive will remain in same status 500 ms after a seek, read or write operation"); + sb.AppendLine("\t" + Localization. + Drive_will_remain_in_same_status_500_ms_after_a_seek_read_or_write_operation); break; case 4: - sb.AppendLine("\tDrive will remain in same status 1 second after a seek, read or write operation"); + sb.AppendLine("\t" + Localization. + Drive_will_remain_in_same_status_1_second_after_a_seek_read_or_write_operation); break; case 5: - sb.AppendLine("\tDrive will remain in same status 2 seconds after a seek, read or write operation"); + sb.AppendLine("\t" + Localization. + Drive_will_remain_in_same_status_2_seconds_after_a_seek_read_or_write_operation); break; case 6: - sb.AppendLine("\tDrive will remain in same status 4 seconds after a seek, read or write operation"); + sb.AppendLine("\t" + Localization. + Drive_will_remain_in_same_status_4_seconds_after_a_seek_read_or_write_operation); break; case 7: - sb.AppendLine("\tDrive will remain in same status 8 seconds after a seek, read or write operation"); + sb.AppendLine("\t" + Localization. + Drive_will_remain_in_same_status_8_seconds_after_a_seek_read_or_write_operation); break; case 8: - sb.AppendLine("\tDrive will remain in same status 16 seconds after a seek, read or write operation"); + sb.AppendLine("\t" + Localization. + Drive_will_remain_in_same_status_16_seconds_after_a_seek_read_or_write_operation); break; case 9: - sb.AppendLine("\tDrive will remain in same status 32 seconds after a seek, read or write operation"); + sb.AppendLine("\t" + Localization. + Drive_will_remain_in_same_status_32_seconds_after_a_seek_read_or_write_operation); break; case 10: - sb.AppendLine("\tDrive will remain in same status 1 minute after a seek, read or write operation"); + sb.AppendLine("\t" + Localization. + Drive_will_remain_in_same_status_1_minute_after_a_seek_read_or_write_operation); break; case 11: - sb.AppendLine("\tDrive will remain in same status 2 minutes after a seek, read or write operation"); + sb.AppendLine("\t" + Localization. + Drive_will_remain_in_same_status_2_minutes_after_a_seek_read_or_write_operation); break; case 12: - sb.AppendLine("\tDrive will remain in same status 4 minutes after a seek, read or write operation"); + sb.AppendLine("\t" + Localization. + Drive_will_remain_in_same_status_4_minutes_after_a_seek_read_or_write_operation); break; case 13: - sb.AppendLine("\tDrive will remain in same status 8 minutes after a seek, read or write operation"); + sb.AppendLine("\t" + Localization. + Drive_will_remain_in_same_status_8_minutes_after_a_seek_read_or_write_operation); break; case 14: - sb.AppendLine("\tDrive will remain in same status 16 minutes after a seek, read or write operation"); + sb.AppendLine("\t" + Localization. + Drive_will_remain_in_same_status_16_minutes_after_a_seek_read_or_write_operation); break; case 15: - sb.AppendLine("\tDrive will remain in same status 32 minutes after a seek, read or write operation"); + sb.AppendLine("\t" + Localization. + Drive_will_remain_in_same_status_32_minutes_after_a_seek_read_or_write_operation); break; } diff --git a/SCSI/Modes/1D.cs b/SCSI/Modes/1D.cs index 61bd8a883..910dd149f 100644 --- a/SCSI/Modes/1D.cs +++ b/SCSI/Modes/1D.cs @@ -84,31 +84,31 @@ public static partial class Modes ModePage_1D page = modePage.Value; var sb = new StringBuilder(); - sb.AppendLine("SCSI Medium Configuration Mode Page:"); + sb.AppendLine(Localization.SCSI_Medium_Configuration_Mode_Page); if(page.PS) - sb.AppendLine("\tParameters can be saved"); + sb.AppendLine("\t" + Localization.Parameters_can_be_saved); if(page.WORMM) - sb.AppendLine("\tDrive is operating in WORM mode"); + sb.AppendLine("\t" + Localization.Drive_is_operating_in_WORM_mode); switch(page.WormModeLabelRestrictions) { case 0: - sb.AppendLine("\tDrive does not allow any logical blocks to be overwritten"); + sb.AppendLine("\t" + Localization.Drive_does_not_allow_any_logical_blocks_to_be_overwritten); break; case 1: - sb.AppendLine("\tDrive allows a tape header to be overwritten"); + sb.AppendLine("\t" + Localization.Drive_allows_a_tape_header_to_be_overwritten); break; case 2: - sb.AppendLine("\tDrive allows all format labels to be overwritten"); + sb.AppendLine("\t" + Localization.Drive_allows_all_format_labels_to_be_overwritten); break; default: - sb.AppendFormat("\tUnknown WORM mode label restrictions code {0}", page.WormModeLabelRestrictions). - AppendLine(); + sb.AppendFormat("\t" + Localization.Unknown_WORM_mode_label_restrictions_code_0, + page.WormModeLabelRestrictions).AppendLine(); break; } @@ -116,16 +116,18 @@ public static partial class Modes switch(page.WormModeFilemarkRestrictions) { case 2: - sb.AppendLine("\tDrive allows any number of filemarks immediately preceding EOD to be overwritten except filemark closes to BOP"); + sb.AppendLine("\t" + + "Drive allows any number of filemarks immediately preceding EOD to be overwritten except filemark closes to BOP"); break; case 3: - sb.AppendLine("\tDrive allows any number of filemarks immediately preceding EOD to be overwritten"); + sb.AppendLine("\t" + + "Drive allows any number of filemarks immediately preceding EOD to be overwritten"); break; default: - sb.AppendFormat("\tUnknown WORM mode filemark restrictions code {0}", page.WormModeLabelRestrictions). - AppendLine(); + sb.AppendFormat("\t" + "Unknown WORM mode filemark restrictions code {0}", + page.WormModeLabelRestrictions).AppendLine(); break; } diff --git a/SCSI/Modes/21_Certance.cs b/SCSI/Modes/21_Certance.cs index c88b88d5c..a81287ee3 100644 --- a/SCSI/Modes/21_Certance.cs +++ b/SCSI/Modes/21_Certance.cs @@ -94,20 +94,20 @@ public static partial class Modes Certance_ModePage_21 page = modePage.Value; var sb = new StringBuilder(); - sb.AppendLine("Certance Drive Capabilities Control Mode Page:"); + sb.AppendLine(Localization.Certance_Drive_Capabilities_Control_Mode_Page); if(page.PS) - sb.AppendLine("\tParameters can be saved"); + sb.AppendLine("\t" + Localization.Parameters_can_be_saved); switch(page.OperatingSystemsSupport) { case 0: - sb.AppendLine("\tOperating systems support is standard LTO"); + sb.AppendLine("\t" + Localization.Operating_systems_support_is_standard_LTO); break; default: - sb.AppendFormat("\tOperating systems support is unknown code {0}", page.OperatingSystemsSupport). - AppendLine(); + sb.AppendFormat("\t" + Localization.Operating_systems_support_is_unknown_code_0, + page.OperatingSystemsSupport).AppendLine(); break; } @@ -116,19 +116,20 @@ public static partial class Modes switch(page.FirmwareTestControl) { case 0: - sb.AppendLine("\tFactory test code is disabled"); + sb.AppendLine("\t" + Localization.Factory_test_code_is_disabled); break; case 1: - sb.AppendLine("\tFactory test code 1 is disabled"); + sb.AppendLine("\t" + Localization.Factory_test_code_1_is_disabled); break; case 2: - sb.AppendLine("\tFactory test code 2 is disabled"); + sb.AppendLine("\t" + Localization.Factory_test_code_2_is_disabled); break; default: - sb.AppendFormat("\tUnknown factory test code {0}", page.FirmwareTestControl).AppendLine(); + sb.AppendFormat("\t" + Localization.Unknown_factory_test_code_0, page.FirmwareTestControl). + AppendLine(); break; } @@ -136,15 +137,16 @@ public static partial class Modes switch(page.ExtendedPOSTMode) { case 0: - sb.AppendLine("\tPower-On Self-Test is enabled"); + sb.AppendLine("\t" + Localization.Power_On_Self_Test_is_enabled); break; case 1: - sb.AppendLine("\tPower-On Self-Test is disable"); + sb.AppendLine("\t" + Localization.Power_On_Self_Test_is_disable); break; default: - sb.AppendFormat("\tUnknown Power-On Self-Test code {0}", page.ExtendedPOSTMode).AppendLine(); + sb.AppendFormat("\t" + Localization.Unknown_Power_On_Self_Test_code_0, page.ExtendedPOSTMode). + AppendLine(); break; } @@ -152,48 +154,50 @@ public static partial class Modes switch(page.DataCompressionControl) { case 0: - sb.AppendLine("\tCompression is controlled using mode pages 0Fh and 10h"); + sb.AppendLine("\t" + Localization.Compression_is_controlled_using_mode_pages_0Fh_and_10h); break; case 1: - sb.AppendLine("\tCompression is enabled and not controllable"); + sb.AppendLine("\t" + Localization.Compression_is_enabled_and_not_controllable); break; case 2: - sb.AppendLine("\tCompression is disabled and not controllable"); + sb.AppendLine("\t" + Localization.Compression_is_disabled_and_not_controllable); break; default: - sb.AppendFormat("\tUnknown compression control code {0}", page.DataCompressionControl).AppendLine(); + sb.AppendFormat("\t" + Localization.Unknown_compression_control_code_0, page.DataCompressionControl). + AppendLine(); break; } if(page.HostUnloadOverride) - sb.AppendLine("\tSCSI UNLOAD command will not eject the cartridge"); + sb.AppendLine("\t" + Localization.SCSI_UNLOAD_command_will_not_eject_the_cartridge); - sb.Append("\tHow should tapes be unloaded in a power cycle, tape incompatibility, firmware download or cleaning end: "); + sb.Append("\t" + Localization. + How_should_tapes_be_unloaded_in_a_power_cycle_tape_incompatibility_firmware_download_or_cleaning_end); switch(page.AutoUnloadMode) { case 0: - sb.AppendLine("\tTape will stay threaded at beginning"); + sb.AppendLine("\t" + Localization.Tape_will_stay_threaded_at_beginning); break; case 1: - sb.AppendLine("\tTape will be unthreaded"); + sb.AppendLine("\t" + Localization.Tape_will_be_unthreaded); break; case 2: - sb.AppendLine("\tTape will be unthreaded and unloaded"); + sb.AppendLine("\t" + Localization.Tape_will_be_unthreaded_and_unloaded); break; case 3: - sb.AppendLine("\tData tapes will be threaded at beginning, rest will be unloaded"); + sb.AppendLine("\t" + Localization.Data_tapes_will_be_threaded_at_beginning_rest_will_be_unloaded); break; default: - sb.AppendFormat("\tUnknown auto unload code {0}", page.AutoUnloadMode).AppendLine(); + sb.AppendFormat("\t" + Localization.Unknown_auto_unload_code_0, page.AutoUnloadMode).AppendLine(); break; } diff --git a/SCSI/Modes/22_Certance.cs b/SCSI/Modes/22_Certance.cs index 519064442..42be674f7 100644 --- a/SCSI/Modes/22_Certance.cs +++ b/SCSI/Modes/22_Certance.cs @@ -100,56 +100,57 @@ public static partial class Modes Certance_ModePage_22 page = modePage.Value; var sb = new StringBuilder(); - sb.AppendLine("Certance Interface Control Mode Page:"); + sb.AppendLine(Localization.Certance_Interface_Control_Mode_Page); if(page.PS) - sb.AppendLine("\tParameters can be saved"); + sb.AppendLine("\t" + Localization.Parameters_can_be_saved); switch(page.BaudRate) { case 0: case 1: case 2: - sb.AppendLine("\tLibrary interface will operate at 9600 baud on next reset"); + sb.AppendLine("\t" + Localization.Library_interface_will_operate_at_9600_baud_on_next_reset); break; case 3: - sb.AppendLine("\tLibrary interface will operate at 19200 baud on next reset"); + sb.AppendLine("\t" + Localization.Library_interface_will_operate_at_19200_baud_on_next_reset); break; case 4: - sb.AppendLine("\tLibrary interface will operate at 38400 baud on next reset"); + sb.AppendLine("\t" + Localization.Library_interface_will_operate_at_38400_baud_on_next_reset); break; case 5: - sb.AppendLine("\tLibrary interface will operate at 57600 baud on next reset"); + sb.AppendLine("\t" + Localization.Library_interface_will_operate_at_57600_baud_on_next_reset); break; case 6: - sb.AppendLine("\tLibrary interface will operate at 115200 baud on next reset"); + sb.AppendLine("\t" + Localization.Library_interface_will_operate_at_115200_baud_on_next_reset); break; default: - sb.AppendFormat("\tUnknown library interface baud rate code {0}", page.BaudRate).AppendLine(); + sb.AppendFormat("\t" + Localization.Unknown_library_interface_baud_rate_code_0, page.BaudRate). + AppendLine(); break; } - sb.AppendLine(page.StopBits ? "Library interface transmits 2 stop bits per byte" - : "Library interface transmits 1 stop bits per byte"); + sb.AppendLine(page.StopBits ? Localization.Library_interface_transmits_2_stop_bits_per_byte + : Localization.Library_interface_transmits_1_stop_bits_per_byte); switch(page.CmdFwd) { case 0: - sb.AppendLine("\tCommand forwarding is disabled"); + sb.AppendLine("\t" + Localization.Command_forwarding_is_disabled); break; case 1: - sb.AppendLine("\tCommand forwarding is enabled"); + sb.AppendLine("\t" + Localization.Command_forwarding_is_enabled); break; default: - sb.AppendFormat("\tUnknown command forwarding code {0}", page.CmdFwd).AppendLine(); + sb.AppendFormat("\t" + Localization.Unknown_command_forwarding_code_0, page.CmdFwd).AppendLine(); break; } @@ -157,30 +158,33 @@ public static partial class Modes switch(page.PortATransportType) { case 0: - sb.AppendLine("\tPort A link is down"); + sb.AppendLine("\t" + Localization.Port_A_link_is_down); break; case 3: - sb.AppendLine("\tPort A uses Parallel SCSI Ultra-160 interface"); + sb.AppendLine("\t" + Localization.Port_A_uses_Parallel_SCSI_Ultra160_interface); break; default: - sb.AppendFormat("\tUnknown port A transport type code {0}", page.PortATransportType).AppendLine(); + sb.AppendFormat("\t" + Localization.Unknown_port_A_transport_type_code_0, page.PortATransportType). + AppendLine(); break; } if(page.PortATransportType > 0) - sb.AppendFormat("\tDrive responds to SCSI ID {0}", page.PortAPresentSelectionID).AppendLine(); + sb.AppendFormat("\t" + Localization.Drive_responds_to_SCSI_ID_0, page.PortAPresentSelectionID).AppendLine(); - sb.AppendFormat("\tDrive will respond to SCSI ID {0} on Port A enabling", page.NextSelectionID).AppendLine(); + sb.AppendFormat("\t" + Localization.Drive_will_respond_to_SCSI_ID_0_on_Port_A_enabling, page.NextSelectionID). + AppendLine(); - sb.AppendFormat("\tDrive jumpers choose SCSI ID {0}", page.JumperedSelectionID).AppendLine(); + sb.AppendFormat("\t" + Localization.Drive_jumpers_choose_SCSI_ID_0, page.JumperedSelectionID).AppendLine(); - sb.AppendLine(page.PortAEnabled ? "\tSCSI port is enabled" : "\tSCSI port is disabled"); + sb.AppendLine(page.PortAEnabled ? "\t" + Localization.SCSI_port_is_enabled + : "\t" + Localization.SCSI_port_is_disabled); - sb.AppendLine(page.PortAEnabledOnPower ? "\tSCSI port will be enabled on next power up" - : "\tSCSI port will be disabled on next power up"); + sb.AppendLine(page.PortAEnabledOnPower ? "\t" + Localization.SCSI_port_will_be_enabled_on_next_power_up + : "\t" + Localization.SCSI_port_will_be_disabled_on_next_power_up); return sb.ToString(); } diff --git a/SCSI/Modes/24_IBM.cs b/SCSI/Modes/24_IBM.cs index 6564c0e5d..c6c316dde 100644 --- a/SCSI/Modes/24_IBM.cs +++ b/SCSI/Modes/24_IBM.cs @@ -86,21 +86,21 @@ public static partial class Modes IBM_ModePage_24 page = modePage.Value; var sb = new StringBuilder(); - sb.AppendLine("IBM Vendor-Specific Control Mode Page:"); + sb.AppendLine(Localization.IBM_Vendor_Specific_Control_Mode_Page); if(page.PS) - sb.AppendLine("\tParameters can be saved"); + sb.AppendLine("\t" + Localization.Parameters_can_be_saved); - sb.AppendFormat("\tVendor-specific mode control: {0}", page.ModeControl); - sb.AppendFormat("\tVendor-specific velocity setting: {0}", page.VelocitySetting); + sb.AppendFormat("\t" + Localization.Vendor_specific_mode_control_0, page.ModeControl); + sb.AppendFormat("\t" + Localization.Vendor_specific_velocity_setting_0, page.VelocitySetting); if(!page.EncryptionCapable) return sb.ToString(); - sb.AppendLine("\tDrive supports encryption"); + sb.AppendLine("\t" + Localization.Drive_supports_encryption); if(page.EncryptionEnabled) - sb.AppendLine("\tDrive has encryption enabled"); + sb.AppendLine("\t" + Localization.Drive_has_encryption_enabled); return sb.ToString(); } diff --git a/SCSI/Modes/2A.cs b/SCSI/Modes/2A.cs index 299e6700f..10199c9d5 100644 --- a/SCSI/Modes/2A.cs +++ b/SCSI/Modes/2A.cs @@ -52,151 +52,159 @@ public static partial class Modes var sb = new StringBuilder(); - sb.AppendLine("SCSI CD-ROM capabilities page:"); + sb.AppendLine(Localization.SCSI_CD_ROM_capabilities_page); if(modePage.PS) - sb.AppendLine("\tParameters can be saved"); + sb.AppendLine("\t" + Localization.Parameters_can_be_saved); if(modePage.AudioPlay) - sb.AppendLine("\tDrive can play audio"); + sb.AppendLine("\t" + Localization.Drive_can_play_audio); if(modePage.Mode2Form1) - sb.AppendLine("\tDrive can read sectors in Mode 2 Form 1 format"); + sb.AppendLine("\t" + Localization.Drive_can_read_sectors_in_Mode_2_Form_1_format); if(modePage.Mode2Form2) - sb.AppendLine("\tDrive can read sectors in Mode 2 Form 2 format"); + sb.AppendLine("\t" + Localization.Drive_can_read_sectors_in_Mode_2_Form_2_format); if(modePage.MultiSession) - sb.AppendLine("\tDrive supports multi-session discs and/or Photo-CD"); + sb.AppendLine("\t" + Localization.Drive_supports_multi_session_discs_and_or_Photo_CD); if(modePage.CDDACommand) - sb.AppendLine("\tDrive can read digital audio"); + sb.AppendLine("\t" + Localization.Drive_can_read_digital_audio); if(modePage.AccurateCDDA) - sb.AppendLine("\tDrive can continue from streaming loss"); + sb.AppendLine("\t" + Localization.Drive_can_continue_from_streaming_loss); if(modePage.Subchannel) - sb.AppendLine("\tDrive can read uncorrected and interleaved R-W subchannels"); + sb.AppendLine("\t" + Localization.Drive_can_read_uncorrected_and_interleaved_R_W_subchannels); if(modePage.DeinterlaveSubchannel) - sb.AppendLine("\tDrive can read, deinterleave and correct R-W subchannels"); + sb.AppendLine("\t" + Localization.Drive_can_read__deinterleave_and_correct_R_W_subchannels); if(modePage.C2Pointer) - sb.AppendLine("\tDrive supports C2 pointers"); + sb.AppendLine("\t" + Localization.Drive_supports_C2_pointers); if(modePage.UPC) - sb.AppendLine("\tDrive can read Media Catalogue Number"); + sb.AppendLine("\t" + Localization.Drive_can_read_Media_Catalogue_Number); if(modePage.ISRC) - sb.AppendLine("\tDrive can read ISRC"); + sb.AppendLine("\t" + Localization.Drive_can_read_ISRC); switch(modePage.LoadingMechanism) { case 0: - sb.AppendLine("\tDrive uses media caddy"); + sb.AppendLine("\t" + Localization.Drive_uses_media_caddy); break; case 1: - sb.AppendLine("\tDrive uses a tray"); + sb.AppendLine("\t" + Localization.Drive_uses_a_tray); break; case 2: - sb.AppendLine("\tDrive is pop-up"); + sb.AppendLine("\t" + Localization.Drive_is_pop_up); break; case 4: - sb.AppendLine("\tDrive is a changer with individually changeable discs"); + sb.AppendLine("\t" + Localization.Drive_is_a_changer_with_individually_changeable_discs); break; case 5: - sb.AppendLine("\tDrive is a changer using cartridges"); + sb.AppendLine("\t" + Localization.Drive_is_a_changer_using_cartridges); break; default: - sb.AppendFormat("\tDrive uses unknown loading mechanism type {0}", modePage.LoadingMechanism). - AppendLine(); + sb.AppendFormat("\t" + Localization.Drive_uses_unknown_loading_mechanism_type__0_, + modePage.LoadingMechanism).AppendLine(); break; } if(modePage.Lock) - sb.AppendLine("\tDrive can lock media"); + sb.AppendLine("\t" + Localization.Drive_can_lock_media); if(modePage.PreventJumper) { - sb.AppendLine("\tDrive power ups locked"); + sb.AppendLine("\t" + Localization.Drive_power_ups_locked); - sb.AppendLine(modePage.LockState ? "\tDrive is locked, media cannot be ejected or inserted" - : "\tDrive is not locked, media can be ejected and inserted"); + sb.AppendLine(modePage.LockState ? "\t" + Localization.Drive_is_locked__media_cannot_be_ejected_or_inserted + : "\t" + Localization.Drive_is_not_locked__media_can_be_ejected_and_inserted); } else sb.AppendLine(modePage.LockState - ? "\tDrive is locked, media cannot be ejected, but if empty, can be inserted" - : "\tDrive is not locked, media can be ejected and inserted"); + ? "\t" + Localization. + Drive_is_locked__media_cannot_be_ejected__but_if_empty__can_be_inserted + : "\t" + Localization.Drive_is_not_locked__media_can_be_ejected_and_inserted); if(modePage.Eject) - sb.AppendLine("\tDrive can eject media"); + sb.AppendLine("\t" + Localization.Drive_can_eject_media); if(modePage.SeparateChannelMute) - sb.AppendLine("\tEach channel can be muted independently"); + sb.AppendLine("\t" + Localization.Each_channel_can_be_muted_independently); if(modePage.SeparateChannelVolume) - sb.AppendLine("\tEach channel's volume can be controlled independently"); + sb.AppendLine("\t" + Localization.Each_channel_s_volume_can_be_controlled_independently); if(modePage.SupportedVolumeLevels > 0) - sb.AppendFormat("\tDrive supports {0} volume levels", modePage.SupportedVolumeLevels).AppendLine(); + sb.AppendFormat("\t" + Localization.Drive_supports_0_volume_levels, modePage.SupportedVolumeLevels). + AppendLine(); if(modePage.BufferSize > 0) - sb.AppendFormat("\tDrive has {0} Kbyte of buffer", modePage.BufferSize).AppendLine(); + sb.AppendFormat("\t" + Localization.Drive_has_0_Kbyte_of_buffer, modePage.BufferSize).AppendLine(); if(modePage.MaximumSpeed > 0) - sb.AppendFormat("\tDrive's maximum reading speed is {0} Kbyte/sec.", modePage.MaximumSpeed).AppendLine(); + sb.AppendFormat("\t" + Localization.Drive_maximum_reading_speed_is_0_Kbyte_sec, modePage.MaximumSpeed). + AppendLine(); if(modePage.CurrentSpeed > 0) - sb.AppendFormat("\tDrive's current reading speed is {0} Kbyte/sec.", modePage.CurrentSpeed).AppendLine(); + sb.AppendFormat("\t" + Localization.Drive_current_reading_speed_is_0_Kbyte_sec, modePage.CurrentSpeed). + AppendLine(); if(modePage.ReadCDR) { - sb.AppendLine(modePage.WriteCDR ? "\tDrive can read and write CD-R" : "\tDrive can read CD-R"); + sb.AppendLine(modePage.WriteCDR ? "\t" + Localization.Drive_can_read_and_write_CD_R + : "\t" + Localization.Drive_can_read_CD_R); if(modePage.Method2) - sb.AppendLine("\tDrive supports reading CD-R packet media"); + sb.AppendLine("\t" + Localization.Drive_supports_reading_CD_R_packet_media); } if(modePage.ReadCDRW) - sb.AppendLine(modePage.WriteCDRW ? "\tDrive can read and write CD-RW" : "\tDrive can read CD-RW"); + sb.AppendLine(modePage.WriteCDRW ? "\t" + Localization.Drive_can_read_and_write_CD_RW + : "\t" + Localization.Drive_can_read_CD_RW); if(modePage.ReadDVDROM) - sb.AppendLine("\tDrive can read DVD-ROM"); + sb.AppendLine("\t" + Localization.Drive_can_read_DVD_ROM); if(modePage.ReadDVDR) - sb.AppendLine(modePage.WriteDVDR ? "\tDrive can read and write DVD-R" : "\tDrive can read DVD-R"); + sb.AppendLine(modePage.WriteDVDR ? "\t" + Localization.Drive_can_read_and_write_DVD_R + : "\t" + Localization.Drive_can_read_DVD_R); if(modePage.ReadDVDRAM) - sb.AppendLine(modePage.WriteDVDRAM ? "\tDrive can read and write DVD-RAM" : "\tDrive can read DVD-RAM"); + sb.AppendLine(modePage.WriteDVDRAM ? "\t" + Localization.Drive_can_read_and_write_DVD_RAM + : "\t" + Localization.Drive_can_read_DVD_RAM); if(modePage.Composite) - sb.AppendLine("\tDrive can deliver a composite audio and video data stream"); + sb.AppendLine("\t" + Localization.Drive_can_deliver_a_composite_audio_and_video_data_stream); if(modePage.DigitalPort1) - sb.AppendLine("\tDrive supports IEC-958 digital output on port 1"); + sb.AppendLine("\t" + Localization.Drive_supports_IEC_958_digital_output_on_port_1); if(modePage.DigitalPort2) - sb.AppendLine("\tDrive supports IEC-958 digital output on port 2"); + sb.AppendLine("\t" + Localization.Drive_supports_IEC_958_digital_output_on_port_2); if(modePage.SDP) - sb.AppendLine("\tDrive contains a changer that can report the exact contents of the slots"); + sb.AppendLine("\t" + Localization.Drive_contains_a_changer_that_can_report_the_exact_contents_of_the_slots); if(modePage.CurrentWriteSpeedSelected > 0) switch(modePage.RotationControlSelected) { case 0: - sb.AppendFormat("\tDrive's current writing speed is {0} Kbyte/sec. in CLV mode", + sb.AppendFormat("\t" + Localization.Drive_current_writing_speed_is_0_Kbyte_sec_in_CLV_mode, modePage.CurrentWriteSpeedSelected).AppendLine(); break; case 1: - sb.AppendFormat("\tDrive's current writing speed is {0} Kbyte/sec. in pure CAV mode", + sb.AppendFormat("\t" + Localization.Drive_current_writing_speed_is_0_Kbyte_sec_in_pure_CAV_mode, modePage.CurrentWriteSpeedSelected).AppendLine(); break; @@ -204,12 +212,12 @@ public static partial class Modes else { if(modePage.MaxWriteSpeed > 0) - sb.AppendFormat("\tDrive's maximum writing speed is {0} Kbyte/sec.", modePage.MaxWriteSpeed). + sb.AppendFormat("\t" + Localization.Drive_maximum_writing_speed_is_0_Kbyte_sec, modePage.MaxWriteSpeed). AppendLine(); if(modePage.CurrentWriteSpeed > 0) - sb.AppendFormat("\tDrive's current writing speed is {0} Kbyte/sec.", modePage.CurrentWriteSpeed). - AppendLine(); + sb.AppendFormat("\t" + Localization.Drive_current_writing_speed_is_0_Kbyte_sec, + modePage.CurrentWriteSpeed).AppendLine(); } if(modePage.WriteSpeedPerformanceDescriptors != null) @@ -218,34 +226,34 @@ public static partial class Modes switch(descriptor.RotationControl) { case 0: - sb.AppendFormat("\tDrive supports writing at {0} Kbyte/sec. in CLV mode", + sb.AppendFormat("\t" + Localization.Drive_supports_writing_at_0_Kbyte_sec_in_CLV_mode, descriptor.WriteSpeed).AppendLine(); break; case 1: - sb.AppendFormat("\tDrive supports writing at is {0} Kbyte/sec. in pure CAV mode", + sb.AppendFormat("\t" + Localization.Drive_supports_writing_at_is_0_Kbyte_sec_in_pure_CAV_mode, descriptor.WriteSpeed).AppendLine(); break; } if(modePage.TestWrite) - sb.AppendLine("\tDrive supports test writing"); + sb.AppendLine("\t" + Localization.Drive_supports_test_writing); if(modePage.ReadBarcode) - sb.AppendLine("\tDrive can read barcode"); + sb.AppendLine("\t" + Localization.Drive_can_read_barcode); if(modePage.SCC) - sb.AppendLine("\tDrive can read both sides of a disc"); + sb.AppendLine("\t" + Localization.Drive_can_read_both_sides_of_a_disc); if(modePage.LeadInPW) - sb.AppendLine("\tDrive an read raw R-W subchannel from the Lead-In"); + sb.AppendLine("\t" + Localization.Drive_an_read_raw_R_W_subchannel_from_the_Lead_In); if(modePage.CMRSupported == 1) - sb.AppendLine("\tDrive supports DVD CSS and/or DVD CPPM"); + sb.AppendLine("\t" + Localization.Drive_supports_DVD_CSS_and_or_DVD_CPPM); if(modePage.BUF) - sb.AppendLine("\tDrive supports buffer under-run free recording"); + sb.AppendLine("\t" + Localization.Drive_supports_buffer_under_run_free_recording); return sb.ToString(); } diff --git a/SCSI/Modes/2F_IBM.cs b/SCSI/Modes/2F_IBM.cs index 9fa77f11b..7d7547a6d 100644 --- a/SCSI/Modes/2F_IBM.cs +++ b/SCSI/Modes/2F_IBM.cs @@ -98,23 +98,23 @@ public static partial class Modes IBM_ModePage_2F page = modePage.Value; var sb = new StringBuilder(); - sb.AppendLine("IBM Behaviour Configuration Mode Page:"); + sb.AppendLine(Localization.IBM_Behaviour_Configuration_Mode_Page); if(page.PS) - sb.AppendLine("\tParameters can be saved"); + sb.AppendLine("\t" + Localization.Parameters_can_be_saved); switch(page.FenceBehaviour) { case 0: - sb.AppendLine("\tFence behaviour is normal"); + sb.AppendLine("\t" + Localization.Fence_behaviour_is_normal); break; case 1: - sb.AppendLine("\tPanic fence behaviour is enabled"); + sb.AppendLine("\t" + Localization.Panic_fence_behaviour_is_enabled); break; default: - sb.AppendFormat("\tUnknown fence behaviour code {0}", page.FenceBehaviour).AppendLine(); + sb.AppendFormat("\t" + Localization.Unknown_fence_behaviour_code_0, page.FenceBehaviour).AppendLine(); break; } @@ -122,15 +122,16 @@ public static partial class Modes switch(page.CleanBehaviour) { case 0: - sb.AppendLine("\tCleaning behaviour is normal"); + sb.AppendLine("\t" + Localization.Cleaning_behaviour_is_normal); break; case 1: - sb.AppendLine("\tDrive will periodically request cleaning"); + sb.AppendLine("\t" + Localization.Drive_will_periodically_request_cleaning); break; default: - sb.AppendFormat("\tUnknown cleaning behaviour code {0}", page.CleanBehaviour).AppendLine(); + sb.AppendFormat("\t" + Localization.Unknown_cleaning_behaviour_code_0, page.CleanBehaviour). + AppendLine(); break; } @@ -138,15 +139,15 @@ public static partial class Modes switch(page.WORMEmulation) { case 0: - sb.AppendLine("\tWORM emulation is disabled"); + sb.AppendLine("\t" + Localization.WORM_emulation_is_disabled); break; case 1: - sb.AppendLine("\tWORM emulation is enabled"); + sb.AppendLine("\t" + Localization.WORM_emulation_is_enabled); break; default: - sb.AppendFormat("\tUnknown WORM emulation code {0}", page.WORMEmulation).AppendLine(); + sb.AppendFormat("\t" + Localization.Unknown_WORM_emulation_code_0, page.WORMEmulation).AppendLine(); break; } @@ -154,39 +155,40 @@ public static partial class Modes switch(page.SenseDataBehaviour) { case 0: - sb.AppendLine("\tUses 35-bytes sense data"); + sb.AppendLine("\t" + Localization.Uses_35_bytes_sense_data); break; case 1: - sb.AppendLine("\tUses 96-bytes sense data"); + sb.AppendLine("\t" + Localization.Uses_96_bytes_sense_data); break; default: - sb.AppendFormat("\tUnknown sense data behaviour code {0}", page.WORMEmulation).AppendLine(); + sb.AppendFormat("\t" + Localization.Unknown_sense_data_behaviour_code_0, page.WORMEmulation). + AppendLine(); break; } if(page.CLNCHK) - sb.AppendLine("\tDrive will set Check Condition when cleaning is needed"); + sb.AppendLine("\t" + Localization.Drive_will_set_Check_Condition_when_cleaning_is_needed); if(page.DDEOR) - sb.AppendLine("\tNo deferred error will be reported to a rewind command"); + sb.AppendLine("\t" + Localization.No_deferred_error_will_be_reported_to_a_rewind_command); if(page.CCDM) - sb.AppendLine("\tDrive will set Check Condition when the criteria for Dead Media is met"); + sb.AppendLine("\t" + Localization.Drive_will_set_Check_Condition_when_the_criteria_for_Dead_Media_is_met); if(page.FirmwareUpdateBehaviour > 0) - sb.AppendLine("\tDrive will not accept downlevel firmware via an FMR tape"); + sb.AppendLine("\t" + Localization.Drive_will_not_accept_downlevel_firmware_via_an_FMR_tape); if(page.UOE_C == 1) - sb.AppendLine("\tDrive will eject cleaning cartridges on error"); + sb.AppendLine("\t" + Localization.Drive_will_eject_cleaning_cartridges_on_error); if(page.UOE_F == 1) - sb.AppendLine("\tDrive will eject firmware cartridges on error"); + sb.AppendLine("\t" + Localization.Drive_will_eject_firmware_cartridges_on_error); if(page.UOE_D == 1) - sb.AppendLine("\tDrive will eject data cartridges on error"); + sb.AppendLine("\t" + Localization.Drive_will_eject_data_cartridges_on_error); return sb.ToString(); } diff --git a/SCSI/Modes/3B_HP.cs b/SCSI/Modes/3B_HP.cs index a4820d675..2567f11c3 100644 --- a/SCSI/Modes/3B_HP.cs +++ b/SCSI/Modes/3B_HP.cs @@ -85,24 +85,24 @@ public static partial class Modes HP_ModePage_3B page = modePage.Value; var sb = new StringBuilder(); - sb.AppendLine("HP Serial Number Override Mode Page:"); + sb.AppendLine(Localization.HP_Serial_Number_Override_Mode_Page); if(page.PS) - sb.AppendLine("\tParameters can be saved"); + sb.AppendLine("\t" + Localization.Parameters_can_be_saved); switch(page.MSN) { case 1: - sb.AppendLine("\tSerial number is the manufacturer's default value"); + sb.AppendLine("\t" + Localization.Serial_number_is_the_manufacturer_default_value); break; case 3: - sb.AppendLine("\tSerial number is not the manufacturer's default value"); + sb.AppendLine("\t" + Localization.Serial_number_is_not_the_manufacturer_default_value); break; } - sb.AppendFormat("\tSerial number: {0}", StringHandlers.CToString(page.SerialNumber)).AppendLine(); + sb.AppendFormat("\t" + Localization.Serial_number_0, StringHandlers.CToString(page.SerialNumber)).AppendLine(); return sb.ToString(); } diff --git a/SCSI/Modes/3C_HP.cs b/SCSI/Modes/3C_HP.cs index 0dc1dfa61..b1fb3355b 100644 --- a/SCSI/Modes/3C_HP.cs +++ b/SCSI/Modes/3C_HP.cs @@ -112,36 +112,36 @@ public static partial class Modes HP_ModePage_3C page = modePage.Value; var sb = new StringBuilder(); - sb.AppendLine("HP Device Time Mode Page:"); + sb.AppendLine(Localization.HP_Device_Time_Mode_Page); if(page.PS) - sb.AppendLine("\tParameters can be saved"); + sb.AppendLine("\t" + Localization.Parameters_can_be_saved); if(page.PT) { - sb.AppendFormat("\tDrive has been powered up {0} times", page.CurrentPowerOn); + sb.AppendFormat("\t" + Localization.Drive_has_been_powered_up_0_times, page.CurrentPowerOn); - sb.AppendFormat("\tDrive has been powered up since {0} this time", TimeSpan.FromSeconds(page.PowerOnTime)). - AppendLine(); + sb.AppendFormat("\t" + Localization.Drive_has_been_powered_up_since_0_seconds_ago_this_time, + TimeSpan.FromSeconds(page.PowerOnTime)).AppendLine(); - sb.AppendFormat("\tDrive has been powered up a total of {0}", TimeSpan.FromSeconds(page.CumulativePowerOn)). - AppendLine(); + sb.AppendFormat("\t" + Localization.Drive_has_been_powered_up_a_total_of_0_seconds, + TimeSpan.FromSeconds(page.CumulativePowerOn)).AppendLine(); } if(page.WT) { - sb.AppendFormat("\tDrive's date/time is: {0}", DateHandlers.UnixUnsignedToDateTime(page.WorldTime)). - AppendLine(); + sb.AppendFormat("\t" + Localization.Drive_date_time_is_0, + DateHandlers.UnixUnsignedToDateTime(page.WorldTime)).AppendLine(); if(page.UTC) - sb.AppendLine("\tDrive's time is UTC"); + sb.AppendLine("\t" + Localization.Drive_time_is_UTC); if(page.NTP) - sb.AppendLine("\tDrive's time is synchronized with a NTP source"); + sb.AppendLine("\t" + Localization.Drive_time_is_synchronized_with_a_NTP_source); } if(page.LT) - sb.AppendFormat("\tLibrary time is {0}", + sb.AppendFormat("\t" + Localization.Library_time_is_0, new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day, page.LibraryHours, page.LibraryMinutes, page.LibrarySeconds)).AppendLine(); diff --git a/SCSI/Modes/3D_HP.cs b/SCSI/Modes/3D_HP.cs index 898b318f2..915337dfb 100644 --- a/SCSI/Modes/3D_HP.cs +++ b/SCSI/Modes/3D_HP.cs @@ -80,23 +80,23 @@ public static partial class Modes HP_ModePage_3D page = modePage.Value; var sb = new StringBuilder(); - sb.AppendLine("HP Extended Reset Mode Page:"); + sb.AppendLine(Localization.HP_Extended_Reset_Mode_Page); if(page.PS) - sb.AppendLine("\tParameters can be saved"); + sb.AppendLine("\t" + Localization.Parameters_can_be_saved); switch(page.ResetBehaviour) { case 0: - sb.AppendLine("\tNormal reset behaviour"); + sb.AppendLine("\t" + Localization.Normal_reset_behaviour); break; case 1: - sb.AppendLine("\tDrive will flush and position itself on a LUN or target reset"); + sb.AppendLine("\t" + Localization.Drive_will_flush_and_position_itself_on_a_LUN_or_target_reset); break; case 2: - sb.AppendLine("\tDrive will maintain position on a LUN or target reset"); + sb.AppendLine("\t" + Localization.Drive_will_maintain_position_on_a_LUN_or_target_reset); break; } diff --git a/SCSI/Modes/3D_IBM.cs b/SCSI/Modes/3D_IBM.cs index eec079cac..c2446c672 100644 --- a/SCSI/Modes/3D_IBM.cs +++ b/SCSI/Modes/3D_IBM.cs @@ -80,12 +80,12 @@ public static partial class Modes IBM_ModePage_3D page = modePage.Value; var sb = new StringBuilder(); - sb.AppendLine("IBM LEOT Mode Page:"); + sb.AppendLine(Localization.IBM_LEOT_Mode_Page); if(page.PS) - sb.AppendLine("\tParameters can be saved"); + sb.AppendLine("\t" + Localization.Parameters_can_be_saved); - sb.AppendFormat("\t{0} wraps", page.NumberOfWraps).AppendLine(); + sb.AppendFormat("\t" + Localization._0_wraps, page.NumberOfWraps).AppendLine(); return sb.ToString(); } diff --git a/SCSI/Modes/3E_Fujitsu.cs b/SCSI/Modes/3E_Fujitsu.cs index 0104faa21..258336b1f 100644 --- a/SCSI/Modes/3E_Fujitsu.cs +++ b/SCSI/Modes/3E_Fujitsu.cs @@ -112,35 +112,35 @@ public static partial class Modes Fujitsu_ModePage_3E page = modePage.Value; var sb = new StringBuilder(); - sb.AppendLine("Fujitsu Verify Control Page:"); + sb.AppendLine(Localization.Fujitsu_Verify_Control_Page); if(page.PS) - sb.AppendLine("\tParameters can be saved"); + sb.AppendLine("\t" + Localization.Parameters_can_be_saved); if(page.audioVisualMode) - sb.AppendLine("\tAudio/Visual data support mode is applied"); + sb.AppendLine("\t" + Localization.Audio_Visual_data_support_mode_is_applied); if(page.streamingMode) - sb.AppendLine("\tTest write operation is restricted during read or write operations."); + sb.AppendLine("\t" + Localization.Test_write_operation_is_restricted_during_read_or_write_operations); switch(page.verifyMode) { case Fujitsu_VerifyModes.Always: - sb.AppendLine("\tAlways apply the verify operation"); + sb.AppendLine("\t" + Localization.Always_apply_the_verify_operation); break; case Fujitsu_VerifyModes.Never: - sb.AppendLine("\tNever apply the verify operation"); + sb.AppendLine("\t" + Localization.Never_apply_the_verify_operation); break; case Fujitsu_VerifyModes.Depends: - sb.AppendLine("\tApply the verify operation depending on the condition"); + sb.AppendLine("\t" + Localization.Apply_the_verify_operation_depending_on_the_condition); break; } - sb.AppendFormat("\tThe device type that would be provided in the INQUIRY response is {0}", page.devType). - AppendLine(); + sb.AppendFormat("\t" + Localization.The_device_type_that_would_be_provided_in_the_INQUIRY_response_is_0, + page.devType).AppendLine(); return sb.ToString(); } diff --git a/SCSI/Modes/3E_HP.cs b/SCSI/Modes/3E_HP.cs index 2ff48507f..31027bc9b 100644 --- a/SCSI/Modes/3E_HP.cs +++ b/SCSI/Modes/3E_HP.cs @@ -82,15 +82,16 @@ public static partial class Modes HP_ModePage_3E page = modePage.Value; var sb = new StringBuilder(); - sb.AppendLine("HP CD-ROM Emulation/Disaster Recovery Mode Page:"); + sb.AppendLine(Localization.HP_CD_ROM_Emulation_Disaster_Recovery_Mode_Page); if(page.PS) - sb.AppendLine("\tParameters can be saved"); + sb.AppendLine("\t" + Localization.Parameters_can_be_saved); - sb.AppendLine(page.CDmode ? "\tDrive is emulating a CD-ROM drive" : "\tDrive is not emulating a CD-ROM drive"); + sb.AppendLine(page.CDmode ? "\t" + Localization.Drive_is_emulating_a_CD_ROM_drive + : "\t" + Localization.Drive_is_not_emulating_a_CD_ROM_drive); if(page.NonAuto) - sb.AppendLine("\tDrive will not exit emulation automatically"); + sb.AppendLine("\t" + Localization.Drive_will_not_exit_emulation_automatically); return sb.ToString(); } diff --git a/SCSI/Modes/Headers.cs b/SCSI/Modes/Headers.cs index edff37bd8..a6f676d95 100644 --- a/SCSI/Modes/Headers.cs +++ b/SCSI/Modes/Headers.cs @@ -42,22 +42,14 @@ public static partial class Modes { public static string GetMediumTypeDescription(MediumTypes type) => type switch { - MediumTypes.ECMA54 => - "ECMA-54: 200 mm Flexible Disk Cartridge using Two-Frequency Recording at 13262 ftprad on One Side", - MediumTypes.ECMA59 => - "ECMA-59 & ANSI X3.121-1984: 200 mm Flexible Disk Cartridge using Two-Frequency Recording at 13262 ftprad on Both Sides", - MediumTypes.ECMA69 => - "ECMA-69: 200 mm Flexible Disk Cartridge using MFM Recording at 13262 ftprad on Both Sides", - MediumTypes.ECMA66 => - "ECMA-66: 130 mm Flexible Disk Cartridge using Two-Frequency Recording at 7958 ftprad on One Side", - MediumTypes.ECMA70 => - "ECMA-70 & ANSI X3.125-1985: 130 mm Flexible Disk Cartridge using MFM Recording at 7958 ftprad on Both Sides; 1,9 Tracks per mm", - MediumTypes.ECMA78 => - "ECMA-78 & ANSI X3.126-1986: 130 mm Flexible Disk Cartridge using MFM Recording at 7958 ftprad on Both Sides; 3,8 Tracks per mm", - MediumTypes.ECMA99 => - "ECMA-99 & ISO 8630-1985: 130 mm Flexible Disk Cartridge using MFM Recording at 13262 ftprad on Both Sides; 3,8 Tracks per mm", - MediumTypes.ECMA100 => - "ECMA-100 & ANSI X3.137: 90 mm Flexible Disk Cartridge using MFM Recording at 7859 ftprad on Both Sides; 5,3 Tracks per mm", + MediumTypes.ECMA54 => Localization.GetMediumTypeDescription_ECMA_54, + MediumTypes.ECMA59 => Localization.GetMediumTypeDescription_ECMA_59, + MediumTypes.ECMA69 => Localization.GetMediumTypeDescription_ECMA_69, + MediumTypes.ECMA66 => Localization.GetMediumTypeDescription_ECMA_66, + MediumTypes.ECMA70 => Localization.GetMediumTypeDescription_ECMA_70, + MediumTypes.ECMA78 => Localization.GetMediumTypeDescription_ECMA_78, + MediumTypes.ECMA99 => Localization.GetMediumTypeDescription_ECMA_99, + MediumTypes.ECMA100 => Localization.GetMediumTypeDescription_ECMA_100, // Most probably they will never appear, but magneto-opticals use these codes /* @@ -66,15 +58,15 @@ return "Unspecified single sided flexible disk"; case MediumTypes.Unspecified_DS: return "Unspecified double sided flexible disk"; */ - MediumTypes.X3_73 => "ANSI X3.73-1980: 200 mm, 6631 ftprad, 1,9 Tracks per mm, 1 side", - MediumTypes.X3_73_DS => "ANSI X3.73-1980: 200 mm, 6631 ftprad, 1,9 Tracks per mm, 2 sides", - MediumTypes.X3_82 => "ANSI X3.80-1980: 130 mm, 3979 ftprad, 1,9 Tracks per mm, 1 side", - MediumTypes.Type3Floppy => "3.5-inch, 135 tpi, 12362 bits/radian, double-sided MFM (aka 1.25Mb)", - MediumTypes.HDFloppy => "3.5-inch, 135 tpi, 15916 bits/radian, double-sided MFM (aka 1.44Mb)", - MediumTypes.ReadOnly => "a Read-only optical", - MediumTypes.WORM => "a Write-once Read-many optical", - MediumTypes.Erasable => "a Erasable optical", - MediumTypes.RO_WORM => "a combination of read-only and write-once optical", + MediumTypes.X3_73 => Localization.GetMediumTypeDescription_X3_73, + MediumTypes.X3_73_DS => Localization.GetMediumTypeDescription_X3_73_DS, + MediumTypes.X3_82 => Localization.GetMediumTypeDescription_X3_82, + MediumTypes.Type3Floppy => Localization.GetMediumTypeDescription_Type3Floppy, + MediumTypes.HDFloppy => Localization.GetMediumTypeDescription_HDFloppy, + MediumTypes.ReadOnly => Localization.GetMediumTypeDescription_ReadOnly, + MediumTypes.WORM => Localization.GetMediumTypeDescription_WORM, + MediumTypes.Erasable => Localization.GetMediumTypeDescription_Erasable, + MediumTypes.RO_WORM => Localization.GetMediumTypeDescription_RO_WORM, // These magneto-opticals were never manufactured /* @@ -84,9 +76,9 @@ break; case MediumTypes.WORM_RW: return "a combination of write-once and erasable optical"; */ - MediumTypes.DOW => "a direct-overwrite optical", - MediumTypes.HiMD => "a Sony Hi-MD disc", - _ => $"Unknown medium type 0x{(byte)type:X2}" + MediumTypes.DOW => Localization.GetMediumTypeDescription_DOW, + MediumTypes.HiMD => Localization.GetMediumTypeDescription_HiMD, + _ => string.Format(Localization.Unknown_medium_type_0, (byte)type) }; public static string PrettifyModeHeader(ModeHeader? header, PeripheralDeviceTypes deviceType) @@ -96,7 +88,7 @@ return "a combination of write-once and erasable optical"; var sb = new StringBuilder(); - sb.AppendLine("SCSI Mode Sense Header:"); + sb.AppendLine(Localization.SCSI_Mode_Sense_Header); switch(deviceType) { @@ -104,13 +96,14 @@ return "a combination of write-once and erasable optical"; case PeripheralDeviceTypes.DirectAccess: { if(header.Value.MediumType != MediumTypes.Default) - sb.AppendFormat("\tMedium is {0}", GetMediumTypeDescription(header.Value.MediumType)).AppendLine(); + sb.AppendFormat("\t" + Localization.Medium_is_0, GetMediumTypeDescription(header.Value.MediumType)). + AppendLine(); if(header.Value.WriteProtected) - sb.AppendLine("\tMedium is write protected"); + sb.AppendLine("\t" + Localization.Medium_is_write_protected); if(header.Value.DPOFUA) - sb.AppendLine("\tDrive supports DPO and FUA bits"); + sb.AppendLine("\t" + Localization.Drive_supports_DPO_and_FUA_bits); if(header.Value.BlockDescriptors != null) foreach(BlockDescriptor descriptor in header.Value.BlockDescriptors) @@ -121,35 +114,36 @@ return "a combination of write-once and erasable optical"; { case DensityType.Default: break; case DensityType.Flux7958: - density = "7958 flux transitions per radian"; + density = Localization._7958_ftprad; break; case DensityType.Flux13262: - density = "13262 flux transitions per radian"; + density = Localization._13262_ftprad; break; case DensityType.Flux15916: - density = "15916 flux transitions per radian"; + density = Localization._15916_ftprad; break; default: - density = $"with unknown density code 0x{(byte)descriptor.Density:X2}"; + density = string.Format(Localization.with_unknown_density_code_0, + (byte)descriptor.Density); break; } if(density != "") if(descriptor.Blocks == 0) - sb.AppendFormat("\tAll remaining blocks have {0} and are {1} bytes each", density, - descriptor.BlockLength).AppendLine(); - else - sb.AppendFormat("\t{0} blocks have {1} and are {2} bytes each", descriptor.Blocks, + sb.AppendFormat("\t" + Localization.All_remaining_blocks_have_0_and_are_1_bytes_each, density, descriptor.BlockLength).AppendLine(); + else + sb.AppendFormat("\t" + Localization._0_blocks_have_1_and_are_2_bytes_each, + descriptor.Blocks, density, descriptor.BlockLength).AppendLine(); else if(descriptor.Blocks == 0) - sb.AppendFormat("\tAll remaining blocks are {0} bytes each", descriptor.BlockLength). - AppendLine(); + sb.AppendFormat("\t" + Localization.All_remaining_blocks_are_0_bytes_each, + descriptor.BlockLength).AppendLine(); else - sb.AppendFormat("\t{0} blocks are {1} bytes each", descriptor.Blocks, + sb.AppendFormat("\t" + Localization._0_blocks_are_1_bytes_each, descriptor.Blocks, descriptor.BlockLength).AppendLine(); } @@ -163,96 +157,97 @@ return "a combination of write-once and erasable optical"; switch(header.Value.BufferedMode) { case 0: - sb.AppendLine("\tDevice writes directly to media"); + sb.AppendLine("\t" + Localization.Device_writes_directly_to_media); break; case 1: - sb.AppendLine("\tDevice uses a write cache"); + sb.AppendLine("\t" + Localization.Device_uses_a_write_cache); break; case 2: - sb.AppendLine("\tDevice uses a write cache but doesn't return until cache is flushed"); + sb.AppendLine("\t" + Localization. + Device_uses_a_write_cache_but_doesn_t_return_until_cache_is_flushed); break; default: - sb.AppendFormat("\tUnknown buffered mode code 0x{0:X2}", header.Value.BufferedMode). + sb.AppendFormat("\t" + Localization.Unknown_buffered_mode_code_0, header.Value.BufferedMode). AppendLine(); break; } if(header.Value.Speed == 0) - sb.AppendLine("\tDevice uses default speed"); + sb.AppendLine("\t" + Localization.Device_uses_default_speed); else - sb.AppendFormat("\tDevice uses speed {0}", header.Value.Speed).AppendLine(); + sb.AppendFormat("\t" + Localization.Device_uses_speed_0, header.Value.Speed).AppendLine(); if(header.Value.WriteProtected) - sb.AppendLine("\tMedium is write protected"); + sb.AppendLine("\t" + Localization.Medium_is_write_protected); string medium = header.Value.MediumType switch { - MediumTypes.Default => "undefined", - MediumTypes.Tape12 => "6,3 mm tape with 12 tracks at 394 ftpmm or DC-9250", - MediumTypes.Tape24 => "6,3 mm tape with 24 tracks at 394 ftpmm or MLR1-26GBSL", - MediumTypes.LTOWORM => "LTO Ultrium WORM or cleaning cartridge", - MediumTypes.LTO => "LTO Ultrium", - MediumTypes.LTO2 => "LTO Ultrium-2", - MediumTypes.DC2900SL => "DC-2900SL", - MediumTypes.MLR1 => "MLR1-26GB or DDS-3", - MediumTypes.DC9200 => "DC-9200 or DDS-4", - MediumTypes.DAT72 => "DAT-72", - MediumTypes.LTO3 => "LTO Ultrium-3", - MediumTypes.LTO3WORM => "LTO Ultrium-3 WORM", - MediumTypes.DDSCleaning => "DDS cleaning cartridge", - MediumTypes.SLR32 => "SLR-32", - MediumTypes.SLRtape50 => "SLRtape-50", - MediumTypes.LTO4 => "LTO Ultrium-4", - MediumTypes.LTO4WORM => "LTO Ultrium-4 WORM", - MediumTypes.SLRtape50SL => "SLRtape-50 SL", - MediumTypes.SLR32SL => "SLR-32SL", - MediumTypes.SLR5 => "SLR-5", - MediumTypes.SLR5SL => "SLR-5SL", - MediumTypes.LTO5 => "LTO Ultrium-5", - MediumTypes.LTO5WORM => "LTO Ultrium-5 WORM", - MediumTypes.SLRtape7 => "SLRtape-7", - MediumTypes.SLRtape7SL => "SLRtape-7 SL", - MediumTypes.SLRtape24 => "SLRtape-24", - MediumTypes.SLRtape24SL => "SLRtape-24 SL", - MediumTypes.LTO6 => "LTO Ultrium-6", - MediumTypes.LTO6WORM => "LTO Ultrium-6 WORM", - MediumTypes.SLRtape140 => "SLRtape-140", - MediumTypes.SLRtape40 => "SLRtape-40", - MediumTypes.SLRtape60 => "SLRtape-60 or SLRtape-75", - MediumTypes.SLRtape100 => "SLRtape-100", - MediumTypes.SLR40_60_100 => "SLR-40, SLR-60 or SLR-100", - MediumTypes.LTO7 => "LTO Ultrium-7", - MediumTypes.LTO7WORM => "LTO Ultrium-7 WORM", - MediumTypes.LTOCD => "LTO Ultrium", - MediumTypes.Exatape15m => "Exatape 15m, IBM MagStar or VXA", - MediumTypes.CT1 => "CompactTape I, Exatape 28m, CompactTape II, VXA-2 or VXA-3", - MediumTypes.Exatape54m => "Exatape 54m or DLTtape III", - MediumTypes.Exatape80m => "Exatape 80m or DLTtape IIIxt", - MediumTypes.Exatape106m => "Exatape 106m, DLTtape IV or Travan 5", - MediumTypes.Exatape106mXL => "Exatape 160m XL or Super DLTtape I", - MediumTypes.SDLT2 => "Super DLTtape II", - MediumTypes.VStapeI => "VStape I", - MediumTypes.DLTtapeS4 => "DLTtape S4", - MediumTypes.Travan7 => "Travan 7", - MediumTypes.Exatape22m => "Exatape 22m", - MediumTypes.Exatape40m => "Exatape 40m", - MediumTypes.Exatape76m => "Exatape 76m", - MediumTypes.Exatape112m => "Exatape 112m", - MediumTypes.Exatape22mAME => "Exatape 22m AME", - MediumTypes.Exatape170m => "Exatape 170m", - MediumTypes.Exatape125m => "Exatape 125m", - MediumTypes.Exatape45m => "Exatape 45m", - MediumTypes.Exatape225m => "Exatape 225m", - MediumTypes.Exatape150m => "Exatape 150m", - MediumTypes.Exatape75m => "Exatape 75m", - _ => $"unknown medium type 0x{(byte)header.Value.MediumType:X2}" + MediumTypes.Default => Localization.MediumType_undefined, + MediumTypes.Tape12 => Localization.MediumType_Tape12, + MediumTypes.Tape24 => Localization.MediumType_Tape24, + MediumTypes.LTOWORM => Localization.MediumType_LTOWORM, + MediumTypes.LTO => Localization.MediumType_LTO, + MediumTypes.LTO2 => Localization.MediumType_LTO2, + MediumTypes.DC2900SL => Localization.MediumType_DC2900SL, + MediumTypes.MLR1 => Localization.MediumType_MLR1, + MediumTypes.DC9200 => Localization.MediumType_DC9200, + MediumTypes.DAT72 => Localization.MediumType_DAT72, + MediumTypes.LTO3 => Localization.MediumType_LTO3, + MediumTypes.LTO3WORM => Localization.MediumType_LTO3WORM, + MediumTypes.DDSCleaning => Localization.MediumType_DDSCleaning, + MediumTypes.SLR32 => Localization.MediumType_SLR32, + MediumTypes.SLRtape50 => Localization.MediumType_SLRtape50, + MediumTypes.LTO4 => Localization.MediumType_LTO4, + MediumTypes.LTO4WORM => Localization.MediumType_LTO4WORM, + MediumTypes.SLRtape50SL => Localization.MediumType_SLRtape50SL, + MediumTypes.SLR32SL => Localization.MediumType_SLR32SL, + MediumTypes.SLR5 => Localization.MediumType_SLR5, + MediumTypes.SLR5SL => Localization.MediumType_SLR5SL, + MediumTypes.LTO5 => Localization.MediumType_LTO5, + MediumTypes.LTO5WORM => Localization.MediumType_LTO5WORM, + MediumTypes.SLRtape7 => Localization.MediumType_SLRtape7, + MediumTypes.SLRtape7SL => Localization.MediumType_SLRtape7SL, + MediumTypes.SLRtape24 => Localization.MediumType_SLRtape24, + MediumTypes.SLRtape24SL => Localization.MediumType_SLRtape24SL, + MediumTypes.LTO6 => Localization.MediumType_LTO6, + MediumTypes.LTO6WORM => Localization.MediumType_LTO6WORM, + MediumTypes.SLRtape140 => Localization.MediumType_SLRtape140, + MediumTypes.SLRtape40 => Localization.MediumType_SLRtape40, + MediumTypes.SLRtape60 => Localization.MediumType_SLRtape60, + MediumTypes.SLRtape100 => Localization.MediumType_SLRtape100, + MediumTypes.SLR40_60_100 => Localization.MediumType_SLR40_60_100, + MediumTypes.LTO7 => Localization.MediumType_LTO7, + MediumTypes.LTO7WORM => Localization.MediumType_LTO7WORM, + MediumTypes.LTOCD => Localization.MediumType_LTO, + MediumTypes.Exatape15m => Localization.MediumType_Exatape15m, + MediumTypes.CT1 => Localization.MediumType_CT1, + MediumTypes.Exatape54m => Localization.MediumType_Exatape54m, + MediumTypes.Exatape80m => Localization.MediumType_Exatape80m, + MediumTypes.Exatape106m => Localization.MediumType_Exatape106m, + MediumTypes.Exatape106mXL => Localization.MediumType_Exatape106mXL, + MediumTypes.SDLT2 => Localization.MediumType_SDLT2, + MediumTypes.VStapeI => Localization.MediumType_VStapeI, + MediumTypes.DLTtapeS4 => Localization.MediumType_DLTtapeS4, + MediumTypes.Travan7 => Localization.MediumType_Travan7, + MediumTypes.Exatape22m => Localization.MediumType_Exatape22m, + MediumTypes.Exatape40m => Localization.MediumType_Exatape40m, + MediumTypes.Exatape76m => Localization.MediumType_Exatape76m, + MediumTypes.Exatape112m => Localization.MediumType_Exatape112m, + MediumTypes.Exatape22mAME => Localization.MediumType_Exatape22mAME, + MediumTypes.Exatape170m => Localization.MediumType_Exatape170m, + MediumTypes.Exatape125m => Localization.MediumType_Exatape125m, + MediumTypes.Exatape45m => Localization.MediumType_Exatape45m, + MediumTypes.Exatape225m => Localization.MediumType_Exatape225m, + MediumTypes.Exatape150m => Localization.MediumType_Exatape150m, + MediumTypes.Exatape75m => Localization.MediumType_Exatape75m, + _ => string.Format(Localization.Unknown_medium_type_0, (byte)header.Value.MediumType) }; - sb.AppendFormat("\tMedium is {0}", medium).AppendLine(); + sb.AppendFormat("\t" + Localization.Medium_is_0, medium).AppendLine(); if(header.Value.BlockDescriptors != null) foreach(BlockDescriptor descriptor in header.Value.BlockDescriptors) @@ -267,187 +262,176 @@ return "a combination of write-once and erasable optical"; { case DensityType.Default: break; case DensityType.ECMA62: - density = - "ECMA-62 & ANSI X3.22-1983: 12,7 mm 9-Track Magnetic Tape, 32 ftpmm, NRZI, 32 cpmm"; + density = Localization.ECMA62; break; case DensityType.ECMA62_Phase: - density = - "ECMA-62 & ANSI X3.39-1986: 12,7 mm 9-Track Magnetic Tape, 126 ftpmm, Phase Encoding, 63 cpmm"; + density = Localization.ECMA62_Phase; break; case DensityType.ECMA62_GCR: - density = - "ECMA-62 & ANSI X3.54-1986: 12,7 mm 9-Track Magnetic Tape, 356 ftpmm, NRZI, 245 cpmm GCR"; + density = Localization.ECMA62_GCR; break; case DensityType.ECMA79: - density = - "ECMA-79 & ANSI X3.116-1986: 6,30 mm Magnetic Tape Cartridge, 252 ftpmm, MFM"; + density = Localization.ECMA79; break; case DensityType.IBM3480: - density = - "Draft ECMA & ANSI X3B5/87-099: 12,7 mm 18-Track Magnetic Tape Cartridge, 1944 ftpmm, IFM, GCR (IBM 3480, 3490, 3490E)"; + density = Localization.IBM3480; break; case DensityType.ECMA46: - density = - "ECMA-46 & ANSI X3.56-1986: 6,30 mm Magnetic Tape Cartridge, Phase Encoding, 63 bpmm"; + density = Localization.ECMA46; break; case DensityType.ECMA98: - density = "ECMA-98: 6,30 mm Magnetic Tape Cartridge, NRZI, 394 ftpmm"; + density = Localization.ECMA98; break; case DensityType.X3_136: - density = - "ANSI X3.136-1986: 6,3 mm 4 or 9-Track Magnetic Tape Cartridge, 315 bpmm, GCR (QIC-24)"; + density = Localization.X3_136; break; case DensityType.X3_157: - density = - "ANSI X3.157-1987: 12,7 mm 9-Track Magnetic Tape, 126 bpmm, Phase Encoding"; + density = Localization.X3_157; break; case DensityType.X3_158: - density = - "ANSI X3.158-1987: 3,81 mm 4-Track Magnetic Tape Cassette, 315 bpmm, GCR"; + density = Localization.X3_158; break; case DensityType.X3B5_86: - density = - "ANSI X3B5/86-199: 12,7 mm 22-Track Magnetic Tape Cartridge, 262 bpmm, MFM"; + density = Localization.X3B5_86; break; case DensityType.HiTC1: - density = "HI-TC1: 12,7 mm 24-Track Magnetic Tape Cartridge, 500 bpmm, GCR"; + density = Localization.HiTC1; break; case DensityType.HiTC2: - density = "HI-TC2: 12,7 mm 24-Track Magnetic Tape Cartridge, 999 bpmm, GCR"; + density = Localization.HiTC2; break; case DensityType.QIC120: - density = "QIC-120: 6,3 mm 15-Track Magnetic Tape Cartridge, 394 bpmm, GCR"; + density = Localization.QIC120; break; case DensityType.QIC150: - density = "QIC-150: 6,3 mm 18-Track Magnetic Tape Cartridge, 394 bpmm, GCR"; + density = Localization.QIC150; break; case DensityType.QIC320: - density = "QIC-320: 6,3 mm 26-Track Magnetic Tape Cartridge, 630 bpmm, GCR"; + density = Localization.QIC320; break; case DensityType.QIC1350: - density = "QIC-1350: 6,3 mm 30-Track Magnetic Tape Cartridge, 2034 bpmm, RLL"; + density = Localization.QIC1350; break; case DensityType.X3B5_88: - density = "ANSI X3B5/88-185A: 3,81 mm Magnetic Tape Cassette, 2400 bpmm, DDS"; + density = Localization.X3B5_88; break; case DensityType.X3_202: - density = "ANSI X3.202-1991: 8 mm Magnetic Tape Cassette, 1703 bpmm, RLL"; + density = Localization.X3_202; break; case DensityType.ECMA_TC17: - density = "ECMA TC17: 8 mm Magnetic Tape Cassette, 1789 bpmm, RLL"; + density = Localization.ECMA_TC17; break; case DensityType.X3_193: - density = - "ANSI X3.193-1990: 12,7 mm 48-Track Magnetic Tape Cartridge, 394 bpmm, MFM"; + density = Localization.X3_193; break; case DensityType.X3B5_91: - density = - "ANSI X3B5/97-174: 12,7 mm 48-Track Magnetic Tape Cartridge, 1673 bpmm, MFM"; + density = Localization.X3B5_91; break; case DensityType.QIC11: - density = "QIC-11"; + density = Localization.QIC11; break; case DensityType.IBM3490E: - density = "IBM 3490E"; + density = Localization.IBM3490E; break; case DensityType.LTO1: //case DensityType.SAIT1: - density = "LTO Ultrium or Super AIT-1"; + density = Localization.LTO_or_SAIT1; break; case DensityType.LTO2Old: - density = "LTO Ultrium-2"; + density = Localization.MediumType_LTO2; break; case DensityType.LTO2: //case DensityType.T9840: - density = "LTO Ultrium-2 or T9840"; + density = Localization.LTO2_or_T9840; break; case DensityType.T9940: - density = "T9940"; + density = Localization.T9940; break; case DensityType.LTO3: //case DensityType.T9940: - density = "LTO Ultrium-3 or T9940"; + density = Localization.LTO3_or_T9940; break; case DensityType.T9840C: - density = "T9840C"; + density = Localization.T9840C; break; case DensityType.LTO4: //case DensityType.T9840D: - density = "LTO Ultrium-4 or T9840D"; + density = Localization.LTO4_or_T9840D; break; case DensityType.T10000A: - density = "T10000A"; + density = Localization.T10000A; break; case DensityType.T10000B: - density = "T10000B"; + density = Localization.T10000B; break; case DensityType.T10000C: - density = "T10000C"; + density = Localization.T10000C; break; case DensityType.T10000D: - density = "T10000D"; + density = Localization.T10000D; break; case DensityType.AIT1: - density = "AIT-1"; + density = Localization.AIT1; break; case DensityType.AIT2: - density = "AIT-2"; + density = Localization.AIT2; break; case DensityType.AIT3: - density = "AIT-3"; + density = Localization.AIT3; break; case DensityType.DDS2: - density = "DDS-2"; + density = Localization.DDS2; break; case DensityType.DDS3: - density = "DDS-3"; + density = Localization.DDS3; break; case DensityType.DDS4: - density = "DDS-4"; + density = Localization.DDS4; break; default: - density = $"unknown density code 0x{(byte)descriptor.Density:X2}"; + density = string.Format(Localization.unknown_density_code_0, + (byte)descriptor.Density); break; } @@ -458,11 +442,11 @@ return "a combination of write-once and erasable optical"; { density = descriptor.Density switch { - DensityType.Default => "LTO Ultrium cleaning cartridge", - DensityType.LTO3 => "LTO Ultrium-3 WORM", - DensityType.LTO4 => "LTO Ultrium-4 WORM", - DensityType.LTO5 => "LTO Ultrium-5 WORM", - _ => $"unknown density code 0x{(byte)descriptor.Density:X2}" + DensityType.Default => Localization.LTO_Ultrium_cleaning_cartridge, + DensityType.LTO3 => Localization.MediumType_LTO3WORM, + DensityType.LTO4 => Localization.MediumType_LTO4WORM, + DensityType.LTO5 => Localization.MediumType_LTO5WORM, + _ => string.Format(Localization.unknown_density_code_0, (byte)descriptor.Density) }; } @@ -471,8 +455,8 @@ return "a combination of write-once and erasable optical"; { density = descriptor.Density switch { - DensityType.LTO1 => "LTO Ultrium", - _ => $"unknown density code 0x{(byte)descriptor.Density:X2}" + DensityType.LTO1 => Localization.MediumType_LTO, + _ => string.Format(Localization.unknown_density_code_0, (byte)descriptor.Density) }; } @@ -481,8 +465,8 @@ return "a combination of write-once and erasable optical"; { density = descriptor.Density switch { - DensityType.LTO2 => "LTO Ultrium-2", - _ => $"unknown density code 0x{(byte)descriptor.Density:X2}" + DensityType.LTO2 => Localization.MediumType_LTO2, + _ => string.Format(Localization.unknown_density_code_0, (byte)descriptor.Density) }; } @@ -491,9 +475,9 @@ return "a combination of write-once and erasable optical"; { density = descriptor.Density switch { - DensityType.Default => "MLR1-26GB", - DensityType.DDS3 => "DDS-3", - _ => $"unknown density code 0x{(byte)descriptor.Density:X2}" + DensityType.Default => Localization.MLR1_26GB, + DensityType.DDS3 => Localization.DDS3, + _ => string.Format(Localization.unknown_density_code_0, (byte)descriptor.Density) }; } @@ -502,9 +486,9 @@ return "a combination of write-once and erasable optical"; { density = descriptor.Density switch { - DensityType.Default => "DC-9200", - DensityType.DDS4 => "DDS-4", - _ => $"unknown density code 0x{(byte)descriptor.Density:X2}" + DensityType.Default => Localization.DC9200, + DensityType.DDS4 => Localization.DDS4, + _ => string.Format(Localization.unknown_density_code_0, (byte)descriptor.Density) }; } @@ -513,8 +497,8 @@ return "a combination of write-once and erasable optical"; { density = descriptor.Density switch { - DensityType.DAT72 => "DAT-72", - _ => $"unknown density code 0x{(byte)descriptor.Density:X2}" + DensityType.DAT72 => Localization.MediumType_DAT72, + _ => string.Format(Localization.unknown_density_code_0, (byte)descriptor.Density) }; } @@ -524,8 +508,8 @@ return "a combination of write-once and erasable optical"; { density = descriptor.Density switch { - DensityType.LTO3 => "LTO Ultrium-3", - _ => $"unknown density code 0x{(byte)descriptor.Density:X2}" + DensityType.LTO3 => Localization.MediumType_LTO3, + _ => string.Format(Localization.unknown_density_code_0, (byte)descriptor.Density) }; } @@ -534,8 +518,8 @@ return "a combination of write-once and erasable optical"; { density = descriptor.Density switch { - DensityType.Default => "DDS cleaning cartridge", - _ => $"unknown density code 0x{(byte)descriptor.Density:X2}" + DensityType.Default => Localization.MediumType_DDSCleaning, + _ => string.Format(Localization.unknown_density_code_0, (byte)descriptor.Density) }; } @@ -545,8 +529,8 @@ return "a combination of write-once and erasable optical"; { density = descriptor.Density switch { - DensityType.LTO4 => "LTO Ultrium-4", - _ => $"unknown density code 0x{(byte)descriptor.Density:X2}" + DensityType.LTO4 => Localization.MediumType_LTO4, + _ => string.Format(Localization.unknown_density_code_0, (byte)descriptor.Density) }; } @@ -556,8 +540,8 @@ return "a combination of write-once and erasable optical"; { density = descriptor.Density switch { - DensityType.LTO5 => "LTO Ultrium-5", - _ => $"unknown density code 0x{(byte)descriptor.Density:X2}" + DensityType.LTO5 => Localization.MediumType_LTO5, + _ => string.Format(Localization.unknown_density_code_0, (byte)descriptor.Density) }; } @@ -567,8 +551,8 @@ return "a combination of write-once and erasable optical"; { density = descriptor.Density switch { - DensityType.LTO6 => "LTO Ultrium-6", - _ => $"unknown density code 0x{(byte)descriptor.Density:X2}" + DensityType.LTO6 => Localization.MediumType_LTO6, + _ => string.Format(Localization.unknown_density_code_0, (byte)descriptor.Density) }; } @@ -578,8 +562,8 @@ return "a combination of write-once and erasable optical"; { density = descriptor.Density switch { - DensityType.LTO7 => "LTO Ultrium-7", - _ => $"unknown density code 0x{(byte)descriptor.Density:X2}" + DensityType.LTO7 => Localization.MediumType_LTO7, + _ => string.Format(Localization.unknown_density_code_0, (byte)descriptor.Density) }; } @@ -588,11 +572,11 @@ return "a combination of write-once and erasable optical"; { density = descriptor.Density switch { - DensityType.LTO2 => "LTO Ultrium-2 in CD emulation mode", - DensityType.LTO3 => "LTO Ultrium-3 in CD emulation mode", - DensityType.LTO4 => "LTO Ultrium-4 in CD emulation mode", - DensityType.LTO5 => "LTO Ultrium-5 in CD emulation mode", - _ => $"unknown density code 0x{(byte)descriptor.Density:X2}" + DensityType.LTO2 => Localization.LTO2_CDemu, + DensityType.LTO3 => Localization.LTO3_CDemu, + DensityType.LTO4 => Localization.LTO4_CDemu, + DensityType.LTO5 => Localization.LTO5_CDemu, + _ => string.Format(Localization.unknown_density_code_0, (byte)descriptor.Density) }; } @@ -601,15 +585,15 @@ return "a combination of write-once and erasable optical"; { density = descriptor.Density switch { - DensityType.Ex8200 => "EXB-8200", - DensityType.Ex8200c => "EXB-8200 compressed", - DensityType.Ex8500 => "EXB-8500", - DensityType.Ex8500c => "EXB-8500 compressed", - DensityType.Mammoth => "Mammoth", - DensityType.IBM3590 => "IBM 3590", - DensityType.IBM3590E => "IBM 3590E", - DensityType.VXA1 => "VXA-1", - _ => $"unknown density code 0x{(byte)descriptor.Density:X2}" + DensityType.Ex8200 => Localization.EXB8200, + DensityType.Ex8200c => Localization.EXB8200_compressed, + DensityType.Ex8500 => Localization.EXB8500, + DensityType.Ex8500c => Localization.EXB8500_compressed, + DensityType.Mammoth => Localization.TapeName_Mammoth, + DensityType.IBM3590 => Localization.IBM3590, + DensityType.IBM3590E => Localization.IBM3590E, + DensityType.VXA1 => Localization.VXA1, + _ => string.Format(Localization.unknown_density_code_0, (byte)descriptor.Density) }; } @@ -618,18 +602,18 @@ return "a combination of write-once and erasable optical"; { density = descriptor.Density switch { - DensityType.Ex8200 => "EXB-8200", - DensityType.Ex8200c => "EXB-8200 compressed", - DensityType.Ex8500 => "EXB-8500", - DensityType.Ex8500c => "EXB-8500 compressed", - DensityType.Mammoth => "Mammoth", - DensityType.CT1 => "CompactTape I", - DensityType.CT2 => "CompactTape II", - DensityType.IBM3590 => "IBM 3590 extended", - DensityType.IBM3590E => "IBM 3590E extended", - DensityType.VXA2 => "VXA-2", - DensityType.VXA3 => "VXA-3", - _ => $"unknown density code 0x{(byte)descriptor.Density:X2}" + DensityType.Ex8200 => Localization.EXB8200, + DensityType.Ex8200c => Localization.EXB8200_compressed, + DensityType.Ex8500 => Localization.EXB8500, + DensityType.Ex8500c => Localization.EXB8500_compressed, + DensityType.Mammoth => Localization.TapeName_Mammoth, + DensityType.CT1 => Localization.CT1, + DensityType.CT2 => Localization.CT2, + DensityType.IBM3590 => Localization.IBM3590_extended, + DensityType.IBM3590E => Localization.IBM3590E_extended, + DensityType.VXA2 => Localization.VXA2, + DensityType.VXA3 => Localization.VXA3, + _ => string.Format(Localization.unknown_density_code_0, (byte)descriptor.Density) }; } @@ -639,44 +623,45 @@ return "a combination of write-once and erasable optical"; switch(descriptor.Density) { case DensityType.Ex8200: - density = "EXB-8200"; + density = Localization.EXB8200; break; case DensityType.Ex8200c: - density = "EXB-8200 compressed"; + density = Localization.EXB8200_compressed; break; case DensityType.Ex8500: - density = "EXB-8500"; + density = Localization.EXB8500; break; case DensityType.Ex8500c: - density = "EXB-8500 compressed"; + density = Localization.EXB8500_compressed; break; case DensityType.Mammoth: - density = "Mammoth"; + density = Localization.TapeName_Mammoth; break; case DensityType.DLT3_42k: - density = "DLTtape III at 42500 bpi"; + density = Localization.DLT3_42k; break; case DensityType.DLT3_56t: - density = "DLTtape III with 56 tracks"; + density = Localization.DLT3_56t; break; case DensityType.DLT3_62k: case DensityType.DLT3_62kAlt: - density = "DLTtape III at 62500 bpi"; + density = Localization.DLT3_62k; break; case DensityType.DLT3c: - density = "DLTtape III compressed"; + density = Localization.DLT3c; break; default: - density = $"unknown density code 0x{(byte)descriptor.Density:X2}"; + density = string.Format(Localization.unknown_density_code_0, + (byte)descriptor.Density); break; } @@ -688,36 +673,37 @@ return "a combination of write-once and erasable optical"; switch(descriptor.Density) { case DensityType.Ex8200: - density = "EXB-8200"; + density = Localization.EXB8200; break; case DensityType.Ex8200c: - density = "EXB-8200 compressed"; + density = Localization.EXB8200_compressed; break; case DensityType.Ex8500: - density = "EXB-8500"; + density = Localization.EXB8500; break; case DensityType.Ex8500c: - density = "EXB-8500 compressed"; + density = Localization.EXB8500_compressed; break; case DensityType.Mammoth: - density = "Mammoth"; + density = Localization.TapeName_Mammoth; break; case DensityType.DLT3_62k: case DensityType.DLT3_62kAlt: - density = "DLTtape IIIxt"; + density = Localization.DLT3_XT; break; case DensityType.DLT3c: - density = "DLTtape IIIxt compressed"; + density = Localization.DLT3_XT_compressed; break; default: - density = $"unknown density code 0x{(byte)descriptor.Density:X2}"; + density = string.Format(Localization.unknown_density_code_0, + (byte)descriptor.Density); break; } @@ -729,65 +715,66 @@ return "a combination of write-once and erasable optical"; switch(descriptor.Density) { case DensityType.Ex8200: - density = "EXB-8200"; + density = Localization.EXB8200; break; case DensityType.Ex8200c: - density = "EXB-8200 compressed"; + density = Localization.EXB8200_compressed; break; case DensityType.Ex8500: - density = "EXB-8500"; + density = Localization.EXB8500; break; case DensityType.Ex8500c: - density = "EXB-8500 compressed"; + density = Localization.EXB8500_compressed; break; case DensityType.Mammoth: - density = "Mammoth"; + density = Localization.TapeName_Mammoth; break; case DensityType.DLT4: case DensityType.DLT4Alt: - density = "DLTtape IV"; + density = Localization.DLT4; break; case DensityType.DLT4_123k: case DensityType.DLT4_123kAlt: - density = "DLTtape IV at 123090 bpi"; + density = Localization.DLT4_123k; break; case DensityType.DLT4_98k: - density = "DLTtape IV at 98250 bpi"; + density = Localization.DLT4_98k; break; case DensityType.Travan5: - density = "Travan 5"; + density = Localization.Travan5; break; case DensityType.DLT4c: - density = "DLTtape IV compressed"; + density = Localization.DLT4c; break; case DensityType.DLT4_85k: - density = "DLTtape IV at 85937 bpi"; + density = Localization.DLT4_85k; break; case DensityType.DLT4c_85k: - density = "DLTtape IV at 85937 bpi compressed"; + density = Localization.DLT4c_85k; break; case DensityType.DLT4c_123k: - density = "DLTtape IV at 123090 bpi compressed"; + density = Localization.DLT4c_123k; break; case DensityType.DLT4c_98k: - density = "DLTtape IV at 98250 bpi compressed"; + density = Localization.DLT4c_98k; break; default: - density = $"unknown density code 0x{(byte)descriptor.Density:X2}"; + density = string.Format(Localization.unknown_density_code_0, + (byte)descriptor.Density); break; } @@ -799,44 +786,45 @@ return "a combination of write-once and erasable optical"; switch(descriptor.Density) { case DensityType.Ex8200: - density = "EXB-8200"; + density = Localization.EXB8200; break; case DensityType.Ex8200c: - density = "EXB-8200 compressed"; + density = Localization.EXB8200_compressed; break; case DensityType.Ex8500: - density = "EXB-8500"; + density = Localization.EXB8500; break; case DensityType.Ex8500c: - density = "EXB-8500 compressed"; + density = Localization.EXB8500_compressed; break; case DensityType.Mammoth: - density = "Mammoth"; + density = Localization.TapeName_Mammoth; break; case DensityType.SDLT1_133k: case DensityType.SDLT1_133kAlt: - density = "Super DLTtape I at 133000 bpi"; + density = Localization.SDLT1_133k; break; case DensityType.SDLT1: //case DensityType.SDLT1Alt: - density = "Super DLTtape I"; + density = Localization.SDLT1; break; case DensityType.SDLT1c: - density = "Super DLTtape I compressed"; + density = Localization.SDLT1c; break; /*case DensityType.SDLT1_133kAlt: density = "Super DLTtape I at 133000 bpi compressed"; break;*/ default: - density = $"unknown density code 0x{(byte)descriptor.Density:X2}"; + density = string.Format(Localization.unknown_density_code_0, + (byte)descriptor.Density); break; } @@ -847,8 +835,8 @@ return "a combination of write-once and erasable optical"; { density = descriptor.Density switch { - DensityType.SDLT2 => "Super DLTtape II", - _ => $"unknown density code 0x{(byte)descriptor.Density:X2}" + DensityType.SDLT2 => Localization.MediumType_SDLT2, + _ => string.Format(Localization.unknown_density_code_0, (byte)descriptor.Density) }; } @@ -859,15 +847,16 @@ return "a combination of write-once and erasable optical"; { case DensityType.VStape1: case DensityType.VStape1Alt: - density = "VStape I"; + density = Localization.MediumType_VStapeI; break; case DensityType.VStape1c: - density = "VStape I compressed"; + density = Localization.VStape1c; break; default: - density = $"unknown density code 0x{(byte)descriptor.Density:X2}"; + density = string.Format(Localization.unknown_density_code_0, + (byte)descriptor.Density); break; } @@ -878,8 +867,8 @@ return "a combination of write-once and erasable optical"; { density = descriptor.Density switch { - DensityType.DLTS4 => "DLTtape S4", - _ => $"unknown density code 0x{(byte)descriptor.Density:X2}" + DensityType.DLTS4 => Localization.MediumType_DLTtapeS4, + _ => string.Format(Localization.unknown_density_code_0, (byte)descriptor.Density) }; } @@ -888,11 +877,11 @@ return "a combination of write-once and erasable optical"; { density = descriptor.Density switch { - DensityType.Ex8200 => "EXB-8200", - DensityType.Ex8200c => "EXB-8200 compressed", - DensityType.Ex8500 => "EXB-8500", - DensityType.Ex8500c => "EXB-8500 compressed", - _ => $"unknown density code 0x{(byte)descriptor.Density:X2}" + DensityType.Ex8200 => Localization.EXB8200, + DensityType.Ex8200c => Localization.EXB8200_compressed, + DensityType.Ex8500 => Localization.EXB8500, + DensityType.Ex8500c => Localization.EXB8500_compressed, + _ => string.Format(Localization.unknown_density_code_0, (byte)descriptor.Density) }; } @@ -901,12 +890,12 @@ return "a combination of write-once and erasable optical"; { density = descriptor.Density switch { - DensityType.Ex8200 => "EXB-8200", - DensityType.Ex8200c => "EXB-8200 compressed", - DensityType.Ex8500 => "EXB-8500", - DensityType.Ex8500c => "EXB-8500 compressed", - DensityType.Mammoth => "Mammoth", - _ => $"unknown density code 0x{(byte)descriptor.Density:X2}" + DensityType.Ex8200 => Localization.EXB8200, + DensityType.Ex8200c => Localization.EXB8200_compressed, + DensityType.Ex8500 => Localization.EXB8500, + DensityType.Ex8500c => Localization.EXB8500_compressed, + DensityType.Mammoth => Localization.TapeName_Mammoth, + _ => string.Format(Localization.unknown_density_code_0, (byte)descriptor.Density) }; } @@ -915,12 +904,12 @@ return "a combination of write-once and erasable optical"; { density = descriptor.Density switch { - DensityType.Ex8200 => "EXB-8200", - DensityType.Ex8200c => "EXB-8200 compressed", - DensityType.Ex8500 => "EXB-8500", - DensityType.Ex8500c => "EXB-8500 compressed", - DensityType.Mammoth => "Mammoth", - _ => $"unknown density code 0x{(byte)descriptor.Density:X2}" + DensityType.Ex8200 => Localization.EXB8200, + DensityType.Ex8200c => Localization.EXB8200_compressed, + DensityType.Ex8500 => Localization.EXB8500, + DensityType.Ex8500c => Localization.EXB8500_compressed, + DensityType.Mammoth => Localization.TapeName_Mammoth, + _ => string.Format(Localization.unknown_density_code_0, (byte)descriptor.Density) }; } @@ -929,12 +918,12 @@ return "a combination of write-once and erasable optical"; { density = descriptor.Density switch { - DensityType.Ex8200 => "EXB-8200", - DensityType.Ex8200c => "EXB-8200 compressed", - DensityType.Ex8500 => "EXB-8500", - DensityType.Ex8500c => "EXB-8500 compressed", - DensityType.Mammoth => "Mammoth", - _ => $"unknown density code 0x{(byte)descriptor.Density:X2}" + DensityType.Ex8200 => Localization.EXB8200, + DensityType.Ex8200c => Localization.EXB8200_compressed, + DensityType.Ex8500 => Localization.EXB8500, + DensityType.Ex8500c => Localization.EXB8500_compressed, + DensityType.Mammoth => Localization.TapeName_Mammoth, + _ => string.Format(Localization.unknown_density_code_0, (byte)descriptor.Density) }; } @@ -949,9 +938,9 @@ return "a combination of write-once and erasable optical"; { density = descriptor.Density switch { - DensityType.Mammoth => "Mammoth", - DensityType.Mammoth2 => "Mammoth-2", - _ => $"unknown density code 0x{(byte)descriptor.Density:X2}" + DensityType.Mammoth => Localization.TapeName_Mammoth, + DensityType.Mammoth2 => Localization.Mammoth2, + _ => string.Format(Localization.unknown_density_code_0, (byte)descriptor.Density) }; } @@ -960,8 +949,8 @@ return "a combination of write-once and erasable optical"; { density = descriptor.Density switch { - DensityType.Default => "DC-2900SL", - _ => $"unknown density code 0x{(byte)descriptor.Density:X2}" + DensityType.Default => Localization.MediumType_DC2900SL, + _ => string.Format(Localization.unknown_density_code_0, (byte)descriptor.Density) }; } @@ -970,8 +959,8 @@ return "a combination of write-once and erasable optical"; { density = descriptor.Density switch { - DensityType.Default => "DC-9250", - _ => $"unknown density code 0x{(byte)descriptor.Density:X2}" + DensityType.Default => Localization.DC9250, + _ => string.Format(Localization.unknown_density_code_0, (byte)descriptor.Density) }; } @@ -980,8 +969,8 @@ return "a combination of write-once and erasable optical"; { density = descriptor.Density switch { - DensityType.Default => "SLR-32", - _ => $"unknown density code 0x{(byte)descriptor.Density:X2}" + DensityType.Default => Localization.MediumType_SLR32, + _ => string.Format(Localization.unknown_density_code_0, (byte)descriptor.Density) }; } @@ -990,8 +979,8 @@ return "a combination of write-once and erasable optical"; { density = descriptor.Density switch { - DensityType.Default => "MRL1-26GBSL", - _ => $"unknown density code 0x{(byte)descriptor.Density:X2}" + DensityType.Default => Localization.MLR1_26GBSL, + _ => string.Format(Localization.unknown_density_code_0, (byte)descriptor.Density) }; } @@ -1000,8 +989,8 @@ return "a combination of write-once and erasable optical"; { density = descriptor.Density switch { - DensityType.Default => "SLRtape-50", - _ => $"unknown density code 0x{(byte)descriptor.Density:X2}" + DensityType.Default => Localization.MediumType_SLRtape50, + _ => string.Format(Localization.unknown_density_code_0, (byte)descriptor.Density) }; } @@ -1010,8 +999,8 @@ return "a combination of write-once and erasable optical"; { density = descriptor.Density switch { - DensityType.Default => "SLRtape-50 SL", - _ => $"unknown density code 0x{(byte)descriptor.Density:X2}" + DensityType.Default => Localization.MediumType_SLRtape50SL, + _ => string.Format(Localization.unknown_density_code_0, (byte)descriptor.Density) }; } @@ -1020,8 +1009,8 @@ return "a combination of write-once and erasable optical"; { density = descriptor.Density switch { - DensityType.Default => "SLR-32 SL", - _ => $"unknown density code 0x{(byte)descriptor.Density:X2}" + DensityType.Default => Localization.SLR32SL, + _ => string.Format(Localization.unknown_density_code_0, (byte)descriptor.Density) }; } @@ -1030,8 +1019,8 @@ return "a combination of write-once and erasable optical"; { density = descriptor.Density switch { - DensityType.Default => "SLR-5", - _ => $"unknown density code 0x{(byte)descriptor.Density:X2}" + DensityType.Default => Localization.MediumType_SLR5, + _ => string.Format(Localization.unknown_density_code_0, (byte)descriptor.Density) }; } @@ -1040,8 +1029,8 @@ return "a combination of write-once and erasable optical"; { density = descriptor.Density switch { - DensityType.Default => "SLR-5 SL", - _ => $"unknown density code 0x{(byte)descriptor.Density:X2}" + DensityType.Default => Localization.SLR5SL, + _ => string.Format(Localization.unknown_density_code_0, (byte)descriptor.Density) }; } @@ -1050,8 +1039,8 @@ return "a combination of write-once and erasable optical"; { density = descriptor.Density switch { - DensityType.Default => "SLRtape-7", - _ => $"unknown density code 0x{(byte)descriptor.Density:X2}" + DensityType.Default => Localization.MediumType_SLRtape7, + _ => string.Format(Localization.unknown_density_code_0, (byte)descriptor.Density) }; } @@ -1060,8 +1049,8 @@ return "a combination of write-once and erasable optical"; { density = descriptor.Density switch { - DensityType.Default => "SLRtape-7 SL", - _ => $"unknown density code 0x{(byte)descriptor.Density:X2}" + DensityType.Default => Localization.MediumType_SLRtape7SL, + _ => string.Format(Localization.unknown_density_code_0, (byte)descriptor.Density) }; } @@ -1070,8 +1059,8 @@ return "a combination of write-once and erasable optical"; { density = descriptor.Density switch { - DensityType.Default => "SLRtape-24", - _ => $"unknown density code 0x{(byte)descriptor.Density:X2}" + DensityType.Default => Localization.MediumType_SLRtape24, + _ => string.Format(Localization.unknown_density_code_0, (byte)descriptor.Density) }; } @@ -1080,8 +1069,8 @@ return "a combination of write-once and erasable optical"; { density = descriptor.Density switch { - DensityType.Default => "SLRtape-24 SL", - _ => $"unknown density code 0x{(byte)descriptor.Density:X2}" + DensityType.Default => Localization.MediumType_SLRtape24SL, + _ => string.Format(Localization.unknown_density_code_0, (byte)descriptor.Density) }; } @@ -1090,8 +1079,8 @@ return "a combination of write-once and erasable optical"; { density = descriptor.Density switch { - DensityType.Default => "SLRtape-140", - _ => $"unknown density code 0x{(byte)descriptor.Density:X2}" + DensityType.Default => Localization.MediumType_SLRtape140, + _ => string.Format(Localization.unknown_density_code_0, (byte)descriptor.Density) }; } @@ -1100,8 +1089,8 @@ return "a combination of write-once and erasable optical"; { density = descriptor.Density switch { - DensityType.Default => "SLRtape-40", - _ => $"unknown density code 0x{(byte)descriptor.Density:X2}" + DensityType.Default => Localization.MediumType_SLRtape40, + _ => string.Format(Localization.unknown_density_code_0, (byte)descriptor.Density) }; } @@ -1110,8 +1099,8 @@ return "a combination of write-once and erasable optical"; { density = descriptor.Density switch { - DensityType.Default => "SLRtape-60 or SLRtape-75", - _ => $"unknown density code 0x{(byte)descriptor.Density:X2}" + DensityType.Default => Localization.MediumType_SLRtape60, + _ => string.Format(Localization.unknown_density_code_0, (byte)descriptor.Density) }; } @@ -1120,8 +1109,8 @@ return "a combination of write-once and erasable optical"; { density = descriptor.Density switch { - DensityType.Default => "SLRtape-100", - _ => $"unknown density code 0x{(byte)descriptor.Density:X2}" + DensityType.Default => Localization.MediumType_SLRtape100, + _ => string.Format(Localization.unknown_density_code_0, (byte)descriptor.Density) }; } @@ -1130,14 +1119,14 @@ return "a combination of write-once and erasable optical"; { density = descriptor.Density switch { - DensityType.Default => "SLR40, SLR60 or SLR100", - _ => $"unknown density code 0x{(byte)descriptor.Density:X2}" + DensityType.Default => Localization.SLR40_60_100, + _ => string.Format(Localization.unknown_density_code_0, (byte)descriptor.Density) }; } break; default: - density = $"unknown density code 0x{(byte)descriptor.Density:X2}"; + density = string.Format(Localization.unknown_density_code_0, (byte)descriptor.Density); break; } @@ -1145,27 +1134,31 @@ return "a combination of write-once and erasable optical"; if(density != "") if(descriptor.Blocks == 0) if(descriptor.BlockLength == 0) - sb.AppendFormat("\tAll remaining blocks conform to {0} and have a variable length", - density).AppendLine(); + sb. + AppendFormat("\t" + Localization.All_remaining_blocks_conform_to_0_and_have_a_variable_length, + density).AppendLine(); else - sb.AppendFormat("\tAll remaining blocks conform to {0} and are {1} bytes each", - density, descriptor.BlockLength).AppendLine(); + sb. + AppendFormat("\t" + Localization.All_remaining_blocks_conform_to_0_and_are_1_bytes_each, + density, descriptor.BlockLength).AppendLine(); else if(descriptor.BlockLength == 0) - sb.AppendFormat("\t{0} blocks conform to {1} and have a variable length", + sb.AppendFormat("\t" + Localization._0_blocks_conform_to_1_and_have_a_variable_length, descriptor.Blocks, density).AppendLine(); else - sb.AppendFormat("\t{0} blocks conform to {1} and are {2} bytes each", descriptor.Blocks, - density, descriptor.BlockLength).AppendLine(); + sb.AppendFormat("\t" + Localization._0_blocks_conform_to_1_and_are_2_bytes_each, + descriptor.Blocks, density, descriptor.BlockLength).AppendLine(); else if(descriptor.Blocks == 0) if(descriptor.BlockLength == 0) - sb.AppendFormat("\tAll remaining blocks have a variable length").AppendLine(); - else - sb.AppendFormat("\tAll remaining blocks are {0} bytes each", descriptor.BlockLength). + sb.AppendFormat("\t" + Localization.All_remaining_blocks_have_a_variable_length). AppendLine(); + else + sb.AppendFormat("\t" + Localization.All_remaining_blocks_are_0_bytes_each, + descriptor.BlockLength).AppendLine(); else if(descriptor.BlockLength == 0) - sb.AppendFormat("\t{0} blocks have a variable length", descriptor.Blocks).AppendLine(); + sb.AppendFormat("\t" + Localization._0_blocks_have_a_variable_length, descriptor.Blocks). + AppendLine(); else - sb.AppendFormat("\t{0} blocks are {1} bytes each", descriptor.Blocks, + sb.AppendFormat("\t" + Localization._0_blocks_are_1_bytes_each, descriptor.Blocks, descriptor.BlockLength).AppendLine(); } @@ -1179,15 +1172,15 @@ return "a combination of write-once and erasable optical"; switch(header.Value.BufferedMode) { case 0: - sb.AppendLine("\tDevice prints directly"); + sb.AppendLine("\t" + Localization.Device_prints_directly); break; case 1: - sb.AppendLine("\tDevice uses a print cache"); + sb.AppendLine("\t" + Localization.Device_uses_a_print_cache); break; default: - sb.AppendFormat("\tUnknown buffered mode code 0x{0:X2}", header.Value.BufferedMode). + sb.AppendFormat("\t" + Localization.Unknown_buffered_mode_code_0, header.Value.BufferedMode). AppendLine(); break; @@ -1202,40 +1195,40 @@ return "a combination of write-once and erasable optical"; { if(header.Value.MediumType != MediumTypes.Default) { - sb.Append("\tMedium is "); + sb.Append("\t" + Localization.Medium_is_); switch(header.Value.MediumType) { case MediumTypes.ReadOnly: - sb.AppendLine("a Read-only optical"); + sb.AppendLine(Localization.GetMediumTypeDescription_ReadOnly); break; case MediumTypes.WORM: - sb.AppendLine("a Write-once Read-many optical"); + sb.AppendLine(Localization.GetMediumTypeDescription_WORM); break; case MediumTypes.Erasable: - sb.AppendLine("a Erasable optical"); + sb.AppendLine(Localization.GetMediumTypeDescription_Erasable); break; case MediumTypes.RO_WORM: - sb.AppendLine("a combination of read-only and write-once optical"); + sb.AppendLine(Localization.GetMediumTypeDescription_RO_WORM); break; case MediumTypes.RO_RW: - sb.AppendLine("a combination of read-only and erasable optical"); + sb.AppendLine(Localization.a_combination_of_read_only_and_erasable_optical); break; case MediumTypes.WORM_RW: - sb.AppendLine("a combination of write-once and erasable optical"); + sb.AppendLine(Localization.a_combination_of_write_once_and_erasable_optical); break; case MediumTypes.DOW: - sb.AppendLine("a direct-overwrite optical"); + sb.AppendLine(Localization.GetMediumTypeDescription_DOW); break; default: - sb.AppendFormat("an unknown medium type 0x{0:X2}", (byte)header.Value.MediumType). + sb.AppendFormat(Localization.an_unknown_medium_type_0, (byte)header.Value.MediumType). AppendLine(); break; @@ -1243,13 +1236,13 @@ return "a combination of write-once and erasable optical"; } if(header.Value.WriteProtected) - sb.AppendLine("\tMedium is write protected"); + sb.AppendLine("\t" + Localization.Medium_is_write_protected); if(header.Value.EBC) - sb.AppendLine("\tBlank checking during write is enabled"); + sb.AppendLine("\t" + Localization.Blank_checking_during_write_is_enabled); if(header.Value.DPOFUA) - sb.AppendLine("\tDrive supports DPO and FUA bits"); + sb.AppendLine("\t" + Localization.Drive_supports_DPO_and_FUA_bits); if(header.Value.BlockDescriptors != null) foreach(BlockDescriptor descriptor in header.Value.BlockDescriptors) @@ -1260,43 +1253,43 @@ return "a combination of write-once and erasable optical"; { case DensityType.Default: break; case DensityType.ISO10090: - density = "ISO/IEC 10090: 86 mm Read/Write single-sided optical disc with 12500 tracks"; + density = Localization.ISO10090; break; case DensityType.D581: - density = "89 mm Read/Write double-sided optical disc with 12500 tracks"; + density = Localization.D581; break; case DensityType.X3_212: - density = "ANSI X3.212: 130 mm Read/Write double-sided optical disc with 18750 tracks"; + density = Localization.X3_212; break; case DensityType.X3_191: - density = "ANSI X3.191: 130 mm Write-Once double-sided optical disc with 30000 tracks"; + density = Localization.X3_191; break; case DensityType.X3_214: - density = "ANSI X3.214: 130 mm Write-Once double-sided optical disc with 20000 tracks"; + density = Localization.X3_214; break; case DensityType.X3_211: - density = "ANSI X3.211: 130 mm Write-Once double-sided optical disc with 18750 tracks"; + density = Localization.X3_211; break; case DensityType.D407: - density = "200 mm optical disc"; + density = Localization.D407; break; case DensityType.ISO13614: - density = "ISO/IEC 13614: 300 mm double-sided optical disc"; + density = Localization.ISO13614; break; case DensityType.X3_200: - density = "ANSI X3.200: 356 mm double-sided optical disc with 56350 tracks"; + density = Localization.X3_200; break; default: - density = $"unknown density code 0x{(byte)descriptor.Density:X2}"; + density = string.Format(Localization.unknown_density_code_0, (byte)descriptor.Density); break; } @@ -1304,27 +1297,30 @@ return "a combination of write-once and erasable optical"; if(density != "") if(descriptor.Blocks == 0) if(descriptor.BlockLength == 0) - sb.AppendFormat("\tAll remaining blocks are {0} and have a variable length", - density).AppendLine(); + sb. + AppendFormat("\t" + Localization.All_remaining_blocks_are_0_and_have_a_variable_length, + density).AppendLine(); else - sb.AppendFormat("\tAll remaining blocks are {0} and are {1} bytes each", density, - descriptor.BlockLength).AppendLine(); + sb.AppendFormat("\t" + Localization.All_remaining_blocks_are_0_and_are_1_bytes_each, + density, descriptor.BlockLength).AppendLine(); else if(descriptor.BlockLength == 0) - sb.AppendFormat("\t{0} blocks are {1} and have a variable length", descriptor.Blocks, - density).AppendLine(); + sb.AppendFormat("\t" + Localization._0_blocks_are_1_and_have_a_variable_length, + descriptor.Blocks, density).AppendLine(); else - sb.AppendFormat("\t{0} blocks are {1} and are {2} bytes each", descriptor.Blocks, - density, descriptor.BlockLength).AppendLine(); + sb.AppendFormat("\t" + Localization._0_blocks_are_1_and_are_2_bytes_each, + descriptor.Blocks, density, descriptor.BlockLength).AppendLine(); else if(descriptor.Blocks == 0) if(descriptor.BlockLength == 0) - sb.AppendFormat("\tAll remaining blocks have a variable length").AppendLine(); - else - sb.AppendFormat("\tAll remaining blocks are {0} bytes each", descriptor.BlockLength). + sb.AppendFormat("\t" + Localization.All_remaining_blocks_have_a_variable_length). AppendLine(); + else + sb.AppendFormat("\t" + Localization.All_remaining_blocks_are_0_bytes_each, + descriptor.BlockLength).AppendLine(); else if(descriptor.BlockLength == 0) - sb.AppendFormat("\t{0} blocks have a variable length", descriptor.Blocks).AppendLine(); + sb.AppendFormat("\t" + Localization._0_blocks_have_a_variable_length, descriptor.Blocks). + AppendLine(); else - sb.AppendFormat("\t{0} blocks are {1} bytes each", descriptor.Blocks, + sb.AppendFormat("\t" + Localization._0_blocks_are_1_bytes_each, descriptor.Blocks, descriptor.BlockLength).AppendLine(); } @@ -1335,68 +1331,68 @@ return "a combination of write-once and erasable optical"; #region Multimedia device mode header case PeripheralDeviceTypes.MultiMediaDevice: { - sb.Append("\tMedium is "); + sb.Append("\t" + Localization.Medium_is_); switch(header.Value.MediumType) { case MediumTypes.CDROM: - sb.AppendLine("120 mm CD-ROM"); + sb.AppendLine(Localization.MediumTypes_CDROM); break; case MediumTypes.CDDA: - sb.AppendLine("120 mm Compact Disc Digital Audio"); + sb.AppendLine(Localization.MediumTypes_CDDA); break; case MediumTypes.MixedCD: - sb.AppendLine("120 mm Compact Disc with data and audio"); + sb.AppendLine(Localization.MediumTypes_MixedCD); break; case MediumTypes.CDROM_80: - sb.AppendLine("80 mm CD-ROM"); + sb.AppendLine(Localization.MediumTypes_CDROM_80); break; case MediumTypes.CDDA_80: - sb.AppendLine("80 mm Compact Disc Digital Audio"); + sb.AppendLine(Localization.MediumTypes_CDDA_80); break; case MediumTypes.MixedCD_80: - sb.AppendLine("80 mm Compact Disc with data and audio"); + sb.AppendLine(Localization.MediumTypes_MixedCD_80); break; case MediumTypes.Unknown_CD: - sb.AppendLine("Unknown medium type"); + sb.AppendLine(Localization.Unknown_medium_type); break; case MediumTypes.HybridCD: - sb.AppendLine("120 mm Hybrid disc (Photo CD)"); + sb.AppendLine(Localization.MediumTypes_HybridCD); break; case MediumTypes.Unknown_CDR: - sb.AppendLine("Unknown size CD-R"); + sb.AppendLine(Localization.MediumTypes_Unknown_CDR); break; case MediumTypes.CDR: - sb.AppendLine("120 mm CD-R with data only"); + sb.AppendLine(Localization.MediumTypes_CDR); break; case MediumTypes.CDR_DA: - sb.AppendLine("120 mm CD-R with audio only"); + sb.AppendLine(Localization.MediumTypes_CDR_DA); break; case MediumTypes.CDR_Mixed: - sb.AppendLine("120 mm CD-R with data and audio"); + sb.AppendLine(Localization.MediumTypes_CDR_Mixed); break; case MediumTypes.HybridCDR: - sb.AppendLine("120 mm Hybrid CD-R (Photo CD)"); + sb.AppendLine(Localization.MediumTypes_HybridCDR); break; case MediumTypes.CDR_80: - sb.AppendLine("80 mm CD-R with data only"); + sb.AppendLine(Localization.MediumTypes_CDR_80); break; case MediumTypes.CDR_DA_80: - sb.AppendLine("80 mm CD-R with audio only"); + sb.AppendLine(Localization.MediumTypes_CDR_DA_80); break; case MediumTypes.CDR_Mixed_80: @@ -1404,96 +1400,96 @@ return "a combination of write-once and erasable optical"; break; case MediumTypes.HybridCDR_80: - sb.AppendLine("80 mm Hybrid CD-R (Photo CD)"); + sb.AppendLine(Localization.MediumTypes_HybridCDR_80); break; case MediumTypes.Unknown_CDRW: - sb.AppendLine("Unknown size CD-RW"); + sb.AppendLine(Localization.MediumTypes_Unknown_CDRW); break; case MediumTypes.CDRW: - sb.AppendLine("120 mm CD-RW with data only"); + sb.AppendLine(Localization.MediumTypes_CDRW); break; case MediumTypes.CDRW_DA: - sb.AppendLine("120 mm CD-RW with audio only"); + sb.AppendLine(Localization.MediumTypes_CDRW_DA); break; case MediumTypes.CDRW_Mixed: - sb.AppendLine("120 mm CD-RW with data and audio"); + sb.AppendLine(Localization.MediumTypes_CDRW_Mixed); break; case MediumTypes.HybridCDRW: - sb.AppendLine("120 mm Hybrid CD-RW (Photo CD)"); + sb.AppendLine(Localization.MediumTypes_HybridCDRW); break; case MediumTypes.CDRW_80: - sb.AppendLine("80 mm CD-RW with data only"); + sb.AppendLine(Localization.MediumTypes_CDRW_80); break; case MediumTypes.CDRW_DA_80: - sb.AppendLine("80 mm CD-RW with audio only"); + sb.AppendLine(Localization.MediumTypes_CDRW_DA_80); break; case MediumTypes.CDRW_Mixed_80: - sb.AppendLine("80 mm CD-RW with data and audio"); + sb.AppendLine(Localization.MediumTypes_CDRW_Mixed_80); break; case MediumTypes.HybridCDRW_80: - sb.AppendLine("80 mm Hybrid CD-RW (Photo CD)"); + sb.AppendLine(Localization.MediumTypes_HybridCDRW_80); break; case MediumTypes.Unknown_HD: - sb.AppendLine("Unknown size HD disc"); + sb.AppendLine(Localization.MediumTypes_Unknown_HD); break; case MediumTypes.HD: - sb.AppendLine("120 mm HD disc"); + sb.AppendLine(Localization.MediumTypes_HD); break; case MediumTypes.HD_80: - sb.AppendLine("80 mm HD disc"); + sb.AppendLine(Localization.MediumTypes_HD_80); break; case MediumTypes.NoDisc: - sb.AppendLine("No disc inserted, tray closed or caddy inserted"); + sb.AppendLine(Localization.No_disc_inserted_tray_closed_or_caddy_inserted); break; case MediumTypes.TrayOpen: - sb.AppendLine("Tray open or no caddy inserted"); + sb.AppendLine(Localization.Tray_open_or_no_caddy_inserted); break; case MediumTypes.MediumError: - sb.AppendLine("Tray closed or caddy inserted but medium error"); + sb.AppendLine(Localization.Tray_closed_or_caddy_inserted_but_medium_error); break; case MediumTypes.UnknownBlockDevice: - sb.AppendLine("Unknown block device"); + sb.AppendLine(Localization.Unknown_block_device); break; case MediumTypes.ReadOnlyBlockDevice: - sb.AppendLine("Read-only block device"); + sb.AppendLine(Localization.Read_only_block_device); break; case MediumTypes.ReadWriteBlockDevice: - sb.AppendLine("Read/Write block device"); + sb.AppendLine(Localization.Read_Write_block_device); break; case MediumTypes.LTOCD: - sb.AppendLine("LTO in CD-ROM emulation mode"); + sb.AppendLine(Localization.LTO_in_CD_ROM_emulation_mode); break; default: - sb.AppendFormat("Unknown medium type 0x{0:X2}", (byte)header.Value.MediumType).AppendLine(); + sb.AppendFormat(Localization.Unknown_medium_type_0, (byte)header.Value.MediumType).AppendLine(); break; } if(header.Value.WriteProtected) - sb.AppendLine("\tMedium is write protected"); + sb.AppendLine("\t" + Localization.Medium_is_write_protected); if(header.Value.DPOFUA) - sb.AppendLine("\tDrive supports DPO and FUA bits"); + sb.AppendLine("\t" + Localization.Drive_supports_DPO_and_FUA_bits); if(header.Value.BlockDescriptors != null) foreach(BlockDescriptor descriptor in header.Value.BlockDescriptors) @@ -1504,55 +1500,56 @@ return "a combination of write-once and erasable optical"; { case DensityType.Default: break; case DensityType.User: - density = "user data only"; + density = Localization.user_data_only; break; case DensityType.UserAuxiliary: - density = "user data plus auxiliary data"; + density = Localization.user_data_plus_auxiliary_data; break; case DensityType.UserAuxiliaryTag: - density = "4-byte tag, user data plus auxiliary data"; + density = Localization._4byte_tag_user_data_plus_auxiliary_data; break; case DensityType.Audio: - density = "audio information only"; + density = Localization.audio_information_only; break; case DensityType.LTO2: - density = "LTO Ultrium-2"; + density = Localization.MediumType_LTO2; break; case DensityType.LTO3: - density = "LTO Ultrium-3"; + density = Localization.MediumType_LTO3; break; case DensityType.LTO4: - density = "LTO Ultrium-4"; + density = Localization.MediumType_LTO4; break; case DensityType.LTO5: - density = "LTO Ultrium-5"; + density = Localization.MediumType_LTO5; break; default: - density = $"with unknown density code 0x{(byte)descriptor.Density:X2}"; + density = string.Format(Localization.with_unknown_density_code_0, + (byte)descriptor.Density); break; } if(density != "") if(descriptor.Blocks == 0) - sb.AppendFormat("\tAll remaining blocks have {0} and are {1} bytes each", density, - descriptor.BlockLength).AppendLine(); - else - sb.AppendFormat("\t{0} blocks have {1} and are {2} bytes each", descriptor.Blocks, + sb.AppendFormat("\t" + Localization.All_remaining_blocks_have_0_and_are_1_bytes_each, density, descriptor.BlockLength).AppendLine(); + else + sb.AppendFormat("\t" + Localization._0_blocks_have_1_and_are_2_bytes_each, + descriptor.Blocks, density, descriptor.BlockLength).AppendLine(); else if(descriptor.Blocks == 0) - sb.AppendFormat("\tAll remaining blocks are {0} bytes each", descriptor.BlockLength). - AppendLine(); + sb.AppendFormat("\t" + Localization.All_remaining_blocks_are_0_bytes_each, + descriptor.BlockLength).AppendLine(); else - sb.AppendFormat("\t{0} blocks are {1} bytes each", descriptor.Blocks, + sb.AppendFormat("\t" + Localization._0_blocks_are_1_bytes_each, descriptor.Blocks, descriptor.BlockLength).AppendLine(); } diff --git a/SCSI/SSC/BlockLimits.cs b/SCSI/SSC/BlockLimits.cs index c49883a8d..408e1b2d0 100644 --- a/SCSI/SSC/BlockLimits.cs +++ b/SCSI/SSC/BlockLimits.cs @@ -33,6 +33,7 @@ using System; using System.Diagnostics.CodeAnalysis; using System.Text; +using Aaru.Localization; namespace Aaru.Decoders.SCSI.SSC; @@ -61,19 +62,19 @@ public static class BlockLimits var sb = new StringBuilder(); if(decoded.Value.maxBlockLen == decoded.Value.minBlockLen) - sb.AppendFormat("Device's block size is fixed at {0} bytes", decoded.Value.minBlockLen).AppendLine(); + sb.AppendFormat(Core.Device_block_size_is_fixed_at_0_bytes, decoded.Value.minBlockLen).AppendLine(); else { if(decoded.Value.maxBlockLen > 0) - sb.AppendFormat("Device's maximum block size is {0} bytes", decoded.Value.maxBlockLen).AppendLine(); + sb.AppendFormat(Core.Device_maximum_block_size_is_0_bytes, decoded.Value.maxBlockLen).AppendLine(); else - sb.AppendLine("Device does not specify a maximum block size"); + sb.AppendLine(Core.Device_does_not_specify_a_maximum_block_size); - sb.AppendFormat("Device's minimum block size is {0} bytes", decoded.Value.minBlockLen).AppendLine(); + sb.AppendFormat(Core.Device_minimum_block_size_is_0_bytes, decoded.Value.minBlockLen).AppendLine(); if(decoded.Value.granularity > 0) - sb.AppendFormat("Device's needs a block size granularity of 2^{0} ({1}) bytes", - decoded.Value.granularity, Math.Pow(2, decoded.Value.granularity)).AppendLine(); + sb.AppendFormat(Core.Device_needs_a_block_size_granularity_of_pow_0_1_bytes, decoded.Value.granularity, + Math.Pow(2, decoded.Value.granularity)).AppendLine(); } return sb.ToString(); diff --git a/SCSI/SSC/DensitySupport.cs b/SCSI/SSC/DensitySupport.cs index 1de1aebd1..ff07c8eba 100644 --- a/SCSI/SSC/DensitySupport.cs +++ b/SCSI/SSC/DensitySupport.cs @@ -112,28 +112,29 @@ public static class DensitySupport foreach(DensitySupportDescriptor descriptor in decoded.descriptors) { - sb.AppendFormat("Density \"{0}\" defined by \"{1}\".", descriptor.name, descriptor.organization). - AppendLine(); + sb.AppendFormat(Localization.Density_0_defined_by_1, descriptor.name, descriptor.organization).AppendLine(); - sb.AppendFormat("\tPrimary code: {0:X2}h", descriptor.primaryCode).AppendLine(); + sb.AppendFormat("\t" + Localization.Primary_code_0, descriptor.primaryCode).AppendLine(); if(descriptor.primaryCode != descriptor.secondaryCode) - sb.AppendFormat("\tSecondary code: {0:X2}h", descriptor.secondaryCode).AppendLine(); + sb.AppendFormat("\t" + Localization.Secondary_code_0, descriptor.secondaryCode).AppendLine(); if(descriptor.writable) - sb.AppendLine("\tDrive can write this density"); + sb.AppendLine("\t" + Localization.Drive_can_write_this_density); if(descriptor.duplicate) - sb.AppendLine("\tThis descriptor is duplicated"); + sb.AppendLine("\t" + Localization.This_descriptor_is_duplicated); if(descriptor.defaultDensity) - sb.AppendLine("\tThis is the default density on the drive"); + sb.AppendLine("\t" + Localization.This_is_the_default_density_on_the_drive); - sb.AppendFormat("\tDensity has {0} bits per mm, with {1} tracks in a {2} mm width tape", descriptor.bpmm, - descriptor.tracks, descriptor.width / (double)10).AppendLine(); + sb.AppendFormat("\t" + Localization.Density_has_0_bits_per_mm__with_1_tracks_in_a_2_mm_width_tape, + descriptor.bpmm, descriptor.tracks, descriptor.width / (double)10).AppendLine(); - sb.AppendFormat("\tDensity maximum capacity is {0} megabytes", descriptor.capacity).AppendLine(); - sb.AppendFormat("\tDensity description: {0}", descriptor.description).AppendLine(); + sb.AppendFormat("\t" + Localization.Density_maximum_capacity_is_0_megabytes, descriptor.capacity). + AppendLine(); + + sb.AppendFormat("\t" + Localization.Density_description_0, descriptor.description).AppendLine(); sb.AppendLine(); } @@ -209,14 +210,14 @@ public static class DensitySupport foreach(MediaTypeSupportDescriptor descriptor in decoded.descriptors) { - sb.AppendFormat("Medium type \"{0}\" defined by \"{1}\".", descriptor.name, descriptor.organization). + sb.AppendFormat(Localization.Medium_type_0_defined_by_1, descriptor.name, descriptor.organization). AppendLine(); - sb.AppendFormat("\tMedium type code: {0:X2}h", descriptor.mediumType).AppendLine(); + sb.AppendFormat("\t" + Localization.Medium_type_code_0, descriptor.mediumType).AppendLine(); if(descriptor.numberOfCodes > 0) { - sb.AppendFormat("\tMedium supports following density codes:"); + sb.AppendFormat("\t" + Localization.Medium_supports_following_density_codes); for(int i = 0; i < descriptor.numberOfCodes; i++) sb.AppendFormat(" {0:X2}h", descriptor.densityCodes[i]); @@ -224,10 +225,10 @@ public static class DensitySupport sb.AppendLine(); } - sb.AppendFormat("\tMedium has a nominal length of {0} m in a {1} mm width tape", descriptor.length, - descriptor.width / (double)10).AppendLine(); + sb.AppendFormat("\t" + Localization.Medium_has_a_nominal_length_of_0_m_in_a_1_mm_width_tape, + descriptor.length, descriptor.width / (double)10).AppendLine(); - sb.AppendFormat("\tMedium description: {0}", descriptor.description).AppendLine(); + sb.AppendFormat("\t" + Localization.Medium_description_0, descriptor.description).AppendLine(); sb.AppendLine(); } diff --git a/SCSI/Sense.cs b/SCSI/Sense.cs index 18656ab75..82e95f73c 100644 --- a/SCSI/Sense.cs +++ b/SCSI/Sense.cs @@ -362,8 +362,10 @@ public static class Sense return null; return sense.Value.AddressValid - ? $"Error class {sense.Value.ErrorClass} type {sense.Value.ErrorType} happened on block { - sense.Value.LBA}\n" : $"Error class {sense.Value.ErrorClass} type {sense.Value.ErrorType}\n"; + ? string.Format(Localization.Error_class_0_type_1_happened_on_block_2 + "\n", sense.Value.ErrorClass, + sense.Value.ErrorType, sense.Value.LBA) + : string.Format(Localization.Error_class_0_type_1 + "\n", sense.Value.ErrorClass, + sense.Value.ErrorType); } public static string PrettifySense(FixedSense? sense) @@ -375,22 +377,22 @@ public static class Sense var sb = new StringBuilder(); - sb.AppendFormat("SCSI SENSE: {0}", GetSenseKey(decoded.SenseKey)).AppendLine(); + sb.AppendFormat(Localization.SCSI_SENSE_0, GetSenseKey(decoded.SenseKey)).AppendLine(); if(decoded.SegmentNumber > 0) - sb.AppendFormat("On segment {0}", decoded.SegmentNumber).AppendLine(); + sb.AppendFormat(Localization.On_segment_0, decoded.SegmentNumber).AppendLine(); if(decoded.Filemark) - sb.AppendLine("Filemark or setmark found"); + sb.AppendLine(Localization.Filemark_or_setmark_found); if(decoded.EOM) - sb.AppendLine("End-of-medium/partition found"); + sb.AppendLine(Localization.End_of_medium_partition_found); if(decoded.ILI) - sb.AppendLine("Incorrect length indicator"); + sb.AppendLine(Localization.Incorrect_length_indicator); if(decoded.InformationValid) - sb.AppendFormat("On logical block {0}", decoded.Information).AppendLine(); + sb.AppendFormat(Localization.On_logical_block_0, decoded.Information).AppendLine(); if(decoded.AdditionalLength < 6) return sb.ToString(); @@ -407,28 +409,28 @@ public static class Sense { case SenseKeys.IllegalRequest: { - sb.AppendLine((decoded.SenseKeySpecific & 0x400000) == 0x400000 ? "Illegal field in CDB" - : "Illegal field in data parameters"); + sb.AppendLine((decoded.SenseKeySpecific & 0x400000) == 0x400000 ? Localization.Illegal_field_in_CDB + : Localization.Illegal_field_in_data_parameters); if((decoded.SenseKeySpecific & 0x200000) == 0x200000) - sb.AppendFormat("Invalid value in bit {0} in field {1} of CDB", + sb.AppendFormat(Localization.Invalid_value_in_bit_0_in_field_1_of_CDB, (decoded.SenseKeySpecific & 0x70000) >> 16, decoded.SenseKeySpecific & 0xFFFF). AppendLine(); else - sb.AppendFormat("Invalid value in field {0} of CDB", decoded.SenseKeySpecific & 0xFFFF). + sb.AppendFormat(Localization.Invalid_value_in_field_0_of_CDB, decoded.SenseKeySpecific & 0xFFFF). AppendLine(); } break; case SenseKeys.NotReady: - sb.AppendFormat("Format progress {0:P}", (double)(decoded.SenseKeySpecific & 0xFFFF) / 65536). + sb.AppendFormat(Localization.Format_progress_0, (double)(decoded.SenseKeySpecific & 0xFFFF) / 65536). AppendLine(); break; case SenseKeys.RecoveredError: case SenseKeys.HardwareError: case SenseKeys.MediumError: - sb.AppendFormat("Actual retry count is {0}", decoded.SenseKeySpecific & 0xFFFF).AppendLine(); + sb.AppendFormat(Localization.Actual_retry_count_is_0, decoded.SenseKeySpecific & 0xFFFF).AppendLine(); break; } @@ -445,7 +447,7 @@ public static class Sense var sb = new StringBuilder(); - sb.AppendFormat("SCSI SENSE: {0}", GetSenseKey(decoded.SenseKey)).AppendLine(); + sb.AppendFormat(Localization.SCSI_SENSE_0, GetSenseKey(decoded.SenseKey)).AppendLine(); sb.AppendLine(GetSenseDescription(decoded.ASC, decoded.ASCQ)); if(decoded.Descriptors == null || @@ -588,7 +590,8 @@ public static class Sense public static void DecodeDescriptor0D(byte[] descriptor) => throw new NotImplementedException("Check SBC-3"); - public static string PrettifyDescriptor00(ulong information) => $"On logical block {information}\n"; + public static string PrettifyDescriptor00(ulong information) => + string.Format(Localization.Sense_PrettifyDescriptor00_On_logical_block_0 + "\n", information); public static string PrettifyDescriptor00(byte[] descriptor) => PrettifyDescriptor00(DecodeDescriptor00(descriptor)); @@ -1991,10 +1994,11 @@ public static class Sense } return ASC >= 0x80 - ? ASCQ >= 0x80 ? $"VENDOR-SPECIFIC ASC {ASC:X2}h WITH VENDOR-SPECIFIC ASCQ {ASCQ:X2}h" - : $"VENDOR-SPECIFIC ASC {ASC:X2}h WITH ASCQ {ASCQ:X2}h" + ? ASCQ >= 0x80 + ? string.Format(Localization.VENDOR_SPECIFIC_ASC_0_WITH_VENDOR_SPECIFIC_ASCQ_1, ASC, ASCQ) + : string.Format(Localization.VENDOR_SPECIFIC_ASC_0_WITH_ASCQ_1, ASC, ASCQ) : ASCQ >= 0x80 - ? $"ASC {ASC:X2}h WITH VENDOR-SPECIFIC ASCQ {ASCQ:X2}h" - : $"ASC {ASC:X2}h WITH ASCQ {ASCQ:X2}h"; + ? string.Format(Localization.ASC_0_WITH_VENDOR_SPECIFIC_ASCQ_1, ASC, ASCQ) + : string.Format(Localization.ASC_0_WITH_ASCQ_1, ASC, ASCQ); } } \ No newline at end of file diff --git a/SecureDigital/CID.cs b/SecureDigital/CID.cs index 10a899c71..67c0d43cf 100644 --- a/SecureDigital/CID.cs +++ b/SecureDigital/CID.cs @@ -104,20 +104,20 @@ public static partial class Decoders var sb = new StringBuilder(); - sb.AppendLine("SecureDigital Device Identification Register:"); - sb.AppendFormat("\tManufacturer: {0}", VendorString.Prettify(cid.Manufacturer)).AppendLine(); - sb.AppendFormat("\tApplication ID: {0}", cid.ApplicationID).AppendLine(); - sb.AppendFormat("\tProduct name: {0}", cid.ProductName).AppendLine(); + sb.AppendLine(Localization.SecureDigital_Device_Identification_Register); + sb.AppendFormat(Localization.Manufacturer_0, VendorString.Prettify(cid.Manufacturer)).AppendLine(); + sb.AppendFormat(Localization.Application_ID_0, cid.ApplicationID).AppendLine(); + sb.AppendFormat(Localization.Product_name_0, cid.ProductName).AppendLine(); - sb.AppendFormat("\tProduct revision: {0:X2}.{1:X2}", (cid.ProductRevision & 0xF0) >> 4, + sb.AppendFormat(Localization.Product_revision_0_1, (cid.ProductRevision & 0xF0) >> 4, cid.ProductRevision & 0x0F).AppendLine(); - sb.AppendFormat("\tProduct serial number: {0}", cid.ProductSerialNumber).AppendLine(); + sb.AppendFormat(Localization.Product_serial_number_0, cid.ProductSerialNumber).AppendLine(); - sb.AppendFormat("\tDevice manufactured month {0} of {1}", (cid.ManufacturingDate & 0xF00) >> 8, - (cid.ManufacturingDate & 0xFF) + 2000).AppendLine(); + sb.AppendFormat(Localization.Device_manufactured_month_0_of_1, (cid.ManufacturingDate & 0xF00) >> 8, + (cid.ManufacturingDate & 0xFF) + 2000).AppendLine(); - sb.AppendFormat("\tCID CRC: 0x{0:X2}", cid.CRC).AppendLine(); + sb.AppendFormat(Localization.CID_CRC_0, cid.CRC).AppendLine(); return sb.ToString(); } diff --git a/SecureDigital/CSD.cs b/SecureDigital/CSD.cs index 5565f3169..df3f16b99 100644 --- a/SecureDigital/CSD.cs +++ b/SecureDigital/CSD.cs @@ -151,16 +151,16 @@ public static partial class Decoders string unit = ""; var sb = new StringBuilder(); - sb.AppendLine("SecureDigital Device Specific Data Register:"); + sb.AppendLine(Localization.SecureDigital_Device_Specific_Data_Register); switch(csd.Structure) { case 0: - sb.AppendLine("\tRegister version 1.0"); + sb.AppendLine("\t" + Localization.Register_version_1_0); break; case 1: - sb.AppendLine("\tRegister version 2.0"); + sb.AppendLine("\t" + Localization.Register_version_2_0); break; } @@ -168,42 +168,42 @@ public static partial class Decoders switch(csd.TAAC & 0x07) { case 0: - unit = "ns"; + unit = Localization.unit_ns; unitFactor = 1; break; case 1: - unit = "ns"; + unit = Localization.unit_ns; unitFactor = 10; break; case 2: - unit = "ns"; + unit = Localization.unit_ns; unitFactor = 100; break; case 3: - unit = "μs"; + unit = Localization.unit_μs; unitFactor = 1; break; case 4: - unit = "μs"; + unit = Localization.unit_μs; unitFactor = 10; break; case 5: - unit = "μs"; + unit = Localization.unit_μs; unitFactor = 100; break; case 6: - unit = "ms"; + unit = Localization.unit_ms; unitFactor = 1; break; case 7: - unit = "ms"; + unit = Localization.unit_ms; unitFactor = 10; break; @@ -231,11 +231,12 @@ public static partial class Decoders }; double result = unitFactor * multiplier; - sb.AppendFormat("\tAsynchronous data access time is {0}{1}", result, unit).AppendLine(); + sb.AppendFormat("\t" + Localization.Asynchronous_data_access_time_is_0_1, result, unit).AppendLine(); - sb.AppendFormat("\tClock dependent part of data access is {0} clock cycles", csd.NSAC * 100).AppendLine(); + sb.AppendFormat("\t" + Localization.Clock_dependent_part_of_data_access_is_0_clock_cycles, csd.NSAC * 100). + AppendLine(); - unit = "MBit/s"; + unit = Localization.MBit_s; switch(csd.Speed & 0x07) { @@ -256,7 +257,7 @@ public static partial class Decoders break; default: - unit = "unknown"; + unit = Localization.unit_unknown; unitFactor = 0; break; @@ -284,7 +285,7 @@ public static partial class Decoders }; result = unitFactor * multiplier; - sb.AppendFormat("\tDevice's transfer speed: {0}{1}", result, unit).AppendLine(); + sb.AppendFormat("\t" + Localization.Device_transfer_speed_0_1, result, unit).AppendLine(); unit = ""; @@ -292,73 +293,75 @@ public static partial class Decoders if((csd.Classes & mask) == mask) unit += $" {cl}"; - sb.AppendFormat("\tDevice support command classes {0}", unit).AppendLine(); - sb.AppendFormat("\tRead block length is {0} bytes", Math.Pow(2, csd.ReadBlockLength)).AppendLine(); + sb.AppendFormat("\t" + Localization.Device_support_command_classes_0, unit).AppendLine(); + + sb.AppendFormat("\t" + Localization.Read_block_length_is_0_bytes, Math.Pow(2, csd.ReadBlockLength)). + AppendLine(); if(csd.ReadsPartialBlocks) - sb.AppendLine("\tDevice allows reading partial blocks"); + sb.AppendLine("\t" + Localization.Device_allows_reading_partial_blocks); if(csd.WriteMisalignment) - sb.AppendLine("\tWrite commands can cross physical block boundaries"); + sb.AppendLine("\t" + Localization.Write_commands_can_cross_physical_block_boundaries); if(csd.ReadMisalignment) - sb.AppendLine("\tRead commands can cross physical block boundaries"); + sb.AppendLine("\t" + Localization.Read_commands_can_cross_physical_block_boundaries); if(csd.DSRImplemented) - sb.AppendLine("\tDevice implements configurable driver stage"); + sb.AppendLine("\t" + Localization.Device_implements_configurable_driver_stage); if(csd.Structure == 0) { - result = (csd.Size + 1) * Math.Pow(2, csd.SizeMultiplier + 2); - sb.AppendFormat("\tDevice has {0} blocks", (int)result).AppendLine(); + result = (csd.Size + 1) * Math.Pow(2, csd.SizeMultiplier + 2); + sb.AppendFormat("\t" + Localization.Device_has_0_blocks, (int)result).AppendLine(); result = (csd.Size + 1) * Math.Pow(2, csd.SizeMultiplier + 2) * Math.Pow(2, csd.ReadBlockLength); switch(result) { case > 1073741824: - sb.AppendFormat("\tDevice has {0} GiB", result / 1073741824.0).AppendLine(); + sb.AppendFormat("\t" + Localization.Device_has_0_GiB, result / 1073741824.0).AppendLine(); break; case > 1048576: - sb.AppendFormat("\tDevice has {0} MiB", result / 1048576.0).AppendLine(); + sb.AppendFormat("\t" + Localization.Device_has_0_MiB, result / 1048576.0).AppendLine(); break; case > 1024: - sb.AppendFormat("\tDevice has {0} KiB", result / 1024.0).AppendLine(); + sb.AppendFormat("\t" + Localization.Device_has_0_KiB, result / 1024.0).AppendLine(); break; default: - sb.AppendFormat("\tDevice has {0} bytes", result).AppendLine(); + sb.AppendFormat("\t" + Localization.Device_has_0_bytes, result).AppendLine(); break; } } else { - sb.AppendFormat("\tDevice has {0} blocks", (csd.Size + 1) * 1024).AppendLine(); + sb.AppendFormat("\t" + Localization.Device_has_0_blocks, (csd.Size + 1) * 1024).AppendLine(); result = ((ulong)csd.Size + 1) * 1024 * 512; switch(result) { case > 1099511627776: - sb.AppendFormat("\tDevice has {0} TiB", result / 1099511627776.0).AppendLine(); + sb.AppendFormat("\t" + Localization.Device_has_0_TiB, result / 1099511627776.0).AppendLine(); break; case > 1073741824: - sb.AppendFormat("\tDevice has {0} GiB", result / 1073741824.0).AppendLine(); + sb.AppendFormat("\t" + Localization.Device_has_0_GiB, result / 1073741824.0).AppendLine(); break; case > 1048576: - sb.AppendFormat("\tDevice has {0} MiB", result / 1048576.0).AppendLine(); + sb.AppendFormat("\t" + Localization.Device_has_0_MiB, result / 1048576.0).AppendLine(); break; case > 1024: - sb.AppendFormat("\tDevice has {0} KiB", result / 1024.0).AppendLine(); + sb.AppendFormat("\t" + Localization.Device_has_0_KiB, result / 1024.0).AppendLine(); break; default: - sb.AppendFormat("\tDevice has {0} bytes", result).AppendLine(); + sb.AppendFormat("\t" + Localization.Device_has_0_bytes, result).AppendLine(); break; } @@ -369,35 +372,35 @@ public static partial class Decoders switch(csd.ReadCurrentAtVddMin & 0x07) { case 0: - sb.AppendLine("\tDevice uses a maximum of 0.5mA for reading at minimum voltage"); + sb.AppendLine("\t" + Localization.Device_uses_a_maximum_of_0_5mA_for_reading_at_minimum_voltage); break; case 1: - sb.AppendLine("\tDevice uses a maximum of 1mA for reading at minimum voltage"); + sb.AppendLine("\t" + Localization.Device_uses_a_maximum_of_1mA_for_reading_at_minimum_voltage); break; case 2: - sb.AppendLine("\tDevice uses a maximum of 5mA for reading at minimum voltage"); + sb.AppendLine("\t" + Localization.Device_uses_a_maximum_of_5mA_for_reading_at_minimum_voltage); break; case 3: - sb.AppendLine("\tDevice uses a maximum of 10mA for reading at minimum voltage"); + sb.AppendLine("\t" + Localization.Device_uses_a_maximum_of_10mA_for_reading_at_minimum_voltage); break; case 4: - sb.AppendLine("\tDevice uses a maximum of 25mA for reading at minimum voltage"); + sb.AppendLine("\t" + Localization.Device_uses_a_maximum_of_25mA_for_reading_at_minimum_voltage); break; case 5: - sb.AppendLine("\tDevice uses a maximum of 35mA for reading at minimum voltage"); + sb.AppendLine("\t" + Localization.Device_uses_a_maximum_of_35mA_for_reading_at_minimum_voltage); break; case 6: - sb.AppendLine("\tDevice uses a maximum of 60mA for reading at minimum voltage"); + sb.AppendLine("\t" + Localization.Device_uses_a_maximum_of_60mA_for_reading_at_minimum_voltage); break; case 7: - sb.AppendLine("\tDevice uses a maximum of 100mA for reading at minimum voltage"); + sb.AppendLine("\t" + Localization.Device_uses_a_maximum_of_100mA_for_reading_at_minimum_voltage); break; } @@ -405,35 +408,35 @@ public static partial class Decoders switch(csd.ReadCurrentAtVddMax & 0x07) { case 0: - sb.AppendLine("\tDevice uses a maximum of 1mA for reading at maximum voltage"); + sb.AppendLine("\t" + Localization.Device_uses_a_maximum_of_1mA_for_reading_at_maximum_voltage); break; case 1: - sb.AppendLine("\tDevice uses a maximum of 5mA for reading at maximum voltage"); + sb.AppendLine("\t" + Localization.Device_uses_a_maximum_of_5mA_for_reading_at_maximum_voltage); break; case 2: - sb.AppendLine("\tDevice uses a maximum of 10mA for reading at maximum voltage"); + sb.AppendLine("\t" + Localization.Device_uses_a_maximum_of_10mA_for_reading_at_maximum_voltage); break; case 3: - sb.AppendLine("\tDevice uses a maximum of 25mA for reading at maximum voltage"); + sb.AppendLine("\t" + Localization.Device_uses_a_maximum_of_25mA_for_reading_at_maximum_voltage); break; case 4: - sb.AppendLine("\tDevice uses a maximum of 35mA for reading at maximum voltage"); + sb.AppendLine("\t" + Localization.Device_uses_a_maximum_of_35mA_for_reading_at_maximum_voltage); break; case 5: - sb.AppendLine("\tDevice uses a maximum of 45mA for reading at maximum voltage"); + sb.AppendLine("\t" + Localization.Device_uses_a_maximum_of_45mA_for_reading_at_maximum_voltage); break; case 6: - sb.AppendLine("\tDevice uses a maximum of 80mA for reading at maximum voltage"); + sb.AppendLine("\t" + Localization.Device_uses_a_maximum_of_80mA_for_reading_at_maximum_voltage); break; case 7: - sb.AppendLine("\tDevice uses a maximum of 200mA for reading at maximum voltage"); + sb.AppendLine("\t" + Localization.Device_uses_a_maximum_of_200mA_for_reading_at_maximum_voltage); break; } @@ -441,35 +444,35 @@ public static partial class Decoders switch(csd.WriteCurrentAtVddMin & 0x07) { case 0: - sb.AppendLine("\tDevice uses a maximum of 0.5mA for writing at minimum voltage"); + sb.AppendLine("\t" + Localization.Device_uses_a_maximum_of_0_5mA_for_writing_at_minimum_voltage); break; case 1: - sb.AppendLine("\tDevice uses a maximum of 1mA for writing at minimum voltage"); + sb.AppendLine("\t" + Localization.Device_uses_a_maximum_of_1mA_for_writing_at_minimum_voltage); break; case 2: - sb.AppendLine("\tDevice uses a maximum of 5mA for writing at minimum voltage"); + sb.AppendLine("\t" + Localization.Device_uses_a_maximum_of_5mA_for_writing_at_minimum_voltage); break; case 3: - sb.AppendLine("\tDevice uses a maximum of 10mA for writing at minimum voltage"); + sb.AppendLine("\t" + Localization.Device_uses_a_maximum_of_10mA_for_writing_at_minimum_voltage); break; case 4: - sb.AppendLine("\tDevice uses a maximum of 25mA for writing at minimum voltage"); + sb.AppendLine("\t" + Localization.Device_uses_a_maximum_of_25mA_for_writing_at_minimum_voltage); break; case 5: - sb.AppendLine("\tDevice uses a maximum of 35mA for writing at minimum voltage"); + sb.AppendLine("\t" + Localization.Device_uses_a_maximum_of_35mA_for_writing_at_minimum_voltage); break; case 6: - sb.AppendLine("\tDevice uses a maximum of 60mA for writing at minimum voltage"); + sb.AppendLine("\t" + Localization.Device_uses_a_maximum_of_60mA_for_writing_at_minimum_voltage); break; case 7: - sb.AppendLine("\tDevice uses a maximum of 100mA for writing at minimum voltage"); + sb.AppendLine("\t" + Localization.Device_uses_a_maximum_of_100mA_for_writing_at_minimum_voltage); break; } @@ -477,101 +480,104 @@ public static partial class Decoders switch(csd.WriteCurrentAtVddMax & 0x07) { case 0: - sb.AppendLine("\tDevice uses a maximum of 1mA for writing at maximum voltage"); + sb.AppendLine("\t" + Localization.Device_uses_a_maximum_of_1mA_for_writing_at_maximum_voltage); break; case 1: - sb.AppendLine("\tDevice uses a maximum of 5mA for writing at maximum voltage"); + sb.AppendLine("\t" + Localization.Device_uses_a_maximum_of_5mA_for_writing_at_maximum_voltage); break; case 2: - sb.AppendLine("\tDevice uses a maximum of 10mA for writing at maximum voltage"); + sb.AppendLine("\t" + Localization.Device_uses_a_maximum_of_10mA_for_writing_at_maximum_voltage); break; case 3: - sb.AppendLine("\tDevice uses a maximum of 25mA for writing at maximum voltage"); + sb.AppendLine("\t" + Localization.Device_uses_a_maximum_of_25mA_for_writing_at_maximum_voltage); break; case 4: - sb.AppendLine("\tDevice uses a maximum of 35mA for writing at maximum voltage"); + sb.AppendLine("\t" + Localization.Device_uses_a_maximum_of_35mA_for_writing_at_maximum_voltage); break; case 5: - sb.AppendLine("\tDevice uses a maximum of 45mA for writing at maximum voltage"); + sb.AppendLine("\t" + Localization.Device_uses_a_maximum_of_45mA_for_writing_at_maximum_voltage); break; case 6: - sb.AppendLine("\tDevice uses a maximum of 80mA for writing at maximum voltage"); + sb.AppendLine("\t" + Localization.Device_uses_a_maximum_of_80mA_for_writing_at_maximum_voltage); break; case 7: - sb.AppendLine("\tDevice uses a maximum of 200mA for writing at maximum voltage"); + sb.AppendLine("\t" + Localization.Device_uses_a_maximum_of_200mA_for_writing_at_maximum_voltage); break; } if(csd.EraseBlockEnable) - sb.AppendLine("\tDevice can erase multiple blocks"); + sb.AppendLine("\t" + Localization.Device_can_erase_multiple_blocks); // TODO: Check specification - sb.AppendFormat("\tDevice must erase a minimum of {0} blocks at a time", + sb.AppendFormat("\t" + Localization.Device_must_erase_a_minimum_of_0_blocks_at_a_time, Convert.ToUInt32(csd.EraseSectorSize) + 1).AppendLine(); if(csd.WriteProtectGroupEnable) { - sb.AppendLine("\tDevice can write protect regions"); + sb.AppendLine("\t" + Localization.Device_can_write_protect_regions); // TODO: Check specification // unitFactor = Convert.ToDouble(csd.WriteProtectGroupSize); - sb.AppendFormat("\tDevice can write protect a minimum of {0} blocks at a time", (int)(result + 1)). - AppendLine(); + sb.AppendFormat("\t" + Localization.Device_can_write_protect_a_minimum_of_0_blocks_at_a_time, + (int)(result + 1)).AppendLine(); } else - sb.AppendLine("\tDevice can't write protect regions"); + sb.AppendLine("\t" + Localization.Device_cant_write_protect_regions); } - sb.AppendFormat("\tWriting is {0} times slower than reading", Math.Pow(2, csd.WriteSpeedFactor)).AppendLine(); + sb.AppendFormat("\t" + Localization.Writing_is_0_times_slower_than_reading, Math.Pow(2, csd.WriteSpeedFactor)). + AppendLine(); - sb.AppendFormat("\tWrite block length is {0} bytes", Math.Pow(2, csd.WriteBlockLength)).AppendLine(); + sb.AppendFormat("\t" + Localization.Write_block_length_is_0_bytes, Math.Pow(2, csd.WriteBlockLength)). + AppendLine(); if(csd.WritesPartialBlocks) - sb.AppendLine("\tDevice allows writing partial blocks"); + sb.AppendLine("\t" + Localization.Device_allows_writing_partial_blocks); if(!csd.Copy) - sb.AppendLine("\tDevice contents are original"); + sb.AppendLine("\t" + Localization.Device_contents_are_original); if(csd.PermanentWriteProtect) - sb.AppendLine("\tDevice is permanently write protected"); + sb.AppendLine("\t" + Localization.Device_is_permanently_write_protected); if(csd.TemporaryWriteProtect) - sb.AppendLine("\tDevice is temporarily write protected"); + sb.AppendLine("\t" + Localization.Device_is_temporarily_write_protected); if(!csd.FileFormatGroup) switch(csd.FileFormat) { case 0: - sb.AppendLine("\tDevice is formatted like a hard disk"); + sb.AppendLine("\t" + Localization.Device_is_formatted_like_a_hard_disk); break; case 1: - sb.AppendLine("\tDevice is formatted like a floppy disk using Microsoft FAT"); + sb.AppendLine("\t" + Localization.Device_is_formatted_like_a_floppy_disk_using_Microsoft_FAT); break; case 2: - sb.AppendLine("\tDevice uses Universal File Format"); + sb.AppendLine("\t" + Localization.Device_uses_Universal_File_Format); break; default: - sb.AppendFormat("\tDevice uses unknown file format code {0}", csd.FileFormat).AppendLine(); + sb.AppendFormat("\t" + Localization.Device_uses_unknown_file_format_code_0, csd.FileFormat). + AppendLine(); break; } else - sb.AppendFormat("\tDevice uses unknown file format code {0} and file format group 1", csd.FileFormat). - AppendLine(); + sb.AppendFormat("\t" + Localization.Device_uses_unknown_file_format_code_0_and_file_format_group_1, + csd.FileFormat).AppendLine(); - sb.AppendFormat("\tCSD CRC: 0x{0:X2}", csd.CRC).AppendLine(); + sb.AppendFormat("\t" + Localization.CSD_CRC_0, csd.CRC).AppendLine(); return sb.ToString(); } diff --git a/SecureDigital/OCR.cs b/SecureDigital/OCR.cs index 8f63cd13a..28487ce54 100644 --- a/SecureDigital/OCR.cs +++ b/SecureDigital/OCR.cs @@ -93,46 +93,46 @@ public static partial class Decoders return null; var sb = new StringBuilder(); - sb.AppendLine("SecureDigital Operation Conditions Register:"); + sb.AppendLine(Localization.SecureDigital_Operation_Conditions_Register); if(!ocr.PowerUp) - sb.AppendLine("\tDevice is powering up"); + sb.AppendLine("\t" + Localization.Device_is_powering_up); if(ocr.CCS) - sb.AppendLine("\tDevice is SDHC, SDXC or higher"); + sb.AppendLine("\t" + Localization.Device_is_SDHC_SDXC_or_higher); if(ocr.UHS) - sb.AppendLine("\tDevice is UHS-II or higher"); + sb.AppendLine("\t" + Localization.Device_is_UHS_II_or_higher); if(ocr.ThreeFive) - sb.AppendLine("\tDevice can work with supply 3.5~3.6V"); + sb.AppendLine("\t" + Localization.Device_can_work_with_supply_3_5_3_6V); if(ocr.ThreeFour) - sb.AppendLine("\tDevice can work with supply 3.4~3.5V"); + sb.AppendLine("\t" + Localization.Device_can_work_with_supply_3_4_3_5V); if(ocr.ThreeThree) - sb.AppendLine("\tDevice can work with supply 3.3~3.4V"); + sb.AppendLine("\t" + Localization.Device_can_work_with_supply_3_3_3_4V); if(ocr.ThreeTwo) - sb.AppendLine("\tDevice can work with supply 3.2~3.3V"); + sb.AppendLine("\t" + Localization.Device_can_work_with_supply_3_2_3_3V); if(ocr.ThreeOne) - sb.AppendLine("\tDevice can work with supply 3.1~3.2V"); + sb.AppendLine("\t" + Localization.Device_can_work_with_supply_3_1_3_2V); if(ocr.TwoNine) - sb.AppendLine("\tDevice can work with supply 2.9~3.0V"); + sb.AppendLine("\t" + Localization.Device_can_work_with_supply_2_9_3_0V); if(ocr.TwoEight) - sb.AppendLine("\tDevice can work with supply 2.8~2.9V"); + sb.AppendLine("\t" + Localization.Device_can_work_with_supply_2_8_2_9V); if(ocr.TwoSeven) - sb.AppendLine("\tDevice can work with supply 2.7~2.8V"); + sb.AppendLine("\t" + Localization.Device_can_work_with_supply_2_7_2_8V); if(ocr.OneEight) - sb.AppendLine("\tDevice can switch to work with 1.8V supply"); + sb.AppendLine("\t" + Localization.Device_can_switch_to_work_with_1_8V_supply); if(ocr.LowPower) - sb.AppendLine("\tDevice is in low power mode"); + sb.AppendLine("\t" + Localization.Device_is_in_low_power_mode); return sb.ToString(); } diff --git a/SecureDigital/SCR.cs b/SecureDigital/SCR.cs index 906088e1a..f548fea27 100644 --- a/SecureDigital/SCR.cs +++ b/SecureDigital/SCR.cs @@ -115,50 +115,59 @@ public static partial class Decoders return null; var sb = new StringBuilder(); - sb.AppendLine("SecureDigital Device Configuration Register:"); + sb.AppendLine(Localization.SecureDigital_Device_Configuration_Register); if(scr.Structure != 0) - sb.AppendFormat("\tUnknown register version {0}", scr.Structure).AppendLine(); + sb.AppendFormat("\t" + Localization.Unknown_register_version_0, scr.Structure).AppendLine(); switch(scr.Spec) { case 0 when scr.Spec3 == false && scr.Spec4 == false && scr.SpecX == 0: - sb.AppendLine("\tDevice follows SecureDigital Physical Layer Specification version 1.0x"); + sb.AppendLine("\t" + Localization. + Device_follows_SecureDigital_Physical_Layer_Specification_version_1_0x); break; case 1 when scr.Spec3 == false && scr.Spec4 == false && scr.SpecX == 0: - sb.AppendLine("\tDevice follows SecureDigital Physical Layer Specification version 1.10"); + sb.AppendLine("\t" + Localization. + Device_follows_SecureDigital_Physical_Layer_Specification_version_1_10); break; case 2 when scr.Spec3 == false && scr.Spec4 == false && scr.SpecX == 0: - sb.AppendLine("\tDevice follows SecureDigital Physical Layer Specification version 2.00"); + sb.AppendLine("\t" + Localization. + Device_follows_SecureDigital_Physical_Layer_Specification_version_2_00); break; case 2 when scr.Spec3 && scr.Spec4 == false && scr.SpecX == 0: - sb.AppendLine("\tDevice follows SecureDigital Physical Layer Specification version 3.0x"); + sb.AppendLine("\t" + Localization. + Device_follows_SecureDigital_Physical_Layer_Specification_version_3_0x); break; case 2 when scr.Spec3 && scr.Spec4 && scr.SpecX == 0: - sb.AppendLine("\tDevice follows SecureDigital Physical Layer Specification version 4.xx"); + sb.AppendLine("\t" + Localization. + Device_follows_SecureDigital_Physical_Layer_Specification_version_4_xx); break; case 2 when scr.Spec3: switch(scr.SpecX) { case 1: - sb.AppendLine("\tDevice follows SecureDigital Physical Layer Specification version 5.xx"); + sb.AppendLine("\t" + Localization. + Device_follows_SecureDigital_Physical_Layer_Specification_version_5_xx); break; case 2: - sb.AppendLine("\tDevice follows SecureDigital Physical Layer Specification version 6.xx"); + sb.AppendLine("\t" + Localization. + Device_follows_SecureDigital_Physical_Layer_Specification_version_6_xx); break; case 3: - sb.AppendLine("\tDevice follows SecureDigital Physical Layer Specification version 7.xx"); + sb.AppendLine("\t" + Localization. + Device_follows_SecureDigital_Physical_Layer_Specification_version_7_xx); break; case 4: - sb.AppendLine("\tDevice follows SecureDigital Physical Layer Specification version 8.xx"); + sb.AppendLine("\t" + Localization. + Device_follows_SecureDigital_Physical_Layer_Specification_version_8_xx); break; } @@ -166,7 +175,7 @@ public static partial class Decoders break; default: sb. - AppendFormat("\tDevice follows SecureDigital Physical Layer Specification with unknown version {0}.{1}.{2}.{3}", + AppendFormat("\t" + Localization.Device_follows_SecureDigital_Physical_Layer_Specification_with_unknown_version_0_1_2_3, scr.Spec, scr.Spec3, scr.Spec4, scr.SpecX).AppendLine(); break; @@ -175,51 +184,52 @@ public static partial class Decoders switch(scr.Security) { case 0: - sb.AppendLine("\tDevice does not support CPRM"); + sb.AppendLine("\t" + Localization.Device_does_not_support_CPRM); break; case 1: - sb.AppendLine("\tDevice does not use CPRM"); + sb.AppendLine("\t" + Localization.Device_does_not_use_CPRM); break; case 2: - sb.AppendLine("\tDevice uses CPRM according to specification version 1.01"); + sb.AppendLine("\t" + Localization.Device_uses_CPRM_according_to_specification_version_1_01); break; case 3: - sb.AppendLine("\tDevice uses CPRM according to specification version 2.00"); + sb.AppendLine("\t" + Localization.Device_uses_CPRM_according_to_specification_version_2_00); break; case 4: - sb.AppendLine("\tDevice uses CPRM according to specification version 3.xx"); + sb.AppendLine("\t" + Localization.Device_uses_CPRM_according_to_specification_version_3_xx); break; default: - sb.AppendFormat("\tDevice uses unknown CPRM specification with code {0}", scr.Security).AppendLine(); + sb.AppendFormat("\t" + Localization.Device_uses_unknown_CPRM_specification_with_code_0, scr.Security). + AppendLine(); break; } if(scr.BusWidth.HasFlag(BusWidth.OneBit)) - sb.AppendLine("\tDevice supports 1-bit data bus"); + sb.AppendLine("\t" + Localization.Device_supports_1_bit_data_bus); if(scr.BusWidth.HasFlag(BusWidth.FourBit)) - sb.AppendLine("\tDevice supports 4-bit data bus"); + sb.AppendLine("\t" + Localization.Device_supports_4_bit_data_bus); if(scr.ExtendedSecurity != 0) - sb.AppendLine("\tDevice supports extended security"); + sb.AppendLine("\t" + Localization.Device_supports_extended_security); if(scr.CommandSupport.HasFlag(CommandSupport.ExtensionRegisterMultiBlock)) - sb.AppendLine("\tDevice supports extension register multi-block commands"); + sb.AppendLine("\t" + Localization.Device_supports_extension_register_multi_block_commands); if(scr.CommandSupport.HasFlag(CommandSupport.ExtensionRegisterSingleBlock)) - sb.AppendLine("\tDevice supports extension register single-block commands"); + sb.AppendLine("\t" + Localization.Device_supports_extension_register_single_block_commands); if(scr.CommandSupport.HasFlag(CommandSupport.SetBlockCount)) - sb.AppendLine("\tDevice supports set block count command"); + sb.AppendLine("\t" + Localization.Device_supports_set_block_count_command); if(scr.CommandSupport.HasFlag(CommandSupport.SpeedClassControl)) - sb.AppendLine("\tDevice supports speed class control command"); + sb.AppendLine("\t" + Localization.Device_supports_speed_class_control_command); return sb.ToString(); } diff --git a/SecureDigital/VendorString.cs b/SecureDigital/VendorString.cs index 8dc747cc7..b59d8afe1 100644 --- a/SecureDigital/VendorString.cs +++ b/SecureDigital/VendorString.cs @@ -45,6 +45,6 @@ public static class VendorString 0x03 => "Sandisk", 0x27 => "CnMemory", 0xAA => "QEMU", - _ => $"Unknown manufacturer ID 0x{sdVendorId:X2}" + _ => string.Format(Localization.Unknown_manufacturer_ID_0, sdVendorId) }; } \ No newline at end of file diff --git a/Sega/CD.cs b/Sega/CD.cs index 1f816b914..eef3cdc7e 100644 --- a/Sega/CD.cs +++ b/Sega/CD.cs @@ -36,6 +36,7 @@ using System.Globalization; using System.Runtime.InteropServices; using System.Text; using Aaru.Console; +using Aaru.Localization; using Marshal = Aaru.Helpers.Marshal; namespace Aaru.Decoders.Sega; @@ -132,7 +133,7 @@ public static class CD var IPBinInformation = new StringBuilder(); IPBinInformation.AppendLine("--------------------------------"); - IPBinInformation.AppendLine("SEGA IP.BIN INFORMATION:"); + IPBinInformation.AppendLine(Localization.SEGA_IP_BIN_INFORMATION); IPBinInformation.AppendLine("--------------------------------"); // Decoding all data @@ -172,119 +173,124 @@ public static class CD } */ - IPBinInformation.AppendFormat("Volume name: {0}", Encoding.ASCII.GetString(ipbin.volume_name)).AppendLine(); + IPBinInformation.AppendFormat(Core.Volume_name_0, Encoding.ASCII.GetString(ipbin.volume_name)).AppendLine(); //IPBinInformation.AppendFormat("Volume version: {0}", Encoding.ASCII.GetString(ipbin.volume_version)).AppendLine(); //IPBinInformation.AppendFormat("{0}", Encoding.ASCII.GetString(ipbin.volume_type)).AppendLine(); - IPBinInformation.AppendFormat("System name: {0}", Encoding.ASCII.GetString(ipbin.system_name)).AppendLine(); + IPBinInformation.AppendFormat(Localization.System_name_0, Encoding.ASCII.GetString(ipbin.system_name)). + AppendLine(); //IPBinInformation.AppendFormat("System version: {0}", Encoding.ASCII.GetString(ipbin.system_version)).AppendLine(); - IPBinInformation.AppendFormat("Initial program address: 0x{0:X8}", ipbin.ip_address).AppendLine(); - IPBinInformation.AppendFormat("Initial program load size: {0} bytes", ipbin.ip_loadsize).AppendLine(); + IPBinInformation.AppendFormat(Localization.Initial_program_address_0, ipbin.ip_address).AppendLine(); + IPBinInformation.AppendFormat(Localization.Initial_program_load_size_0, ipbin.ip_loadsize).AppendLine(); - IPBinInformation.AppendFormat("Initial program entry address: 0x{0:X8}", ipbin.ip_entry_address).AppendLine(); + IPBinInformation.AppendFormat(Localization.Initial_program_entry_address_0, ipbin.ip_entry_address). + AppendLine(); - IPBinInformation.AppendFormat("Initial program work RAM: {0} bytes", ipbin.ip_work_ram_size).AppendLine(); - IPBinInformation.AppendFormat("System program address: 0x{0:X8}", ipbin.sp_address).AppendLine(); - IPBinInformation.AppendFormat("System program load size: {0} bytes", ipbin.sp_loadsize).AppendLine(); + IPBinInformation.AppendFormat(Localization.Initial_program_work_RAM_0, ipbin.ip_work_ram_size).AppendLine(); + IPBinInformation.AppendFormat(Localization.System_program_address_0, ipbin.sp_address).AppendLine(); + IPBinInformation.AppendFormat(Localization.System_program_load_size_0, ipbin.sp_loadsize).AppendLine(); - IPBinInformation.AppendFormat("System program entry address: 0x{0:X8}", ipbin.sp_entry_address).AppendLine(); + IPBinInformation.AppendFormat(Localization.System_program_entry_address_0, ipbin.sp_entry_address).AppendLine(); - IPBinInformation.AppendFormat("System program work RAM: {0} bytes", ipbin.sp_work_ram_size).AppendLine(); + IPBinInformation.AppendFormat(Localization.System_program_work_RAM_0, ipbin.sp_work_ram_size).AppendLine(); if(ipbindate != DateTime.MinValue) - IPBinInformation.AppendFormat("Release date: {0}", ipbindate).AppendLine(); + IPBinInformation.AppendFormat(Localization.Release_date_0, ipbindate).AppendLine(); //IPBinInformation.AppendFormat("Release date (other format): {0}", Encoding.ASCII.GetString(release_date2)).AppendLine(); - IPBinInformation.AppendFormat("Hardware ID: {0}", Encoding.ASCII.GetString(ipbin.hardware_id)).AppendLine(); - - IPBinInformation.AppendFormat("Developer code: {0}", Encoding.ASCII.GetString(ipbin.developer_code)). + IPBinInformation.AppendFormat(Localization.Hardware_ID_0, Encoding.ASCII.GetString(ipbin.hardware_id)). AppendLine(); - IPBinInformation.AppendFormat("Domestic title: {0}", Encoding.ASCII.GetString(ipbin.domestic_title)). + IPBinInformation.AppendFormat(Localization.Developer_code_0, Encoding.ASCII.GetString(ipbin.developer_code)). AppendLine(); - IPBinInformation.AppendFormat("Overseas title: {0}", Encoding.ASCII.GetString(ipbin.overseas_title)). + IPBinInformation.AppendFormat(Localization.Domestic_title_0, Encoding.ASCII.GetString(ipbin.domestic_title)). AppendLine(); - IPBinInformation.AppendFormat("Product code: {0}", Encoding.ASCII.GetString(ipbin.product_code)).AppendLine(); + IPBinInformation.AppendFormat(Localization.Overseas_title_0, Encoding.ASCII.GetString(ipbin.overseas_title)). + AppendLine(); - IPBinInformation.AppendFormat("Peripherals:").AppendLine(); + IPBinInformation.AppendFormat(Localization.Product_code_0, Encoding.ASCII.GetString(ipbin.product_code)). + AppendLine(); + + IPBinInformation.AppendFormat(Localization.Peripherals).AppendLine(); foreach(byte peripheral in ipbin.peripherals) switch((char)peripheral) { case 'A': - IPBinInformation.AppendLine("Game supports analog controller."); + IPBinInformation.AppendLine(Localization.Game_supports_analog_controller); break; case 'B': - IPBinInformation.AppendLine("Game supports trackball."); + IPBinInformation.AppendLine(Localization.Game_supports_trackball); break; case 'G': - IPBinInformation.AppendLine("Game supports light gun."); + IPBinInformation.AppendLine(Localization.Game_supports_light_gun); break; case 'J': - IPBinInformation.AppendLine("Game supports JoyPad."); + IPBinInformation.AppendLine(Localization.Game_supports_JoyPad); break; case 'K': - IPBinInformation.AppendLine("Game supports keyboard."); + IPBinInformation.AppendLine(Localization.Game_supports_keyboard); break; case 'M': - IPBinInformation.AppendLine("Game supports mouse."); + IPBinInformation.AppendLine(Localization.Game_supports_mouse); break; case 'O': - IPBinInformation.AppendLine("Game supports Master System's JoyPad."); + IPBinInformation.AppendLine(Localization.Game_supports_Master_System_JoyPad); break; case 'P': - IPBinInformation.AppendLine("Game supports printer interface."); + IPBinInformation.AppendLine(Localization.Game_supports_printer_interface); break; case 'R': - IPBinInformation.AppendLine("Game supports serial (RS-232C) interface."); + IPBinInformation.AppendLine(Localization.Game_supports_serial_RS_232C_interface); break; case 'T': - IPBinInformation.AppendLine("Game supports tablet interface."); + IPBinInformation.AppendLine(Localization.Game_supports_tablet_interface); break; case 'V': - IPBinInformation.AppendLine("Game supports paddle controller."); + IPBinInformation.AppendLine(Localization.Game_supports_paddle_controller); break; case ' ': break; default: - IPBinInformation.AppendFormat("Game supports unknown peripheral {0}.", peripheral).AppendLine(); + IPBinInformation.AppendFormat(Localization.Game_supports_unknown_peripheral_0, peripheral). + AppendLine(); break; } - IPBinInformation.AppendLine("Regions supported:"); + IPBinInformation.AppendLine(Localization.Regions_supported); foreach(byte region in ipbin.region_codes) switch((char)region) { case 'J': - IPBinInformation.AppendLine("Japanese NTSC."); + IPBinInformation.AppendLine(Localization.Japanese_NTSC); break; case 'U': - IPBinInformation.AppendLine("USA NTSC."); + IPBinInformation.AppendLine(Localization.USA_NTSC); break; case 'E': - IPBinInformation.AppendLine("Europe PAL."); + IPBinInformation.AppendLine(Localization.Europe_PAL); break; case ' ': break; default: - IPBinInformation.AppendFormat("Game supports unknown region {0}.", region).AppendLine(); + IPBinInformation.AppendFormat(Localization.Game_supports_unknown_region_0, region).AppendLine(); break; } diff --git a/Sega/Dreamcast.cs b/Sega/Dreamcast.cs index 1f88c1589..d4a193694 100644 --- a/Sega/Dreamcast.cs +++ b/Sega/Dreamcast.cs @@ -121,65 +121,67 @@ public static class Dreamcast var IPBinInformation = new StringBuilder(); IPBinInformation.AppendLine("--------------------------------"); - IPBinInformation.AppendLine("SEGA IP.BIN INFORMATION:"); + IPBinInformation.AppendLine(Localization.SEGA_IP_BIN_INFORMATION); IPBinInformation.AppendLine("--------------------------------"); // Decoding all data CultureInfo provider = CultureInfo.InvariantCulture; var ipbindate = DateTime.ParseExact(Encoding.ASCII.GetString(ipbin.release_date), "yyyyMMdd", provider); - IPBinInformation.AppendFormat("Product name: {0}", Encoding.ASCII.GetString(ipbin.product_name)).AppendLine(); - - IPBinInformation.AppendFormat("Product version: {0}", Encoding.ASCII.GetString(ipbin.product_version)). + IPBinInformation.AppendFormat(Localization.Product_name_0, Encoding.ASCII.GetString(ipbin.product_name)). AppendLine(); - IPBinInformation.AppendFormat("Product CRC: 0x{0:X8}", ipbin.dreamcast_crc).AppendLine(); - IPBinInformation.AppendFormat("Producer: {0}", Encoding.ASCII.GetString(ipbin.producer)).AppendLine(); - - IPBinInformation.AppendFormat("Disc media: {0}", Encoding.ASCII.GetString(ipbin.dreamcast_media)).AppendLine(); - - IPBinInformation.AppendFormat("Disc number {0} of {1}", (char)ipbin.disc_no, (char)ipbin.disc_total_nos). + IPBinInformation.AppendFormat(Localization.Product_version_0, Encoding.ASCII.GetString(ipbin.product_version)). AppendLine(); - IPBinInformation.AppendFormat("Release date: {0}", ipbindate).AppendLine(); + IPBinInformation.AppendFormat(Localization.Product_CRC_0, ipbin.dreamcast_crc).AppendLine(); + IPBinInformation.AppendFormat(Localization.Producer_0, Encoding.ASCII.GetString(ipbin.producer)).AppendLine(); + + IPBinInformation.AppendFormat(Localization.Disc_media_0, Encoding.ASCII.GetString(ipbin.dreamcast_media)). + AppendLine(); + + IPBinInformation.AppendFormat(Localization.Disc_number_0_of_1, (char)ipbin.disc_no, (char)ipbin.disc_total_nos). + AppendLine(); + + IPBinInformation.AppendFormat(Localization.Release_date_0, ipbindate).AppendLine(); switch(Encoding.ASCII.GetString(ipbin.boot_filename)) { case "1ST_READ.BIN": - IPBinInformation.AppendLine("Disc boots natively."); + IPBinInformation.AppendLine(Localization.Disc_boots_natively); break; case "0WINCE.BIN ": - IPBinInformation.AppendLine("Disc boots using Windows CE."); + IPBinInformation.AppendLine(Localization.Disc_boots_using_Windows_CE); break; default: - IPBinInformation.AppendFormat("Disc boots using unknown loader: {0}.", + IPBinInformation.AppendFormat(Localization.Disc_boots_using_unknown_loader_0, Encoding.ASCII.GetString(ipbin.boot_filename)).AppendLine(); break; } - IPBinInformation.AppendLine("Regions supported:"); + IPBinInformation.AppendLine(Localization.Regions_supported); foreach(byte region in ipbin.region_codes) switch((char)region) { case 'J': - IPBinInformation.AppendLine("Japanese NTSC."); + IPBinInformation.AppendLine(Localization.Japanese_NTSC); break; case 'U': - IPBinInformation.AppendLine("North America NTSC."); + IPBinInformation.AppendLine(Localization.North_America_NTSC); break; case 'E': - IPBinInformation.AppendLine("Europe PAL."); + IPBinInformation.AppendLine(Localization.Europe_PAL); break; case ' ': break; default: - IPBinInformation.AppendFormat("Game supports unknown region {0}.", region).AppendLine(); + IPBinInformation.AppendFormat(Localization.Game_supports_unknown_region_0, region).AppendLine(); break; } @@ -187,75 +189,75 @@ public static class Dreamcast int iPeripherals = int.Parse(Encoding.ASCII.GetString(ipbin.peripherals), NumberStyles.HexNumber); if((iPeripherals & 0x00000001) == 0x00000001) - IPBinInformation.AppendLine("Game uses Windows CE."); + IPBinInformation.AppendLine(Localization.Game_uses_Windows_CE); - IPBinInformation.AppendFormat("Peripherals:").AppendLine(); + IPBinInformation.AppendFormat(Localization.Peripherals).AppendLine(); if((iPeripherals & 0x00000010) == 0x00000010) - IPBinInformation.AppendLine("Game supports the VGA Box."); + IPBinInformation.AppendLine(Localization.Game_supports_the_VGA_Box); if((iPeripherals & 0x00000100) == 0x00000100) - IPBinInformation.AppendLine("Game supports other expansion."); + IPBinInformation.AppendLine(Localization.Game_supports_other_expansion); if((iPeripherals & 0x00000200) == 0x00000200) - IPBinInformation.AppendLine("Game supports Puru Puru pack."); + IPBinInformation.AppendLine(Localization.Game_supports_Puru_Puru_pack); if((iPeripherals & 0x00000400) == 0x00000400) - IPBinInformation.AppendLine("Game supports Mike Device."); + IPBinInformation.AppendLine(Localization.Game_supports_Mike_Device); if((iPeripherals & 0x00000800) == 0x00000800) - IPBinInformation.AppendLine("Game supports Memory Card."); + IPBinInformation.AppendLine(Localization.Game_supports_Memory_Card); if((iPeripherals & 0x00001000) == 0x00001000) - IPBinInformation.AppendLine("Game requires A + B + Start buttons and D-Pad."); + IPBinInformation.AppendLine(Localization.Game_requires_A_B_Start_buttons_and_D_Pad); if((iPeripherals & 0x00002000) == 0x00002000) - IPBinInformation.AppendLine("Game requires C button."); + IPBinInformation.AppendLine(Localization.Game_requires_C_button); if((iPeripherals & 0x00004000) == 0x00004000) - IPBinInformation.AppendLine("Game requires D button."); + IPBinInformation.AppendLine(Localization.Game_requires_D_button); if((iPeripherals & 0x00008000) == 0x00008000) - IPBinInformation.AppendLine("Game requires X button."); + IPBinInformation.AppendLine(Localization.Game_requires_X_button); if((iPeripherals & 0x00010000) == 0x00010000) - IPBinInformation.AppendLine("Game requires Y button."); + IPBinInformation.AppendLine(Localization.Game_requires_Y_button); if((iPeripherals & 0x00020000) == 0x00020000) - IPBinInformation.AppendLine("Game requires Z button."); + IPBinInformation.AppendLine(Localization.Game_requires_Z_button); if((iPeripherals & 0x00040000) == 0x00040000) - IPBinInformation.AppendLine("Game requires expanded direction buttons."); + IPBinInformation.AppendLine(Localization.Game_requires_expanded_direction_buttons); if((iPeripherals & 0x00080000) == 0x00080000) - IPBinInformation.AppendLine("Game requires analog R trigger."); + IPBinInformation.AppendLine(Localization.Game_requires_analog_R_trigger); if((iPeripherals & 0x00100000) == 0x00100000) - IPBinInformation.AppendLine("Game requires analog L trigger."); + IPBinInformation.AppendLine(Localization.Game_requires_analog_L_trigger); if((iPeripherals & 0x00200000) == 0x00200000) - IPBinInformation.AppendLine("Game requires analog horizontal controller."); + IPBinInformation.AppendLine(Localization.Game_requires_analog_horizontal_controller); if((iPeripherals & 0x00400000) == 0x00400000) - IPBinInformation.AppendLine("Game requires analog vertical controller."); + IPBinInformation.AppendLine(Localization.Game_requires_analog_vertical_controller); if((iPeripherals & 0x00800000) == 0x00800000) - IPBinInformation.AppendLine("Game requires expanded analog horizontal controller."); + IPBinInformation.AppendLine(Localization.Game_requires_expanded_analog_horizontal_controller); if((iPeripherals & 0x01000000) == 0x01000000) - IPBinInformation.AppendLine("Game requires expanded analog vertical controller."); + IPBinInformation.AppendLine(Localization.Game_requires_expanded_analog_vertical_controller); if((iPeripherals & 0x02000000) == 0x02000000) - IPBinInformation.AppendLine("Game supports Gun."); + IPBinInformation.AppendLine(Localization.Game_supports_Gun); if((iPeripherals & 0x04000000) == 0x04000000) - IPBinInformation.AppendLine("Game supports Keyboard."); + IPBinInformation.AppendLine(Localization.Game_supports_keyboard); if((iPeripherals & 0x08000000) == 0x08000000) - IPBinInformation.AppendLine("Game supports Mouse."); + IPBinInformation.AppendLine(Localization.Game_supports_mouse); if((iPeripherals & 0xEE) != 0) - IPBinInformation.AppendFormat("Game supports unknown peripherals mask {0:X2}", iPeripherals & 0xEE); + IPBinInformation.AppendFormat(Localization.Game_supports_unknown_peripherals_mask_0, iPeripherals & 0xEE); return IPBinInformation.ToString(); } diff --git a/Sega/Saturn.cs b/Sega/Saturn.cs index 9e54cf5b2..8b7653620 100644 --- a/Sega/Saturn.cs +++ b/Sega/Saturn.cs @@ -112,85 +112,87 @@ public static class Saturn var IPBinInformation = new StringBuilder(); IPBinInformation.AppendLine("--------------------------------"); - IPBinInformation.AppendLine("SEGA IP.BIN INFORMATION:"); + IPBinInformation.AppendLine(Localization.SEGA_IP_BIN_INFORMATION); IPBinInformation.AppendLine("--------------------------------"); // Decoding all data CultureInfo provider = CultureInfo.InvariantCulture; var ipbindate = DateTime.ParseExact(Encoding.ASCII.GetString(ipbin.release_date), "yyyyMMdd", provider); - IPBinInformation.AppendFormat("Product name: {0}", Encoding.ASCII.GetString(ipbin.product_name)).AppendLine(); + IPBinInformation.AppendFormat(Localization.Product_name_0, Encoding.ASCII.GetString(ipbin.product_name)). + AppendLine(); IPBinInformation.AppendFormat("Product number: {0}", Encoding.ASCII.GetString(ipbin.product_no)).AppendLine(); - IPBinInformation.AppendFormat("Product version: {0}", Encoding.ASCII.GetString(ipbin.product_version)). + IPBinInformation.AppendFormat(Localization.Product_version_0, Encoding.ASCII.GetString(ipbin.product_version)). AppendLine(); - IPBinInformation.AppendFormat("Release date: {0}", ipbindate).AppendLine(); + IPBinInformation.AppendFormat(Localization.Release_date_0, ipbindate).AppendLine(); - IPBinInformation.AppendFormat("Disc number {0} of {1}", (char)ipbin.disc_no, (char)ipbin.disc_total_nos). + IPBinInformation.AppendFormat(Localization.Disc_number_0_of_1, (char)ipbin.disc_no, (char)ipbin.disc_total_nos). AppendLine(); - IPBinInformation.AppendFormat("Peripherals:").AppendLine(); + IPBinInformation.AppendFormat(Localization.Peripherals).AppendLine(); foreach(byte peripheral in ipbin.peripherals) switch((char)peripheral) { case 'A': - IPBinInformation.AppendLine("Game supports analog controller."); + IPBinInformation.AppendLine(Localization.Game_supports_analog_controller); break; case 'J': - IPBinInformation.AppendLine("Game supports JoyPad."); + IPBinInformation.AppendLine(Localization.Game_supports_JoyPad); break; case 'K': - IPBinInformation.AppendLine("Game supports keyboard."); + IPBinInformation.AppendLine(Localization.Game_supports_keyboard); break; case 'M': - IPBinInformation.AppendLine("Game supports mouse."); + IPBinInformation.AppendLine(Localization.Game_supports_mouse); break; case 'S': - IPBinInformation.AppendLine("Game supports analog steering controller."); + IPBinInformation.AppendLine(Localization.Game_supports_analog_steering_controller); break; case 'T': - IPBinInformation.AppendLine("Game supports multitap."); + IPBinInformation.AppendLine(Localization.Game_supports_multitap); break; case ' ': break; default: - IPBinInformation.AppendFormat("Game supports unknown peripheral {0}.", peripheral).AppendLine(); + IPBinInformation.AppendFormat(Localization.Game_supports_unknown_peripheral_0, peripheral). + AppendLine(); break; } - IPBinInformation.AppendLine("Regions supported:"); + IPBinInformation.AppendLine(Localization.Regions_supported); foreach(byte region in ipbin.region_codes) switch((char)region) { case 'J': - IPBinInformation.AppendLine("Japanese NTSC."); + IPBinInformation.AppendLine(Localization.Japanese_NTSC); break; case 'U': - IPBinInformation.AppendLine("North America NTSC."); + IPBinInformation.AppendLine(Localization.North_America_NTSC); break; case 'E': - IPBinInformation.AppendLine("Europe PAL."); + IPBinInformation.AppendLine(Localization.Europe_PAL); break; case 'T': - IPBinInformation.AppendLine("Asia NTSC."); + IPBinInformation.AppendLine(Localization.Asia_NTSC); break; case ' ': break; default: - IPBinInformation.AppendFormat("Game supports unknown region {0}.", region).AppendLine(); + IPBinInformation.AppendFormat(Localization.Game_supports_unknown_region_0, region).AppendLine(); break; } diff --git a/Xbox/DMI.cs b/Xbox/DMI.cs index b29a8076d..4bfad76ff 100644 --- a/Xbox/DMI.cs +++ b/Xbox/DMI.cs @@ -138,7 +138,7 @@ public static class DMI XboxDMI decoded = dmi.Value; var sb = new StringBuilder(); - sb.Append("Catalogue number: "); + sb.Append(Localization.Catalogue_number); for(int i = 0; i < 2; i++) sb.AppendFormat("{0}", decoded.CatalogNumber[i]); @@ -152,7 +152,7 @@ public static class DMI sb.AppendFormat("{0}", decoded.CatalogNumber[7]); sb.AppendLine(); - sb.AppendFormat("Timestamp: {0}", DateTime.FromFileTimeUtc(decoded.Timestamp)).AppendLine(); + sb.AppendFormat(Localization.Timestamp_0, DateTime.FromFileTimeUtc(decoded.Timestamp)).AppendLine(); return sb.ToString(); } @@ -165,7 +165,7 @@ public static class DMI Xbox360DMI decoded = dmi.Value; var sb = new StringBuilder(); - sb.Append("Catalogue number: "); + sb.Append(Localization.Catalogue_number); for(int i = 0; i < 2; i++) sb.AppendFormat("{0}", decoded.CatalogNumber[i]); @@ -218,7 +218,7 @@ public static class DMI sb.AppendLine(); - sb.Append("Media ID: "); + sb.Append(Localization.Media_ID); for(int i = 0; i < 12; i++) sb.AppendFormat("{0:X2}", decoded.MediaID[i]); @@ -230,7 +230,7 @@ public static class DMI sb.AppendLine(); - sb.AppendFormat("Timestamp: {0}", DateTime.FromFileTimeUtc(decoded.Timestamp)).AppendLine(); + sb.AppendFormat(Localization.Timestamp_0, DateTime.FromFileTimeUtc(decoded.Timestamp)).AppendLine(); return sb.ToString(); } diff --git a/Xbox/SS.cs b/Xbox/SS.cs index 899b0cbad..2baa1481a 100644 --- a/Xbox/SS.cs +++ b/Xbox/SS.cs @@ -140,25 +140,28 @@ public static class SS string sizeString = decoded.DiscSize switch { - DVDSize.Eighty => "80mm", - DVDSize.OneTwenty => "120mm", - _ => $"unknown size identifier {decoded.DiscSize}" + DVDSize.Eighty => Localization._80mm, + DVDSize.OneTwenty => Localization._120mm, + _ => string.Format(Localization.unknown_size_identifier_0, decoded.DiscSize) }; - const string categorySentence = "Disc is a {0} {1} version {2}"; + string categorySentence = Localization.Disc_is_a_0_1_version_2; switch(decoded.DiskCategory) { case DiskCategory.DVDPRWDL: - sb.AppendFormat(categorySentence, sizeString, "Xbox Game Disc", decoded.PartVersion).AppendLine(); + sb.AppendFormat(categorySentence, sizeString, Localization.Xbox_Game_Disc, decoded.PartVersion). + AppendLine(); break; case DiskCategory.DVDPRDL: - sb.AppendFormat(categorySentence, sizeString, "Xbox 360 Game Disc", decoded.PartVersion).AppendLine(); + sb.AppendFormat(categorySentence, sizeString, Localization.Xbox_360_Game_Disc, decoded.PartVersion). + AppendLine(); break; default: - sb.AppendFormat(categorySentence, sizeString, "unknown disc type", decoded.PartVersion).AppendLine(); + sb.AppendFormat(categorySentence, sizeString, Localization.unknown_disc_type, decoded.PartVersion). + AppendLine(); break; } @@ -166,46 +169,46 @@ public static class SS switch(decoded.MaximumRate) { case MaximumRateField.TwoMbps: - sb.AppendLine("Disc maximum transfer rate is 2,52 Mbit/sec."); + sb.AppendLine(Localization.Disc_maximum_transfer_rate_is_2_52_Mbit_sec); break; case MaximumRateField.FiveMbps: - sb.AppendLine("Disc maximum transfer rate is 5,04 Mbit/sec."); + sb.AppendLine(Localization.Disc_maximum_transfer_rate_is_5_04_Mbit_sec); break; case MaximumRateField.TenMbps: - sb.AppendLine("Disc maximum transfer rate is 10,08 Mbit/sec."); + sb.AppendLine(Localization.Disc_maximum_transfer_rate_is_10_08_Mbit_sec); break; case MaximumRateField.TwentyMbps: - sb.AppendLine("Disc maximum transfer rate is 20,16 Mbit/sec."); + sb.AppendLine(Localization.Disc_maximum_transfer_rate_is_20_16_Mbit_sec); break; case MaximumRateField.ThirtyMbps: - sb.AppendLine("Disc maximum transfer rate is 30,24 Mbit/sec."); + sb.AppendLine(Localization.Disc_maximum_transfer_rate_is_30_24_Mbit_sec); break; case MaximumRateField.Unspecified: - sb.AppendLine("Disc maximum transfer rate is unspecified."); + sb.AppendLine(Localization.Disc_maximum_transfer_rate_is_unspecified); break; default: - sb.AppendFormat("Disc maximum transfer rate is specified by unknown key {0}", decoded.MaximumRate). - AppendLine(); + sb.AppendFormat(Localization.Disc_maximum_transfer_rate_is_specified_by_unknown_key_0, + decoded.MaximumRate).AppendLine(); break; } - sb.AppendFormat("Disc has {0} layers", decoded.Layers + 1).AppendLine(); + sb.AppendFormat(Localization.Disc_has_0_layers, decoded.Layers + 1).AppendLine(); switch(decoded.TrackPath) { case true when decoded.Layers == 1: - sb.AppendLine("Layers are in parallel track path"); + sb.AppendLine(Localization.Layers_are_in_parallel_track_path); break; case false when decoded.Layers == 1: - sb.AppendLine("Layers are in opposite track path"); + sb.AppendLine(Localization.Layers_are_in_opposite_track_path); break; } @@ -213,35 +216,35 @@ public static class SS switch(decoded.LinearDensity) { case LinearDensityField.TwoSix: - sb.AppendLine("Pitch size is 0,267 μm/bit"); + sb.AppendLine(Localization.Pitch_size_is_0_267_μm_bit); break; case LinearDensityField.TwoNine: - sb.AppendLine("Pitch size is 0,147 μm/bit"); + sb.AppendLine(Localization.Pitch_size_is_0_147_μm_bit); break; case LinearDensityField.FourZero: - sb.AppendLine("Pitch size is between 0,409 μm/bit and 0,435 μm/bit"); + sb.AppendLine(Localization.Pitch_size_is_between_0_409_μm_bit_and_0_435_μm_bit); break; case LinearDensityField.TwoEight: - sb.AppendLine("Pitch size is between 0,140 μm/bit and 0,148 μm/bit"); + sb.AppendLine(Localization.Pitch_size_is_between_0_140_μm_bit_and_0_148_μm_bit); break; case LinearDensityField.OneFive: - sb.AppendLine("Pitch size is 0,153 μm/bit"); + sb.AppendLine(Localization.Pitch_size_is_0_153_μm_bit); break; case LinearDensityField.OneThree: - sb.AppendLine("Pitch size is between 0,130 μm/bit and 0,140 μm/bit"); + sb.AppendLine(Localization.Pitch_size_is_between_0_130_μm_bit_and_0_140_μm_bit); break; case LinearDensityField.ThreeFive: - sb.AppendLine("Pitch size is 0,353 μm/bit"); + sb.AppendLine(Localization.Pitch_size_is_0_353_μm_bit); break; default: - sb.AppendFormat("Unknown pitch size key {0}", decoded.LinearDensity).AppendLine(); + sb.AppendFormat(Localization.Unknown_pitch_size_key_0, decoded.LinearDensity).AppendLine(); break; } @@ -249,27 +252,27 @@ public static class SS switch(decoded.TrackDensity) { case TrackDensityField.Seven: - sb.AppendLine("Track size is 0,74 μm"); + sb.AppendLine(Localization.Track_size_is_0_74_μm); break; case TrackDensityField.Eight: - sb.AppendLine("Track size is 0,80 μm"); + sb.AppendLine(Localization.Track_size_is_0_80_μm); break; case TrackDensityField.Six: - sb.AppendLine("Track size is 0,615 μm"); + sb.AppendLine(Localization.Track_size_is_0_615_μm); break; case TrackDensityField.Four: - sb.AppendLine("Track size is 0,40 μm"); + sb.AppendLine(Localization.Track_size_is_0_40_μm); break; case TrackDensityField.Three: - sb.AppendLine("Track size is 0,34 μm"); + sb.AppendLine(Localization.Track_size_is_0_34_μm); break; default: - sb.AppendFormat("Unknown track size key {0}", decoded.LinearDensity).AppendLine(); + sb.AppendFormat(Localization.Unknown_track_size_key__0_, decoded.LinearDensity).AppendLine(); break; } @@ -277,30 +280,30 @@ public static class SS if(decoded.DataAreaStartPSN > 0) if(decoded.DataAreaEndPSN > 0) { - sb.AppendFormat("Data area starts at PSN {0:X}h", decoded.DataAreaStartPSN).AppendLine(); - sb.AppendFormat("Data area ends at PSN {0:X}h", decoded.DataAreaEndPSN).AppendLine(); + sb.AppendFormat(Localization.Data_area_starts_at_PSN_0, decoded.DataAreaStartPSN).AppendLine(); + sb.AppendFormat(Localization.Data_area_ends_at_PSN_0, decoded.DataAreaEndPSN).AppendLine(); if(decoded is { Layers: 1, TrackPath: false }) - sb.AppendFormat("Layer 0 ends at PSN {0:X}h", decoded.Layer0EndPSN).AppendLine(); + sb.AppendFormat(Localization.Layer_zero_ends_at_PSN_0, decoded.Layer0EndPSN).AppendLine(); } else - sb.AppendLine("Disc is empty"); + sb.AppendLine(Localization.Disc_is_empty); else - sb.AppendLine("Disc is empty"); + sb.AppendLine(Localization.Disc_is_empty); sb.AppendLine("Challenges:"); foreach(ChallengeEntry entry in decoded.ChallengeEntries) { - sb.AppendFormat("\tChallenge ID: {0}", entry.ChallengeId).AppendLine(); - sb.AppendFormat("\tChallenge level: {0}", entry.Level).AppendLine(); - sb.AppendFormat("\tChallenge value: 0x{0:X8}", entry.ChallengeValue).AppendLine(); - sb.AppendFormat("\tResponse modifier: {0}", entry.ResponseModifier).AppendLine(); - sb.AppendFormat("\tResponse value: 0x{0:X8}", entry.ResponseValue).AppendLine(); + sb.AppendFormat("\t" + Localization.Challenge_ID_0, entry.ChallengeId).AppendLine(); + sb.AppendFormat("\t" + Localization.Challenge_level_0, entry.Level).AppendLine(); + sb.AppendFormat("\t" + Localization.Challenge_value_0, entry.ChallengeValue).AppendLine(); + sb.AppendFormat("\t" + Localization.Response_modifier_0, entry.ResponseModifier).AppendLine(); + sb.AppendFormat("\t" + Localization.Response_value_0, entry.ResponseValue).AppendLine(); } for(int i = 0; i < 16; i++) - sb.AppendFormat("Extent starts at PSN {0:X6}h and ends at PSN {1:X6}h", decoded.Extents[i].StartPSN, + sb.AppendFormat(Localization.Extent_starts_at_PSN_0_and_ends_at_PSN_1, decoded.Extents[i].StartPSN, decoded.Extents[i].EndPSN).AppendLine(); return sb.ToString();