diff --git a/Aaru.Images/Aaru.Images.csproj b/Aaru.Images/Aaru.Images.csproj index 6c3fe087d..ba660d425 100644 --- a/Aaru.Images/Aaru.Images.csproj +++ b/Aaru.Images/Aaru.Images.csproj @@ -100,6 +100,7 @@ + @@ -287,6 +288,11 @@ + + True + True + Localization.resx + @@ -532,5 +538,9 @@ LICENSE.LGPL + + ResXFileCodeGenerator + Localization.Designer.cs + diff --git a/Aaru.Images/Aaru.Images.csproj.DotSettings b/Aaru.Images/Aaru.Images.csproj.DotSettings index 642041804..e5dde401e 100644 --- a/Aaru.Images/Aaru.Images.csproj.DotSettings +++ b/Aaru.Images/Aaru.Images.csproj.DotSettings @@ -1,10 +1,10 @@ - + True True True + x:Key="/Default/CodeInspection/NamespaceProvider/NamespaceFoldersToSkip/=anex86/@EntryIndexedValue">True True True True @@ -12,78 +12,80 @@ True True True + x:Key="/Default/CodeInspection/NamespaceProvider/NamespaceFoldersToSkip/=blu/@EntryIndexedValue">True True + x:Key="/Default/CodeInspection/NamespaceProvider/NamespaceFoldersToSkip/=cdrdao/@EntryIndexedValue">True True + x:Key="/Default/CodeInspection/NamespaceProvider/NamespaceFoldersToSkip/=cdrwin/@EntryIndexedValue">True True + x:Key="/Default/CodeInspection/NamespaceProvider/NamespaceFoldersToSkip/=chd/@EntryIndexedValue">True True + x:Key="/Default/CodeInspection/NamespaceProvider/NamespaceFoldersToSkip/=ciscopy/@EntryIndexedValue">True True + x:Key="/Default/CodeInspection/NamespaceProvider/NamespaceFoldersToSkip/=clonecd/@EntryIndexedValue">True True + x:Key="/Default/CodeInspection/NamespaceProvider/NamespaceFoldersToSkip/=copyqm/@EntryIndexedValue">True True True + x:Key="/Default/CodeInspection/NamespaceProvider/NamespaceFoldersToSkip/=cpcdsk/@EntryIndexedValue">True True + x:Key="/Default/CodeInspection/NamespaceProvider/NamespaceFoldersToSkip/=d88/@EntryIndexedValue">True True + x:Key="/Default/CodeInspection/NamespaceProvider/NamespaceFoldersToSkip/=dart/@EntryIndexedValue">True True + x:Key="/Default/CodeInspection/NamespaceProvider/NamespaceFoldersToSkip/=dim/@EntryIndexedValue">True True True True True True True + x:Key="/Default/CodeInspection/NamespaceProvider/NamespaceFoldersToSkip/=gdi/@EntryIndexedValue">True True + x:Key="/Default/CodeInspection/NamespaceProvider/NamespaceFoldersToSkip/=hdcopy/@EntryIndexedValue">True True + x:Key="/Default/CodeInspection/NamespaceProvider/NamespaceFoldersToSkip/=imd/@EntryIndexedValue">True True + True True True + x:Key="/Default/CodeInspection/NamespaceProvider/NamespaceFoldersToSkip/=ndif/@EntryIndexedValue">True True + x:Key="/Default/CodeInspection/NamespaceProvider/NamespaceFoldersToSkip/=nero/@EntryIndexedValue">True True + x:Key="/Default/CodeInspection/NamespaceProvider/NamespaceFoldersToSkip/=nhdr0/@EntryIndexedValue">True True True True True + x:Key="/Default/CodeInspection/NamespaceProvider/NamespaceFoldersToSkip/=qcow/@EntryIndexedValue">True True + x:Key="/Default/CodeInspection/NamespaceProvider/NamespaceFoldersToSkip/=qcow2/@EntryIndexedValue">True True + x:Key="/Default/CodeInspection/NamespaceProvider/NamespaceFoldersToSkip/=qed/@EntryIndexedValue">True True + x:Key="/Default/CodeInspection/NamespaceProvider/NamespaceFoldersToSkip/=raydim/@EntryIndexedValue">True True + x:Key="/Default/CodeInspection/NamespaceProvider/NamespaceFoldersToSkip/=rside/@EntryIndexedValue">True True True + x:Key="/Default/CodeInspection/NamespaceProvider/NamespaceFoldersToSkip/=supercardpro/@EntryIndexedValue">True True + x:Key="/Default/CodeInspection/NamespaceProvider/NamespaceFoldersToSkip/=t98/@EntryIndexedValue">True True True + x:Key="/Default/CodeInspection/NamespaceProvider/NamespaceFoldersToSkip/=udif/@EntryIndexedValue">True True + x:Key="/Default/CodeInspection/NamespaceProvider/NamespaceFoldersToSkip/=ukvfdi/@EntryIndexedValue">True True + x:Key="/Default/CodeInspection/NamespaceProvider/NamespaceFoldersToSkip/=vdi/@EntryIndexedValue">True True + x:Key="/Default/CodeInspection/NamespaceProvider/NamespaceFoldersToSkip/=vhd/@EntryIndexedValue">True True + x:Key="/Default/CodeInspection/NamespaceProvider/NamespaceFoldersToSkip/=vhdx/@EntryIndexedValue">True True True + x:Key="/Default/CodeInspection/NamespaceProvider/NamespaceFoldersToSkip/=vmware/@EntryIndexedValue">True True True \ No newline at end of file diff --git a/Aaru.Images/AaruFormat/ClauniaSubchannelTransform.cs b/Aaru.Images/AaruFormat/ClauniaSubchannelTransform.cs index 2904f36e5..e36614275 100644 --- a/Aaru.Images/AaruFormat/ClauniaSubchannelTransform.cs +++ b/Aaru.Images/AaruFormat/ClauniaSubchannelTransform.cs @@ -157,13 +157,13 @@ public sealed partial class AaruFormat end = DateTime.UtcNow; TimeSpan sequentialize = end - start; - AaruConsole.DebugWriteLine("Aaru Format plugin", "Took {0}ms to deinterleave subchannel.", + AaruConsole.DebugWriteLine("Aaru Format plugin", Localization.Took_0_ms_to_deinterleave_subchannel, deinterleave.TotalMilliseconds); - AaruConsole.DebugWriteLine("Aaru Format plugin", "Took {0}ms to sequentialize subchannel.", + AaruConsole.DebugWriteLine("Aaru Format plugin", Localization.Took_0_ms_to_sequentialize_subchannel, sequentialize.TotalMilliseconds); - AaruConsole.DebugWriteLine("Aaru Format plugin", "Took {0}ms to transform subchannel.", + AaruConsole.DebugWriteLine("Aaru Format plugin", Localization.Took_0_ms_to_transform_subchannel, deinterleave.TotalMilliseconds + sequentialize.TotalMilliseconds); return sequential; @@ -289,13 +289,13 @@ public sealed partial class AaruFormat end = DateTime.UtcNow; TimeSpan interleave = end - start; - AaruConsole.DebugWriteLine("Aaru Format plugin", "Took {0}ms to de-sequentialize subchannel.", + AaruConsole.DebugWriteLine("Aaru Format plugin", Localization.Took_0_ms_to_desequentialize_subchannel, desequentialize.TotalMilliseconds); - AaruConsole.DebugWriteLine("Aaru Format plugin", "Took {0}ms to interleave subchannel.", + AaruConsole.DebugWriteLine("Aaru Format plugin", Localization.Took_0_ms_to_interleave_subchannel, interleave.TotalMilliseconds); - AaruConsole.DebugWriteLine("Aaru Format plugin", "Took {0}ms to untransform subchannel.", + AaruConsole.DebugWriteLine("Aaru Format plugin", Localization.Took_0_ms_to_untransform_subchannel, interleave.TotalMilliseconds + desequentialize.TotalMilliseconds); return interleaved; diff --git a/Aaru.Images/AaruFormat/Properties.cs b/Aaru.Images/AaruFormat/Properties.cs index 430e3d211..276cb860e 100644 --- a/Aaru.Images/AaruFormat/Properties.cs +++ b/Aaru.Images/AaruFormat/Properties.cs @@ -60,13 +60,13 @@ public sealed partial class AaruFormat /// public ImageInfo Info => _imageInfo; /// - public string Name => "Aaru Format"; + public string Name => Localization.AaruFormat_Name; /// public Guid Id => new("49360069-1784-4A2F-B723-0C844D610B0A"); /// public string Format => "Aaru"; /// - public string Author => "Natalia Portillo"; + public string Author => Authors.NataliaPortillo; /// public List Partitions { get; private set; } /// @@ -88,17 +88,19 @@ public sealed partial class AaruFormat public IEnumerable<(string name, Type type, string description, object @default)> SupportedOptions => new[] { ("sectors_per_block", typeof(uint), - "How many sectors to store per block (will be rounded to next power of two)", 4096U), - ("dictionary", typeof(uint), "Size, in bytes, of the LZMA dictionary", (uint)(1 << 25)), + Localization.How_many_sectors_to_store_per_block_will_be_rounded_to_next_power_of_two, 4096U), + ("dictionary", typeof(uint), Localization.Size_in_bytes_of_the_LZMA_dictionary, (uint)(1 << 25)), ("max_ddt_size", typeof(uint), - "Maximum size, in mebibytes, for in-memory DDT. If image needs a bigger one, it will be on-disk", 256U), - ("md5", typeof(bool), "Calculate and store MD5 of image's user data", false), - ("sha1", typeof(bool), "Calculate and store SHA1 of image's user data", false), - ("sha256", typeof(bool), "Calculate and store SHA256 of image's user data", false), - ("spamsum", typeof(bool), "Calculate and store SpamSum of image's user data", false), + Localization.Maximum_size_in_mebibytes_for_in_memory_DDT_If_image_needs_a_bigger_one_it_will_be_on_disk, 256U), + ("md5", typeof(bool), Localization.Calculate_and_store_MD5_of_image_user_data, false), + ("sha1", typeof(bool), Localization.Calculate_and_store_SHA1_of_image_user_data, false), + ("sha256", typeof(bool), Localization.Calculate_and_store_SHA256_of_image_user_data, false), + ("spamsum", typeof(bool), Localization.Calculate_and_store_SpamSum_of_image_user_data, false), ("deduplicate", typeof(bool), - "Store only unique sectors. This consumes more memory and is slower, but it's enabled by default", true), - ("compress", typeof(bool), "Compress user data blocks. Other blocks will always be compressed", (object)true) + Localization.Store_only_unique_sectors_This_consumes_more_memory_and_is_slower_but_its_enabled_by_default, + true), + ("compress", typeof(bool), Localization.Compress_user_data_blocks_Other_blocks_will_always_be_compressed, + (object)true) }; /// public IEnumerable KnownExtensions => new[] diff --git a/Aaru.Images/AaruFormat/Read.cs b/Aaru.Images/AaruFormat/Read.cs index f3b859329..cd5485aa7 100644 --- a/Aaru.Images/AaruFormat/Read.cs +++ b/Aaru.Images/AaruFormat/Read.cs @@ -60,7 +60,8 @@ public sealed partial class AaruFormat /// public ErrorNumber Open(IFilter imageFilter) { - AaruConsole.DebugWriteLine("Aaru Format plugin", "Memory snapshot: {0} bytes", GC.GetTotalMemory(false)); + AaruConsole.DebugWriteLine("Aaru Format plugin", Localization.Memory_snapshot_0_bytes, + GC.GetTotalMemory(false)); _imageStream = imageFilter.GetDataForkStream(); _imageStream.Seek(0, SeekOrigin.Begin); @@ -74,7 +75,8 @@ public sealed partial class AaruFormat if(_header.imageMajorVersion > AARUFMT_VERSION) { - AaruConsole.ErrorWriteLine($"Image version {_header.imageMajorVersion} not recognized."); + AaruConsole.ErrorWriteLine(string.Format(Localization.Image_version_0_not_recognized, + _header.imageMajorVersion)); return ErrorNumber.NotSupported; } @@ -84,7 +86,8 @@ public sealed partial class AaruFormat _imageInfo.Version = $"{_header.imageMajorVersion}.{_header.imageMinorVersion}"; _imageInfo.MediaType = _header.mediaType; - AaruConsole.DebugWriteLine("Aaru Format plugin", "Memory snapshot: {0} bytes", GC.GetTotalMemory(false)); + AaruConsole.DebugWriteLine("Aaru Format plugin", Localization.Memory_snapshot_0_bytes, + GC.GetTotalMemory(false)); // Read the index header _imageStream.Position = (long)_header.indexOffset; @@ -95,7 +98,7 @@ public sealed partial class AaruFormat if(idxHeader.identifier != BlockType.Index && idxHeader.identifier != BlockType.Index2) { - AaruConsole.ErrorWriteLine("Index not found!"); + AaruConsole.ErrorWriteLine(Localization.Index_not_found); return ErrorNumber.InvalidArgument; } @@ -107,10 +110,11 @@ public sealed partial class AaruFormat _imageStream.EnsureRead(_structureBytes, 0, _structureBytes.Length); IndexHeader2 idxHeader2 = Marshal.SpanToStructureLittleEndian(_structureBytes); - AaruConsole.DebugWriteLine("Aaru Format plugin", "Index at {0} contains {1} entries", _header.indexOffset, - idxHeader2.entries); + AaruConsole.DebugWriteLine("Aaru Format plugin", Localization.Index_at_0_contains_1_entries, + _header.indexOffset, idxHeader2.entries); - AaruConsole.DebugWriteLine("Aaru Format plugin", "Memory snapshot: {0} bytes", GC.GetTotalMemory(false)); + AaruConsole.DebugWriteLine("Aaru Format plugin", Localization.Memory_snapshot_0_bytes, + GC.GetTotalMemory(false)); // Fill in-memory index _index = new List(); @@ -122,18 +126,19 @@ public sealed partial class AaruFormat IndexEntry entry = Marshal.SpanToStructureLittleEndian(_structureBytes); AaruConsole.DebugWriteLine("Aaru Format plugin", - "Block type {0} with data type {1} is indexed to be at {2}", entry.blockType, - entry.dataType, entry.offset); + Localization.Block_type_0_with_data_type_1_is_indexed_to_be_at_2, + entry.blockType, entry.dataType, entry.offset); _index.Add(entry); } } else { - AaruConsole.DebugWriteLine("Aaru Format plugin", "Index at {0} contains {1} entries", _header.indexOffset, - idxHeader.entries); + AaruConsole.DebugWriteLine("Aaru Format plugin", Localization.Index_at_0_contains_1_entries, + _header.indexOffset, idxHeader.entries); - AaruConsole.DebugWriteLine("Aaru Format plugin", "Memory snapshot: {0} bytes", GC.GetTotalMemory(false)); + AaruConsole.DebugWriteLine("Aaru Format plugin", Localization.Memory_snapshot_0_bytes, + GC.GetTotalMemory(false)); // Fill in-memory index _index = new List(); @@ -145,14 +150,15 @@ public sealed partial class AaruFormat IndexEntry entry = Marshal.SpanToStructureLittleEndian(_structureBytes); AaruConsole.DebugWriteLine("Aaru Format plugin", - "Block type {0} with data type {1} is indexed to be at {2}", entry.blockType, - entry.dataType, entry.offset); + Localization.Block_type_0_with_data_type_1_is_indexed_to_be_at_2, + entry.blockType, entry.dataType, entry.offset); _index.Add(entry); } } - AaruConsole.DebugWriteLine("Aaru Format plugin", "Memory snapshot: {0} bytes", GC.GetTotalMemory(false)); + AaruConsole.DebugWriteLine("Aaru Format plugin", Localization.Memory_snapshot_0_bytes, + GC.GetTotalMemory(false)); _imageInfo.ImageSize = 0; @@ -190,7 +196,8 @@ public sealed partial class AaruFormat if(blockHeader.identifier != entry.blockType) { AaruConsole.DebugWriteLine("Aaru Format plugin", - "Incorrect identifier for data block at position {0}", entry.offset); + Localization.Incorrect_identifier_for_data_block_at_position_0, + entry.offset); break; } @@ -198,7 +205,8 @@ public sealed partial class AaruFormat if(blockHeader.type != entry.dataType) { AaruConsole.DebugWriteLine("Aaru Format plugin", - "Expected block with data type {0} at position {1} but found data type {2}", + Localization. + Expected_block_with_data_type_0_at_position_1_but_found_data_type_2, entry.dataType, entry.offset, blockHeader.type); break; @@ -206,10 +214,10 @@ public sealed partial class AaruFormat byte[] data; - AaruConsole.DebugWriteLine("Aaru Format plugin", "Found data block type {0} at position {1}", + AaruConsole.DebugWriteLine("Aaru Format plugin", Localization.Found_data_block_type_0_at_position_1, entry.dataType, entry.offset); - AaruConsole.DebugWriteLine("Aaru Format plugin", "Memory snapshot: {0} bytes", + AaruConsole.DebugWriteLine("Aaru Format plugin", Localization.Memory_snapshot_0_bytes, GC.GetTotalMemory(false)); // Decompress media tag @@ -220,7 +228,8 @@ public sealed partial class AaruFormat entry.dataType != DataType.CdSectorSubchannel) { AaruConsole.DebugWriteLine("Aaru Format plugin", - "Invalid compression type {0} for block with data type {1}, continuing...", + Localization. + Invalid_compression_type_0_for_block_with_data_type_1_continuing, blockHeader.compression, entry.dataType); break; @@ -237,7 +246,8 @@ public sealed partial class AaruFormat if(decompressedLength != blockHeader.length) { AaruConsole.DebugWriteLine("Aaru Format plugin", - "Error decompressing block, should be {0} bytes but got {1} bytes.", + Localization. + Error_decompressing_block_should_be_0_bytes_but_got_1_bytes, blockHeader.length, decompressedLength); return ErrorNumber.InOutError; @@ -248,10 +258,11 @@ public sealed partial class AaruFormat DateTime endDecompress = DateTime.Now; - AaruConsole.DebugWriteLine("Aaru Format plugin", "Took {0} seconds to decompress block", + AaruConsole.DebugWriteLine("Aaru Format plugin", + Localization.Took_0_seconds_to_decompress_block, (endDecompress - startDecompress).TotalSeconds); - AaruConsole.DebugWriteLine("Aaru Format plugin", "Memory snapshot: {0} bytes", + AaruConsole.DebugWriteLine("Aaru Format plugin", Localization.Memory_snapshot_0_bytes, GC.GetTotalMemory(false)); } else if(blockHeader.compression == CompressionType.None) @@ -259,13 +270,13 @@ public sealed partial class AaruFormat data = new byte[blockHeader.length]; _imageStream.EnsureRead(data, 0, (int)blockHeader.length); - AaruConsole.DebugWriteLine("Aaru Format plugin", "Memory snapshot: {0} bytes", + AaruConsole.DebugWriteLine("Aaru Format plugin", Localization.Memory_snapshot_0_bytes, GC.GetTotalMemory(false)); } else { AaruConsole.DebugWriteLine("Aaru Format plugin", - "Found unknown compression type {0}, continuing...", + Localization.Found_unknown_compression_type_0_continuing, (ushort)blockHeader.compression); break; @@ -278,7 +289,8 @@ public sealed partial class AaruFormat blockHeader.crc64 != 0) { AaruConsole.DebugWriteLine("Aaru Format plugin", - "Incorrect CRC found: 0x{0:X16} found, expected 0x{1:X16}, continuing...", + Localization. + Incorrect_CRC_found_0_X16_found_expected_1_X16_continuing, BitConverter.ToUInt64(blockCrc, 0), blockHeader.crc64); break; @@ -303,7 +315,7 @@ public sealed partial class AaruFormat if(!_imageInfo.ReadableSectorTags.Contains(SectorTagType.CdSectorHeader)) _imageInfo.ReadableSectorTags.Add(SectorTagType.CdSectorHeader); - AaruConsole.DebugWriteLine("Aaru Format plugin", "Memory snapshot: {0} bytes", + AaruConsole.DebugWriteLine("Aaru Format plugin", Localization.Memory_snapshot_0_bytes, GC.GetTotalMemory(false)); break; @@ -332,7 +344,7 @@ public sealed partial class AaruFormat if(!_imageInfo.ReadableSectorTags.Contains(SectorTagType.CdSectorEdc)) _imageInfo.ReadableSectorTags.Add(SectorTagType.CdSectorEdc); - AaruConsole.DebugWriteLine("Aaru Format plugin", "Memory snapshot: {0} bytes", + AaruConsole.DebugWriteLine("Aaru Format plugin", Localization.Memory_snapshot_0_bytes, GC.GetTotalMemory(false)); break; @@ -342,7 +354,7 @@ public sealed partial class AaruFormat if(!_imageInfo.ReadableSectorTags.Contains(SectorTagType.CdSectorSubchannel)) _imageInfo.ReadableSectorTags.Add(SectorTagType.CdSectorSubchannel); - AaruConsole.DebugWriteLine("Aaru Format plugin", "Memory snapshot: {0} bytes", + AaruConsole.DebugWriteLine("Aaru Format plugin", Localization.Memory_snapshot_0_bytes, GC.GetTotalMemory(false)); break; @@ -354,14 +366,14 @@ public sealed partial class AaruFormat if(!_imageInfo.ReadableSectorTags.Contains(SectorTagType.AppleSectorTag)) _imageInfo.ReadableSectorTags.Add(SectorTagType.AppleSectorTag); - AaruConsole.DebugWriteLine("Aaru Format plugin", "Memory snapshot: {0} bytes", + AaruConsole.DebugWriteLine("Aaru Format plugin", Localization.Memory_snapshot_0_bytes, GC.GetTotalMemory(false)); break; case DataType.CompactDiscMode2Subheader: _mode2Subheaders = data; - AaruConsole.DebugWriteLine("Aaru Format plugin", "Memory snapshot: {0} bytes", + AaruConsole.DebugWriteLine("Aaru Format plugin", Localization.Memory_snapshot_0_bytes, GC.GetTotalMemory(false)); break; @@ -374,7 +386,7 @@ public sealed partial class AaruFormat if(!_imageInfo.ReadableSectorTags.Contains(SectorTagType.DvdTitleKey)) _imageInfo.ReadableSectorTags.Add(SectorTagType.DvdTitleKey); - AaruConsole.DebugWriteLine("Aaru Format plugin", "Memory snapshot: {0} bytes", + AaruConsole.DebugWriteLine("Aaru Format plugin", Localization.Memory_snapshot_0_bytes, GC.GetTotalMemory(false)); break; @@ -384,7 +396,7 @@ public sealed partial class AaruFormat if(!_imageInfo.ReadableSectorTags.Contains(SectorTagType.DvdTitleKeyDecrypted)) _imageInfo.ReadableSectorTags.Add(SectorTagType.DvdTitleKeyDecrypted); - AaruConsole.DebugWriteLine("Aaru Format plugin", "Memory snapshot: {0} bytes", + AaruConsole.DebugWriteLine("Aaru Format plugin", Localization.Memory_snapshot_0_bytes, GC.GetTotalMemory(false)); break; @@ -394,7 +406,8 @@ public sealed partial class AaruFormat if(_mediaTags.ContainsKey(mediaTagType)) { AaruConsole.DebugWriteLine("Aaru Format plugin", - "Media tag type {0} duplicated, removing previous entry...", + Localization. + Media_tag_type_0_duplicated_removing_previous_entry, mediaTagType); _mediaTags.Remove(mediaTagType); @@ -402,7 +415,7 @@ public sealed partial class AaruFormat _mediaTags.Add(mediaTagType, data); - AaruConsole.DebugWriteLine("Aaru Format plugin", "Memory snapshot: {0} bytes", + AaruConsole.DebugWriteLine("Aaru Format plugin", Localization.Memory_snapshot_0_bytes, GC.GetTotalMemory(false)); break; @@ -424,14 +437,14 @@ public sealed partial class AaruFormat _imageInfo.Sectors = ddtHeader.entries; _shift = ddtHeader.shift; - AaruConsole.DebugWriteLine("Aaru Format plugin", "Memory snapshot: {0} bytes", + AaruConsole.DebugWriteLine("Aaru Format plugin", Localization.Memory_snapshot_0_bytes, GC.GetTotalMemory(false)); // Check for DDT compression switch(ddtHeader.compression) { case CompressionType.Lzma: - AaruConsole.DebugWriteLine("Aaru Format plugin", "Decompressing DDT..."); + AaruConsole.DebugWriteLine("Aaru Format plugin", Localization.Decompressing_DDT); DateTime ddtStart = DateTime.UtcNow; byte[] compressedDdt = new byte[ddtHeader.cmpLength - LZMA_PROPERTIES_LENGTH]; byte[] lzmaProperties = new byte[LZMA_PROPERTIES_LENGTH]; @@ -445,7 +458,8 @@ public sealed partial class AaruFormat if(decompressedLength != ddtHeader.length) { AaruConsole.DebugWriteLine("Aaru Format plugin", - "Error decompressing DDT, should be {0} bytes but got {1} bytes.", + Localization. + Error_decompressing_DDT_should_be_0_bytes_but_got_1_bytes, ddtHeader.length, decompressedLength); return ErrorNumber.InOutError; @@ -456,10 +470,11 @@ public sealed partial class AaruFormat _inMemoryDdt = true; AaruConsole.DebugWriteLine("Aaru Format plugin", - "Took {0} seconds to decompress DDT", + Localization.Took_0_seconds_to_decompress_DDT, (ddtEnd - ddtStart).TotalSeconds); - AaruConsole.DebugWriteLine("Aaru Format plugin", "Memory snapshot: {0} bytes", + AaruConsole.DebugWriteLine("Aaru Format plugin", + Localization.Memory_snapshot_0_bytes, GC.GetTotalMemory(false)); break; @@ -467,13 +482,16 @@ public sealed partial class AaruFormat _inMemoryDdt = false; _outMemoryDdtPosition = (long)entry.offset; - AaruConsole.DebugWriteLine("Aaru Format plugin", "Memory snapshot: {0} bytes", + AaruConsole.DebugWriteLine("Aaru Format plugin", + Localization.Memory_snapshot_0_bytes, GC.GetTotalMemory(false)); break; default: - AaruConsole.ErrorWriteLine($"Found unsupported compression algorithm { - (ushort)ddtHeader.compression}"); + AaruConsole. + ErrorWriteLine(string. + Format(Localization.Found_unsupported_compression_algorithm_0, + (ushort)ddtHeader.compression)); return ErrorNumber.NotSupported; } @@ -486,14 +504,14 @@ public sealed partial class AaruFormat { byte[] decompressedDdt = new byte[ddtHeader.length]; - AaruConsole.DebugWriteLine("Aaru Format plugin", "Memory snapshot: {0} bytes", + AaruConsole.DebugWriteLine("Aaru Format plugin", Localization.Memory_snapshot_0_bytes, GC.GetTotalMemory(false)); // Check for DDT compression switch(ddtHeader.compression) { case CompressionType.Lzma: - AaruConsole.DebugWriteLine("Aaru Format plugin", "Decompressing DDT..."); + AaruConsole.DebugWriteLine("Aaru Format plugin", Localization.Decompressing_DDT); DateTime ddtStart = DateTime.UtcNow; byte[] compressedDdt = new byte[ddtHeader.cmpLength - LZMA_PROPERTIES_LENGTH]; byte[] lzmaProperties = new byte[LZMA_PROPERTIES_LENGTH]; @@ -508,30 +526,35 @@ public sealed partial class AaruFormat if(decompressedLength != ddtHeader.length) { AaruConsole.DebugWriteLine("Aaru Format plugin", - "Error decompressing DDT, should be {0} bytes but got {1} bytes.", + Localization. + Error_decompressing_DDT_should_be_0_bytes_but_got_1_bytes, ddtHeader.length, decompressedLength); return ErrorNumber.InOutError; } AaruConsole.DebugWriteLine("Aaru Format plugin", - "Took {0} seconds to decompress DDT", + Localization.Took_0_seconds_to_decompress_DDT, (ddtEnd - ddtStart).TotalSeconds); - AaruConsole.DebugWriteLine("Aaru Format plugin", "Memory snapshot: {0} bytes", + AaruConsole.DebugWriteLine("Aaru Format plugin", + Localization.Memory_snapshot_0_bytes, GC.GetTotalMemory(false)); break; case CompressionType.None: _imageStream.EnsureRead(decompressedDdt, 0, decompressedDdt.Length); - AaruConsole.DebugWriteLine("Aaru Format plugin", "Memory snapshot: {0} bytes", + AaruConsole.DebugWriteLine("Aaru Format plugin", + Localization.Memory_snapshot_0_bytes, GC.GetTotalMemory(false)); break; default: - AaruConsole.ErrorWriteLine($"Found unsupported compression algorithm { - (ushort)ddtHeader.compression}"); + AaruConsole. + ErrorWriteLine(string. + Format(Localization.Found_unsupported_compression_algorithm_0, + (ushort)ddtHeader.compression)); return ErrorNumber.NotSupported; } @@ -552,7 +575,7 @@ public sealed partial class AaruFormat break; } - AaruConsole.DebugWriteLine("Aaru Format plugin", "Memory snapshot: {0} bytes", + AaruConsole.DebugWriteLine("Aaru Format plugin", Localization.Memory_snapshot_0_bytes, GC.GetTotalMemory(false)); break; @@ -570,7 +593,7 @@ public sealed partial class AaruFormat if(_geometryBlock.identifier == BlockType.GeometryBlock) { AaruConsole.DebugWriteLine("Aaru Format plugin", - "Geometry set to {0} cylinders {1} heads {2} sectors per track", + Localization.Geometry_set_to_0_cylinders_1_heads_2_sectors_per_track, _geometryBlock.cylinders, _geometryBlock.heads, _geometryBlock.sectorsPerTrack); @@ -578,7 +601,7 @@ public sealed partial class AaruFormat _imageInfo.Heads = _geometryBlock.heads; _imageInfo.SectorsPerTrack = _geometryBlock.sectorsPerTrack; - AaruConsole.DebugWriteLine("Aaru Format plugin", "Memory snapshot: {0} bytes", + AaruConsole.DebugWriteLine("Aaru Format plugin", Localization.Memory_snapshot_0_bytes, GC.GetTotalMemory(false)); } @@ -594,12 +617,13 @@ public sealed partial class AaruFormat if(metadataBlock.identifier != entry.blockType) { AaruConsole.DebugWriteLine("Aaru Format plugin", - "Incorrect identifier for data block at position {0}", entry.offset); + Localization.Incorrect_identifier_for_data_block_at_position_0, + entry.offset); break; } - AaruConsole.DebugWriteLine("Aaru Format plugin", "Found metadata block at position {0}", + AaruConsole.DebugWriteLine("Aaru Format plugin", Localization.Found_metadata_block_at_position_0, entry.offset); byte[] metadata = new byte[metadataBlock.blockSize]; @@ -611,7 +635,7 @@ public sealed partial class AaruFormat _imageInfo.MediaSequence = metadataBlock.mediaSequence; _imageInfo.LastMediaSequence = metadataBlock.lastMediaSequence; - AaruConsole.DebugWriteLine("Aaru Format plugin", "Setting media sequence as {0} of {1}", + AaruConsole.DebugWriteLine("Aaru Format plugin", Localization.Setting_media_sequence_as_0_of_1, _imageInfo.MediaSequence, _imageInfo.LastMediaSequence); } @@ -621,7 +645,8 @@ public sealed partial class AaruFormat _imageInfo.Creator = Encoding.Unicode.GetString(metadata, (int)metadataBlock.creatorOffset, (int)(metadataBlock.creatorLength - 2)); - AaruConsole.DebugWriteLine("Aaru Format plugin", "Setting creator: {0}", _imageInfo.Creator); + AaruConsole.DebugWriteLine("Aaru Format plugin", Localization.Setting_creator_0, + _imageInfo.Creator); } if(metadataBlock.commentsOffset > 0 && @@ -630,7 +655,8 @@ public sealed partial class AaruFormat _imageInfo.Comments = Encoding.Unicode.GetString(metadata, (int)metadataBlock.commentsOffset, (int)(metadataBlock.commentsLength - 2)); - AaruConsole.DebugWriteLine("Aaru Format plugin", "Setting comments: {0}", _imageInfo.Comments); + AaruConsole.DebugWriteLine("Aaru Format plugin", Localization.Setting_comments_0, + _imageInfo.Comments); } if(metadataBlock.mediaTitleOffset > 0 && @@ -640,7 +666,7 @@ public sealed partial class AaruFormat Encoding.Unicode.GetString(metadata, (int)metadataBlock.mediaTitleOffset, (int)(metadataBlock.mediaTitleLength - 2)); - AaruConsole.DebugWriteLine("Aaru Format plugin", "Setting media title: {0}", + AaruConsole.DebugWriteLine("Aaru Format plugin", Localization.Setting_media_title_0, _imageInfo.MediaTitle); } @@ -651,7 +677,7 @@ public sealed partial class AaruFormat Encoding.Unicode.GetString(metadata, (int)metadataBlock.mediaManufacturerOffset, (int)(metadataBlock.mediaManufacturerLength - 2)); - AaruConsole.DebugWriteLine("Aaru Format plugin", "Setting media manufacturer: {0}", + AaruConsole.DebugWriteLine("Aaru Format plugin", Localization.Setting_media_manufacturer_0, _imageInfo.MediaManufacturer); } @@ -662,7 +688,7 @@ public sealed partial class AaruFormat Encoding.Unicode.GetString(metadata, (int)metadataBlock.mediaModelOffset, (int)(metadataBlock.mediaModelLength - 2)); - AaruConsole.DebugWriteLine("Aaru Format plugin", "Setting media model: {0}", + AaruConsole.DebugWriteLine("Aaru Format plugin", Localization.Setting_media_model_0, _imageInfo.MediaModel); } @@ -673,7 +699,7 @@ public sealed partial class AaruFormat Encoding.Unicode.GetString(metadata, (int)metadataBlock.mediaSerialNumberOffset, (int)(metadataBlock.mediaSerialNumberLength - 2)); - AaruConsole.DebugWriteLine("Aaru Format plugin", "Setting media serial number: {0}", + AaruConsole.DebugWriteLine("Aaru Format plugin", Localization.Setting_media_serial_number_0, _imageInfo.MediaSerialNumber); } @@ -684,7 +710,7 @@ public sealed partial class AaruFormat Encoding.Unicode.GetString(metadata, (int)metadataBlock.mediaBarcodeOffset, (int)(metadataBlock.mediaBarcodeLength - 2)); - AaruConsole.DebugWriteLine("Aaru Format plugin", "Setting media barcode: {0}", + AaruConsole.DebugWriteLine("Aaru Format plugin", Localization.Setting_media_barcode_0, _imageInfo.MediaBarcode); } @@ -695,7 +721,7 @@ public sealed partial class AaruFormat Encoding.Unicode.GetString(metadata, (int)metadataBlock.mediaPartNumberOffset, (int)(metadataBlock.mediaPartNumberLength - 2)); - AaruConsole.DebugWriteLine("Aaru Format plugin", "Setting media part number: {0}", + AaruConsole.DebugWriteLine("Aaru Format plugin", Localization.Setting_media_part_number_0, _imageInfo.MediaPartNumber); } @@ -706,7 +732,7 @@ public sealed partial class AaruFormat Encoding.Unicode.GetString(metadata, (int)metadataBlock.driveManufacturerOffset, (int)(metadataBlock.driveManufacturerLength - 2)); - AaruConsole.DebugWriteLine("Aaru Format plugin", "Setting drive manufacturer: {0}", + AaruConsole.DebugWriteLine("Aaru Format plugin", Localization.Setting_drive_manufacturer_0, _imageInfo.DriveManufacturer); } @@ -717,7 +743,7 @@ public sealed partial class AaruFormat Encoding.Unicode.GetString(metadata, (int)metadataBlock.driveModelOffset, (int)(metadataBlock.driveModelLength - 2)); - AaruConsole.DebugWriteLine("Aaru Format plugin", "Setting drive model: {0}", + AaruConsole.DebugWriteLine("Aaru Format plugin", Localization.Setting_drive_model_0, _imageInfo.DriveModel); } @@ -728,7 +754,7 @@ public sealed partial class AaruFormat Encoding.Unicode.GetString(metadata, (int)metadataBlock.driveSerialNumberOffset, (int)(metadataBlock.driveSerialNumberLength - 2)); - AaruConsole.DebugWriteLine("Aaru Format plugin", "Setting drive serial number: {0}", + AaruConsole.DebugWriteLine("Aaru Format plugin", Localization.Setting_drive_serial_number_0, _imageInfo.DriveSerialNumber); } @@ -740,11 +766,11 @@ public sealed partial class AaruFormat Encoding.Unicode.GetString(metadata, (int)metadataBlock.driveFirmwareRevisionOffset, (int)(metadataBlock.driveFirmwareRevisionLength - 2)); - AaruConsole.DebugWriteLine("Aaru Format plugin", "Setting drive firmware revision: {0}", + AaruConsole.DebugWriteLine("Aaru Format plugin", Localization.Setting_drive_firmware_revision_0, _imageInfo.DriveFirmwareRevision); } - AaruConsole.DebugWriteLine("Aaru Format plugin", "Memory snapshot: {0} bytes", + AaruConsole.DebugWriteLine("Aaru Format plugin", Localization.Memory_snapshot_0_bytes, GC.GetTotalMemory(false)); break; @@ -758,7 +784,7 @@ public sealed partial class AaruFormat if(tracksHeader.identifier != BlockType.TracksBlock) { AaruConsole.DebugWriteLine("Aaru Format plugin", - "Incorrect identifier for tracks block at position {0}", + Localization.Incorrect_identifier_for_tracks_block_at_position_0, entry.offset); break; @@ -771,7 +797,8 @@ public sealed partial class AaruFormat if(BitConverter.ToUInt64(trksCrc, 0) != tracksHeader.crc64) { AaruConsole.DebugWriteLine("Aaru Format plugin", - "Incorrect CRC found: 0x{0:X16} found, expected 0x{1:X16}, continuing...", + Localization. + Incorrect_CRC_found_0_X16_found_expected_1_X16_continuing, BitConverter.ToUInt64(trksCrc, 0), tracksHeader.crc64); break; @@ -783,7 +810,7 @@ public sealed partial class AaruFormat _trackFlags = new Dictionary(); _trackIsrcs = new Dictionary(); - AaruConsole.DebugWriteLine("Aaru Format plugin", "Found {0} tracks at position {0}", + AaruConsole.DebugWriteLine("Aaru Format plugin", Localization.Found_0_tracks_at_position_0, tracksHeader.entries, entry.offset); for(ushort i = 0; i < tracksHeader.entries; i++) @@ -826,7 +853,7 @@ public sealed partial class AaruFormat _imageInfo.HasPartitions = true; _imageInfo.HasSessions = true; - AaruConsole.DebugWriteLine("Aaru Format plugin", "Memory snapshot: {0} bytes", + AaruConsole.DebugWriteLine("Aaru Format plugin", Localization.Memory_snapshot_0_bytes, GC.GetTotalMemory(false)); break; @@ -842,10 +869,10 @@ public sealed partial class AaruFormat if(cicmBlock.identifier != BlockType.CicmBlock) break; - AaruConsole.DebugWriteLine("Aaru Format plugin", "Found CICM XML metadata block at position {0}", - entry.offset); + AaruConsole.DebugWriteLine("Aaru Format plugin", + Localization.Found_CICM_XML_metadata_block_at_position_0, entry.offset); - AaruConsole.DebugWriteLine("Aaru Format plugin", "Memory snapshot: {0} bytes", + AaruConsole.DebugWriteLine("Aaru Format plugin", Localization.Memory_snapshot_0_bytes, GC.GetTotalMemory(false)); byte[] cicmBytes = new byte[cicmBlock.length]; @@ -862,12 +889,13 @@ public sealed partial class AaruFormat catch(XmlException ex) { AaruConsole.DebugWriteLine("Aaru Format plugin", - "Exception {0} processing CICM XML metadata block", ex.Message); + Localization.Exception_0_processing_CICM_XML_metadata_block, + ex.Message); CicmMetadata = null; } - AaruConsole.DebugWriteLine("Aaru Format plugin", "Memory snapshot: {0} bytes", + AaruConsole.DebugWriteLine("Aaru Format plugin", Localization.Memory_snapshot_0_bytes, GC.GetTotalMemory(false)); break; @@ -883,10 +911,10 @@ public sealed partial class AaruFormat if(dumpBlock.identifier != BlockType.DumpHardwareBlock) break; - AaruConsole.DebugWriteLine("Aaru Format plugin", "Found dump hardware block at position {0}", - entry.offset); + AaruConsole.DebugWriteLine("Aaru Format plugin", + Localization.Found_dump_hardware_block_at_position_0, entry.offset); - AaruConsole.DebugWriteLine("Aaru Format plugin", "Memory snapshot: {0} bytes", + AaruConsole.DebugWriteLine("Aaru Format plugin", Localization.Memory_snapshot_0_bytes, GC.GetTotalMemory(false)); _structureBytes = new byte[dumpBlock.length]; @@ -896,7 +924,8 @@ public sealed partial class AaruFormat if(BitConverter.ToUInt64(dumpCrc, 0) != dumpBlock.crc64) { AaruConsole.DebugWriteLine("Aaru Format plugin", - "Incorrect CRC found: 0x{0:X16} found, expected 0x{1:X16}, continuing...", + Localization. + Incorrect_CRC_found_0_X16_found_expected_1_X16_continuing, BitConverter.ToUInt64(dumpCrc, 0), dumpBlock.crc64); break; @@ -1008,7 +1037,7 @@ public sealed partial class AaruFormat if(DumpHardware.Count == 0) DumpHardware = null; - AaruConsole.DebugWriteLine("Aaru Format plugin", "Memory snapshot: {0} bytes", + AaruConsole.DebugWriteLine("Aaru Format plugin", Localization.Memory_snapshot_0_bytes, GC.GetTotalMemory(false)); break; @@ -1024,8 +1053,8 @@ public sealed partial class AaruFormat if(partitionHeader.identifier != BlockType.TapePartitionBlock) break; - AaruConsole.DebugWriteLine("Aaru Format plugin", "Found tape partition block at position {0}", - entry.offset); + AaruConsole.DebugWriteLine("Aaru Format plugin", + Localization.Found_tape_partition_block_at_position_0, entry.offset); byte[] tapePartitionBytes = new byte[partitionHeader.length]; _imageStream.EnsureRead(tapePartitionBytes, 0, tapePartitionBytes.Length); @@ -1057,7 +1086,7 @@ public sealed partial class AaruFormat if(fileHeader.identifier != BlockType.TapeFileBlock) break; - AaruConsole.DebugWriteLine("Aaru Format plugin", "Found tape file block at position {0}", + AaruConsole.DebugWriteLine("Aaru Format plugin", Localization.Found_tape_file_block_at_position_0, entry.offset); byte[] tapeFileBytes = new byte[fileHeader.length]; @@ -1089,7 +1118,8 @@ public sealed partial class AaruFormat if(indexesHeader.identifier != BlockType.CompactDiscIndexesBlock) { AaruConsole.DebugWriteLine("Aaru Format plugin", - "Incorrect identifier for compact disc indexes block at position {0}", + Localization. + Incorrect_identifier_for_compact_disc_indexes_block_at_position_0, entry.offset); break; @@ -1102,7 +1132,8 @@ public sealed partial class AaruFormat if(BitConverter.ToUInt64(idsxCrc, 0) != indexesHeader.crc64) { AaruConsole.DebugWriteLine("Aaru Format plugin", - "Incorrect CRC found: 0x{0:X16} found, expected 0x{1:X16}, continuing...", + Localization. + Incorrect_CRC_found_0_X16_found_expected_1_X16_continuing, BitConverter.ToUInt64(idsxCrc, 0), indexesHeader.crc64); break; @@ -1112,7 +1143,8 @@ public sealed partial class AaruFormat compactDiscIndexes = new List(); - AaruConsole.DebugWriteLine("Aaru Format plugin", "Found {0} compact disc indexes at position {0}", + AaruConsole.DebugWriteLine("Aaru Format plugin", + Localization.Found_0_compact_disc_indexes_at_position_0, indexesHeader.entries, entry.offset); for(ushort i = 0; i < indexesHeader.entries; i++) @@ -1125,7 +1157,7 @@ public sealed partial class AaruFormat CompactDiscIndexEntry>(_structureBytes)); } - AaruConsole.DebugWriteLine("Aaru Format plugin", "Memory snapshot: {0} bytes", + AaruConsole.DebugWriteLine("Aaru Format plugin", Localization.Memory_snapshot_0_bytes, GC.GetTotalMemory(false)); break; @@ -1134,16 +1166,17 @@ public sealed partial class AaruFormat if(!foundUserDataDdt) { - AaruConsole.ErrorWriteLine("Could not find user data deduplication table."); + AaruConsole.ErrorWriteLine(Localization.Could_not_find_user_data_deduplication_table); return ErrorNumber.InvalidArgument; } _imageInfo.CreationTime = DateTime.FromFileTimeUtc(_header.creationTime); - AaruConsole.DebugWriteLine("Aaru Format plugin", "Image created on {0}", _imageInfo.CreationTime); + AaruConsole.DebugWriteLine("Aaru Format plugin", Localization.Image_created_on_0, _imageInfo.CreationTime); _imageInfo.LastModificationTime = DateTime.FromFileTimeUtc(_header.lastWrittenTime); - AaruConsole.DebugWriteLine("Aaru Format plugin", "Image last written on {0}", _imageInfo.LastModificationTime); + AaruConsole.DebugWriteLine("Aaru Format plugin", Localization.Image_last_written_on_0, + _imageInfo.LastModificationTime); _imageInfo.XmlMediaType = GetXmlMediaType(_header.mediaType); @@ -1157,7 +1190,8 @@ public sealed partial class AaruFormat _imageInfo.ReadableMediaTags.AddRange(_mediaTags.Keys); - AaruConsole.DebugWriteLine("Aaru Format plugin", "Memory snapshot: {0} bytes", GC.GetTotalMemory(false)); + AaruConsole.DebugWriteLine("Aaru Format plugin", Localization.Memory_snapshot_0_bytes, + GC.GetTotalMemory(false)); // Initialize caches _blockCache = new Dictionary(); @@ -1167,7 +1201,8 @@ public sealed partial class AaruFormat if(!_inMemoryDdt) _ddtEntryCache = new Dictionary(); - AaruConsole.DebugWriteLine("Aaru Format plugin", "Memory snapshot: {0} bytes", GC.GetTotalMemory(false)); + AaruConsole.DebugWriteLine("Aaru Format plugin", Localization.Memory_snapshot_0_bytes, + GC.GetTotalMemory(false)); // Initialize tracks, sessions and partitions if(_imageInfo.XmlMediaType == XmlMediaType.OpticalDisc) @@ -1276,14 +1311,15 @@ public sealed partial class AaruFormat } if(leadOutFixed) - AaruConsole.ErrorWriteLine("This image has a corrupted track list, convert will fix it."); + AaruConsole.ErrorWriteLine(Localization.This_image_has_a_corrupted_track_list_convert_will_fix_it); if(sessionPregapFixed) - AaruConsole. - ErrorWriteLine("This image has a corrupted track list, a best effort has been tried but may require manual editing or redump."); + AaruConsole.ErrorWriteLine(Localization. + This_image_has_a_corrupted_track_list_a_best_effort_has_been_tried_but_may_require_manual_editing_or_redump); } - AaruConsole.DebugWriteLine("Aaru Format plugin", "Memory snapshot: {0} bytes", GC.GetTotalMemory(false)); + AaruConsole.DebugWriteLine("Aaru Format plugin", Localization.Memory_snapshot_0_bytes, + GC.GetTotalMemory(false)); if(Tracks == null || Tracks.Count == 0) @@ -1314,7 +1350,8 @@ public sealed partial class AaruFormat _trackIsrcs = new Dictionary(); } - AaruConsole.DebugWriteLine("Aaru Format plugin", "Memory snapshot: {0} bytes", GC.GetTotalMemory(false)); + AaruConsole.DebugWriteLine("Aaru Format plugin", Localization.Memory_snapshot_0_bytes, + GC.GetTotalMemory(false)); Sessions = new List(); @@ -1328,7 +1365,8 @@ public sealed partial class AaruFormat EndSector = Tracks.Where(t => t.Session == i).Max(t => t.EndSector) }); - AaruConsole.DebugWriteLine("Aaru Format plugin", "Memory snapshot: {0} bytes", GC.GetTotalMemory(false)); + AaruConsole.DebugWriteLine("Aaru Format plugin", Localization.Memory_snapshot_0_bytes, + GC.GetTotalMemory(false)); foreach(Track track in Tracks.OrderBy(t => t.StartSector)) { @@ -1359,18 +1397,19 @@ public sealed partial class AaruFormat { Sequence = track.Sequence, Type = track.Type.ToString(), - Name = $"Track {track.Sequence}", + Name = string.Format(Localization.Track_0, track.Sequence), Offset = currentTrackOffset, Start = (ulong)track.Indexes[1], Size = (track.EndSector - (ulong)track.Indexes[1] + 1) * (ulong)track.BytesPerSector, Length = track.EndSector - (ulong)track.Indexes[1] + 1, - Scheme = "Optical disc track" + Scheme = Localization.Optical_disc_track }); currentTrackOffset += (track.EndSector - track.StartSector + 1) * (ulong)track.BytesPerSector; } - AaruConsole.DebugWriteLine("Aaru Format plugin", "Memory snapshot: {0} bytes", GC.GetTotalMemory(false)); + AaruConsole.DebugWriteLine("Aaru Format plugin", Localization.Memory_snapshot_0_bytes, + GC.GetTotalMemory(false)); Track[] tracks = Tracks.ToArray(); @@ -1395,11 +1434,13 @@ public sealed partial class AaruFormat trk.SubchannelType = TrackSubchannelType.Raw; } - AaruConsole.DebugWriteLine("Aaru Format plugin", "Memory snapshot: {0} bytes", GC.GetTotalMemory(false)); + AaruConsole.DebugWriteLine("Aaru Format plugin", Localization.Memory_snapshot_0_bytes, + GC.GetTotalMemory(false)); Tracks = tracks.ToList(); - AaruConsole.DebugWriteLine("Aaru Format plugin", "Memory snapshot: {0} bytes", GC.GetTotalMemory(false)); + AaruConsole.DebugWriteLine("Aaru Format plugin", Localization.Memory_snapshot_0_bytes, + GC.GetTotalMemory(false)); if(compactDiscIndexes != null) foreach(CompactDiscIndexEntry compactDiscIndex in compactDiscIndexes.OrderBy(i => i.Track). @@ -1425,7 +1466,8 @@ public sealed partial class AaruFormat if(_sectorSuffixDdt != null) EccInit(); - AaruConsole.DebugWriteLine("Aaru Format plugin", "Memory snapshot: {0} bytes", GC.GetTotalMemory(false)); + AaruConsole.DebugWriteLine("Aaru Format plugin", Localization.Memory_snapshot_0_bytes, + GC.GetTotalMemory(false)); if(_imageInfo.XmlMediaType != XmlMediaType.OpticalDisc) return ErrorNumber.NoError; @@ -1497,7 +1539,8 @@ public sealed partial class AaruFormat blockHeader = Marshal.SpanToStructureLittleEndian(_structureBytes); // Decompress block - AaruConsole.DebugWriteLine("Aaru Format plugin", "Memory snapshot: {0} bytes", GC.GetTotalMemory(false)); + AaruConsole.DebugWriteLine("Aaru Format plugin", Localization.Memory_snapshot_0_bytes, + GC.GetTotalMemory(false)); ulong decompressedLength; @@ -1507,7 +1550,7 @@ public sealed partial class AaruFormat block = new byte[blockHeader.length]; _imageStream.EnsureRead(block, 0, (int)blockHeader.length); - AaruConsole.DebugWriteLine("Aaru Format plugin", "Memory snapshot: {0} bytes", + AaruConsole.DebugWriteLine("Aaru Format plugin", Localization.Memory_snapshot_0_bytes, GC.GetTotalMemory(false)); break; @@ -1522,13 +1565,13 @@ public sealed partial class AaruFormat if(decompressedLength != blockHeader.length) { AaruConsole.DebugWriteLine("Aaru Format plugin", - "Error decompressing block, should be {0} bytes but got {1} bytes.", + Localization.Error_decompressing_block_should_be_0_bytes_but_got_1_bytes, blockHeader.length, decompressedLength); return ErrorNumber.InOutError; } - AaruConsole.DebugWriteLine("Aaru Format plugin", "Memory snapshot: {0} bytes", + AaruConsole.DebugWriteLine("Aaru Format plugin", Localization.Memory_snapshot_0_bytes, GC.GetTotalMemory(false)); break; @@ -1541,13 +1584,13 @@ public sealed partial class AaruFormat if(decompressedLength != blockHeader.length) { AaruConsole.DebugWriteLine("Aaru Format plugin", - "Error decompressing block, should be {0} bytes but got {1} bytes.", + Localization.Error_decompressing_block_should_be_0_bytes_but_got_1_bytes, blockHeader.length, decompressedLength); return ErrorNumber.InOutError; } - AaruConsole.DebugWriteLine("Aaru Format plugin", "Memory snapshot: {0} bytes", + AaruConsole.DebugWriteLine("Aaru Format plugin", Localization.Memory_snapshot_0_bytes, GC.GetTotalMemory(false)); break; @@ -1570,7 +1613,8 @@ public sealed partial class AaruFormat buffer = new byte[blockHeader.sectorSize]; Array.Copy(block, (long)(offset * blockHeader.sectorSize), buffer, 0, blockHeader.sectorSize); - AaruConsole.DebugWriteLine("Aaru Format plugin", "Memory snapshot: {0} bytes", GC.GetTotalMemory(false)); + AaruConsole.DebugWriteLine("Aaru Format plugin", Localization.Memory_snapshot_0_bytes, + GC.GetTotalMemory(false)); return ErrorNumber.NoError; } diff --git a/Aaru.Images/AaruFormat/Verify.cs b/Aaru.Images/AaruFormat/Verify.cs index ad9ef6635..d3773216a 100644 --- a/Aaru.Images/AaruFormat/Verify.cs +++ b/Aaru.Images/AaruFormat/Verify.cs @@ -45,7 +45,9 @@ public sealed partial class AaruFormat public bool? VerifyMediaImage() { // This will traverse all blocks and check their CRC64 without uncompressing them - AaruConsole.DebugWriteLine("Aaru Format plugin", "Checking index integrity at {0}", _header.indexOffset); + AaruConsole.DebugWriteLine("Aaru Format plugin", Localization.Checking_index_integrity_at_0, + _header.indexOffset); + _imageStream.Position = (long)_header.indexOffset; _structureBytes = new byte[Marshal.SizeOf()]; @@ -54,13 +56,13 @@ public sealed partial class AaruFormat if(idxHeader.identifier != BlockType.Index) { - AaruConsole.DebugWriteLine("Aaru Format plugin", "Incorrect index identifier"); + AaruConsole.DebugWriteLine("Aaru Format plugin", Localization.Incorrect_index_identifier); return false; } - AaruConsole.DebugWriteLine("Aaru Format plugin", "Index at {0} contains {1} entries", _header.indexOffset, - idxHeader.entries); + AaruConsole.DebugWriteLine("Aaru Format plugin", Localization.Index_at_0_contains_1_entries, + _header.indexOffset, idxHeader.entries); _structureBytes = new byte[Marshal.SizeOf() * idxHeader.entries]; _imageStream.EnsureRead(_structureBytes, 0, _structureBytes.Length); @@ -68,7 +70,7 @@ public sealed partial class AaruFormat if(BitConverter.ToUInt64(verifyCrc, 0) != idxHeader.crc64) { - AaruConsole.DebugWriteLine("Aaru Format plugin", "Expected index CRC {0:X16} but got {1:X16}", + AaruConsole.DebugWriteLine("Aaru Format plugin", Localization.Expected_index_CRC_0_X16_but_got_1_X16, idxHeader.crc64, BitConverter.ToUInt64(verifyCrc, 0)); return false; @@ -85,8 +87,8 @@ public sealed partial class AaruFormat IndexEntry entry = Marshal.SpanToStructureLittleEndian(_structureBytes); AaruConsole.DebugWriteLine("Aaru Format plugin", - "Block type {0} with data type {1} is indexed to be at {2}", entry.blockType, - entry.dataType, entry.offset); + Localization.Block_type_0_with_data_type_1_is_indexed_to_be_at_2, + entry.blockType, entry.dataType, entry.offset); vrIndex.Add(entry); } @@ -111,8 +113,9 @@ public sealed partial class AaruFormat crcVerify = new Crc64Context(); readBytes = 0; - AaruConsole.DebugWriteLine("Aaru Format plugin", "Verifying data block type {0} at position {1}", - entry.dataType, entry.offset); + AaruConsole.DebugWriteLine("Aaru Format plugin", + Localization.Verifying_data_block_type_0_at_position_1, entry.dataType, + entry.offset); while(readBytes + verifySize < blockHeader.cmpLength) { @@ -130,7 +133,8 @@ public sealed partial class AaruFormat if(BitConverter.ToUInt64(verifyCrc, 0) != blockHeader.cmpCrc64) { - AaruConsole.DebugWriteLine("Aaru Format plugin", "Expected block CRC {0:X16} but got {1:X16}", + AaruConsole.DebugWriteLine("Aaru Format plugin", + Localization.Expected_block_CRC_0_X16_but_got_1_X16, blockHeader.cmpCrc64, BitConverter.ToUInt64(verifyCrc, 0)); return false; @@ -146,8 +150,8 @@ public sealed partial class AaruFormat readBytes = 0; AaruConsole.DebugWriteLine("Aaru Format plugin", - "Verifying deduplication table type {0} at position {1}", entry.dataType, - entry.offset); + Localization.Verifying_deduplication_table_type_0_at_position_1, + entry.dataType, entry.offset); while(readBytes + verifySize < ddtHeader.cmpLength) { @@ -165,7 +169,7 @@ public sealed partial class AaruFormat if(BitConverter.ToUInt64(verifyCrc, 0) != ddtHeader.cmpCrc64) { - AaruConsole.DebugWriteLine("Aaru Format plugin", "Expected DDT CRC {0:X16} but got {1:X16}", + AaruConsole.DebugWriteLine("Aaru Format plugin", Localization.Expected_DDT_CRC_0_but_got_1, ddtHeader.cmpCrc64, BitConverter.ToUInt64(verifyCrc, 0)); return false; @@ -177,7 +181,7 @@ public sealed partial class AaruFormat _imageStream.EnsureRead(_structureBytes, 0, _structureBytes.Length); TracksHeader trkHeader = Marshal.SpanToStructureLittleEndian(_structureBytes); - AaruConsole.DebugWriteLine("Aaru Format plugin", "Track block at {0} contains {1} entries", + AaruConsole.DebugWriteLine("Aaru Format plugin", Localization.Track_block_at_0_contains_1_entries, _header.indexOffset, trkHeader.entries); _structureBytes = new byte[Marshal.SizeOf() * trkHeader.entries]; @@ -186,15 +190,17 @@ public sealed partial class AaruFormat if(BitConverter.ToUInt64(verifyCrc, 0) != trkHeader.crc64) { - AaruConsole.DebugWriteLine("Aaru Format plugin", "Expected index CRC {0:X16} but got {1:X16}", - trkHeader.crc64, BitConverter.ToUInt64(verifyCrc, 0)); + AaruConsole.DebugWriteLine("Aaru Format plugin", + Localization.Expected_index_CRC_0_X16_but_got_1_X16, trkHeader.crc64, + BitConverter.ToUInt64(verifyCrc, 0)); return false; } break; default: - AaruConsole.DebugWriteLine("Aaru Format plugin", "Ignored field type {0}", entry.blockType); + AaruConsole.DebugWriteLine("Aaru Format plugin", Localization.Ignored_field_type_0, + entry.blockType); break; } diff --git a/Aaru.Images/AaruFormat/Write.cs b/Aaru.Images/AaruFormat/Write.cs index 6a589837d..24dd8d769 100644 --- a/Aaru.Images/AaruFormat/Write.cs +++ b/Aaru.Images/AaruFormat/Write.cs @@ -75,7 +75,7 @@ public sealed partial class AaruFormat { if(!uint.TryParse(tmpValue, out sectorsPerBlock)) { - ErrorMessage = "Invalid value for sectors_per_block option"; + ErrorMessage = Localization.Invalid_value_for_sectors_per_block_option; return false; } @@ -87,7 +87,7 @@ public sealed partial class AaruFormat { if(!uint.TryParse(tmpValue, out _dictionarySize)) { - ErrorMessage = "Invalid value for dictionary option"; + ErrorMessage = Localization.Invalid_value_for_dictionary_option; return false; } @@ -99,7 +99,7 @@ public sealed partial class AaruFormat { if(!uint.TryParse(tmpValue, out maxDdtSize)) { - ErrorMessage = "Invalid value for max_ddt_size option"; + ErrorMessage = Localization.Invalid_value_for_max_ddt_size_option; return false; } @@ -111,7 +111,7 @@ public sealed partial class AaruFormat { if(!bool.TryParse(tmpValue, out doMd5)) { - ErrorMessage = "Invalid value for md5 option"; + ErrorMessage = Localization.Invalid_value_for_md5_option; return false; } @@ -123,7 +123,7 @@ public sealed partial class AaruFormat { if(!bool.TryParse(tmpValue, out doSha1)) { - ErrorMessage = "Invalid value for sha1 option"; + ErrorMessage = Localization.Invalid_value_for_sha1_option; return false; } @@ -135,7 +135,7 @@ public sealed partial class AaruFormat { if(!bool.TryParse(tmpValue, out doSha256)) { - ErrorMessage = "Invalid value for sha256 option"; + ErrorMessage = Localization.Invalid_value_for_sha256_option; return false; } @@ -147,7 +147,7 @@ public sealed partial class AaruFormat { if(!bool.TryParse(tmpValue, out doSpamsum)) { - ErrorMessage = "Invalid value for spamsum option"; + ErrorMessage = Localization.Invalid_value_for_spamsum_option; return false; } @@ -159,7 +159,7 @@ public sealed partial class AaruFormat { if(!bool.TryParse(tmpValue, out _deduplicate)) { - ErrorMessage = "Invalid value for deduplicate option"; + ErrorMessage = Localization.Invalid_value_for_deduplicate_option; return false; } @@ -171,7 +171,7 @@ public sealed partial class AaruFormat { if(!bool.TryParse(tmpValue, out _compress)) { - ErrorMessage = "Invalid value for compress option"; + ErrorMessage = Localization.Invalid_value_for_compress_option; return false; } @@ -197,7 +197,7 @@ public sealed partial class AaruFormat // This really, cannot happen if(!SupportedMediaTypes.Contains(mediaType)) { - ErrorMessage = $"Unsupported media format {mediaType}"; + ErrorMessage = string.Format(Localization.Unsupported_media_format_0, mediaType); return false; } @@ -212,7 +212,7 @@ public sealed partial class AaruFormat _shift++; } - AaruConsole.DebugWriteLine("Aaru Format plugin", "Got a shift of {0} for {1} sectors per block", _shift, + AaruConsole.DebugWriteLine("Aaru Format plugin", Localization.Got_a_shift_of_0_for_1_sectors_per_block, _shift, oldSectorsPerBlock); _imageInfo = new ImageInfo @@ -229,7 +229,7 @@ public sealed partial class AaruFormat } catch(IOException e) { - ErrorMessage = $"Could not create new image file, exception {e.Message}"; + ErrorMessage = string.Format(Localization.Could_not_create_new_image_file_exception_0, e.Message); return false; } @@ -244,21 +244,23 @@ public sealed partial class AaruFormat if(_header.identifier != DIC_MAGIC && _header.identifier != AARU_MAGIC) { - ErrorMessage = "Cannot append to a non Aaru Format image"; + ErrorMessage = Localization.Cannot_append_to_a_non_Aaru_Format_image; return false; } if(_header.imageMajorVersion > AARUFMT_VERSION) { - ErrorMessage = $"Cannot append to an unknown image version {_header.imageMajorVersion}"; + ErrorMessage = string.Format(Localization.Cannot_append_to_an_unknown_image_version_0, + _header.imageMajorVersion); return false; } if(_header.mediaType != mediaType) { - ErrorMessage = $"Cannot write a media with type {mediaType} to an image with type {_header.mediaType}"; + ErrorMessage = string.Format(Localization.Cannot_write_a_media_with_type_0_to_an_image_with_type_1, + mediaType, _header.mediaType); return false; } @@ -313,13 +315,13 @@ public sealed partial class AaruFormat if(idxHeader.identifier != BlockType.Index) { - ErrorMessage = "Index not found in existing image, cannot continue"; + ErrorMessage = Localization.Index_not_found_in_existing_image_cannot_continue; return false; } - AaruConsole.DebugWriteLine("Aaru Format plugin", "Index at {0} contains {1} entries", _header.indexOffset, - idxHeader.entries); + AaruConsole.DebugWriteLine("Aaru Format plugin", Localization.Index_at_0_contains_1_entries, + _header.indexOffset, idxHeader.entries); for(ushort i = 0; i < idxHeader.entries; i++) { @@ -328,8 +330,8 @@ public sealed partial class AaruFormat IndexEntry entry = Marshal.SpanToStructureLittleEndian(_structureBytes); AaruConsole.DebugWriteLine("Aaru Format plugin", - "Block type {0} with data type {1} is indexed to be at {2}", entry.blockType, - entry.dataType, entry.offset); + Localization.Block_type_0_with_data_type_1_is_indexed_to_be_at_2, + entry.blockType, entry.dataType, entry.offset); _index.Add(entry); } @@ -364,7 +366,7 @@ public sealed partial class AaruFormat if(blockHeader.identifier != entry.blockType) { AaruConsole.DebugWriteLine("Aaru Format plugin", - "Incorrect identifier for data block at position {0}", + Localization.Incorrect_identifier_for_data_block_at_position_0, entry.offset); break; @@ -373,7 +375,8 @@ public sealed partial class AaruFormat if(blockHeader.type != entry.dataType) { AaruConsole.DebugWriteLine("Aaru Format plugin", - "Expected block with data type {0} at position {1} but found data type {2}", + Localization. + Expected_block_with_data_type_0_at_position_1_but_found_data_type_2, entry.dataType, entry.offset, blockHeader.type); break; @@ -381,10 +384,11 @@ public sealed partial class AaruFormat byte[] data; - AaruConsole.DebugWriteLine("Aaru Format plugin", "Found data block type {0} at position {1}", - entry.dataType, entry.offset); + AaruConsole.DebugWriteLine("Aaru Format plugin", + Localization.Found_data_block_type_0_at_position_1, entry.dataType, + entry.offset); - AaruConsole.DebugWriteLine("Aaru Format plugin", "Memory snapshot: {0} bytes", + AaruConsole.DebugWriteLine("Aaru Format plugin", Localization.Memory_snapshot_0_bytes, GC.GetTotalMemory(false)); // Decompress media tag @@ -395,7 +399,8 @@ public sealed partial class AaruFormat entry.dataType != DataType.CdSectorSubchannel) { AaruConsole.DebugWriteLine("Aaru Format plugin", - "Invalid compression type {0} for block with data type {1}, continuing...", + Localization. + Invalid_compression_type_0_for_block_with_data_type_1_continuing, blockHeader.compression, entry.dataType); break; @@ -411,8 +416,10 @@ public sealed partial class AaruFormat if(decompressedLength != blockHeader.length) { - ErrorMessage = $"Error decompressing block, should be {blockHeader.length - } bytes but got {decompressedLength} bytes."; + ErrorMessage = + string. + Format(Localization.Error_decompressing_block_should_be_0_bytes_but_got_1_bytes, + blockHeader.length, decompressedLength); return false; } @@ -422,10 +429,11 @@ public sealed partial class AaruFormat DateTime endDecompress = DateTime.Now; - AaruConsole.DebugWriteLine("Aaru Format plugin", "Took {0} seconds to decompress block", + AaruConsole.DebugWriteLine("Aaru Format plugin", + Localization.Took_0_seconds_to_decompress_block, (endDecompress - startDecompress).TotalSeconds); - AaruConsole.DebugWriteLine("Aaru Format plugin", "Memory snapshot: {0} bytes", + AaruConsole.DebugWriteLine("Aaru Format plugin", Localization.Memory_snapshot_0_bytes, GC.GetTotalMemory(false)); } else if(blockHeader.compression == CompressionType.None) @@ -433,13 +441,13 @@ public sealed partial class AaruFormat data = new byte[blockHeader.length]; _imageStream.EnsureRead(data, 0, (int)blockHeader.length); - AaruConsole.DebugWriteLine("Aaru Format plugin", "Memory snapshot: {0} bytes", + AaruConsole.DebugWriteLine("Aaru Format plugin", Localization.Memory_snapshot_0_bytes, GC.GetTotalMemory(false)); } else { AaruConsole.DebugWriteLine("Aaru Format plugin", - "Found unknown compression type {0}, continuing...", + Localization.Found_unknown_compression_type_0_continuing, (ushort)blockHeader.compression); break; @@ -452,7 +460,8 @@ public sealed partial class AaruFormat blockHeader.crc64 != 0) { AaruConsole.DebugWriteLine("Aaru Format plugin", - "Incorrect CRC found: 0x{0:X16} found, expected 0x{1:X16}, continuing...", + Localization. + Incorrect_CRC_found_0_X16_found_expected_1_X16_continuing, BitConverter.ToUInt64(blockCrc, 0), blockHeader.crc64); break; @@ -477,7 +486,7 @@ public sealed partial class AaruFormat if(!_imageInfo.ReadableSectorTags.Contains(SectorTagType.CdSectorHeader)) _imageInfo.ReadableSectorTags.Add(SectorTagType.CdSectorHeader); - AaruConsole.DebugWriteLine("Aaru Format plugin", "Memory snapshot: {0} bytes", + AaruConsole.DebugWriteLine("Aaru Format plugin", Localization.Memory_snapshot_0_bytes, GC.GetTotalMemory(false)); break; @@ -506,7 +515,7 @@ public sealed partial class AaruFormat if(!_imageInfo.ReadableSectorTags.Contains(SectorTagType.CdSectorEdc)) _imageInfo.ReadableSectorTags.Add(SectorTagType.CdSectorEdc); - AaruConsole.DebugWriteLine("Aaru Format plugin", "Memory snapshot: {0} bytes", + AaruConsole.DebugWriteLine("Aaru Format plugin", Localization.Memory_snapshot_0_bytes, GC.GetTotalMemory(false)); break; @@ -516,7 +525,7 @@ public sealed partial class AaruFormat if(!_imageInfo.ReadableSectorTags.Contains(SectorTagType.CdSectorSubchannel)) _imageInfo.ReadableSectorTags.Add(SectorTagType.CdSectorSubchannel); - AaruConsole.DebugWriteLine("Aaru Format plugin", "Memory snapshot: {0} bytes", + AaruConsole.DebugWriteLine("Aaru Format plugin", Localization.Memory_snapshot_0_bytes, GC.GetTotalMemory(false)); break; @@ -528,14 +537,14 @@ public sealed partial class AaruFormat if(!_imageInfo.ReadableSectorTags.Contains(SectorTagType.AppleSectorTag)) _imageInfo.ReadableSectorTags.Add(SectorTagType.AppleSectorTag); - AaruConsole.DebugWriteLine("Aaru Format plugin", "Memory snapshot: {0} bytes", + AaruConsole.DebugWriteLine("Aaru Format plugin", Localization.Memory_snapshot_0_bytes, GC.GetTotalMemory(false)); break; case DataType.CompactDiscMode2Subheader: _mode2Subheaders = data; - AaruConsole.DebugWriteLine("Aaru Format plugin", "Memory snapshot: {0} bytes", + AaruConsole.DebugWriteLine("Aaru Format plugin", Localization.Memory_snapshot_0_bytes, GC.GetTotalMemory(false)); break; @@ -548,7 +557,7 @@ public sealed partial class AaruFormat if(!_imageInfo.ReadableSectorTags.Contains(SectorTagType.DvdTitleKey)) _imageInfo.ReadableSectorTags.Add(SectorTagType.DvdTitleKey); - AaruConsole.DebugWriteLine("Aaru Format plugin", "Memory snapshot: {0} bytes", + AaruConsole.DebugWriteLine("Aaru Format plugin", Localization.Memory_snapshot_0_bytes, GC.GetTotalMemory(false)); break; @@ -558,7 +567,7 @@ public sealed partial class AaruFormat if(!_imageInfo.ReadableSectorTags.Contains(SectorTagType.DvdTitleKeyDecrypted)) _imageInfo.ReadableSectorTags.Add(SectorTagType.DvdTitleKeyDecrypted); - AaruConsole.DebugWriteLine("Aaru Format plugin", "Memory snapshot: {0} bytes", + AaruConsole.DebugWriteLine("Aaru Format plugin", Localization.Memory_snapshot_0_bytes, GC.GetTotalMemory(false)); break; @@ -568,7 +577,8 @@ public sealed partial class AaruFormat if(_mediaTags.ContainsKey(mediaTagType)) { AaruConsole.DebugWriteLine("Aaru Format plugin", - "Media tag type {0} duplicated, removing previous entry...", + Localization. + Media_tag_type_0_duplicated_removing_previous_entry, mediaTagType); _mediaTags.Remove(mediaTagType); @@ -576,7 +586,7 @@ public sealed partial class AaruFormat _mediaTags.Add(mediaTagType, data); - AaruConsole.DebugWriteLine("Aaru Format plugin", "Memory snapshot: {0} bytes", + AaruConsole.DebugWriteLine("Aaru Format plugin", Localization.Memory_snapshot_0_bytes, GC.GetTotalMemory(false)); break; @@ -598,8 +608,10 @@ public sealed partial class AaruFormat if(ddtHeader.entries != _imageInfo.Sectors && !IsTape) { - ErrorMessage = $"Trying to write a media with {_imageInfo.Sectors - } sectors to an image with {ddtHeader.entries} sectors, not continuing..."; + ErrorMessage = + string. + Format(Localization.Trying_to_write_a_media_with_0_sectors_to_an_image_with_1_sectors_not_continuing, + _imageInfo.Sectors, ddtHeader.entries); return false; } @@ -609,7 +621,7 @@ public sealed partial class AaruFormat switch(ddtHeader.compression) { case CompressionType.Lzma: - AaruConsole.DebugWriteLine("Aaru Format plugin", "Decompressing DDT..."); + AaruConsole.DebugWriteLine("Aaru Format plugin", Localization.Decompressing_DDT); DateTime ddtStart = DateTime.UtcNow; @@ -625,8 +637,10 @@ public sealed partial class AaruFormat if(decompressedLength != ddtHeader.length) { - ErrorMessage = $"Error decompressing DDT, should be {ddtHeader.length - } bytes but got {decompressedLength} bytes."; + ErrorMessage = + string. + Format(Localization.Error_decompressing_DDT_should_be_0_bytes_but_got_1_bytes, + ddtHeader.length, decompressedLength); return false; } @@ -636,7 +650,7 @@ public sealed partial class AaruFormat _inMemoryDdt = true; AaruConsole.DebugWriteLine("Aaru Format plugin", - "Took {0} seconds to decompress DDT", + Localization.Took_0_seconds_to_decompress_DDT, (ddtEnd - ddtStart).TotalSeconds); break; @@ -646,8 +660,8 @@ public sealed partial class AaruFormat break; default: - ErrorMessage = $"Found unsupported compression algorithm { - (ushort)ddtHeader.compression}"; + ErrorMessage = string.Format(Localization.Found_unsupported_compression_algorithm_0, + (ushort)ddtHeader.compression); return false; } @@ -676,8 +690,10 @@ public sealed partial class AaruFormat if(ddtHeader.entries != _imageInfo.Sectors) { - ErrorMessage = $"Trying to write a media with {_imageInfo.Sectors - } sectors to an image with {ddtHeader.entries} sectors, not continuing..."; + ErrorMessage = + string. + Format(Localization.Trying_to_write_a_media_with_0_sectors_to_an_image_with_1_sectors_not_continuing, + _imageInfo.Sectors, ddtHeader.entries); return false; } @@ -687,7 +703,7 @@ public sealed partial class AaruFormat switch(ddtHeader.compression) { case CompressionType.Lzma: - AaruConsole.DebugWriteLine("Aaru Format plugin", "Decompressing DDT..."); + AaruConsole.DebugWriteLine("Aaru Format plugin", Localization.Decompressing_DDT); DateTime ddtStart = DateTime.UtcNow; @@ -702,8 +718,10 @@ public sealed partial class AaruFormat if(decompressedLength != ddtHeader.length) { - ErrorMessage = $"Error decompressing DDT, should be {ddtHeader.length - } bytes but got {decompressedLength} bytes."; + ErrorMessage = + string. + Format(Localization.Error_decompressing_DDT_should_be_0_bytes_but_got_1_bytes, + ddtHeader.length, decompressedLength); return false; } @@ -711,7 +729,7 @@ public sealed partial class AaruFormat DateTime ddtEnd = DateTime.UtcNow; AaruConsole.DebugWriteLine("Aaru Format plugin", - "Took {0} seconds to decompress DDT", + Localization.Took_0_seconds_to_decompress_DDT, (ddtEnd - ddtStart).TotalSeconds); break; @@ -720,8 +738,8 @@ public sealed partial class AaruFormat break; default: - ErrorMessage = $"Found unsupported compression algorithm { - (ushort)ddtHeader.compression}"; + ErrorMessage = string.Format(Localization.Found_unsupported_compression_algorithm_0, + (ushort)ddtHeader.compression); return false; } @@ -752,7 +770,8 @@ public sealed partial class AaruFormat if(_geometryBlock.identifier == BlockType.GeometryBlock) { AaruConsole.DebugWriteLine("Aaru Format plugin", - "Geometry set to {0} cylinders {1} heads {2} sectors per track", + Localization. + Geometry_set_to_0_cylinders_1_heads_2_sectors_per_track, _geometryBlock.cylinders, _geometryBlock.heads, _geometryBlock.sectorsPerTrack); @@ -760,7 +779,7 @@ public sealed partial class AaruFormat _imageInfo.Heads = _geometryBlock.heads; _imageInfo.SectorsPerTrack = _geometryBlock.sectorsPerTrack; - AaruConsole.DebugWriteLine("Aaru Format plugin", "Memory snapshot: {0} bytes", + AaruConsole.DebugWriteLine("Aaru Format plugin", Localization.Memory_snapshot_0_bytes, GC.GetTotalMemory(false)); } @@ -777,14 +796,14 @@ public sealed partial class AaruFormat if(metadataBlock.identifier != entry.blockType) { AaruConsole.DebugWriteLine("Aaru Format plugin", - "Incorrect identifier for data block at position {0}", + Localization.Incorrect_identifier_for_data_block_at_position_0, entry.offset); break; } - AaruConsole.DebugWriteLine("Aaru Format plugin", "Found metadata block at position {0}", - entry.offset); + AaruConsole.DebugWriteLine("Aaru Format plugin", + Localization.Found_metadata_block_at_position_0, entry.offset); byte[] metadata = new byte[metadataBlock.blockSize]; _imageStream.Position = (long)entry.offset; @@ -795,7 +814,8 @@ public sealed partial class AaruFormat _imageInfo.MediaSequence = metadataBlock.mediaSequence; _imageInfo.LastMediaSequence = metadataBlock.lastMediaSequence; - AaruConsole.DebugWriteLine("Aaru Format plugin", "Setting media sequence as {0} of {1}", + AaruConsole.DebugWriteLine("Aaru Format plugin", + Localization.Setting_media_sequence_as_0_of_1, _imageInfo.MediaSequence, _imageInfo.LastMediaSequence); } @@ -806,7 +826,7 @@ public sealed partial class AaruFormat Encoding.Unicode.GetString(metadata, (int)metadataBlock.creatorOffset, (int)(metadataBlock.creatorLength - 2)); - AaruConsole.DebugWriteLine("Aaru Format plugin", "Setting creator: {0}", + AaruConsole.DebugWriteLine("Aaru Format plugin", Localization.Setting_creator_0, _imageInfo.Creator); } @@ -817,7 +837,7 @@ public sealed partial class AaruFormat Encoding.Unicode.GetString(metadata, (int)metadataBlock.commentsOffset, (int)(metadataBlock.commentsLength - 2)); - AaruConsole.DebugWriteLine("Aaru Format plugin", "Setting comments: {0}", + AaruConsole.DebugWriteLine("Aaru Format plugin", Localization.Setting_comments_0, _imageInfo.Comments); } @@ -828,7 +848,7 @@ public sealed partial class AaruFormat Encoding.Unicode.GetString(metadata, (int)metadataBlock.mediaTitleOffset, (int)(metadataBlock.mediaTitleLength - 2)); - AaruConsole.DebugWriteLine("Aaru Format plugin", "Setting media title: {0}", + AaruConsole.DebugWriteLine("Aaru Format plugin", Localization.Setting_media_title_0, _imageInfo.MediaTitle); } @@ -840,7 +860,7 @@ public sealed partial class AaruFormat Encoding.Unicode.GetString(metadata, (int)metadataBlock.mediaManufacturerOffset, (int)(metadataBlock.mediaManufacturerLength - 2)); - AaruConsole.DebugWriteLine("Aaru Format plugin", "Setting media manufacturer: {0}", + AaruConsole.DebugWriteLine("Aaru Format plugin", Localization.Setting_media_manufacturer_0, _imageInfo.MediaManufacturer); } @@ -851,7 +871,7 @@ public sealed partial class AaruFormat Encoding.Unicode.GetString(metadata, (int)metadataBlock.mediaModelOffset, (int)(metadataBlock.mediaModelLength - 2)); - AaruConsole.DebugWriteLine("Aaru Format plugin", "Setting media model: {0}", + AaruConsole.DebugWriteLine("Aaru Format plugin", Localization.Setting_media_model_0, _imageInfo.MediaModel); } @@ -863,7 +883,7 @@ public sealed partial class AaruFormat Encoding.Unicode.GetString(metadata, (int)metadataBlock.mediaSerialNumberOffset, (int)(metadataBlock.mediaSerialNumberLength - 2)); - AaruConsole.DebugWriteLine("Aaru Format plugin", "Setting media serial number: {0}", + AaruConsole.DebugWriteLine("Aaru Format plugin", Localization.Setting_media_serial_number_0, _imageInfo.MediaSerialNumber); } @@ -874,7 +894,7 @@ public sealed partial class AaruFormat Encoding.Unicode.GetString(metadata, (int)metadataBlock.mediaBarcodeOffset, (int)(metadataBlock.mediaBarcodeLength - 2)); - AaruConsole.DebugWriteLine("Aaru Format plugin", "Setting media barcode: {0}", + AaruConsole.DebugWriteLine("Aaru Format plugin", Localization.Setting_media_barcode_0, _imageInfo.MediaBarcode); } @@ -885,7 +905,7 @@ public sealed partial class AaruFormat Encoding.Unicode.GetString(metadata, (int)metadataBlock.mediaPartNumberOffset, (int)(metadataBlock.mediaPartNumberLength - 2)); - AaruConsole.DebugWriteLine("Aaru Format plugin", "Setting media part number: {0}", + AaruConsole.DebugWriteLine("Aaru Format plugin", Localization.Setting_media_part_number_0, _imageInfo.MediaPartNumber); } @@ -897,7 +917,7 @@ public sealed partial class AaruFormat Encoding.Unicode.GetString(metadata, (int)metadataBlock.driveManufacturerOffset, (int)(metadataBlock.driveManufacturerLength - 2)); - AaruConsole.DebugWriteLine("Aaru Format plugin", "Setting drive manufacturer: {0}", + AaruConsole.DebugWriteLine("Aaru Format plugin", Localization.Setting_drive_manufacturer_0, _imageInfo.DriveManufacturer); } @@ -908,7 +928,7 @@ public sealed partial class AaruFormat Encoding.Unicode.GetString(metadata, (int)metadataBlock.driveModelOffset, (int)(metadataBlock.driveModelLength - 2)); - AaruConsole.DebugWriteLine("Aaru Format plugin", "Setting drive model: {0}", + AaruConsole.DebugWriteLine("Aaru Format plugin", Localization.Setting_drive_model_0, _imageInfo.DriveModel); } @@ -920,7 +940,7 @@ public sealed partial class AaruFormat Encoding.Unicode.GetString(metadata, (int)metadataBlock.driveSerialNumberOffset, (int)(metadataBlock.driveSerialNumberLength - 2)); - AaruConsole.DebugWriteLine("Aaru Format plugin", "Setting drive serial number: {0}", + AaruConsole.DebugWriteLine("Aaru Format plugin", Localization.Setting_drive_serial_number_0, _imageInfo.DriveSerialNumber); } @@ -932,11 +952,12 @@ public sealed partial class AaruFormat Encoding.Unicode.GetString(metadata, (int)metadataBlock.driveFirmwareRevisionOffset, (int)(metadataBlock.driveFirmwareRevisionLength - 2)); - AaruConsole.DebugWriteLine("Aaru Format plugin", "Setting drive firmware revision: {0}", + AaruConsole.DebugWriteLine("Aaru Format plugin", + Localization.Setting_drive_firmware_revision_0, _imageInfo.DriveFirmwareRevision); } - AaruConsole.DebugWriteLine("Aaru Format plugin", "Memory snapshot: {0} bytes", + AaruConsole.DebugWriteLine("Aaru Format plugin", Localization.Memory_snapshot_0_bytes, GC.GetTotalMemory(false)); break; @@ -951,7 +972,7 @@ public sealed partial class AaruFormat if(tracksHeader.identifier != BlockType.TracksBlock) { AaruConsole.DebugWriteLine("Aaru Format plugin", - "Incorrect identifier for tracks block at position {0}", + Localization.Incorrect_identifier_for_tracks_block_at_position_0, entry.offset); break; @@ -964,7 +985,8 @@ public sealed partial class AaruFormat if(BitConverter.ToUInt64(trksCrc, 0) != tracksHeader.crc64) { AaruConsole.DebugWriteLine("Aaru Format plugin", - "Incorrect CRC found: 0x{0:X16} found, expected 0x{1:X16}, continuing...", + Localization. + Incorrect_CRC_found_0_X16_found_expected_1_X16_continuing, BitConverter.ToUInt64(trksCrc, 0), tracksHeader.crc64); break; @@ -976,7 +998,7 @@ public sealed partial class AaruFormat _trackFlags = new Dictionary(); _trackIsrcs = new Dictionary(); - AaruConsole.DebugWriteLine("Aaru Format plugin", "Found {0} tracks at position {0}", + AaruConsole.DebugWriteLine("Aaru Format plugin", Localization.Found_0_tracks_at_position_0, tracksHeader.entries, entry.offset); for(ushort i = 0; i < tracksHeader.entries; i++) @@ -1018,7 +1040,7 @@ public sealed partial class AaruFormat _imageInfo.HasPartitions = true; _imageInfo.HasSessions = true; - AaruConsole.DebugWriteLine("Aaru Format plugin", "Memory snapshot: {0} bytes", + AaruConsole.DebugWriteLine("Aaru Format plugin", Localization.Memory_snapshot_0_bytes, GC.GetTotalMemory(false)); break; @@ -1035,7 +1057,8 @@ public sealed partial class AaruFormat break; AaruConsole.DebugWriteLine("Aaru Format plugin", - "Found CICM XML metadata block at position {0}", entry.offset); + Localization.Found_CICM_XML_metadata_block_at_position_0, + entry.offset); byte[] cicmBytes = new byte[cicmBlock.length]; _imageStream.EnsureRead(cicmBytes, 0, cicmBytes.Length); @@ -1051,7 +1074,8 @@ public sealed partial class AaruFormat catch(XmlException ex) { AaruConsole.DebugWriteLine("Aaru Format plugin", - "Exception {0} processing CICM XML metadata block", ex.Message); + Localization.Exception_0_processing_CICM_XML_metadata_block, + ex.Message); CicmMetadata = null; } @@ -1069,8 +1093,8 @@ public sealed partial class AaruFormat if(dumpBlock.identifier != BlockType.DumpHardwareBlock) break; - AaruConsole.DebugWriteLine("Aaru Format plugin", "Found dump hardware block at position {0}", - entry.offset); + AaruConsole.DebugWriteLine("Aaru Format plugin", + Localization.Found_dump_hardware_block_at_position_0, entry.offset); _structureBytes = new byte[dumpBlock.length]; _imageStream.EnsureRead(_structureBytes, 0, _structureBytes.Length); @@ -1079,7 +1103,8 @@ public sealed partial class AaruFormat if(BitConverter.ToUInt64(dumpCrc, 0) != dumpBlock.crc64) { AaruConsole.DebugWriteLine("Aaru Format plugin", - "Incorrect CRC found: 0x{0:X16} found, expected 0x{1:X16}, continuing...", + Localization. + Incorrect_CRC_found_0_X16_found_expected_1_X16_continuing, BitConverter.ToUInt64(dumpCrc, 0), dumpBlock.crc64); break; @@ -1204,8 +1229,8 @@ public sealed partial class AaruFormat if(partitionHeader.identifier != BlockType.TapePartitionBlock) break; - AaruConsole.DebugWriteLine("Aaru Format plugin", "Found tape partition block at position {0}", - entry.offset); + AaruConsole.DebugWriteLine("Aaru Format plugin", + Localization.Found_tape_partition_block_at_position_0, entry.offset); byte[] tapePartitionBytes = new byte[partitionHeader.length]; _imageStream.EnsureRead(tapePartitionBytes, 0, tapePartitionBytes.Length); @@ -1238,8 +1263,8 @@ public sealed partial class AaruFormat if(fileHeader.identifier != BlockType.TapeFileBlock) break; - AaruConsole.DebugWriteLine("Aaru Format plugin", "Found tape file block at position {0}", - entry.offset); + AaruConsole.DebugWriteLine("Aaru Format plugin", + Localization.Found_tape_file_block_at_position_0, entry.offset); byte[] tapeFileBytes = new byte[fileHeader.length]; _imageStream.EnsureRead(tapeFileBytes, 0, tapeFileBytes.Length); @@ -1270,7 +1295,8 @@ public sealed partial class AaruFormat if(indexesHeader.identifier != BlockType.CompactDiscIndexesBlock) { AaruConsole.DebugWriteLine("Aaru Format plugin", - "Incorrect identifier for compact disc indexes block at position {0}", + Localization. + Incorrect_identifier_for_compact_disc_indexes_block_at_position_0, entry.offset); break; @@ -1283,7 +1309,8 @@ public sealed partial class AaruFormat if(BitConverter.ToUInt64(idsxCrc, 0) != indexesHeader.crc64) { AaruConsole.DebugWriteLine("Aaru Format plugin", - "Incorrect CRC found: 0x{0:X16} found, expected 0x{1:X16}, continuing...", + Localization. + Incorrect_CRC_found_0_X16_found_expected_1_X16_continuing, BitConverter.ToUInt64(idsxCrc, 0), indexesHeader.crc64); break; @@ -1294,7 +1321,7 @@ public sealed partial class AaruFormat compactDiscIndexes = new List(); AaruConsole.DebugWriteLine("Aaru Format plugin", - "Found {0} compact disc indexes at position {0}", + Localization.Found_0_compact_disc_indexes_at_position_0, indexesHeader.entries, entry.offset); for(ushort i = 0; i < indexesHeader.entries; i++) @@ -1307,7 +1334,7 @@ public sealed partial class AaruFormat CompactDiscIndexEntry>(_structureBytes)); } - AaruConsole.DebugWriteLine("Aaru Format plugin", "Memory snapshot: {0} bytes", + AaruConsole.DebugWriteLine("Aaru Format plugin", Localization.Memory_snapshot_0_bytes, GC.GetTotalMemory(false)); break; @@ -1316,7 +1343,7 @@ public sealed partial class AaruFormat if(!foundUserDataDdt) { - ErrorMessage = "Could not find user data deduplication table."; + ErrorMessage = Localization.Could_not_find_user_data_deduplication_table; return false; } @@ -1413,7 +1440,7 @@ public sealed partial class AaruFormat } } - AaruConsole.DebugWriteLine("Aaru Format plugin", "Memory snapshot: {0} bytes", + AaruConsole.DebugWriteLine("Aaru Format plugin", Localization.Memory_snapshot_0_bytes, GC.GetTotalMemory(false)); if(Tracks == null || @@ -1443,7 +1470,7 @@ public sealed partial class AaruFormat _trackIsrcs = new Dictionary(); } - AaruConsole.DebugWriteLine("Aaru Format plugin", "Memory snapshot: {0} bytes", + AaruConsole.DebugWriteLine("Aaru Format plugin", Localization.Memory_snapshot_0_bytes, GC.GetTotalMemory(false)); Sessions = new List(); @@ -1458,7 +1485,7 @@ public sealed partial class AaruFormat EndSector = Tracks.Where(t => t.Session == i).Max(t => t.EndSector) }); - AaruConsole.DebugWriteLine("Aaru Format plugin", "Memory snapshot: {0} bytes", + AaruConsole.DebugWriteLine("Aaru Format plugin", Localization.Memory_snapshot_0_bytes, GC.GetTotalMemory(false)); foreach(Track track in Tracks.OrderBy(t => t.StartSector)) @@ -1490,18 +1517,18 @@ public sealed partial class AaruFormat { Sequence = track.Sequence, Type = track.Type.ToString(), - Name = $"Track {track.Sequence}", + Name = string.Format(Localization.Track_0, track.Sequence), Offset = currentTrackOffset, Start = (ulong)track.Indexes[1], Size = (track.EndSector - (ulong)track.Indexes[1] + 1) * (ulong)track.BytesPerSector, Length = track.EndSector - (ulong)track.Indexes[1] + 1, - Scheme = "Optical disc track" + Scheme = Localization.Optical_disc_track }); currentTrackOffset += (track.EndSector - track.StartSector + 1) * (ulong)track.BytesPerSector; } - AaruConsole.DebugWriteLine("Aaru Format plugin", "Memory snapshot: {0} bytes", + AaruConsole.DebugWriteLine("Aaru Format plugin", Localization.Memory_snapshot_0_bytes, GC.GetTotalMemory(false)); Track[] tracks = Tracks.ToArray(); @@ -1527,12 +1554,12 @@ public sealed partial class AaruFormat trk.SubchannelType = TrackSubchannelType.Raw; } - AaruConsole.DebugWriteLine("Aaru Format plugin", "Memory snapshot: {0} bytes", + AaruConsole.DebugWriteLine("Aaru Format plugin", Localization.Memory_snapshot_0_bytes, GC.GetTotalMemory(false)); Tracks = tracks.ToList(); - AaruConsole.DebugWriteLine("Aaru Format plugin", "Memory snapshot: {0} bytes", + AaruConsole.DebugWriteLine("Aaru Format plugin", Localization.Memory_snapshot_0_bytes, GC.GetTotalMemory(false)); if(compactDiscIndexes != null) @@ -1616,7 +1643,7 @@ public sealed partial class AaruFormat _spamsumProvider = new SpamSumContext(); } - AaruConsole.DebugWriteLine("Aaru Format plugin", "In memory DDT?: {0}", _inMemoryDdt); + AaruConsole.DebugWriteLine("Aaru Format plugin", Localization.In_memory_DDT_0, _inMemoryDdt); _imageStream.Seek(0, SeekOrigin.End); @@ -1631,7 +1658,7 @@ public sealed partial class AaruFormat { if(!IsWriting) { - ErrorMessage = "Tried to write on a non-writable image"; + ErrorMessage = Localization.Tried_to_write_on_a_non_writable_image; return false; } @@ -1651,7 +1678,7 @@ public sealed partial class AaruFormat { if(!IsWriting) { - ErrorMessage = "Tried to write on a non-writable image"; + ErrorMessage = Localization.Tried_to_write_on_a_non_writable_image; return false; } @@ -1659,7 +1686,7 @@ public sealed partial class AaruFormat if(sectorAddress >= Info.Sectors && !IsTape) { - ErrorMessage = "Tried to write past image size"; + ErrorMessage = Localization.Tried_to_write_past_image_size; return false; } @@ -1891,14 +1918,14 @@ public sealed partial class AaruFormat { if(!IsWriting) { - ErrorMessage = "Tried to write on a non-writable image"; + ErrorMessage = Localization.Tried_to_write_on_a_non_writable_image; return false; } if(sectorAddress + length > Info.Sectors) { - ErrorMessage = "Tried to write past image size"; + ErrorMessage = Localization.Tried_to_write_past_image_size; return false; } @@ -1924,7 +1951,7 @@ public sealed partial class AaruFormat { if(!IsWriting) { - ErrorMessage = "Tried to write on a non-writable image"; + ErrorMessage = Localization.Tried_to_write_on_a_non_writable_image; return false; } @@ -1939,7 +1966,7 @@ public sealed partial class AaruFormat if(track is null) { - ErrorMessage = "Track not found"; + ErrorMessage = Localization.Track_not_found; return false; } @@ -1951,7 +1978,7 @@ public sealed partial class AaruFormat if(data.Length != 2352) { - ErrorMessage = "Incorrect data size"; + ErrorMessage = Localization.Incorrect_data_size; return false; } @@ -2311,7 +2338,7 @@ public sealed partial class AaruFormat break; default: - ErrorMessage = "Incorrect data size"; + ErrorMessage = Localization.Incorrect_data_size; return false; } @@ -2332,7 +2359,7 @@ public sealed partial class AaruFormat break; } - ErrorMessage = "Unknown long sector type, cannot write."; + ErrorMessage = Localization.Unknown_long_sector_type_cannot_write; return false; } @@ -2347,7 +2374,7 @@ public sealed partial class AaruFormat case XmlMediaType.OpticalDisc: if(data.Length % 2352 != 0) { - ErrorMessage = "Incorrect data size"; + ErrorMessage = Localization.Incorrect_data_size; return false; } @@ -2385,7 +2412,7 @@ public sealed partial class AaruFormat if(sectorSize == 0) { - ErrorMessage = "Incorrect data size"; + ErrorMessage = Localization.Incorrect_data_size; return false; } @@ -2408,7 +2435,7 @@ public sealed partial class AaruFormat break; } - ErrorMessage = "Unknown long sector type, cannot write."; + ErrorMessage = Localization.Unknown_long_sector_type_cannot_write; return false; } @@ -2418,14 +2445,14 @@ public sealed partial class AaruFormat { if(_imageInfo.XmlMediaType != XmlMediaType.OpticalDisc) { - ErrorMessage = "Unsupported feature"; + ErrorMessage = Localization.Unsupported_feature; return false; } if(!IsWriting) { - ErrorMessage = "Tried to write on a non-writable image"; + ErrorMessage = Localization.Tried_to_write_on_a_non_writable_image; return false; } @@ -2441,7 +2468,7 @@ public sealed partial class AaruFormat { if(!IsWriting) { - ErrorMessage = "Image is not opened for writing"; + ErrorMessage = Localization.Image_is_not_opened_for_writing; return false; } @@ -2540,7 +2567,7 @@ public sealed partial class AaruFormat } if(_deduplicate) - AaruConsole.DebugWriteLine("Aaru Format plugin", "Of {0} sectors written, {1} are unique ({2:P})", + AaruConsole.DebugWriteLine("Aaru Format plugin", Localization.Of_0_sectors_written_1_are_unique_2, _writtenSectors, _deduplicationTable.Count, (double)_deduplicationTable.Count / _writtenSectors); @@ -2556,7 +2583,7 @@ public sealed partial class AaruFormat if(mediaTag.Value is null) { - AaruConsole.ErrorWriteLine("Tag type {0} is null, skipping...", dataType); + AaruConsole.ErrorWriteLine(Localization.Tag_type_0_is_null_skipping, dataType); continue; } @@ -2568,8 +2595,8 @@ public sealed partial class AaruFormat offset = (ulong)_imageStream.Position }; - AaruConsole.DebugWriteLine("Aaru Format plugin", "Writing tag type {0} to position {1}", mediaTag.Key, - idxEntry.offset); + AaruConsole.DebugWriteLine("Aaru Format plugin", Localization.Writing_tag_type_0_to_position_1, + mediaTag.Key, idxEntry.offset); Crc64Context.Data(mediaTag.Value, out byte[] tagCrc); @@ -2655,7 +2682,8 @@ public sealed partial class AaruFormat offset = (ulong)_imageStream.Position }; - AaruConsole.DebugWriteLine("Aaru Format plugin", "Writing geometry block to position {0}", idxEntry.offset); + AaruConsole.DebugWriteLine("Aaru Format plugin", Localization.Writing_geometry_block_to_position_0, + idxEntry.offset); _structureBytes = new byte[Marshal.SizeOf()]; MemoryMarshal.Write(_structureBytes, ref _geometryBlock); @@ -2785,7 +2813,7 @@ public sealed partial class AaruFormat offset = (ulong)_imageStream.Position }; - AaruConsole.DebugWriteLine("Aaru Format plugin", "Writing dump hardware block to position {0}", + AaruConsole.DebugWriteLine("Aaru Format plugin", Localization.Writing_dump_hardware_block_to_position_0, idxEntry.offset); Crc64Context.Data(dumpMs.ToArray(), out byte[] dumpCrc); @@ -2822,7 +2850,8 @@ public sealed partial class AaruFormat offset = (ulong)_imageStream.Position }; - AaruConsole.DebugWriteLine("Aaru Format plugin", "Writing CICM XML block to position {0}", idxEntry.offset); + AaruConsole.DebugWriteLine("Aaru Format plugin", Localization.Writing_CICM_XML_block_to_position_0, + idxEntry.offset); var cicmBlock = new CicmMetadataBlock { @@ -2932,7 +2961,7 @@ public sealed partial class AaruFormat offset = (ulong)_imageStream.Position }; - AaruConsole.DebugWriteLine("Aaru Format plugin", "Writing checksum block to position {0}", + AaruConsole.DebugWriteLine("Aaru Format plugin", Localization.Writing_checksum_block_to_position_0, idxEntry.offset); _structureBytes = new byte[Marshal.SizeOf()]; @@ -2965,7 +2994,7 @@ public sealed partial class AaruFormat offset = (ulong)_imageStream.Position }; - AaruConsole.DebugWriteLine("Aaru Format plugin", "Writing tape partitions to position {0}", + AaruConsole.DebugWriteLine("Aaru Format plugin", Localization.Writing_tape_partitions_to_position_0, idxEntry.offset); TapePartitionEntry[] tapePartitionEntries = new TapePartitionEntry[TapePartitions.Count]; @@ -3008,7 +3037,8 @@ public sealed partial class AaruFormat offset = (ulong)_imageStream.Position }; - AaruConsole.DebugWriteLine("Aaru Format plugin", "Writing tape files to position {0}", idxEntry.offset); + AaruConsole.DebugWriteLine("Aaru Format plugin", Localization.Writing_tape_files_to_position_0, + idxEntry.offset); TapeFileEntry[] tapeFileEntries = new TapeFileEntry[Files.Count]; @@ -3053,7 +3083,8 @@ public sealed partial class AaruFormat offset = (ulong)_imageStream.Position }; - AaruConsole.DebugWriteLine("Aaru Format plugin", "Writing user data DDT to position {0}", idxEntry.offset); + AaruConsole.DebugWriteLine("Aaru Format plugin", Localization.Writing_user_data_DDT_to_position_0, + idxEntry.offset); var ddtHeader = new DdtHeader { @@ -3141,7 +3172,8 @@ public sealed partial class AaruFormat offset = (ulong)_imageStream.Position }; - AaruConsole.DebugWriteLine("Aaru Format plugin", "Writing CD sector prefix block to position {0}", + AaruConsole.DebugWriteLine("Aaru Format plugin", + Localization.Writing_CD_sector_prefix_block_to_position_0, idxEntry.offset); Crc64Context.Data(_sectorPrefix, out byte[] blockCrc); @@ -3206,7 +3238,7 @@ public sealed partial class AaruFormat endCompress = DateTime.Now; - AaruConsole.DebugWriteLine("Aaru Format plugin", "Took {0} seconds to compress prefix", + AaruConsole.DebugWriteLine("Aaru Format plugin", Localization.Took_0_seconds_to_compress_prefix, (endCompress - startCompress).TotalSeconds); } @@ -3231,7 +3263,8 @@ public sealed partial class AaruFormat offset = (ulong)_imageStream.Position }; - AaruConsole.DebugWriteLine("Aaru Format plugin", "Writing CD sector suffix block to position {0}", + AaruConsole.DebugWriteLine("Aaru Format plugin", + Localization.Writing_CD_sector_suffix_block_to_position_0, idxEntry.offset); Crc64Context.Data(_sectorSuffix, out blockCrc); @@ -3294,7 +3327,7 @@ public sealed partial class AaruFormat endCompress = DateTime.Now; - AaruConsole.DebugWriteLine("Aaru Format plugin", "Took {0} seconds to compress suffix", + AaruConsole.DebugWriteLine("Aaru Format plugin", Localization.Took_0_seconds_to_compress_suffix, (endCompress - startCompress).TotalSeconds); } @@ -3381,19 +3414,22 @@ public sealed partial class AaruFormat } AaruConsole.DebugWriteLine("Aaru Format plugin", - "{0} ({1:P}% prefixes are correct, {2} ({3:P}%) prefixes have not been dumped, {4} ({5:P}%) prefixes have been written to image", + Localization. + _0_1_prefixes_are_correct_2_3_prefixes_have_not_been_dumped_4_5_prefixes_have_been_written_to_image, correctPrefixes, correctPrefixes / _imageInfo.Sectors, notDumpedPrefixes, notDumpedPrefixes / _imageInfo.Sectors, writtenPrefixes, writtenPrefixes / _imageInfo.Sectors); AaruConsole.DebugWriteLine("Aaru Format plugin", - "{0} ({1:P}% suffixes are correct, {2} ({3:P}%) suffixes have not been dumped, {4} ({5:P}%) suffixes have been written to image", + Localization. + _0_1_suffixes_are_correct_2_3_suffixes_have_not_been_dumped_4_5_suffixes_have_been_written_to_image, correctSuffixes, correctSuffixes / _imageInfo.Sectors, notDumpedSuffixes, notDumpedSuffixes / _imageInfo.Sectors, writtenSuffixes, writtenSuffixes / _imageInfo.Sectors); AaruConsole.DebugWriteLine("Aaru Format plugin", - "{0} ({1:P}% MODE 2 Form 1 are correct, {2} ({3:P}%) MODE 2 Form 2 are correct, {4} ({5:P}%) MODE 2 Form 2 have empty CRC", + Localization. + _0_1_MODE_2_Form_1_are_correct_2_3_MODE_2_Form_2_are_correct_4_5_MODE_2_Form_2_have_empty_CRC, correctMode2Form1, correctMode2Form1 / _imageInfo.Sectors, correctMode2Form2, correctMode2Form2 / _imageInfo.Sectors, emptyMode2Form1, emptyMode2Form1 / _imageInfo.Sectors); @@ -3407,7 +3443,7 @@ public sealed partial class AaruFormat }; AaruConsole.DebugWriteLine("Aaru Format plugin", - "Writing CompactDisc sector prefix DDT to position {0}", + Localization.Writing_CompactDisc_sector_prefix_DDT_to_position_0, idxEntry.offset); var ddtHeader = new DdtHeader @@ -3485,7 +3521,7 @@ public sealed partial class AaruFormat }; AaruConsole.DebugWriteLine("Aaru Format plugin", - "Writing CompactDisc sector suffix DDT to position {0}", + Localization.Writing_CompactDisc_sector_suffix_DDT_to_position_0, idxEntry.offset); ddtHeader = new DdtHeader @@ -3560,7 +3596,7 @@ public sealed partial class AaruFormat }; AaruConsole.DebugWriteLine("Aaru Format plugin", - "Writing CD sector corrected prefix block to position {0}", + Localization.Writing_CD_sector_corrected_prefix_block_to_position_0, idxEntry.offset); Crc64Context.Data(_sectorPrefixMs.GetBuffer(), (uint)_sectorPrefixMs.Length, out byte[] blockCrc); @@ -3624,7 +3660,7 @@ public sealed partial class AaruFormat endCompress = DateTime.Now; - AaruConsole.DebugWriteLine("Aaru Format plugin", "Took {0} seconds to compress prefix", + AaruConsole.DebugWriteLine("Aaru Format plugin", Localization.Took_0_seconds_to_compress_prefix, (endCompress - startCompress).TotalSeconds); } @@ -3654,7 +3690,7 @@ public sealed partial class AaruFormat }; AaruConsole.DebugWriteLine("Aaru Format plugin", - "Writing CD sector corrected suffix block to position {0}", + Localization.Writing_CD_sector_corrected_suffix_block_to_position_0, idxEntry.offset); Crc64Context.Data(_sectorSuffixMs.GetBuffer(), (uint)_sectorSuffixMs.Length, out blockCrc); @@ -3718,7 +3754,7 @@ public sealed partial class AaruFormat endCompress = DateTime.Now; - AaruConsole.DebugWriteLine("Aaru Format plugin", "Took {0} seconds to compress suffix", + AaruConsole.DebugWriteLine("Aaru Format plugin", Localization.Took_0_seconds_to_compress_suffix, (endCompress - startCompress).TotalSeconds); } @@ -3751,7 +3787,8 @@ public sealed partial class AaruFormat }; AaruConsole.DebugWriteLine("Aaru Format plugin", - "Writing CD MODE2 subheaders block to position {0}", idxEntry.offset); + Localization.Writing_CD_MODE2_subheaders_block_to_position_0, + idxEntry.offset); Crc64Context.Data(_mode2Subheaders, out byte[] blockCrc); @@ -3816,7 +3853,7 @@ public sealed partial class AaruFormat endCompress = DateTime.Now; AaruConsole.DebugWriteLine("Aaru Format plugin", - "Took {0} seconds to compress MODE2 subheaders", + Localization.Took_0_seconds_to_compress_MODE2_subheaders, (endCompress - startCompress).TotalSeconds); } @@ -3848,8 +3885,8 @@ public sealed partial class AaruFormat offset = (ulong)_imageStream.Position }; - AaruConsole.DebugWriteLine("Aaru Format plugin", "Writing CD subchannel block to position {0}", - idxEntry.offset); + AaruConsole.DebugWriteLine("Aaru Format plugin", + Localization.Writing_CD_subchannel_block_to_position_0, idxEntry.offset); Crc64Context.Data(_sectorSubchannel, out byte[] blockCrc); @@ -3917,7 +3954,8 @@ public sealed partial class AaruFormat endCompress = DateTime.Now; - AaruConsole.DebugWriteLine("Aaru Format plugin", "Took {0} seconds to compress subchannel", + AaruConsole.DebugWriteLine("Aaru Format plugin", + Localization.Took_0_seconds_to_compress_subchannel, (endCompress - startCompress).TotalSeconds); } @@ -3949,8 +3987,8 @@ public sealed partial class AaruFormat offset = (ulong)_imageStream.Position }; - AaruConsole.DebugWriteLine("Aaru Format plugin", "Writing DVD CPI_MAI block to position {0}", - idxEntry.offset); + AaruConsole.DebugWriteLine("Aaru Format plugin", + Localization.Writing_DVD_CPI_MAI_block_to_position_0, idxEntry.offset); Crc64Context.Data(_sectorCpiMai, out byte[] blockCrc); @@ -4014,7 +4052,8 @@ public sealed partial class AaruFormat endCompress = DateTime.Now; - AaruConsole.DebugWriteLine("Aaru Format plugin", "Took {0} seconds to compress CPI_MAI", + AaruConsole.DebugWriteLine("Aaru Format plugin", + Localization.Took_0_seconds_to_compress_CPI_MAI, (endCompress - startCompress).TotalSeconds); } @@ -4044,7 +4083,7 @@ public sealed partial class AaruFormat }; AaruConsole.DebugWriteLine("Aaru Format plugin", - "Writing decrypted DVD title key block to position {0}", + Localization.Writing_decrypted_DVD_title_key_block_to_position_0, idxEntry.offset); Crc64Context.Data(_sectorDecryptedTitleKey, out byte[] blockCrc); @@ -4110,7 +4149,7 @@ public sealed partial class AaruFormat endCompress = DateTime.Now; AaruConsole.DebugWriteLine("Aaru Format plugin", - "Took {0} seconds to compress decrypted DVD title keys", + Localization.Took_0_seconds_to_compress_decrypted_DVD_title_keys, (endCompress - startCompress).TotalSeconds); } @@ -4208,7 +4247,7 @@ public sealed partial class AaruFormat crc64 = BitConverter.ToUInt64(trksCrc, 0) }; - AaruConsole.DebugWriteLine("Aaru Format plugin", "Writing tracks to position {0}", + AaruConsole.DebugWriteLine("Aaru Format plugin", Localization.Writing_tracks_to_position_0, _imageStream.Position); _index.RemoveAll(t => t is { blockType: BlockType.TracksBlock, dataType: DataType.NoData }); @@ -4257,7 +4296,8 @@ public sealed partial class AaruFormat crc64 = BitConverter.ToUInt64(cdixCrc, 0) }; - AaruConsole.DebugWriteLine("Aaru Format plugin", "Writing compact disc indexes to position {0}", + AaruConsole.DebugWriteLine("Aaru Format plugin", + Localization.Writing_compact_disc_indexes_to_position_0, _imageStream.Position); _index.RemoveAll(t => t is @@ -4314,7 +4354,8 @@ public sealed partial class AaruFormat offset = (ulong)_imageStream.Position }; - AaruConsole.DebugWriteLine("Aaru Format plugin", "Writing apple sector tag block to position {0}", + AaruConsole.DebugWriteLine("Aaru Format plugin", + Localization.Writing_apple_sector_tag_block_to_position_0, idxEntry.offset); Crc64Context.Data(_sectorSubchannel, out byte[] blockCrc); @@ -4587,7 +4628,8 @@ public sealed partial class AaruFormat // Check if we set up any metadata earlier, then write its block if(metadataBlock.identifier == BlockType.MetadataBlock) { - AaruConsole.DebugWriteLine("Aaru Format plugin", "Writing metadata to position {0}", _imageStream.Position); + AaruConsole.DebugWriteLine("Aaru Format plugin", Localization.Writing_metadata_to_position_0, + _imageStream.Position); metadataBlock.blockSize = (uint)blockStream.Length; _structureBytes = new byte[Marshal.SizeOf()]; @@ -4609,7 +4651,7 @@ public sealed partial class AaruFormat _header.indexOffset = (ulong)_imageStream.Position; - AaruConsole.DebugWriteLine("Aaru Format plugin", "Writing index to position {0}", _header.indexOffset); + AaruConsole.DebugWriteLine("Aaru Format plugin", Localization.Writing_index_to_position_0, _header.indexOffset); blockStream = new MemoryStream(); @@ -4659,7 +4701,7 @@ public sealed partial class AaruFormat _imageStream.Write(blockStream.ToArray(), 0, (int)blockStream.Length); blockStream.Close(); - AaruConsole.DebugWriteLine("Aaru Format plugin", "Writing header"); + AaruConsole.DebugWriteLine("Aaru Format plugin", Localization.Writing_header); _header.lastWrittenTime = DateTime.UtcNow.ToFileTimeUtc(); _imageStream.Position = 0; _structurePointer = System.Runtime.InteropServices.Marshal.AllocHGlobal(Marshal.SizeOf()); @@ -4705,14 +4747,14 @@ public sealed partial class AaruFormat { if(!IsWriting) { - ErrorMessage = "Tried to write on a non-writable image"; + ErrorMessage = Localization.Tried_to_write_on_a_non_writable_image; return false; } if(_imageInfo.XmlMediaType != XmlMediaType.BlockMedia) { - ErrorMessage = "Tried to set geometry on a media that doesn't support it"; + ErrorMessage = Localization.Tried_to_set_geometry_on_a_media_that_doesnt_support_it; return false; } @@ -4735,14 +4777,14 @@ public sealed partial class AaruFormat { if(!IsWriting) { - ErrorMessage = "Tried to write on a non-writable image"; + ErrorMessage = Localization.Tried_to_write_on_a_non_writable_image; return false; } if(sectorAddress >= _imageInfo.Sectors) { - ErrorMessage = "Tried to write past image size"; + ErrorMessage = Localization.Tried_to_write_past_image_size; return false; } @@ -4755,7 +4797,7 @@ public sealed partial class AaruFormat case SectorTagType.CdTrackIsrc: if(_imageInfo.XmlMediaType != XmlMediaType.OpticalDisc) { - ErrorMessage = "Incorrect tag for disk type"; + ErrorMessage = Localization.Incorrect_tag_for_disk_type; return false; } @@ -4765,7 +4807,7 @@ public sealed partial class AaruFormat if(track is null || (track.Sequence == 0 && track.StartSector == 0 && track.EndSector == 0)) { - ErrorMessage = $"Can't find track {sectorAddress}"; + ErrorMessage = string.Format(Localization.Cant_find_track_0, sectorAddress); return false; } @@ -4774,7 +4816,7 @@ public sealed partial class AaruFormat case SectorTagType.CdSectorSubchannel: if(_imageInfo.XmlMediaType != XmlMediaType.OpticalDisc) { - ErrorMessage = "Incorrect tag for disk type"; + ErrorMessage = Localization.Incorrect_tag_for_disk_type; return false; } @@ -4794,7 +4836,7 @@ public sealed partial class AaruFormat { if(data.Length != 1) { - ErrorMessage = "Incorrect data size for track flags"; + ErrorMessage = Localization.Incorrect_data_size_for_track_flags; return false; } @@ -4816,7 +4858,7 @@ public sealed partial class AaruFormat { if(data.Length != 96) { - ErrorMessage = "Incorrect data size for subchannel"; + ErrorMessage = Localization.Incorrect_data_size_for_subchannel; return false; } @@ -4832,7 +4874,7 @@ public sealed partial class AaruFormat { if(data.Length != 1) { - ErrorMessage = "Incorrect data size for CMI"; + ErrorMessage = Localization.Incorrect_data_size_for_CMI; return false; } @@ -4847,7 +4889,7 @@ public sealed partial class AaruFormat { if(data.Length != 5) { - ErrorMessage = "Incorrect data size for title key"; + ErrorMessage = Localization.Incorrect_data_size_for_title_key; return false; } @@ -4862,7 +4904,7 @@ public sealed partial class AaruFormat { if(data.Length != 5) { - ErrorMessage = "Incorrect data size for decrypted title key"; + ErrorMessage = Localization.Incorrect_data_size_for_decrypted_title_key; return false; } @@ -4875,7 +4917,7 @@ public sealed partial class AaruFormat } default: - ErrorMessage = $"Don't know how to write sector tag type {tag}"; + ErrorMessage = string.Format(Localization.Dont_know_how_to_write_sector_tag_type_0, tag); return false; } @@ -4886,14 +4928,14 @@ public sealed partial class AaruFormat { if(!IsWriting) { - ErrorMessage = "Tried to write on a non-writable image"; + ErrorMessage = Localization.Tried_to_write_on_a_non_writable_image; return false; } if(sectorAddress + length > _imageInfo.Sectors) { - ErrorMessage = "Tried to write past image size"; + ErrorMessage = Localization.Tried_to_write_past_image_size; return false; } @@ -4906,7 +4948,7 @@ public sealed partial class AaruFormat { if(data.Length % 96 != 0) { - ErrorMessage = "Incorrect data size for subchannel"; + ErrorMessage = Localization.Incorrect_data_size_for_subchannel; return false; } @@ -4915,7 +4957,7 @@ public sealed partial class AaruFormat if((sectorAddress * 96) + (length * 96) > (ulong)_sectorSubchannel.LongLength) { - ErrorMessage = "Tried to write more data than possible"; + ErrorMessage = Localization.Tried_to_write_more_data_than_possible; return false; } @@ -4926,7 +4968,7 @@ public sealed partial class AaruFormat } default: - ErrorMessage = $"Don't know how to write sector tag type {tag}"; + ErrorMessage = string.Format(Localization.Dont_know_how_to_write_sector_tag_type_0, tag); return false; } diff --git a/Aaru.Images/Alcohol120/Properties.cs b/Aaru.Images/Alcohol120/Properties.cs index 5dcfca7c8..dea504bd1 100644 --- a/Aaru.Images/Alcohol120/Properties.cs +++ b/Aaru.Images/Alcohol120/Properties.cs @@ -58,11 +58,11 @@ public sealed partial class Alcohol120 /// public ImageInfo Info => _imageInfo; /// - public string Name => "Alcohol 120% Media Descriptor Structure"; + public string Name => Localization.Alcohol120_Name; /// public Guid Id => new("A78FBEBA-0307-4915-BDE3-B8A3B57F843F"); /// - public string Author => "Natalia Portillo"; + public string Author => Authors.NataliaPortillo; /// public string Format => "Alcohol 120% Media Descriptor Structure"; diff --git a/Aaru.Images/Alcohol120/Read.cs b/Aaru.Images/Alcohol120/Read.cs index 7ea165787..822a48340 100644 --- a/Aaru.Images/Alcohol120/Read.cs +++ b/Aaru.Images/Alcohol120/Read.cs @@ -225,8 +225,8 @@ public sealed partial class Alcohol120 if(track is { point: 1, startLba: > 0 }) { - AaruConsole. - ErrorWriteLine("The disc this image represents contained a hidden track in the first pregap, that this image format cannot store. This dump is therefore, incorrect."); + AaruConsole.ErrorWriteLine(Localization. + The_disc_this_image_represents_contained_a_hidden_track_in_the_first_pregap_that_this_image_format_cannot_store_This_dump_is_therefore_incorrect); track1Index1 = track.startLba; track.startLba = 0; @@ -499,7 +499,7 @@ public sealed partial class Alcohol120 { var partition = new Partition { - Description = $"Track {trk.point}.", + Description = string.Format(Localization.Track_0, trk.point), Start = trk.startLba, Size = extra.sectors * trk.sectorSize, Length = extra.sectors, @@ -594,32 +594,41 @@ public sealed partial class Alcohol120 _imageInfo.ReadableSectorTags.Add(SectorTagType.CdSectorSubchannel); } - AaruConsole.DebugWriteLine("Alcohol 120% plugin", "printing partition map"); + AaruConsole.DebugWriteLine("Alcohol 120% plugin", Localization.printing_partition_map); foreach(Partition partition in Partitions) { - AaruConsole.DebugWriteLine("Alcohol 120% plugin", "Partition sequence: {0}", partition.Sequence); - AaruConsole.DebugWriteLine("Alcohol 120% plugin", "\tPartition name: {0}", partition.Name); + AaruConsole.DebugWriteLine("Alcohol 120% plugin", Localization.Partition_sequence_0, partition.Sequence); + AaruConsole.DebugWriteLine("Alcohol 120% plugin", "\t" + Localization.Partition_name_0, partition.Name); - AaruConsole.DebugWriteLine("Alcohol 120% plugin", "\tPartition description: {0}", partition.Description); + AaruConsole.DebugWriteLine("Alcohol 120% plugin", "\t" + Localization.Partition_description_0, + partition.Description); - AaruConsole.DebugWriteLine("Alcohol 120% plugin", "\tPartition type: {0}", partition.Type); - AaruConsole.DebugWriteLine("Alcohol 120% plugin", "\tPartition starting sector: {0}", partition.Start); - AaruConsole.DebugWriteLine("Alcohol 120% plugin", "\tPartition sectors: {0}", partition.Length); - AaruConsole.DebugWriteLine("Alcohol 120% plugin", "\tPartition starting offset: {0}", partition.Offset); - AaruConsole.DebugWriteLine("Alcohol 120% plugin", "\tPartition size in bytes: {0}", partition.Size); + AaruConsole.DebugWriteLine("Alcohol 120% plugin", "\t" + Localization.Partition_type_0, partition.Type); + + AaruConsole.DebugWriteLine("Alcohol 120% plugin", "\t" + Localization.Partition_starting_sector_0, + partition.Start); + + AaruConsole.DebugWriteLine("Alcohol 120% plugin", "\t" + Localization.Partition_sectors_0, + partition.Length); + + AaruConsole.DebugWriteLine("Alcohol 120% plugin", "\t" + Localization.Partition_starting_offset_0, + partition.Offset); + + AaruConsole.DebugWriteLine("Alcohol 120% plugin", "\t" + Localization.Partition_size_in_bytes_0, + partition.Size); } _imageInfo.Application = "Alcohol 120%"; - AaruConsole.DebugWriteLine("Alcohol 120% plugin", "Data filename: {0}", alcFile); + AaruConsole.DebugWriteLine("Alcohol 120% plugin", Localization.Data_filename_0, alcFile); var filtersList = new FiltersList(); _alcImage = filtersList.GetFilter(alcFile); if(_alcImage == null) { - AaruConsole.ErrorWriteLine("Cannot open data file"); + AaruConsole.ErrorWriteLine(Localization.Cannot_open_data_file); return ErrorNumber.NoSuchFile; } @@ -632,7 +641,7 @@ public sealed partial class Alcohol120 if(!_isDvd) { - AaruConsole.DebugWriteLine("Alcohol 120% plugin", "Rebuilding TOC"); + AaruConsole.DebugWriteLine("Alcohol 120% plugin", Localization.Rebuilding_TOC); byte firstSession = byte.MaxValue; byte lastSession = 0; var tocMs = new MemoryStream(); @@ -679,11 +688,11 @@ public sealed partial class Alcohol120 // Wxripper unlock _imageInfo.MediaType = MediaType.XGD3; - AaruConsole.VerboseWriteLine("Alcohol 120% image describes a disc of type {0}", _imageInfo.MediaType); + AaruConsole.VerboseWriteLine(Localization.Alcohol_120_image_describes_a_disc_of_type_0, _imageInfo.MediaType); if(oldIncorrectImage) - AaruConsole. - WriteLine("Incorrect Alcohol 120% image created by an old version of Aaru. Convert image to correct it."); + AaruConsole.WriteLine(Localization. + Incorrect_Alcohol_120_image_created_by_an_old_version_of_Aaru_Convert_image_to_correct_it); return ErrorNumber.NoError; } diff --git a/Aaru.Images/Alcohol120/Write.cs b/Aaru.Images/Alcohol120/Write.cs index f7cdfff29..9e63ca896 100644 --- a/Aaru.Images/Alcohol120/Write.cs +++ b/Aaru.Images/Alcohol120/Write.cs @@ -53,7 +53,7 @@ public sealed partial class Alcohol120 { if(!SupportedMediaTypes.Contains(mediaType)) { - ErrorMessage = $"Unsupported media format {mediaType}"; + ErrorMessage = string.Format(Localization.Unsupported_media_format_0, mediaType); return false; } @@ -76,7 +76,7 @@ public sealed partial class Alcohol120 } catch(IOException e) { - ErrorMessage = $"Could not create new image file, exception {e.Message}"; + ErrorMessage = string.Format(Localization.Could_not_create_new_image_file_exception_0, e.Message); return false; } @@ -144,7 +144,7 @@ public sealed partial class Alcohol120 { if(!IsWriting) { - ErrorMessage = "Tried to write on a non-writable image"; + ErrorMessage = Localization.Tried_to_write_on_a_non_writable_image; return false; } @@ -154,7 +154,8 @@ public sealed partial class Alcohol120 case MediaTagType.CD_FullTOC: if(_isDvd) { - ErrorMessage = $"Unsupported media tag {tag} for medium type {_imageInfo.MediaType}"; + ErrorMessage = string.Format(Localization.Unsupported_media_tag_0_for_medium_type_1, tag, + _imageInfo.MediaType); return false; } @@ -165,7 +166,8 @@ public sealed partial class Alcohol120 case MediaTagType.DVD_PFI: if(!_isDvd) { - ErrorMessage = $"Unsupported media tag {tag} for medium type {_imageInfo.MediaType}"; + ErrorMessage = string.Format(Localization.Unsupported_media_tag_0_for_medium_type_1, tag, + _imageInfo.MediaType); return false; } @@ -176,7 +178,8 @@ public sealed partial class Alcohol120 case MediaTagType.DVD_DMI: if(!_isDvd) { - ErrorMessage = $"Unsupported media tag {tag} for medium type {_imageInfo.MediaType}"; + ErrorMessage = string.Format(Localization.Unsupported_media_tag_0_for_medium_type_1, tag, + _imageInfo.MediaType); return false; } @@ -187,7 +190,8 @@ public sealed partial class Alcohol120 case MediaTagType.DVD_BCA: if(!_isDvd) { - ErrorMessage = $"Unsupported media tag {tag} for medium type {_imageInfo.MediaType}"; + ErrorMessage = string.Format(Localization.Unsupported_media_tag_0_for_medium_type_1, tag, + _imageInfo.MediaType); return false; } @@ -196,7 +200,7 @@ public sealed partial class Alcohol120 return true; default: - ErrorMessage = $"Unsupported media tag {tag}"; + ErrorMessage = string.Format(Localization.Unsupported_media_tag_0, tag); return false; } @@ -207,7 +211,7 @@ public sealed partial class Alcohol120 { if(!IsWriting) { - ErrorMessage = "Tried to write on a non-writable image"; + ErrorMessage = Localization.Tried_to_write_on_a_non_writable_image; return false; } @@ -217,28 +221,28 @@ public sealed partial class Alcohol120 if(!_isDvd) { - ErrorMessage = "Cannot write non-long sectors to CD images."; + ErrorMessage = Localization.Cannot_write_non_long_sectors_to_CD_images; return false; } if(track is null) { - ErrorMessage = $"Can't found track containing {sectorAddress}"; + ErrorMessage = string.Format(Localization.Cant_find_track_containing_0, sectorAddress); return false; } if(track.BytesPerSector != track.RawBytesPerSector) { - ErrorMessage = "Invalid write mode for this sector"; + ErrorMessage = Localization.Invalid_write_mode_for_this_sector; return false; } if(data.Length != track.RawBytesPerSector) { - ErrorMessage = "Incorrect data size"; + ErrorMessage = Localization.Incorrect_data_size; return false; } @@ -257,14 +261,14 @@ public sealed partial class Alcohol120 { if(!IsWriting) { - ErrorMessage = "Tried to write on a non-writable image"; + ErrorMessage = Localization.Tried_to_write_on_a_non_writable_image; return false; } if(!_isDvd) { - ErrorMessage = "Cannot write non-long sectors to CD images."; + ErrorMessage = Localization.Cannot_write_non_long_sectors_to_CD_images; return false; } @@ -274,28 +278,28 @@ public sealed partial class Alcohol120 if(track is null) { - ErrorMessage = $"Can't found track containing {sectorAddress}"; + ErrorMessage = string.Format(Localization.Cant_find_track_containing_0, sectorAddress); return false; } if(track.BytesPerSector != track.RawBytesPerSector) { - ErrorMessage = "Invalid write mode for this sector"; + ErrorMessage = Localization.Invalid_write_mode_for_this_sector; return false; } if(sectorAddress + length > track.EndSector + 1) { - ErrorMessage = "Can't cross tracks"; + ErrorMessage = Localization.Cant_cross_tracks; return false; } if(data.Length % track.RawBytesPerSector != 0) { - ErrorMessage = "Incorrect data size"; + ErrorMessage = Localization.Incorrect_data_size; return false; } @@ -328,7 +332,7 @@ public sealed partial class Alcohol120 return true; default: - ErrorMessage = "Invalid subchannel mode for this sector"; + ErrorMessage = Localization.Invalid_subchannel_mode_for_this_sector; return false; } @@ -339,7 +343,7 @@ public sealed partial class Alcohol120 { if(!IsWriting) { - ErrorMessage = "Tried to write on a non-writable image"; + ErrorMessage = Localization.Tried_to_write_on_a_non_writable_image; return false; } @@ -349,14 +353,14 @@ public sealed partial class Alcohol120 if(track is null) { - ErrorMessage = $"Can't found track containing {sectorAddress}"; + ErrorMessage = string.Format(Localization.Cant_find_track_containing_0, sectorAddress); return false; } if(data.Length != track.RawBytesPerSector) { - ErrorMessage = "Incorrect data size"; + ErrorMessage = Localization.Incorrect_data_size; return false; } @@ -377,7 +381,7 @@ public sealed partial class Alcohol120 { if(!IsWriting) { - ErrorMessage = "Tried to write on a non-writable image"; + ErrorMessage = Localization.Tried_to_write_on_a_non_writable_image; return false; } @@ -387,21 +391,21 @@ public sealed partial class Alcohol120 if(track is null) { - ErrorMessage = $"Can't found track containing {sectorAddress}"; + ErrorMessage = string.Format(Localization.Cant_find_track_containing_0, sectorAddress); return false; } if(sectorAddress + length > track.EndSector + 1) { - ErrorMessage = "Can't cross tracks"; + ErrorMessage = Localization.Cant_cross_tracks; return false; } if(data.Length % track.RawBytesPerSector != 0) { - ErrorMessage = "Incorrect data size"; + ErrorMessage = Localization.Incorrect_data_size; return false; } @@ -471,7 +475,7 @@ public sealed partial class Alcohol120 break; default: - ErrorMessage = $"Unsupported subchannel type {track.SubchannelType}"; + ErrorMessage = string.Format(Localization.Unsupported_subchannel_type_0, track.SubchannelType); return false; } @@ -492,7 +496,7 @@ public sealed partial class Alcohol120 { if(!IsWriting) { - ErrorMessage = "Image is not opened for writing"; + ErrorMessage = Localization.Image_is_not_opened_for_writing; return false; } @@ -1031,7 +1035,7 @@ public sealed partial class Alcohol120 /// public bool SetGeometry(uint cylinders, uint heads, uint sectorsPerTrack) { - ErrorMessage = "Unsupported feature"; + ErrorMessage = Localization.Unsupported_feature; return false; } @@ -1041,7 +1045,7 @@ public sealed partial class Alcohol120 { if(!IsWriting) { - ErrorMessage = "Tried to write on a non-writable image"; + ErrorMessage = Localization.Tried_to_write_on_a_non_writable_image; return false; } @@ -1051,7 +1055,7 @@ public sealed partial class Alcohol120 if(track is null) { - ErrorMessage = $"Can't found track containing {sectorAddress}"; + ErrorMessage = string.Format(Localization.Cant_find_track_containing_0, sectorAddress); return false; } @@ -1062,7 +1066,7 @@ public sealed partial class Alcohol120 { if(data.Length != 1) { - ErrorMessage = "Incorrect data size for track flags"; + ErrorMessage = Localization.Incorrect_data_size_for_track_flags; return false; } @@ -1075,15 +1079,16 @@ public sealed partial class Alcohol120 { if(track.SubchannelType == 0) { - ErrorMessage = $"Trying to write subchannel to track {track.Sequence - }, that does not have subchannel"; + ErrorMessage = + string.Format(Localization.Trying_to_write_subchannel_to_track_0_that_does_not_have_subchannel, + track.Sequence); return false; } if(data.Length != 96) { - ErrorMessage = "Incorrect data size for subchannel"; + ErrorMessage = Localization.Incorrect_data_size_for_subchannel; return false; } @@ -1097,7 +1102,7 @@ public sealed partial class Alcohol120 return true; } default: - ErrorMessage = $"Unsupported tag type {tag}"; + ErrorMessage = string.Format(Localization.Unsupported_tag_type_0, tag); return false; } @@ -1108,7 +1113,7 @@ public sealed partial class Alcohol120 { if(!IsWriting) { - ErrorMessage = "Tried to write on a non-writable image"; + ErrorMessage = Localization.Tried_to_write_on_a_non_writable_image; return false; } @@ -1118,7 +1123,7 @@ public sealed partial class Alcohol120 if(track is null) { - ErrorMessage = $"Can't found track containing {sectorAddress}"; + ErrorMessage = string.Format(Localization.Cant_find_track_containing_0, sectorAddress); return false; } @@ -1130,15 +1135,16 @@ public sealed partial class Alcohol120 { if(track.SubchannelType == 0) { - ErrorMessage = $"Trying to write subchannel to track {track.Sequence - }, that does not have subchannel"; + ErrorMessage = + string.Format(Localization.Trying_to_write_subchannel_to_track_0_that_does_not_have_subchannel, + track.Sequence); return false; } if(data.Length % 96 != 0) { - ErrorMessage = "Incorrect data size for subchannel"; + ErrorMessage = Localization.Incorrect_data_size_for_subchannel; return false; } @@ -1155,7 +1161,7 @@ public sealed partial class Alcohol120 return true; } default: - ErrorMessage = $"Unsupported tag type {tag}"; + ErrorMessage = string.Format(Localization.Unsupported_tag_type_0, tag); return false; } diff --git a/Aaru.Images/Anex86/Properties.cs b/Aaru.Images/Anex86/Properties.cs index b94c33eb2..555c26eff 100644 --- a/Aaru.Images/Anex86/Properties.cs +++ b/Aaru.Images/Anex86/Properties.cs @@ -45,11 +45,11 @@ public sealed partial class Anex86 public ImageInfo Info => _imageInfo; /// - public string Name => "Anex86 Disk Image"; + public string Name => Localization.Anex86_Name; /// public Guid Id => new("0410003E-6E7B-40E6-9328-BA5651ADF6B7"); /// - public string Author => "Natalia Portillo"; + public string Author => Authors.NataliaPortillo; /// public string Format => "Anex86 disk image"; diff --git a/Aaru.Images/Anex86/Read.cs b/Aaru.Images/Anex86/Read.cs index f04cc01d1..5260809ac 100644 --- a/Aaru.Images/Anex86/Read.cs +++ b/Aaru.Images/Anex86/Read.cs @@ -62,7 +62,7 @@ public sealed partial class Anex86 if(_imageInfo.MediaType == MediaType.Unknown) _imageInfo.MediaType = MediaType.GENERIC_HDD; - AaruConsole.DebugWriteLine("Anex86 plugin", "MediaType: {0}", _imageInfo.MediaType); + AaruConsole.DebugWriteLine("Anex86 plugin", Localization.MediaType_0, _imageInfo.MediaType); _imageInfo.ImageSize = (ulong)_header.dskSize; _imageInfo.CreationTime = imageFilter.CreationTime; diff --git a/Aaru.Images/Anex86/Write.cs b/Aaru.Images/Anex86/Write.cs index b5c3ec848..67d0d5eda 100644 --- a/Aaru.Images/Anex86/Write.cs +++ b/Aaru.Images/Anex86/Write.cs @@ -50,7 +50,7 @@ public sealed partial class Anex86 { if(sectorSize == 0) { - ErrorMessage = "Unsupported sector size"; + ErrorMessage = Localization.Unsupported_sector_size; return false; } @@ -58,14 +58,14 @@ public sealed partial class Anex86 if(sectors * sectorSize > int.MaxValue || sectors > (long)int.MaxValue * 8 * 33) { - ErrorMessage = "Too many sectors"; + ErrorMessage = Localization.Too_many_sectors; return false; } if(!SupportedMediaTypes.Contains(mediaType)) { - ErrorMessage = $"Unsupported media format {mediaType}"; + ErrorMessage = string.Format(Localization.Unsupported_media_format_0, mediaType); return false; } @@ -83,7 +83,7 @@ public sealed partial class Anex86 } catch(IOException e) { - ErrorMessage = $"Could not create new image file, exception {e.Message}"; + ErrorMessage = string.Format(Localization.Could_not_create_new_image_file_exception_0, e.Message); return false; } @@ -104,7 +104,7 @@ public sealed partial class Anex86 /// public bool WriteMediaTag(byte[] data, MediaTagType tag) { - ErrorMessage = "Writing media tags is not supported."; + ErrorMessage = Localization.Writing_media_tags_is_not_supported; return false; } @@ -114,21 +114,21 @@ public sealed partial class Anex86 { if(!IsWriting) { - ErrorMessage = "Tried to write on a non-writable image"; + ErrorMessage = Localization.Tried_to_write_on_a_non_writable_image; return false; } if(data.Length != _imageInfo.SectorSize) { - ErrorMessage = "Incorrect data size"; + ErrorMessage = Localization.Incorrect_data_size; return false; } if(sectorAddress >= _imageInfo.Sectors) { - ErrorMessage = "Tried to write past image size"; + ErrorMessage = Localization.Tried_to_write_past_image_size; return false; } @@ -146,21 +146,21 @@ public sealed partial class Anex86 { if(!IsWriting) { - ErrorMessage = "Tried to write on a non-writable image"; + ErrorMessage = Localization.Tried_to_write_on_a_non_writable_image; return false; } if(data.Length % _imageInfo.SectorSize != 0) { - ErrorMessage = "Incorrect data size"; + ErrorMessage = Localization.Incorrect_data_size; return false; } if(sectorAddress + length > _imageInfo.Sectors) { - ErrorMessage = "Tried to write past image size"; + ErrorMessage = Localization.Tried_to_write_past_image_size; return false; } @@ -176,7 +176,7 @@ public sealed partial class Anex86 /// public bool WriteSectorLong(byte[] data, ulong sectorAddress) { - ErrorMessage = "Writing sectors with tags is not supported."; + ErrorMessage = Localization.Writing_sectors_with_tags_is_not_supported; return false; } @@ -184,7 +184,7 @@ public sealed partial class Anex86 /// public bool WriteSectorsLong(byte[] data, ulong sectorAddress, uint length) { - ErrorMessage = "Writing sectors with tags is not supported."; + ErrorMessage = Localization.Writing_sectors_with_tags_is_not_supported; return false; } @@ -194,7 +194,7 @@ public sealed partial class Anex86 { if(!IsWriting) { - ErrorMessage = "Image is not opened for writing"; + ErrorMessage = Localization.Image_is_not_opened_for_writing; return false; } @@ -249,21 +249,21 @@ public sealed partial class Anex86 { if(cylinders > int.MaxValue) { - ErrorMessage = "Too many cylinders."; + ErrorMessage = Localization.Too_many_cylinders; return false; } if(heads > int.MaxValue) { - ErrorMessage = "Too many heads."; + ErrorMessage = Localization.Too_many_heads; return false; } if(sectorsPerTrack > int.MaxValue) { - ErrorMessage = "Too many sectors per track."; + ErrorMessage = Localization.Too_many_sectors_per_track; return false; } @@ -278,7 +278,7 @@ public sealed partial class Anex86 /// public bool WriteSectorTag(byte[] data, ulong sectorAddress, SectorTagType tag) { - ErrorMessage = "Unsupported feature"; + ErrorMessage = Localization.Unsupported_feature; return false; } @@ -286,7 +286,7 @@ public sealed partial class Anex86 /// public bool WriteSectorsTag(byte[] data, ulong sectorAddress, uint length, SectorTagType tag) { - ErrorMessage = "Unsupported feature"; + ErrorMessage = Localization.Unsupported_feature; return false; } diff --git a/Aaru.Images/Apple2MG/Properties.cs b/Aaru.Images/Apple2MG/Properties.cs index 9549ac4da..07bfea236 100644 --- a/Aaru.Images/Apple2MG/Properties.cs +++ b/Aaru.Images/Apple2MG/Properties.cs @@ -45,11 +45,11 @@ public sealed partial class Apple2Mg public ImageInfo Info => _imageInfo; /// - public string Name => "Apple 2IMG"; + public string Name => Localization.Apple2Mg_Name; /// public Guid Id => new("CBAF8824-BA5F-415F-953A-19A03519B2D1"); /// - public string Author => "Natalia Portillo"; + public string Author => Authors.NataliaPortillo; /// public string Format => "Apple 2IMG"; diff --git a/Aaru.Images/Apple2MG/Read.cs b/Aaru.Images/Apple2MG/Read.cs index ddfafa916..5af0171d5 100644 --- a/Aaru.Images/Apple2MG/Read.cs +++ b/Aaru.Images/Apple2MG/Read.cs @@ -65,7 +65,9 @@ public sealed partial class Apple2Mg if(_imageHeader.DataSize == 0x00800C00) { _imageHeader.DataSize = 0x000C8000; - AaruConsole.DebugWriteLine("2MG plugin", "Detected incorrect endian on data size field, correcting."); + + AaruConsole.DebugWriteLine("2MG plugin", + Localization.Detected_incorrect_endian_on_data_size_field_correcting); } AaruConsole.DebugWriteLine("2MG plugin", "ImageHeader.magic = \"{0}\"", Encoding.ASCII.GetString(magic)); @@ -188,7 +190,7 @@ public sealed partial class Apple2Mg CREATOR_CIDER => "CiderPress", CREATOR_DIC => "DiscImageChef", CREATOR_AARU => "Aaru", - _ => $"Unknown creator code \"{Encoding.ASCII.GetString(creator)}\"" + _ => string.Format(Localization.Unknown_creator_code_0, Encoding.ASCII.GetString(creator)) }; _imageInfo.Version = _imageHeader.Version.ToString(); @@ -212,10 +214,10 @@ public sealed partial class Apple2Mg _imageInfo.XmlMediaType = XmlMediaType.BlockMedia; - AaruConsole.VerboseWriteLine("2MG image contains a disk of type {0}", _imageInfo.MediaType); + AaruConsole.VerboseWriteLine(Localization._2MG_image_contains_a_disk_of_type_0, _imageInfo.MediaType); if(!string.IsNullOrEmpty(_imageInfo.Comments)) - AaruConsole.VerboseWriteLine("2MG comments: {0}", _imageInfo.Comments); + AaruConsole.VerboseWriteLine(Localization._2MG_comments_0, _imageInfo.Comments); switch(_imageInfo.MediaType) { diff --git a/Aaru.Images/Apple2MG/Write.cs b/Aaru.Images/Apple2MG/Write.cs index fb552e229..9e6ff89a0 100644 --- a/Aaru.Images/Apple2MG/Write.cs +++ b/Aaru.Images/Apple2MG/Write.cs @@ -52,21 +52,21 @@ public sealed partial class Apple2Mg if(sectorSize != 256 || (mediaType != MediaType.Apple32SS && mediaType != MediaType.Apple33SS)) { - ErrorMessage = "Unsupported sector size"; + ErrorMessage = Localization.Unsupported_sector_size; return false; } if(!SupportedMediaTypes.Contains(mediaType)) { - ErrorMessage = $"Unsupported media format {mediaType}"; + ErrorMessage = string.Format(Localization.Unsupported_media_format_0, mediaType); return false; } if(sectors > uint.MaxValue) { - ErrorMessage = "Too many sectors"; + ErrorMessage = Localization.Too_many_sectors; return false; } @@ -84,7 +84,7 @@ public sealed partial class Apple2Mg } catch(IOException e) { - ErrorMessage = $"Could not create new image file, exception {e.Message}"; + ErrorMessage = string.Format(Localization.Could_not_create_new_image_file_exception_0, e.Message); return false; } @@ -98,7 +98,7 @@ public sealed partial class Apple2Mg /// public bool WriteMediaTag(byte[] data, MediaTagType tag) { - ErrorMessage = "Unsupported feature"; + ErrorMessage = Localization.Unsupported_feature; return false; } @@ -108,21 +108,21 @@ public sealed partial class Apple2Mg { if(!IsWriting) { - ErrorMessage = "Tried to write on a non-writable image"; + ErrorMessage = Localization.Tried_to_write_on_a_non_writable_image; return false; } if(data.Length != _imageInfo.SectorSize) { - ErrorMessage = "Incorrect data size"; + ErrorMessage = Localization.Incorrect_data_size; return false; } if(sectorAddress >= _imageInfo.Sectors) { - ErrorMessage = "Tried to write past image size"; + ErrorMessage = Localization.Tried_to_write_past_image_size; return false; } @@ -140,21 +140,21 @@ public sealed partial class Apple2Mg { if(!IsWriting) { - ErrorMessage = "Tried to write on a non-writable image"; + ErrorMessage = Localization.Tried_to_write_on_a_non_writable_image; return false; } if(data.Length % _imageInfo.SectorSize != 0) { - ErrorMessage = "Incorrect data size"; + ErrorMessage = Localization.Incorrect_data_size; return false; } if(sectorAddress + length > _imageInfo.Sectors) { - ErrorMessage = "Tried to write past image size"; + ErrorMessage = Localization.Tried_to_write_past_image_size; return false; } @@ -170,7 +170,7 @@ public sealed partial class Apple2Mg /// public bool WriteSectorLong(byte[] data, ulong sectorAddress) { - ErrorMessage = "Writing sectors with tags is not supported."; + ErrorMessage = Localization.Writing_sectors_with_tags_is_not_supported; return false; } @@ -178,7 +178,7 @@ public sealed partial class Apple2Mg /// public bool WriteSectorsLong(byte[] data, ulong sectorAddress, uint length) { - ErrorMessage = "Writing sectors with tags is not supported."; + ErrorMessage = Localization.Writing_sectors_with_tags_is_not_supported; return false; } @@ -188,7 +188,7 @@ public sealed partial class Apple2Mg { if(!IsWriting) { - ErrorMessage = "Image is not opened for writing"; + ErrorMessage = Localization.Image_is_not_opened_for_writing; return false; } @@ -258,7 +258,7 @@ public sealed partial class Apple2Mg /// public bool WriteSectorTag(byte[] data, ulong sectorAddress, SectorTagType tag) { - ErrorMessage = "Writing sectors with tags is not supported."; + ErrorMessage = Localization.Writing_sectors_with_tags_is_not_supported; return false; } @@ -266,7 +266,7 @@ public sealed partial class Apple2Mg /// public bool WriteSectorsTag(byte[] data, ulong sectorAddress, uint length, SectorTagType tag) { - ErrorMessage = "Writing sectors with tags is not supported."; + ErrorMessage = Localization.Writing_sectors_with_tags_is_not_supported; return false; } diff --git a/Aaru.Images/AppleDOS/Properties.cs b/Aaru.Images/AppleDOS/Properties.cs index 49b225c52..4a648ec24 100644 --- a/Aaru.Images/AppleDOS/Properties.cs +++ b/Aaru.Images/AppleDOS/Properties.cs @@ -45,11 +45,11 @@ public sealed partial class AppleDos public ImageInfo Info => _imageInfo; /// - public string Name => "Apple ][ Interleaved Disk Image"; + public string Name => Localization.AppleDos_Name; /// public Guid Id => new("A5828AC0-62C9-4304-81D4-EFD4AAE47360"); /// - public string Author => "Natalia Portillo"; + public string Author => Authors.NataliaPortillo; /// public string Format => _extension == ".po" ? "Apple ][ Interleaved Disk Image (ProDOS order)" : "Apple ][ Interleaved Disk Image (DOS order)"; diff --git a/Aaru.Images/AppleDOS/Write.cs b/Aaru.Images/AppleDOS/Write.cs index 496f108bc..da5fe32e3 100644 --- a/Aaru.Images/AppleDOS/Write.cs +++ b/Aaru.Images/AppleDOS/Write.cs @@ -48,7 +48,7 @@ public sealed partial class AppleDos { if(sectorSize != 256) { - ErrorMessage = "Unsupported sector size"; + ErrorMessage = Localization.Unsupported_sector_size; return false; } @@ -56,7 +56,7 @@ public sealed partial class AppleDos if(mediaType != MediaType.Apple32SS && mediaType != MediaType.Apple33SS) { - ErrorMessage = $"Unsupported media format {mediaType}"; + ErrorMessage = string.Format(Localization.Unsupported_media_format_0, mediaType); return false; } @@ -64,7 +64,7 @@ public sealed partial class AppleDos if((mediaType == MediaType.Apple32SS && sectors != 455) || (mediaType == MediaType.Apple33SS && sectors != 560)) { - ErrorMessage = "Incorrect number of sectors for media"; + ErrorMessage = Localization.Incorrect_number_of_sectors_for_media; return false; } @@ -82,7 +82,7 @@ public sealed partial class AppleDos } catch(IOException e) { - ErrorMessage = $"Could not create new image file, exception {e.Message}"; + ErrorMessage = string.Format(Localization.Could_not_create_new_image_file_exception_0, e.Message); return false; } @@ -106,7 +106,7 @@ public sealed partial class AppleDos /// public bool WriteMediaTag(byte[] data, MediaTagType tag) { - ErrorMessage = "Unsupported feature"; + ErrorMessage = Localization.Unsupported_feature; return false; } @@ -119,21 +119,21 @@ public sealed partial class AppleDos { if(!IsWriting) { - ErrorMessage = "Tried to write on a non-writable image"; + ErrorMessage = Localization.Tried_to_write_on_a_non_writable_image; return false; } if(data.Length % _imageInfo.SectorSize != 0) { - ErrorMessage = "Incorrect data size"; + ErrorMessage = Localization.Incorrect_data_size; return false; } if(sectorAddress + length > _imageInfo.Sectors) { - ErrorMessage = "Tried to write past image size"; + ErrorMessage = Localization.Tried_to_write_past_image_size; return false; } @@ -148,7 +148,7 @@ public sealed partial class AppleDos /// public bool WriteSectorLong(byte[] data, ulong sectorAddress) { - ErrorMessage = "Writing sectors with tags is not supported."; + ErrorMessage = Localization.Writing_sectors_with_tags_is_not_supported; return false; } @@ -156,7 +156,7 @@ public sealed partial class AppleDos /// public bool WriteSectorsLong(byte[] data, ulong sectorAddress, uint length) { - ErrorMessage = "Writing sectors with tags is not supported."; + ErrorMessage = Localization.Writing_sectors_with_tags_is_not_supported; return false; } @@ -166,7 +166,7 @@ public sealed partial class AppleDos { if(!IsWriting) { - ErrorMessage = "Image is not opened for writing"; + ErrorMessage = Localization.Image_is_not_opened_for_writing; return false; } @@ -216,7 +216,7 @@ public sealed partial class AppleDos /// public bool WriteSectorTag(byte[] data, ulong sectorAddress, SectorTagType tag) { - ErrorMessage = "Writing sectors with tags is not supported."; + ErrorMessage = Localization.Writing_sectors_with_tags_is_not_supported; return false; } @@ -224,7 +224,7 @@ public sealed partial class AppleDos /// public bool WriteSectorsTag(byte[] data, ulong sectorAddress, uint length, SectorTagType tag) { - ErrorMessage = "Writing sectors with tags is not supported."; + ErrorMessage = Localization.Writing_sectors_with_tags_is_not_supported; return false; } diff --git a/Aaru.Images/AppleNIB/Properties.cs b/Aaru.Images/AppleNIB/Properties.cs index 8898f84ab..29bc76acf 100644 --- a/Aaru.Images/AppleNIB/Properties.cs +++ b/Aaru.Images/AppleNIB/Properties.cs @@ -43,11 +43,11 @@ public sealed partial class AppleNib public ImageInfo Info => _imageInfo; /// - public string Name => "Apple NIB"; + public string Name => Localization.AppleNib_Name; /// public Guid Id => new("AE171AE8-6747-49CC-B861-9D450B7CD42E"); /// - public string Author => "Natalia Portillo"; + public string Author => Authors.NataliaPortillo; /// public string Format => "Apple nibbles"; /// diff --git a/Aaru.Images/AppleNIB/Read.cs b/Aaru.Images/AppleNIB/Read.cs index 16536d1a2..414c4adba 100644 --- a/Aaru.Images/AppleNIB/Read.cs +++ b/Aaru.Images/AppleNIB/Read.cs @@ -56,9 +56,9 @@ public sealed partial class AppleNib byte[] buffer = new byte[stream.Length]; stream.EnsureRead(buffer, 0, buffer.Length); - AaruConsole.DebugWriteLine("Apple NIB Plugin", "Decoding whole image"); + AaruConsole.DebugWriteLine("Apple NIB Plugin", Localization.Decoding_whole_image); List tracks = Apple2.MarshalDisk(buffer); - AaruConsole.DebugWriteLine("Apple NIB Plugin", "Got {0} tracks", tracks.Count); + AaruConsole.DebugWriteLine("Apple NIB Plugin", Localization.Got_0_tracks, tracks.Count); Dictionary rawSectors = new(); @@ -88,8 +88,9 @@ public sealed partial class AppleNib if(isDos) skewing = _dosSkewing; - AaruConsole.DebugWriteLine("Apple NIB Plugin", "Using {0}DOS skewing", - skewing.SequenceEqual(_dosSkewing) ? "" : "Pro"); + AaruConsole.DebugWriteLine("Apple NIB Plugin", + skewing.SequenceEqual(_dosSkewing) ? Localization.Using_DOS_skewing + : Localization.Using_ProDOS_skewing); } for(int i = 0; i < tracks.Count; i++) @@ -100,8 +101,8 @@ public sealed partial class AppleNib (sector.addressField.sector[1] & 0x55)) & 0xFF); AaruConsole.DebugWriteLine("Apple NIB Plugin", - "Hardware sector {0} of track {1} goes to logical sector {2}", sectorNo, - i, skewing[sectorNo] + (ulong)(i * spt)); + Localization.Hardware_sector_0_of_track_1_goes_to_logical_sector_2, + sectorNo, i, skewing[sectorNo] + (ulong)(i * spt)); rawSectors.Add(skewing[sectorNo] + (ulong)(i * spt), sector); _imageInfo.Sectors++; @@ -112,9 +113,9 @@ public sealed partial class AppleNib _imageInfo.Sectors++; } - AaruConsole.DebugWriteLine("Apple NIB Plugin", "Got {0} sectors", _imageInfo.Sectors); + AaruConsole.DebugWriteLine("Apple NIB Plugin", Localization.Got_0_sectors, _imageInfo.Sectors); - AaruConsole.DebugWriteLine("Apple NIB Plugin", "Cooking sectors"); + AaruConsole.DebugWriteLine("Apple NIB Plugin", Localization.Cooking_sectors); _longSectors = new Dictionary(); _cookedSectors = new Dictionary(); diff --git a/Aaru.Images/Apridisk/Properties.cs b/Aaru.Images/Apridisk/Properties.cs index 8c14d6904..f57801ef5 100644 --- a/Aaru.Images/Apridisk/Properties.cs +++ b/Aaru.Images/Apridisk/Properties.cs @@ -45,11 +45,11 @@ public sealed partial class Apridisk public ImageInfo Info => _imageInfo; /// - public string Name => "ACT Apricot Disk Image"; + public string Name => Localization.Apridisk_Name; /// public Guid Id => new("43408CF3-6DB3-449F-A779-2B0E497C5B14"); /// - public string Author => "Natalia Portillo"; + public string Author => Authors.NataliaPortillo; /// public string Format => "ACT Apricot disk image"; @@ -78,7 +78,7 @@ public sealed partial class Apridisk /// public IEnumerable<(string name, Type type, string description, object @default)> SupportedOptions => new[] { - ("compress", typeof(bool), "Enable Apridisk compression.", (object)false) + ("compress", typeof(bool), Localization.Enable_Apridisk_compression, (object)false) }; /// public IEnumerable KnownExtensions => new[] diff --git a/Aaru.Images/Apridisk/Read.cs b/Aaru.Images/Apridisk/Read.cs index cdecb2e62..941150185 100644 --- a/Aaru.Images/Apridisk/Read.cs +++ b/Aaru.Images/Apridisk/Read.cs @@ -67,26 +67,32 @@ public sealed partial class Apridisk { // Deleted record, just skip it case RecordType.Deleted: - AaruConsole.DebugWriteLine("Apridisk plugin", "Found deleted record at {0}", stream.Position); + AaruConsole.DebugWriteLine("Apridisk plugin", Localization.Found_deleted_record_at_0, + stream.Position); + stream.Seek(record.headerSize - recordSize + record.dataSize, SeekOrigin.Current); break; case RecordType.Comment: - AaruConsole.DebugWriteLine("Apridisk plugin", "Found comment record at {0}", stream.Position); + AaruConsole.DebugWriteLine("Apridisk plugin", Localization.Found_comment_record_at_0, + stream.Position); + stream.Seek(record.headerSize - recordSize, SeekOrigin.Current); byte[] commentB = new byte[record.dataSize]; stream.EnsureRead(commentB, 0, commentB.Length); _imageInfo.Comments = StringHandlers.CToString(commentB); - AaruConsole.DebugWriteLine("Apridisk plugin", "Comment: \"{0}\"", _imageInfo.Comments); + AaruConsole.DebugWriteLine("Apridisk plugin", Localization.Comment_0, _imageInfo.Comments); break; case RecordType.Creator: - AaruConsole.DebugWriteLine("Apridisk plugin", "Found creator record at {0}", stream.Position); + AaruConsole.DebugWriteLine("Apridisk plugin", Localization.Found_creator_record_at_0, + stream.Position); + stream.Seek(record.headerSize - recordSize, SeekOrigin.Current); byte[] creatorB = new byte[record.dataSize]; stream.EnsureRead(creatorB, 0, creatorB.Length); _imageInfo.Creator = StringHandlers.CToString(creatorB); - AaruConsole.DebugWriteLine("Apridisk plugin", "Creator: \"{0}\"", _imageInfo.Creator); + AaruConsole.DebugWriteLine("Apridisk plugin", Localization.Creator_0, _imageInfo.Creator); break; case RecordType.Sector: @@ -95,10 +101,12 @@ public sealed partial class Apridisk return ErrorNumber.NotSupported; AaruConsole.DebugWriteLine("Apridisk plugin", - "Found {4} sector record at {0} for cylinder {1} head {2} sector {3}", - stream.Position, record.cylinder, record.head, record.sector, - record.compression == CompressType.Compressed ? "compressed" - : "uncompressed"); + record.compression == CompressType.Compressed + ? Localization. + Found_compressed_sector_record_at_0_for_cylinder_1_head_2_sector_3 + : Localization. + Found_uncompressed_sector_record_at_0_for_cylinder_1_head_2_sector_3, + stream.Position, record.cylinder, record.head, record.sector); if(record.cylinder > totalCylinders) totalCylinders = record.cylinder; @@ -132,7 +140,7 @@ public sealed partial class Apridisk _imageInfo.Heads = (byte)totalHeads; AaruConsole.DebugWriteLine("Apridisk plugin", - "Found {0} cylinders and {1} heads with a maximum sector number of {2}", + Localization.Found_0_cylinders_and_1_heads_with_a_maximum_sector_number_of_2, totalCylinders, totalHeads, maxSector); // Create heads @@ -192,7 +200,8 @@ public sealed partial class Apridisk } } - AaruConsole.DebugWriteLine("Apridisk plugin", "Found a minimum of {0} bytes per sector", _imageInfo.SectorSize); + AaruConsole.DebugWriteLine("Apridisk plugin", Localization.Found_a_minimum_of_0_bytes_per_sector, + _imageInfo.SectorSize); // Count sectors per track uint spt = uint.MaxValue; @@ -206,7 +215,7 @@ public sealed partial class Apridisk _imageInfo.SectorsPerTrack = spt; - AaruConsole.DebugWriteLine("Apridisk plugin", "Found a minimum of {0} sectors per track", + AaruConsole.DebugWriteLine("Apridisk plugin", Localization.Found_a_minimum_of_0_sectors_per_track, _imageInfo.SectorsPerTrack); _imageInfo.MediaType = Geometry.GetMediaType(((ushort)_imageInfo.Cylinders, (byte)_imageInfo.Heads, diff --git a/Aaru.Images/Apridisk/Write.cs b/Aaru.Images/Apridisk/Write.cs index 1f6e8fd49..00db668af 100644 --- a/Aaru.Images/Apridisk/Write.cs +++ b/Aaru.Images/Apridisk/Write.cs @@ -51,7 +51,7 @@ public sealed partial class Apridisk { if(!SupportedMediaTypes.Contains(mediaType)) { - ErrorMessage = $"Unsupported media format {mediaType}"; + ErrorMessage = string.Format(Localization.Unsupported_media_format_0, mediaType); return false; } @@ -69,7 +69,7 @@ public sealed partial class Apridisk } catch(IOException e) { - ErrorMessage = $"Could not create new image file, exception {e.Message}"; + ErrorMessage = string.Format(Localization.Could_not_create_new_image_file_exception_0, e.Message); return false; } @@ -83,7 +83,7 @@ public sealed partial class Apridisk /// public bool WriteMediaTag(byte[] data, MediaTagType tag) { - ErrorMessage = "Writing media tags is not supported."; + ErrorMessage = Localization.Writing_media_tags_is_not_supported; return false; } @@ -95,21 +95,21 @@ public sealed partial class Apridisk if(cylinder >= _sectorsData.Length) { - ErrorMessage = "Sector address not found"; + ErrorMessage = Localization.Sector_address_not_found; return false; } if(head >= _sectorsData[cylinder].Length) { - ErrorMessage = "Sector address not found"; + ErrorMessage = Localization.Sector_address_not_found; return false; } if(sector > _sectorsData[cylinder][head].Length) { - ErrorMessage = "Sector address not found"; + ErrorMessage = Localization.Sector_address_not_found; return false; } @@ -128,21 +128,21 @@ public sealed partial class Apridisk if(cylinder >= _sectorsData.Length) { - ErrorMessage = "Sector address not found"; + ErrorMessage = Localization.Sector_address_not_found; return false; } if(head >= _sectorsData[cylinder].Length) { - ErrorMessage = "Sector address not found"; + ErrorMessage = Localization.Sector_address_not_found; return false; } if(sector > _sectorsData[cylinder][head].Length) { - ErrorMessage = "Sector address not found"; + ErrorMessage = Localization.Sector_address_not_found; return false; } @@ -156,7 +156,7 @@ public sealed partial class Apridisk /// public bool WriteSectorLong(byte[] data, ulong sectorAddress) { - ErrorMessage = "Writing sectors with tags is not supported."; + ErrorMessage = Localization.Writing_sectors_with_tags_is_not_supported; return false; } @@ -164,7 +164,7 @@ public sealed partial class Apridisk /// public bool WriteSectorsLong(byte[] data, ulong sectorAddress, uint length) { - ErrorMessage = "Writing sectors with tags is not supported."; + ErrorMessage = Localization.Writing_sectors_with_tags_is_not_supported; return false; } @@ -274,21 +274,21 @@ public sealed partial class Apridisk { if(cylinders > ushort.MaxValue) { - ErrorMessage = "Too many cylinders"; + ErrorMessage = Localization.Too_many_cylinders; return false; } if(heads > byte.MaxValue) { - ErrorMessage = "Too many heads"; + ErrorMessage = Localization.Too_many_heads; return false; } if(sectorsPerTrack > byte.MaxValue) { - ErrorMessage = "Too many sectors per track"; + ErrorMessage = Localization.Too_many_sectors_per_track; return false; } @@ -313,7 +313,7 @@ public sealed partial class Apridisk /// public bool WriteSectorTag(byte[] data, ulong sectorAddress, SectorTagType tag) { - ErrorMessage = "Unsupported feature"; + ErrorMessage = Localization.Unsupported_feature; return false; } @@ -321,7 +321,7 @@ public sealed partial class Apridisk /// public bool WriteSectorsTag(byte[] data, ulong sectorAddress, uint length, SectorTagType tag) { - ErrorMessage = "Unsupported feature"; + ErrorMessage = Localization.Unsupported_feature; return false; } diff --git a/Aaru.Images/Authors.cs b/Aaru.Images/Authors.cs new file mode 100644 index 000000000..9e1045522 --- /dev/null +++ b/Aaru.Images/Authors.cs @@ -0,0 +1,38 @@ +// /*************************************************************************** +// Aaru Data Preservation Suite +// ---------------------------------------------------------------------------- +// +// Filename : Authors.cs +// Author(s) : Natalia Portillo +// +// Component : Disk image plugins. +// +// --[ License ] -------------------------------------------------------------- +// +// This library is free software; you can redistribute it and/or modify +// it under the terms of the GNU Lesser General Public License as +// published by the Free Software Foundation; either version 2.1 of the +// License, or (at your option) any later version. +// +// This library is distributed in the hope that it will be useful, but +// WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +// Lesser General Public License for more details. +// +// You should have received a copy of the GNU Lesser General Public +// License along with this library; if not, see . +// +// ---------------------------------------------------------------------------- +// Copyright © 2011-2022 Natalia Portillo +// ****************************************************************************/ + +using System.Diagnostics.CodeAnalysis; + +namespace Aaru.DiscImages; + +[SuppressMessage("ReSharper", "InconsistentNaming")] +static class Authors +{ + internal const string MichaelDruing = "Michael Drüing"; + internal const string NataliaPortillo = "Natalia Portillo"; +} \ No newline at end of file diff --git a/Aaru.Images/BLU/Properties.cs b/Aaru.Images/BLU/Properties.cs index aedc06ddb..4d04da6af 100644 --- a/Aaru.Images/BLU/Properties.cs +++ b/Aaru.Images/BLU/Properties.cs @@ -44,11 +44,11 @@ public sealed partial class Blu /// public ImageInfo Info => _imageInfo; /// - public string Name => "Basic Lisa Utility"; + public string Name => Localization.Blu_Name; /// public Guid Id => new("A153E2F8-4235-432D-9A7F-20807B0BCD74"); /// - public string Author => "Natalia Portillo"; + public string Author => Authors.NataliaPortillo; /// public string Format => "Basic Lisa Utility"; /// diff --git a/Aaru.Images/BLU/Read.cs b/Aaru.Images/BLU/Read.cs index e555719f1..aae561dc4 100644 --- a/Aaru.Images/BLU/Read.cs +++ b/Aaru.Images/BLU/Read.cs @@ -144,7 +144,7 @@ public sealed partial class Blu if(_bptag > 0) _imageInfo.ReadableSectorTags.Add(SectorTagType.AppleSectorTag); - AaruConsole.VerboseWriteLine("BLU image contains a disk of type {0}", _imageInfo.MediaType); + AaruConsole.VerboseWriteLine(Localization.BLU_image_contains_a_disk_of_type_0, _imageInfo.MediaType); return ErrorNumber.NoError; } diff --git a/Aaru.Images/BLU/Write.cs b/Aaru.Images/BLU/Write.cs index 03a27d2dc..09decf38b 100644 --- a/Aaru.Images/BLU/Write.cs +++ b/Aaru.Images/BLU/Write.cs @@ -53,21 +53,21 @@ public sealed partial class Blu { if(sectorSize != 512) { - ErrorMessage = "Unsupported sector size"; + ErrorMessage = Localization.Unsupported_sector_size; return false; } if(sectors > 0xFFFFFF) { - ErrorMessage = "Too many sectors"; + ErrorMessage = Localization.Too_many_sectors; return false; } if(!SupportedMediaTypes.Contains(mediaType)) { - ErrorMessage = $"Unsupported media format {mediaType}"; + ErrorMessage = string.Format(Localization.Unsupported_media_format_0, mediaType); return false; } @@ -85,7 +85,7 @@ public sealed partial class Blu } catch(IOException e) { - ErrorMessage = $"Could not create new image file, exception {e.Message}"; + ErrorMessage = string.Format(Localization.Could_not_create_new_image_file_exception_0, e.Message); return false; } @@ -99,7 +99,7 @@ public sealed partial class Blu /// public bool WriteMediaTag(byte[] data, MediaTagType tag) { - ErrorMessage = "Writing media tags is not supported."; + ErrorMessage = Localization.Writing_media_tags_is_not_supported; return false; } @@ -111,21 +111,21 @@ public sealed partial class Blu if(!IsWriting) { - ErrorMessage = "Tried to write on a non-writable image"; + ErrorMessage = Localization.Tried_to_write_on_a_non_writable_image; return false; } if(data.Length != 512) { - ErrorMessage = "Incorrect data size"; + ErrorMessage = Localization.Incorrect_data_size; return false; } if(sectorAddress >= _imageInfo.Sectors) { - ErrorMessage = "Tried to write past image size"; + ErrorMessage = Localization.Tried_to_write_past_image_size; return false; } @@ -145,21 +145,21 @@ public sealed partial class Blu if(!IsWriting) { - ErrorMessage = "Tried to write on a non-writable image"; + ErrorMessage = Localization.Tried_to_write_on_a_non_writable_image; return false; } if(data.Length % 512 != 0) { - ErrorMessage = "Incorrect data size"; + ErrorMessage = Localization.Incorrect_data_size; return false; } if(sectorAddress + length > _imageInfo.Sectors) { - ErrorMessage = "Tried to write past image size"; + ErrorMessage = Localization.Tried_to_write_past_image_size; return false; } @@ -177,14 +177,14 @@ public sealed partial class Blu { if(!IsWriting) { - ErrorMessage = "Tried to write on a non-writable image"; + ErrorMessage = Localization.Tried_to_write_on_a_non_writable_image; return false; } if(sectorAddress >= _imageInfo.Sectors) { - ErrorMessage = "Tried to write past image size"; + ErrorMessage = Localization.Tried_to_write_past_image_size; return false; } @@ -246,7 +246,7 @@ public sealed partial class Blu break; default: - ErrorMessage = "Incorrect data size"; + ErrorMessage = Localization.Incorrect_data_size; return false; } @@ -267,14 +267,14 @@ public sealed partial class Blu { if(!IsWriting) { - ErrorMessage = "Tried to write on a non-writable image"; + ErrorMessage = Localization.Tried_to_write_on_a_non_writable_image; return false; } if(sectorAddress + length > _imageInfo.Sectors) { - ErrorMessage = "Tried to write past image size"; + ErrorMessage = Localization.Tried_to_write_past_image_size; return false; } @@ -289,7 +289,7 @@ public sealed partial class Blu case 524: case 512: break; default: - ErrorMessage = "Incorrect data size"; + ErrorMessage = Localization.Incorrect_data_size; return false; } @@ -351,7 +351,7 @@ public sealed partial class Blu break; default: - ErrorMessage = "Incorrect data size"; + ErrorMessage = Localization.Incorrect_data_size; return false; } @@ -373,7 +373,7 @@ public sealed partial class Blu { if(!IsWriting) { - ErrorMessage = "Image is not opened for writing"; + ErrorMessage = Localization.Image_is_not_opened_for_writing; return false; } @@ -438,7 +438,7 @@ public sealed partial class Blu /// public bool WriteSectorTag(byte[] data, ulong sectorAddress, SectorTagType tag) { - ErrorMessage = "Unsupported feature"; + ErrorMessage = Localization.Unsupported_feature; return false; } @@ -446,7 +446,7 @@ public sealed partial class Blu /// public bool WriteSectorsTag(byte[] data, ulong sectorAddress, uint length, SectorTagType tag) { - ErrorMessage = "Unsupported feature"; + ErrorMessage = Localization.Unsupported_feature; return false; } diff --git a/Aaru.Images/BlindWrite4/Properties.cs b/Aaru.Images/BlindWrite4/Properties.cs index 1f624485c..37f8cfa30 100644 --- a/Aaru.Images/BlindWrite4/Properties.cs +++ b/Aaru.Images/BlindWrite4/Properties.cs @@ -44,11 +44,11 @@ public sealed partial class BlindWrite4 public ImageInfo Info => _imageInfo; /// - public string Name => "BlindWrite 4"; + public string Name => Localization.BlindWrite4_Name; /// public Guid Id => new("664568B2-15D4-4E64-8A7A-20BDA8B8386F"); /// - public string Author => "Natalia Portillo"; + public string Author => Authors.NataliaPortillo; /// public string Format => "BlindWrite 4 TOC file"; diff --git a/Aaru.Images/BlindWrite4/Read.cs b/Aaru.Images/BlindWrite4/Read.cs index f3697df6d..8d7896dfc 100644 --- a/Aaru.Images/BlindWrite4/Read.cs +++ b/Aaru.Images/BlindWrite4/Read.cs @@ -433,13 +433,13 @@ public sealed partial class BlindWrite4 if(_dataFilter != null) break; - AaruConsole.ErrorWriteLine($"Data file {_header.DataFile} not found"); + AaruConsole.ErrorWriteLine(string.Format(Localization.Data_file_0_not_found, _header.DataFile)); return ErrorNumber.NoSuchFile; } else { - AaruConsole.ErrorWriteLine("Unable to find data file"); + AaruConsole.ErrorWriteLine(Localization.Unable_to_find_data_file); return ErrorNumber.NoSuchFile; } @@ -782,10 +782,10 @@ public sealed partial class BlindWrite4 _imageInfo.Comments = _header.Comments; - AaruConsole.VerboseWriteLine("BlindWrite image describes a disc of type {0}", _imageInfo.MediaType); + AaruConsole.VerboseWriteLine(Localization.BlindWrite_image_describes_a_disc_of_type_0, _imageInfo.MediaType); if(!string.IsNullOrEmpty(_imageInfo.Comments)) - AaruConsole.VerboseWriteLine("BlindWrite comments: {0}", _imageInfo.Comments); + AaruConsole.VerboseWriteLine(Localization.BlindWrite_comments_0, _imageInfo.Comments); return ErrorNumber.NoError; } diff --git a/Aaru.Images/BlindWrite5/Properties.cs b/Aaru.Images/BlindWrite5/Properties.cs index 5b807523e..b931bc900 100644 --- a/Aaru.Images/BlindWrite5/Properties.cs +++ b/Aaru.Images/BlindWrite5/Properties.cs @@ -44,11 +44,11 @@ public sealed partial class BlindWrite5 public ImageInfo Info => _imageInfo; /// - public string Name => "BlindWrite 5"; + public string Name => Localization.BlindWrite5_Name; /// public Guid Id => new("9CB7A381-0509-4F9F-B801-3F65434BC3EE"); /// - public string Author => "Natalia Portillo"; + public string Author => Authors.NataliaPortillo; /// public string Format => "BlindWrite 5 TOC file"; diff --git a/Aaru.Images/BlindWrite5/Read.cs b/Aaru.Images/BlindWrite5/Read.cs index 02aa5685f..4010e7404 100644 --- a/Aaru.Images/BlindWrite5/Read.cs +++ b/Aaru.Images/BlindWrite5/Read.cs @@ -132,7 +132,7 @@ public sealed partial class BlindWrite5 var decoded2A = ModePage_2A.Decode(_mode2A); if(decoded2A is not null) - AaruConsole.DebugWriteLine("BlindWrite5 plugin", "mode page 2A: {0}", + AaruConsole.DebugWriteLine("BlindWrite5 plugin", Localization.mode_page_2A_0, Modes.PrettifyModePage_2A(decoded2A)); else _mode2A = null; @@ -157,7 +157,7 @@ public sealed partial class BlindWrite5 PMA.CDPMA? decodedPma = PMA.Decode(_pma); if(decodedPma.HasValue) - AaruConsole.DebugWriteLine("BlindWrite5 plugin", "PMA: {0}", PMA.Prettify(decodedPma)); + AaruConsole.DebugWriteLine("BlindWrite5 plugin", Localization.PMA_0, PMA.Prettify(decodedPma)); else _pma = null; } @@ -203,7 +203,7 @@ public sealed partial class BlindWrite5 PFI.PhysicalFormatInformation? decodedPfi = PFI.Decode(_pfi, MediaType.DVDROM); if(decodedPfi.HasValue) - AaruConsole.DebugWriteLine("BlindWrite5 plugin", "PFI: {0}", PFI.Prettify(decodedPfi)); + AaruConsole.DebugWriteLine("BlindWrite5 plugin", Localization.PFI_0, PFI.Prettify(decodedPfi)); else { _pfi = null; @@ -235,7 +235,7 @@ public sealed partial class BlindWrite5 { stream.EnsureRead(_discInformation, 0, _discInformation.Length); - AaruConsole.DebugWriteLine("BlindWrite5 plugin", "Disc information: {0}", + AaruConsole.DebugWriteLine("BlindWrite5 plugin", Localization.Disc_information_0, PrintHex.ByteArrayToHexArrayString(_discInformation, 40)); } else @@ -251,7 +251,7 @@ public sealed partial class BlindWrite5 byte[] dataPathBytes = new byte[dataPathLen]; stream.EnsureRead(dataPathBytes, 0, dataPathBytes.Length); _dataPath = Encoding.Unicode.GetString(dataPathBytes); - AaruConsole.DebugWriteLine("BlindWrite5 plugin", "Data path: {0}", _dataPath); + AaruConsole.DebugWriteLine("BlindWrite5 plugin", Localization.Data_path_0, _dataPath); _dataFiles = new List(); @@ -450,10 +450,10 @@ public sealed partial class BlindWrite5 stream.EnsureRead(footer, 0, footer.Length); if(_bw5Footer.SequenceEqual(footer)) - AaruConsole.DebugWriteLine("BlindWrite5 plugin", "Correctly arrived end of image"); + AaruConsole.DebugWriteLine("BlindWrite5 plugin", Localization.Correctly_arrived_end_of_image); else - AaruConsole. - ErrorWriteLine("BlindWrite5 image ends after expected position. Probably new version with different data. Errors may occur."); + AaruConsole.ErrorWriteLine(Localization. + BlindWrite5_image_ends_after_expected_position_Probably_new_version_with_different_data_Errors_may_occur); _filePaths = new List(); @@ -563,7 +563,7 @@ public sealed partial class BlindWrite5 } else { - AaruConsole.ErrorWriteLine("Cannot find data file {0}", dataFile.Filename); + AaruConsole.ErrorWriteLine(Localization.Cannot_find_data_file_0, dataFile.Filename); continue; } @@ -587,7 +587,8 @@ public sealed partial class BlindWrite5 break; default: - AaruConsole.ErrorWriteLine("BlindWrite5 found unknown subchannel size: {0}", sectorSize - 2352); + AaruConsole.ErrorWriteLine(Localization.BlindWrite5_found_unknown_subchannel_size_0, + sectorSize - 2352); return ErrorNumber.NotSupported; } @@ -620,7 +621,7 @@ public sealed partial class BlindWrite5 _trackFlags = new Dictionary(); _imageInfo.Sectors = 0; - AaruConsole.DebugWriteLine("BlindWrite5 plugin", "Building maps"); + AaruConsole.DebugWriteLine("BlindWrite5 plugin", Localization.Building_maps); foreach(SessionDescriptor ses in _bwSessions) { @@ -748,7 +749,7 @@ public sealed partial class BlindWrite5 break; } - track.Description = $"Track {trk.point}"; + track.Description = string.Format(Localization.Track_0, trk.point); track.StartSector = (ulong)(trk.startLba + trk.pregap); track.EndSector = (ulong)(trk.sectors + trk.startLba) - 1; @@ -929,7 +930,7 @@ public sealed partial class BlindWrite5 } else { - AaruConsole.ErrorWriteLine("Could not find image for track {0}", trk.point); + AaruConsole.ErrorWriteLine(Localization.Could_not_find_image_for_track_0, trk.point); return ErrorNumber.NoSuchFile; } @@ -951,7 +952,7 @@ public sealed partial class BlindWrite5 } catch(Exception) { - AaruConsole.ErrorWriteLine("Could not find image for track {0}", trk.point); + AaruConsole.ErrorWriteLine(Localization.Could_not_find_image_for_track_0, trk.point); return ErrorNumber.NoSuchFile; } @@ -1014,7 +1015,7 @@ public sealed partial class BlindWrite5 if(track.Filter is null) { - AaruConsole.ErrorWriteLine("Could not find image for track {0}", trk.point); + AaruConsole.ErrorWriteLine(Localization.Could_not_find_image_for_track_0, trk.point); return ErrorNumber.NoSuchFile; } @@ -1066,41 +1067,54 @@ public sealed partial class BlindWrite5 track.Session = trackSession.Sequence; } - AaruConsole.DebugWriteLine("BlindWrite5 plugin", "printing track map"); + AaruConsole.DebugWriteLine("BlindWrite5 plugin", Localization.printing_track_map); foreach(Track track in Tracks) { - AaruConsole.DebugWriteLine("BlindWrite5 plugin", "Partition sequence: {0}", track.Sequence); + AaruConsole.DebugWriteLine("BlindWrite5 plugin", Localization.Partition_sequence_0, track.Sequence); - AaruConsole.DebugWriteLine("BlindWrite5 plugin", "\tPartition description: {0}", track.Description); + AaruConsole.DebugWriteLine("BlindWrite5 plugin", "\t" + Localization.Track_description_0, + track.Description); - AaruConsole.DebugWriteLine("BlindWrite5 plugin", "\tPartition type: {0}", track.Type); + AaruConsole.DebugWriteLine("BlindWrite5 plugin", "\t" + Localization.Track_type_0, track.Type); - AaruConsole.DebugWriteLine("BlindWrite5 plugin", "\tPartition starting sector: {0}", track.StartSector); + AaruConsole.DebugWriteLine("BlindWrite5 plugin", "\t" + Localization.Track_starting_sector_0, + track.StartSector); - AaruConsole.DebugWriteLine("BlindWrite5 plugin", "\tPartition ending sector: {0}", track.EndSector); + AaruConsole.DebugWriteLine("BlindWrite5 plugin", "\t" + Localization.Track_ending_sector_0, + track.EndSector); } - AaruConsole.DebugWriteLine("BlindWrite5 plugin", "printing partition map"); + AaruConsole.DebugWriteLine("BlindWrite5 plugin", Localization.printing_partition_map); foreach(Partition partition in Partitions) { - AaruConsole.DebugWriteLine("BlindWrite5 plugin", "Partition sequence: {0}", partition.Sequence); - AaruConsole.DebugWriteLine("BlindWrite5 plugin", "\tPartition name: {0}", partition.Name); - AaruConsole.DebugWriteLine("BlindWrite5 plugin", "\tPartition description: {0}", partition.Description); - AaruConsole.DebugWriteLine("BlindWrite5 plugin", "\tPartition type: {0}", partition.Type); - AaruConsole.DebugWriteLine("BlindWrite5 plugin", "\tPartition starting sector: {0}", partition.Start); - AaruConsole.DebugWriteLine("BlindWrite5 plugin", "\tPartition sectors: {0}", partition.Length); - AaruConsole.DebugWriteLine("BlindWrite5 plugin", "\tPartition starting offset: {0}", partition.Offset); - AaruConsole.DebugWriteLine("BlindWrite5 plugin", "\tPartition size in bytes: {0}", partition.Size); + AaruConsole.DebugWriteLine("BlindWrite5 plugin", Localization.Partition_sequence_0, partition.Sequence); + AaruConsole.DebugWriteLine("BlindWrite5 plugin", "\t" + Localization.Partition_name_0, partition.Name); + + AaruConsole.DebugWriteLine("BlindWrite5 plugin", "\t" + Localization.Partition_description_0, + partition.Description); + + AaruConsole.DebugWriteLine("BlindWrite5 plugin", "\t" + Localization.Partition_type_0, partition.Type); + + AaruConsole.DebugWriteLine("BlindWrite5 plugin", "\t" + Localization.Partition_starting_sector_0, + partition.Start); + + AaruConsole.DebugWriteLine("BlindWrite5 plugin", "\t" + Localization.Partition_sectors_0, partition.Length); + + AaruConsole.DebugWriteLine("BlindWrite5 plugin", "\t" + Localization.Partition_starting_offset_0, + partition.Offset); + + AaruConsole.DebugWriteLine("BlindWrite5 plugin", "\t" + Localization.Partition_size_in_bytes_0, + partition.Size); } if(!isDvd) { - AaruConsole.DebugWriteLine("BlindWrite5 plugin", "Rebuilding TOC"); + AaruConsole.DebugWriteLine("BlindWrite5 plugin", Localization.Rebuilding_TOC); _fullToc = fullTocStream.ToArray(); - AaruConsole.DebugWriteLine("BlindWrite5 plugin", "TOC len {0}", _fullToc.Length); + AaruConsole.DebugWriteLine("BlindWrite5 plugin", Localization.TOC_len_0, _fullToc.Length); _fullToc[0] = firstSession; _fullToc[1] = lastSession; @@ -1300,7 +1314,7 @@ public sealed partial class BlindWrite5 // Wxripper unlock _imageInfo.MediaType = MediaType.XGD3; - AaruConsole.VerboseWriteLine("BlindWrite image describes a disc of type {0}", _imageInfo.MediaType); + AaruConsole.VerboseWriteLine(Localization.BlindWrite_image_describes_a_disc_of_type_0, _imageInfo.MediaType); if(_header.profile is ProfileNumber.CDR or ProfileNumber.CDRW or ProfileNumber.CDROM) return ErrorNumber.NoError; diff --git a/Aaru.Images/ByteAddressable/AtariLynx.cs b/Aaru.Images/ByteAddressable/AtariLynx.cs index 90abdc59f..11925df54 100644 --- a/Aaru.Images/ByteAddressable/AtariLynx.cs +++ b/Aaru.Images/ByteAddressable/AtariLynx.cs @@ -21,7 +21,7 @@ public class AtariLynx : IByteAddressableImage ImageInfo _imageInfo; bool _opened; /// - public string Author => "Natalia Portillo"; + public string Author => Authors.NataliaPortillo; /// public CICMMetadataType CicmMetadata => null; /// @@ -33,7 +33,7 @@ public class AtariLynx : IByteAddressableImage /// public ImageInfo Info => _imageInfo; /// - public string Name => "Atari Lynx"; + public string Name => Localization.AtariLynx_Name; /// public bool Identify(IFilter imageFilter) @@ -104,16 +104,16 @@ public class AtariLynx : IByteAddressableImage var sb = new StringBuilder(); - sb.AppendFormat("Name: {0}", _imageInfo.MediaTitle).AppendLine(); - sb.AppendFormat("Manufacturer: {0}", _imageInfo.MediaManufacturer).AppendLine(); + sb.AppendFormat(Localization.Name_0, _imageInfo.MediaTitle).AppendLine(); + sb.AppendFormat(Localization.Manufacturer_0, _imageInfo.MediaManufacturer).AppendLine(); - sb.AppendFormat("Bank 0 size: {0} pages ({1} bytes)", header.Bank0Length, header.Bank0Length * 65536). + sb.AppendFormat(Localization.Bank_zero_size_0_pages_1_bytes, header.Bank0Length, header.Bank0Length * 65536). AppendLine(); - sb.AppendFormat("Bank 1 size: {0} pages ({1} bytes)", header.Bank1Length, header.Bank1Length * 65536). + sb.AppendFormat(Localization.Bank_one_size_0_pages_1_bytes, header.Bank1Length, header.Bank1Length * 65536). AppendLine(); - sb.AppendFormat("Rotation: {0}", header.Rotation).AppendLine(); + sb.AppendFormat(Localization.Rotation_0, header.Rotation).AppendLine(); _imageInfo.Comments = sb.ToString(); _opened = true; @@ -152,14 +152,14 @@ public class AtariLynx : IByteAddressableImage { if(!_opened) { - ErrorMessage = "Not image has been opened."; + ErrorMessage = Localization.No_image_has_been_opened; return false; } if(!IsWriting) { - ErrorMessage = "Image is not opened for writing."; + ErrorMessage = Localization.Image_is_not_opened_for_writing; return false; } @@ -205,14 +205,14 @@ public class AtariLynx : IByteAddressableImage { if(!_opened) { - ErrorMessage = "Not image has been opened."; + ErrorMessage = Localization.No_image_has_been_opened; return false; } if(!IsWriting) { - ErrorMessage = "Image is not opened for writing."; + ErrorMessage = Localization.Image_is_not_opened_for_writing; return false; } @@ -234,14 +234,14 @@ public class AtariLynx : IByteAddressableImage { if(_opened) { - ErrorMessage = "Cannot create an opened image"; + ErrorMessage = Localization.Cannot_create_an_opened_image; return ErrorNumber.InvalidArgument; } if(mediaType != MediaType.AtariLynxCard) { - ErrorMessage = $"Unsupported media format {mediaType}"; + ErrorMessage = string.Format(Localization.Unsupported_media_format_0, mediaType); return ErrorNumber.NotSupported; } @@ -258,7 +258,7 @@ public class AtariLynx : IByteAddressableImage } catch(IOException e) { - ErrorMessage = $"Could not create new image file, exception {e.Message}"; + ErrorMessage = string.Format(Localization.Could_not_create_new_image_file_exception_0, e.Message); return ErrorNumber.InOutError; } @@ -278,7 +278,7 @@ public class AtariLynx : IByteAddressableImage if(!_opened) { - ErrorMessage = "Not image has been opened."; + ErrorMessage = Localization.No_image_has_been_opened; return ErrorNumber.NotOpened; } @@ -312,14 +312,14 @@ public class AtariLynx : IByteAddressableImage if(!_opened) { - ErrorMessage = "Not image has been opened."; + ErrorMessage = Localization.No_image_has_been_opened; return ErrorNumber.NotOpened; } if(position >= _data.Length) { - ErrorMessage = "The requested position is out of range."; + ErrorMessage = Localization.The_requested_position_is_out_of_range; return ErrorNumber.OutOfRange; } @@ -344,21 +344,21 @@ public class AtariLynx : IByteAddressableImage if(!_opened) { - ErrorMessage = "Not image has been opened."; + ErrorMessage = Localization.No_image_has_been_opened; return ErrorNumber.NotOpened; } if(position >= _data.Length) { - ErrorMessage = "The requested position is out of range."; + ErrorMessage = Localization.The_requested_position_is_out_of_range; return ErrorNumber.OutOfRange; } if(buffer is null) { - ErrorMessage = "Buffer must not be null."; + ErrorMessage = Localization.Buffer_must_not_be_null; return ErrorNumber.InvalidArgument; } @@ -384,14 +384,14 @@ public class AtariLynx : IByteAddressableImage { if(!_opened) { - ErrorMessage = "Not image has been opened."; + ErrorMessage = Localization.No_image_has_been_opened; return ErrorNumber.NotOpened; } if(!IsWriting) { - ErrorMessage = "Image is not opened for writing."; + ErrorMessage = Localization.Image_is_not_opened_for_writing; return ErrorNumber.ReadOnly; } @@ -421,21 +421,21 @@ public class AtariLynx : IByteAddressableImage { if(!_opened) { - ErrorMessage = "Not image has been opened."; + ErrorMessage = Localization.No_image_has_been_opened; return ErrorNumber.NotOpened; } if(!IsWriting) { - ErrorMessage = "Image is not opened for writing."; + ErrorMessage = Localization.Image_is_not_opened_for_writing; return ErrorNumber.ReadOnly; } if(position >= _data.Length) { - ErrorMessage = "The requested position is out of range."; + ErrorMessage = Localization.The_requested_position_is_out_of_range; return ErrorNumber.OutOfRange; } @@ -461,28 +461,28 @@ public class AtariLynx : IByteAddressableImage if(!_opened) { - ErrorMessage = "Not image has been opened."; + ErrorMessage = Localization.No_image_has_been_opened; return ErrorNumber.NotOpened; } if(!IsWriting) { - ErrorMessage = "Image is not opened for writing."; + ErrorMessage = Localization.Image_is_not_opened_for_writing; return ErrorNumber.ReadOnly; } if(position >= _data.Length) { - ErrorMessage = "The requested position is out of range."; + ErrorMessage = Localization.The_requested_position_is_out_of_range; return ErrorNumber.OutOfRange; } if(buffer is null) { - ErrorMessage = "Buffer must not be null."; + ErrorMessage = Localization.Buffer_must_not_be_null; return ErrorNumber.InvalidArgument; } diff --git a/Aaru.Images/ByteAddressable/GameBoy.cs b/Aaru.Images/ByteAddressable/GameBoy.cs index 8dce19362..82465051b 100644 --- a/Aaru.Images/ByteAddressable/GameBoy.cs +++ b/Aaru.Images/ByteAddressable/GameBoy.cs @@ -21,7 +21,7 @@ public class GameBoy : IByteAddressableImage ImageInfo _imageInfo; bool _opened; /// - public string Author => "Natalia Portillo"; + public string Author => Authors.NataliaPortillo; /// public CICMMetadataType CicmMetadata => null; /// @@ -33,7 +33,7 @@ public class GameBoy : IByteAddressableImage /// public ImageInfo Info => _imageInfo; /// - public string Name => "Nintendo Game Boy"; + public string Name => Localization.GameBoy_Name; /// public bool Identify(IFilter imageFilter) @@ -99,30 +99,32 @@ public class GameBoy : IByteAddressableImage var sb = new StringBuilder(); - sb.AppendFormat("Name: {0}", _imageInfo.MediaTitle).AppendLine(); + sb.AppendFormat(Localization.Name_0, _imageInfo.MediaTitle).AppendLine(); if((header.Name[^1] & 0xC0) == 0xC0) - sb.AppendLine("Requires Game Boy Color"); + sb.AppendLine(Localization.Requires_Game_Boy_Color); else { if((header.Name[^1] & 0xC0) == 0xC0) - sb.AppendLine("Contains features for Game Boy Color"); + sb.AppendLine(Localization.Contains_features_for_Game_Boy_Color); if(header.Sgb == 0x03) - sb.AppendLine("Contains features for Super Game Boy"); + sb.AppendLine(Localization.Contains_features_for_Super_Game_Boy); } - sb.AppendFormat("Region: {0}", header.Country == 0 ? "Japan" : "World").AppendLine(); - sb.AppendFormat("Cartridge type: {0}", DecodeCartridgeType(header.RomType)).AppendLine(); - sb.AppendFormat("ROM size: {0} bytes", DecodeRomSize(header.RomSize)).AppendLine(); + sb.AppendFormat(Localization.Region_0, header.Country == 0 ? Localization.Japan : Localization.World). + AppendLine(); + + sb.AppendFormat(Localization.Cartridge_type_0, DecodeCartridgeType(header.RomType)).AppendLine(); + sb.AppendFormat(Localization.ROM_size_0_bytes, DecodeRomSize(header.RomSize)).AppendLine(); if(header.SramSize > 0) - sb.AppendFormat("Save RAM size: {0} bytes", DecodeSaveRamSize(header.SramSize)).AppendLine(); + sb.AppendFormat(Localization.Save_RAM_size_0_bytes, DecodeSaveRamSize(header.SramSize)).AppendLine(); - sb.AppendFormat("Licensee: {0}", DecodeLicensee(header.Licensee, header.LicenseeNew)).AppendLine(); - sb.AppendFormat("Revision: {0}", header.Revision).AppendLine(); - sb.AppendFormat("Header checksum: 0x{0:X2}", header.HeaderChecksum).AppendLine(); - sb.AppendFormat("Checksum: 0x{0:X4}", header.Checksum).AppendLine(); + sb.AppendFormat(Localization.Licensee_0, DecodeLicensee(header.Licensee, header.LicenseeNew)).AppendLine(); + sb.AppendFormat(Localization.Revision_0, header.Revision).AppendLine(); + sb.AppendFormat(Localization.Header_checksum_0, header.HeaderChecksum).AppendLine(); + sb.AppendFormat(Localization.Checksum_0_X4, header.Checksum).AppendLine(); _imageInfo.Comments = sb.ToString(); _opened = true; @@ -161,14 +163,14 @@ public class GameBoy : IByteAddressableImage { if(!_opened) { - ErrorMessage = "Not image has been opened."; + ErrorMessage = Localization.No_image_has_been_opened; return false; } if(!IsWriting) { - ErrorMessage = "Image is not opened for writing."; + ErrorMessage = Localization.Image_is_not_opened_for_writing; return false; } @@ -200,14 +202,14 @@ public class GameBoy : IByteAddressableImage { if(_opened) { - ErrorMessage = "Cannot create an opened image"; + ErrorMessage = Localization.Cannot_create_an_opened_image; return ErrorNumber.InvalidArgument; } if(mediaType != MediaType.GameBoyGamePak) { - ErrorMessage = $"Unsupported media format {mediaType}"; + ErrorMessage = string.Format(Localization.Unsupported_media_format_0, mediaType); return ErrorNumber.NotSupported; } @@ -224,7 +226,7 @@ public class GameBoy : IByteAddressableImage } catch(IOException e) { - ErrorMessage = $"Could not create new image file, exception {e.Message}"; + ErrorMessage = string.Format(Localization.Could_not_create_new_image_file_exception_0, e.Message); return ErrorNumber.InOutError; } @@ -244,7 +246,7 @@ public class GameBoy : IByteAddressableImage if(!_opened) { - ErrorMessage = "Not image has been opened."; + ErrorMessage = Localization.No_image_has_been_opened; return ErrorNumber.NotOpened; } @@ -522,14 +524,14 @@ public class GameBoy : IByteAddressableImage if(!_opened) { - ErrorMessage = "Not image has been opened."; + ErrorMessage = Localization.No_image_has_been_opened; return ErrorNumber.NotOpened; } if(position >= _data.Length) { - ErrorMessage = "The requested position is out of range."; + ErrorMessage = Localization.The_requested_position_is_out_of_range; return ErrorNumber.OutOfRange; } @@ -554,21 +556,21 @@ public class GameBoy : IByteAddressableImage if(!_opened) { - ErrorMessage = "Not image has been opened."; + ErrorMessage = Localization.No_image_has_been_opened; return ErrorNumber.NotOpened; } if(position >= _data.Length) { - ErrorMessage = "The requested position is out of range."; + ErrorMessage = Localization.The_requested_position_is_out_of_range; return ErrorNumber.OutOfRange; } if(buffer is null) { - ErrorMessage = "Buffer must not be null."; + ErrorMessage = Localization.Buffer_must_not_be_null; return ErrorNumber.InvalidArgument; } @@ -594,14 +596,14 @@ public class GameBoy : IByteAddressableImage { if(!_opened) { - ErrorMessage = "Not image has been opened."; + ErrorMessage = Localization.No_image_has_been_opened; return ErrorNumber.NotOpened; } if(!IsWriting) { - ErrorMessage = "Image is not opened for writing."; + ErrorMessage = Localization.Image_is_not_opened_for_writing; return ErrorNumber.ReadOnly; } @@ -641,21 +643,21 @@ public class GameBoy : IByteAddressableImage { if(!_opened) { - ErrorMessage = "Not image has been opened."; + ErrorMessage = Localization.No_image_has_been_opened; return ErrorNumber.NotOpened; } if(!IsWriting) { - ErrorMessage = "Image is not opened for writing."; + ErrorMessage = Localization.Image_is_not_opened_for_writing; return ErrorNumber.ReadOnly; } if(position >= _data.Length) { - ErrorMessage = "The requested position is out of range."; + ErrorMessage = Localization.The_requested_position_is_out_of_range; return ErrorNumber.OutOfRange; } @@ -681,28 +683,28 @@ public class GameBoy : IByteAddressableImage if(!_opened) { - ErrorMessage = "Not image has been opened."; + ErrorMessage = Localization.No_image_has_been_opened; return ErrorNumber.NotOpened; } if(!IsWriting) { - ErrorMessage = "Image is not opened for writing."; + ErrorMessage = Localization.Image_is_not_opened_for_writing; return ErrorNumber.ReadOnly; } if(position >= _data.Length) { - ErrorMessage = "The requested position is out of range."; + ErrorMessage = Localization.The_requested_position_is_out_of_range; return ErrorNumber.OutOfRange; } if(buffer is null) { - ErrorMessage = "Buffer must not be null."; + ErrorMessage = Localization.Buffer_must_not_be_null; return ErrorNumber.InvalidArgument; } @@ -729,7 +731,7 @@ public class GameBoy : IByteAddressableImage if(headerLicensee != 0x33) return headerLicensee switch { - 0x00 => "none", + 0x00 => Localization.none_licensee, 0x01 => "nintendo", 0x08 => "capcom", 0x09 => "hot-b", @@ -750,7 +752,7 @@ public class GameBoy : IByteAddressableImage 0x30 => "infogrames", 0x31 => "nintendo", 0x32 => "bandai", - 0x33 => "'''GBC - see above'''", + 0x33 => Localization.GBC_see_above, 0x34 => "konami", 0x35 => "hector", 0x38 => "Capcom", @@ -877,14 +879,14 @@ public class GameBoy : IByteAddressableImage 0xF0 => "a wave", 0xF3 => "extreme entertainment", 0xFF => "ljn", - _ => "Unknown" + _ => Localization.Unknown_licensee }; string licenseeNew = StringHandlers.CToString(headerLicenseeNew); return licenseeNew switch { - "00" => "none", + "00" => Localization.none_licensee, "01" => "Nintendo R&D1", "08" => "Capcom", "13" => "Electronic Arts", @@ -945,7 +947,7 @@ public class GameBoy : IByteAddressableImage "97" => "Kaneko", "99" => "Pack in soft", "A4" => "Konami", - _ => "Unknown" + _ => Localization.Unknown_licensee }; } @@ -979,35 +981,35 @@ public class GameBoy : IByteAddressableImage static string DecodeCartridgeType(byte headerRomType) => headerRomType switch { - 0x00 => "ROM only", - 0x01 => "ROM and MBC1", - 0x02 => "ROM, MBC1 and RAM", - 0x03 => "ROM, MBC1, RAM and battery", - 0x05 => "ROM and MBC2", - 0x06 => "ROM, MBC2 and battery", - 0x08 => "ROM and RAM", - 0x09 => "ROM, RAM and battery", - 0x0B => "ROM and MMM01", - 0x0C => "ROM, MMM01 and RAM", - 0x0D => "ROM, MMM01, RAM and battery", - 0x0F => "ROM, MBC3, timer and battery", - 0x10 => "ROM, MBC3, RAM, timer and battery", - 0x11 => "ROM and MBC3", - 0x12 => "ROM, MBC3 and RAM", - 0x13 => "ROM, MBC3, RAM and battery", - 0x19 => "ROM and MBC5", - 0x1A => "ROM, MBC5 and RAM", - 0x1B => "ROM, MBC5, RAM and battery", - 0x1C => "ROM, MBC5 and vibration motor", - 0x1D => "ROM, MBC5, RAM and vibration motor", - 0x1E => "ROM, MBC5, RAM, battery and vibration motor", - 0x20 => "ROM and MBC6", - 0x22 => "ROM, MBC7, RAM, battery, light sensor and vibration motor", - 0xFC => "Pocket Camera", - 0xFD => "ROM and TAMA5", - 0xFE => "ROM and HuC-3", - 0xFF => "ROM and HuC-1", - _ => "Unknown" + 0x00 => Localization.ROM_only, + 0x01 => Localization.ROM_and_MBC1, + 0x02 => Localization.ROM_MBC1_and_RAM, + 0x03 => Localization.ROM_MBC1_RAM_and_battery, + 0x05 => Localization.ROM_and_MBC2, + 0x06 => Localization.ROM_MBC2_and_battery, + 0x08 => Localization.ROM_and_RAM, + 0x09 => Localization.ROM_RAM_and_battery, + 0x0B => Localization.ROM_and_MMM01, + 0x0C => Localization.ROM_MMM01_and_RAM, + 0x0D => Localization.ROM_MMM01_RAM_and_battery, + 0x0F => Localization.ROM_MBC3_timer_and_battery, + 0x10 => Localization.ROM_MBC3_RAM_timer_and_battery, + 0x11 => Localization.ROM_and_MBC3, + 0x12 => Localization.ROM_MBC3_and_RAM, + 0x13 => Localization.ROM_MBC3_RAM_and_battery, + 0x19 => Localization.ROM_and_MBC5, + 0x1A => Localization.ROM_MBC5_and_RAM, + 0x1B => Localization.ROM_MBC5_RAM_and_battery, + 0x1C => Localization.ROM_MBC5_and_vibration_motor, + 0x1D => Localization.ROM_MBC5_RAM_and_vibration_motor, + 0x1E => Localization.ROM_MBC5_RAM_battery_and_vibration_motor, + 0x20 => Localization.ROM_and_MBC6, + 0x22 => Localization.ROM_MBC7_RAM_battery_light_sensor_and_vibration_motor, + 0xFC => Localization.Pocket_Camera, + 0xFD => Localization.ROM_and_TAMA5, + 0xFE => Localization.ROM_and_HuC_3, + 0xFF => Localization.ROM_and_HuC_1, + _ => Localization.Unknown_cartridge_type }; [StructLayout(LayoutKind.Sequential, Pack = 1), SuppressMessage("ReSharper", "FieldCanBeMadeReadOnly.Local")] diff --git a/Aaru.Images/ByteAddressable/GameBoyAdvance.cs b/Aaru.Images/ByteAddressable/GameBoyAdvance.cs index 1cbbf9d20..5e126fb36 100644 --- a/Aaru.Images/ByteAddressable/GameBoyAdvance.cs +++ b/Aaru.Images/ByteAddressable/GameBoyAdvance.cs @@ -21,7 +21,7 @@ public class GameBoyAdvance : IByteAddressableImage ImageInfo _imageInfo; bool _opened; /// - public string Author => "Natalia Portillo"; + public string Author => Authors.NataliaPortillo; /// public CICMMetadataType CicmMetadata => null; /// @@ -33,7 +33,7 @@ public class GameBoyAdvance : IByteAddressableImage /// public ImageInfo Info => _imageInfo; /// - public string Name => "Nintendo Game Boy Advance"; + public string Name => Localization.GameBoyAdvance_Name; /// public bool Identify(IFilter imageFilter) @@ -95,14 +95,14 @@ public class GameBoyAdvance : IByteAddressableImage var sb = new StringBuilder(); - sb.AppendFormat("Name: {0}", _imageInfo.MediaTitle).AppendLine(); + sb.AppendFormat(Localization.Name_0, _imageInfo.MediaTitle).AppendLine(); - sb.AppendFormat("Device type: {0}", header.DeviceType).AppendLine(); - sb.AppendFormat("Console type: {0}", header.UnitCode).AppendLine(); - sb.AppendFormat("Product code: AGB-{0}", StringHandlers.CToString(header.Code)).AppendLine(); - sb.AppendFormat("Maker code: {0}", StringHandlers.CToString(header.Maker)).AppendLine(); - sb.AppendFormat("Revision: {0}", header.Revision).AppendLine(); - sb.AppendFormat("Header checksum: 0x{0:X2}", header.ComplementCheck).AppendLine(); + sb.AppendFormat(Localization.Device_type_0, header.DeviceType).AppendLine(); + sb.AppendFormat(Localization.Console_type_0, header.UnitCode).AppendLine(); + sb.AppendFormat(Localization.Product_code_AGB_0, StringHandlers.CToString(header.Code)).AppendLine(); + sb.AppendFormat(Localization.Maker_code_0, StringHandlers.CToString(header.Maker)).AppendLine(); + sb.AppendFormat(Localization.Revision_0, header.Revision).AppendLine(); + sb.AppendFormat(Localization.Header_checksum_0, header.ComplementCheck).AppendLine(); _imageInfo.Comments = sb.ToString(); _opened = true; @@ -141,14 +141,14 @@ public class GameBoyAdvance : IByteAddressableImage { if(!_opened) { - ErrorMessage = "Not image has been opened."; + ErrorMessage = Localization.No_image_has_been_opened; return false; } if(!IsWriting) { - ErrorMessage = "Image is not opened for writing."; + ErrorMessage = Localization.Image_is_not_opened_for_writing; return false; } @@ -180,14 +180,14 @@ public class GameBoyAdvance : IByteAddressableImage { if(_opened) { - ErrorMessage = "Cannot create an opened image"; + ErrorMessage = Localization.Cannot_create_an_opened_image; return ErrorNumber.InvalidArgument; } if(mediaType != MediaType.GameBoyAdvanceGamePak) { - ErrorMessage = $"Unsupported media format {mediaType}"; + ErrorMessage = string.Format(Localization.Unsupported_media_format_0, mediaType); return ErrorNumber.NotSupported; } @@ -204,7 +204,7 @@ public class GameBoyAdvance : IByteAddressableImage } catch(IOException e) { - ErrorMessage = $"Could not create new image file, exception {e.Message}"; + ErrorMessage = string.Format(Localization.Could_not_create_new_image_file_exception_0, e.Message); return ErrorNumber.InOutError; } @@ -224,7 +224,7 @@ public class GameBoyAdvance : IByteAddressableImage if(!_opened) { - ErrorMessage = "Not image has been opened."; + ErrorMessage = Localization.No_image_has_been_opened; return ErrorNumber.NotOpened; } @@ -258,14 +258,14 @@ public class GameBoyAdvance : IByteAddressableImage if(!_opened) { - ErrorMessage = "Not image has been opened."; + ErrorMessage = Localization.No_image_has_been_opened; return ErrorNumber.NotOpened; } if(position >= _data.Length) { - ErrorMessage = "The requested position is out of range."; + ErrorMessage = Localization.The_requested_position_is_out_of_range; return ErrorNumber.OutOfRange; } @@ -290,21 +290,21 @@ public class GameBoyAdvance : IByteAddressableImage if(!_opened) { - ErrorMessage = "Not image has been opened."; + ErrorMessage = Localization.No_image_has_been_opened; return ErrorNumber.NotOpened; } if(position >= _data.Length) { - ErrorMessage = "The requested position is out of range."; + ErrorMessage = Localization.The_requested_position_is_out_of_range; return ErrorNumber.OutOfRange; } if(buffer is null) { - ErrorMessage = "Buffer must not be null."; + ErrorMessage = Localization.Buffer_must_not_be_null; return ErrorNumber.InvalidArgument; } @@ -330,14 +330,14 @@ public class GameBoyAdvance : IByteAddressableImage { if(!_opened) { - ErrorMessage = "Not image has been opened."; + ErrorMessage = Localization.No_image_has_been_opened; return ErrorNumber.NotOpened; } if(!IsWriting) { - ErrorMessage = "Image is not opened for writing."; + ErrorMessage = Localization.Image_is_not_opened_for_writing; return ErrorNumber.ReadOnly; } @@ -372,21 +372,21 @@ public class GameBoyAdvance : IByteAddressableImage { if(!_opened) { - ErrorMessage = "Not image has been opened."; + ErrorMessage = Localization.No_image_has_been_opened; return ErrorNumber.NotOpened; } if(!IsWriting) { - ErrorMessage = "Image is not opened for writing."; + ErrorMessage = Localization.Image_is_not_opened_for_writing; return ErrorNumber.ReadOnly; } if(position >= _data.Length) { - ErrorMessage = "The requested position is out of range."; + ErrorMessage = Localization.The_requested_position_is_out_of_range; return ErrorNumber.OutOfRange; } @@ -412,28 +412,28 @@ public class GameBoyAdvance : IByteAddressableImage if(!_opened) { - ErrorMessage = "Not image has been opened."; + ErrorMessage = Localization.No_image_has_been_opened; return ErrorNumber.NotOpened; } if(!IsWriting) { - ErrorMessage = "Image is not opened for writing."; + ErrorMessage = Localization.Image_is_not_opened_for_writing; return ErrorNumber.ReadOnly; } if(position >= _data.Length) { - ErrorMessage = "The requested position is out of range."; + ErrorMessage = Localization.The_requested_position_is_out_of_range; return ErrorNumber.OutOfRange; } if(buffer is null) { - ErrorMessage = "Buffer must not be null."; + ErrorMessage = Localization.Buffer_must_not_be_null; return ErrorNumber.InvalidArgument; } diff --git a/Aaru.Images/ByteAddressable/MasterSystem.cs b/Aaru.Images/ByteAddressable/MasterSystem.cs index c24ff68fb..7be39a00c 100644 --- a/Aaru.Images/ByteAddressable/MasterSystem.cs +++ b/Aaru.Images/ByteAddressable/MasterSystem.cs @@ -23,7 +23,7 @@ public class MasterSystem : IByteAddressableImage bool _opened; int _romSize; /// - public string Author => "Natalia Portillo"; + public string Author => Authors.NataliaPortillo; /// public CICMMetadataType CicmMetadata => null; /// @@ -35,7 +35,7 @@ public class MasterSystem : IByteAddressableImage /// public ImageInfo Info => _imageInfo; /// - public string Name => "Sega Game Gear / Master System"; + public string Name => Localization.MasterSystem_Name; /// public bool Identify(IFilter imageFilter) @@ -139,7 +139,7 @@ public class MasterSystem : IByteAddressableImage ((header.ProductCode[1] & 0xF) * 100) + ((header.ProductCode[1] & 0xF0) * 1000) + (((header.VersionAndProduct & 0xF0) >> 4) * 10000); - sb.AppendFormat("Product code: {0}", productCode).AppendLine(); + sb.AppendFormat(Localization.Product_code_0, productCode).AppendLine(); int regionCode = (header.SizeAndRegion & 0xF0) >> 4; string region; @@ -148,36 +148,36 @@ public class MasterSystem : IByteAddressableImage switch(regionCode) { case 3: - region = "Japan"; - cartType = "Master System"; + region = Localization.Japan; + cartType = Localization.Master_System; break; case 4: - region = "Export"; - cartType = "Master System"; + region = Localization.Export; + cartType = Localization.Master_System; break; case 5: - region = "Japan"; - cartType = "Game Gear"; + region = Localization.Japan; + cartType = Localization.Game_Gear; _gameGear = true; break; case 6: - region = "Export"; - cartType = "Game Gear"; + region = Localization.Export; + cartType = Localization.Game_Gear; _gameGear = true; break; case 7: - region = "International"; - cartType = "Game Gear"; + region = Localization.International; + cartType = Localization.Game_Gear; _gameGear = true; break; default: - region = "Unknown"; - cartType = "Unknown"; + region = Localization.Unknown_region; + cartType = Localization.Unknown_cartridge_type; break; } @@ -200,11 +200,11 @@ public class MasterSystem : IByteAddressableImage _ => 0 }; - sb.AppendFormat("Region: {0}", region).AppendLine(); - sb.AppendFormat("Cartridge type: {0}", cartType).AppendLine(); - sb.AppendFormat("ROM size: {0} bytes", _romSize).AppendLine(); - sb.AppendFormat("Revision: {0}", header.VersionAndProduct & 0xF).AppendLine(); - sb.AppendFormat("Checksum: 0x{0:X4}", header.Checksum).AppendLine(); + sb.AppendFormat(Localization.Region_0, region).AppendLine(); + sb.AppendFormat(Localization.Cartridge_type_0, cartType).AppendLine(); + sb.AppendFormat(Localization.ROM_size_0_bytes, _romSize).AppendLine(); + sb.AppendFormat(Localization.Revision_0, header.VersionAndProduct & 0xF).AppendLine(); + sb.AppendFormat(Localization.Checksum_0_X4, header.Checksum).AppendLine(); _imageInfo.Comments = sb.ToString(); _opened = true; @@ -243,14 +243,14 @@ public class MasterSystem : IByteAddressableImage { if(!_opened) { - ErrorMessage = "Not image has been opened."; + ErrorMessage = Localization.No_image_has_been_opened; return false; } if(!IsWriting) { - ErrorMessage = "Image is not opened for writing."; + ErrorMessage = Localization.Image_is_not_opened_for_writing; return false; } @@ -282,14 +282,14 @@ public class MasterSystem : IByteAddressableImage { if(_opened) { - ErrorMessage = "Cannot create an opened image"; + ErrorMessage = Localization.Cannot_create_an_opened_image; return ErrorNumber.InvalidArgument; } if(mediaType != MediaType.MasterSystemCartridge) { - ErrorMessage = $"Unsupported media format {mediaType}"; + ErrorMessage = string.Format(Localization.Unsupported_media_format_0, mediaType); return ErrorNumber.NotSupported; } @@ -306,7 +306,7 @@ public class MasterSystem : IByteAddressableImage } catch(IOException e) { - ErrorMessage = $"Could not create new image file, exception {e.Message}"; + ErrorMessage = string.Format(Localization.Could_not_create_new_image_file_exception_0, e.Message); return ErrorNumber.InOutError; } @@ -326,7 +326,7 @@ public class MasterSystem : IByteAddressableImage if(!_opened) { - ErrorMessage = "Not image has been opened."; + ErrorMessage = Localization.No_image_has_been_opened; return ErrorNumber.NotOpened; } @@ -360,14 +360,14 @@ public class MasterSystem : IByteAddressableImage if(!_opened) { - ErrorMessage = "Not image has been opened."; + ErrorMessage = Localization.No_image_has_been_opened; return ErrorNumber.NotOpened; } if(position >= _data.Length) { - ErrorMessage = "The requested position is out of range."; + ErrorMessage = Localization.The_requested_position_is_out_of_range; return ErrorNumber.OutOfRange; } @@ -392,21 +392,21 @@ public class MasterSystem : IByteAddressableImage if(!_opened) { - ErrorMessage = "Not image has been opened."; + ErrorMessage = Localization.No_image_has_been_opened; return ErrorNumber.NotOpened; } if(position >= _data.Length) { - ErrorMessage = "The requested position is out of range."; + ErrorMessage = Localization.The_requested_position_is_out_of_range; return ErrorNumber.OutOfRange; } if(buffer is null) { - ErrorMessage = "Buffer must not be null."; + ErrorMessage = Localization.Buffer_must_not_be_null; return ErrorNumber.InvalidArgument; } @@ -432,14 +432,14 @@ public class MasterSystem : IByteAddressableImage { if(!_opened) { - ErrorMessage = "Not image has been opened."; + ErrorMessage = Localization.No_image_has_been_opened; return ErrorNumber.NotOpened; } if(!IsWriting) { - ErrorMessage = "Image is not opened for writing."; + ErrorMessage = Localization.Image_is_not_opened_for_writing; return ErrorNumber.ReadOnly; } @@ -469,21 +469,21 @@ public class MasterSystem : IByteAddressableImage { if(!_opened) { - ErrorMessage = "Not image has been opened."; + ErrorMessage = Localization.No_image_has_been_opened; return ErrorNumber.NotOpened; } if(!IsWriting) { - ErrorMessage = "Image is not opened for writing."; + ErrorMessage = Localization.Image_is_not_opened_for_writing; return ErrorNumber.ReadOnly; } if(position >= _data.Length) { - ErrorMessage = "The requested position is out of range."; + ErrorMessage = Localization.The_requested_position_is_out_of_range; return ErrorNumber.OutOfRange; } @@ -509,28 +509,28 @@ public class MasterSystem : IByteAddressableImage if(!_opened) { - ErrorMessage = "Not image has been opened."; + ErrorMessage = Localization.No_image_has_been_opened; return ErrorNumber.NotOpened; } if(!IsWriting) { - ErrorMessage = "Image is not opened for writing."; + ErrorMessage = Localization.Image_is_not_opened_for_writing; return ErrorNumber.ReadOnly; } if(position >= _data.Length) { - ErrorMessage = "The requested position is out of range."; + ErrorMessage = Localization.The_requested_position_is_out_of_range; return ErrorNumber.OutOfRange; } if(buffer is null) { - ErrorMessage = "Buffer must not be null."; + ErrorMessage = Localization.Buffer_must_not_be_null; return ErrorNumber.InvalidArgument; } diff --git a/Aaru.Images/ByteAddressable/NES.cs b/Aaru.Images/ByteAddressable/NES.cs index fc81cabd2..567f1278b 100644 --- a/Aaru.Images/ByteAddressable/NES.cs +++ b/Aaru.Images/ByteAddressable/NES.cs @@ -36,7 +36,7 @@ public class Nes : IByteAddressableImage byte _submapper; bool _trainer; /// - public string Author => "Natalia Portillo"; + public string Author => Authors.NataliaPortillo; /// public CICMMetadataType CicmMetadata => null; /// @@ -48,7 +48,7 @@ public class Nes : IByteAddressableImage /// public ImageInfo Info => _imageInfo; /// - public string Name => "iNES"; + public string Name => Localization.Nes_Name; /// public bool Identify(IFilter imageFilter) @@ -178,32 +178,32 @@ public class Nes : IByteAddressableImage StringBuilder sb = new(); - sb.AppendFormat("PRG ROM size: {0} bytes", _prgLen).AppendLine(); - sb.AppendFormat("CHR ROM size: {0} bytes", _chrLen).AppendLine(); - sb.AppendFormat("Trainer size: {0} bytes", trainerLen).AppendLine(); - sb.AppendFormat("Mapper: {0}", _nesHeaderInfo.Mapper).AppendLine(); + sb.AppendFormat(Localization.PRG_ROM_size_0_bytes, _prgLen).AppendLine(); + sb.AppendFormat(Localization.CHR_ROM_size_0_bytes, _chrLen).AppendLine(); + sb.AppendFormat(Localization.Trainer_size_0_bytes, trainerLen).AppendLine(); + sb.AppendFormat(Localization.Mapper_0, _nesHeaderInfo.Mapper).AppendLine(); if(_nesHeaderInfo.BatteryPresent) - sb.AppendLine("Has battery backed RAM"); + sb.AppendLine(Localization.Has_battery_backed_RAM); if(_nesHeaderInfo.FourScreenMode) - sb.AppendLine("Uses four-screen VRAM"); + sb.AppendLine(Localization.Uses_four_screen_VRAM); else if(_nesHeaderInfo.NametableMirroring) - sb.AppendLine("Uses vertical mirroring"); + sb.AppendLine(Localization.Uses_vertical_mirroring); else - sb.AppendLine("Uses horizontal mirroring"); + sb.AppendLine(Localization.Uses_horizontal_mirroring); switch(_nesHeaderInfo.ConsoleType) { // TODO: Proper media types case NesConsoleType.Vs: - sb.AppendLine("VS Unisystem game"); + sb.AppendLine(Localization.VS_Unisystem_game); break; case NesConsoleType.Playchoice: - sb.AppendLine("PlayChoice-10 game"); - sb.AppendFormat("INST-ROM size: {0} bytes", _instRomLen & 0xF).AppendLine(); - sb.AppendFormat("PROM size: 0x{0} bytes", _promLen).AppendLine(); + sb.AppendLine(Localization.PlayChoice_10_game); + sb.AppendFormat(Localization.INST_ROM_size_0_bytes, _instRomLen & 0xF).AppendLine(); + sb.AppendFormat(Localization.PROM_size_0_bytes, _promLen).AppendLine(); break; @@ -212,40 +212,40 @@ public class Nes : IByteAddressableImage switch(_nesHeaderInfo.ExtendedConsoleType) { case NesExtendedConsoleType.Vs: - sb.AppendLine("VS Unisystem game"); + sb.AppendLine(Localization.VS_Unisystem_game); break; case NesExtendedConsoleType.Normal: break; case NesExtendedConsoleType.Playchoice: - sb.AppendLine("PlayChoice-10 game"); - sb.AppendFormat("INST-ROM size: {0} bytes", _instRomLen & 0xF).AppendLine(); - sb.AppendFormat("PROM size: 0x{0} bytes", _promLen).AppendLine(); + sb.AppendLine(Localization.PlayChoice_10_game); + sb.AppendFormat(Localization.INST_ROM_size_0_bytes, _instRomLen & 0xF).AppendLine(); + sb.AppendFormat(Localization.PROM_size_0_bytes, _promLen).AppendLine(); break; case NesExtendedConsoleType.VT01_Monochrome: case NesExtendedConsoleType.VT01: - sb.AppendLine("V.R. Technology VT01"); + sb.AppendLine(Localization.VR_Technology_VT01); break; case NesExtendedConsoleType.VT02: - sb.AppendLine("V.R. Technology VT02"); + sb.AppendLine(Localization.VR_Technology_VT02); break; case NesExtendedConsoleType.VT03: - sb.AppendLine("V.R. Technology VT03"); + sb.AppendLine(Localization.VR_Technology_VT03); break; case NesExtendedConsoleType.VT09: - sb.AppendLine("V.R. Technology VT09"); + sb.AppendLine(Localization.VR_Technology_VT09); break; case NesExtendedConsoleType.VT32: - sb.AppendLine("V.R. Technology VT32"); + sb.AppendLine(Localization.VR_Technology_VT32); break; case NesExtendedConsoleType.VT369: - sb.AppendLine("V.R. Technology VT369"); + sb.AppendLine(Localization.VR_Technology_VT369); break; } @@ -291,14 +291,14 @@ public class Nes : IByteAddressableImage { if(!_opened) { - ErrorMessage = "Not image has been opened."; + ErrorMessage = Localization.No_image_has_been_opened; return false; } if(!IsWriting) { - ErrorMessage = "Image is not opened for writing."; + ErrorMessage = Localization.Image_is_not_opened_for_writing; return false; } @@ -406,7 +406,7 @@ public class Nes : IByteAddressableImage { if(_opened) { - ErrorMessage = "Cannot create an opened image"; + ErrorMessage = Localization.Cannot_create_an_opened_image; return ErrorNumber.InvalidArgument; } @@ -414,7 +414,7 @@ public class Nes : IByteAddressableImage if(mediaType != MediaType.FamicomGamePak && mediaType != MediaType.NESGamePak) { - ErrorMessage = $"Unsupported media format {mediaType}"; + ErrorMessage = string.Format(Localization.Unsupported_media_format_0, mediaType); return ErrorNumber.NotSupported; } @@ -431,7 +431,7 @@ public class Nes : IByteAddressableImage } catch(IOException e) { - ErrorMessage = $"Could not create new image file, exception {e.Message}"; + ErrorMessage = string.Format(Localization.Could_not_create_new_image_file_exception_0, e.Message); return ErrorNumber.InOutError; } @@ -452,7 +452,7 @@ public class Nes : IByteAddressableImage if(!_opened) { - ErrorMessage = "Not image has been opened."; + ErrorMessage = Localization.No_image_has_been_opened; return ErrorNumber.NotOpened; } @@ -579,14 +579,14 @@ public class Nes : IByteAddressableImage if(!_opened) { - ErrorMessage = "Not image has been opened."; + ErrorMessage = Localization.No_image_has_been_opened; return ErrorNumber.NotOpened; } if(position >= _data.Length) { - ErrorMessage = "The requested position is out of range."; + ErrorMessage = Localization.The_requested_position_is_out_of_range; return ErrorNumber.OutOfRange; } @@ -611,21 +611,21 @@ public class Nes : IByteAddressableImage if(!_opened) { - ErrorMessage = "Not image has been opened."; + ErrorMessage = Localization.No_image_has_been_opened; return ErrorNumber.NotOpened; } if(position >= _data.Length) { - ErrorMessage = "The requested position is out of range."; + ErrorMessage = Localization.The_requested_position_is_out_of_range; return ErrorNumber.OutOfRange; } if(buffer is null) { - ErrorMessage = "Buffer must not be null."; + ErrorMessage = Localization.Buffer_must_not_be_null; return ErrorNumber.InvalidArgument; } @@ -651,14 +651,14 @@ public class Nes : IByteAddressableImage { if(!_opened) { - ErrorMessage = "Not image has been opened."; + ErrorMessage = Localization.No_image_has_been_opened; return ErrorNumber.NotOpened; } if(!IsWriting) { - ErrorMessage = "Image is not opened for writing."; + ErrorMessage = Localization.Image_is_not_opened_for_writing; return ErrorNumber.ReadOnly; } @@ -771,21 +771,21 @@ public class Nes : IByteAddressableImage { if(!_opened) { - ErrorMessage = "Not image has been opened."; + ErrorMessage = Localization.No_image_has_been_opened; return ErrorNumber.NotOpened; } if(!IsWriting) { - ErrorMessage = "Image is not opened for writing."; + ErrorMessage = Localization.Image_is_not_opened_for_writing; return ErrorNumber.ReadOnly; } if(position >= _data.Length) { - ErrorMessage = "The requested position is out of range."; + ErrorMessage = Localization.The_requested_position_is_out_of_range; return ErrorNumber.OutOfRange; } @@ -811,28 +811,28 @@ public class Nes : IByteAddressableImage if(!_opened) { - ErrorMessage = "Not image has been opened."; + ErrorMessage = Localization.No_image_has_been_opened; return ErrorNumber.NotOpened; } if(!IsWriting) { - ErrorMessage = "Image is not opened for writing."; + ErrorMessage = Localization.Image_is_not_opened_for_writing; return ErrorNumber.ReadOnly; } if(position >= _data.Length) { - ErrorMessage = "The requested position is out of range."; + ErrorMessage = Localization.The_requested_position_is_out_of_range; return ErrorNumber.OutOfRange; } if(buffer is null) { - ErrorMessage = "Buffer must not be null."; + ErrorMessage = Localization.Buffer_must_not_be_null; return ErrorNumber.InvalidArgument; } diff --git a/Aaru.Images/ByteAddressable/Nintendo64.cs b/Aaru.Images/ByteAddressable/Nintendo64.cs index d71dc8f4c..65bf1d29b 100644 --- a/Aaru.Images/ByteAddressable/Nintendo64.cs +++ b/Aaru.Images/ByteAddressable/Nintendo64.cs @@ -57,7 +57,7 @@ public class Nintendo64 : IByteAddressableImage bool _littleEndian; bool _opened; /// - public string Author => "Natalia Portillo"; + public string Author => Authors.NataliaPortillo; /// public CICMMetadataType CicmMetadata => null; /// @@ -73,7 +73,7 @@ public class Nintendo64 : IByteAddressableImage /// public ImageInfo Info => _imageInfo; /// - public string Name => "Nintendo 64"; + public string Name => Localization.Nintendo64_Name; /// public bool Identify(IFilter imageFilter) @@ -212,13 +212,13 @@ public class Nintendo64 : IByteAddressableImage var sb = new StringBuilder(); - sb.AppendFormat("Name: {0}", _imageInfo.MediaTitle).AppendLine(); - sb.AppendFormat("Region: {0}", DecodeCountryCode(header.CountryCode)).AppendLine(); - sb.AppendFormat("Cartridge ID: {0}", _imageInfo.MediaPartNumber).AppendLine(); - sb.AppendFormat("Cartridge type: {0}", (char)header.CartridgeType).AppendLine(); - sb.AppendFormat("Version: {0}.{1}", (header.Version / 10) + 1, header.Version % 10).AppendLine(); - sb.AppendFormat("CRC1: 0x{0:X8}", header.Crc1).AppendLine(); - sb.AppendFormat("CRC2: 0x{0:X8}", header.Crc2).AppendLine(); + sb.AppendFormat(Localization.Name_0, _imageInfo.MediaTitle).AppendLine(); + sb.AppendFormat(Localization.Region_0, DecodeCountryCode(header.CountryCode)).AppendLine(); + sb.AppendFormat(Localization.Cartridge_ID_0, _imageInfo.MediaPartNumber).AppendLine(); + sb.AppendFormat(Localization.Cartridge_type_0, (char)header.CartridgeType).AppendLine(); + sb.AppendFormat(Localization.Version_0_1, (header.Version / 10) + 1, header.Version % 10).AppendLine(); + sb.AppendFormat(Localization.CRC1_0, header.Crc1).AppendLine(); + sb.AppendFormat(Localization.CRC2_0, header.Crc2).AppendLine(); _imageInfo.Comments = sb.ToString(); _opened = true; @@ -234,14 +234,14 @@ public class Nintendo64 : IByteAddressableImage { if(_opened) { - ErrorMessage = "Cannot create an opened image"; + ErrorMessage = Localization.Cannot_create_an_opened_image; return ErrorNumber.InvalidArgument; } if(mediaType != MediaType.N64GamePak) { - ErrorMessage = $"Unsupported media format {mediaType}"; + ErrorMessage = string.Format(Localization.Unsupported_media_format_0, mediaType); return ErrorNumber.NotSupported; } @@ -263,7 +263,7 @@ public class Nintendo64 : IByteAddressableImage } catch(IOException e) { - ErrorMessage = $"Could not create new image file, exception {e.Message}"; + ErrorMessage = string.Format(Localization.Could_not_create_new_image_file_exception_0, e.Message); return ErrorNumber.InOutError; } @@ -284,7 +284,7 @@ public class Nintendo64 : IByteAddressableImage if(!_opened) { - ErrorMessage = "Not image has been opened."; + ErrorMessage = Localization.No_image_has_been_opened; return ErrorNumber.NotOpened; } @@ -585,14 +585,14 @@ public class Nintendo64 : IByteAddressableImage if(!_opened) { - ErrorMessage = "Not image has been opened."; + ErrorMessage = Localization.No_image_has_been_opened; return ErrorNumber.NotOpened; } if(position >= _data.Length) { - ErrorMessage = "The requested position is out of range."; + ErrorMessage = Localization.The_requested_position_is_out_of_range; return ErrorNumber.OutOfRange; } @@ -617,21 +617,21 @@ public class Nintendo64 : IByteAddressableImage if(!_opened) { - ErrorMessage = "Not image has been opened."; + ErrorMessage = Localization.No_image_has_been_opened; return ErrorNumber.NotOpened; } if(position >= _data.Length) { - ErrorMessage = "The requested position is out of range."; + ErrorMessage = Localization.The_requested_position_is_out_of_range; return ErrorNumber.OutOfRange; } if(buffer is null) { - ErrorMessage = "Buffer must not be null."; + ErrorMessage = Localization.Buffer_must_not_be_null; return ErrorNumber.InvalidArgument; } @@ -657,14 +657,14 @@ public class Nintendo64 : IByteAddressableImage { if(!_opened) { - ErrorMessage = "Not image has been opened."; + ErrorMessage = Localization.No_image_has_been_opened; return ErrorNumber.NotOpened; } if(!IsWriting) { - ErrorMessage = "Image is not opened for writing."; + ErrorMessage = Localization.Image_is_not_opened_for_writing; return ErrorNumber.ReadOnly; } @@ -701,21 +701,21 @@ public class Nintendo64 : IByteAddressableImage { if(!_opened) { - ErrorMessage = "Not image has been opened."; + ErrorMessage = Localization.No_image_has_been_opened; return ErrorNumber.NotOpened; } if(!IsWriting) { - ErrorMessage = "Image is not opened for writing."; + ErrorMessage = Localization.Image_is_not_opened_for_writing; return ErrorNumber.ReadOnly; } if(position >= _data.Length) { - ErrorMessage = "The requested position is out of range."; + ErrorMessage = Localization.The_requested_position_is_out_of_range; return ErrorNumber.OutOfRange; } @@ -741,28 +741,28 @@ public class Nintendo64 : IByteAddressableImage if(!_opened) { - ErrorMessage = "Not image has been opened."; + ErrorMessage = Localization.No_image_has_been_opened; return ErrorNumber.NotOpened; } if(!IsWriting) { - ErrorMessage = "Image is not opened for writing."; + ErrorMessage = Localization.Image_is_not_opened_for_writing; return ErrorNumber.ReadOnly; } if(position >= _data.Length) { - ErrorMessage = "The requested position is out of range."; + ErrorMessage = Localization.The_requested_position_is_out_of_range; return ErrorNumber.OutOfRange; } if(buffer is null) { - ErrorMessage = "Buffer must not be null."; + ErrorMessage = Localization.Buffer_must_not_be_null; return ErrorNumber.InvalidArgument; } @@ -814,14 +814,14 @@ public class Nintendo64 : IByteAddressableImage { if(!_opened) { - ErrorMessage = "Not image has been opened."; + ErrorMessage = Localization.No_image_has_been_opened; return false; } if(!IsWriting) { - ErrorMessage = "Image is not opened for writing."; + ErrorMessage = Localization.Image_is_not_opened_for_writing; return false; } @@ -860,27 +860,27 @@ public class Nintendo64 : IByteAddressableImage static string DecodeCountryCode(byte countryCode) => countryCode switch { - 0x37 => "Beta", - 0x41 => "Asia (NTSC)", - 0x42 => "Brazil", - 0x43 => "China", - 0x44 => "Germany", - 0x45 => "North America", - 0x46 => "France", - 0x47 => "Gateway 64 (NTSC)", - 0x48 => "Netherlands", - 0x49 => "Italy", - 0x4A => "Japan", - 0x4B => "Korea", - 0x4C => "Gateway 64 (PAL)", - 0x4E => "Canada", - 0x50 => "Europe", - 0x53 => "Spain", - 0x55 => "Australia", - 0x57 => "Scandinavia", - 0x58 => "Europe", - 0x59 => "Europe", - _ => "Unknown" + 0x37 => Localization.Beta, + 0x41 => Localization.Asia_NTSC, + 0x42 => Localization.Brazil, + 0x43 => Localization.China, + 0x44 => Localization.Germany, + 0x45 => Localization.North_America, + 0x46 => Localization.France, + 0x47 => Localization.Gateway_64_NTSC, + 0x48 => Localization.Netherlands, + 0x49 => Localization.Italy, + 0x4A => Localization.Japan, + 0x4B => Localization.Korea, + 0x4C => Localization.Gateway_64_PAL, + 0x4E => Localization.Canada, + 0x50 => Localization.Europe, + 0x53 => Localization.Spain, + 0x55 => Localization.Australia, + 0x57 => Localization.Scandinavia, + 0x58 => Localization.Europe, + 0x59 => Localization.Europe, + _ => Localization.Unknown_country }; [StructLayout(LayoutKind.Sequential, Pack = 1), SuppressMessage("ReSharper", "MemberCanBePrivate.Local")] diff --git a/Aaru.Images/ByteAddressable/SegaMegaDrive.cs b/Aaru.Images/ByteAddressable/SegaMegaDrive.cs index eb5912e16..ea327a016 100644 --- a/Aaru.Images/ByteAddressable/SegaMegaDrive.cs +++ b/Aaru.Images/ByteAddressable/SegaMegaDrive.cs @@ -58,7 +58,7 @@ public class SegaMegaDrive : IByteAddressableImage bool _smd; /// - public string Author => "Natalia Portillo"; + public string Author => Authors.NataliaPortillo; /// public CICMMetadataType CicmMetadata => null; /// @@ -76,7 +76,7 @@ public class SegaMegaDrive : IByteAddressableImage /// public ImageInfo Info => _imageInfo; /// - public string Name => "Sega Mega Drive / 32X / Pico"; + public string Name => Localization.SegaMegaDrive_Name; /// public bool Identify(IFilter imageFilter) @@ -244,83 +244,84 @@ public class SegaMegaDrive : IByteAddressableImage var sb = new StringBuilder(); - sb.AppendFormat("System type: {0}", StringHandlers.SpacePaddedToString(header.SystemType, encoding)). + sb.AppendFormat(Localization.System_type_0, StringHandlers.SpacePaddedToString(header.SystemType, encoding)). AppendLine(); - sb.AppendFormat("Copyright string: {0}", StringHandlers.SpacePaddedToString(header.Copyright, encoding)). - AppendLine(); + sb.AppendFormat(Localization.Copyright_string_0, + StringHandlers.SpacePaddedToString(header.Copyright, encoding)).AppendLine(); - sb.AppendFormat("Domestic title: {0}", StringHandlers.SpacePaddedToString(header.DomesticTitle, encoding)). - AppendLine(); + sb.AppendFormat(Localization.Domestic_title_0, + StringHandlers.SpacePaddedToString(header.DomesticTitle, encoding)).AppendLine(); - sb.AppendFormat("Overseas title: {0}", StringHandlers.SpacePaddedToString(header.OverseasTitle, encoding)). - AppendLine(); + sb.AppendFormat(Localization.Overseas_title_0, + StringHandlers.SpacePaddedToString(header.OverseasTitle, encoding)).AppendLine(); - sb.AppendFormat("Serial number: {0}", StringHandlers.SpacePaddedToString(header.SerialNumber, encoding)). - AppendLine(); + sb.AppendFormat(Localization.Serial_number_0, + StringHandlers.SpacePaddedToString(header.SerialNumber, encoding)).AppendLine(); - sb.AppendFormat("Checksum: 0x{0:X4}", header.Checksum).AppendLine(); + sb.AppendFormat(Localization.Checksum_0_X4, header.Checksum).AppendLine(); - sb.AppendFormat("Devices supported: {0}", StringHandlers.SpacePaddedToString(header.DeviceSupport, encoding)). - AppendLine(); + sb.AppendFormat(Localization.Devices_supported_0, + StringHandlers.SpacePaddedToString(header.DeviceSupport, encoding)).AppendLine(); - sb.AppendFormat("ROM starts at 0x{0:X8} and ends at 0x{1:X8} ({2} bytes)", header.RomStart, header.RomEnd, + sb.AppendFormat(Localization.ROM_starts_at_0_and_ends_at_1_2_bytes, header.RomStart, header.RomEnd, header.RomEnd - header.RomStart + 1).AppendLine(); - sb.AppendFormat("RAM starts at 0x{0:X8} and ends at 0x{1:X8} ({2} bytes)", header.RamStart, header.RamEnd, + sb.AppendFormat(Localization.RAM_starts_at_0_and_ends_at_1_2_bytes, header.RamStart, header.RamEnd, header.RamEnd - header.RamStart + 1).AppendLine(); if(header.ExtraRamPresent[0] == 0x52 && header.ExtraRamPresent[1] == 0x41) { - sb.AppendLine("Extra RAM present."); + sb.AppendLine(Localization.Extra_RAM_present); switch(header.ExtraRamType) { case 0xA0: - sb.AppendLine("Extra RAM uses 16-bit access."); + sb.AppendLine(Localization.Extra_RAM_uses_16_bit_access); break; case 0xB0: - sb.AppendLine("Extra RAM uses 8-bit access (even addresses)."); + sb.AppendLine(Localization.Extra_RAM_uses_8_bit_access_even_addresses); break; case 0xB8: - sb.AppendLine("Extra RAM uses 8-bit access (odd addresses)."); + sb.AppendLine(Localization.Extra_RAM_uses_8_bit_access_odd_addresses); break; case 0xE0: - sb.AppendLine("Extra RAM uses 16-bit access and persists when powered off."); + sb.AppendLine(Localization.Extra_RAM_uses_16_bit_access_and_persists_when_powered_off); break; case 0xF0: - sb.AppendLine("Extra RAM uses 8-bit access (even addresses) and persists when powered off."); + sb.AppendLine(Localization. + Extra_RAM_uses_8_bit_access_even_addresses_and_persists_when_powered_off); break; case 0xF8: - sb.AppendLine("Extra RAM uses 8-bit access (odd addresses) and persists when powered off."); + sb.AppendLine(Localization.Extra_RAM_uses_8_bit_access_odd_addresses_and_persists_when_powered_off); break; default: - sb.AppendFormat("Extra RAM is of unknown type 0x{0:X2}", header.ExtraRamType); + sb.AppendFormat(Localization.Extra_RAM_is_of_unknown_type_0, header.ExtraRamType); break; } - sb.AppendFormat("Extra RAM starts at 0x{0:X8} and ends at 0x{1:X8} ({2} bytes)", header.ExtraRamStart, + sb.AppendFormat(Localization.Extra_RAM_starts_at_0_and_ends_at_1_2_bytes, header.ExtraRamStart, header.ExtraRamEnd, (header.ExtraRamType & 0x10) == 0x10 ? (header.ExtraRamEnd - header.ExtraRamStart + 2) / 2 : header.ExtraRamEnd - header.ExtraRamStart + 1).AppendLine(); } else - sb.AppendLine("Extra RAM not present."); + sb.AppendLine(Localization.Extra_RAM_not_present); string modemSupport = StringHandlers.SpacePaddedToString(header.ModemSupport, encoding); if(!string.IsNullOrWhiteSpace(modemSupport)) - sb.AppendFormat("Modem support: {0}", modemSupport).AppendLine(); + sb.AppendFormat(Localization.Modem_support_0, modemSupport).AppendLine(); - sb.AppendFormat("Region support: {0}", StringHandlers.SpacePaddedToString(header.Region, encoding)). + sb.AppendFormat(Localization.Region_support_0, StringHandlers.SpacePaddedToString(header.Region, encoding)). AppendLine(); _imageInfo.ImageSize = (ulong)stream.Length; @@ -376,14 +377,14 @@ public class SegaMegaDrive : IByteAddressableImage { if(!_opened) { - ErrorMessage = "Not image has been opened."; + ErrorMessage = Localization.No_image_has_been_opened; return false; } if(!IsWriting) { - ErrorMessage = "Image is not opened for writing."; + ErrorMessage = Localization.Image_is_not_opened_for_writing; return false; } @@ -464,7 +465,7 @@ public class SegaMegaDrive : IByteAddressableImage { if(_opened) { - ErrorMessage = "Cannot create an opened image"; + ErrorMessage = Localization.Cannot_create_an_opened_image; return ErrorNumber.InvalidArgument; } @@ -473,7 +474,7 @@ public class SegaMegaDrive : IByteAddressableImage mediaType != MediaType.MegaDriveCartridge && mediaType != MediaType.SegaPicoCartridge) { - ErrorMessage = $"Unsupported media format {mediaType}"; + ErrorMessage = string.Format(Localization.Unsupported_media_format_0, mediaType); return ErrorNumber.NotSupported; } @@ -498,7 +499,7 @@ public class SegaMegaDrive : IByteAddressableImage } catch(IOException e) { - ErrorMessage = $"Could not create new image file, exception {e.Message}"; + ErrorMessage = string.Format(Localization.Could_not_create_new_image_file_exception_0, e.Message); return ErrorNumber.InOutError; } @@ -518,7 +519,7 @@ public class SegaMegaDrive : IByteAddressableImage if(!_opened) { - ErrorMessage = "Not image has been opened."; + ErrorMessage = Localization.No_image_has_been_opened; return ErrorNumber.NotOpened; } @@ -638,14 +639,14 @@ public class SegaMegaDrive : IByteAddressableImage if(!_opened) { - ErrorMessage = "Not image has been opened."; + ErrorMessage = Localization.No_image_has_been_opened; return ErrorNumber.NotOpened; } if(position >= _data.Length) { - ErrorMessage = "The requested position is out of range."; + ErrorMessage = Localization.The_requested_position_is_out_of_range; return ErrorNumber.OutOfRange; } @@ -670,21 +671,21 @@ public class SegaMegaDrive : IByteAddressableImage if(!_opened) { - ErrorMessage = "Not image has been opened."; + ErrorMessage = Localization.No_image_has_been_opened; return ErrorNumber.NotOpened; } if(position >= _data.Length) { - ErrorMessage = "The requested position is out of range."; + ErrorMessage = Localization.The_requested_position_is_out_of_range; return ErrorNumber.OutOfRange; } if(buffer is null) { - ErrorMessage = "Buffer must not be null."; + ErrorMessage = Localization.Buffer_must_not_be_null; return ErrorNumber.InvalidArgument; } @@ -710,14 +711,14 @@ public class SegaMegaDrive : IByteAddressableImage { if(!_opened) { - ErrorMessage = "Not image has been opened."; + ErrorMessage = Localization.No_image_has_been_opened; return ErrorNumber.NotOpened; } if(!IsWriting) { - ErrorMessage = "Image is not opened for writing."; + ErrorMessage = Localization.Image_is_not_opened_for_writing; return ErrorNumber.ReadOnly; } @@ -752,21 +753,21 @@ public class SegaMegaDrive : IByteAddressableImage { if(!_opened) { - ErrorMessage = "Not image has been opened."; + ErrorMessage = Localization.No_image_has_been_opened; return ErrorNumber.NotOpened; } if(!IsWriting) { - ErrorMessage = "Image is not opened for writing."; + ErrorMessage = Localization.Image_is_not_opened_for_writing; return ErrorNumber.ReadOnly; } if(position >= _data.Length) { - ErrorMessage = "The requested position is out of range."; + ErrorMessage = Localization.The_requested_position_is_out_of_range; return ErrorNumber.OutOfRange; } @@ -792,28 +793,28 @@ public class SegaMegaDrive : IByteAddressableImage if(!_opened) { - ErrorMessage = "Not image has been opened."; + ErrorMessage = Localization.No_image_has_been_opened; return ErrorNumber.NotOpened; } if(!IsWriting) { - ErrorMessage = "Image is not opened for writing."; + ErrorMessage = Localization.Image_is_not_opened_for_writing; return ErrorNumber.ReadOnly; } if(position >= _data.Length) { - ErrorMessage = "The requested position is out of range."; + ErrorMessage = Localization.The_requested_position_is_out_of_range; return ErrorNumber.OutOfRange; } if(buffer is null) { - ErrorMessage = "Buffer must not be null."; + ErrorMessage = Localization.Buffer_must_not_be_null; return ErrorNumber.InvalidArgument; } diff --git a/Aaru.Images/ByteAddressable/SuperNintendo.cs b/Aaru.Images/ByteAddressable/SuperNintendo.cs index d1f1acc73..1f62a6969 100644 --- a/Aaru.Images/ByteAddressable/SuperNintendo.cs +++ b/Aaru.Images/ByteAddressable/SuperNintendo.cs @@ -24,7 +24,7 @@ public class SuperNintendo : IByteAddressableImage /// public ImageInfo Info => _imageInfo; /// - public string Name => "Super Nintendo"; + public string Name => Localization.SuperNintendo_Name; /// public bool Identify(IFilter imageFilter) @@ -190,40 +190,41 @@ public class SuperNintendo : IByteAddressableImage var sb = new StringBuilder(); - sb.AppendFormat("Name: {0}", _imageInfo.MediaTitle).AppendLine(); - sb.AppendFormat("Manufacturer: {0}", _imageInfo.MediaManufacturer).AppendLine(); - sb.AppendFormat("Region: {0}", DecodeRegion(_header.Region)).AppendLine(); + sb.AppendFormat(Localization.Name_0, _imageInfo.MediaTitle).AppendLine(); + sb.AppendFormat(Localization.Manufacturer_0, _imageInfo.MediaManufacturer).AppendLine(); + sb.AppendFormat(Localization.Region_0, DecodeRegion(_header.Region)).AppendLine(); if(_header.OldMakerCode == 0x33) - sb.AppendFormat("Game code: {0}", _header.GameCode).AppendLine(); + sb.AppendFormat(Localization.Game_code_0, _header.GameCode).AppendLine(); - sb.AppendFormat("Revision: {0}", _header.Revision).AppendLine(); + sb.AppendFormat(Localization.Revision_0, _header.Revision).AppendLine(); if(_header.OldMakerCode == 0x33) - sb.AppendFormat("Special revision: {0}", _header.SpecialVersion).AppendLine(); + sb.AppendFormat(Localization.Special_revision_0, _header.SpecialVersion).AppendLine(); - sb.AppendFormat("Header checksum: 0x{0:X4}", _header.Checksum).AppendLine(); - sb.AppendFormat("Header checksum complement: 0x{0:X4}", _header.ChecksumComplement).AppendLine(); + sb.AppendFormat(Localization.Header_checksum_0_X4, _header.Checksum).AppendLine(); + sb.AppendFormat(Localization.Header_checksum_complement_0, _header.ChecksumComplement).AppendLine(); - sb.AppendFormat("ROM size: {0} bytes", (1 << _header.RomSize) * 1024).AppendLine(); + sb.AppendFormat(Localization.ROM_size_0_bytes, (1 << _header.RomSize) * 1024).AppendLine(); if(_header.RamSize > 0) - sb.AppendFormat("RAM size: {0} bytes", (1 << _header.RamSize) * 1024).AppendLine(); + sb.AppendFormat(Localization.RAM_size_0_bytes, (1 << _header.RamSize) * 1024).AppendLine(); if(_header.OldMakerCode == 0x33) { if(_header.ExpansionFlashSize > 0) - sb.AppendFormat("Flash size: {0} bytes", (1 << _header.ExpansionFlashSize) * 1024).AppendLine(); + sb.AppendFormat(Localization.Flash_size_0_bytes, (1 << _header.ExpansionFlashSize) * 1024).AppendLine(); if(_header.ExpansionRamSize > 0) - sb.AppendFormat("Expansion RAM size: {0} bytes", (1 << _header.ExpansionRamSize) * 1024).AppendLine(); + sb.AppendFormat(Localization.Expansion_RAM_size_0_bytes, (1 << _header.ExpansionRamSize) * 1024). + AppendLine(); } - sb.AppendFormat("Cartridge type: {0}", DecodeCartType(_header.Mode)).AppendLine(); - sb.AppendFormat("ROM speed: {0}", DecodeRomSpeed(_header.Mode)).AppendLine(); - sb.AppendFormat("Bank size: {0} bytes", DecodeBankSize(_header.Mode)).AppendLine(); - sb.AppendFormat("Cartridge chip set: {0}", DecodeChipset(_header.Chipset)).AppendLine(); - sb.AppendFormat("Coprocessor: {0}", DecodeCoprocessor(_header.Chipset, _header.Subtype)).AppendLine(); + sb.AppendFormat(Localization.Cartridge_type_0, DecodeCartType(_header.Mode)).AppendLine(); + sb.AppendFormat(Localization.ROM_speed_0, DecodeRomSpeed(_header.Mode)).AppendLine(); + sb.AppendFormat(Localization.Bank_size_0_bytes, DecodeBankSize(_header.Mode)).AppendLine(); + sb.AppendFormat(Localization.Cartridge_chip_set_0, DecodeChipset(_header.Chipset)).AppendLine(); + sb.AppendFormat(Localization.Coprocessor_0, DecodeCoprocessor(_header.Chipset, _header.Subtype)).AppendLine(); _imageInfo.Comments = sb.ToString(); _opened = true; @@ -234,7 +235,7 @@ public class SuperNintendo : IByteAddressableImage /// public Guid Id => new("DF861EB0-8B9B-4E3F-BF39-9F2E75668F80"); /// - public string Author => "Natalia Portillo"; + public string Author => Authors.NataliaPortillo; /// public string Format => "Super Nintendo Cartridge Dump"; /// @@ -272,14 +273,14 @@ public class SuperNintendo : IByteAddressableImage { if(!_opened) { - ErrorMessage = "Not image has been opened."; + ErrorMessage = Localization.No_image_has_been_opened; return false; } if(!IsWriting) { - ErrorMessage = "Image is not opened for writing."; + ErrorMessage = Localization.Image_is_not_opened_for_writing; return false; } @@ -311,7 +312,7 @@ public class SuperNintendo : IByteAddressableImage { if(_opened) { - ErrorMessage = "Cannot create an opened image"; + ErrorMessage = Localization.Cannot_create_an_opened_image; return ErrorNumber.InvalidArgument; } @@ -319,7 +320,7 @@ public class SuperNintendo : IByteAddressableImage if(mediaType != MediaType.SNESGamePak && mediaType != MediaType.SNESGamePakUS) { - ErrorMessage = $"Unsupported media format {mediaType}"; + ErrorMessage = string.Format(Localization.Unsupported_media_format_0, mediaType); return ErrorNumber.NotSupported; } @@ -336,7 +337,7 @@ public class SuperNintendo : IByteAddressableImage } catch(IOException e) { - ErrorMessage = $"Could not create new image file, exception {e.Message}"; + ErrorMessage = string.Format(Localization.Could_not_create_new_image_file_exception_0, e.Message); return ErrorNumber.InOutError; } @@ -356,7 +357,7 @@ public class SuperNintendo : IByteAddressableImage if(!_opened) { - ErrorMessage = "Not image has been opened."; + ErrorMessage = Localization.No_image_has_been_opened; return ErrorNumber.NotOpened; } @@ -453,14 +454,14 @@ public class SuperNintendo : IByteAddressableImage if(!_opened) { - ErrorMessage = "Not image has been opened."; + ErrorMessage = Localization.No_image_has_been_opened; return ErrorNumber.NotOpened; } if(position >= _data.Length) { - ErrorMessage = "The requested position is out of range."; + ErrorMessage = Localization.The_requested_position_is_out_of_range; return ErrorNumber.OutOfRange; } @@ -485,21 +486,21 @@ public class SuperNintendo : IByteAddressableImage if(!_opened) { - ErrorMessage = "Not image has been opened."; + ErrorMessage = Localization.No_image_has_been_opened; return ErrorNumber.NotOpened; } if(position >= _data.Length) { - ErrorMessage = "The requested position is out of range."; + ErrorMessage = Localization.The_requested_position_is_out_of_range; return ErrorNumber.OutOfRange; } if(buffer is null) { - ErrorMessage = "Buffer must not be null."; + ErrorMessage = Localization.Buffer_must_not_be_null; return ErrorNumber.InvalidArgument; } @@ -525,14 +526,14 @@ public class SuperNintendo : IByteAddressableImage { if(!_opened) { - ErrorMessage = "Not image has been opened."; + ErrorMessage = Localization.No_image_has_been_opened; return ErrorNumber.NotOpened; } if(!IsWriting) { - ErrorMessage = "Image is not opened for writing."; + ErrorMessage = Localization.Image_is_not_opened_for_writing; return ErrorNumber.ReadOnly; } @@ -586,21 +587,21 @@ public class SuperNintendo : IByteAddressableImage { if(!_opened) { - ErrorMessage = "Not image has been opened."; + ErrorMessage = Localization.No_image_has_been_opened; return ErrorNumber.NotOpened; } if(!IsWriting) { - ErrorMessage = "Image is not opened for writing."; + ErrorMessage = Localization.Image_is_not_opened_for_writing; return ErrorNumber.ReadOnly; } if(position >= _data.Length) { - ErrorMessage = "The requested position is out of range."; + ErrorMessage = Localization.The_requested_position_is_out_of_range; return ErrorNumber.OutOfRange; } @@ -626,28 +627,28 @@ public class SuperNintendo : IByteAddressableImage if(!_opened) { - ErrorMessage = "Not image has been opened."; + ErrorMessage = Localization.No_image_has_been_opened; return ErrorNumber.NotOpened; } if(!IsWriting) { - ErrorMessage = "Image is not opened for writing."; + ErrorMessage = Localization.Image_is_not_opened_for_writing; return ErrorNumber.ReadOnly; } if(position >= _data.Length) { - ErrorMessage = "The requested position is out of range."; + ErrorMessage = Localization.The_requested_position_is_out_of_range; return ErrorNumber.OutOfRange; } if(buffer is null) { - ErrorMessage = "Buffer must not be null."; + ErrorMessage = Localization.Buffer_must_not_be_null; return ErrorNumber.InvalidArgument; } @@ -671,7 +672,7 @@ public class SuperNintendo : IByteAddressableImage static string DecodeCoprocessor(byte chipset, byte subtype) { if((chipset & 0xF) < 3) - return "None"; + return Localization.None_coprocessor; return ((chipset & 0xF0) >> 4) switch { @@ -681,16 +682,16 @@ public class SuperNintendo : IByteAddressableImage 3 => "SA-1", 4 => "S-DD1", 5 => "S-RTC", - 0xE => "Other", + 0xE => Localization.Other_coprocessor, 0xF => subtype switch { 0 => "SPC7110", 1 => "ST010/ST011", 2 => "ST018", 0x10 => "CX4", - _ => "Unknown" + _ => Localization.Unknown_coprocessor }, - _ => "Unknown" + _ => Localization.Unknown_coprocessor }; } @@ -698,17 +699,17 @@ public class SuperNintendo : IByteAddressableImage { switch(chipset & 0xF) { - case 0: return "ROM"; - case 1: return "ROM and RAM"; - case 2 when (chipset & 0xF0) == 0: return "ROM, RAM and battery"; - case 3: return "ROM and coprocessor"; - case 4: return "ROM, RAM and coprocessor"; + case 0: return Localization.ROM; + case 1: return Localization.ROM_and_RAM; + case 2 when (chipset & 0xF0) == 0: return Localization.ROM_RAM_and_battery; + case 3: return Localization.ROM_and_coprocessor; + case 4: return Localization.ROM_RAM_and_coprocessor; case 2: - case 5: return "ROM, RAM, battery and coprocessor"; - case 6: return "ROM, battery and coprocessor"; - case 9: return "ROM, RAM, battery, coprocessor and RTC"; - case 0xA: return "ROM, RAM, battery and coprocessor"; - default: return "Unknown"; + case 5: return Localization.ROM_RAM_battery_and_coprocessor; + case 6: return Localization.ROM_battery_and_coprocessor; + case 9: return Localization.ROM_RAM_battery_coprocessor_and_RTC; + case 0xA: return Localization.ROM_RAM_battery_and_coprocessor; + default: return Localization.Unknown_chipset; } } @@ -738,30 +739,30 @@ public class SuperNintendo : IByteAddressableImage case 1: case 0xA: return "HiROM"; case 5: return "ExHiROM"; - default: return "Unknown"; + default: return Localization.Unknown_licensee; } } static string DecodeRegion(byte headerRegion) => headerRegion switch { - 0 => "Japan", - 1 => "USA and Canada", - 2 => "Europe, Oceania, Asia", - 3 => "Sweden/Scandinavia", - 4 => "Finland", - 5 => "Denmark", - 6 => "France", - 7 => "Netherlands", - 8 => "Spain", - 9 => "Germany, Austria, Switzerland", - 10 => "Italy", - 11 => "China, Hong Kong", - 12 => "Indonesia", - 13 => "South Korea", - 15 => "Canada", - 16 => "Brazil", - 17 => "Australia", - _ => "Unknown" + 0 => Localization.Japan, + 1 => Localization.USA_and_Canada, + 2 => Localization.Europe_Oceania_Asia, + 3 => Localization.Sweden_Scandinavia, + 4 => Localization.Finland, + 5 => Localization.Denmark, + 6 => Localization.France, + 7 => Localization.Netherlands, + 8 => Localization.Spain, + 9 => Localization.Germany_Austria_Switzerland, + 10 => Localization.Italy, + 11 => Localization.China_Hong_Kong, + 12 => Localization.Indonesia, + 13 => Localization.South_Korea, + 15 => Localization.Canada, + 16 => Localization.Brazil, + 17 => Localization.Australia, + _ => Localization.Unknown_licensee }; static string DecodeManufacturer(byte oldMakerCode, string makerCode) @@ -773,7 +774,7 @@ public class SuperNintendo : IByteAddressableImage return makerCode switch { "01" => "Nintendo", - _ => "Unknown" + _ => Localization.Unknown_manufacturer }; } diff --git a/Aaru.Images/CDRDAO/Identify.cs b/Aaru.Images/CDRDAO/Identify.cs index 0f5dc36da..6bbdf6524 100644 --- a/Aaru.Images/CDRDAO/Identify.cs +++ b/Aaru.Images/CDRDAO/Identify.cs @@ -99,9 +99,9 @@ public sealed partial class Cdrdao } catch(Exception ex) { - AaruConsole.ErrorWriteLine("Exception trying to identify image file {0}", _cdrdaoFilter.Filename); - AaruConsole.ErrorWriteLine("Exception: {0}", ex.Message); - AaruConsole.ErrorWriteLine("Stack trace: {0}", ex.StackTrace); + AaruConsole.ErrorWriteLine(Localization.Exception_trying_to_identify_image_file_0, _cdrdaoFilter.Filename); + AaruConsole.ErrorWriteLine(Localization.Exception_0, ex.Message); + AaruConsole.ErrorWriteLine(Localization.Stack_trace_0, ex.StackTrace); return false; } diff --git a/Aaru.Images/CDRDAO/Properties.cs b/Aaru.Images/CDRDAO/Properties.cs index 3b8f1bc16..8a0c8649d 100644 --- a/Aaru.Images/CDRDAO/Properties.cs +++ b/Aaru.Images/CDRDAO/Properties.cs @@ -57,13 +57,13 @@ public sealed partial class Cdrdao /// public ImageInfo Info => _imageInfo; /// - public string Name => "CDRDAO tocfile"; + public string Name => Localization.Cdrdao_Name; /// public Guid Id => new("04D7BA12-1BE8-44D4-97A4-1B48A505463E"); /// public string Format => "CDRDAO tocfile"; /// - public string Author => "Natalia Portillo"; + public string Author => Authors.NataliaPortillo; /// public List Partitions { get; private set; } @@ -191,7 +191,7 @@ public sealed partial class Cdrdao /// public IEnumerable<(string name, Type type, string description, object @default)> SupportedOptions => new[] { - ("separate", typeof(bool), "Write each track to a separate file.", (object)false) + ("separate", typeof(bool), Localization.Write_each_track_to_a_separate_file, (object)false) }; /// public IEnumerable KnownExtensions => new[] diff --git a/Aaru.Images/CDRDAO/Read.cs b/Aaru.Images/CDRDAO/Read.cs index d3481fa3b..fde545164 100644 --- a/Aaru.Images/CDRDAO/Read.cs +++ b/Aaru.Images/CDRDAO/Read.cs @@ -129,7 +129,7 @@ public sealed partial class Cdrdao if(!matchDiskType.Success) { - AaruConsole.DebugWriteLine("CDRDAO plugin", "Not a CDRDAO TOC or TOC type not in line {0}.", + AaruConsole.DebugWriteLine("CDRDAO plugin", Localization.Not_a_CDRDAO_TOC_or_TOC_type_not_in_line_0, lineNumber); return ErrorNumber.InvalidArgument; @@ -183,14 +183,14 @@ public sealed partial class Cdrdao if(matchComment.Groups["comment"].Value.StartsWith(" Track ", StringComparison.Ordinal)) continue; - AaruConsole.DebugWriteLine("CDRDAO plugin", "Found comment \"{1}\" at line {0}", lineNumber, + AaruConsole.DebugWriteLine("CDRDAO plugin", Localization.Found_comment_1_at_line_0, lineNumber, matchComment.Groups["comment"].Value.Trim()); commentBuilder.AppendLine(matchComment.Groups["comment"].Value.Trim()); } else if(matchDiskType.Success) { - AaruConsole.DebugWriteLine("CDRDAO plugin", "Found {1} at line {0}", lineNumber, + AaruConsole.DebugWriteLine("CDRDAO plugin", Localization.Found_1_at_line_0, lineNumber, matchDiskType.Groups["type"].Value); _discimage.Disktypestr = matchDiskType.Groups["type"].Value; @@ -206,7 +206,7 @@ public sealed partial class Cdrdao } else if(matchMcn.Success) { - AaruConsole.DebugWriteLine("CDRDAO plugin", "Found CATALOG \"{1}\" at line {0}", lineNumber, + AaruConsole.DebugWriteLine("CDRDAO plugin", Localization.Found_CATALOG_1_at_line_0, lineNumber, matchMcn.Groups["catalog"].Value); _discimage.Mcn = matchMcn.Groups["catalog"].Value; @@ -215,11 +215,11 @@ public sealed partial class Cdrdao { if(matchTrack.Groups["subchan"].Value == "") AaruConsole.DebugWriteLine("CDRDAO plugin", - "Found TRACK type \"{1}\" with no subchannel at line {0}", + Localization.Found_TRACK_type_1_with_no_subchannel_at_line_0, lineNumber, matchTrack.Groups["type"].Value); else AaruConsole.DebugWriteLine("CDRDAO plugin", - "Found TRACK type \"{1}\" subchannel {2} at line {0}", lineNumber, + Localization.Found_TRACK_type_1_subchannel_2_at_line_0, lineNumber, matchTrack.Groups["type"].Value, matchTrack.Groups["subchan"].Value); if(inTrack) @@ -268,7 +268,8 @@ public sealed partial class Cdrdao break; default: { - AaruConsole.ErrorWriteLine($"Track mode {matchTrack.Groups["type"].Value} is unsupported"); + AaruConsole.ErrorWriteLine(string.Format(Localization.Track_mode_0_is_unsupported, + matchTrack.Groups["type"].Value)); return ErrorNumber.NotSupported; } @@ -286,8 +287,9 @@ public sealed partial class Cdrdao break; default: { - AaruConsole.ErrorWriteLine($"Track subchannel mode {matchTrack.Groups["subchan"].Value - } is unsupported"); + AaruConsole. + ErrorWriteLine(string.Format(Localization.Track_subchannel_mode_0_is_unsupported, + matchTrack.Groups["subchan"].Value)); return ErrorNumber.NotSupported; } @@ -300,28 +302,28 @@ public sealed partial class Cdrdao } else if(matchCopy.Success) { - AaruConsole.DebugWriteLine("CDRDAO plugin", "Found {1} COPY at line {0}", lineNumber, + AaruConsole.DebugWriteLine("CDRDAO plugin", Localization.Found_1_COPY_at_line_0, lineNumber, matchCopy.Groups["no"].Value); currentTrack.FlagDcp |= inTrack && matchCopy.Groups["no"].Value == ""; } else if(matchEmphasis.Success) { - AaruConsole.DebugWriteLine("CDRDAO plugin", "Found {1} PRE_EMPHASIS at line {0}", lineNumber, + AaruConsole.DebugWriteLine("CDRDAO plugin", Localization.Found_1_PRE_EMPHASIS_at_line_0, lineNumber, matchEmphasis.Groups["no"].Value); currentTrack.FlagPre |= inTrack && matchEmphasis.Groups["no"].Value == ""; } else if(matchStereo.Success) { - AaruConsole.DebugWriteLine("CDRDAO plugin", "Found {1}_CHANNEL_AUDIO at line {0}", lineNumber, - matchStereo.Groups["num"].Value); + AaruConsole.DebugWriteLine("CDRDAO plugin", Localization.Found_1_CHANNEL_AUDIO_at_line_0, + lineNumber, matchStereo.Groups["num"].Value); currentTrack.Flag4Ch |= inTrack && matchStereo.Groups["num"].Value == "FOUR"; } else if(matchIsrc.Success) { - AaruConsole.DebugWriteLine("CDRDAO plugin", "Found ISRC \"{1}\" at line {0}", lineNumber, + AaruConsole.DebugWriteLine("CDRDAO plugin", Localization.Found_ISRC_1_at_line_0, lineNumber, matchIsrc.Groups["isrc"].Value); if(inTrack) @@ -329,7 +331,7 @@ public sealed partial class Cdrdao } else if(matchIndex.Success) { - AaruConsole.DebugWriteLine("CDRDAO plugin", "Found INDEX \"{1}\" at line {0}", lineNumber, + AaruConsole.DebugWriteLine("CDRDAO plugin", Localization.Found_INDEX_1_at_line_0, lineNumber, matchIndex.Groups["address"].Value); string[] lengthString = matchFile.Groups["length"].Value.Split(':'); @@ -341,7 +343,7 @@ public sealed partial class Cdrdao } else if(matchPregap.Success) { - AaruConsole.DebugWriteLine("CDRDAO plugin", "Found START \"{1}\" at line {0}", lineNumber, + AaruConsole.DebugWriteLine("CDRDAO plugin", Localization.Found_START_1_at_line_0, lineNumber, matchPregap.Groups["address"].Value); currentTrack.Indexes.Add(0, currentTrack.StartSector); @@ -358,7 +360,7 @@ public sealed partial class Cdrdao } else if(matchZeroPregap.Success) { - AaruConsole.DebugWriteLine("CDRDAO plugin", "Found PREGAP \"{1}\" at line {0}", lineNumber, + AaruConsole.DebugWriteLine("CDRDAO plugin", Localization.Found_PREGAP_1_at_line_0, lineNumber, matchZeroPregap.Groups["length"].Value); currentTrack.Indexes.Add(0, currentTrack.StartSector); @@ -368,10 +370,10 @@ public sealed partial class Cdrdao (ulong.Parse(lengthString[1]) * 75) + ulong.Parse(lengthString[2]); } else if(matchZeroData.Success) - AaruConsole.DebugWriteLine("CDRDAO plugin", "Found ZERO \"{1}\" at line {0}", lineNumber, + AaruConsole.DebugWriteLine("CDRDAO plugin", Localization.Found_ZERO_1_at_line_0, lineNumber, matchZeroData.Groups["length"].Value); else if(matchZeroAudio.Success) - AaruConsole.DebugWriteLine("CDRDAO plugin", "Found SILENCE \"{1}\" at line {0}", lineNumber, + AaruConsole.DebugWriteLine("CDRDAO plugin", Localization.Found_SILENCE_1_at_line_0, lineNumber, matchZeroAudio.Groups["length"].Value); else { @@ -379,8 +381,8 @@ public sealed partial class Cdrdao if(matchAudioFile.Success) { - AaruConsole.DebugWriteLine("CDRDAO plugin", "Found AUDIOFILE \"{1}\" at line {0}", lineNumber, - matchAudioFile.Groups["filename"].Value); + AaruConsole.DebugWriteLine("CDRDAO plugin", Localization.Found_AUDIOFILE_1_at_line_0, + lineNumber, matchAudioFile.Groups["filename"].Value); filtersList = new FiltersList(); @@ -422,7 +424,7 @@ public sealed partial class Cdrdao } else if(matchFile.Success) { - AaruConsole.DebugWriteLine("CDRDAO plugin", "Found DATAFILE \"{1}\" at line {0}", lineNumber, + AaruConsole.DebugWriteLine("CDRDAO plugin", Localization.Found_DATAFILE_1_at_line_0, lineNumber, matchFile.Groups["filename"].Value); filtersList = new FiltersList(); @@ -453,7 +455,7 @@ public sealed partial class Cdrdao } else if(matchTitle.Success) { - AaruConsole.DebugWriteLine("CDRDAO plugin", "Found TITLE \"{1}\" at line {0}", lineNumber, + AaruConsole.DebugWriteLine("CDRDAO plugin", Localization.Found_TITLE_1_at_line_0, lineNumber, matchTitle.Groups["title"].Value); if(inTrack) @@ -463,8 +465,8 @@ public sealed partial class Cdrdao } else if(matchPerformer.Success) { - AaruConsole.DebugWriteLine("CDRDAO plugin", "Found PERFORMER \"{1}\" at line {0}", lineNumber, - matchPerformer.Groups["performer"].Value); + AaruConsole.DebugWriteLine("CDRDAO plugin", Localization.Found_PERFORMER_1_at_line_0, + lineNumber, matchPerformer.Groups["performer"].Value); if(inTrack) currentTrack.Performer = matchPerformer.Groups["performer"].Value; @@ -473,8 +475,8 @@ public sealed partial class Cdrdao } else if(matchSongwriter.Success) { - AaruConsole.DebugWriteLine("CDRDAO plugin", "Found SONGWRITER \"{1}\" at line {0}", lineNumber, - matchSongwriter.Groups["songwriter"].Value); + AaruConsole.DebugWriteLine("CDRDAO plugin", Localization.Found_SONGWRITER_1_at_line_0, + lineNumber, matchSongwriter.Groups["songwriter"].Value); if(inTrack) currentTrack.Songwriter = matchSongwriter.Groups["songwriter"].Value; @@ -483,7 +485,7 @@ public sealed partial class Cdrdao } else if(matchComposer.Success) { - AaruConsole.DebugWriteLine("CDRDAO plugin", "Found COMPOSER \"{1}\" at line {0}", lineNumber, + AaruConsole.DebugWriteLine("CDRDAO plugin", Localization.Found_COMPOSER_1_at_line_0, lineNumber, matchComposer.Groups["composer"].Value); if(inTrack) @@ -493,7 +495,7 @@ public sealed partial class Cdrdao } else if(matchArranger.Success) { - AaruConsole.DebugWriteLine("CDRDAO plugin", "Found ARRANGER \"{1}\" at line {0}", lineNumber, + AaruConsole.DebugWriteLine("CDRDAO plugin", Localization.Found_ARRANGER_1_at_line_0, lineNumber, matchArranger.Groups["arranger"].Value); if(inTrack) @@ -503,7 +505,7 @@ public sealed partial class Cdrdao } else if(matchMessage.Success) { - AaruConsole.DebugWriteLine("CDRDAO plugin", "Found MESSAGE \"{1}\" at line {0}", lineNumber, + AaruConsole.DebugWriteLine("CDRDAO plugin", Localization.Found_MESSAGE_1_at_line_0, lineNumber, matchMessage.Groups["message"].Value); if(inTrack) @@ -513,7 +515,7 @@ public sealed partial class Cdrdao } else if(matchDiscId.Success) { - AaruConsole.DebugWriteLine("CDRDAO plugin", "Found DISC_ID \"{1}\" at line {0}", lineNumber, + AaruConsole.DebugWriteLine("CDRDAO plugin", Localization.Found_DISC_ID_1_at_line_0, lineNumber, matchDiscId.Groups["discid"].Value); if(!inTrack) @@ -521,7 +523,7 @@ public sealed partial class Cdrdao } else if(matchUpc.Success) { - AaruConsole.DebugWriteLine("CDRDAO plugin", "Found UPC_EAN \"{1}\" at line {0}", lineNumber, + AaruConsole.DebugWriteLine("CDRDAO plugin", Localization.Found_UPC_EAN_1_at_line_0, lineNumber, matchUpc.Groups["catalog"].Value); if(!inTrack) @@ -560,125 +562,139 @@ public sealed partial class Cdrdao _discimage.Comment = commentBuilder.ToString(); // DEBUG information - AaruConsole.DebugWriteLine("CDRDAO plugin", "Disc image parsing results"); - AaruConsole.DebugWriteLine("CDRDAO plugin", "Disc CD-TEXT:"); + AaruConsole.DebugWriteLine("CDRDAO plugin", Localization.Disc_image_parsing_results); + AaruConsole.DebugWriteLine("CDRDAO plugin", Localization.Disc_CD_TEXT); if(_discimage.Arranger == null) - AaruConsole.DebugWriteLine("CDRDAO plugin", "\tArranger is not set."); + AaruConsole.DebugWriteLine("CDRDAO plugin", "\t" + Localization.Arranger_is_not_set); else - AaruConsole.DebugWriteLine("CDRDAO plugin", "\tArranger: {0}", _discimage.Arranger); + AaruConsole.DebugWriteLine("CDRDAO plugin", "\t" + Localization.Arranger_0, _discimage.Arranger); if(_discimage.Composer == null) - AaruConsole.DebugWriteLine("CDRDAO plugin", "\tComposer is not set."); + AaruConsole.DebugWriteLine("CDRDAO plugin", "\t" + Localization.Composer_is_not_set); else - AaruConsole.DebugWriteLine("CDRDAO plugin", "\tComposer: {0}", _discimage.Composer); + AaruConsole.DebugWriteLine("CDRDAO plugin", "\t" + Localization.Composer_0, _discimage.Composer); if(_discimage.Performer == null) - AaruConsole.DebugWriteLine("CDRDAO plugin", "\tPerformer is not set."); + AaruConsole.DebugWriteLine("CDRDAO plugin", "\t" + Localization.Performer_is_not_set); else - AaruConsole.DebugWriteLine("CDRDAO plugin", "\tPerformer: {0}", _discimage.Performer); + AaruConsole.DebugWriteLine("CDRDAO plugin", "\t" + Localization.Performer_0, _discimage.Performer); if(_discimage.Songwriter == null) - AaruConsole.DebugWriteLine("CDRDAO plugin", "\tSongwriter is not set."); + AaruConsole.DebugWriteLine("CDRDAO plugin", "\t" + Localization.Songwriter_is_not_set); else - AaruConsole.DebugWriteLine("CDRDAO plugin", "\tSongwriter: {0}", _discimage.Songwriter); + AaruConsole.DebugWriteLine("CDRDAO plugin", "\t" + Localization.Songwriter_0, _discimage.Songwriter); if(_discimage.Title == null) - AaruConsole.DebugWriteLine("CDRDAO plugin", "\tTitle is not set."); + AaruConsole.DebugWriteLine("CDRDAO plugin", "\t" + Localization.Title_is_not_set); else - AaruConsole.DebugWriteLine("CDRDAO plugin", "\tTitle: {0}", _discimage.Title); + AaruConsole.DebugWriteLine("CDRDAO plugin", "\t" + Localization.Title_0, _discimage.Title); - AaruConsole.DebugWriteLine("CDRDAO plugin", "Disc information:"); - AaruConsole.DebugWriteLine("CDRDAO plugin", "\tGuessed disk type: {0}", _discimage.Disktype); + AaruConsole.DebugWriteLine("CDRDAO plugin", Localization.Disc_information); + AaruConsole.DebugWriteLine("CDRDAO plugin", "\t" + Localization.Guessed_disk_type_0, _discimage.Disktype); if(_discimage.Barcode == null) - AaruConsole.DebugWriteLine("CDRDAO plugin", "\tBarcode not set."); + AaruConsole.DebugWriteLine("CDRDAO plugin", "\t" + Localization.Barcode_not_set); else - AaruConsole.DebugWriteLine("CDRDAO plugin", "\tBarcode: {0}", _discimage.Barcode); + AaruConsole.DebugWriteLine("CDRDAO plugin", "\t" + Localization.Barcode_0, _discimage.Barcode); if(_discimage.DiskId == null) - AaruConsole.DebugWriteLine("CDRDAO plugin", "\tDisc ID not set."); + AaruConsole.DebugWriteLine("CDRDAO plugin", "\t" + Localization.Disc_ID_not_set); else - AaruConsole.DebugWriteLine("CDRDAO plugin", "\tDisc ID: {0}", _discimage.DiskId); + AaruConsole.DebugWriteLine("CDRDAO plugin", "\t" + Localization.Disc_ID_0, _discimage.DiskId); if(_discimage.Mcn == null) - AaruConsole.DebugWriteLine("CDRDAO plugin", "\tMCN not set."); + AaruConsole.DebugWriteLine("CDRDAO plugin", "\t" + Localization.MCN_not_set); else - AaruConsole.DebugWriteLine("CDRDAO plugin", "\tMCN: {0}", _discimage.Mcn); + AaruConsole.DebugWriteLine("CDRDAO plugin", "\t" + Localization.MCN_0, _discimage.Mcn); if(string.IsNullOrEmpty(_discimage.Comment)) - AaruConsole.DebugWriteLine("CDRDAO plugin", "\tComment not set."); + AaruConsole.DebugWriteLine("CDRDAO plugin", "\t" + Localization.Comment_not_set); else - AaruConsole.DebugWriteLine("CDRDAO plugin", "\tComment: \"{0}\"", _discimage.Comment); + AaruConsole.DebugWriteLine("CDRDAO plugin", "\t" + Localization.Comment_0, _discimage.Comment); - AaruConsole.DebugWriteLine("CDRDAO plugin", "Track information:"); - AaruConsole.DebugWriteLine("CDRDAO plugin", "\tDisc contains {0} tracks", _discimage.Tracks.Count); + AaruConsole.DebugWriteLine("CDRDAO plugin", Localization.Track_information); + + AaruConsole.DebugWriteLine("CDRDAO plugin", "\t" + Localization.Disc_contains_0_tracks, + _discimage.Tracks.Count); for(int i = 0; i < _discimage.Tracks.Count; i++) { - AaruConsole.DebugWriteLine("CDRDAO plugin", "\tTrack {0} information:", _discimage.Tracks[i].Sequence); + AaruConsole.DebugWriteLine("CDRDAO plugin", "\t" + Localization.Track_0_information, + _discimage.Tracks[i].Sequence); - AaruConsole.DebugWriteLine("CDRDAO plugin", "\t\t{0} bytes per sector", _discimage.Tracks[i].Bps); - AaruConsole.DebugWriteLine("CDRDAO plugin", "\t\tPregap: {0} sectors", _discimage.Tracks[i].Pregap); + AaruConsole.DebugWriteLine("CDRDAO plugin", "\t\t" + Localization._0_bytes_per_sector, + _discimage.Tracks[i].Bps); - AaruConsole.DebugWriteLine("CDRDAO plugin", "\t\tData: {0} sectors starting at sector {1}", + AaruConsole.DebugWriteLine("CDRDAO plugin", "\t\t" + Localization.Pregap_0_sectors, + _discimage.Tracks[i].Pregap); + + AaruConsole.DebugWriteLine("CDRDAO plugin", "\t\t" + Localization.Data_0_sectors_starting_at_sector_1, _discimage.Tracks[i].Sectors, _discimage.Tracks[i].StartSector); - AaruConsole.DebugWriteLine("CDRDAO plugin", "\t\tPostgap: {0} sectors", _discimage.Tracks[i].Postgap); + AaruConsole.DebugWriteLine("CDRDAO plugin", "\t\t" + Localization.Postgap_0_sectors, + _discimage.Tracks[i].Postgap); if(_discimage.Tracks[i].Flag4Ch) - AaruConsole.DebugWriteLine("CDRDAO plugin", "\t\tTrack is flagged as quadraphonic"); + AaruConsole.DebugWriteLine("CDRDAO plugin", "\t\t" + Localization.Track_is_flagged_as_quadraphonic); if(_discimage.Tracks[i].FlagDcp) - AaruConsole.DebugWriteLine("CDRDAO plugin", "\t\tTrack allows digital copy"); + AaruConsole.DebugWriteLine("CDRDAO plugin", "\t\t" + Localization.Track_allows_digital_copy); if(_discimage.Tracks[i].FlagPre) - AaruConsole.DebugWriteLine("CDRDAO plugin", "\t\tTrack has pre-emphasis applied"); + AaruConsole.DebugWriteLine("CDRDAO plugin", "\t\t" + Localization.Track_has_pre_emphasis_applied); AaruConsole.DebugWriteLine("CDRDAO plugin", - "\t\tTrack resides in file {0}, type defined as {1}, starting at byte {2}", + "\t\t" + Localization. + Track_resides_in_file_0_type_defined_as_1_starting_at_byte_2, _discimage.Tracks[i].Trackfile.Datafilter.Filename, _discimage.Tracks[i].Trackfile.Filetype, _discimage.Tracks[i].Trackfile.Offset); - AaruConsole.DebugWriteLine("CDRDAO plugin", "\t\tIndexes:"); + AaruConsole.DebugWriteLine("CDRDAO plugin", "\t\t" + Localization.Indexes); foreach(KeyValuePair kvp in _discimage.Tracks[i].Indexes) - AaruConsole.DebugWriteLine("CDRDAO plugin", "\t\t\tIndex {0} starts at sector {1}", kvp.Key, - kvp.Value); + AaruConsole.DebugWriteLine("CDRDAO plugin", "\t\t\t" + Localization.Index_0_starts_at_sector_1, + kvp.Key, kvp.Value); if(_discimage.Tracks[i].Isrc == null) - AaruConsole.DebugWriteLine("CDRDAO plugin", "\t\tISRC is not set."); + AaruConsole.DebugWriteLine("CDRDAO plugin", "\t\t" + Localization.ISRC_is_not_set); else - AaruConsole.DebugWriteLine("CDRDAO plugin", "\t\tISRC: {0}", _discimage.Tracks[i].Isrc); + AaruConsole.DebugWriteLine("CDRDAO plugin", "\t\t" + Localization.ISRC_0, + _discimage.Tracks[i].Isrc); if(_discimage.Tracks[i].Arranger == null) - AaruConsole.DebugWriteLine("CDRDAO plugin", "\t\tArranger is not set."); + AaruConsole.DebugWriteLine("CDRDAO plugin", "\t\t" + Localization.Arranger_is_not_set); else - AaruConsole.DebugWriteLine("CDRDAO plugin", "\t\tArranger: {0}", _discimage.Tracks[i].Arranger); + AaruConsole.DebugWriteLine("CDRDAO plugin", "\t\t" + Localization.Arranger_0, + _discimage.Tracks[i].Arranger); if(_discimage.Tracks[i].Composer == null) - AaruConsole.DebugWriteLine("CDRDAO plugin", "\t\tComposer is not set."); + AaruConsole.DebugWriteLine("CDRDAO plugin", "\t\t" + Localization.Composer_is_not_set); else - AaruConsole.DebugWriteLine("CDRDAO plugin", "\t\tComposer: {0}", _discimage.Tracks[i].Composer); + AaruConsole.DebugWriteLine("CDRDAO plugin", "\t\t" + Localization.Composer_0, + _discimage.Tracks[i].Composer); if(_discimage.Tracks[i].Performer == null) - AaruConsole.DebugWriteLine("CDRDAO plugin", "\t\tPerformer is not set."); + AaruConsole.DebugWriteLine("CDRDAO plugin", "\t\t" + Localization.Performer_is_not_set); else - AaruConsole.DebugWriteLine("CDRDAO plugin", "\t\tPerformer: {0}", _discimage.Tracks[i].Performer); + AaruConsole.DebugWriteLine("CDRDAO plugin", "\t\t" + Localization.Performer_0, + _discimage.Tracks[i].Performer); if(_discimage.Tracks[i].Songwriter == null) - AaruConsole.DebugWriteLine("CDRDAO plugin", "\t\tSongwriter is not set."); + AaruConsole.DebugWriteLine("CDRDAO plugin", "\t\t" + Localization.Songwriter_is_not_set); else - AaruConsole.DebugWriteLine("CDRDAO plugin", "\t\tSongwriter: {0}", _discimage.Tracks[i].Songwriter); + AaruConsole.DebugWriteLine("CDRDAO plugin", "\t\t" + Localization.Songwriter_0, + _discimage.Tracks[i].Songwriter); if(_discimage.Tracks[i].Title == null) - AaruConsole.DebugWriteLine("CDRDAO plugin", "\t\tTitle is not set."); + AaruConsole.DebugWriteLine("CDRDAO plugin", "\t\t" + Localization.Title_is_not_set); else - AaruConsole.DebugWriteLine("CDRDAO plugin", "\t\tTitle: {0}", _discimage.Tracks[i].Title); + AaruConsole.DebugWriteLine("CDRDAO plugin", "\t\t" + Localization.Title_0, + _discimage.Tracks[i].Title); } - AaruConsole.DebugWriteLine("CDRDAO plugin", "Building offset map"); + AaruConsole.DebugWriteLine("CDRDAO plugin", Localization.Building_offset_map); Partitions = new List(); _offsetmap = new Dictionary(); @@ -691,7 +707,7 @@ public sealed partial class Cdrdao if(_discimage.Tracks[i].Sequence == 1 && i != 0) { - AaruConsole.ErrorWriteLine("Unordered tracks"); + AaruConsole.ErrorWriteLine(Localization.Unordered_tracks); return ErrorNumber.NotSupported; } @@ -699,7 +715,7 @@ public sealed partial class Cdrdao // Index 01 var partition = new Partition { - Description = $"Track {_discimage.Tracks[i].Sequence}.", + Description = string.Format(Localization.Track_0, _discimage.Tracks[i].Sequence), Name = _discimage.Tracks[i].Title, Start = _discimage.Tracks[i].StartSector, Size = _discimage.Tracks[i].Sectors * _discimage.Tracks[i].Bps, @@ -729,18 +745,28 @@ public sealed partial class Cdrdao } // Print partition map - AaruConsole.DebugWriteLine("CDRDAO plugin", "printing partition map"); + AaruConsole.DebugWriteLine("CDRDAO plugin", Localization.printing_partition_map); foreach(Partition partition in Partitions) { - AaruConsole.DebugWriteLine("CDRDAO plugin", "Partition sequence: {0}", partition.Sequence); - AaruConsole.DebugWriteLine("CDRDAO plugin", "\tPartition name: {0}", partition.Name); - AaruConsole.DebugWriteLine("CDRDAO plugin", "\tPartition description: {0}", partition.Description); - AaruConsole.DebugWriteLine("CDRDAO plugin", "\tPartition type: {0}", partition.Type); - AaruConsole.DebugWriteLine("CDRDAO plugin", "\tPartition starting sector: {0}", partition.Start); - AaruConsole.DebugWriteLine("CDRDAO plugin", "\tPartition sectors: {0}", partition.Length); - AaruConsole.DebugWriteLine("CDRDAO plugin", "\tPartition starting offset: {0}", partition.Offset); - AaruConsole.DebugWriteLine("CDRDAO plugin", "\tPartition size in bytes: {0}", partition.Size); + AaruConsole.DebugWriteLine("CDRDAO plugin", Localization.Partition_sequence_0, partition.Sequence); + AaruConsole.DebugWriteLine("CDRDAO plugin", "\t" + Localization.Partition_name_0, partition.Name); + + AaruConsole.DebugWriteLine("CDRDAO plugin", "\t" + Localization.Partition_description_0, + partition.Description); + + AaruConsole.DebugWriteLine("CDRDAO plugin", "\t" + Localization.Partition_type_0, partition.Type); + + AaruConsole.DebugWriteLine("CDRDAO plugin", "\t" + Localization.Partition_starting_sector_0, + partition.Start); + + AaruConsole.DebugWriteLine("CDRDAO plugin", "\t" + Localization.Partition_sectors_0, partition.Length); + + AaruConsole.DebugWriteLine("CDRDAO plugin", "\t" + Localization.Partition_starting_offset_0, + partition.Offset); + + AaruConsole.DebugWriteLine("CDRDAO plugin", "\t" + Localization.Partition_size_in_bytes_0, + partition.Size); } foreach(CdrdaoTrack track in _discimage.Tracks) @@ -847,10 +873,10 @@ public sealed partial class Cdrdao _imageInfo.XmlMediaType = XmlMediaType.OpticalDisc; - AaruConsole.VerboseWriteLine("CDRDAO image describes a disc of type {0}", _imageInfo.MediaType); + AaruConsole.VerboseWriteLine(Localization.CDRDAO_image_describes_a_disc_of_type_0, _imageInfo.MediaType); if(!string.IsNullOrEmpty(_imageInfo.Comments)) - AaruConsole.VerboseWriteLine("CDRDAO comments: {0}", _imageInfo.Comments); + AaruConsole.VerboseWriteLine(Localization.CDRDAO_comments_0, _imageInfo.Comments); _sectorBuilder = new SectorBuilder(); @@ -858,8 +884,8 @@ public sealed partial class Cdrdao } catch(Exception ex) { - AaruConsole.ErrorWriteLine("Exception trying to identify image file {0}", imageFilter); - AaruConsole.ErrorWriteLine("Exception: {0}", ex); + AaruConsole.ErrorWriteLine(Localization.Exception_trying_to_identify_image_file_0, imageFilter); + AaruConsole.ErrorWriteLine(Localization.Exception_0, ex); return ErrorNumber.UnexpectedException; } diff --git a/Aaru.Images/CDRDAO/Write.cs b/Aaru.Images/CDRDAO/Write.cs index 8d5568b24..873085e2c 100644 --- a/Aaru.Images/CDRDAO/Write.cs +++ b/Aaru.Images/CDRDAO/Write.cs @@ -55,14 +55,14 @@ public sealed partial class Cdrdao { if(!bool.TryParse(tmpValue, out _separateTracksWriting)) { - ErrorMessage = "Invalid value for split option"; + ErrorMessage = Localization.Invalid_value_for_split_option; return false; } if(_separateTracksWriting) { - ErrorMessage = "Separate tracks not yet implemented"; + ErrorMessage = Localization.Separate_tracks_not_yet_implemented; return false; } @@ -73,7 +73,7 @@ public sealed partial class Cdrdao if(!SupportedMediaTypes.Contains(mediaType)) { - ErrorMessage = $"Unsupported media format {mediaType}"; + ErrorMessage = string.Format(Localization.Unsupported_media_format_0, mediaType); return false; } @@ -94,7 +94,7 @@ public sealed partial class Cdrdao } catch(IOException e) { - ErrorMessage = $"Could not create new image file, exception {e.Message}"; + ErrorMessage = string.Format(Localization.Could_not_create_new_image_file_exception_0, e.Message); return false; } @@ -119,7 +119,7 @@ public sealed partial class Cdrdao { if(!IsWriting) { - ErrorMessage = "Tried to write on a non-writable image"; + ErrorMessage = Localization.Tried_to_write_on_a_non_writable_image; return false; } @@ -131,7 +131,7 @@ public sealed partial class Cdrdao return true; default: - ErrorMessage = $"Unsupported media tag {tag}"; + ErrorMessage = string.Format(Localization.Unsupported_media_tag_0, tag); return false; } @@ -142,7 +142,7 @@ public sealed partial class Cdrdao { if(!IsWriting) { - ErrorMessage = "Tried to write on a non-writable image"; + ErrorMessage = Localization.Tried_to_write_on_a_non_writable_image; return false; } @@ -152,7 +152,7 @@ public sealed partial class Cdrdao if(track is null) { - ErrorMessage = $"Can't found track containing {sectorAddress}"; + ErrorMessage = string.Format(Localization.Cant_find_track_containing_0, sectorAddress); return false; } @@ -161,21 +161,21 @@ public sealed partial class Cdrdao if(trackStream == null) { - ErrorMessage = $"Can't found file containing {sectorAddress}"; + ErrorMessage = string.Format(Localization.Cant_find_file_containing_0, sectorAddress); return false; } if(track.BytesPerSector != track.RawBytesPerSector) { - ErrorMessage = "Invalid write mode for this sector"; + ErrorMessage = Localization.Invalid_write_mode_for_this_sector; return false; } if(data.Length != track.RawBytesPerSector) { - ErrorMessage = "Incorrect data size"; + ErrorMessage = Localization.Incorrect_data_size; return false; } @@ -208,7 +208,7 @@ public sealed partial class Cdrdao { if(!IsWriting) { - ErrorMessage = "Tried to write on a non-writable image"; + ErrorMessage = Localization.Tried_to_write_on_a_non_writable_image; return false; } @@ -218,7 +218,7 @@ public sealed partial class Cdrdao if(track is null) { - ErrorMessage = $"Can't found track containing {sectorAddress}"; + ErrorMessage = string.Format(Localization.Cant_find_track_containing_0, sectorAddress); return false; } @@ -227,28 +227,28 @@ public sealed partial class Cdrdao if(trackStream == null) { - ErrorMessage = $"Can't found file containing {sectorAddress}"; + ErrorMessage = string.Format(Localization.Cant_find_file_containing_0, sectorAddress); return false; } if(track.BytesPerSector != track.RawBytesPerSector) { - ErrorMessage = "Invalid write mode for this sector"; + ErrorMessage = Localization.Invalid_write_mode_for_this_sector; return false; } if(sectorAddress + length > track.EndSector + 1) { - ErrorMessage = "Can't cross tracks"; + ErrorMessage = Localization.Cant_cross_tracks; return false; } if(data.Length % track.RawBytesPerSector != 0) { - ErrorMessage = "Incorrect data size"; + ErrorMessage = Localization.Incorrect_data_size; return false; } @@ -295,7 +295,7 @@ public sealed partial class Cdrdao return true; default: - ErrorMessage = "Invalid subchannel mode for this sector"; + ErrorMessage = Localization.Invalid_subchannel_mode_for_this_sector; return false; } @@ -306,7 +306,7 @@ public sealed partial class Cdrdao { if(!IsWriting) { - ErrorMessage = "Tried to write on a non-writable image"; + ErrorMessage = Localization.Tried_to_write_on_a_non_writable_image; return false; } @@ -316,7 +316,7 @@ public sealed partial class Cdrdao if(track is null) { - ErrorMessage = $"Can't found track containing {sectorAddress}"; + ErrorMessage = string.Format(Localization.Cant_find_track_containing_0, sectorAddress); return false; } @@ -325,14 +325,14 @@ public sealed partial class Cdrdao if(trackStream == null) { - ErrorMessage = $"Can't found file containing {sectorAddress}"; + ErrorMessage = string.Format(Localization.Cant_find_file_containing_0, sectorAddress); return false; } if(data.Length != track.RawBytesPerSector) { - ErrorMessage = "Incorrect data size"; + ErrorMessage = Localization.Incorrect_data_size; return false; } @@ -367,7 +367,7 @@ public sealed partial class Cdrdao { if(!IsWriting) { - ErrorMessage = "Tried to write on a non-writable image"; + ErrorMessage = Localization.Tried_to_write_on_a_non_writable_image; return false; } @@ -377,7 +377,7 @@ public sealed partial class Cdrdao if(track is null) { - ErrorMessage = $"Can't found track containing {sectorAddress}"; + ErrorMessage = string.Format(Localization.Cant_find_track_containing_0, sectorAddress); return false; } @@ -386,21 +386,21 @@ public sealed partial class Cdrdao if(trackStream == null) { - ErrorMessage = $"Can't found file containing {sectorAddress}"; + ErrorMessage = string.Format(Localization.Cant_find_file_containing_0, sectorAddress); return false; } if(sectorAddress + length > track.EndSector + 1) { - ErrorMessage = "Can't cross tracks"; + ErrorMessage = Localization.Cant_cross_tracks; return false; } if(data.Length % track.RawBytesPerSector != 0) { - ErrorMessage = "Incorrect data size"; + ErrorMessage = Localization.Incorrect_data_size; return false; } @@ -438,7 +438,7 @@ public sealed partial class Cdrdao { if(!IsWriting) { - ErrorMessage = "Tried to write on a non-writable image"; + ErrorMessage = Localization.Tried_to_write_on_a_non_writable_image; return false; } @@ -446,7 +446,7 @@ public sealed partial class Cdrdao if(tracks == null || tracks.Count == 0) { - ErrorMessage = "Invalid tracks sent"; + ErrorMessage = Localization.Invalid_tracks_sent; return false; } @@ -463,7 +463,8 @@ public sealed partial class Cdrdao { if(track.SubchannelType is TrackSubchannelType.Q16 or TrackSubchannelType.Q16Interleaved) { - ErrorMessage = $"Unsupported subchannel type {track.SubchannelType} for track {track.Sequence}"; + ErrorMessage = string.Format(Localization.Unsupported_subchannel_type_0_for_track_1, + track.SubchannelType, track.Sequence); return false; } @@ -504,7 +505,7 @@ public sealed partial class Cdrdao { if(!IsWriting) { - ErrorMessage = "Image is not opened for writing"; + ErrorMessage = Localization.Image_is_not_opened_for_writing; return false; } @@ -634,7 +635,7 @@ public sealed partial class Cdrdao /// public bool SetGeometry(uint cylinders, uint heads, uint sectorsPerTrack) { - ErrorMessage = "Unsupported feature"; + ErrorMessage = Localization.Unsupported_feature; return false; } @@ -644,7 +645,7 @@ public sealed partial class Cdrdao { if(!IsWriting) { - ErrorMessage = "Tried to write on a non-writable image"; + ErrorMessage = Localization.Tried_to_write_on_a_non_writable_image; return false; } @@ -654,7 +655,7 @@ public sealed partial class Cdrdao if(track is null) { - ErrorMessage = $"Can't found track containing {sectorAddress}"; + ErrorMessage = string.Format(Localization.Cant_find_track_containing_0, sectorAddress); return false; } @@ -665,7 +666,7 @@ public sealed partial class Cdrdao { if(data.Length != 1) { - ErrorMessage = "Incorrect data size for track flags"; + ErrorMessage = Localization.Incorrect_data_size_for_track_flags; return false; } @@ -685,15 +686,16 @@ public sealed partial class Cdrdao { if(track.SubchannelType == 0) { - ErrorMessage = $"Trying to write subchannel to track {track.Sequence - }, that does not have subchannel"; + ErrorMessage = + string.Format(Localization.Trying_to_write_subchannel_to_track_0_that_does_not_have_subchannel, + track.Sequence); return false; } if(data.Length != 96) { - ErrorMessage = "Incorrect data size for subchannel"; + ErrorMessage = Localization.Incorrect_data_size_for_subchannel; return false; } @@ -702,7 +704,7 @@ public sealed partial class Cdrdao if(trackStream == null) { - ErrorMessage = $"Can't found file containing {sectorAddress}"; + ErrorMessage = string.Format(Localization.Cant_find_file_containing_0, sectorAddress); return false; } @@ -716,7 +718,7 @@ public sealed partial class Cdrdao return true; } default: - ErrorMessage = $"Unsupported tag type {tag}"; + ErrorMessage = string.Format(Localization.Unsupported_tag_type_0, tag); return false; } @@ -727,7 +729,7 @@ public sealed partial class Cdrdao { if(!IsWriting) { - ErrorMessage = "Tried to write on a non-writable image"; + ErrorMessage = Localization.Tried_to_write_on_a_non_writable_image; return false; } @@ -737,7 +739,7 @@ public sealed partial class Cdrdao if(track is null) { - ErrorMessage = $"Can't found track containing {sectorAddress}"; + ErrorMessage = string.Format(Localization.Cant_find_track_containing_0, sectorAddress); return false; } @@ -750,15 +752,16 @@ public sealed partial class Cdrdao { if(track.SubchannelType == 0) { - ErrorMessage = $"Trying to write subchannel to track {track.Sequence - }, that does not have subchannel"; + ErrorMessage = + string.Format(Localization.Trying_to_write_subchannel_to_track_0_that_does_not_have_subchannel, + track.Sequence); return false; } if(data.Length % 96 != 0) { - ErrorMessage = "Incorrect data size for subchannel"; + ErrorMessage = Localization.Incorrect_data_size_for_subchannel; return false; } @@ -767,7 +770,7 @@ public sealed partial class Cdrdao if(trackStream == null) { - ErrorMessage = $"Can't found file containing {sectorAddress}"; + ErrorMessage = string.Format(Localization.Cant_find_file_containing_0, sectorAddress); return false; } @@ -784,7 +787,7 @@ public sealed partial class Cdrdao return true; } default: - ErrorMessage = $"Unsupported tag type {tag}"; + ErrorMessage = string.Format(Localization.Unsupported_tag_type_0, tag); return false; } diff --git a/Aaru.Images/CDRWin/Identify.cs b/Aaru.Images/CDRWin/Identify.cs index 4b2e8f132..e607b0a3d 100644 --- a/Aaru.Images/CDRWin/Identify.cs +++ b/Aaru.Images/CDRWin/Identify.cs @@ -105,9 +105,9 @@ public sealed partial class CdrWin } catch(Exception ex) { - AaruConsole.ErrorWriteLine("Exception trying to identify image file {0}", _cdrwinFilter); - AaruConsole.ErrorWriteLine("Exception: {0}", ex.Message); - AaruConsole.ErrorWriteLine("Stack trace: {0}", ex.StackTrace); + AaruConsole.ErrorWriteLine(Localization.Exception_trying_to_identify_image_file_0, _cdrwinFilter); + AaruConsole.ErrorWriteLine(Localization.Exception_0, ex.Message); + AaruConsole.ErrorWriteLine(Localization.Stack_trace_0, ex.StackTrace); return false; } diff --git a/Aaru.Images/CDRWin/Properties.cs b/Aaru.Images/CDRWin/Properties.cs index 8309e7938..244d4b86d 100644 --- a/Aaru.Images/CDRWin/Properties.cs +++ b/Aaru.Images/CDRWin/Properties.cs @@ -59,13 +59,13 @@ public sealed partial class CdrWin /// public ImageInfo Info => _imageInfo; /// - public string Name => "CDRWin cuesheet"; + public string Name => Localization.CdrWin_Name; /// public Guid Id => new("664568B2-15D4-4E64-8A7A-20BDA8B8386F"); /// public string Format => "CDRWin CUESheet"; /// - public string Author => "Natalia Portillo"; + public string Author => Authors.NataliaPortillo; /// public List Partitions { get; private set; } @@ -195,7 +195,7 @@ public sealed partial class CdrWin /// public IEnumerable<(string name, Type type, string description, object @default)> SupportedOptions => new[] { - ("separate", typeof(bool), "Write each track to a separate file.", (object)false) + ("separate", typeof(bool), Localization.Write_each_track_to_a_separate_file, (object)false) }; /// public IEnumerable KnownExtensions => new[] diff --git a/Aaru.Images/CDRWin/Read.cs b/Aaru.Images/CDRWin/Read.cs index c62e1b178..02f55ed51 100644 --- a/Aaru.Images/CDRWin/Read.cs +++ b/Aaru.Images/CDRWin/Read.cs @@ -145,7 +145,8 @@ public sealed partial class CdrWin if(trackCount + 1 != trackSeq) { - AaruConsole.ErrorWriteLine($"Found TRACK {trackSeq} out of order in line {lineNumber}"); + AaruConsole.ErrorWriteLine(string.Format(Localization.Found_TRACK_0_out_of_order_in_line_1, + trackSeq, lineNumber)); return ErrorNumber.InvalidArgument; } @@ -155,7 +156,7 @@ public sealed partial class CdrWin if(trackCount == 0) { - AaruConsole.ErrorWriteLine("No tracks found"); + AaruConsole.ErrorWriteLine(Localization.No_tracks_found); return ErrorNumber.InvalidArgument; } @@ -203,7 +204,7 @@ public sealed partial class CdrWin if(matchTruripDiscCrc32.Success) { - AaruConsole.DebugWriteLine("CDRWin plugin", "Found REM CRC32 at line {0}", lineNumber); + AaruConsole.DebugWriteLine("CDRWin plugin", Localization.Found_REM_CRC32_at_line_0, lineNumber); _discImage.DiscHashes.Add("crc32", matchTruripDiscCrc32.Groups[1].Value.ToLowerInvariant()); continue; @@ -211,7 +212,7 @@ public sealed partial class CdrWin if(matchTruripDiscMd5.Success) { - AaruConsole.DebugWriteLine("CDRWin plugin", "Found REM MD5 at line {0}", lineNumber); + AaruConsole.DebugWriteLine("CDRWin plugin", Localization.Found_REM_MD5_at_line_0, lineNumber); _discImage.DiscHashes.Add("md5", matchTruripDiscMd5.Groups[1].Value.ToLowerInvariant()); continue; @@ -219,7 +220,7 @@ public sealed partial class CdrWin if(matchTruripDiscSha1.Success) { - AaruConsole.DebugWriteLine("CDRWin plugin", "Found REM SHA1 at line {0}", lineNumber); + AaruConsole.DebugWriteLine("CDRWin plugin", Localization.Found_REM_SHA1_at_line_0, lineNumber); _discImage.DiscHashes.Add("sha1", matchTruripDiscSha1.Groups[1].Value.ToLowerInvariant()); continue; @@ -234,27 +235,30 @@ public sealed partial class CdrWin if(matchTruripTrackCrc32.Success) { - AaruConsole.DebugWriteLine("CDRWin plugin", "Found CRC32 for {1} {2} at line {0}", lineNumber, - matchTruripTrackCrc32.Groups[1].Value == "Trk" ? "track" : "gap", - matchTruripTrackCrc32.Groups[2].Value); + AaruConsole.DebugWriteLine("CDRWin plugin", Localization.Found_CRC32_for_1_2_at_line_0, + lineNumber, + matchTruripTrackCrc32.Groups[1].Value == "Trk" ? Localization.track + : Localization.gap, matchTruripTrackCrc32.Groups[2].Value); continue; } if(matchTruripTrackMd5.Success) { - AaruConsole.DebugWriteLine("CDRWin plugin", "Found CRC32 for {1} {2} at line {0}", lineNumber, - matchTruripTrackMd5.Groups[1].Value == "Trk" ? "track" : "gap", - matchTruripTrackMd5.Groups[2].Value); + AaruConsole.DebugWriteLine("CDRWin plugin", Localization.Found_MD5_for_1_2_at_line_0, + lineNumber, + matchTruripTrackMd5.Groups[1].Value == "Trk" ? Localization.track + : Localization.gap, matchTruripTrackMd5.Groups[2].Value); continue; } if(matchTruripTrackSha1.Success) { - AaruConsole.DebugWriteLine("CDRWin plugin", "Found CRC32 for {1} {2} at line {0}", lineNumber, - matchTruripTrackSha1.Groups[1].Value == "Trk" ? "track" : "gap", - matchTruripTrackSha1.Groups[2].Value); + AaruConsole.DebugWriteLine("CDRWin plugin", Localization.Found_SHA1_for_1_2_at_line_0, + lineNumber, + matchTruripTrackSha1.Groups[1].Value == "Trk" ? Localization.track + : Localization.gap, matchTruripTrackSha1.Groups[2].Value); continue; } @@ -262,10 +266,12 @@ public sealed partial class CdrWin if(matchTruripTrackUnknownHash.Success) { AaruConsole.DebugWriteLine("CDRWin plugin", - "Found unknown hash for {1} {2} at line {0}. Please report this disc image.", + Localization. + Found_unknown_hash_for_1_2_at_line_0_Please_report_this_disc_image, lineNumber, - matchTruripTrackUnknownHash.Groups[1].Value == "Trk" ? "track" - : "gap", matchTruripTrackUnknownHash.Groups[2].Value); + matchTruripTrackUnknownHash.Groups[1].Value == "Trk" + ? Localization.track : Localization.gap, + matchTruripTrackUnknownHash.Groups[2].Value); continue; } @@ -279,7 +285,7 @@ public sealed partial class CdrWin ulong.TryParse(matchDumpExtent.Groups["start"].Value, out ulong extentStart) && ulong.TryParse(matchDumpExtent.Groups["end"].Value, out ulong extentEnd)) { - AaruConsole.DebugWriteLine("CDRWin plugin", "Found REM METADATA DUMP EXTENT at line {0}", + AaruConsole.DebugWriteLine("CDRWin plugin", Localization.Found_REM_METADATA_DUMP_EXTENT_at_line_0, lineNumber); DumpHardware ??= new List(); @@ -331,36 +337,36 @@ public sealed partial class CdrWin else if(matchDicMediaType.Success && !inTrack) { - AaruConsole.DebugWriteLine("CDRWin plugin", "Found REM METADATA DIC MEDIA-TYPE at line {0}", - lineNumber); + AaruConsole.DebugWriteLine("CDRWin plugin", + Localization.Found_REM_METADATA_DIC_MEDIA_TYPE_at_line_0, lineNumber); _discImage.AaruMediaType = matchDicMediaType.Groups[1].Value; } else if(matchAaruMediaType.Success && !inTrack) { - AaruConsole.DebugWriteLine("CDRWin plugin", "Found REM METADATA AARU MEDIA-TYPE at line {0}", - lineNumber); + AaruConsole.DebugWriteLine("CDRWin plugin", + Localization.Found_REM_METADATA_AARU_MEDIA_TYPE_at_line_0, lineNumber); _discImage.AaruMediaType = matchAaruMediaType.Groups[1].Value; } else if(matchDiskType.Success && !inTrack) { - AaruConsole.DebugWriteLine("CDRWin plugin", "Found REM ORIGINAL MEDIA TYPE at line {0}", + AaruConsole.DebugWriteLine("CDRWin plugin", Localization.Found_REM_ORIGINAL_MEDIA_TYPE_at_line_0, lineNumber); _discImage.OriginalMediaType = matchDiskType.Groups[1].Value; } else if(matchSession.Success) { - AaruConsole.DebugWriteLine("CDRWin plugin", "Found REM SESSION at line {0}", lineNumber); + AaruConsole.DebugWriteLine("CDRWin plugin", Localization.Found_REM_SESSION_at_line_0, lineNumber); currentSession = byte.Parse(matchSession.Groups[1].Value); firstTrackInSession = true; } else if(matchRedumpSdArea.Success) { - AaruConsole.DebugWriteLine("CDRWin plugin", "Found REM SINGLE-DENSITY AREA at line {0}", + AaruConsole.DebugWriteLine("CDRWin plugin", Localization.Found_REM_SINGLE_DENSITY_AREA_at_line_0, lineNumber); _discImage.IsRedumpGigadisc = true; @@ -368,49 +374,55 @@ public sealed partial class CdrWin } else if(matchRedumpHdArea.Success) { - AaruConsole.DebugWriteLine("CDRWin plugin", "Found REM HIGH-DENSITY AREA at line {0}", lineNumber); + AaruConsole.DebugWriteLine("CDRWin plugin", Localization.Found_REM_HIGH_DENSITY_AREA_at_line_0, + lineNumber); _discImage.IsRedumpGigadisc = true; currentSession = 2; firstTrackInSession = true; } else if(matchLba.Success) - AaruConsole.DebugWriteLine("CDRWin plugin", "Found REM MSF at line {0}", lineNumber); + AaruConsole.DebugWriteLine("CDRWin plugin", Localization.Found_REM_MSF_at_line_0, lineNumber); else if(matchLeadOut.Success) { - AaruConsole.DebugWriteLine("CDRWin plugin", "Found REM LEAD-OUT at line {0}", lineNumber); + AaruConsole.DebugWriteLine("CDRWin plugin", Localization.Found_REM_LEAD_OUT_at_line_0, lineNumber); leadouts[currentSession] = CdrWinMsfToLba(matchLeadOut.Groups[1].Value); } else if(matchApplication.Success) { - AaruConsole.DebugWriteLine("CDRWin plugin", "Found REM Ripping Tool at line {0}", lineNumber); + AaruConsole.DebugWriteLine("CDRWin plugin", Localization.Found_REM_Ripping_Tool_at_line_0, + lineNumber); + _imageInfo.Application = matchApplication.Groups[1].Value; } else if(matchApplicationVersion.Success && !inTrack) { - AaruConsole.DebugWriteLine("CDRWin plugin", "Found REM Ripping Tool Version at line {0}", + AaruConsole.DebugWriteLine("CDRWin plugin", Localization.Found_REM_Ripping_Tool_Version_at_line_0, lineNumber); _imageInfo.ApplicationVersion = matchApplicationVersion.Groups[1].Value; } else if(matchTruripDisc.Success) { - AaruConsole.DebugWriteLine("CDRWin plugin", "Found REM DISC HASHES at line {0}", lineNumber); + AaruConsole.DebugWriteLine("CDRWin plugin", Localization.Found_REM_DISC_HASHES_at_line_0, + lineNumber); + inTruripDiscHash = true; } else if(matchTruripTrack.Success) { AaruConsole.DebugWriteLine("CDRWin plugin", - "Found REM Gap Append Method: {1} [{2}] HASHES at line {0}", lineNumber, - matchTruripTrack.Groups[1].Value, matchTruripTrack.Groups[2].Value); + Localization.Found_REM_Gap_Append_Method_1_2_HASHES_at_line_0, + lineNumber, matchTruripTrack.Groups[1].Value, + matchTruripTrack.Groups[2].Value); inTruripTrackHash = true; _discImage.IsTrurip = true; } else if(matchComment.Success) { - AaruConsole.DebugWriteLine("CDRWin plugin", "Found REM at line {0}", lineNumber); + AaruConsole.DebugWriteLine("CDRWin plugin", Localization.Found_REM_at_line_0, lineNumber); if(_discImage.Comment == "") _discImage.Comment = matchComment.Groups[1].Value; // First comment @@ -440,7 +452,7 @@ public sealed partial class CdrWin if(matchArranger.Success) { - AaruConsole.DebugWriteLine("CDRWin plugin", "Found ARRANGER at line {0}", lineNumber); + AaruConsole.DebugWriteLine("CDRWin plugin", Localization.Found_ARRANGER_at_line_0, lineNumber); if(inTrack) currentTrack.Arranger = matchArranger.Groups[1].Value; @@ -449,34 +461,40 @@ public sealed partial class CdrWin } else if(matchBarCode.Success) { - AaruConsole.DebugWriteLine("CDRWin plugin", "Found UPC_EAN at line {0}", lineNumber); + AaruConsole.DebugWriteLine("CDRWin plugin", Localization.Found_UPC_EAN_at_line_0, lineNumber); if(!inTrack) _discImage.Barcode = matchBarCode.Groups[1].Value; else { - AaruConsole.ErrorWriteLine($"Found barcode field in incorrect place at line {lineNumber}"); + AaruConsole. + ErrorWriteLine(string. + Format(Localization.Found_barcode_field_in_incorrect_place_at_line_0, + lineNumber)); return ErrorNumber.InvalidArgument; } } else if(matchCdText.Success) { - AaruConsole.DebugWriteLine("CDRWin plugin", "Found CDTEXTFILE at line {0}", lineNumber); + AaruConsole.DebugWriteLine("CDRWin plugin", Localization.Found_CDTEXTFILE_at_line_0, + lineNumber); if(!inTrack) _discImage.CdTextFile = matchCdText.Groups[1].Value; else { - AaruConsole.ErrorWriteLine($"Found CD-Text file field in incorrect place at line {lineNumber - }"); + AaruConsole. + ErrorWriteLine(string. + Format(Localization.Found_CD_Text_file_field_in_incorrect_place_at_line_0, + lineNumber)); return ErrorNumber.InvalidArgument; } } else if(matchComposer.Success) { - AaruConsole.DebugWriteLine("CDRWin plugin", "Found COMPOSER at line {0}", lineNumber); + AaruConsole.DebugWriteLine("CDRWin plugin", Localization.Found_COMPOSER_at_line_0, lineNumber); if(inTrack) currentTrack.Composer = matchComposer.Groups[1].Value; @@ -485,20 +503,23 @@ public sealed partial class CdrWin } else if(matchDiskId.Success) { - AaruConsole.DebugWriteLine("CDRWin plugin", "Found DISC_ID at line {0}", lineNumber); + AaruConsole.DebugWriteLine("CDRWin plugin", Localization.Found_DISC_ID_at_line_0, lineNumber); if(!inTrack) _discImage.DiscId = matchDiskId.Groups[1].Value; else { - AaruConsole.ErrorWriteLine($"Found CDDB ID field in incorrect place at line {lineNumber}"); + AaruConsole. + ErrorWriteLine(string. + Format(Localization.Found_CDDB_ID_field_in_incorrect_place_at_line_0, + lineNumber)); return ErrorNumber.InvalidArgument; } } else if(matchFile.Success) { - AaruConsole.DebugWriteLine("CDRWin plugin", "Found FILE at line {0}", lineNumber); + AaruConsole.DebugWriteLine("CDRWin plugin", Localization.Found_FILE_at_line_0, lineNumber); if(currentTrack.Sequence != 0) { @@ -548,8 +569,8 @@ public sealed partial class CdrWin if(currentFile.DataFilter == null) { - AaruConsole.ErrorWriteLine($"File \"{matchFile.Groups[1].Value - }\" not found."); + AaruConsole.ErrorWriteLine(string.Format(Localization.File_0_not_found, + matchFile.Groups[1].Value)); return ErrorNumber.NoSuchFile; } @@ -557,7 +578,8 @@ public sealed partial class CdrWin } else { - AaruConsole.ErrorWriteLine($"File \"{matchFile.Groups[1].Value}\" not found."); + AaruConsole.ErrorWriteLine(string.Format(Localization.File_0_not_found, + matchFile.Groups[1].Value)); return ErrorNumber.NoSuchFile; } @@ -585,8 +607,8 @@ public sealed partial class CdrWin if(currentFile.DataFilter == null) { - AaruConsole.ErrorWriteLine($"File \"{matchFile.Groups[1].Value - }\" not found."); + AaruConsole.ErrorWriteLine(string.Format(Localization.File_0_not_found, + matchFile.Groups[1].Value)); return ErrorNumber.NoSuchFile; } @@ -594,7 +616,8 @@ public sealed partial class CdrWin } else { - AaruConsole.ErrorWriteLine($"File \"{matchFile.Groups[1].Value}\" not found."); + AaruConsole.ErrorWriteLine(string.Format(Localization.File_0_not_found, + matchFile.Groups[1].Value)); return ErrorNumber.NoSuchFile; } @@ -606,14 +629,15 @@ public sealed partial class CdrWin if(currentFile.DataFilter == null) { - AaruConsole.ErrorWriteLine($"File \"{matchFile.Groups[1].Value}\" not found."); + AaruConsole.ErrorWriteLine(string.Format(Localization.File_0_not_found, + matchFile.Groups[1].Value)); return ErrorNumber.NoSuchFile; } } // File does exist, process it - AaruConsole.DebugWriteLine("CDRWin plugin", "File \"{0}\" found", + AaruConsole.DebugWriteLine("CDRWin plugin", Localization.File_0_found, currentFile.DataFilter.Filename); switch(currentFile.FileType) @@ -623,11 +647,13 @@ public sealed partial class CdrWin case CDRWIN_DISK_TYPE_AIFF: case CDRWIN_DISK_TYPE_RIFF: case CDRWIN_DISK_TYPE_MP3: - AaruConsole.ErrorWriteLine($"Unsupported file type {currentFile.FileType}"); + AaruConsole.ErrorWriteLine(string.Format(Localization.Unsupported_file_type_0, + currentFile.FileType)); return ErrorNumber.NotImplemented; default: - AaruConsole.ErrorWriteLine($"Unknown file type {currentFile.FileType}"); + AaruConsole.ErrorWriteLine(string.Format(Localization.Unknown_file_type_0, + currentFile.FileType)); return ErrorNumber.InvalidArgument; } @@ -637,11 +663,14 @@ public sealed partial class CdrWin } else if(matchFlags.Success) { - AaruConsole.DebugWriteLine("CDRWin plugin", "Found FLAGS at line {0}", lineNumber); + AaruConsole.DebugWriteLine("CDRWin plugin", Localization.Found_FLAGS_at_line_0, lineNumber); if(!inTrack) { - AaruConsole.ErrorWriteLine($"Found FLAGS field in incorrect place at line {lineNumber}"); + AaruConsole. + ErrorWriteLine(string. + Format(Localization.Found_FLAGS_field_in_incorrect_place_at_line_0, + lineNumber)); return ErrorNumber.InvalidArgument; } @@ -653,7 +682,7 @@ public sealed partial class CdrWin } else if(matchGenre.Success) { - AaruConsole.DebugWriteLine("CDRWin plugin", "Found GENRE at line {0}", lineNumber); + AaruConsole.DebugWriteLine("CDRWin plugin", Localization.Found_GENRE_at_line_0, lineNumber); if(inTrack) currentTrack.Genre = matchGenre.Groups[1].Value; @@ -662,11 +691,12 @@ public sealed partial class CdrWin } else if(matchIndex.Success) { - AaruConsole.DebugWriteLine("CDRWin plugin", "Found INDEX at line {0}", lineNumber); + AaruConsole.DebugWriteLine("CDRWin plugin", Localization.Found_INDEX_at_line_0, lineNumber); if(!inTrack) { - AaruConsole.ErrorWriteLine($"Found INDEX before a track {lineNumber}"); + AaruConsole.ErrorWriteLine(string.Format(Localization.Found_INDEX_before_a_track_0, + lineNumber)); return ErrorNumber.InvalidArgument; } @@ -678,7 +708,9 @@ public sealed partial class CdrWin index != 1 && currentTrack.Indexes.Count == 0) { - AaruConsole.ErrorWriteLine($"Found INDEX {index} before INDEX 00 or INDEX 01"); + AaruConsole. + ErrorWriteLine(string.Format(Localization.Found_INDEX_0_before_INDEX_00_or_INDEX_01, + index)); return ErrorNumber.InvalidArgument; } @@ -694,7 +726,7 @@ public sealed partial class CdrWin currentFile.Offset += cueTracks[currentTrack.Sequence - 2].Sectors * cueTracks[currentTrack.Sequence - 2].Bps; - AaruConsole.DebugWriteLine("CDRWin plugin", "Sets currentFile.offset to {0}", + AaruConsole.DebugWriteLine("CDRWin plugin", Localization.Sets_currentFile_offset_to_0, currentFile.Offset); AaruConsole.DebugWriteLine("CDRWin plugin", @@ -709,7 +741,7 @@ public sealed partial class CdrWin if((index == 0 || (index == 1 && !currentTrack.Indexes.ContainsKey(0))) && currentTrack.Sequence == 1) { - AaruConsole.DebugWriteLine("CDRWin plugin", "Sets currentFile.offset to {0}", + AaruConsole.DebugWriteLine("CDRWin plugin", Localization.Sets_currentFile_offset_to_0, offset * currentTrack.Bps); currentFile.Offset = (ulong)(offset * currentTrack.Bps); @@ -745,11 +777,12 @@ public sealed partial class CdrWin } else if(matchIsrc.Success) { - AaruConsole.DebugWriteLine("CDRWin plugin", "Found ISRC at line {0}", lineNumber); + AaruConsole.DebugWriteLine("CDRWin plugin", Localization.Found_ISRC_at_line_0, lineNumber); if(!inTrack) { - AaruConsole.ErrorWriteLine($"Found ISRC before a track {lineNumber}"); + AaruConsole.ErrorWriteLine(string.Format(Localization.Found_ISRC_before_a_track_0, + lineNumber)); return ErrorNumber.InvalidArgument; } @@ -758,20 +791,23 @@ public sealed partial class CdrWin } else if(matchMcn.Success) { - AaruConsole.DebugWriteLine("CDRWin plugin", "Found CATALOG at line {0}", lineNumber); + AaruConsole.DebugWriteLine("CDRWin plugin", Localization.Found_CATALOG_at_line_0, lineNumber); if(!inTrack) _discImage.Mcn = matchMcn.Groups[1].Value; else { - AaruConsole.ErrorWriteLine($"Found CATALOG field in incorrect place at line {lineNumber}"); + AaruConsole. + ErrorWriteLine(string. + Format(Localization.Found_CATALOG_field_in_incorrect_place_at_line_0, + lineNumber)); return ErrorNumber.InvalidArgument; } } else if(matchPerformer.Success) { - AaruConsole.DebugWriteLine("CDRWin plugin", "Found PERFORMER at line {0}", lineNumber); + AaruConsole.DebugWriteLine("CDRWin plugin", Localization.Found_PERFORMER_at_line_0, lineNumber); if(inTrack) currentTrack.Performer = matchPerformer.Groups[1].Value; @@ -780,24 +816,28 @@ public sealed partial class CdrWin } else if(matchPostgap.Success) { - AaruConsole.DebugWriteLine("CDRWin plugin", "Found POSTGAP at line {0}", lineNumber); + AaruConsole.DebugWriteLine("CDRWin plugin", Localization.Found_POSTGAP_at_line_0, lineNumber); if(inTrack) currentTrack.Postgap = CdrWinMsfToLba(matchPostgap.Groups[1].Value); else { - AaruConsole.ErrorWriteLine($"Found POSTGAP field before a track at line {lineNumber}"); + AaruConsole. + ErrorWriteLine(string.Format(Localization.Found_POSTGAP_field_before_a_track_at_line_0, + lineNumber)); return ErrorNumber.InvalidArgument; } } else if(matchPregap.Success) { - AaruConsole.DebugWriteLine("CDRWin plugin", "Found PREGAP at line {0}", lineNumber); + AaruConsole.DebugWriteLine("CDRWin plugin", Localization.Found_PREGAP_at_line_0, lineNumber); if(!inTrack) { - AaruConsole.ErrorWriteLine($"Found PREGAP field before a track at line {lineNumber}"); + AaruConsole. + ErrorWriteLine(string.Format(Localization.Found_PREGAP_field_before_a_track_at_line_0, + lineNumber)); return ErrorNumber.InvalidArgument; } @@ -806,7 +846,8 @@ public sealed partial class CdrWin } else if(matchSongWriter.Success) { - AaruConsole.DebugWriteLine("CDRWin plugin", "Found SONGWRITER at line {0}", lineNumber); + AaruConsole.DebugWriteLine("CDRWin plugin", Localization.Found_SONGWRITER_at_line_0, + lineNumber); if(inTrack) currentTrack.Songwriter = matchSongWriter.Groups[1].Value; @@ -815,7 +856,7 @@ public sealed partial class CdrWin } else if(matchTitle.Success) { - AaruConsole.DebugWriteLine("CDRWin plugin", "Found TITLE at line {0}", lineNumber); + AaruConsole.DebugWriteLine("CDRWin plugin", Localization.Found_TITLE_at_line_0, lineNumber); if(inTrack) currentTrack.Title = matchTitle.Groups[1].Value; @@ -824,12 +865,14 @@ public sealed partial class CdrWin } else if(matchTrack.Success) { - AaruConsole.DebugWriteLine("CDRWin plugin", "Found TRACK at line {0}", lineNumber); + AaruConsole.DebugWriteLine("CDRWin plugin", Localization.Found_TRACK_at_line_0, lineNumber); if(currentFile.DataFilter == null) { - AaruConsole.ErrorWriteLine($"Found TRACK field before a file is defined at line {lineNumber - }"); + AaruConsole. + ErrorWriteLine(string. + Format(Localization.Found_TRACK_field_before_a_file_is_defined_at_line_0, + lineNumber)); return ErrorNumber.InvalidArgument; } @@ -851,7 +894,7 @@ public sealed partial class CdrWin Sequence = uint.Parse(matchTrack.Groups[1].Value) }; - AaruConsole.DebugWriteLine("CDRWin plugin", "Setting currentTrack.sequence to {0}", + AaruConsole.DebugWriteLine("CDRWin plugin", Localization.Setting_currentTrack_sequence_to_0, currentTrack.Sequence); currentFile.Sequence = currentTrack.Sequence; @@ -862,8 +905,8 @@ public sealed partial class CdrWin } else if(line.Contains("INDEX 01 00:-2:00")) { - AaruConsole. - ErrorWriteLine("This image from PowerISO is damaged beyond possible recovery. Will not open."); + AaruConsole.ErrorWriteLine(Localization. + This_image_from_PowerISO_is_damaged_beyond_possible_recovery_Will_not_open); return ErrorNumber.InvalidArgument; } @@ -871,7 +914,8 @@ public sealed partial class CdrWin {} else // Non-empty unknown field { - AaruConsole.ErrorWriteLine($"Found unknown field defined at line {lineNumber}: \"{line}\""); + AaruConsole.ErrorWriteLine(string.Format(Localization.Found_unknown_field_defined_at_line_0_1, + lineNumber, line)); return ErrorNumber.NotSupported; } @@ -898,8 +942,8 @@ public sealed partial class CdrWin if(cueTracks.Any(t => t.Session > 1 || t.TrackFile.DataFilter.Path != firstFile) || cueTracks[0].Indexes.ContainsKey(0)) { - AaruConsole. - ErrorWriteLine("The data files are not correct according to the cuesheet file, cannot continue with this file."); + AaruConsole.ErrorWriteLine(Localization. + The_data_files_are_not_correct_according_to_the_cuesheet_file_cannot_continue_with_this_file); return ErrorNumber.InvalidArgument; } @@ -912,8 +956,8 @@ public sealed partial class CdrWin if(currentFile.DataFilter.Length - (long)cueTracks[currentTrack.Sequence - 1].TrackFile.Offset < 0) { - AaruConsole. - ErrorWriteLine("The data files are not correct according to the cuesheet file, cannot continue with this file."); + AaruConsole.ErrorWriteLine(Localization. + The_data_files_are_not_correct_according_to_the_cuesheet_file_cannot_continue_with_this_file); return ErrorNumber.InvalidArgument; } @@ -926,8 +970,8 @@ public sealed partial class CdrWin _lostPregap = (uint)cueTracks[0].Pregap; cueTracks[0].Sectors += _lostPregap; - AaruConsole. - ErrorWriteLine("The data files are missing a pregap or hidden track contents, will do best effort to make the rest of the image readable."); + AaruConsole.ErrorWriteLine(Localization. + The_data_files_are_missing_a_pregap_or_hidden_track_contents_will_do_best_effort_to_make_the_rest_of_the_image_readable); } Session[] sessions = new Session[currentSession]; @@ -1057,8 +1101,8 @@ public sealed partial class CdrWin _imageInfo.Application = "MagicISO"; _discImage.MediaType = MediaType.DVDROM; - AaruConsole. - ErrorWriteLine("This image is most probably corrupted beyond repair. It is highly recommended to dump it with another software."); + AaruConsole.ErrorWriteLine(Localization. + This_image_is_most_probably_corrupted_beyond_repair_It_is_highly_recommended_to_dump_it_with_another_software); } } @@ -1136,142 +1180,147 @@ public sealed partial class CdrWin } // DEBUG information - AaruConsole.DebugWriteLine("CDRWin plugin", "Disc image parsing results"); - AaruConsole.DebugWriteLine("CDRWin plugin", "Disc CD-TEXT:"); + AaruConsole.DebugWriteLine("CDRWin plugin", Localization.Disc_image_parsing_results); + AaruConsole.DebugWriteLine("CDRWin plugin", Localization.Disc_CD_TEXT); if(_discImage.Arranger == null) - AaruConsole.DebugWriteLine("CDRWin plugin", "\tArranger is not set."); + AaruConsole.DebugWriteLine("CDRWin plugin", "\t" + Localization.Arranger_is_not_set); else - AaruConsole.DebugWriteLine("CDRWin plugin", "\tArranger: {0}", _discImage.Arranger); + AaruConsole.DebugWriteLine("CDRWin plugin", "\t" + Localization.Arranger_0, _discImage.Arranger); if(_discImage.Composer == null) - AaruConsole.DebugWriteLine("CDRWin plugin", "\tComposer is not set."); + AaruConsole.DebugWriteLine("CDRWin plugin", "\t" + Localization.Composer_is_not_set); else - AaruConsole.DebugWriteLine("CDRWin plugin", "\tComposer: {0}", _discImage.Composer); + AaruConsole.DebugWriteLine("CDRWin plugin", "\t" + Localization.Composer_0, _discImage.Composer); if(_discImage.Genre == null) - AaruConsole.DebugWriteLine("CDRWin plugin", "\tGenre is not set."); + AaruConsole.DebugWriteLine("CDRWin plugin", "\t" + Localization.Genre_is_not_set); else - AaruConsole.DebugWriteLine("CDRWin plugin", "\tGenre: {0}", _discImage.Genre); + AaruConsole.DebugWriteLine("CDRWin plugin", "\t" + Localization.Genre_0, _discImage.Genre); if(_discImage.Performer == null) - AaruConsole.DebugWriteLine("CDRWin plugin", "\tPerformer is not set."); + AaruConsole.DebugWriteLine("CDRWin plugin", "\t" + Localization.Performer_is_not_set); else - AaruConsole.DebugWriteLine("CDRWin plugin", "\tPerformer: {0}", _discImage.Performer); + AaruConsole.DebugWriteLine("CDRWin plugin", "\t" + Localization.Performer_0, _discImage.Performer); if(_discImage.Songwriter == null) - AaruConsole.DebugWriteLine("CDRWin plugin", "\tSongwriter is not set."); + AaruConsole.DebugWriteLine("CDRWin plugin", "\t" + Localization.Songwriter_is_not_set); else - AaruConsole.DebugWriteLine("CDRWin plugin", "\tSongwriter: {0}", _discImage.Songwriter); + AaruConsole.DebugWriteLine("CDRWin plugin", "\t" + Localization.Songwriter_0, _discImage.Songwriter); if(_discImage.Title == null) - AaruConsole.DebugWriteLine("CDRWin plugin", "\tTitle is not set."); + AaruConsole.DebugWriteLine("CDRWin plugin", "\t" + Localization.Title_is_not_set); else - AaruConsole.DebugWriteLine("CDRWin plugin", "\tTitle: {0}", _discImage.Title); + AaruConsole.DebugWriteLine("CDRWin plugin", "\t" + Localization.Title_0, _discImage.Title); if(_discImage.CdTextFile == null) - AaruConsole.DebugWriteLine("CDRWin plugin", "\tCD-TEXT binary file not set."); + AaruConsole.DebugWriteLine("CDRWin plugin", "\t" + Localization.CD_TEXT_binary_file_not_set); else - AaruConsole.DebugWriteLine("CDRWin plugin", "\tCD-TEXT binary file: {0}", _discImage.CdTextFile); + AaruConsole.DebugWriteLine("CDRWin plugin", "\t" + Localization.CD_TEXT_binary_file_0, + _discImage.CdTextFile); - AaruConsole.DebugWriteLine("CDRWin plugin", "Disc information:"); + AaruConsole.DebugWriteLine("CDRWin plugin", Localization.Disc_information); if(_discImage.OriginalMediaType == null) - AaruConsole.DebugWriteLine("CDRWin plugin", "\tISOBuster disc type not set."); + AaruConsole.DebugWriteLine("CDRWin plugin", "\t" + Localization.ISOBuster_disc_type_not_set); else - AaruConsole.DebugWriteLine("CDRWin plugin", "\tISOBuster disc type: {0}", _discImage.OriginalMediaType); + AaruConsole.DebugWriteLine("CDRWin plugin", "\t" + Localization.ISOBuster_disc_type_0, + _discImage.OriginalMediaType); - AaruConsole.DebugWriteLine("CDRWin plugin", "\tGuessed disk type: {0}", _discImage.MediaType); + AaruConsole.DebugWriteLine("CDRWin plugin", "\t" + Localization.Guessed_disk_type_0, _discImage.MediaType); if(_discImage.Barcode == null) - AaruConsole.DebugWriteLine("CDRWin plugin", "\tBarcode not set."); + AaruConsole.DebugWriteLine("CDRWin plugin", "\t" + Localization.Barcode_not_set); else - AaruConsole.DebugWriteLine("CDRWin plugin", "\tBarcode: {0}", _discImage.Barcode); + AaruConsole.DebugWriteLine("CDRWin plugin", "\t" + Localization.Barcode_0, _discImage.Barcode); if(_discImage.DiscId == null) - AaruConsole.DebugWriteLine("CDRWin plugin", "\tDisc ID not set."); + AaruConsole.DebugWriteLine("CDRWin plugin", "\t" + Localization.Disc_ID_not_set); else - AaruConsole.DebugWriteLine("CDRWin plugin", "\tDisc ID: {0}", _discImage.DiscId); + AaruConsole.DebugWriteLine("CDRWin plugin", "\t" + Localization.Disc_ID_0, _discImage.DiscId); if(_discImage.Mcn == null) - AaruConsole.DebugWriteLine("CDRWin plugin", "\tMCN not set."); + AaruConsole.DebugWriteLine("CDRWin plugin", "\t" + Localization.MCN_not_set); else - AaruConsole.DebugWriteLine("CDRWin plugin", "\tMCN: {0}", _discImage.Mcn); + AaruConsole.DebugWriteLine("CDRWin plugin", "\t" + Localization.MCN_0, _discImage.Mcn); if(_discImage.Comment == null) - AaruConsole.DebugWriteLine("CDRWin plugin", "\tComment not set."); + AaruConsole.DebugWriteLine("CDRWin plugin", "\t" + Localization.Comment_not_set); else - AaruConsole.DebugWriteLine("CDRWin plugin", "\tComment: \"{0}\"", _discImage.Comment); + AaruConsole.DebugWriteLine("CDRWin plugin", "\t" + Localization.Comment_0, _discImage.Comment); - AaruConsole.DebugWriteLine("CDRWin plugin", "Track information:"); - AaruConsole.DebugWriteLine("CDRWin plugin", "\tDisc contains {0} tracks", _discImage.Tracks.Count); + AaruConsole.DebugWriteLine("CDRWin plugin", Localization.Track_information); + + AaruConsole.DebugWriteLine("CDRWin plugin", "\t" + Localization.Disc_contains_0_tracks, + _discImage.Tracks.Count); foreach(CdrWinTrack t in _discImage.Tracks) { - AaruConsole.DebugWriteLine("CDRWin plugin", "\tTrack {0} information:", t.Sequence); + AaruConsole.DebugWriteLine("CDRWin plugin", "\t" + Localization.Track_0_information, t.Sequence); - AaruConsole.DebugWriteLine("CDRWin plugin", "\t\t{0} bytes per sector", t.Bps); - AaruConsole.DebugWriteLine("CDRWin plugin", "\t\tPregap: {0} sectors", t.Pregap); - AaruConsole.DebugWriteLine("CDRWin plugin", "\t\tData: {0} sectors", t.Sectors); + AaruConsole.DebugWriteLine("CDRWin plugin", "\t\t" + Localization._0_bytes_per_sector, t.Bps); + AaruConsole.DebugWriteLine("CDRWin plugin", "\t\t" + Localization.Pregap_0_sectors, t.Pregap); + AaruConsole.DebugWriteLine("CDRWin plugin", "\t\t" + Localization.Data_0_sectors, t.Sectors); - AaruConsole.DebugWriteLine("CDRWin plugin", "\t\tPostgap: {0} sectors", t.Postgap); + AaruConsole.DebugWriteLine("CDRWin plugin", "\t\t" + Localization.Postgap_0_sectors, t.Postgap); if(t.Flag4Ch) - AaruConsole.DebugWriteLine("CDRWin plugin", "\t\tTrack is flagged as quadraphonic"); + AaruConsole.DebugWriteLine("CDRWin plugin", "\t\t" + Localization.Track_is_flagged_as_quadraphonic); if(t.FlagDcp) - AaruConsole.DebugWriteLine("CDRWin plugin", "\t\tTrack allows digital copy"); + AaruConsole.DebugWriteLine("CDRWin plugin", "\t\t" + Localization.Track_allows_digital_copy); if(t.FlagPre) - AaruConsole.DebugWriteLine("CDRWin plugin", "\t\tTrack has pre-emphasis applied"); + AaruConsole.DebugWriteLine("CDRWin plugin", "\t\t" + Localization.Track_has_pre_emphasis_applied); if(t.FlagScms) - AaruConsole.DebugWriteLine("CDRWin plugin", "\t\tTrack has SCMS"); + AaruConsole.DebugWriteLine("CDRWin plugin", "\t\t" + Localization.Track_has_SCMS); AaruConsole.DebugWriteLine("CDRWin plugin", - "\t\tTrack resides in file {0}, type defined as {1}, starting at byte {2}", + "\t\t" + Localization. + Track_resides_in_file_0_type_defined_as_1_starting_at_byte_2, t.TrackFile.DataFilter.Filename, t.TrackFile.FileType, t.TrackFile.Offset); - AaruConsole.DebugWriteLine("CDRWin plugin", "\t\tIndexes:"); + AaruConsole.DebugWriteLine("CDRWin plugin", "\t\t" + Localization.Indexes); foreach(KeyValuePair kvp in t.Indexes) - AaruConsole.DebugWriteLine("CDRWin plugin", "\t\t\tIndex {0} starts at sector {1}", kvp.Key, - kvp.Value); + AaruConsole.DebugWriteLine("CDRWin plugin", "\t\t\t" + Localization.Index_0_starts_at_sector_1, + kvp.Key, kvp.Value); if(t.Isrc == null) - AaruConsole.DebugWriteLine("CDRWin plugin", "\t\tISRC is not set."); + AaruConsole.DebugWriteLine("CDRWin plugin", "\t\t" + Localization.ISRC_is_not_set); else - AaruConsole.DebugWriteLine("CDRWin plugin", "\t\tISRC: {0}", t.Isrc); + AaruConsole.DebugWriteLine("CDRWin plugin", "\t\t" + Localization.ISRC_0, t.Isrc); if(t.Arranger == null) - AaruConsole.DebugWriteLine("CDRWin plugin", "\t\tArranger is not set."); + AaruConsole.DebugWriteLine("CDRWin plugin", "\t\t" + Localization.Arranger_is_not_set); else - AaruConsole.DebugWriteLine("CDRWin plugin", "\t\tArranger: {0}", t.Arranger); + AaruConsole.DebugWriteLine("CDRWin plugin", "\t\t" + Localization.Arranger_0, t.Arranger); if(t.Composer == null) - AaruConsole.DebugWriteLine("CDRWin plugin", "\t\tComposer is not set."); + AaruConsole.DebugWriteLine("CDRWin plugin", "\t\t" + Localization.Composer_is_not_set); else - AaruConsole.DebugWriteLine("CDRWin plugin", "\t\tComposer: {0}", t.Composer); + AaruConsole.DebugWriteLine("CDRWin plugin", "\t\t" + Localization.Composer_0, t.Composer); if(t.Genre == null) - AaruConsole.DebugWriteLine("CDRWin plugin", "\t\tGenre is not set."); + AaruConsole.DebugWriteLine("CDRWin plugin", "\t\t" + Localization.Genre_is_not_set); else - AaruConsole.DebugWriteLine("CDRWin plugin", "\t\tGenre: {0}", t.Genre); + AaruConsole.DebugWriteLine("CDRWin plugin", "\t\t" + Localization.Genre_0, t.Genre); if(t.Performer == null) - AaruConsole.DebugWriteLine("CDRWin plugin", "\t\tPerformer is not set."); + AaruConsole.DebugWriteLine("CDRWin plugin", "\t\t" + Localization.Performer_is_not_set); else - AaruConsole.DebugWriteLine("CDRWin plugin", "\t\tPerformer: {0}", t.Performer); + AaruConsole.DebugWriteLine("CDRWin plugin", "\t\t" + Localization.Performer_0, t.Performer); if(t.Songwriter == null) - AaruConsole.DebugWriteLine("CDRWin plugin", "\t\tSongwriter is not set."); + AaruConsole.DebugWriteLine("CDRWin plugin", "\t\t" + Localization.Songwriter_is_not_set); else - AaruConsole.DebugWriteLine("CDRWin plugin", "\t\tSongwriter: {0}", t.Songwriter); + AaruConsole.DebugWriteLine("CDRWin plugin", "\t\t" + Localization.Songwriter_0, t.Songwriter); if(t.Title == null) - AaruConsole.DebugWriteLine("CDRWin plugin", "\t\tTitle is not set."); + AaruConsole.DebugWriteLine("CDRWin plugin", "\t\t" + Localization.Title_is_not_set); else - AaruConsole.DebugWriteLine("CDRWin plugin", "\t\tTitle: {0}", t.Title); + AaruConsole.DebugWriteLine("CDRWin plugin", "\t\t" + Localization.Title_0, t.Title); } foreach(CdrWinTrack track in _discImage.Tracks) @@ -1331,25 +1380,29 @@ public sealed partial class CdrWin _imageInfo.Sectors = _discImage.Sessions.MaxBy(s => s.EndSector).EndSector + 1; - AaruConsole.DebugWriteLine("CDRWin plugin", "Session information:"); - AaruConsole.DebugWriteLine("CDRWin plugin", "\tDisc contains {0} sessions", _discImage.Sessions.Count); + AaruConsole.DebugWriteLine("CDRWin plugin", Localization.Session_information); + + AaruConsole.DebugWriteLine("CDRWin plugin", "\t" + Localization.Disc_contains_0_sessions, + _discImage.Sessions.Count); for(int i = 0; i < _discImage.Sessions.Count; i++) { - AaruConsole.DebugWriteLine("CDRWin plugin", "\tSession {0} information:", i + 1); + AaruConsole.DebugWriteLine("CDRWin plugin", "\t" + Localization.Session_0_information, i + 1); - AaruConsole.DebugWriteLine("CDRWin plugin", "\t\tStarting track: {0}", + AaruConsole.DebugWriteLine("CDRWin plugin", "\t\t" + Localization.Starting_track_0, _discImage.Sessions[i].StartTrack); - AaruConsole.DebugWriteLine("CDRWin plugin", "\t\tStarting sector: {0}", + AaruConsole.DebugWriteLine("CDRWin plugin", "\t\t" + Localization.Starting_sector_0, _discImage.Sessions[i].StartSector); - AaruConsole.DebugWriteLine("CDRWin plugin", "\t\tEnding track: {0}", _discImage.Sessions[i].EndTrack); + AaruConsole.DebugWriteLine("CDRWin plugin", "\t\t" + Localization.Ending_track_0, + _discImage.Sessions[i].EndTrack); - AaruConsole.DebugWriteLine("CDRWin plugin", "\t\tEnding sector: {0}", _discImage.Sessions[i].EndSector); + AaruConsole.DebugWriteLine("CDRWin plugin", "\t\t" + Localization.Ending_sector_0, + _discImage.Sessions[i].EndSector); } - AaruConsole.DebugWriteLine("CDRWin plugin", "Building offset map"); + AaruConsole.DebugWriteLine("CDRWin plugin", Localization.Building_offset_map); Partitions = new List(); @@ -1362,7 +1415,7 @@ public sealed partial class CdrWin if(_discImage.Tracks[i].Sequence == 1 && i != 0) { - AaruConsole.ErrorWriteLine("Unordered tracks"); + AaruConsole.ErrorWriteLine(Localization.Unordered_tracks); return ErrorNumber.InvalidArgument; } @@ -1371,13 +1424,14 @@ public sealed partial class CdrWin if(!_discImage.Tracks[i].Indexes.TryGetValue(1, out _)) { - AaruConsole.ErrorWriteLine($"Track {_discImage.Tracks[i].Sequence} lacks index 01"); + AaruConsole.ErrorWriteLine(string.Format(Localization.Track_0_lacks_index_01, + _discImage.Tracks[i].Sequence)); return ErrorNumber.InvalidArgument; } // Index 01 - partition.Description = $"Track {_discImage.Tracks[i].Sequence}."; + partition.Description = string.Format(Localization.Track_0, _discImage.Tracks[i].Sequence); partition.Name = _discImage.Tracks[i].Title; partition.Start = (ulong)_discImage.Tracks[i].Indexes[1]; partition.Size = _discImage.Tracks[i].Sectors * _discImage.Tracks[i].Bps; @@ -1404,18 +1458,28 @@ public sealed partial class CdrWin } // Print offset map - AaruConsole.DebugWriteLine("CDRWin plugin", "printing partition map"); + AaruConsole.DebugWriteLine("CDRWin plugin", Localization.printing_partition_map); foreach(Partition partition in Partitions) { - AaruConsole.DebugWriteLine("CDRWin plugin", "Partition sequence: {0}", partition.Sequence); - AaruConsole.DebugWriteLine("CDRWin plugin", "\tPartition name: {0}", partition.Name); - AaruConsole.DebugWriteLine("CDRWin plugin", "\tPartition description: {0}", partition.Description); - AaruConsole.DebugWriteLine("CDRWin plugin", "\tPartition type: {0}", partition.Type); - AaruConsole.DebugWriteLine("CDRWin plugin", "\tPartition starting sector: {0}", partition.Start); - AaruConsole.DebugWriteLine("CDRWin plugin", "\tPartition sectors: {0}", partition.Length); - AaruConsole.DebugWriteLine("CDRWin plugin", "\tPartition starting offset: {0}", partition.Offset); - AaruConsole.DebugWriteLine("CDRWin plugin", "\tPartition size in bytes: {0}", partition.Size); + AaruConsole.DebugWriteLine("CDRWin plugin", Localization.Partition_sequence_0, partition.Sequence); + AaruConsole.DebugWriteLine("CDRWin plugin", "\t" + Localization.Partition_name_0, partition.Name); + + AaruConsole.DebugWriteLine("CDRWin plugin", "\t" + Localization.Partition_description_0, + partition.Description); + + AaruConsole.DebugWriteLine("CDRWin plugin", "\t" + Localization.Partition_type_0, partition.Type); + + AaruConsole.DebugWriteLine("CDRWin plugin", "\t" + Localization.Partition_starting_sector_0, + partition.Start); + + AaruConsole.DebugWriteLine("CDRWin plugin", "\t" + Localization.Partition_sectors_0, partition.Length); + + AaruConsole.DebugWriteLine("CDRWin plugin", "\t" + Localization.Partition_starting_offset_0, + partition.Offset); + + AaruConsole.DebugWriteLine("CDRWin plugin", "\t" + Localization.Partition_size_in_bytes_0, + partition.Size); } if(_discImage.MediaType != MediaType.CDROMXA && @@ -1540,10 +1604,10 @@ public sealed partial class CdrWin _imageInfo.XmlMediaType = XmlMediaType.OpticalDisc; - AaruConsole.VerboseWriteLine("CDRWIN image describes a disc of type {0}", _imageInfo.MediaType); + AaruConsole.VerboseWriteLine(Localization.CDRWIN_image_describes_a_disc_of_type_0, _imageInfo.MediaType); if(!string.IsNullOrEmpty(_imageInfo.Comments)) - AaruConsole.VerboseWriteLine("CDRWIN comments: {0}", _imageInfo.Comments); + AaruConsole.VerboseWriteLine(Localization.CDRWIN_comments_0, _imageInfo.Comments); _sectorBuilder = new SectorBuilder(); @@ -1557,8 +1621,8 @@ public sealed partial class CdrWin !_discImage.IsRedumpGigadisc && _isCd) { - AaruConsole. - ErrorWriteLine("This image is missing vital multi-session data and cannot be read correctly."); + AaruConsole.ErrorWriteLine(Localization. + This_image_is_missing_vital_multi_session_data_and_cannot_be_read_correctly); return ErrorNumber.InvalidArgument; } @@ -1599,8 +1663,8 @@ public sealed partial class CdrWin } catch(Exception ex) { - AaruConsole.ErrorWriteLine("Exception trying to identify image file {0}", imageFilter.Filename); - AaruConsole.ErrorWriteLine("Exception: {0}", ex); + AaruConsole.ErrorWriteLine(Localization.Exception_trying_to_identify_image_file_0, imageFilter.Filename); + AaruConsole.ErrorWriteLine(Localization.Exception_0, ex); return ErrorNumber.UnexpectedException; } diff --git a/Aaru.Images/CDRWin/Verify.cs b/Aaru.Images/CDRWin/Verify.cs index f6f3b710f..5c3cd3661 100644 --- a/Aaru.Images/CDRWin/Verify.cs +++ b/Aaru.Images/CDRWin/Verify.cs @@ -80,8 +80,8 @@ public sealed partial class CdrWin } string verifySha1 = ctx.End(); - AaruConsole.DebugWriteLine("CDRWin plugin", "Calculated SHA1: {0}", verifySha1); - AaruConsole.DebugWriteLine("CDRWin plugin", "Expected SHA1: {0}", sha1); + AaruConsole.DebugWriteLine("CDRWin plugin", Localization.Calculated_SHA1_0, verifySha1); + AaruConsole.DebugWriteLine("CDRWin plugin", Localization.Expected_SHA1_0, sha1); return verifySha1 == sha1; } @@ -108,8 +108,8 @@ public sealed partial class CdrWin } string verifyMd5 = ctx.End(); - AaruConsole.DebugWriteLine("CDRWin plugin", "Calculated MD5: {0}", verifyMd5); - AaruConsole.DebugWriteLine("CDRWin plugin", "Expected MD5: {0}", md5); + AaruConsole.DebugWriteLine("CDRWin plugin", Localization.Calculated_MD5_0, verifyMd5); + AaruConsole.DebugWriteLine("CDRWin plugin", Localization.Expected_MD5_0, md5); return verifyMd5 == md5; } @@ -136,14 +136,14 @@ public sealed partial class CdrWin } string verifyCrc = ctx.End(); - AaruConsole.DebugWriteLine("CDRWin plugin", "Calculated CRC32: {0}", verifyCrc); - AaruConsole.DebugWriteLine("CDRWin plugin", "Expected CRC32: {0}", crc32); + AaruConsole.DebugWriteLine("CDRWin plugin", Localization.Calculated_CRC32_0, verifyCrc); + AaruConsole.DebugWriteLine("CDRWin plugin", Localization.Expected_CRC32_0, crc32); return verifyCrc == crc32; } foreach(string hash in _discImage.DiscHashes.Keys) - AaruConsole.DebugWriteLine("CDRWin plugin", "Found unsupported hash {0}", hash); + AaruConsole.DebugWriteLine("CDRWin plugin", Localization.Found_unsupported_hash_0, hash); return null; } diff --git a/Aaru.Images/CDRWin/Write.cs b/Aaru.Images/CDRWin/Write.cs index 11835a418..1be4e9d46 100644 --- a/Aaru.Images/CDRWin/Write.cs +++ b/Aaru.Images/CDRWin/Write.cs @@ -54,14 +54,14 @@ public sealed partial class CdrWin { if(!bool.TryParse(tmpValue, out _separateTracksWriting)) { - ErrorMessage = "Invalid value for split option"; + ErrorMessage = Localization.Invalid_value_for_split_option; return false; } if(_separateTracksWriting) { - ErrorMessage = "Separate tracks not yet implemented"; + ErrorMessage = Localization.Separate_tracks_not_yet_implemented; return false; } @@ -72,7 +72,7 @@ public sealed partial class CdrWin if(!SupportedMediaTypes.Contains(mediaType)) { - ErrorMessage = $"Unsupported media format {mediaType}"; + ErrorMessage = string.Format(Localization.Unsupported_media_format_0, mediaType); return false; } @@ -93,7 +93,7 @@ public sealed partial class CdrWin } catch(IOException e) { - ErrorMessage = $"Could not create new image file, exception {e.Message}"; + ErrorMessage = string.Format(Localization.Could_not_create_new_image_file_exception_0, e.Message); return false; } @@ -127,7 +127,7 @@ public sealed partial class CdrWin { if(!IsWriting) { - ErrorMessage = "Tried to write on a non-writable image"; + ErrorMessage = Localization.Tried_to_write_on_a_non_writable_image; return false; } @@ -148,7 +148,7 @@ public sealed partial class CdrWin return true; default: - ErrorMessage = $"Unsupported media tag {tag}"; + ErrorMessage = string.Format(Localization.Unsupported_media_tag_0, tag); return false; } @@ -159,7 +159,7 @@ public sealed partial class CdrWin { if(!IsWriting) { - ErrorMessage = "Tried to write on a non-writable image"; + ErrorMessage = Localization.Tried_to_write_on_a_non_writable_image; return false; } @@ -169,7 +169,7 @@ public sealed partial class CdrWin if(track is null) { - ErrorMessage = $"Can't found track containing {sectorAddress}"; + ErrorMessage = string.Format(Localization.Cant_find_track_containing_0, sectorAddress); return false; } @@ -178,21 +178,21 @@ public sealed partial class CdrWin if(trackStream == null) { - ErrorMessage = $"Can't found file containing {sectorAddress}"; + ErrorMessage = string.Format(Localization.Cant_find_file_containing_0, sectorAddress); return false; } if(track.BytesPerSector != track.RawBytesPerSector) { - ErrorMessage = "Invalid write mode for this sector"; + ErrorMessage = Localization.Invalid_write_mode_for_this_sector; return false; } if(data.Length != track.RawBytesPerSector) { - ErrorMessage = "Incorrect data size"; + ErrorMessage = Localization.Incorrect_data_size; return false; } @@ -211,7 +211,7 @@ public sealed partial class CdrWin { if(!IsWriting) { - ErrorMessage = "Tried to write on a non-writable image"; + ErrorMessage = Localization.Tried_to_write_on_a_non_writable_image; return false; } @@ -221,7 +221,7 @@ public sealed partial class CdrWin if(track is null) { - ErrorMessage = $"Can't found track containing {sectorAddress}"; + ErrorMessage = string.Format(Localization.Cant_find_track_containing_0, sectorAddress); return false; } @@ -230,28 +230,28 @@ public sealed partial class CdrWin if(trackStream == null) { - ErrorMessage = $"Can't found file containing {sectorAddress}"; + ErrorMessage = string.Format(Localization.Cant_find_file_containing_0, sectorAddress); return false; } if(track.BytesPerSector != track.RawBytesPerSector) { - ErrorMessage = "Invalid write mode for this sector"; + ErrorMessage = Localization.Invalid_write_mode_for_this_sector; return false; } if(sectorAddress + length > track.EndSector + 1) { - ErrorMessage = "Can't cross tracks"; + ErrorMessage = Localization.Cant_cross_tracks; return false; } if(data.Length % track.RawBytesPerSector != 0) { - ErrorMessage = "Incorrect data size"; + ErrorMessage = Localization.Incorrect_data_size; return false; } @@ -270,7 +270,7 @@ public sealed partial class CdrWin { if(!IsWriting) { - ErrorMessage = "Tried to write on a non-writable image"; + ErrorMessage = Localization.Tried_to_write_on_a_non_writable_image; return false; } @@ -280,7 +280,7 @@ public sealed partial class CdrWin if(track is null) { - ErrorMessage = $"Can't found track containing {sectorAddress}"; + ErrorMessage = string.Format(Localization.Cant_find_track_containing_0, sectorAddress); return false; } @@ -289,14 +289,14 @@ public sealed partial class CdrWin if(trackStream == null) { - ErrorMessage = $"Can't found file containing {sectorAddress}"; + ErrorMessage = string.Format(Localization.Cant_find_file_containing_0, sectorAddress); return false; } if(data.Length != track.RawBytesPerSector) { - ErrorMessage = "Incorrect data size"; + ErrorMessage = Localization.Incorrect_data_size; return false; } @@ -315,7 +315,7 @@ public sealed partial class CdrWin { if(!IsWriting) { - ErrorMessage = "Tried to write on a non-writable image"; + ErrorMessage = Localization.Tried_to_write_on_a_non_writable_image; return false; } @@ -325,7 +325,7 @@ public sealed partial class CdrWin if(track is null) { - ErrorMessage = $"Can't found track containing {sectorAddress}"; + ErrorMessage = string.Format(Localization.Cant_find_track_containing_0, sectorAddress); return false; } @@ -334,21 +334,21 @@ public sealed partial class CdrWin if(trackStream == null) { - ErrorMessage = $"Can't found file containing {sectorAddress}"; + ErrorMessage = string.Format(Localization.Cant_find_file_containing_0, sectorAddress); return false; } if(sectorAddress + length > track.EndSector + 1) { - ErrorMessage = "Can't cross tracks"; + ErrorMessage = Localization.Cant_cross_tracks; return false; } if(data.Length % track.RawBytesPerSector != 0) { - ErrorMessage = "Incorrect data size"; + ErrorMessage = Localization.Incorrect_data_size; return false; } @@ -367,7 +367,7 @@ public sealed partial class CdrWin { if(!IsWriting) { - ErrorMessage = "Tried to write on a non-writable image"; + ErrorMessage = Localization.Tried_to_write_on_a_non_writable_image; return false; } @@ -375,7 +375,7 @@ public sealed partial class CdrWin if(tracks == null || tracks.Count == 0) { - ErrorMessage = "Invalid tracks sent"; + ErrorMessage = Localization.Invalid_tracks_sent; return false; } @@ -420,7 +420,7 @@ public sealed partial class CdrWin { if(!IsWriting) { - ErrorMessage = "Image is not opened for writing"; + ErrorMessage = Localization.Image_is_not_opened_for_writing; return false; } @@ -592,7 +592,7 @@ public sealed partial class CdrWin /// public bool SetGeometry(uint cylinders, uint heads, uint sectorsPerTrack) { - ErrorMessage = "Unsupported feature"; + ErrorMessage = Localization.Unsupported_feature; return false; } @@ -602,7 +602,7 @@ public sealed partial class CdrWin { if(!IsWriting) { - ErrorMessage = "Tried to write on a non-writable image"; + ErrorMessage = Localization.Tried_to_write_on_a_non_writable_image; return false; } @@ -612,7 +612,7 @@ public sealed partial class CdrWin if(track is null) { - ErrorMessage = $"Can't found track containing {sectorAddress}"; + ErrorMessage = string.Format(Localization.Cant_find_track_containing_0, sectorAddress); return false; } @@ -623,7 +623,7 @@ public sealed partial class CdrWin { if(data.Length != 1) { - ErrorMessage = "Incorrect data size for track flags"; + ErrorMessage = Localization.Incorrect_data_size_for_track_flags; return false; } @@ -640,7 +640,7 @@ public sealed partial class CdrWin return true; } default: - ErrorMessage = $"Unsupported tag type {tag}"; + ErrorMessage = string.Format(Localization.Unsupported_tag_type_0, tag); return false; } diff --git a/Aaru.Images/CHD/Helpers.cs b/Aaru.Images/CHD/Helpers.cs index 4b32021ed..46e583a36 100644 --- a/Aaru.Images/CHD/Helpers.cs +++ b/Aaru.Images/CHD/Helpers.cs @@ -81,7 +81,8 @@ public sealed partial class Chd buffer = compHunk; else if((Compression)_hdrCompression > Compression.Zlib) { - AaruConsole.ErrorWriteLine($"Unsupported compression {(Compression)_hdrCompression}"); + AaruConsole.ErrorWriteLine(string.Format(Localization.Unsupported_compression_0, + (Compression)_hdrCompression)); return ErrorNumber.InvalidArgument; } @@ -93,8 +94,10 @@ public sealed partial class Chd if(read != _sectorsPerHunk * _imageInfo.SectorSize) { - AaruConsole.ErrorWriteLine($"Unable to decompress hunk correctly, got {read} bytes, expected { - _sectorsPerHunk * _imageInfo.SectorSize}"); + AaruConsole. + ErrorWriteLine(string. + Format(Localization.Unable_to_decompress_hunk_correctly_got_0_bytes_expected_1, + read, _sectorsPerHunk * _imageInfo.SectorSize)); return ErrorNumber.InOutError; } @@ -111,7 +114,7 @@ public sealed partial class Chd switch((EntryFlagsV3)(entry.flags & 0x0F)) { case EntryFlagsV3.Invalid: - AaruConsole.ErrorWriteLine("Invalid hunk found."); + AaruConsole.ErrorWriteLine(Localization.Invalid_hunk_found); return ErrorNumber.InvalidArgument; case EntryFlagsV3.Compressed: @@ -134,8 +137,10 @@ public sealed partial class Chd if(read != _bytesPerHunk) { - AaruConsole.ErrorWriteLine($"Unable to decompress hunk correctly, got {read - } bytes, expected {_bytesPerHunk}"); + AaruConsole. + ErrorWriteLine(string. + Format(Localization.Unable_to_decompress_hunk_correctly_got_0_bytes_expected_1, + read, _bytesPerHunk)); return ErrorNumber.InOutError; } @@ -146,14 +151,16 @@ public sealed partial class Chd // TODO: Guess wth is MAME doing with these hunks else { - AaruConsole.ErrorWriteLine("Compressed CD/GD-ROM hunks are not yet supported"); + AaruConsole.ErrorWriteLine(Localization. + Compressed_CD_GD_ROM_hunks_are_not_yet_supported); return ErrorNumber.NotImplemented; } break; case Compression.Av: - AaruConsole.ErrorWriteLine($"Unsupported compression {(Compression)_hdrCompression}"); + AaruConsole.ErrorWriteLine(string.Format(Localization.Unsupported_compression_0, + (Compression)_hdrCompression)); return ErrorNumber.NotImplemented; } @@ -176,15 +183,16 @@ public sealed partial class Chd break; case EntryFlagsV3.SelfHunk: return GetHunk(entry.offset, out buffer); case EntryFlagsV3.ParentHunk: - AaruConsole.ErrorWriteLine("Parent images are not supported"); + AaruConsole.ErrorWriteLine(Localization.Parent_images_are_not_supported); return ErrorNumber.NotImplemented; case EntryFlagsV3.SecondCompressed: - AaruConsole.ErrorWriteLine("FLAC is not supported"); + AaruConsole.ErrorWriteLine(Localization.FLAC_is_not_supported); return ErrorNumber.NotImplemented; default: - AaruConsole.ErrorWriteLine($"Hunk type {entry.flags & 0xF} is not supported"); + AaruConsole.ErrorWriteLine(string.Format(Localization.Hunk_type_0_is_not_supported, + entry.flags & 0xF)); return ErrorNumber.NotSupported; } @@ -199,14 +207,14 @@ public sealed partial class Chd } else { - AaruConsole.ErrorWriteLine("Compressed v5 hunks not yet supported"); + AaruConsole.ErrorWriteLine(Localization.Compressed_v5_hunks_not_yet_supported); return ErrorNumber.NotSupported; } break; default: - AaruConsole.ErrorWriteLine($"Unsupported hunk map version {_mapVersion}"); + AaruConsole.ErrorWriteLine(string.Format(Localization.Unsupported_hunk_map_version_0, _mapVersion)); return ErrorNumber.NotSupported; } diff --git a/Aaru.Images/CHD/Properties.cs b/Aaru.Images/CHD/Properties.cs index 100f3c59c..c5cf93b2f 100644 --- a/Aaru.Images/CHD/Properties.cs +++ b/Aaru.Images/CHD/Properties.cs @@ -44,13 +44,13 @@ public sealed partial class Chd /// public ImageInfo Info => _imageInfo; /// - public string Name => "MAME Compressed Hunks of Data"; + public string Name => Localization.Chd_Name; /// public Guid Id => new("0D50233A-08BD-47D4-988B-27EAA0358597"); /// public string Format => "Compressed Hunks of Data"; /// - public string Author => "Natalia Portillo"; + public string Author => Authors.NataliaPortillo; /// public List Partitions => _isHdd ? null : _partitions; diff --git a/Aaru.Images/CHD/Read.cs b/Aaru.Images/CHD/Read.cs index 9f1a0bd69..d4910249b 100644 --- a/Aaru.Images/CHD/Read.cs +++ b/Aaru.Images/CHD/Read.cs @@ -102,7 +102,7 @@ public sealed partial class Chd ArrayHelpers.ArrayIsNullOrEmpty(hdrV1.parentmd5) ? "null" : ArrayHelpers.ByteArrayToHex(hdrV1.parentmd5)); - AaruConsole.DebugWriteLine("CHD plugin", "Reading Hunk map."); + AaruConsole.DebugWriteLine("CHD plugin", Localization.Reading_Hunk_map); DateTime start = DateTime.UtcNow; _hunkTable = new ulong[hdrV1.totalhunks]; @@ -129,7 +129,7 @@ public sealed partial class Chd } DateTime end = DateTime.UtcNow; - AaruConsole.DebugWriteLine("CHD plugin", "Took {0} seconds", (end - start).TotalSeconds); + AaruConsole.DebugWriteLine("CHD plugin", Localization.Took_0_seconds, (end - start).TotalSeconds); _imageInfo.MediaType = MediaType.GENERIC_HDD; _imageInfo.Sectors = hdrV1.hunksize * hdrV1.totalhunks; @@ -176,7 +176,7 @@ public sealed partial class Chd AaruConsole.DebugWriteLine("CHD plugin", "hdrV2.seclen = {0}", hdrV2.seclen); - AaruConsole.DebugWriteLine("CHD plugin", "Reading Hunk map."); + AaruConsole.DebugWriteLine("CHD plugin", Localization.Reading_Hunk_map); DateTime start = DateTime.UtcNow; _hunkTable = new ulong[hdrV2.totalhunks]; @@ -204,7 +204,7 @@ public sealed partial class Chd } DateTime end = DateTime.UtcNow; - AaruConsole.DebugWriteLine("CHD plugin", "Took {0} seconds", (end - start).TotalSeconds); + AaruConsole.DebugWriteLine("CHD plugin", Localization.Took_0_seconds, (end - start).TotalSeconds); _imageInfo.MediaType = MediaType.GENERIC_HDD; _imageInfo.Sectors = hdrV2.hunksize * hdrV2.totalhunks; @@ -255,14 +255,14 @@ public sealed partial class Chd ArrayHelpers.ArrayIsNullOrEmpty(hdrV3.parentsha1) ? "null" : ArrayHelpers.ByteArrayToHex(hdrV3.parentsha1)); - AaruConsole.DebugWriteLine("CHD plugin", "Reading Hunk map."); + AaruConsole.DebugWriteLine("CHD plugin", Localization.Reading_Hunk_map); DateTime start = DateTime.UtcNow; _hunkMap = new byte[hdrV3.totalhunks * 16]; stream.EnsureRead(_hunkMap, 0, _hunkMap.Length); DateTime end = DateTime.UtcNow; - AaruConsole.DebugWriteLine("CHD plugin", "Took {0} seconds", (end - start).TotalSeconds); + AaruConsole.DebugWriteLine("CHD plugin", Localization.Took_0_seconds, (end - start).TotalSeconds); nextMetaOff = hdrV3.metaoffset; @@ -303,14 +303,14 @@ public sealed partial class Chd AaruConsole.DebugWriteLine("CHD plugin", "hdrV4.rawsha1 = {0}", ArrayHelpers.ByteArrayToHex(hdrV4.rawsha1)); - AaruConsole.DebugWriteLine("CHD plugin", "Reading Hunk map."); + AaruConsole.DebugWriteLine("CHD plugin", Localization.Reading_Hunk_map); DateTime start = DateTime.UtcNow; _hunkMap = new byte[hdrV4.totalhunks * 16]; stream.EnsureRead(_hunkMap, 0, _hunkMap.Length); DateTime end = DateTime.UtcNow; - AaruConsole.DebugWriteLine("CHD plugin", "Took {0} seconds", (end - start).TotalSeconds); + AaruConsole.DebugWriteLine("CHD plugin", Localization.Took_0_seconds, (end - start).TotalSeconds); nextMetaOff = hdrV4.metaoffset; @@ -328,7 +328,7 @@ public sealed partial class Chd case 5: { // TODO: Check why reading is misaligned - AaruConsole.ErrorWriteLine("CHD version 5 is not yet supported."); + AaruConsole.ErrorWriteLine(Localization.CHD_version_5_is_not_yet_supported); return ErrorNumber.NotImplemented; @@ -369,7 +369,7 @@ public sealed partial class Chd // TODO: Implement compressed CHD v5 if(hdrV5.compressor0 == 0) { - AaruConsole.DebugWriteLine("CHD plugin", "Reading Hunk map."); + AaruConsole.DebugWriteLine("CHD plugin", Localization.Reading_Hunk_map); DateTime start = DateTime.UtcNow; _hunkTableSmall = new uint[hdrV5.logicalbytes / hdrV5.hunkbytes]; @@ -401,11 +401,11 @@ public sealed partial class Chd } DateTime end = DateTime.UtcNow; - AaruConsole.DebugWriteLine("CHD plugin", "Took {0} seconds", (end - start).TotalSeconds); + AaruConsole.DebugWriteLine("CHD plugin", Localization.Took_0_seconds, (end - start).TotalSeconds); } else { - AaruConsole.ErrorWriteLine("Cannot read compressed CHD version 5"); + AaruConsole.ErrorWriteLine(Localization.Cannot_read_compressed_CHD_version_5); return ErrorNumber.NotSupported; } @@ -427,7 +427,7 @@ public sealed partial class Chd } default: - AaruConsole.ErrorWriteLine($"Unsupported CHD version {version}"); + AaruConsole.ErrorWriteLine(string.Format(Localization.Unsupported_CHD_version_0, version)); return ErrorNumber.NotSupported; } @@ -440,7 +440,7 @@ public sealed partial class Chd _swapAudio = false; _tracks = new Dictionary(); - AaruConsole.DebugWriteLine("CHD plugin", "Reading metadata."); + AaruConsole.DebugWriteLine("CHD plugin", Localization.Reading_metadata); ulong currentSector = 0; uint currentTrack = 1; @@ -454,7 +454,7 @@ public sealed partial class Chd byte[] meta = new byte[header.flagsAndLength & 0xFFFFFF]; stream.EnsureRead(meta, 0, meta.Length); - AaruConsole.DebugWriteLine("CHD plugin", "Found metadata \"{0}\"", + AaruConsole.DebugWriteLine("CHD plugin", Localization.Found_metadata_0_, Encoding.ASCII.GetString(BigEndianBitConverter.GetBytes(header.tag))); switch(header.tag) @@ -463,8 +463,8 @@ public sealed partial class Chd case HARD_DISK_METADATA: if(_isCdrom || _isGdrom) { - AaruConsole. - ErrorWriteLine("Image cannot be a hard disk and a C/GD-ROM at the same time, aborting."); + AaruConsole.ErrorWriteLine(Localization. + Image_cannot_be_a_hard_disk_and_a_CGD_ROM_at_the_same_time_aborting); return ErrorNumber.NotSupported; } @@ -488,16 +488,16 @@ public sealed partial class Chd case CDROM_OLD_METADATA: if(_isHdd) { - AaruConsole. - ErrorWriteLine("Image cannot be a hard disk and a CD-ROM at the same time, aborting."); + AaruConsole.ErrorWriteLine(Localization. + Image_cannot_be_a_hard_disk_and_a_CD_ROM_at_the_same_time_aborting); return ErrorNumber.NotSupported; } if(_isGdrom) { - AaruConsole. - ErrorWriteLine("Image cannot be a GD-ROM and a CD-ROM at the same time, aborting."); + AaruConsole.ErrorWriteLine(Localization. + Image_cannot_be_a_GD_ROM_and_a_CD_ROM_at_the_same_time_aborting); return ErrorNumber.NotSupported; } @@ -571,7 +571,8 @@ public sealed partial class Chd break; default: { - AaruConsole.ErrorWriteLine($"Unsupported track type {chdTrack.type}"); + AaruConsole.ErrorWriteLine(string.Format(Localization.Unsupported_track_type_0, + chdTrack.type)); return ErrorNumber.NotSupported; } @@ -597,13 +598,14 @@ public sealed partial class Chd break; default: { - AaruConsole.ErrorWriteLine($"Unsupported subchannel type {chdTrack.type}"); + AaruConsole.ErrorWriteLine(string.Format(Localization.Unsupported_subchannel_type_0, + chdTrack.type)); return ErrorNumber.NotSupported; } } - aaruTrack.Description = $"Track {i + 1}"; + aaruTrack.Description = string.Format(Localization.Track_0, i + 1); aaruTrack.EndSector = currentSector + chdTrack.frames - 1; aaruTrack.File = imageFilter.Filename; aaruTrack.FileType = "BINARY"; @@ -628,16 +630,16 @@ public sealed partial class Chd case CDROM_TRACK_METADATA: if(_isHdd) { - AaruConsole. - ErrorWriteLine("Image cannot be a hard disk and a CD-ROM at the same time, aborting."); + AaruConsole.ErrorWriteLine(Localization. + Image_cannot_be_a_hard_disk_and_a_CD_ROM_at_the_same_time_aborting); return ErrorNumber.NotSupported; } if(_isGdrom) { - AaruConsole. - ErrorWriteLine("Image cannot be a GD-ROM and a CD-ROM at the same time, aborting."); + AaruConsole.ErrorWriteLine(Localization. + Image_cannot_be_a_GD_ROM_and_a_CD_ROM_at_the_same_time_aborting); return ErrorNumber.NotSupported; } @@ -657,7 +659,7 @@ public sealed partial class Chd if(trackNo != currentTrack) { - AaruConsole.ErrorWriteLine("Unsorted tracks, cannot proceed."); + AaruConsole.ErrorWriteLine(Localization.Unsorted_tracks_cannot_proceed); return ErrorNumber.NotSupported; } @@ -717,7 +719,8 @@ public sealed partial class Chd break; default: { - AaruConsole.ErrorWriteLine($"Unsupported track type {tracktype}"); + AaruConsole.ErrorWriteLine(string.Format(Localization.Unsupported_track_type_0, + tracktype)); return ErrorNumber.NotSupported; } @@ -743,13 +746,14 @@ public sealed partial class Chd break; default: { - AaruConsole.ErrorWriteLine($"Unsupported subchannel type {subtype}"); + AaruConsole.ErrorWriteLine(string.Format(Localization.Unsupported_subchannel_type_0, + subtype)); return ErrorNumber.NotSupported; } } - aaruTrack.Description = $"Track {trackNo}"; + aaruTrack.Description = string.Format(Localization.Track_0, trackNo); aaruTrack.EndSector = currentSector + frames - 1; aaruTrack.File = imageFilter.Filename; aaruTrack.FileType = "BINARY"; @@ -773,16 +777,16 @@ public sealed partial class Chd case CDROM_TRACK_METADATA2: if(_isHdd) { - AaruConsole. - ErrorWriteLine("Image cannot be a hard disk and a CD-ROM at the same time, aborting."); + AaruConsole.ErrorWriteLine(Localization. + Image_cannot_be_a_hard_disk_and_a_CD_ROM_at_the_same_time_aborting); return ErrorNumber.NotSupported; } if(_isGdrom) { - AaruConsole. - ErrorWriteLine("Image cannot be a GD-ROM and a CD-ROM at the same time, aborting."); + AaruConsole.ErrorWriteLine(Localization. + Image_cannot_be_a_GD_ROM_and_a_CD_ROM_at_the_same_time_aborting); return ErrorNumber.NotSupported; } @@ -816,7 +820,7 @@ public sealed partial class Chd if(trackNo != currentTrack) { - AaruConsole.ErrorWriteLine("Unsorted tracks, cannot proceed."); + AaruConsole.ErrorWriteLine(Localization.Unsorted_tracks_cannot_proceed); return ErrorNumber.NotSupported; } @@ -876,7 +880,8 @@ public sealed partial class Chd break; default: { - AaruConsole.ErrorWriteLine($"Unsupported track type {trackType}"); + AaruConsole.ErrorWriteLine(string.Format(Localization.Unsupported_track_type_0, + trackType)); return ErrorNumber.NotSupported; } @@ -902,13 +907,14 @@ public sealed partial class Chd break; default: { - AaruConsole.ErrorWriteLine($"Unsupported subchannel type {subtype}"); + AaruConsole.ErrorWriteLine(string.Format(Localization.Unsupported_subchannel_type_0, + subtype)); return ErrorNumber.NotSupported; } } - aaruTrack.Description = $"Track {trackNo}"; + aaruTrack.Description = string.Format(Localization.Track_0, trackNo); aaruTrack.EndSector = currentSector + frames - 1; aaruTrack.File = imageFilter.Filename; aaruTrack.FileType = "BINARY"; @@ -957,16 +963,16 @@ public sealed partial class Chd case GDROM_METADATA: if(_isHdd) { - AaruConsole. - ErrorWriteLine("Image cannot be a hard disk and a GD-ROM at the same time, aborting."); + AaruConsole.ErrorWriteLine(Localization. + Image_cannot_be_a_hard_disk_and_a_GD_ROM_at_the_same_time_aborting); return ErrorNumber.NotSupported; } if(_isCdrom) { - AaruConsole. - ErrorWriteLine("Image cannot be a CD-ROM and a GD-ROM at the same time, aborting."); + AaruConsole.ErrorWriteLine(Localization. + Image_cannot_be_a_CD_ROM_and_a_GD_ROM_at_the_same_time_aborting); return ErrorNumber.NotSupported; } @@ -993,7 +999,7 @@ public sealed partial class Chd if(trackNo != currentTrack) { - AaruConsole.ErrorWriteLine("Unsorted tracks, cannot proceed."); + AaruConsole.ErrorWriteLine(Localization.Unsorted_tracks_cannot_proceed); return ErrorNumber.NotSupported; } @@ -1053,7 +1059,8 @@ public sealed partial class Chd break; default: { - AaruConsole.ErrorWriteLine($"Unsupported track type {trackType}"); + AaruConsole.ErrorWriteLine(string.Format(Localization.Unsupported_track_type_0, + trackType)); return ErrorNumber.NotSupported; } @@ -1079,13 +1086,14 @@ public sealed partial class Chd break; default: { - AaruConsole.ErrorWriteLine($"Unsupported subchannel type {subtype}"); + AaruConsole.ErrorWriteLine(string.Format(Localization.Unsupported_subchannel_type_0, + subtype)); return ErrorNumber.NotSupported; } } - aaruTrack.Description = $"Track {trackNo}"; + aaruTrack.Description = string.Format(Localization.Track_0, trackNo); aaruTrack.EndSector = currentSector + frames - 1; aaruTrack.File = imageFilter.Filename; aaruTrack.FileType = "BINARY"; @@ -1200,7 +1208,7 @@ public sealed partial class Chd } else { - AaruConsole.ErrorWriteLine("Image does not represent a known media, aborting"); + AaruConsole.ErrorWriteLine(Localization.Image_does_not_represent_a_known_media_aborting); return ErrorNumber.NotSupported; } diff --git a/Aaru.Images/CPCDSK/Identify.cs b/Aaru.Images/CPCDSK/Identify.cs index 8521bac20..c21aef244 100644 --- a/Aaru.Images/CPCDSK/Identify.cs +++ b/Aaru.Images/CPCDSK/Identify.cs @@ -65,7 +65,7 @@ public sealed partial class Cpcdsk string magic = Encoding.ASCII.GetString(headerB, 0, pos); - AaruConsole.DebugWriteLine("CPCDSK plugin", "magic = \"{0}\"", magic); + AaruConsole.DebugWriteLine("CPCDSK plugin", Localization.magic_equals_0_quoted, magic); return string.Compare(CPCDSK_ID, magic, StringComparison.InvariantCultureIgnoreCase) == 0 || string.Compare(EDSK_ID, magic, StringComparison.InvariantCultureIgnoreCase) == 0 || diff --git a/Aaru.Images/CPCDSK/Properties.cs b/Aaru.Images/CPCDSK/Properties.cs index 56bc3c2f4..dfb93c17d 100644 --- a/Aaru.Images/CPCDSK/Properties.cs +++ b/Aaru.Images/CPCDSK/Properties.cs @@ -42,13 +42,13 @@ public sealed partial class Cpcdsk /// public ImageInfo Info => _imageInfo; /// - public string Name => "CPCEMU Disk-File and Extended CPC Disk-File"; + public string Name => Localization.Cpcdsk_Name; /// public Guid Id => new("724B16CC-ADB9-492E-BA07-CAEEC1012B16"); /// public string Format => _extended ? "CPCEMU Extended disk image" : "CPCEMU disk image"; /// - public string Author => "Natalia Portillo"; + public string Author => Authors.NataliaPortillo; /// public List DumpHardware => null; /// diff --git a/Aaru.Images/CPCDSK/Read.cs b/Aaru.Images/CPCDSK/Read.cs index c9446a946..ad27c14bd 100644 --- a/Aaru.Images/CPCDSK/Read.cs +++ b/Aaru.Images/CPCDSK/Read.cs @@ -82,9 +82,9 @@ public sealed partial class Cpcdsk return ErrorNumber.InvalidArgument; _extended = string.Compare(EDSK_ID, magic, StringComparison.InvariantCultureIgnoreCase) == 0; - AaruConsole.DebugWriteLine("CPCDSK plugin", "Extended = {0}", _extended); + AaruConsole.DebugWriteLine("CPCDSK plugin", Localization.Extended_equals_0, _extended); - AaruConsole.DebugWriteLine("CPCDSK plugin", "magic = \"{0}\"", magic); + AaruConsole.DebugWriteLine("CPCDSK plugin", Localization.magic_equals_0_quoted, magic); AaruConsole.DebugWriteLine("CPCDSK plugin", "header.magic = \"{0}\"", StringHandlers.CToString(header.magic)); @@ -100,7 +100,7 @@ public sealed partial class Cpcdsk for(int i = 0; i < header.tracks; i++) { for(int j = 0; j < header.sides; j++) - AaruConsole.DebugWriteLine("CPCDSK plugin", "Track {0} Side {1} size = {2}", i, j, + AaruConsole.DebugWriteLine("CPCDSK plugin", Localization.Track_0_Side_1_size_equals_2, i, j, header.tracksizeTable[(i * header.sides) + j] * 256); } @@ -131,7 +131,7 @@ public sealed partial class Cpcdsk if(string.Compare(TRACK_ID, Encoding.ASCII.GetString(trackInfo.magic), StringComparison.InvariantCultureIgnoreCase) != 0) { - AaruConsole.ErrorWriteLine("Not the expected track info."); + AaruConsole.ErrorWriteLine(Localization.Not_the_expected_track_info); return ErrorNumber.InvalidArgument; } @@ -262,9 +262,9 @@ public sealed partial class Cpcdsk } } - AaruConsole.DebugWriteLine("CPCDSK plugin", "Read {0} sectors", _sectors.Count); - AaruConsole.DebugWriteLine("CPCDSK plugin", "Read {0} tracks", readtracks); - AaruConsole.DebugWriteLine("CPCDSK plugin", "All tracks are same size? {0}", allTracksSameSize); + AaruConsole.DebugWriteLine("CPCDSK plugin", Localization.Read_0_sectors, _sectors.Count); + AaruConsole.DebugWriteLine("CPCDSK plugin", Localization.Read_0_tracks, readtracks); + AaruConsole.DebugWriteLine("CPCDSK plugin", Localization.All_tracks_are_same_size_0, allTracksSameSize); _imageInfo.Application = StringHandlers.CToString(header.creator); _imageInfo.CreationTime = imageFilter.CreationTime; diff --git a/Aaru.Images/CisCopy/Properties.cs b/Aaru.Images/CisCopy/Properties.cs index fd032d1db..9f92e8027 100644 --- a/Aaru.Images/CisCopy/Properties.cs +++ b/Aaru.Images/CisCopy/Properties.cs @@ -42,13 +42,13 @@ namespace Aaru.DiscImages; public sealed partial class CisCopy { /// - public string Name => "CisCopy Disk Image (DC-File)"; + public string Name => Localization.CisCopy_Name; /// public Guid Id => new("EDF20CC7-6012-49E2-9E92-663A53E42130"); /// public string Format => "CisCopy"; /// - public string Author => "Natalia Portillo"; + public string Author => Authors.NataliaPortillo; /// public ImageInfo Info => _imageInfo; /// diff --git a/Aaru.Images/CisCopy/Read.cs b/Aaru.Images/CisCopy/Read.cs index b73f57e0f..297694045 100644 --- a/Aaru.Images/CisCopy/Read.cs +++ b/Aaru.Images/CisCopy/Read.cs @@ -67,7 +67,7 @@ public sealed partial class CisCopy break; default: - AaruConsole.ErrorWriteLine($"Incorrect disk type {(byte)type}"); + AaruConsole.ErrorWriteLine(string.Format(Localization.Incorrect_disk_type_0, (byte)type)); return ErrorNumber.InvalidArgument; } @@ -79,7 +79,7 @@ public sealed partial class CisCopy if(cmpr != Compression.None) { - AaruConsole.ErrorWriteLine("Compressed images are not supported."); + AaruConsole.ErrorWriteLine(Localization.Compressed_images_are_not_supported); return ErrorNumber.NotImplemented; } @@ -200,7 +200,7 @@ public sealed partial class CisCopy decodedImage.Close(); - AaruConsole.VerboseWriteLine("CisCopy image contains a disk of type {0}", _imageInfo.MediaType); + AaruConsole.VerboseWriteLine(Localization.CisCopy_image_contains_a_disk_of_type_0, _imageInfo.MediaType); return ErrorNumber.NoError; } diff --git a/Aaru.Images/CisCopy/Write.cs b/Aaru.Images/CisCopy/Write.cs index ea251b658..8da5e0bbf 100644 --- a/Aaru.Images/CisCopy/Write.cs +++ b/Aaru.Images/CisCopy/Write.cs @@ -48,14 +48,14 @@ public sealed partial class CisCopy { if(sectorSize != 512) { - ErrorMessage = "Unsupported sector size"; + ErrorMessage = Localization.Unsupported_sector_size; return false; } if(!SupportedMediaTypes.Contains(mediaType)) { - ErrorMessage = $"Unsupported media format {mediaType}"; + ErrorMessage = string.Format(Localization.Unsupported_media_format_0, mediaType); return false; } @@ -73,7 +73,7 @@ public sealed partial class CisCopy } catch(IOException e) { - ErrorMessage = $"Could not create new image file, exception {e.Message}"; + ErrorMessage = string.Format(Localization.Could_not_create_new_image_file_exception_0, e.Message); return false; } @@ -111,7 +111,7 @@ public sealed partial class CisCopy break; default: - ErrorMessage = $"Unsupported media format {mediaType}"; + ErrorMessage = string.Format(Localization.Unsupported_media_format_0, mediaType); return false; } @@ -162,7 +162,7 @@ public sealed partial class CisCopy /// public bool WriteMediaTag(byte[] data, MediaTagType tag) { - ErrorMessage = "Writing media tags is not supported."; + ErrorMessage = Localization.Writing_media_tags_is_not_supported; return false; } @@ -172,21 +172,21 @@ public sealed partial class CisCopy { if(!IsWriting) { - ErrorMessage = "Tried to write on a non-writable image"; + ErrorMessage = Localization.Tried_to_write_on_a_non_writable_image; return false; } if(data.Length != 512) { - ErrorMessage = "Incorrect data size"; + ErrorMessage = Localization.Incorrect_data_size; return false; } if(sectorAddress >= _imageInfo.Sectors) { - ErrorMessage = "Tried to write past image size"; + ErrorMessage = Localization.Tried_to_write_past_image_size; return false; } @@ -204,21 +204,21 @@ public sealed partial class CisCopy { if(!IsWriting) { - ErrorMessage = "Tried to write on a non-writable image"; + ErrorMessage = Localization.Tried_to_write_on_a_non_writable_image; return false; } if(data.Length % 512 != 0) { - ErrorMessage = "Incorrect data size"; + ErrorMessage = Localization.Incorrect_data_size; return false; } if(sectorAddress + length > _imageInfo.Sectors) { - ErrorMessage = "Tried to write past image size"; + ErrorMessage = Localization.Tried_to_write_past_image_size; return false; } @@ -234,7 +234,7 @@ public sealed partial class CisCopy /// public bool WriteSectorLong(byte[] data, ulong sectorAddress) { - ErrorMessage = "Writing sectors with tags is not supported."; + ErrorMessage = Localization.Writing_sectors_with_tags_is_not_supported; return false; } @@ -242,7 +242,7 @@ public sealed partial class CisCopy /// public bool WriteSectorsLong(byte[] data, ulong sectorAddress, uint length) { - ErrorMessage = "Writing sectors with tags is not supported."; + ErrorMessage = Localization.Writing_sectors_with_tags_is_not_supported; return false; } @@ -252,7 +252,7 @@ public sealed partial class CisCopy { if(!IsWriting) { - ErrorMessage = "Image is not opened for writing"; + ErrorMessage = Localization.Image_is_not_opened_for_writing; return false; } @@ -275,7 +275,7 @@ public sealed partial class CisCopy /// public bool WriteSectorTag(byte[] data, ulong sectorAddress, SectorTagType tag) { - ErrorMessage = "Unsupported feature"; + ErrorMessage = Localization.Unsupported_feature; return false; } @@ -283,7 +283,7 @@ public sealed partial class CisCopy /// public bool WriteSectorsTag(byte[] data, ulong sectorAddress, uint length, SectorTagType tag) { - ErrorMessage = "Unsupported feature"; + ErrorMessage = Localization.Unsupported_feature; return false; } diff --git a/Aaru.Images/CloneCD/Identify.cs b/Aaru.Images/CloneCD/Identify.cs index a98de040a..6399e46df 100644 --- a/Aaru.Images/CloneCD/Identify.cs +++ b/Aaru.Images/CloneCD/Identify.cs @@ -90,9 +90,9 @@ public sealed partial class CloneCd } catch(Exception ex) { - AaruConsole.ErrorWriteLine("Exception trying to identify image file {0}", _ccdFilter); - AaruConsole.ErrorWriteLine("Exception: {0}", ex.Message); - AaruConsole.ErrorWriteLine("Stack trace: {0}", ex.StackTrace); + AaruConsole.ErrorWriteLine(Localization.Exception_trying_to_identify_image_file_0, _ccdFilter); + AaruConsole.ErrorWriteLine(Localization.Exception_0, ex.Message); + AaruConsole.ErrorWriteLine(Localization.Stack_trace_0, ex.StackTrace); return false; } diff --git a/Aaru.Images/CloneCD/Properties.cs b/Aaru.Images/CloneCD/Properties.cs index 36f0d2bc2..ec97d8679 100644 --- a/Aaru.Images/CloneCD/Properties.cs +++ b/Aaru.Images/CloneCD/Properties.cs @@ -58,13 +58,13 @@ public sealed partial class CloneCd /// public ImageInfo Info => _imageInfo; /// - public string Name => "CloneCD"; + public string Name => Localization.CloneCd_Name; /// public Guid Id => new("EE9C2975-2E79-427A-8EE9-F86F19165784"); /// public string Format => "CloneCD"; /// - public string Author => "Natalia Portillo"; + public string Author => Authors.NataliaPortillo; /// public List Partitions { get; private set; } /// diff --git a/Aaru.Images/CloneCD/Read.cs b/Aaru.Images/CloneCD/Read.cs index 37bc19775..ea02fb5ea 100644 --- a/Aaru.Images/CloneCD/Read.cs +++ b/Aaru.Images/CloneCD/Read.cs @@ -133,7 +133,8 @@ public sealed partial class CloneCd inTrack || inCdText) { - AaruConsole.ErrorWriteLine($"Found [CloneCD] out of order in line {lineNumber}"); + AaruConsole.ErrorWriteLine(string.Format(Localization.Found_CloneCD_out_of_order_in_line_0, + lineNumber)); return ErrorNumber.InvalidArgument; } @@ -176,14 +177,14 @@ public sealed partial class CloneCd if(!ccdVerMatch.Success) continue; - AaruConsole.DebugWriteLine("CloneCD plugin", "Found Version at line {0}", lineNumber); + AaruConsole.DebugWriteLine("CloneCD plugin", Localization.Found_Version_at_line_0, lineNumber); _imageInfo.Version = ccdVerMatch.Groups["value"].Value; if(_imageInfo.Version != "2" && _imageInfo.Version != "3") AaruConsole. - ErrorWriteLine("(CloneCD plugin): Warning! Unknown CCD image version {0}, may not work!", + ErrorWriteLine(Localization.CloneCD_plugin_Warning_Unknown_CCD_image_version_0_may_not_work, _imageInfo.Version); } else if(inDisk) @@ -195,21 +196,26 @@ public sealed partial class CloneCd Match discCatMatch = discCatRegex.Match(line); if(discEntMatch.Success) - AaruConsole.DebugWriteLine("CloneCD plugin", "Found TocEntries at line {0}", lineNumber); + AaruConsole.DebugWriteLine("CloneCD plugin", Localization.Found_TocEntries_at_line_0, + lineNumber); else if(discSessMatch.Success) - AaruConsole.DebugWriteLine("CloneCD plugin", "Found Sessions at line {0}", lineNumber); + AaruConsole.DebugWriteLine("CloneCD plugin", Localization.Found_Sessions_at_line_0, + lineNumber); else if(discScrMatch.Success) { - AaruConsole.DebugWriteLine("CloneCD plugin", "Found DataTracksScrambled at line {0}", - lineNumber); + AaruConsole.DebugWriteLine("CloneCD plugin", + Localization.Found_DataTracksScrambled_at_line_0, lineNumber); _scrambled |= discScrMatch.Groups["value"].Value == "1"; } else if(cdtLenMatch.Success) - AaruConsole.DebugWriteLine("CloneCD plugin", "Found CDTextLength at line {0}", lineNumber); + AaruConsole.DebugWriteLine("CloneCD plugin", Localization.Found_CDTextLength_at_line_0, + lineNumber); else if(discCatMatch.Success) { - AaruConsole.DebugWriteLine("CloneCD plugin", "Found Catalog at line {0}", lineNumber); + AaruConsole.DebugWriteLine("CloneCD plugin", Localization.Found_Catalog_at_line_0_smallcase, + lineNumber); + _catalog = discCatMatch.Groups["value"].Value; } } @@ -221,11 +227,12 @@ public sealed partial class CloneCd Match cdtEntMatch = cdtEntRegex.Match(line); if(cdtEntsMatch.Success) - AaruConsole.DebugWriteLine("CloneCD plugin", "Found CD-Text Entries at line {0}", + AaruConsole.DebugWriteLine("CloneCD plugin", Localization.Found_CD_Text_Entries_at_line_0, lineNumber); else if(cdtEntMatch.Success) { - AaruConsole.DebugWriteLine("CloneCD plugin", "Found CD-Text Entry at line {0}", lineNumber); + AaruConsole.DebugWriteLine("CloneCD plugin", Localization.Found_CD_Text_Entry_at_line_0, + lineNumber); string[] bytes = cdtEntMatch.Groups["value"].Value.Split(new[] { @@ -244,9 +251,11 @@ public sealed partial class CloneCd Match sessSubcMatch = sessSubcRegex.Match(line); if(sessPregMatch.Success) - AaruConsole.DebugWriteLine("CloneCD plugin", "Found PreGapMode at line {0}", lineNumber); + AaruConsole.DebugWriteLine("CloneCD plugin", Localization.Found_PreGapMode_at_line_0, + lineNumber); else if(sessSubcMatch.Success) - AaruConsole.DebugWriteLine("CloneCD plugin", "Found PreGapSubC at line {0}", lineNumber); + AaruConsole.DebugWriteLine("CloneCD plugin", Localization.Found_PreGapSubC_at_line_0, + lineNumber); } else if(inEntry) { @@ -267,7 +276,9 @@ public sealed partial class CloneCd if(entSessMatch.Success) { - AaruConsole.DebugWriteLine("CloneCD plugin", "Found Session at line {0}", lineNumber); + AaruConsole.DebugWriteLine("CloneCD plugin", Localization.Found_Session_at_line_0, + lineNumber); + currentEntry.SessionNumber = Convert.ToByte(entSessMatch.Groups["value"].Value, 10); if(currentEntry.SessionNumber < minSession) @@ -278,65 +289,75 @@ public sealed partial class CloneCd } else if(entPointMatch.Success) { - AaruConsole.DebugWriteLine("CloneCD plugin", "Found Point at line {0}", lineNumber); + AaruConsole.DebugWriteLine("CloneCD plugin", Localization.Found_Point_at_line_0, + lineNumber); + currentEntry.POINT = Convert.ToByte(entPointMatch.Groups["value"].Value, 16); } else if(entAdrMatch.Success) { - AaruConsole.DebugWriteLine("CloneCD plugin", "Found ADR at line {0}", lineNumber); + AaruConsole.DebugWriteLine("CloneCD plugin", Localization.Found_ADR_at_line_0, lineNumber); currentEntry.ADR = Convert.ToByte(entAdrMatch.Groups["value"].Value, 16); } else if(entCtrlMatch.Success) { - AaruConsole.DebugWriteLine("CloneCD plugin", "Found Control at line {0}", lineNumber); + AaruConsole.DebugWriteLine("CloneCD plugin", Localization.Found_Control_at_line_0, + lineNumber); + currentEntry.CONTROL = Convert.ToByte(entCtrlMatch.Groups["value"].Value, 16); } else if(entTnoMatch.Success) { - AaruConsole.DebugWriteLine("CloneCD plugin", "Found TrackNo at line {0}", lineNumber); + AaruConsole.DebugWriteLine("CloneCD plugin", Localization.Found_TrackNo_at_line_0, + lineNumber); + currentEntry.TNO = Convert.ToByte(entTnoMatch.Groups["value"].Value, 10); } else if(entAMinMatch.Success) { - AaruConsole.DebugWriteLine("CloneCD plugin", "Found AMin at line {0}", lineNumber); + AaruConsole.DebugWriteLine("CloneCD plugin", Localization.Found_AMin_at_line_0, lineNumber); currentEntry.Min = Convert.ToByte(entAMinMatch.Groups["value"].Value, 10); } else if(entASecMatch.Success) { - AaruConsole.DebugWriteLine("CloneCD plugin", "Found ASec at line {0}", lineNumber); + AaruConsole.DebugWriteLine("CloneCD plugin", Localization.Found_ASec_at_line_0, lineNumber); currentEntry.Sec = Convert.ToByte(entASecMatch.Groups["value"].Value, 10); } else if(entAFrameMatch.Success) { - AaruConsole.DebugWriteLine("CloneCD plugin", "Found AFrame at line {0}", lineNumber); + AaruConsole.DebugWriteLine("CloneCD plugin", Localization.Found_AFrame_at_line_0, + lineNumber); + currentEntry.Frame = Convert.ToByte(entAFrameMatch.Groups["value"].Value, 10); } else if(entAlbaMatch.Success) - AaruConsole.DebugWriteLine("CloneCD plugin", "Found ALBA at line {0}", lineNumber); + AaruConsole.DebugWriteLine("CloneCD plugin", Localization.Found_ALBA_at_line_0, lineNumber); else if(entZeroMatch.Success) { - AaruConsole.DebugWriteLine("CloneCD plugin", "Found Zero at line {0}", lineNumber); + AaruConsole.DebugWriteLine("CloneCD plugin", Localization.Found_Zero_at_line_0, lineNumber); currentEntry.Zero = Convert.ToByte(entZeroMatch.Groups["value"].Value, 10); currentEntry.HOUR = (byte)((currentEntry.Zero & 0xF0) >> 4); currentEntry.PHOUR = (byte)(currentEntry.Zero & 0x0F); } else if(entPMinMatch.Success) { - AaruConsole.DebugWriteLine("CloneCD plugin", "Found PMin at line {0}", lineNumber); + AaruConsole.DebugWriteLine("CloneCD plugin", Localization.Found_PMin_at_line_0, lineNumber); currentEntry.PMIN = Convert.ToByte(entPMinMatch.Groups["value"].Value, 10); } else if(entPSecMatch.Success) { - AaruConsole.DebugWriteLine("CloneCD plugin", "Found PSec at line {0}", lineNumber); + AaruConsole.DebugWriteLine("CloneCD plugin", Localization.Found_PSec_at_line_0, lineNumber); currentEntry.PSEC = Convert.ToByte(entPSecMatch.Groups["value"].Value, 10); } else if(entPFrameMatch.Success) { - AaruConsole.DebugWriteLine("CloneCD plugin", "Found PFrame at line {0}", lineNumber); + AaruConsole.DebugWriteLine("CloneCD plugin", Localization.Found_PFrame_at_line_0, + lineNumber); + currentEntry.PFRAME = Convert.ToByte(entPFrameMatch.Groups["value"].Value, 10); } else if(entPlbaMatch.Success) - AaruConsole.DebugWriteLine("CloneCD plugin", "Found PLBA at line {0}", lineNumber); + AaruConsole.DebugWriteLine("CloneCD plugin", Localization.Found_PLBA_at_line_0, lineNumber); } else if(inTrack) { @@ -366,7 +387,7 @@ public sealed partial class CloneCd if(entries.Count == 0) { - AaruConsole.ErrorWriteLine("Did not find any track."); + AaruConsole.ErrorWriteLine(Localization.Did_not_find_any_track); return ErrorNumber.InvalidArgument; } @@ -406,7 +427,7 @@ public sealed partial class CloneCd if(_dataFilter == null) { - AaruConsole.ErrorWriteLine("Cannot open data file"); + AaruConsole.ErrorWriteLine(Localization.Cannot_open_data_file); return ErrorNumber.NoSuchFile; } @@ -450,7 +471,7 @@ public sealed partial class CloneCd { case 0xA0: byte discType = descriptor.PSEC; - AaruConsole.DebugWriteLine("CloneCD plugin", "Disc Type: {0}", discType); + AaruConsole.DebugWriteLine("CloneCD plugin", Localization.Disc_Type_0, discType); break; case 0xA2: @@ -546,7 +567,8 @@ public sealed partial class CloneCd _imageInfo.MediaManufacturer = ATIP.ManufacturerFromATIP(descriptor.PSEC, frm); if(_imageInfo.MediaManufacturer != "") - AaruConsole.DebugWriteLine("CloneCD plugin", "Disc manufactured by: {0}", + AaruConsole.DebugWriteLine("CloneCD plugin", + Localization.Disc_manufactured_by_0, _imageInfo.MediaManufacturer); } @@ -557,8 +579,8 @@ public sealed partial class CloneCd case 6: { uint id = (uint)((descriptor.Min << 16) + (descriptor.Sec << 8) + descriptor.Frame); - AaruConsole.DebugWriteLine("CloneCD plugin", "Disc ID: {0:X6}", id & 0x00FFFFFF); - _imageInfo.MediaSerialNumber = $"{id & 0x00FFFFFF:X6}"; + AaruConsole.DebugWriteLine("CloneCD plugin", Localization.Disc_ID_0_X6, id & 0x00FFFFFF); + _imageInfo.MediaSerialNumber = $"{id & 0x00FFFFFF:X6}"; break; } @@ -889,8 +911,8 @@ public sealed partial class CloneCd } catch(Exception ex) { - AaruConsole.ErrorWriteLine("Exception trying to identify image file {0}", imageFilter.Filename); - AaruConsole.ErrorWriteLine("Exception: {0}", ex); + AaruConsole.ErrorWriteLine(Localization.Exception_trying_to_identify_image_file_0, imageFilter.Filename); + AaruConsole.ErrorWriteLine(Localization.Exception_0, ex); return ErrorNumber.UnexpectedException; } diff --git a/Aaru.Images/CloneCD/Write.cs b/Aaru.Images/CloneCD/Write.cs index ab9c7aaca..16101317f 100644 --- a/Aaru.Images/CloneCD/Write.cs +++ b/Aaru.Images/CloneCD/Write.cs @@ -53,7 +53,7 @@ public sealed partial class CloneCd { if(!SupportedMediaTypes.Contains(mediaType)) { - ErrorMessage = $"Unsupported media format {mediaType}"; + ErrorMessage = string.Format(Localization.Unsupported_media_format_0, mediaType); return false; } @@ -76,7 +76,7 @@ public sealed partial class CloneCd } catch(IOException e) { - ErrorMessage = $"Could not create new image file, exception {e.Message}"; + ErrorMessage = string.Format(Localization.Could_not_create_new_image_file_exception_0, e.Message); return false; } @@ -96,7 +96,7 @@ public sealed partial class CloneCd { if(!IsWriting) { - ErrorMessage = "Tried to write on a non-writable image"; + ErrorMessage = Localization.Tried_to_write_on_a_non_writable_image; return false; } @@ -112,7 +112,7 @@ public sealed partial class CloneCd return true; default: - ErrorMessage = $"Unsupported media tag {tag}"; + ErrorMessage = string.Format(Localization.Unsupported_media_tag_0, tag); return false; } @@ -123,13 +123,13 @@ public sealed partial class CloneCd { if(!IsWriting) { - ErrorMessage = "Tried to write on a non-writable image"; + ErrorMessage = Localization.Tried_to_write_on_a_non_writable_image; return false; } // TODO: Implement ECC generation - ErrorMessage = "This format requires sectors to be raw. Generating ECC is not yet implemented"; + ErrorMessage = Localization.This_format_requires_sectors_to_be_raw_Generating_ECC_is_not_yet_implemented; return false; } @@ -139,13 +139,13 @@ public sealed partial class CloneCd { if(!IsWriting) { - ErrorMessage = "Tried to write on a non-writable image"; + ErrorMessage = Localization.Tried_to_write_on_a_non_writable_image; return false; } // TODO: Implement ECC generation - ErrorMessage = "This format requires sectors to be raw. Generating ECC is not yet implemented"; + ErrorMessage = Localization.This_format_requires_sectors_to_be_raw_Generating_ECC_is_not_yet_implemented; return false; } @@ -155,7 +155,7 @@ public sealed partial class CloneCd { if(!IsWriting) { - ErrorMessage = "Tried to write on a non-writable image"; + ErrorMessage = Localization.Tried_to_write_on_a_non_writable_image; return false; } @@ -164,14 +164,14 @@ public sealed partial class CloneCd if(track is null) { - ErrorMessage = $"Can't found track containing {sectorAddress}"; + ErrorMessage = string.Format(Localization.Cant_find_track_containing_0, sectorAddress); return false; } if(data.Length != track.RawBytesPerSector) { - ErrorMessage = "Incorrect data size"; + ErrorMessage = Localization.Incorrect_data_size; return false; } @@ -190,7 +190,7 @@ public sealed partial class CloneCd { if(!IsWriting) { - ErrorMessage = "Tried to write on a non-writable image"; + ErrorMessage = Localization.Tried_to_write_on_a_non_writable_image; return false; } @@ -199,21 +199,21 @@ public sealed partial class CloneCd if(track is null) { - ErrorMessage = $"Can't found track containing {sectorAddress}"; + ErrorMessage = string.Format(Localization.Cant_find_track_containing_0, sectorAddress); return false; } if(sectorAddress + length > track.EndSector + 1) { - ErrorMessage = "Can't cross tracks"; + ErrorMessage = Localization.Cant_cross_tracks; return false; } if(data.Length % track.RawBytesPerSector != 0) { - ErrorMessage = "Incorrect data size"; + ErrorMessage = Localization.Incorrect_data_size; return false; } @@ -265,7 +265,7 @@ public sealed partial class CloneCd break; default: - ErrorMessage = $"Unsupported subchannel type {newTrack.SubchannelType}"; + ErrorMessage = string.Format(Localization.Unsupported_subchannel_type_0, newTrack.SubchannelType); return false; } @@ -288,7 +288,7 @@ public sealed partial class CloneCd { if(!IsWriting) { - ErrorMessage = "Image is not opened for writing"; + ErrorMessage = Localization.Image_is_not_opened_for_writing; return false; } @@ -351,8 +351,8 @@ public sealed partial class CloneCd break; default: - ErrorMessage = $"Unexpected first session track type {firstSessionTrack?.Type.ToString() ?? "null" - }"; + ErrorMessage = string.Format(Localization.Unexpected_first_session_track_type_0, + firstSessionTrack?.Type.ToString() ?? "null"); return false; } @@ -410,7 +410,7 @@ public sealed partial class CloneCd /// public bool SetGeometry(uint cylinders, uint heads, uint sectorsPerTrack) { - ErrorMessage = "Unsupported feature"; + ErrorMessage = Localization.Unsupported_feature; return false; } @@ -420,7 +420,7 @@ public sealed partial class CloneCd { if(!IsWriting) { - ErrorMessage = "Tried to write on a non-writable image"; + ErrorMessage = Localization.Tried_to_write_on_a_non_writable_image; return false; } @@ -429,7 +429,7 @@ public sealed partial class CloneCd if(track is null) { - ErrorMessage = $"Can't found track containing {sectorAddress}"; + ErrorMessage = string.Format(Localization.Cant_find_track_containing_0, sectorAddress); return false; } @@ -440,7 +440,7 @@ public sealed partial class CloneCd { if(data.Length != 1) { - ErrorMessage = "Incorrect data size for track flags"; + ErrorMessage = Localization.Incorrect_data_size_for_track_flags; return false; } @@ -453,15 +453,16 @@ public sealed partial class CloneCd { if(track.SubchannelType == 0) { - ErrorMessage = $"Trying to write subchannel to track {track.Sequence - }, that does not have subchannel"; + ErrorMessage = + string.Format(Localization.Trying_to_write_subchannel_to_track_0_that_does_not_have_subchannel, + track.Sequence); return false; } if(data.Length != 96) { - ErrorMessage = "Incorrect data size for subchannel"; + ErrorMessage = Localization.Incorrect_data_size_for_subchannel; return false; } @@ -474,7 +475,8 @@ public sealed partial class CloneCd } catch(IOException e) { - ErrorMessage = $"Could not create subchannel file, exception {e.Message}"; + ErrorMessage = string.Format(Localization.Could_not_create_subchannel_file_exception_0, + e.Message); return false; } @@ -487,7 +489,7 @@ public sealed partial class CloneCd return true; } default: - ErrorMessage = $"Unsupported tag type {tag}"; + ErrorMessage = string.Format(Localization.Unsupported_tag_type_0, tag); return false; } @@ -498,7 +500,7 @@ public sealed partial class CloneCd { if(!IsWriting) { - ErrorMessage = "Tried to write on a non-writable image"; + ErrorMessage = Localization.Tried_to_write_on_a_non_writable_image; return false; } @@ -507,7 +509,7 @@ public sealed partial class CloneCd if(track is null) { - ErrorMessage = $"Can't found track containing {sectorAddress}"; + ErrorMessage = string.Format(Localization.Cant_find_track_containing_0, sectorAddress); return false; } @@ -520,15 +522,16 @@ public sealed partial class CloneCd { if(track.SubchannelType == 0) { - ErrorMessage = $"Trying to write subchannel to track {track.Sequence - }, that does not have subchannel"; + ErrorMessage = + string.Format(Localization.Trying_to_write_subchannel_to_track_0_that_does_not_have_subchannel, + track.Sequence); return false; } if(data.Length % 96 != 0) { - ErrorMessage = "Incorrect data size for subchannel"; + ErrorMessage = Localization.Incorrect_data_size_for_subchannel; return false; } @@ -541,7 +544,8 @@ public sealed partial class CloneCd } catch(IOException e) { - ErrorMessage = $"Could not create subchannel file, exception {e.Message}"; + ErrorMessage = string.Format(Localization.Could_not_create_subchannel_file_exception_0, + e.Message); return false; } @@ -554,7 +558,7 @@ public sealed partial class CloneCd return true; } default: - ErrorMessage = $"Unsupported tag type {tag}"; + ErrorMessage = string.Format(Localization.Unsupported_tag_type_0, tag); return false; } diff --git a/Aaru.Images/CopyQM/Properties.cs b/Aaru.Images/CopyQM/Properties.cs index 8a4d4f06d..1fb80ae2d 100644 --- a/Aaru.Images/CopyQM/Properties.cs +++ b/Aaru.Images/CopyQM/Properties.cs @@ -42,13 +42,13 @@ public sealed partial class CopyQm /// public ImageInfo Info => _imageInfo; /// - public string Name => "Sydex CopyQM"; + public string Name => Localization.CopyQm_Name; /// public Guid Id => new("147E927D-3A92-4E0C-82CD-142F5A4FA76D"); /// public string Format => "Sydex CopyQM"; /// - public string Author => "Natalia Portillo"; + public string Author => Authors.NataliaPortillo; /// public List DumpHardware => null; /// diff --git a/Aaru.Images/CopyQM/Read.cs b/Aaru.Images/CopyQM/Read.cs index 2b984db50..7b5e8131b 100644 --- a/Aaru.Images/CopyQM/Read.cs +++ b/Aaru.Images/CopyQM/Read.cs @@ -151,10 +151,10 @@ public sealed partial class CopyQm _headerChecksumOk = ((-1 * sum) & 0xFF) == _header.headerChecksum; - AaruConsole.DebugWriteLine("CopyQM plugin", "Calculated header checksum = 0x{0:X2}, {1}", (-1 * sum) & 0xFF, - _headerChecksumOk); + AaruConsole.DebugWriteLine("CopyQM plugin", Localization.Calculated_header_checksum_equals_0_X2_1, + (-1 * sum) & 0xFF, _headerChecksumOk); - AaruConsole.DebugWriteLine("CopyQM plugin", "Calculated data CRC = 0x{0:X8}, {1}", _calculatedDataCrc, + AaruConsole.DebugWriteLine("CopyQM plugin", Localization.Calculated_data_CRC_equals_0_X8_1, _calculatedDataCrc, _calculatedDataCrc == _header.crc); _imageInfo.Application = "CopyQM"; @@ -190,10 +190,10 @@ public sealed partial class CopyQm _decodedImage.Close(); - AaruConsole.VerboseWriteLine("CopyQM image contains a disk of type {0}", _imageInfo.MediaType); + AaruConsole.VerboseWriteLine(Localization.CopyQM_image_contains_a_disk_of_type_0, _imageInfo.MediaType); if(!string.IsNullOrEmpty(_imageInfo.Comments)) - AaruConsole.VerboseWriteLine("CopyQM comments: {0}", _imageInfo.Comments); + AaruConsole.VerboseWriteLine(Localization.CopyQM_comments_0, _imageInfo.Comments); _imageInfo.Heads = _header.heads; _imageInfo.Cylinders = _header.totalCylinders; diff --git a/Aaru.Images/CopyTape/Properties.cs b/Aaru.Images/CopyTape/Properties.cs index db0082fcb..eae8d0f72 100644 --- a/Aaru.Images/CopyTape/Properties.cs +++ b/Aaru.Images/CopyTape/Properties.cs @@ -44,11 +44,11 @@ public sealed partial class CopyTape /// public ImageInfo Info => _imageInfo; /// - public string Name => "CopyTape"; + public string Name => Localization.CopyTape_Name; /// public Guid Id => new("C537D41E-D6A7-4922-9AA9-8E8442D0E340"); /// - public string Author => "Natalia Portillo"; + public string Author => Authors.NataliaPortillo; /// public string Format => "CopyTape"; /// diff --git a/Aaru.Images/CopyTape/Read.cs b/Aaru.Images/CopyTape/Read.cs index 87c36a3ae..dfbaf0f2e 100644 --- a/Aaru.Images/CopyTape/Read.cs +++ b/Aaru.Images/CopyTape/Read.cs @@ -99,7 +99,7 @@ public sealed partial class CopyTape if(!partialBlockMt.Success) { - AaruConsole.ErrorWriteLine("Found unhandled header, cannot open."); + AaruConsole.ErrorWriteLine(Localization.Found_unhandled_header_cannot_open); return ErrorNumber.InvalidArgument; } @@ -118,7 +118,7 @@ public sealed partial class CopyTape if(!blockMt.Success) { - AaruConsole.ErrorWriteLine("Cannot decode block header, cannot open."); + AaruConsole.ErrorWriteLine(Localization.Cannot_decode_block_header_cannot_open); return ErrorNumber.InvalidArgument; } @@ -127,14 +127,14 @@ public sealed partial class CopyTape if(string.IsNullOrWhiteSpace(blkSize)) { - AaruConsole.ErrorWriteLine("Cannot decode block header, cannot open."); + AaruConsole.ErrorWriteLine(Localization.Cannot_decode_block_header_cannot_open); return ErrorNumber.InvalidArgument; } if(!uint.TryParse(blkSize, out uint blockSize)) { - AaruConsole.ErrorWriteLine("Cannot decode block header, cannot open."); + AaruConsole.ErrorWriteLine(Localization.Cannot_decode_block_header_cannot_open); return ErrorNumber.InvalidArgument; } @@ -142,7 +142,7 @@ public sealed partial class CopyTape if(blockSize == 0 || blockSize + 17 > imageFilter.DataForkLength) { - AaruConsole.ErrorWriteLine("Cannot decode block header, cannot open."); + AaruConsole.ErrorWriteLine(Localization.Cannot_decode_block_header_cannot_open); return ErrorNumber.InvalidArgument; } @@ -153,7 +153,7 @@ public sealed partial class CopyTape if(newLine != 0x0A) { - AaruConsole.ErrorWriteLine("Cannot decode block header, cannot open."); + AaruConsole.ErrorWriteLine(Localization.Cannot_decode_block_header_cannot_open); return ErrorNumber.InvalidArgument; } diff --git a/Aaru.Images/CopyTape/Write.cs b/Aaru.Images/CopyTape/Write.cs index 952b46c82..494c99e0b 100644 --- a/Aaru.Images/CopyTape/Write.cs +++ b/Aaru.Images/CopyTape/Write.cs @@ -53,7 +53,7 @@ public sealed partial class CopyTape { if(!SupportedMediaTypes.Contains(mediaType)) { - ErrorMessage = $"Unsupported media format {mediaType}"; + ErrorMessage = string.Format(Localization.Unsupported_media_format_0, mediaType); return false; } @@ -71,7 +71,7 @@ public sealed partial class CopyTape } catch(IOException e) { - ErrorMessage = $"Could not create new image file, exception {e.Message}"; + ErrorMessage = string.Format(Localization.Could_not_create_new_image_file_exception_0, e.Message); return false; } @@ -90,7 +90,7 @@ public sealed partial class CopyTape /// public bool WriteMediaTag(byte[] data, MediaTagType tag) { - ErrorMessage = "Unsupported feature"; + ErrorMessage = Localization.Unsupported_feature; return false; } @@ -103,7 +103,7 @@ public sealed partial class CopyTape if(_dataStream.Length != 0 && _lastWrittenBlock >= sectorAddress) { - ErrorMessage = "Cannot write unwritten blocks"; + ErrorMessage = Localization.Cannot_write_unwritten_blocks; return false; } @@ -112,7 +112,7 @@ public sealed partial class CopyTape sectorAddress != 0 && _lastWrittenBlock != 0) { - ErrorMessage = "Cannot skip blocks"; + ErrorMessage = Localization.Cannot_skip_blocks; return false; } @@ -152,7 +152,7 @@ public sealed partial class CopyTape /// public bool WriteSectorLong(byte[] data, ulong sectorAddress) { - ErrorMessage = "Unsupported feature"; + ErrorMessage = Localization.Unsupported_feature; return false; } @@ -160,7 +160,7 @@ public sealed partial class CopyTape /// public bool WriteSectorsLong(byte[] data, ulong sectorAddress, uint length) { - ErrorMessage = "Unsupported feature"; + ErrorMessage = Localization.Unsupported_feature; return false; } @@ -170,7 +170,7 @@ public sealed partial class CopyTape { if(!IsWriting) { - ErrorMessage = "Image is not opened for writing"; + ErrorMessage = Localization.Image_is_not_opened_for_writing; return false; } @@ -192,7 +192,7 @@ public sealed partial class CopyTape /// public bool SetGeometry(uint cylinders, uint heads, uint sectorsPerTrack) { - ErrorMessage = "Unsupported feature"; + ErrorMessage = Localization.Unsupported_feature; return false; } @@ -200,7 +200,7 @@ public sealed partial class CopyTape /// public bool WriteSectorTag(byte[] data, ulong sectorAddress, SectorTagType tag) { - ErrorMessage = "Unsupported feature"; + ErrorMessage = Localization.Unsupported_feature; return false; } @@ -208,7 +208,7 @@ public sealed partial class CopyTape /// public bool WriteSectorsTag(byte[] data, ulong sectorAddress, uint length, SectorTagType tag) { - ErrorMessage = "Unsupported feature"; + ErrorMessage = Localization.Unsupported_feature; return false; } @@ -224,7 +224,7 @@ public sealed partial class CopyTape { if(file.Partition != 0) { - ErrorMessage = "Unsupported feature"; + ErrorMessage = Localization.Unsupported_feature; return false; } @@ -242,7 +242,7 @@ public sealed partial class CopyTape if(partition.Number == 0) return true; - ErrorMessage = "Unsupported feature"; + ErrorMessage = Localization.Unsupported_feature; return false; } diff --git a/Aaru.Images/D88/Identify.cs b/Aaru.Images/D88/Identify.cs index d0902d925..27f698e9e 100644 --- a/Aaru.Images/D88/Identify.cs +++ b/Aaru.Images/D88/Identify.cs @@ -92,7 +92,7 @@ public sealed partial class D88 return false; } - AaruConsole.DebugWriteLine("D88 plugin", "{0} tracks", counter); + AaruConsole.DebugWriteLine("D88 plugin", Localization._0_tracks, counter); return counter > 0; } diff --git a/Aaru.Images/D88/Properties.cs b/Aaru.Images/D88/Properties.cs index fd6f8427b..b26ad2707 100644 --- a/Aaru.Images/D88/Properties.cs +++ b/Aaru.Images/D88/Properties.cs @@ -40,7 +40,7 @@ namespace Aaru.DiscImages; public sealed partial class D88 { /// - public string Name => "D88 Disk Image"; + public string Name => Localization.D88_Name; /// public Guid Id => new("669EDC77-EC41-4720-A88C-49C38CFFBAA0"); /// @@ -48,7 +48,7 @@ public sealed partial class D88 /// public string Format => "D88 disk image"; /// - public string Author => "Natalia Portillo"; + public string Author => Authors.NataliaPortillo; /// public List DumpHardware => null; /// diff --git a/Aaru.Images/D88/Read.cs b/Aaru.Images/D88/Read.cs index ff5fa4f59..020126b79 100644 --- a/Aaru.Images/D88/Read.cs +++ b/Aaru.Images/D88/Read.cs @@ -95,7 +95,7 @@ public sealed partial class D88 return ErrorNumber.InvalidArgument; } - AaruConsole.DebugWriteLine("D88 plugin", "{0} tracks", trkCounter); + AaruConsole.DebugWriteLine("D88 plugin", Localization._0_tracks, trkCounter); if(trkCounter == 0) return ErrorNumber.InvalidArgument; @@ -132,9 +132,8 @@ public sealed partial class D88 if(sechdr.spt != spt || sechdr.n != bps) { - AaruConsole.DebugWriteLine("D88 plugin", - "Disk tracks are not same size. spt = {0} (expected {1}), bps = {2} (expected {3}) at track {4} sector {5}", - sechdr.spt, spt, sechdr.n, bps, i, 0); + AaruConsole.DebugWriteLine("D88 plugin", Localization.Disk_tracks_are_not_same_size, sechdr.spt, spt, + sechdr.n, bps, i, 0); allEqual = false; } @@ -155,9 +154,8 @@ public sealed partial class D88 sechdr.n == bps) continue; - AaruConsole.DebugWriteLine("D88 plugin", - "Disk tracks are not same size. spt = {0} (expected {1}), bps = {2} (expected {3}) at track {4} sector {5}", - sechdr.spt, spt, sechdr.n, bps, i, j, sechdr.deleted_mark); + AaruConsole.DebugWriteLine("D88 plugin", Localization.Disk_tracks_are_not_same_size, sechdr.spt, spt, + sechdr.n, bps, i, j, sechdr.deleted_mark); allEqual = false; } @@ -170,7 +168,7 @@ public sealed partial class D88 _sectorsData.Add(kvp.Value); } - AaruConsole.DebugWriteLine("D88 plugin", "{0} sectors", _sectorsData.Count); + AaruConsole.DebugWriteLine("D88 plugin", Localization._0_sectors, _sectorsData.Count); _imageInfo.MediaType = MediaType.Unknown; @@ -238,7 +236,7 @@ public sealed partial class D88 break; } - AaruConsole.DebugWriteLine("D88 plugin", "MediaType: {0}", _imageInfo.MediaType); + AaruConsole.DebugWriteLine("D88 plugin", Localization.MediaType_0, _imageInfo.MediaType); _imageInfo.ImageSize = (ulong)hdr.disk_size; _imageInfo.CreationTime = imageFilter.CreationTime; diff --git a/Aaru.Images/DART/Properties.cs b/Aaru.Images/DART/Properties.cs index 4ad87b656..ce0e3d880 100644 --- a/Aaru.Images/DART/Properties.cs +++ b/Aaru.Images/DART/Properties.cs @@ -40,13 +40,13 @@ namespace Aaru.DiscImages; public sealed partial class Dart { /// - public string Name => "Apple Disk Archival/Retrieval Tool"; + public string Name => Localization.Dart_Name; /// public Guid Id => new("B3E06BF8-F98D-4F9B-BBE2-342C373BAF3E"); /// public ImageInfo Info => _imageInfo; /// - public string Author => "Natalia Portillo"; + public string Author => Authors.NataliaPortillo; /// public string Format => "Apple Disk Archival/Retrieval Tool"; /// diff --git a/Aaru.Images/DART/Read.cs b/Aaru.Images/DART/Read.cs index bbc297333..e8794b230 100644 --- a/Aaru.Images/DART/Read.cs +++ b/Aaru.Images/DART/Read.cs @@ -153,7 +153,7 @@ public sealed partial class Dart temp = new byte[l]; stream.EnsureRead(temp, 0, temp.Length); - AaruConsole.ErrorWriteLine("LZH Compressed images not yet supported"); + AaruConsole.ErrorWriteLine(Localization.LZH_Compressed_images_not_yet_supported); return ErrorNumber.NotImplemented; } @@ -259,7 +259,7 @@ public sealed partial class Dart } catch(InvalidCastException) {} - AaruConsole.DebugWriteLine("DART plugin", "Image application = {0} version {1}", _imageInfo.Application, + AaruConsole.DebugWriteLine("DART plugin", Localization.Image_application_0_version_1, _imageInfo.Application, _imageInfo.ApplicationVersion); _imageInfo.Sectors = (ulong)(header.srcSize * 2); diff --git a/Aaru.Images/DIM/Properties.cs b/Aaru.Images/DIM/Properties.cs index 4f1b373cf..326c9693c 100644 --- a/Aaru.Images/DIM/Properties.cs +++ b/Aaru.Images/DIM/Properties.cs @@ -40,13 +40,13 @@ namespace Aaru.DiscImages; public sealed partial class Dim { /// - public string Name => "DIM Disk Image"; + public string Name => Localization.Dim_Name; /// public Guid Id => new("0240B7B1-E959-4CDC-B0BD-386D6E467B88"); /// public ImageInfo Info => _imageInfo; /// - public string Author => "Natalia Portillo"; + public string Author => Authors.NataliaPortillo; /// public string Format => "DIM disk image"; /// diff --git a/Aaru.Images/DIM/Read.cs b/Aaru.Images/DIM/Read.cs index ef3f6c1f6..6bcbfabbc 100644 --- a/Aaru.Images/DIM/Read.cs +++ b/Aaru.Images/DIM/Read.cs @@ -74,7 +74,8 @@ public sealed partial class Dim case DiskType.Hd2: if(diskSize % (2 * 8 * 1024) != 0) { - AaruConsole.ErrorWriteLine("DIM shows unknown image with {0} tracks", diskSize / (2 * 8 * 1024)); + AaruConsole.ErrorWriteLine(Localization.DIM_shows_unknown_image_with_0_tracks, + diskSize / (2 * 8 * 1024)); return ErrorNumber.NotSupported; } @@ -90,7 +91,8 @@ public sealed partial class Dim case DiskType.Hs2: if(diskSize % (2 * 9 * 512) != 0) { - AaruConsole.ErrorWriteLine("DIM shows unknown image with {0} tracks", diskSize / (2 * 9 * 512)); + AaruConsole.ErrorWriteLine(Localization.DIM_shows_unknown_image_with_0_tracks, + diskSize / (2 * 9 * 512)); return ErrorNumber.NotSupported; } @@ -106,7 +108,8 @@ public sealed partial class Dim case DiskType.Hc2: if(diskSize % (2 * 15 * 512) != 0) { - AaruConsole.ErrorWriteLine("DIM shows unknown image with {0} tracks", diskSize / (2 * 15 * 512)); + AaruConsole.ErrorWriteLine(Localization.DIM_shows_unknown_image_with_0_tracks, + diskSize / (2 * 15 * 512)); return ErrorNumber.NotSupported; } @@ -122,7 +125,8 @@ public sealed partial class Dim case DiskType.Hde2: if(diskSize % (2 * 9 * 512) != 0) { - AaruConsole.ErrorWriteLine("DIM shows unknown image with {0} tracks", diskSize / (2 * 9 * 512)); + AaruConsole.ErrorWriteLine(Localization.DIM_shows_unknown_image_with_0_tracks, + diskSize / (2 * 9 * 512)); return ErrorNumber.NotSupported; } @@ -138,7 +142,8 @@ public sealed partial class Dim case DiskType.Hq2: if(diskSize % (2 * 18 * 512) != 0) { - AaruConsole.ErrorWriteLine("DIM shows unknown image with {0} tracks", diskSize / (2 * 18 * 512)); + AaruConsole.ErrorWriteLine(Localization.DIM_shows_unknown_image_with_0_tracks, + diskSize / (2 * 18 * 512)); return ErrorNumber.NotSupported; } @@ -168,7 +173,8 @@ public sealed partial class Dim } else { - AaruConsole.ErrorWriteLine("DIM shows unknown image with {0} tracks", diskSize / (2 * 26 * 256)); + AaruConsole.ErrorWriteLine(Localization.DIM_shows_unknown_image_with_0_tracks, + diskSize / (2 * 26 * 256)); return ErrorNumber.NotSupported; } @@ -177,10 +183,10 @@ public sealed partial class Dim default: return ErrorNumber.InvalidArgument; } - AaruConsole.VerboseWriteLine("DIM image contains a disk of type {0}", _imageInfo.MediaType); + AaruConsole.VerboseWriteLine(Localization.DIM_image_contains_a_disk_of_type_0, _imageInfo.MediaType); if(!string.IsNullOrEmpty(_imageInfo.Comments)) - AaruConsole.VerboseWriteLine("DIM comments: {0}", _imageInfo.Comments); + AaruConsole.VerboseWriteLine(Localization.DIM_comments_0, _imageInfo.Comments); _dimImageFilter = imageFilter; diff --git a/Aaru.Images/DiscFerret/Properties.cs b/Aaru.Images/DiscFerret/Properties.cs index c2ac4763f..a7652c1df 100644 --- a/Aaru.Images/DiscFerret/Properties.cs +++ b/Aaru.Images/DiscFerret/Properties.cs @@ -40,7 +40,7 @@ namespace Aaru.DiscImages; public sealed partial class DiscFerret { /// - public string Name => "DiscFerret"; + public string Name => Localization.DiscFerret_Name; /// public Guid Id => new("70EA7B9B-5323-42EB-9B40-8DDA37C5EB4D"); /// @@ -48,7 +48,7 @@ public sealed partial class DiscFerret /// public string Format => "DiscFerret"; /// - public string Author => "Natalia Portillo"; + public string Author => Authors.NataliaPortillo; /// public List DumpHardware => null; /// diff --git a/Aaru.Images/DiscFerret/Read.cs b/Aaru.Images/DiscFerret/Read.cs index 647fd1ae3..5be256f10 100644 --- a/Aaru.Images/DiscFerret/Read.cs +++ b/Aaru.Images/DiscFerret/Read.cs @@ -79,7 +79,8 @@ public sealed partial class DiscFerret if(stream.Position + blockHeader.length > stream.Length) { - AaruConsole.DebugWriteLine("DiscFerret plugin", "Invalid track block found at {0}", thisOffset); + AaruConsole.DebugWriteLine("DiscFerret plugin", Localization.Invalid_track_block_found_at_0, + thisOffset); break; } @@ -119,7 +120,7 @@ public sealed partial class DiscFerret _imageInfo.Application = "DiscFerret"; _imageInfo.ApplicationVersion = magic == DFI_MAGIC2 ? "2.0" : "1.0"; - AaruConsole.ErrorWriteLine("Flux decoding is not yet implemented."); + AaruConsole.ErrorWriteLine(Localization.Flux_decoding_is_not_yet_implemented); return ErrorNumber.NotImplemented; } diff --git a/Aaru.Images/DiscFerret/Verify.cs b/Aaru.Images/DiscFerret/Verify.cs index 7a16f0248..a86a6a46b 100644 --- a/Aaru.Images/DiscFerret/Verify.cs +++ b/Aaru.Images/DiscFerret/Verify.cs @@ -39,10 +39,10 @@ public sealed partial class DiscFerret { /// public bool? VerifySector(ulong sectorAddress) => - throw new NotImplementedException("Flux decoding is not yet implemented."); + throw new NotImplementedException(Localization.Flux_decoding_is_not_yet_implemented); /// public bool? VerifySectors(ulong sectorAddress, uint length, out List failingLbas, out List unknownLbas) => - throw new NotImplementedException("Flux decoding is not yet implemented."); + throw new NotImplementedException(Localization.Flux_decoding_is_not_yet_implemented); } \ No newline at end of file diff --git a/Aaru.Images/DiscJuggler/Properties.cs b/Aaru.Images/DiscJuggler/Properties.cs index 76930aa18..412e35538 100644 --- a/Aaru.Images/DiscJuggler/Properties.cs +++ b/Aaru.Images/DiscJuggler/Properties.cs @@ -41,7 +41,7 @@ namespace Aaru.DiscImages; public sealed partial class DiscJuggler { /// - public string Name => "DiscJuggler"; + public string Name => Localization.DiscJuggler_Name; /// public Guid Id => new("2444DBC6-CD35-424C-A227-39B0C4DB01B2"); /// @@ -49,7 +49,7 @@ public sealed partial class DiscJuggler /// public string Format => "DiscJuggler"; /// - public string Author => "Natalia Portillo"; + public string Author => Authors.NataliaPortillo; /// public List Partitions { get; private set; } /// diff --git a/Aaru.Images/DiscJuggler/Read.cs b/Aaru.Images/DiscJuggler/Read.cs index 22e42cd7a..af9f4e01d 100644 --- a/Aaru.Images/DiscJuggler/Read.cs +++ b/Aaru.Images/DiscJuggler/Read.cs @@ -228,7 +228,8 @@ public sealed partial class DiscJuggler track.Description = Encoding.Default.GetString(textBlk, 0, bLen); - AaruConsole.DebugWriteLine("DiscJuggler plugin", "\tTrack title = {0}", track.Description); + AaruConsole.DebugWriteLine("DiscJuggler plugin", "\t" + Localization.Track_title_0, + track.Description); } } @@ -390,7 +391,7 @@ public sealed partial class DiscJuggler break; default: - AaruConsole.ErrorWriteLine($"Unknown read mode {readMode}"); + AaruConsole.ErrorWriteLine(string.Format(Localization.Unknown_read_mode_0, readMode)); return ErrorNumber.InvalidArgument; } @@ -418,7 +419,9 @@ public sealed partial class DiscJuggler break; case 1: - AaruConsole.ErrorWriteLine($"Invalid read mode {readMode} for this track"); + AaruConsole. + ErrorWriteLine(string.Format(Localization.Invalid_read_mode_0_for_this_track, + readMode)); return ErrorNumber.InvalidArgument; case 2: @@ -509,7 +512,7 @@ public sealed partial class DiscJuggler break; default: - AaruConsole.ErrorWriteLine($"Unknown read mode {readMode}"); + AaruConsole.ErrorWriteLine(string.Format(Localization.Unknown_read_mode_0, readMode)); return ErrorNumber.InvalidArgument; } @@ -527,7 +530,9 @@ public sealed partial class DiscJuggler switch(readMode) { case 0: - AaruConsole.ErrorWriteLine($"Invalid read mode {readMode} for this track"); + AaruConsole. + ErrorWriteLine(string.Format(Localization.Invalid_read_mode_0_for_this_track, + readMode)); return ErrorNumber.InvalidArgument; case 1: @@ -592,14 +597,14 @@ public sealed partial class DiscJuggler break; default: - AaruConsole.ErrorWriteLine($"Unknown read mode {readMode}"); + AaruConsole.ErrorWriteLine(string.Format(Localization.Unknown_read_mode_0, readMode)); return ErrorNumber.InvalidArgument; } break; default: - AaruConsole.ErrorWriteLine($"Unknown track mode {trackMode}"); + AaruConsole.ErrorWriteLine(string.Format(Localization.Unknown_track_mode_0, trackMode)); return ErrorNumber.InvalidArgument; } @@ -661,7 +666,7 @@ public sealed partial class DiscJuggler // Skip unknown position += 16; - AaruConsole.DebugWriteLine("DiscJuggler plugin", "Current position = {0}", position); + AaruConsole.DebugWriteLine("DiscJuggler plugin", Localization.Current_position_equals_0, position); byte[] filenameB = new byte[descriptor[position]]; position++; Array.Copy(descriptor, position, filenameB, 0, filenameB.Length); @@ -713,7 +718,7 @@ public sealed partial class DiscJuggler // Skip unknown position += 12; - AaruConsole.DebugWriteLine("DiscJuggler plugin", "End position = {0}", position); + AaruConsole.DebugWriteLine("DiscJuggler plugin", Localization.End_position_equals_0, position); _imageInfo.MediaType = DecodeCdiMediumType(mediumType); diff --git a/Aaru.Images/DiskCopy42/Identify.cs b/Aaru.Images/DiskCopy42/Identify.cs index 7d5f97303..f671e32ad 100644 --- a/Aaru.Images/DiskCopy42/Identify.cs +++ b/Aaru.Images/DiskCopy42/Identify.cs @@ -104,7 +104,8 @@ public sealed partial class DiskCopy42 tmpHeader.Format != kSigmaFormatTwiggy && tmpHeader.Format != kNotStandardFormat) { - AaruConsole.DebugWriteLine("DC42 plugin", "Unknown tmp_header.format = 0x{0:X2} value", tmpHeader.Format); + AaruConsole.DebugWriteLine("DC42 plugin", Localization.Unknown_tmp_header_format_equals_0_value, + tmpHeader.Format); return false; } @@ -118,7 +119,8 @@ public sealed partial class DiskCopy42 tmpHeader.FmtByte != kFmtNotStandard && tmpHeader.FmtByte != kMacOSXFmtByte) { - AaruConsole.DebugWriteLine("DC42 plugin", "Unknown tmp_header.fmtByte = 0x{0:X2} value", tmpHeader.FmtByte); + AaruConsole.DebugWriteLine("DC42 plugin", Localization.Unknown_tmp_header_fmtByte_equals_0_value, + tmpHeader.FmtByte); return false; } @@ -126,7 +128,7 @@ public sealed partial class DiskCopy42 if(tmpHeader.FmtByte != kInvalidFmtByte) return true; - AaruConsole.DebugWriteLine("DC42 plugin", "Image says it's unformatted"); + AaruConsole.DebugWriteLine("DC42 plugin", Localization.Image_says_its_unformatted); return false; } diff --git a/Aaru.Images/DiskCopy42/Properties.cs b/Aaru.Images/DiskCopy42/Properties.cs index c88d5dd19..a9c589d35 100644 --- a/Aaru.Images/DiskCopy42/Properties.cs +++ b/Aaru.Images/DiskCopy42/Properties.cs @@ -44,17 +44,17 @@ public sealed partial class DiskCopy42 /// public ImageInfo Info => imageInfo; /// - public string Name => "Apple DiskCopy 4.2"; + public string Name => Localization.DiskCopy42_Name; /// public Guid Id => new("0240B7B1-E959-4CDC-B0BD-386D6E467B88"); /// - public string Author => "Natalia Portillo"; + public string Author => Authors.NataliaPortillo; /// public List DumpHardware => null; /// public CICMMetadataType CicmMetadata => null; /// - public string Format => "Apple DiskCopy 4.2"; + public string Format => Localization.DiskCopy42_Name; /// public IEnumerable SupportedMediaTags => Array.Empty(); /// @@ -71,7 +71,7 @@ public sealed partial class DiskCopy42 /// public IEnumerable<(string name, Type type, string description, object @default)> SupportedOptions => new[] { - ("macosx", typeof(bool), "Use Mac OS X format byte", (object)false) + ("macosx", typeof(bool), Localization.Use_Mac_OS_X_format_byte, (object)false) }; /// public IEnumerable KnownExtensions => new[] diff --git a/Aaru.Images/DiskCopy42/Read.cs b/Aaru.Images/DiskCopy42/Read.cs index 27ed72aba..3fdc8c6e3 100644 --- a/Aaru.Images/DiskCopy42/Read.cs +++ b/Aaru.Images/DiskCopy42/Read.cs @@ -109,7 +109,7 @@ public sealed partial class DiskCopy42 header.Format != kSigmaFormatTwiggy && header.Format != kNotStandardFormat) { - AaruConsole.DebugWriteLine("DC42 plugin", "Unknown header.format = 0x{0:X2} value", header.Format); + AaruConsole.DebugWriteLine("DC42 plugin", Localization.Unknown_header_format_equals_0_value, header.Format); return ErrorNumber.NotSupported; } @@ -123,14 +123,15 @@ public sealed partial class DiskCopy42 header.FmtByte != kFmtNotStandard && header.FmtByte != kMacOSXFmtByte) { - AaruConsole.DebugWriteLine("DC42 plugin", "Unknown tmp_header.fmtByte = 0x{0:X2} value", header.FmtByte); + AaruConsole.DebugWriteLine("DC42 plugin", Localization.Unknown_tmp_header_fmtByte_equals_0_value, + header.FmtByte); return ErrorNumber.NotSupported; } if(header.FmtByte == kInvalidFmtByte) { - AaruConsole.DebugWriteLine("DC42 plugin", "Image says it's unformatted"); + AaruConsole.DebugWriteLine("DC42 plugin", Localization.Image_says_its_unformatted); return ErrorNumber.InvalidArgument; } @@ -152,7 +153,7 @@ public sealed partial class DiskCopy42 bptag != 20 && bptag != 24) { - AaruConsole.DebugWriteLine("DC42 plugin", "Unknown tag size"); + AaruConsole.DebugWriteLine("DC42 plugin", Localization.Unknown_tag_size); return ErrorNumber.NotSupported; } @@ -208,7 +209,7 @@ public sealed partial class DiskCopy42 if(mfsMagic == 0xD2D7 && mfsAllBlocks == 422) { - AaruConsole.DebugWriteLine("DC42 plugin", "Macintosh Twiggy detected, reversing disk sides"); + AaruConsole.DebugWriteLine("DC42 plugin", Localization.Macintosh_Twiggy_detected_reversing_disk_sides); Array.Copy(data, header.DataSize / 2, twiggyCache, 0, header.DataSize / 2); Array.Copy(tags, header.TagSize / 2, twiggyCacheTags, 0, header.TagSize / 2); Array.Copy(data, 0, twiggyCache, header.DataSize / 2, header.DataSize / 2); @@ -216,7 +217,9 @@ public sealed partial class DiskCopy42 } else { - AaruConsole.DebugWriteLine("DC42 plugin", "Lisa Twiggy detected, reversing second half of disk"); + AaruConsole.DebugWriteLine("DC42 plugin", + Localization.Lisa_Twiggy_detected_reversing_second_half_of_disk); + Array.Copy(data, 0, twiggyCache, 0, header.DataSize / 2); Array.Copy(tags, 0, twiggyCacheTags, 0, header.TagSize / 2); @@ -319,11 +322,11 @@ public sealed partial class DiskCopy42 } catch(InvalidCastException) {} - AaruConsole.DebugWriteLine("DC42 plugin", "Image application = {0} version {1}", imageInfo.Application, + AaruConsole.DebugWriteLine("DC42 plugin", Localization.Image_application_0_version_1, imageInfo.Application, imageInfo.ApplicationVersion); imageInfo.XmlMediaType = XmlMediaType.BlockMedia; - AaruConsole.VerboseWriteLine("DiskCopy 4.2 image contains a disk of type {0}", imageInfo.MediaType); + AaruConsole.VerboseWriteLine(Localization.DiskCopy_4_2_image_contains_a_disk_of_type_0, imageInfo.MediaType); switch(imageInfo.MediaType) { diff --git a/Aaru.Images/DiskCopy42/Verify.cs b/Aaru.Images/DiskCopy42/Verify.cs index 502b827a1..93de9cb5e 100644 --- a/Aaru.Images/DiskCopy42/Verify.cs +++ b/Aaru.Images/DiskCopy42/Verify.cs @@ -45,28 +45,28 @@ public sealed partial class DiskCopy42 byte[] tags = new byte[header.TagSize]; uint tagsChk = 0; - AaruConsole.DebugWriteLine("DC42 plugin", "Reading data"); + AaruConsole.DebugWriteLine("DC42 plugin", Localization.Reading_data); Stream dataStream = dc42ImageFilter.GetDataForkStream(); dataStream.Seek(dataOffset, SeekOrigin.Begin); dataStream.EnsureRead(data, 0, (int)header.DataSize); - AaruConsole.DebugWriteLine("DC42 plugin", "Calculating data checksum"); + AaruConsole.DebugWriteLine("DC42 plugin", Localization.Calculating_data_checksum); uint dataChk = CheckSum(data); - AaruConsole.DebugWriteLine("DC42 plugin", "Calculated data checksum = 0x{0:X8}", dataChk); - AaruConsole.DebugWriteLine("DC42 plugin", "Stored data checksum = 0x{0:X8}", header.DataChecksum); + AaruConsole.DebugWriteLine("DC42 plugin", Localization.Calculated_data_checksum_equals_0_X8, dataChk); + AaruConsole.DebugWriteLine("DC42 plugin", Localization.Stored_data_checksum_equals_0_X8, header.DataChecksum); if(header.TagSize <= 0) return dataChk == header.DataChecksum && tagsChk == header.TagChecksum; - AaruConsole.DebugWriteLine("DC42 plugin", "Reading tags"); + AaruConsole.DebugWriteLine("DC42 plugin", Localization.Reading_tags); Stream tagStream = dc42ImageFilter.GetDataForkStream(); tagStream.Seek(tagOffset, SeekOrigin.Begin); tagStream.EnsureRead(tags, 0, (int)header.TagSize); - AaruConsole.DebugWriteLine("DC42 plugin", "Calculating tag checksum"); + AaruConsole.DebugWriteLine("DC42 plugin", Localization.Calculating_tag_checksum); tagsChk = CheckSum(tags); - AaruConsole.DebugWriteLine("DC42 plugin", "Calculated tag checksum = 0x{0:X8}", tagsChk); - AaruConsole.DebugWriteLine("DC42 plugin", "Stored tag checksum = 0x{0:X8}", header.TagChecksum); + AaruConsole.DebugWriteLine("DC42 plugin", Localization.Calculated_tag_checksum_equals_0_X8, tagsChk); + AaruConsole.DebugWriteLine("DC42 plugin", Localization.Stored_tag_checksum_equals_0_X8, header.TagChecksum); return dataChk == header.DataChecksum && tagsChk == header.TagChecksum; } diff --git a/Aaru.Images/DiskCopy42/Write.cs b/Aaru.Images/DiskCopy42/Write.cs index 17c2f2097..6a5c4cb76 100644 --- a/Aaru.Images/DiskCopy42/Write.cs +++ b/Aaru.Images/DiskCopy42/Write.cs @@ -57,7 +57,7 @@ public sealed partial class DiskCopy42 if(sectorSize != 512) { - ErrorMessage = "Unsupported sector size"; + ErrorMessage = Localization.Unsupported_sector_size; return false; } @@ -70,13 +70,13 @@ public sealed partial class DiskCopy42 twiggy = true; // TODO - ErrorMessage = "Twiggy write support not yet implemented"; + ErrorMessage = Localization.Twiggy_write_support_not_yet_implemented; return false; case MediaType.AppleHD20: if(sectors != 39040) { - ErrorMessage = "Incorrect number of sectors for Apple HD20 image"; + ErrorMessage = Localization.Incorrect_number_of_sectors_for_Apple_HD20_image; return false; } @@ -90,7 +90,7 @@ public sealed partial class DiskCopy42 if(sectors != 9728 && sectors != 19456) { - ErrorMessage = "Incorrect number of sectors for Apple Profile image"; + ErrorMessage = Localization.Incorrect_number_of_sectors_for_Apple_Profile_image; return false; } @@ -103,7 +103,7 @@ public sealed partial class DiskCopy42 case MediaType.AppleSonyDS: if(sectors != 1600) { - ErrorMessage = "Incorrect number of sectors for Apple MF2DD image"; + ErrorMessage = Localization.Incorrect_number_of_sectors_for_Apple_MF2DD_image; return false; } @@ -116,7 +116,7 @@ public sealed partial class DiskCopy42 case MediaType.AppleSonySS: if(sectors != 800) { - ErrorMessage = "Incorrect number of sectors for Apple MF1DD image"; + ErrorMessage = Localization.Incorrect_number_of_sectors_for_Apple_MF1DD_image; return false; } @@ -129,7 +129,7 @@ public sealed partial class DiskCopy42 case MediaType.AppleWidget: if(sectors != 39040) { - ErrorMessage = "Incorrect number of sectors for Apple Widget image"; + ErrorMessage = Localization.Incorrect_number_of_sectors_for_Apple_Widget_image; return false; } @@ -142,7 +142,7 @@ public sealed partial class DiskCopy42 case MediaType.DOS_35_DS_DD_9: if(sectors != 1440) { - ErrorMessage = "Incorrect number of sectors for MF2DD image"; + ErrorMessage = Localization.Incorrect_number_of_sectors_for_MF2DD_image; return false; } @@ -154,7 +154,7 @@ public sealed partial class DiskCopy42 case MediaType.DOS_35_HD: if(sectors != 2880) { - ErrorMessage = "Incorrect number of sectors for MF2HD image"; + ErrorMessage = Localization.Incorrect_number_of_sectors_for_MF2HD_image; return false; } @@ -166,7 +166,7 @@ public sealed partial class DiskCopy42 case MediaType.DMF: if(sectors != 3360) { - ErrorMessage = "Incorrect number of sectors for DMF image"; + ErrorMessage = Localization.Incorrect_number_of_sectors_for_DMF_image; return false; } @@ -176,7 +176,7 @@ public sealed partial class DiskCopy42 break; default: - ErrorMessage = $"Unsupported media format {mediaType}"; + ErrorMessage = string.Format(Localization.Unsupported_media_format_0, mediaType); return false; } @@ -203,7 +203,7 @@ public sealed partial class DiskCopy42 } catch(IOException e) { - ErrorMessage = $"Could not create new image file, exception {e.Message}"; + ErrorMessage = string.Format(Localization.Could_not_create_new_image_file_exception_0, e.Message); return false; } @@ -217,7 +217,7 @@ public sealed partial class DiskCopy42 /// public bool WriteMediaTag(byte[] data, MediaTagType tag) { - ErrorMessage = "Unsupported feature"; + ErrorMessage = Localization.Unsupported_feature; return false; } @@ -227,21 +227,21 @@ public sealed partial class DiskCopy42 { if(!IsWriting) { - ErrorMessage = "Tried to write on a non-writable image"; + ErrorMessage = Localization.Tried_to_write_on_a_non_writable_image; return false; } if(data.Length != 512) { - ErrorMessage = "Incorrect data size"; + ErrorMessage = Localization.Incorrect_data_size; return false; } if(sectorAddress >= imageInfo.Sectors) { - ErrorMessage = "Tried to write past image size"; + ErrorMessage = Localization.Tried_to_write_past_image_size; return false; } @@ -259,21 +259,21 @@ public sealed partial class DiskCopy42 { if(!IsWriting) { - ErrorMessage = "Tried to write on a non-writable image"; + ErrorMessage = Localization.Tried_to_write_on_a_non_writable_image; return false; } if(data.Length % 512 != 0) { - ErrorMessage = "Incorrect data size"; + ErrorMessage = Localization.Incorrect_data_size; return false; } if(sectorAddress + length > imageInfo.Sectors) { - ErrorMessage = "Tried to write past image size"; + ErrorMessage = Localization.Tried_to_write_past_image_size; return false; } @@ -291,7 +291,7 @@ public sealed partial class DiskCopy42 { if(!IsWriting) { - ErrorMessage = "Tried to write on a non-writable image"; + ErrorMessage = Localization.Tried_to_write_on_a_non_writable_image; return false; } @@ -305,14 +305,14 @@ public sealed partial class DiskCopy42 if(data.Length != 524) { - ErrorMessage = "Incorrect data size"; + ErrorMessage = Localization.Incorrect_data_size; return false; } if(sectorAddress >= imageInfo.Sectors) { - ErrorMessage = "Tried to write past image size"; + ErrorMessage = Localization.Tried_to_write_past_image_size; return false; } @@ -332,7 +332,7 @@ public sealed partial class DiskCopy42 { if(!IsWriting) { - ErrorMessage = "Tried to write on a non-writable image"; + ErrorMessage = Localization.Tried_to_write_on_a_non_writable_image; return false; } @@ -346,14 +346,14 @@ public sealed partial class DiskCopy42 if(data.Length % 524 != 0) { - ErrorMessage = "Incorrect data size"; + ErrorMessage = Localization.Incorrect_data_size; return false; } if(sectorAddress + length > imageInfo.Sectors) { - ErrorMessage = "Tried to write past image size"; + ErrorMessage = Localization.Tried_to_write_past_image_size; return false; } @@ -378,7 +378,7 @@ public sealed partial class DiskCopy42 { if(!IsWriting) { - ErrorMessage = "Image is not opened for writing"; + ErrorMessage = Localization.Image_is_not_opened_for_writing; return false; } @@ -438,7 +438,7 @@ public sealed partial class DiskCopy42 /// public bool WriteSectorTag(byte[] data, ulong sectorAddress, SectorTagType tag) { - ErrorMessage = "Unsupported feature"; + ErrorMessage = Localization.Unsupported_feature; return false; } @@ -446,7 +446,7 @@ public sealed partial class DiskCopy42 /// public bool WriteSectorsTag(byte[] data, ulong sectorAddress, uint length, SectorTagType tag) { - ErrorMessage = "Unsupported feature"; + ErrorMessage = Localization.Unsupported_feature; return false; } diff --git a/Aaru.Images/DiskDupe/Helpers.cs b/Aaru.Images/DiskDupe/Helpers.cs index f22296fad..8792665e1 100644 --- a/Aaru.Images/DiskDupe/Helpers.cs +++ b/Aaru.Images/DiskDupe/Helpers.cs @@ -70,7 +70,7 @@ public sealed partial class DiskDupe TrackInfo[] trackMap = new TrackInfo[numTracks]; long[] trackOffsets = new long[numTracks]; - AaruConsole.DebugWriteLine("DiskDupe plugin", "Identified image with C/H/S = {0}/{1}/{2}", + AaruConsole.DebugWriteLine("DiskDupe plugin", Localization.Identified_image_with_CHS_equals_0_1_2, _diskTypes[fHeader.diskType].cyl, _diskTypes[fHeader.diskType].hd, _diskTypes[fHeader.diskType].spt); diff --git a/Aaru.Images/DiskDupe/Properties.cs b/Aaru.Images/DiskDupe/Properties.cs index faacd2e1c..16f0ef8a8 100644 --- a/Aaru.Images/DiskDupe/Properties.cs +++ b/Aaru.Images/DiskDupe/Properties.cs @@ -41,11 +41,11 @@ namespace Aaru.DiscImages; public sealed partial class DiskDupe { /// - public string Name => "DiskDupe DDI Disk Image"; + public string Name => Localization.DiskDupe_Name; /// public Guid Id => new("5439B4A2-5F38-33A7-B8DC-3910D296B3DD"); /// - public string Author => "Michael Drüing"; + public string Author => Authors.MichaelDruing; /// public string Format => "DDI disk image"; /// diff --git a/Aaru.Images/DiskDupe/Read.cs b/Aaru.Images/DiskDupe/Read.cs index f04ed0f32..e41921cd7 100644 --- a/Aaru.Images/DiskDupe/Read.cs +++ b/Aaru.Images/DiskDupe/Read.cs @@ -55,7 +55,7 @@ public sealed partial class DiskDupe return ErrorNumber.InvalidArgument; AaruConsole.DebugWriteLine("DiskDupe Plugin", - "Detected DiskDupe DDI image with {0} tracks and {1} sectors per track.", + Localization.Detected_DiskDupe_DDI_image_with_0_tracks_and_1_sectors_per_track, _diskTypes[fHeader.diskType].cyl, _diskTypes[fHeader.diskType].spt); _imageInfo.Cylinders = _diskTypes[fHeader.diskType].cyl; diff --git a/Aaru.Images/DriDiskCopy/Properties.cs b/Aaru.Images/DriDiskCopy/Properties.cs index 57755d867..2ff3a92af 100644 --- a/Aaru.Images/DriDiskCopy/Properties.cs +++ b/Aaru.Images/DriDiskCopy/Properties.cs @@ -45,11 +45,11 @@ public sealed partial class DriDiskCopy public ImageInfo Info => _imageInfo; /// - public string Name => "Digital Research DiskCopy"; + public string Name => Localization.DriDiskCopy_Name; /// public Guid Id => new("9F0BE551-8BAB-4038-8B5A-691F1BF5FFF3"); /// - public string Author => "Natalia Portillo"; + public string Author => Authors.NataliaPortillo; /// public string Format => "Digital Research DiskCopy"; /// diff --git a/Aaru.Images/DriDiskCopy/Read.cs b/Aaru.Images/DriDiskCopy/Read.cs index cfaaa1dde..0a2dc57a6 100644 --- a/Aaru.Images/DriDiskCopy/Read.cs +++ b/Aaru.Images/DriDiskCopy/Read.cs @@ -83,8 +83,8 @@ public sealed partial class DriDiskCopy _imageInfo.CreationTime = imageFilter.CreationTime; _imageInfo.LastModificationTime = imageFilter.LastWriteTime; - AaruConsole.DebugWriteLine("DRI DiskCopy plugin", "Image application = {0} version {1}", _imageInfo.Application, - _imageInfo.ApplicationVersion); + AaruConsole.DebugWriteLine("DRI DiskCopy plugin", Localization.Image_application_0_version_1, + _imageInfo.Application, _imageInfo.ApplicationVersion); // Correct some incorrect data in images of NEC 2HD disks if(_imageInfo is { Cylinders: 77, Heads: 2 } and { SectorsPerTrack: 16, SectorSize: 512 } && @@ -116,7 +116,7 @@ public sealed partial class DriDiskCopy _imageInfo.XmlMediaType = XmlMediaType.BlockMedia; - AaruConsole.VerboseWriteLine("Digital Research DiskCopy image contains a disk of type {0}", + AaruConsole.VerboseWriteLine(Localization.Digital_Research_DiskCopy_image_contains_a_disk_of_type_0, _imageInfo.MediaType); return ErrorNumber.NoError; diff --git a/Aaru.Images/DriDiskCopy/Write.cs b/Aaru.Images/DriDiskCopy/Write.cs index 0a25f0ac0..a9d70f506 100644 --- a/Aaru.Images/DriDiskCopy/Write.cs +++ b/Aaru.Images/DriDiskCopy/Write.cs @@ -51,21 +51,21 @@ public sealed partial class DriDiskCopy { if(sectorSize == 0) { - ErrorMessage = "Unsupported sector size"; + ErrorMessage = Localization.Unsupported_sector_size; return false; } if(sectors > ushort.MaxValue) { - ErrorMessage = "Too many sectors"; + ErrorMessage = Localization.Too_many_sectors; return false; } if(!SupportedMediaTypes.Contains(mediaType)) { - ErrorMessage = $"Unsupported media format {mediaType}"; + ErrorMessage = string.Format(Localization.Unsupported_media_format_0, mediaType); return false; } @@ -83,7 +83,7 @@ public sealed partial class DriDiskCopy } catch(IOException e) { - ErrorMessage = $"Could not create new image file, exception {e.Message}"; + ErrorMessage = string.Format(Localization.Could_not_create_new_image_file_exception_0, e.Message); return false; } @@ -123,7 +123,7 @@ public sealed partial class DriDiskCopy /// public bool WriteMediaTag(byte[] data, MediaTagType tag) { - ErrorMessage = "Writing media tags is not supported."; + ErrorMessage = Localization.Writing_media_tags_is_not_supported; return false; } @@ -133,21 +133,21 @@ public sealed partial class DriDiskCopy { if(!IsWriting) { - ErrorMessage = "Tried to write on a non-writable image"; + ErrorMessage = Localization.Tried_to_write_on_a_non_writable_image; return false; } if(data.Length != _imageInfo.SectorSize) { - ErrorMessage = "Incorrect data size"; + ErrorMessage = Localization.Incorrect_data_size; return false; } if(sectorAddress >= _imageInfo.Sectors) { - ErrorMessage = "Tried to write past image size"; + ErrorMessage = Localization.Tried_to_write_past_image_size; return false; } @@ -165,21 +165,21 @@ public sealed partial class DriDiskCopy { if(!IsWriting) { - ErrorMessage = "Tried to write on a non-writable image"; + ErrorMessage = Localization.Tried_to_write_on_a_non_writable_image; return false; } if(data.Length % _imageInfo.SectorSize != 0) { - ErrorMessage = "Incorrect data size"; + ErrorMessage = Localization.Incorrect_data_size; return false; } if(sectorAddress + length > _imageInfo.Sectors) { - ErrorMessage = "Tried to write past image size"; + ErrorMessage = Localization.Tried_to_write_past_image_size; return false; } @@ -195,7 +195,7 @@ public sealed partial class DriDiskCopy /// public bool WriteSectorLong(byte[] data, ulong sectorAddress) { - ErrorMessage = "Writing sectors with tags is not supported."; + ErrorMessage = Localization.Writing_sectors_with_tags_is_not_supported; return false; } @@ -203,7 +203,7 @@ public sealed partial class DriDiskCopy /// public bool WriteSectorsLong(byte[] data, ulong sectorAddress, uint length) { - ErrorMessage = "Writing sectors with tags is not supported."; + ErrorMessage = Localization.Writing_sectors_with_tags_is_not_supported; return false; } @@ -213,7 +213,7 @@ public sealed partial class DriDiskCopy { if(!IsWriting) { - ErrorMessage = "Image is not opened for writing"; + ErrorMessage = Localization.Image_is_not_opened_for_writing; return false; } @@ -245,7 +245,7 @@ public sealed partial class DriDiskCopy /// public bool WriteSectorTag(byte[] data, ulong sectorAddress, SectorTagType tag) { - ErrorMessage = "Unsupported feature"; + ErrorMessage = Localization.Unsupported_feature; return false; } @@ -253,7 +253,7 @@ public sealed partial class DriDiskCopy /// public bool WriteSectorsTag(byte[] data, ulong sectorAddress, uint length, SectorTagType tag) { - ErrorMessage = "Unsupported feature"; + ErrorMessage = Localization.Unsupported_feature; return false; } diff --git a/Aaru.Images/GDI/Identify.cs b/Aaru.Images/GDI/Identify.cs index ccd960566..55bcc3bfd 100644 --- a/Aaru.Images/GDI/Identify.cs +++ b/Aaru.Images/GDI/Identify.cs @@ -112,9 +112,9 @@ public sealed partial class Gdi } catch(Exception ex) { - AaruConsole.ErrorWriteLine("Exception trying to identify image file {0}", imageFilter.BasePath); - AaruConsole.ErrorWriteLine("Exception: {0}", ex.Message); - AaruConsole.ErrorWriteLine("Stack trace: {0}", ex.StackTrace); + AaruConsole.ErrorWriteLine(Localization.Exception_trying_to_identify_image_file_0, imageFilter.BasePath); + AaruConsole.ErrorWriteLine(Localization.Exception_0, ex.Message); + AaruConsole.ErrorWriteLine(Localization.Stack_trace_0, ex.StackTrace); return false; } diff --git a/Aaru.Images/GDI/Properties.cs b/Aaru.Images/GDI/Properties.cs index 85732409a..ea7046711 100644 --- a/Aaru.Images/GDI/Properties.cs +++ b/Aaru.Images/GDI/Properties.cs @@ -43,13 +43,13 @@ namespace Aaru.DiscImages; public sealed partial class Gdi { /// - public string Name => "Dreamcast GDI image"; + public string Name => Localization.Gdi_Name; /// public Guid Id => new("281ECBF2-D2A7-414C-8497-1A33F6DCB2DD"); /// public ImageInfo Info => _imageInfo; /// - public string Author => "Natalia Portillo"; + public string Author => Authors.NataliaPortillo; /// public string Format => "Dreamcast GDI image"; diff --git a/Aaru.Images/GDI/Read.cs b/Aaru.Images/GDI/Read.cs index e02310c11..f58ef89b7 100644 --- a/Aaru.Images/GDI/Read.cs +++ b/Aaru.Images/GDI/Read.cs @@ -86,7 +86,7 @@ public sealed partial class Gdi if(int.TryParse(line, out _)) continue; - AaruConsole.ErrorWriteLine("Not a correct Dreamcast GDI image"); + AaruConsole.ErrorWriteLine(Localization.Not_a_correct_Dreamcast_GDI_image); return ErrorNumber.InvalidArgument; } @@ -95,13 +95,14 @@ public sealed partial class Gdi if(!trackMatch.Success) { - AaruConsole.ErrorWriteLine($"Unknown line \"{line}\" at line {lineNumber}"); + AaruConsole.ErrorWriteLine(string.Format(Localization.Unknown_line_0_at_line_1, line, lineNumber)); return ErrorNumber.InvalidArgument; } AaruConsole.DebugWriteLine("GDI plugin", - "Found track {0} starts at {1} flags {2} type {3} file {4} offset {5} at line {6}", + Localization. + Found_track_0_starts_at_1_flags_2_type_3_file_4_offset_5_at_line_6, trackMatch.Groups["track"].Value, trackMatch.Groups["start"].Value, trackMatch.Groups["flags"].Value, trackMatch.Groups["type"].Value, trackMatch.Groups["filename"].Value, trackMatch.Groups["offset"].Value, @@ -139,7 +140,7 @@ public sealed partial class Gdi if((currentTrack.TrackFilter.DataForkLength - currentTrack.Offset) % currentTrack.Bps != 0) { - AaruConsole.ErrorWriteLine("Track size not a multiple of sector size"); + AaruConsole.ErrorWriteLine(Localization.Track_size_not_a_multiple_of_sector_size); return ErrorNumber.InvalidArgument; } @@ -208,53 +209,66 @@ public sealed partial class Gdi _discImage.Disktype = MediaType.GDROM; // DEBUG information - AaruConsole.DebugWriteLine("GDI plugin", "Disc image parsing results"); + AaruConsole.DebugWriteLine("GDI plugin", Localization.Disc_image_parsing_results); - AaruConsole.DebugWriteLine("GDI plugin", "Session information:"); - AaruConsole.DebugWriteLine("GDI plugin", "\tDisc contains {0} sessions", _discImage.Sessions.Count); + AaruConsole.DebugWriteLine("GDI plugin", Localization.Session_information); + + AaruConsole.DebugWriteLine("GDI plugin", "\t" + Localization.Disc_contains_0_sessions, + _discImage.Sessions.Count); for(int i = 0; i < _discImage.Sessions.Count; i++) { - AaruConsole.DebugWriteLine("GDI plugin", "\tSession {0} information:", i + 1); + AaruConsole.DebugWriteLine("GDI plugin", "\t" + Localization.Session_0_information, i + 1); - AaruConsole.DebugWriteLine("GDI plugin", "\t\tStarting track: {0}", _discImage.Sessions[i].StartTrack); + AaruConsole.DebugWriteLine("GDI plugin", "\t\t" + Localization.Starting_track_0, + _discImage.Sessions[i].StartTrack); - AaruConsole.DebugWriteLine("GDI plugin", "\t\tStarting sector: {0}", + AaruConsole.DebugWriteLine("GDI plugin", "\t\t" + Localization.Starting_sector_0, _discImage.Sessions[i].StartSector); - AaruConsole.DebugWriteLine("GDI plugin", "\t\tEnding track: {0}", _discImage.Sessions[i].EndTrack); + AaruConsole.DebugWriteLine("GDI plugin", "\t\t" + Localization.Ending_track_0, + _discImage.Sessions[i].EndTrack); - AaruConsole.DebugWriteLine("GDI plugin", "\t\tEnding sector: {0}", _discImage.Sessions[i].EndSector); + AaruConsole.DebugWriteLine("GDI plugin", "\t\t" + Localization.Ending_sector_0, + _discImage.Sessions[i].EndSector); } - AaruConsole.DebugWriteLine("GDI plugin", "Track information:"); - AaruConsole.DebugWriteLine("GDI plugin", "\tDisc contains {0} tracks", _discImage.Tracks.Count); + AaruConsole.DebugWriteLine("GDI plugin", Localization.Track_information); + + AaruConsole.DebugWriteLine("GDI plugin", "\t" + Localization.Disc_contains_0_tracks, + _discImage.Tracks.Count); for(int i = 0; i < _discImage.Tracks.Count; i++) { - AaruConsole.DebugWriteLine("GDI plugin", "\tTrack {0} information:", _discImage.Tracks[i].Sequence); - AaruConsole.DebugWriteLine("GDI plugin", "\t\t{0} bytes per sector", _discImage.Tracks[i].Bps); - AaruConsole.DebugWriteLine("GDI plugin", "\t\tPregap: {0} sectors", _discImage.Tracks[i].Pregap); + AaruConsole.DebugWriteLine("GDI plugin", "\t" + Localization.Track_0_information, + _discImage.Tracks[i].Sequence); + + AaruConsole.DebugWriteLine("GDI plugin", "\t\t" + Localization._0_bytes_per_sector, + _discImage.Tracks[i].Bps); + + AaruConsole.DebugWriteLine("GDI plugin", "\t\t" + Localization.Pregap_0_sectors, + _discImage.Tracks[i].Pregap); if((_discImage.Tracks[i].Flags & 0x8) == 0x8) - AaruConsole.DebugWriteLine("GDI plugin", "\t\tTrack is flagged as quadraphonic"); + AaruConsole.DebugWriteLine("GDI plugin", "\t\t" + Localization.Track_is_flagged_as_quadraphonic); if((_discImage.Tracks[i].Flags & 0x4) == 0x4) - AaruConsole.DebugWriteLine("GDI plugin", "\t\tTrack is data"); + AaruConsole.DebugWriteLine("GDI plugin", "\t\t" + Localization.Track_is_data); if((_discImage.Tracks[i].Flags & 0x2) == 0x2) - AaruConsole.DebugWriteLine("GDI plugin", "\t\tTrack allows digital copy"); + AaruConsole.DebugWriteLine("GDI plugin", "\t\t" + Localization.Track_allows_digital_copy); if((_discImage.Tracks[i].Flags & 0x1) == 0x1) - AaruConsole.DebugWriteLine("GDI plugin", "\t\tTrack has pre-emphasis applied"); + AaruConsole.DebugWriteLine("GDI plugin", "\t\t" + Localization.Track_has_pre_emphasis_applied); AaruConsole.DebugWriteLine("GDI plugin", - "\t\tTrack resides in file {0}, type defined as {1}, starting at byte {2}", + "\t\t" + Localization. + Track_resides_in_file_0_type_defined_as_1_starting_at_byte_2, _discImage.Tracks[i].TrackFilter, _discImage.Tracks[i].TrackType, _discImage.Tracks[i].Offset); } - AaruConsole.DebugWriteLine("GDI plugin", "Building offset map"); + AaruConsole.DebugWriteLine("GDI plugin", Localization.Building_offset_map); Partitions = new List(); ulong byteOffset = 0; @@ -264,7 +278,7 @@ public sealed partial class Gdi if(_discImage.Tracks[i].Sequence == 1 && i != 0) { - AaruConsole.ErrorWriteLine("Unordered tracks"); + AaruConsole.ErrorWriteLine(Localization.Unordered_tracks); return ErrorNumber.InvalidArgument; } @@ -272,7 +286,7 @@ public sealed partial class Gdi // Index 01 var partition = new Partition { - Description = $"Track {_discImage.Tracks[i].Sequence}.", + Description = string.Format(Localization.Track_0, _discImage.Tracks[i].Sequence), Name = null, Start = _discImage.Tracks[i].StartSector, Size = _discImage.Tracks[i].Sectors * _discImage.Tracks[i].Bps, @@ -318,7 +332,7 @@ public sealed partial class Gdi _imageInfo.XmlMediaType = XmlMediaType.OpticalDisc; - AaruConsole.VerboseWriteLine("GDI image describes a disc of type {0}", _imageInfo.MediaType); + AaruConsole.VerboseWriteLine(Localization.GDI_image_describes_a_disc_of_type_0, _imageInfo.MediaType); _sectorBuilder = new SectorBuilder(); @@ -326,8 +340,8 @@ public sealed partial class Gdi } catch(Exception ex) { - AaruConsole.ErrorWriteLine("Exception trying to identify image file {0}", imageFilter.BasePath); - AaruConsole.ErrorWriteLine("Exception: {0}", ex); + AaruConsole.ErrorWriteLine(Localization.Exception_trying_to_identify_image_file_0, imageFilter.BasePath); + AaruConsole.ErrorWriteLine(Localization.Exception_0, ex); return ErrorNumber.UnexpectedException; } diff --git a/Aaru.Images/HDCopy/Helpers.cs b/Aaru.Images/HDCopy/Helpers.cs index bf589e020..84fe70ecb 100644 --- a/Aaru.Images/HDCopy/Helpers.cs +++ b/Aaru.Images/HDCopy/Helpers.cs @@ -104,7 +104,7 @@ public sealed partial class HdCopy // check that track is present if(_trackOffset[trackNum] == -1) { - AaruConsole.ErrorWriteLine("Tried reading a track that is not present in image"); + AaruConsole.ErrorWriteLine(Localization.Tried_reading_a_track_that_is_not_present_in_image); return ErrorNumber.SectorNotFound; } @@ -140,7 +140,7 @@ public sealed partial class HdCopy // check that the number of bytes decompressed matches a whole track if(dIndex != _imageInfo.SectorSize * _imageInfo.SectorsPerTrack) { - AaruConsole.ErrorWriteLine("Track decompression yielded incomplete data"); + AaruConsole.ErrorWriteLine(Localization.Track_decompression_yielded_incomplete_data); return ErrorNumber.InOutError; } diff --git a/Aaru.Images/HDCopy/Properties.cs b/Aaru.Images/HDCopy/Properties.cs index cf03a8fda..f4efc9e80 100644 --- a/Aaru.Images/HDCopy/Properties.cs +++ b/Aaru.Images/HDCopy/Properties.cs @@ -44,11 +44,11 @@ public sealed partial class HdCopy public ImageInfo Info => _imageInfo; /// - public string Name => "HD-Copy disk image"; + public string Name => Localization.HdCopy_Name; /// public Guid Id => new("8D57483F-71A5-42EC-9B87-66AEC439C792"); /// - public string Author => "Michael Drüing"; + public string Author => Authors.MichaelDruing; /// public string Format => "HD-Copy image"; /// diff --git a/Aaru.Images/HDCopy/Read.cs b/Aaru.Images/HDCopy/Read.cs index 2ad58c6a3..9f65a9c2c 100644 --- a/Aaru.Images/HDCopy/Read.cs +++ b/Aaru.Images/HDCopy/Read.cs @@ -56,7 +56,8 @@ public sealed partial class HdCopy if(!TryReadHeader(stream, ref fheader, ref currentOffset)) return ErrorNumber.InvalidArgument; - AaruConsole.DebugWriteLine("HDCP plugin", "Detected HD-Copy image with {0} tracks and {1} sectors per track.", + AaruConsole.DebugWriteLine("HDCP plugin", + Localization.Detected_HD_Copy_image_with_0_tracks_and_1_sectors_per_track, fheader.lastCylinder + 1, fheader.sectorsPerTrack); _imageInfo.Cylinders = (uint)fheader.lastCylinder + 1; @@ -94,7 +95,7 @@ public sealed partial class HdCopy if(blkLength < 0) return ErrorNumber.InvalidArgument; - AaruConsole.DebugWriteLine("HDCP plugin", "Track {0} offset 0x{1:x8}, size={2:x4}", i, currentOffset, + AaruConsole.DebugWriteLine("HDCP plugin", Localization.Track_0_offset_1_size_equals_2, i, currentOffset, blkLength); _trackOffset[i] = currentOffset; diff --git a/Aaru.Images/IMD/Properties.cs b/Aaru.Images/IMD/Properties.cs index 18e6787bb..4f778af99 100644 --- a/Aaru.Images/IMD/Properties.cs +++ b/Aaru.Images/IMD/Properties.cs @@ -40,13 +40,13 @@ namespace Aaru.DiscImages; public sealed partial class Imd { /// - public string Name => "Dunfield's IMD"; + public string Name => Localization.Imd_Name; /// public Guid Id => new("0D67162E-38A3-407D-9B1A-CF40080A48CB"); /// public ImageInfo Info => _imageInfo; /// - public string Author => "Natalia Portillo"; + public string Author => Authors.NataliaPortillo; /// public string Format => "IMageDisk"; /// diff --git a/Aaru.Images/IMD/Read.cs b/Aaru.Images/IMD/Read.cs index 28f6a91d9..ac3fdfb73 100644 --- a/Aaru.Images/IMD/Read.cs +++ b/Aaru.Images/IMD/Read.cs @@ -158,7 +158,7 @@ public sealed partial class Imd break; default: - AaruConsole.ErrorWriteLine($"Invalid sector type {(byte)type}"); + AaruConsole.ErrorWriteLine(string.Format(Localization.Invalid_sector_type_0, (byte)type)); return ErrorNumber.InvalidArgument; } @@ -208,10 +208,10 @@ public sealed partial class Imd _imageInfo.XmlMediaType = XmlMediaType.BlockMedia; - AaruConsole.VerboseWriteLine("IMD image contains a disk of type {0}", _imageInfo.MediaType); + AaruConsole.VerboseWriteLine(Localization.IMD_image_contains_a_disk_of_type_0, _imageInfo.MediaType); if(!string.IsNullOrEmpty(_imageInfo.Comments)) - AaruConsole.VerboseWriteLine("IMD comments: {0}", _imageInfo.Comments); + AaruConsole.VerboseWriteLine(Localization.IMD_comments_0, _imageInfo.Comments); return ErrorNumber.NoError; } diff --git a/Aaru.Images/KryoFlux/Properties.cs b/Aaru.Images/KryoFlux/Properties.cs index ce0ae0670..90d90fa88 100644 --- a/Aaru.Images/KryoFlux/Properties.cs +++ b/Aaru.Images/KryoFlux/Properties.cs @@ -43,9 +43,9 @@ public sealed partial class KryoFlux /// public ImageInfo Info => _imageInfo; /// - public string Author => "Natalia Portillo"; + public string Author => Authors.NataliaPortillo; /// - public string Name => "KryoFlux STREAM"; + public string Name => Localization.KryoFlux_Name; /// public Guid Id => new("4DBC95E4-93EE-4F7A-9492-919887E60EFE"); /// diff --git a/Aaru.Images/KryoFlux/Read.cs b/Aaru.Images/KryoFlux/Read.cs index 8f5434e4a..fe2ddc3aa 100644 --- a/Aaru.Images/KryoFlux/Read.cs +++ b/Aaru.Images/KryoFlux/Read.cs @@ -95,7 +95,8 @@ public sealed partial class KryoFlux if(head == 0) { AaruConsole.DebugWriteLine("KryoFlux plugin", - "Cannot find cyl 0 hd 0, supposing only top head was dumped"); + Localization. + Cannot_find_cyl_0_hd_0_supposing_only_top_head_was_dumped); topHead = true; heads = 1; @@ -104,7 +105,8 @@ public sealed partial class KryoFlux } AaruConsole.DebugWriteLine("KryoFlux plugin", - "Cannot find cyl 0 hd 1, supposing only bottom head was dumped"); + Localization. + Cannot_find_cyl_0_hd_1_supposing_only_bottom_head_was_dumped); heads = 1; @@ -112,14 +114,17 @@ public sealed partial class KryoFlux } else if(cylinder == 1) { - AaruConsole.DebugWriteLine("KryoFlux plugin", "Cannot find cyl 1, supposing double stepping"); + AaruConsole.DebugWriteLine("KryoFlux plugin", + Localization.Cannot_find_cyl_1_supposing_double_stepping); + step = 2; continue; } else { - AaruConsole.DebugWriteLine("KryoFlux plugin", "Arrived end of disk at cylinder {0}", cylinder); + AaruConsole.DebugWriteLine("KryoFlux plugin", Localization.Arrived_end_of_disk_at_cylinder_0, + cylinder); break; } @@ -212,7 +217,8 @@ public sealed partial class KryoFlux var blockTimestamp = new DateTime(blockDate.Year, blockDate.Month, blockDate.Day, blockTime.Hour, blockTime.Minute, blockTime.Second); - AaruConsole.DebugWriteLine("KryoFlux plugin", "Found timestamp: {0}", blockTimestamp); + AaruConsole.DebugWriteLine("KryoFlux plugin", Localization.Found_timestamp_0, + blockTimestamp); if(blockTimestamp < Info.CreationTime) _imageInfo.CreationTime = blockTimestamp; @@ -250,7 +256,7 @@ public sealed partial class KryoFlux _imageInfo.Heads = heads; _imageInfo.Cylinders = (uint)(tracks.Count / heads); - AaruConsole.ErrorWriteLine("Flux decoding is not yet implemented."); + AaruConsole.ErrorWriteLine(Localization.Flux_decoding_is_not_yet_implemented); return ErrorNumber.NotImplemented; } diff --git a/Aaru.Images/KryoFlux/Verify.cs b/Aaru.Images/KryoFlux/Verify.cs index 0385d1acf..fa9c08d23 100644 --- a/Aaru.Images/KryoFlux/Verify.cs +++ b/Aaru.Images/KryoFlux/Verify.cs @@ -39,10 +39,10 @@ public sealed partial class KryoFlux { /// public bool? VerifySector(ulong sectorAddress) => - throw new NotImplementedException("Flux decoding is not yet implemented."); + throw new NotImplementedException(Localization.Flux_decoding_is_not_yet_implemented); /// public bool? VerifySectors(ulong sectorAddress, uint length, out List failingLbas, out List unknownLbas) => - throw new NotImplementedException("Flux decoding is not yet implemented."); + throw new NotImplementedException(Localization.Flux_decoding_is_not_yet_implemented); } \ No newline at end of file diff --git a/Aaru.Images/Localization/Localization.Designer.cs b/Aaru.Images/Localization/Localization.Designer.cs new file mode 100644 index 000000000..667d53c1f --- /dev/null +++ b/Aaru.Images/Localization/Localization.Designer.cs @@ -0,0 +1,5791 @@ +//------------------------------------------------------------------------------ +// +// 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.DiscImages { + 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.DiscImages.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 Took_0_ms_to_deinterleave_subchannel { + get { + return ResourceManager.GetString("Took_0_ms_to_deinterleave_subchannel", resourceCulture); + } + } + + internal static string Took_0_ms_to_sequentialize_subchannel { + get { + return ResourceManager.GetString("Took_0_ms_to_sequentialize_subchannel", resourceCulture); + } + } + + internal static string Took_0_ms_to_transform_subchannel { + get { + return ResourceManager.GetString("Took_0_ms_to_transform_subchannel", resourceCulture); + } + } + + internal static string Took_0_ms_to_desequentialize_subchannel { + get { + return ResourceManager.GetString("Took_0_ms_to_desequentialize_subchannel", resourceCulture); + } + } + + internal static string Took_0_ms_to_interleave_subchannel { + get { + return ResourceManager.GetString("Took_0_ms_to_interleave_subchannel", resourceCulture); + } + } + + internal static string Took_0_ms_to_untransform_subchannel { + get { + return ResourceManager.GetString("Took_0_ms_to_untransform_subchannel", resourceCulture); + } + } + + internal static string AaruFormat_Name { + get { + return ResourceManager.GetString("AaruFormat_Name", resourceCulture); + } + } + + internal static string How_many_sectors_to_store_per_block_will_be_rounded_to_next_power_of_two { + get { + return ResourceManager.GetString("How_many_sectors_to_store_per_block_will_be_rounded_to_next_power_of_two", resourceCulture); + } + } + + internal static string Size_in_bytes_of_the_LZMA_dictionary { + get { + return ResourceManager.GetString("Size_in_bytes_of_the_LZMA_dictionary", resourceCulture); + } + } + + internal static string Maximum_size_in_mebibytes_for_in_memory_DDT_If_image_needs_a_bigger_one_it_will_be_on_disk { + get { + return ResourceManager.GetString("Maximum_size_in_mebibytes_for_in_memory_DDT_If_image_needs_a_bigger_one_it_will_b" + + "e_on_disk", resourceCulture); + } + } + + internal static string Calculate_and_store_MD5_of_image_user_data { + get { + return ResourceManager.GetString("Calculate_and_store_MD5_of_image_user_data", resourceCulture); + } + } + + internal static string Calculate_and_store_SHA1_of_image_user_data { + get { + return ResourceManager.GetString("Calculate_and_store_SHA1_of_image_user_data", resourceCulture); + } + } + + internal static string Calculate_and_store_SHA256_of_image_user_data { + get { + return ResourceManager.GetString("Calculate_and_store_SHA256_of_image_user_data", resourceCulture); + } + } + + internal static string Calculate_and_store_SpamSum_of_image_user_data { + get { + return ResourceManager.GetString("Calculate_and_store_SpamSum_of_image_user_data", resourceCulture); + } + } + + internal static string Store_only_unique_sectors_This_consumes_more_memory_and_is_slower_but_its_enabled_by_default { + get { + return ResourceManager.GetString("Store_only_unique_sectors_This_consumes_more_memory_and_is_slower_but_its_enabled" + + "_by_default", resourceCulture); + } + } + + internal static string Compress_user_data_blocks_Other_blocks_will_always_be_compressed { + get { + return ResourceManager.GetString("Compress_user_data_blocks_Other_blocks_will_always_be_compressed", resourceCulture); + } + } + + internal static string Memory_snapshot_0_bytes { + get { + return ResourceManager.GetString("Memory_snapshot_0_bytes", resourceCulture); + } + } + + internal static string Image_version_0_not_recognized { + get { + return ResourceManager.GetString("Image_version_0_not_recognized", resourceCulture); + } + } + + internal static string Index_not_found { + get { + return ResourceManager.GetString("Index_not_found", resourceCulture); + } + } + + internal static string Index_at_0_contains_1_entries { + get { + return ResourceManager.GetString("Index_at_0_contains_1_entries", resourceCulture); + } + } + + internal static string Block_type_0_with_data_type_1_is_indexed_to_be_at_2 { + get { + return ResourceManager.GetString("Block_type_0_with_data_type_1_is_indexed_to_be_at_2", resourceCulture); + } + } + + internal static string Incorrect_identifier_for_data_block_at_position_0 { + get { + return ResourceManager.GetString("Incorrect_identifier_for_data_block_at_position_0", resourceCulture); + } + } + + internal static string Expected_block_with_data_type_0_at_position_1_but_found_data_type_2 { + get { + return ResourceManager.GetString("Expected_block_with_data_type_0_at_position_1_but_found_data_type_2", resourceCulture); + } + } + + internal static string Found_data_block_type_0_at_position_1 { + get { + return ResourceManager.GetString("Found_data_block_type_0_at_position_1", resourceCulture); + } + } + + internal static string Invalid_compression_type_0_for_block_with_data_type_1_continuing { + get { + return ResourceManager.GetString("Invalid_compression_type_0_for_block_with_data_type_1_continuing", resourceCulture); + } + } + + internal static string Error_decompressing_block_should_be_0_bytes_but_got_1_bytes { + get { + return ResourceManager.GetString("Error_decompressing_block_should_be_0_bytes_but_got_1_bytes", resourceCulture); + } + } + + internal static string Took_0_seconds_to_decompress_block { + get { + return ResourceManager.GetString("Took_0_seconds_to_decompress_block", resourceCulture); + } + } + + internal static string Found_unknown_compression_type_0_continuing { + get { + return ResourceManager.GetString("Found_unknown_compression_type_0_continuing", resourceCulture); + } + } + + internal static string Incorrect_CRC_found_0_X16_found_expected_1_X16_continuing { + get { + return ResourceManager.GetString("Incorrect_CRC_found_0_X16_found_expected_1_X16_continuing", resourceCulture); + } + } + + internal static string Media_tag_type_0_duplicated_removing_previous_entry { + get { + return ResourceManager.GetString("Media_tag_type_0_duplicated_removing_previous_entry", resourceCulture); + } + } + + internal static string Decompressing_DDT { + get { + return ResourceManager.GetString("Decompressing_DDT", resourceCulture); + } + } + + internal static string Error_decompressing_DDT_should_be_0_bytes_but_got_1_bytes { + get { + return ResourceManager.GetString("Error_decompressing_DDT_should_be_0_bytes_but_got_1_bytes", resourceCulture); + } + } + + internal static string Took_0_seconds_to_decompress_DDT { + get { + return ResourceManager.GetString("Took_0_seconds_to_decompress_DDT", resourceCulture); + } + } + + internal static string Found_unsupported_compression_algorithm_0 { + get { + return ResourceManager.GetString("Found_unsupported_compression_algorithm_0", resourceCulture); + } + } + + internal static string Geometry_set_to_0_cylinders_1_heads_2_sectors_per_track { + get { + return ResourceManager.GetString("Geometry_set_to_0_cylinders_1_heads_2_sectors_per_track", resourceCulture); + } + } + + internal static string Found_metadata_block_at_position_0 { + get { + return ResourceManager.GetString("Found_metadata_block_at_position_0", resourceCulture); + } + } + + internal static string Setting_media_sequence_as_0_of_1 { + get { + return ResourceManager.GetString("Setting_media_sequence_as_0_of_1", resourceCulture); + } + } + + internal static string Setting_creator_0 { + get { + return ResourceManager.GetString("Setting_creator_0", resourceCulture); + } + } + + internal static string Setting_comments_0 { + get { + return ResourceManager.GetString("Setting_comments_0", resourceCulture); + } + } + + internal static string Setting_media_title_0 { + get { + return ResourceManager.GetString("Setting_media_title_0", resourceCulture); + } + } + + internal static string Setting_media_manufacturer_0 { + get { + return ResourceManager.GetString("Setting_media_manufacturer_0", resourceCulture); + } + } + + internal static string Setting_media_model_0 { + get { + return ResourceManager.GetString("Setting_media_model_0", resourceCulture); + } + } + + internal static string Setting_media_serial_number_0 { + get { + return ResourceManager.GetString("Setting_media_serial_number_0", resourceCulture); + } + } + + internal static string Setting_media_barcode_0 { + get { + return ResourceManager.GetString("Setting_media_barcode_0", resourceCulture); + } + } + + internal static string Setting_media_part_number_0 { + get { + return ResourceManager.GetString("Setting_media_part_number_0", resourceCulture); + } + } + + internal static string Setting_drive_manufacturer_0 { + get { + return ResourceManager.GetString("Setting_drive_manufacturer_0", resourceCulture); + } + } + + internal static string Setting_drive_model_0 { + get { + return ResourceManager.GetString("Setting_drive_model_0", resourceCulture); + } + } + + internal static string Setting_drive_serial_number_0 { + get { + return ResourceManager.GetString("Setting_drive_serial_number_0", resourceCulture); + } + } + + internal static string Setting_drive_firmware_revision_0 { + get { + return ResourceManager.GetString("Setting_drive_firmware_revision_0", resourceCulture); + } + } + + internal static string Incorrect_identifier_for_tracks_block_at_position_0 { + get { + return ResourceManager.GetString("Incorrect_identifier_for_tracks_block_at_position_0", resourceCulture); + } + } + + internal static string Found_0_tracks_at_position_0 { + get { + return ResourceManager.GetString("Found_0_tracks_at_position_0", resourceCulture); + } + } + + internal static string Found_CICM_XML_metadata_block_at_position_0 { + get { + return ResourceManager.GetString("Found_CICM_XML_metadata_block_at_position_0", resourceCulture); + } + } + + internal static string Exception_0_processing_CICM_XML_metadata_block { + get { + return ResourceManager.GetString("Exception_0_processing_CICM_XML_metadata_block", resourceCulture); + } + } + + internal static string Found_dump_hardware_block_at_position_0 { + get { + return ResourceManager.GetString("Found_dump_hardware_block_at_position_0", resourceCulture); + } + } + + internal static string Found_tape_partition_block_at_position_0 { + get { + return ResourceManager.GetString("Found_tape_partition_block_at_position_0", resourceCulture); + } + } + + internal static string Found_tape_file_block_at_position_0 { + get { + return ResourceManager.GetString("Found_tape_file_block_at_position_0", resourceCulture); + } + } + + internal static string Incorrect_identifier_for_compact_disc_indexes_block_at_position_0 { + get { + return ResourceManager.GetString("Incorrect_identifier_for_compact_disc_indexes_block_at_position_0", resourceCulture); + } + } + + internal static string Found_0_compact_disc_indexes_at_position_0 { + get { + return ResourceManager.GetString("Found_0_compact_disc_indexes_at_position_0", resourceCulture); + } + } + + internal static string Could_not_find_user_data_deduplication_table { + get { + return ResourceManager.GetString("Could_not_find_user_data_deduplication_table", resourceCulture); + } + } + + internal static string Image_created_on_0 { + get { + return ResourceManager.GetString("Image_created_on_0", resourceCulture); + } + } + + internal static string Image_last_written_on_0 { + get { + return ResourceManager.GetString("Image_last_written_on_0", resourceCulture); + } + } + + internal static string This_image_has_a_corrupted_track_list_convert_will_fix_it { + get { + return ResourceManager.GetString("This_image_has_a_corrupted_track_list_convert_will_fix_it", resourceCulture); + } + } + + internal static string This_image_has_a_corrupted_track_list_a_best_effort_has_been_tried_but_may_require_manual_editing_or_redump { + get { + return ResourceManager.GetString("This_image_has_a_corrupted_track_list_a_best_effort_has_been_tried_but_may_requir" + + "e_manual_editing_or_redump", resourceCulture); + } + } + + internal static string Optical_disc_track { + get { + return ResourceManager.GetString("Optical_disc_track", resourceCulture); + } + } + + internal static string Checking_index_integrity_at_0 { + get { + return ResourceManager.GetString("Checking_index_integrity_at_0", resourceCulture); + } + } + + internal static string Incorrect_index_identifier { + get { + return ResourceManager.GetString("Incorrect_index_identifier", resourceCulture); + } + } + + internal static string Expected_index_CRC_0_X16_but_got_1_X16 { + get { + return ResourceManager.GetString("Expected_index_CRC_0_X16_but_got_1_X16", resourceCulture); + } + } + + internal static string Verifying_data_block_type_0_at_position_1 { + get { + return ResourceManager.GetString("Verifying_data_block_type_0_at_position_1", resourceCulture); + } + } + + internal static string Expected_block_CRC_0_X16_but_got_1_X16 { + get { + return ResourceManager.GetString("Expected_block_CRC_0_X16_but_got_1_X16", resourceCulture); + } + } + + internal static string Verifying_deduplication_table_type_0_at_position_1 { + get { + return ResourceManager.GetString("Verifying_deduplication_table_type_0_at_position_1", resourceCulture); + } + } + + internal static string Expected_DDT_CRC_0_but_got_1 { + get { + return ResourceManager.GetString("Expected_DDT_CRC_0_but_got_1", resourceCulture); + } + } + + internal static string Track_block_at_0_contains_1_entries { + get { + return ResourceManager.GetString("Track_block_at_0_contains_1_entries", resourceCulture); + } + } + + internal static string Ignored_field_type_0 { + get { + return ResourceManager.GetString("Ignored_field_type_0", resourceCulture); + } + } + + internal static string Invalid_value_for_sectors_per_block_option { + get { + return ResourceManager.GetString("Invalid_value_for_sectors_per_block_option", resourceCulture); + } + } + + internal static string Invalid_value_for_dictionary_option { + get { + return ResourceManager.GetString("Invalid_value_for_dictionary_option", resourceCulture); + } + } + + internal static string Invalid_value_for_max_ddt_size_option { + get { + return ResourceManager.GetString("Invalid_value_for_max_ddt_size_option", resourceCulture); + } + } + + internal static string Invalid_value_for_md5_option { + get { + return ResourceManager.GetString("Invalid_value_for_md5_option", resourceCulture); + } + } + + internal static string Invalid_value_for_sha1_option { + get { + return ResourceManager.GetString("Invalid_value_for_sha1_option", resourceCulture); + } + } + + internal static string Invalid_value_for_sha256_option { + get { + return ResourceManager.GetString("Invalid_value_for_sha256_option", resourceCulture); + } + } + + internal static string Invalid_value_for_spamsum_option { + get { + return ResourceManager.GetString("Invalid_value_for_spamsum_option", resourceCulture); + } + } + + internal static string Invalid_value_for_deduplicate_option { + get { + return ResourceManager.GetString("Invalid_value_for_deduplicate_option", resourceCulture); + } + } + + internal static string Invalid_value_for_compress_option { + get { + return ResourceManager.GetString("Invalid_value_for_compress_option", resourceCulture); + } + } + + internal static string Unsupported_media_format_0 { + get { + return ResourceManager.GetString("Unsupported_media_format_0", resourceCulture); + } + } + + internal static string Got_a_shift_of_0_for_1_sectors_per_block { + get { + return ResourceManager.GetString("Got_a_shift_of_0_for_1_sectors_per_block", resourceCulture); + } + } + + internal static string Could_not_create_new_image_file_exception_0 { + get { + return ResourceManager.GetString("Could_not_create_new_image_file_exception_0", resourceCulture); + } + } + + internal static string Cannot_append_to_a_non_Aaru_Format_image { + get { + return ResourceManager.GetString("Cannot_append_to_a_non_Aaru_Format_image", resourceCulture); + } + } + + internal static string Cannot_append_to_an_unknown_image_version_0 { + get { + return ResourceManager.GetString("Cannot_append_to_an_unknown_image_version_0", resourceCulture); + } + } + + internal static string Cannot_write_a_media_with_type_0_to_an_image_with_type_1 { + get { + return ResourceManager.GetString("Cannot_write_a_media_with_type_0_to_an_image_with_type_1", resourceCulture); + } + } + + internal static string Index_not_found_in_existing_image_cannot_continue { + get { + return ResourceManager.GetString("Index_not_found_in_existing_image_cannot_continue", resourceCulture); + } + } + + internal static string Trying_to_write_a_media_with_0_sectors_to_an_image_with_1_sectors_not_continuing { + get { + return ResourceManager.GetString("Trying_to_write_a_media_with_0_sectors_to_an_image_with_1_sectors_not_continuing", resourceCulture); + } + } + + internal static string In_memory_DDT_0 { + get { + return ResourceManager.GetString("In_memory_DDT_0", resourceCulture); + } + } + + internal static string Tried_to_write_on_a_non_writable_image { + get { + return ResourceManager.GetString("Tried_to_write_on_a_non_writable_image", resourceCulture); + } + } + + internal static string Tried_to_write_past_image_size { + get { + return ResourceManager.GetString("Tried_to_write_past_image_size", resourceCulture); + } + } + + internal static string Track_not_found { + get { + return ResourceManager.GetString("Track_not_found", resourceCulture); + } + } + + internal static string Incorrect_data_size { + get { + return ResourceManager.GetString("Incorrect_data_size", resourceCulture); + } + } + + internal static string Unknown_long_sector_type_cannot_write { + get { + return ResourceManager.GetString("Unknown_long_sector_type_cannot_write", resourceCulture); + } + } + + internal static string Unsupported_feature { + get { + return ResourceManager.GetString("Unsupported_feature", resourceCulture); + } + } + + internal static string Image_is_not_opened_for_writing { + get { + return ResourceManager.GetString("Image_is_not_opened_for_writing", resourceCulture); + } + } + + internal static string Of_0_sectors_written_1_are_unique_2 { + get { + return ResourceManager.GetString("Of_0_sectors_written_1_are_unique_2", resourceCulture); + } + } + + internal static string Tag_type_0_is_null_skipping { + get { + return ResourceManager.GetString("Tag_type_0_is_null_skipping", resourceCulture); + } + } + + internal static string Writing_tag_type_0_to_position_1 { + get { + return ResourceManager.GetString("Writing_tag_type_0_to_position_1", resourceCulture); + } + } + + internal static string Writing_geometry_block_to_position_0 { + get { + return ResourceManager.GetString("Writing_geometry_block_to_position_0", resourceCulture); + } + } + + internal static string Writing_dump_hardware_block_to_position_0 { + get { + return ResourceManager.GetString("Writing_dump_hardware_block_to_position_0", resourceCulture); + } + } + + internal static string Writing_CICM_XML_block_to_position_0 { + get { + return ResourceManager.GetString("Writing_CICM_XML_block_to_position_0", resourceCulture); + } + } + + internal static string Writing_checksum_block_to_position_0 { + get { + return ResourceManager.GetString("Writing_checksum_block_to_position_0", resourceCulture); + } + } + + internal static string Writing_tape_partitions_to_position_0 { + get { + return ResourceManager.GetString("Writing_tape_partitions_to_position_0", resourceCulture); + } + } + + internal static string Writing_tape_files_to_position_0 { + get { + return ResourceManager.GetString("Writing_tape_files_to_position_0", resourceCulture); + } + } + + internal static string Writing_user_data_DDT_to_position_0 { + get { + return ResourceManager.GetString("Writing_user_data_DDT_to_position_0", resourceCulture); + } + } + + internal static string Writing_CD_sector_prefix_block_to_position_0 { + get { + return ResourceManager.GetString("Writing_CD_sector_prefix_block_to_position_0", resourceCulture); + } + } + + internal static string Took_0_seconds_to_compress_prefix { + get { + return ResourceManager.GetString("Took_0_seconds_to_compress_prefix", resourceCulture); + } + } + + internal static string Writing_CD_sector_suffix_block_to_position_0 { + get { + return ResourceManager.GetString("Writing_CD_sector_suffix_block_to_position_0", resourceCulture); + } + } + + internal static string Took_0_seconds_to_compress_suffix { + get { + return ResourceManager.GetString("Took_0_seconds_to_compress_suffix", resourceCulture); + } + } + + internal static string _0_1_prefixes_are_correct_2_3_prefixes_have_not_been_dumped_4_5_prefixes_have_been_written_to_image { + get { + return ResourceManager.GetString("_0_1_prefixes_are_correct_2_3_prefixes_have_not_been_dumped_4_5_prefixes_have_bee" + + "n_written_to_image", resourceCulture); + } + } + + internal static string _0_1_suffixes_are_correct_2_3_suffixes_have_not_been_dumped_4_5_suffixes_have_been_written_to_image { + get { + return ResourceManager.GetString("_0_1_suffixes_are_correct_2_3_suffixes_have_not_been_dumped_4_5_suffixes_have_bee" + + "n_written_to_image", resourceCulture); + } + } + + internal static string _0_1_MODE_2_Form_1_are_correct_2_3_MODE_2_Form_2_are_correct_4_5_MODE_2_Form_2_have_empty_CRC { + get { + return ResourceManager.GetString("_0_1_MODE_2_Form_1_are_correct_2_3_MODE_2_Form_2_are_correct_4_5_MODE_2_Form_2_ha" + + "ve_empty_CRC", resourceCulture); + } + } + + internal static string Writing_CompactDisc_sector_prefix_DDT_to_position_0 { + get { + return ResourceManager.GetString("Writing_CompactDisc_sector_prefix_DDT_to_position_0", resourceCulture); + } + } + + internal static string Writing_CompactDisc_sector_suffix_DDT_to_position_0 { + get { + return ResourceManager.GetString("Writing_CompactDisc_sector_suffix_DDT_to_position_0", resourceCulture); + } + } + + internal static string Writing_CD_sector_corrected_prefix_block_to_position_0 { + get { + return ResourceManager.GetString("Writing_CD_sector_corrected_prefix_block_to_position_0", resourceCulture); + } + } + + internal static string Writing_CD_sector_corrected_suffix_block_to_position_0 { + get { + return ResourceManager.GetString("Writing_CD_sector_corrected_suffix_block_to_position_0", resourceCulture); + } + } + + internal static string Writing_CD_MODE2_subheaders_block_to_position_0 { + get { + return ResourceManager.GetString("Writing_CD_MODE2_subheaders_block_to_position_0", resourceCulture); + } + } + + internal static string Took_0_seconds_to_compress_MODE2_subheaders { + get { + return ResourceManager.GetString("Took_0_seconds_to_compress_MODE2_subheaders", resourceCulture); + } + } + + internal static string Writing_CD_subchannel_block_to_position_0 { + get { + return ResourceManager.GetString("Writing_CD_subchannel_block_to_position_0", resourceCulture); + } + } + + internal static string Took_0_seconds_to_compress_subchannel { + get { + return ResourceManager.GetString("Took_0_seconds_to_compress_subchannel", resourceCulture); + } + } + + internal static string Writing_DVD_CPI_MAI_block_to_position_0 { + get { + return ResourceManager.GetString("Writing_DVD_CPI_MAI_block_to_position_0", resourceCulture); + } + } + + internal static string Took_0_seconds_to_compress_CPI_MAI { + get { + return ResourceManager.GetString("Took_0_seconds_to_compress_CPI_MAI", resourceCulture); + } + } + + internal static string Writing_decrypted_DVD_title_key_block_to_position_0 { + get { + return ResourceManager.GetString("Writing_decrypted_DVD_title_key_block_to_position_0", resourceCulture); + } + } + + internal static string Took_0_seconds_to_compress_decrypted_DVD_title_keys { + get { + return ResourceManager.GetString("Took_0_seconds_to_compress_decrypted_DVD_title_keys", resourceCulture); + } + } + + internal static string Writing_tracks_to_position_0 { + get { + return ResourceManager.GetString("Writing_tracks_to_position_0", resourceCulture); + } + } + + internal static string Writing_compact_disc_indexes_to_position_0 { + get { + return ResourceManager.GetString("Writing_compact_disc_indexes_to_position_0", resourceCulture); + } + } + + internal static string Writing_apple_sector_tag_block_to_position_0 { + get { + return ResourceManager.GetString("Writing_apple_sector_tag_block_to_position_0", resourceCulture); + } + } + + internal static string Writing_metadata_to_position_0 { + get { + return ResourceManager.GetString("Writing_metadata_to_position_0", resourceCulture); + } + } + + internal static string Writing_index_to_position_0 { + get { + return ResourceManager.GetString("Writing_index_to_position_0", resourceCulture); + } + } + + internal static string Writing_header { + get { + return ResourceManager.GetString("Writing_header", resourceCulture); + } + } + + internal static string Tried_to_set_geometry_on_a_media_that_doesnt_support_it { + get { + return ResourceManager.GetString("Tried_to_set_geometry_on_a_media_that_doesnt_support_it", resourceCulture); + } + } + + internal static string Incorrect_tag_for_disk_type { + get { + return ResourceManager.GetString("Incorrect_tag_for_disk_type", resourceCulture); + } + } + + internal static string Cant_find_track_0 { + get { + return ResourceManager.GetString("Cant_find_track_0", resourceCulture); + } + } + + internal static string Incorrect_data_size_for_track_flags { + get { + return ResourceManager.GetString("Incorrect_data_size_for_track_flags", resourceCulture); + } + } + + internal static string Incorrect_data_size_for_subchannel { + get { + return ResourceManager.GetString("Incorrect_data_size_for_subchannel", resourceCulture); + } + } + + internal static string Incorrect_data_size_for_CMI { + get { + return ResourceManager.GetString("Incorrect_data_size_for_CMI", resourceCulture); + } + } + + internal static string Incorrect_data_size_for_title_key { + get { + return ResourceManager.GetString("Incorrect_data_size_for_title_key", resourceCulture); + } + } + + internal static string Incorrect_data_size_for_decrypted_title_key { + get { + return ResourceManager.GetString("Incorrect_data_size_for_decrypted_title_key", resourceCulture); + } + } + + internal static string Dont_know_how_to_write_sector_tag_type_0 { + get { + return ResourceManager.GetString("Dont_know_how_to_write_sector_tag_type_0", resourceCulture); + } + } + + internal static string Tried_to_write_more_data_than_possible { + get { + return ResourceManager.GetString("Tried_to_write_more_data_than_possible", resourceCulture); + } + } + + internal static string Alcohol120_Name { + get { + return ResourceManager.GetString("Alcohol120_Name", resourceCulture); + } + } + + internal static string The_disc_this_image_represents_contained_a_hidden_track_in_the_first_pregap_that_this_image_format_cannot_store_This_dump_is_therefore_incorrect { + get { + return ResourceManager.GetString("The_disc_this_image_represents_contained_a_hidden_track_in_the_first_pregap_that_" + + "this_image_format_cannot_store_This_dump_is_therefore_incorrect", resourceCulture); + } + } + + internal static string Track_0 { + get { + return ResourceManager.GetString("Track_0", resourceCulture); + } + } + + internal static string printing_partition_map { + get { + return ResourceManager.GetString("printing_partition_map", resourceCulture); + } + } + + internal static string Partition_sequence_0 { + get { + return ResourceManager.GetString("Partition_sequence_0", resourceCulture); + } + } + + internal static string Partition_name_0 { + get { + return ResourceManager.GetString("Partition_name_0", resourceCulture); + } + } + + internal static string Partition_description_0 { + get { + return ResourceManager.GetString("Partition_description_0", resourceCulture); + } + } + + internal static string Partition_type_0 { + get { + return ResourceManager.GetString("Partition_type_0", resourceCulture); + } + } + + internal static string Partition_starting_sector_0 { + get { + return ResourceManager.GetString("Partition_starting_sector_0", resourceCulture); + } + } + + internal static string Partition_sectors_0 { + get { + return ResourceManager.GetString("Partition_sectors_0", resourceCulture); + } + } + + internal static string Partition_starting_offset_0 { + get { + return ResourceManager.GetString("Partition_starting_offset_0", resourceCulture); + } + } + + internal static string Partition_size_in_bytes_0 { + get { + return ResourceManager.GetString("Partition_size_in_bytes_0", resourceCulture); + } + } + + internal static string Data_filename_0 { + get { + return ResourceManager.GetString("Data_filename_0", resourceCulture); + } + } + + internal static string Cannot_open_data_file { + get { + return ResourceManager.GetString("Cannot_open_data_file", resourceCulture); + } + } + + internal static string Rebuilding_TOC { + get { + return ResourceManager.GetString("Rebuilding_TOC", resourceCulture); + } + } + + internal static string Alcohol_120_image_describes_a_disc_of_type_0 { + get { + return ResourceManager.GetString("Alcohol_120_image_describes_a_disc_of_type_0", resourceCulture); + } + } + + internal static string Incorrect_Alcohol_120_image_created_by_an_old_version_of_Aaru_Convert_image_to_correct_it { + get { + return ResourceManager.GetString("Incorrect_Alcohol_120_image_created_by_an_old_version_of_Aaru_Convert_image_to_co" + + "rrect_it", resourceCulture); + } + } + + internal static string Unsupported_media_tag_0_for_medium_type_1 { + get { + return ResourceManager.GetString("Unsupported_media_tag_0_for_medium_type_1", resourceCulture); + } + } + + internal static string Cannot_write_non_long_sectors_to_CD_images { + get { + return ResourceManager.GetString("Cannot_write_non_long_sectors_to_CD_images", resourceCulture); + } + } + + internal static string Cant_find_track_containing_0 { + get { + return ResourceManager.GetString("Cant_find_track_containing_0", resourceCulture); + } + } + + internal static string Invalid_write_mode_for_this_sector { + get { + return ResourceManager.GetString("Invalid_write_mode_for_this_sector", resourceCulture); + } + } + + internal static string Cant_cross_tracks { + get { + return ResourceManager.GetString("Cant_cross_tracks", resourceCulture); + } + } + + internal static string Invalid_subchannel_mode_for_this_sector { + get { + return ResourceManager.GetString("Invalid_subchannel_mode_for_this_sector", resourceCulture); + } + } + + internal static string Unsupported_subchannel_type_0 { + get { + return ResourceManager.GetString("Unsupported_subchannel_type_0", resourceCulture); + } + } + + internal static string Trying_to_write_subchannel_to_track_0_that_does_not_have_subchannel { + get { + return ResourceManager.GetString("Trying_to_write_subchannel_to_track_0_that_does_not_have_subchannel", resourceCulture); + } + } + + internal static string Unsupported_tag_type_0 { + get { + return ResourceManager.GetString("Unsupported_tag_type_0", resourceCulture); + } + } + + internal static string Anex86_Name { + get { + return ResourceManager.GetString("Anex86_Name", resourceCulture); + } + } + + internal static string MediaType_0 { + get { + return ResourceManager.GetString("MediaType_0", resourceCulture); + } + } + + internal static string Unsupported_sector_size { + get { + return ResourceManager.GetString("Unsupported_sector_size", resourceCulture); + } + } + + internal static string Too_many_sectors { + get { + return ResourceManager.GetString("Too_many_sectors", resourceCulture); + } + } + + internal static string Writing_media_tags_is_not_supported { + get { + return ResourceManager.GetString("Writing_media_tags_is_not_supported", resourceCulture); + } + } + + internal static string Writing_sectors_with_tags_is_not_supported { + get { + return ResourceManager.GetString("Writing_sectors_with_tags_is_not_supported", resourceCulture); + } + } + + internal static string Too_many_cylinders { + get { + return ResourceManager.GetString("Too_many_cylinders", resourceCulture); + } + } + + internal static string Too_many_heads { + get { + return ResourceManager.GetString("Too_many_heads", resourceCulture); + } + } + + internal static string Too_many_sectors_per_track { + get { + return ResourceManager.GetString("Too_many_sectors_per_track", resourceCulture); + } + } + + internal static string Apple2Mg_Name { + get { + return ResourceManager.GetString("Apple2Mg_Name", resourceCulture); + } + } + + internal static string Detected_incorrect_endian_on_data_size_field_correcting { + get { + return ResourceManager.GetString("Detected_incorrect_endian_on_data_size_field_correcting", resourceCulture); + } + } + + internal static string Unknown_creator_code_0 { + get { + return ResourceManager.GetString("Unknown_creator_code_0", resourceCulture); + } + } + + internal static string _2MG_image_contains_a_disk_of_type_0 { + get { + return ResourceManager.GetString("_2MG_image_contains_a_disk_of_type_0", resourceCulture); + } + } + + internal static string _2MG_comments_0 { + get { + return ResourceManager.GetString("_2MG_comments_0", resourceCulture); + } + } + + internal static string AppleDos_Name { + get { + return ResourceManager.GetString("AppleDos_Name", resourceCulture); + } + } + + internal static string Incorrect_number_of_sectors_for_media { + get { + return ResourceManager.GetString("Incorrect_number_of_sectors_for_media", resourceCulture); + } + } + + internal static string AppleNib_Name { + get { + return ResourceManager.GetString("AppleNib_Name", resourceCulture); + } + } + + internal static string Decoding_whole_image { + get { + return ResourceManager.GetString("Decoding_whole_image", resourceCulture); + } + } + + internal static string Got_0_tracks { + get { + return ResourceManager.GetString("Got_0_tracks", resourceCulture); + } + } + + internal static string Using_DOS_skewing { + get { + return ResourceManager.GetString("Using_DOS_skewing", resourceCulture); + } + } + + internal static string Using_ProDOS_skewing { + get { + return ResourceManager.GetString("Using_ProDOS_skewing", resourceCulture); + } + } + + internal static string Hardware_sector_0_of_track_1_goes_to_logical_sector_2 { + get { + return ResourceManager.GetString("Hardware_sector_0_of_track_1_goes_to_logical_sector_2", resourceCulture); + } + } + + internal static string Got_0_sectors { + get { + return ResourceManager.GetString("Got_0_sectors", resourceCulture); + } + } + + internal static string Cooking_sectors { + get { + return ResourceManager.GetString("Cooking_sectors", resourceCulture); + } + } + + internal static string Apridisk_Name { + get { + return ResourceManager.GetString("Apridisk_Name", resourceCulture); + } + } + + internal static string Enable_Apridisk_compression { + get { + return ResourceManager.GetString("Enable_Apridisk_compression", resourceCulture); + } + } + + internal static string Found_deleted_record_at_0 { + get { + return ResourceManager.GetString("Found_deleted_record_at_0", resourceCulture); + } + } + + internal static string Found_comment_record_at_0 { + get { + return ResourceManager.GetString("Found_comment_record_at_0", resourceCulture); + } + } + + internal static string Comment_0 { + get { + return ResourceManager.GetString("Comment_0", resourceCulture); + } + } + + internal static string Found_creator_record_at_0 { + get { + return ResourceManager.GetString("Found_creator_record_at_0", resourceCulture); + } + } + + internal static string Creator_0 { + get { + return ResourceManager.GetString("Creator_0", resourceCulture); + } + } + + internal static string Found_compressed_sector_record_at_0_for_cylinder_1_head_2_sector_3 { + get { + return ResourceManager.GetString("Found_compressed_sector_record_at_0_for_cylinder_1_head_2_sector_3", resourceCulture); + } + } + + internal static string Found_uncompressed_sector_record_at_0_for_cylinder_1_head_2_sector_3 { + get { + return ResourceManager.GetString("Found_uncompressed_sector_record_at_0_for_cylinder_1_head_2_sector_3", resourceCulture); + } + } + + internal static string Found_0_cylinders_and_1_heads_with_a_maximum_sector_number_of_2 { + get { + return ResourceManager.GetString("Found_0_cylinders_and_1_heads_with_a_maximum_sector_number_of_2", resourceCulture); + } + } + + internal static string Found_a_minimum_of_0_bytes_per_sector { + get { + return ResourceManager.GetString("Found_a_minimum_of_0_bytes_per_sector", resourceCulture); + } + } + + internal static string Found_a_minimum_of_0_sectors_per_track { + get { + return ResourceManager.GetString("Found_a_minimum_of_0_sectors_per_track", resourceCulture); + } + } + + internal static string Sector_address_not_found { + get { + return ResourceManager.GetString("Sector_address_not_found", resourceCulture); + } + } + + internal static string BlindWrite4_Name { + get { + return ResourceManager.GetString("BlindWrite4_Name", resourceCulture); + } + } + + internal static string Data_file_0_not_found { + get { + return ResourceManager.GetString("Data_file_0_not_found", resourceCulture); + } + } + + internal static string Unable_to_find_data_file { + get { + return ResourceManager.GetString("Unable_to_find_data_file", resourceCulture); + } + } + + internal static string BlindWrite_image_describes_a_disc_of_type_0 { + get { + return ResourceManager.GetString("BlindWrite_image_describes_a_disc_of_type_0", resourceCulture); + } + } + + internal static string BlindWrite_comments_0 { + get { + return ResourceManager.GetString("BlindWrite_comments_0", resourceCulture); + } + } + + internal static string BlindWrite5_Name { + get { + return ResourceManager.GetString("BlindWrite5_Name", resourceCulture); + } + } + + internal static string mode_page_2A_0 { + get { + return ResourceManager.GetString("mode_page_2A_0", resourceCulture); + } + } + + internal static string PMA_0 { + get { + return ResourceManager.GetString("PMA_0", resourceCulture); + } + } + + internal static string PFI_0 { + get { + return ResourceManager.GetString("PFI_0", resourceCulture); + } + } + + internal static string Disc_information_0 { + get { + return ResourceManager.GetString("Disc_information_0", resourceCulture); + } + } + + internal static string Data_path_0 { + get { + return ResourceManager.GetString("Data_path_0", resourceCulture); + } + } + + internal static string Correctly_arrived_end_of_image { + get { + return ResourceManager.GetString("Correctly_arrived_end_of_image", resourceCulture); + } + } + + internal static string BlindWrite5_image_ends_after_expected_position_Probably_new_version_with_different_data_Errors_may_occur { + get { + return ResourceManager.GetString("BlindWrite5_image_ends_after_expected_position_Probably_new_version_with_differen" + + "t_data_Errors_may_occur", resourceCulture); + } + } + + internal static string Cannot_find_data_file_0 { + get { + return ResourceManager.GetString("Cannot_find_data_file_0", resourceCulture); + } + } + + internal static string BlindWrite5_found_unknown_subchannel_size_0 { + get { + return ResourceManager.GetString("BlindWrite5_found_unknown_subchannel_size_0", resourceCulture); + } + } + + internal static string Building_maps { + get { + return ResourceManager.GetString("Building_maps", resourceCulture); + } + } + + internal static string Could_not_find_image_for_track_0 { + get { + return ResourceManager.GetString("Could_not_find_image_for_track_0", resourceCulture); + } + } + + internal static string Partition_ending_sector_0 { + get { + return ResourceManager.GetString("Partition_ending_sector_0", resourceCulture); + } + } + + internal static string printing_track_map { + get { + return ResourceManager.GetString("printing_track_map", resourceCulture); + } + } + + internal static string Track_description_0 { + get { + return ResourceManager.GetString("Track_description_0", resourceCulture); + } + } + + internal static string Track_type_0 { + get { + return ResourceManager.GetString("Track_type_0", resourceCulture); + } + } + + internal static string Track_starting_sector_0 { + get { + return ResourceManager.GetString("Track_starting_sector_0", resourceCulture); + } + } + + internal static string Track_ending_sector_0 { + get { + return ResourceManager.GetString("Track_ending_sector_0", resourceCulture); + } + } + + internal static string TOC_len_0 { + get { + return ResourceManager.GetString("TOC_len_0", resourceCulture); + } + } + + internal static string Blu_Name { + get { + return ResourceManager.GetString("Blu_Name", resourceCulture); + } + } + + internal static string BLU_image_contains_a_disk_of_type_0 { + get { + return ResourceManager.GetString("BLU_image_contains_a_disk_of_type_0", resourceCulture); + } + } + + internal static string AtariLynx_Name { + get { + return ResourceManager.GetString("AtariLynx_Name", resourceCulture); + } + } + + internal static string Name_0 { + get { + return ResourceManager.GetString("Name_0", resourceCulture); + } + } + + internal static string Manufacturer_0 { + get { + return ResourceManager.GetString("Manufacturer_0", resourceCulture); + } + } + + internal static string Bank_zero_size_0_pages_1_bytes { + get { + return ResourceManager.GetString("Bank_zero_size_0_pages_1_bytes", resourceCulture); + } + } + + internal static string Bank_one_size_0_pages_1_bytes { + get { + return ResourceManager.GetString("Bank_one_size_0_pages_1_bytes", resourceCulture); + } + } + + internal static string Rotation_0 { + get { + return ResourceManager.GetString("Rotation_0", resourceCulture); + } + } + + internal static string No_image_has_been_opened { + get { + return ResourceManager.GetString("No_image_has_been_opened", resourceCulture); + } + } + + internal static string Cannot_create_an_opened_image { + get { + return ResourceManager.GetString("Cannot_create_an_opened_image", resourceCulture); + } + } + + internal static string The_requested_position_is_out_of_range { + get { + return ResourceManager.GetString("The_requested_position_is_out_of_range", resourceCulture); + } + } + + internal static string Buffer_must_not_be_null { + get { + return ResourceManager.GetString("Buffer_must_not_be_null", resourceCulture); + } + } + + internal static string GameBoy_Name { + get { + return ResourceManager.GetString("GameBoy_Name", resourceCulture); + } + } + + internal static string Requires_Game_Boy_Color { + get { + return ResourceManager.GetString("Requires_Game_Boy_Color", resourceCulture); + } + } + + internal static string Contains_features_for_Game_Boy_Color { + get { + return ResourceManager.GetString("Contains_features_for_Game_Boy_Color", resourceCulture); + } + } + + internal static string Contains_features_for_Super_Game_Boy { + get { + return ResourceManager.GetString("Contains_features_for_Super_Game_Boy", resourceCulture); + } + } + + internal static string Region_0 { + get { + return ResourceManager.GetString("Region_0", resourceCulture); + } + } + + internal static string Japan { + get { + return ResourceManager.GetString("Japan", resourceCulture); + } + } + + internal static string World { + get { + return ResourceManager.GetString("World", resourceCulture); + } + } + + internal static string Cartridge_type_0 { + get { + return ResourceManager.GetString("Cartridge_type_0", resourceCulture); + } + } + + internal static string ROM_size_0_bytes { + get { + return ResourceManager.GetString("ROM_size_0_bytes", resourceCulture); + } + } + + internal static string Save_RAM_size_0_bytes { + get { + return ResourceManager.GetString("Save_RAM_size_0_bytes", resourceCulture); + } + } + + internal static string Licensee_0 { + get { + return ResourceManager.GetString("Licensee_0", resourceCulture); + } + } + + internal static string Revision_0 { + get { + return ResourceManager.GetString("Revision_0", resourceCulture); + } + } + + internal static string Header_checksum_0 { + get { + return ResourceManager.GetString("Header_checksum_0", resourceCulture); + } + } + + internal static string Checksum_0_X4 { + get { + return ResourceManager.GetString("Checksum_0_X4", resourceCulture); + } + } + + internal static string none_licensee { + get { + return ResourceManager.GetString("none_licensee", resourceCulture); + } + } + + internal static string Unknown_licensee { + get { + return ResourceManager.GetString("Unknown_licensee", resourceCulture); + } + } + + internal static string GBC_see_above { + get { + return ResourceManager.GetString("GBC_see_above", resourceCulture); + } + } + + internal static string ROM_only { + get { + return ResourceManager.GetString("ROM_only", resourceCulture); + } + } + + internal static string ROM_and_MBC1 { + get { + return ResourceManager.GetString("ROM_and_MBC1", resourceCulture); + } + } + + internal static string ROM_MBC1_and_RAM { + get { + return ResourceManager.GetString("ROM_MBC1_and_RAM", resourceCulture); + } + } + + internal static string ROM_MBC1_RAM_and_battery { + get { + return ResourceManager.GetString("ROM_MBC1_RAM_and_battery", resourceCulture); + } + } + + internal static string ROM_and_MBC2 { + get { + return ResourceManager.GetString("ROM_and_MBC2", resourceCulture); + } + } + + internal static string ROM_MBC2_and_battery { + get { + return ResourceManager.GetString("ROM_MBC2_and_battery", resourceCulture); + } + } + + internal static string ROM_and_RAM { + get { + return ResourceManager.GetString("ROM_and_RAM", resourceCulture); + } + } + + internal static string ROM_RAM_and_battery { + get { + return ResourceManager.GetString("ROM_RAM_and_battery", resourceCulture); + } + } + + internal static string ROM_and_MMM01 { + get { + return ResourceManager.GetString("ROM_and_MMM01", resourceCulture); + } + } + + internal static string ROM_MMM01_and_RAM { + get { + return ResourceManager.GetString("ROM_MMM01_and_RAM", resourceCulture); + } + } + + internal static string ROM_MMM01_RAM_and_battery { + get { + return ResourceManager.GetString("ROM_MMM01_RAM_and_battery", resourceCulture); + } + } + + internal static string ROM_MBC3_timer_and_battery { + get { + return ResourceManager.GetString("ROM_MBC3_timer_and_battery", resourceCulture); + } + } + + internal static string ROM_MBC3_RAM_timer_and_battery { + get { + return ResourceManager.GetString("ROM_MBC3_RAM_timer_and_battery", resourceCulture); + } + } + + internal static string ROM_and_MBC3 { + get { + return ResourceManager.GetString("ROM_and_MBC3", resourceCulture); + } + } + + internal static string ROM_MBC3_and_RAM { + get { + return ResourceManager.GetString("ROM_MBC3_and_RAM", resourceCulture); + } + } + + internal static string ROM_MBC3_RAM_and_battery { + get { + return ResourceManager.GetString("ROM_MBC3_RAM_and_battery", resourceCulture); + } + } + + internal static string ROM_and_MBC5 { + get { + return ResourceManager.GetString("ROM_and_MBC5", resourceCulture); + } + } + + internal static string ROM_MBC5_and_RAM { + get { + return ResourceManager.GetString("ROM_MBC5_and_RAM", resourceCulture); + } + } + + internal static string ROM_MBC5_RAM_and_battery { + get { + return ResourceManager.GetString("ROM_MBC5_RAM_and_battery", resourceCulture); + } + } + + internal static string ROM_MBC5_and_vibration_motor { + get { + return ResourceManager.GetString("ROM_MBC5_and_vibration_motor", resourceCulture); + } + } + + internal static string ROM_MBC5_RAM_and_vibration_motor { + get { + return ResourceManager.GetString("ROM_MBC5_RAM_and_vibration_motor", resourceCulture); + } + } + + internal static string ROM_MBC5_RAM_battery_and_vibration_motor { + get { + return ResourceManager.GetString("ROM_MBC5_RAM_battery_and_vibration_motor", resourceCulture); + } + } + + internal static string ROM_and_MBC6 { + get { + return ResourceManager.GetString("ROM_and_MBC6", resourceCulture); + } + } + + internal static string ROM_MBC7_RAM_battery_light_sensor_and_vibration_motor { + get { + return ResourceManager.GetString("ROM_MBC7_RAM_battery_light_sensor_and_vibration_motor", resourceCulture); + } + } + + internal static string Pocket_Camera { + get { + return ResourceManager.GetString("Pocket_Camera", resourceCulture); + } + } + + internal static string ROM_and_TAMA5 { + get { + return ResourceManager.GetString("ROM_and_TAMA5", resourceCulture); + } + } + + internal static string ROM_and_HuC_3 { + get { + return ResourceManager.GetString("ROM_and_HuC_3", resourceCulture); + } + } + + internal static string ROM_and_HuC_1 { + get { + return ResourceManager.GetString("ROM_and_HuC_1", resourceCulture); + } + } + + internal static string Unknown_cartridge_type { + get { + return ResourceManager.GetString("Unknown_cartridge_type", resourceCulture); + } + } + + internal static string GameBoyAdvance_Name { + get { + return ResourceManager.GetString("GameBoyAdvance_Name", resourceCulture); + } + } + + internal static string Device_type_0 { + get { + return ResourceManager.GetString("Device_type_0", resourceCulture); + } + } + + internal static string Console_type_0 { + get { + return ResourceManager.GetString("Console_type_0", resourceCulture); + } + } + + internal static string Product_code_AGB_0 { + get { + return ResourceManager.GetString("Product_code_AGB_0", resourceCulture); + } + } + + internal static string Maker_code_0 { + get { + return ResourceManager.GetString("Maker_code_0", resourceCulture); + } + } + + internal static string MasterSystem_Name { + get { + return ResourceManager.GetString("MasterSystem_Name", resourceCulture); + } + } + + internal static string Product_code_0 { + get { + return ResourceManager.GetString("Product_code_0", resourceCulture); + } + } + + internal static string Master_System { + get { + return ResourceManager.GetString("Master_System", resourceCulture); + } + } + + internal static string Export { + get { + return ResourceManager.GetString("Export", resourceCulture); + } + } + + internal static string Game_Gear { + get { + return ResourceManager.GetString("Game_Gear", resourceCulture); + } + } + + internal static string International { + get { + return ResourceManager.GetString("International", resourceCulture); + } + } + + internal static string Unknown_region { + get { + return ResourceManager.GetString("Unknown_region", resourceCulture); + } + } + + internal static string Nes_Name { + get { + return ResourceManager.GetString("Nes_Name", resourceCulture); + } + } + + internal static string PRG_ROM_size_0_bytes { + get { + return ResourceManager.GetString("PRG_ROM_size_0_bytes", resourceCulture); + } + } + + internal static string CHR_ROM_size_0_bytes { + get { + return ResourceManager.GetString("CHR_ROM_size_0_bytes", resourceCulture); + } + } + + internal static string Trainer_size_0_bytes { + get { + return ResourceManager.GetString("Trainer_size_0_bytes", resourceCulture); + } + } + + internal static string Mapper_0 { + get { + return ResourceManager.GetString("Mapper_0", resourceCulture); + } + } + + internal static string Has_battery_backed_RAM { + get { + return ResourceManager.GetString("Has_battery_backed_RAM", resourceCulture); + } + } + + internal static string Uses_four_screen_VRAM { + get { + return ResourceManager.GetString("Uses_four_screen_VRAM", resourceCulture); + } + } + + internal static string Uses_vertical_mirroring { + get { + return ResourceManager.GetString("Uses_vertical_mirroring", resourceCulture); + } + } + + internal static string Uses_horizontal_mirroring { + get { + return ResourceManager.GetString("Uses_horizontal_mirroring", resourceCulture); + } + } + + internal static string VS_Unisystem_game { + get { + return ResourceManager.GetString("VS_Unisystem_game", resourceCulture); + } + } + + internal static string PlayChoice_10_game { + get { + return ResourceManager.GetString("PlayChoice_10_game", resourceCulture); + } + } + + internal static string INST_ROM_size_0_bytes { + get { + return ResourceManager.GetString("INST_ROM_size_0_bytes", resourceCulture); + } + } + + internal static string PROM_size_0_bytes { + get { + return ResourceManager.GetString("PROM_size_0_bytes", resourceCulture); + } + } + + internal static string VR_Technology_VT01 { + get { + return ResourceManager.GetString("VR_Technology_VT01", resourceCulture); + } + } + + internal static string VR_Technology_VT02 { + get { + return ResourceManager.GetString("VR_Technology_VT02", resourceCulture); + } + } + + internal static string VR_Technology_VT03 { + get { + return ResourceManager.GetString("VR_Technology_VT03", resourceCulture); + } + } + + internal static string VR_Technology_VT09 { + get { + return ResourceManager.GetString("VR_Technology_VT09", resourceCulture); + } + } + + internal static string VR_Technology_VT32 { + get { + return ResourceManager.GetString("VR_Technology_VT32", resourceCulture); + } + } + + internal static string VR_Technology_VT369 { + get { + return ResourceManager.GetString("VR_Technology_VT369", resourceCulture); + } + } + + internal static string Nintendo64_Name { + get { + return ResourceManager.GetString("Nintendo64_Name", resourceCulture); + } + } + + internal static string Cartridge_ID_0 { + get { + return ResourceManager.GetString("Cartridge_ID_0", resourceCulture); + } + } + + internal static string Version_0_1 { + get { + return ResourceManager.GetString("Version_0_1", resourceCulture); + } + } + + internal static string CRC1_0 { + get { + return ResourceManager.GetString("CRC1_0", resourceCulture); + } + } + + internal static string CRC2_0 { + get { + return ResourceManager.GetString("CRC2_0", resourceCulture); + } + } + + internal static string Beta { + get { + return ResourceManager.GetString("Beta", resourceCulture); + } + } + + internal static string Asia_NTSC { + get { + return ResourceManager.GetString("Asia_NTSC", resourceCulture); + } + } + + internal static string Brazil { + get { + return ResourceManager.GetString("Brazil", resourceCulture); + } + } + + internal static string China { + get { + return ResourceManager.GetString("China", resourceCulture); + } + } + + internal static string Germany { + get { + return ResourceManager.GetString("Germany", resourceCulture); + } + } + + internal static string North_America { + get { + return ResourceManager.GetString("North_America", resourceCulture); + } + } + + internal static string France { + get { + return ResourceManager.GetString("France", resourceCulture); + } + } + + internal static string Gateway_64_NTSC { + get { + return ResourceManager.GetString("Gateway_64_NTSC", resourceCulture); + } + } + + internal static string Netherlands { + get { + return ResourceManager.GetString("Netherlands", resourceCulture); + } + } + + internal static string Italy { + get { + return ResourceManager.GetString("Italy", resourceCulture); + } + } + + internal static string Korea { + get { + return ResourceManager.GetString("Korea", resourceCulture); + } + } + + internal static string Gateway_64_PAL { + get { + return ResourceManager.GetString("Gateway_64_PAL", resourceCulture); + } + } + + internal static string Canada { + get { + return ResourceManager.GetString("Canada", resourceCulture); + } + } + + internal static string Europe { + get { + return ResourceManager.GetString("Europe", resourceCulture); + } + } + + internal static string Spain { + get { + return ResourceManager.GetString("Spain", resourceCulture); + } + } + + internal static string Australia { + get { + return ResourceManager.GetString("Australia", resourceCulture); + } + } + + internal static string Scandinavia { + get { + return ResourceManager.GetString("Scandinavia", resourceCulture); + } + } + + internal static string Unknown_country { + get { + return ResourceManager.GetString("Unknown_country", resourceCulture); + } + } + + internal static string SegaMegaDrive_Name { + get { + return ResourceManager.GetString("SegaMegaDrive_Name", resourceCulture); + } + } + + internal static string System_type_0 { + get { + return ResourceManager.GetString("System_type_0", resourceCulture); + } + } + + internal static string Copyright_string_0 { + get { + return ResourceManager.GetString("Copyright_string_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 Serial_number_0 { + get { + return ResourceManager.GetString("Serial_number_0", resourceCulture); + } + } + + internal static string Devices_supported_0 { + get { + return ResourceManager.GetString("Devices_supported_0", resourceCulture); + } + } + + internal static string ROM_starts_at_0_and_ends_at_1_2_bytes { + get { + return ResourceManager.GetString("ROM_starts_at_0_and_ends_at_1_2_bytes", resourceCulture); + } + } + + internal static string RAM_starts_at_0_and_ends_at_1_2_bytes { + get { + return ResourceManager.GetString("RAM_starts_at_0_and_ends_at_1_2_bytes", resourceCulture); + } + } + + internal static string Extra_RAM_present { + get { + return ResourceManager.GetString("Extra_RAM_present", resourceCulture); + } + } + + internal static string Extra_RAM_uses_16_bit_access { + get { + return ResourceManager.GetString("Extra_RAM_uses_16_bit_access", resourceCulture); + } + } + + internal static string Extra_RAM_uses_8_bit_access_even_addresses { + get { + return ResourceManager.GetString("Extra_RAM_uses_8_bit_access_even_addresses", resourceCulture); + } + } + + internal static string Extra_RAM_uses_8_bit_access_odd_addresses { + get { + return ResourceManager.GetString("Extra_RAM_uses_8_bit_access_odd_addresses", resourceCulture); + } + } + + internal static string Extra_RAM_uses_16_bit_access_and_persists_when_powered_off { + get { + return ResourceManager.GetString("Extra_RAM_uses_16_bit_access_and_persists_when_powered_off", resourceCulture); + } + } + + internal static string Extra_RAM_uses_8_bit_access_even_addresses_and_persists_when_powered_off { + get { + return ResourceManager.GetString("Extra_RAM_uses_8_bit_access_even_addresses_and_persists_when_powered_off", resourceCulture); + } + } + + internal static string Extra_RAM_uses_8_bit_access_odd_addresses_and_persists_when_powered_off { + get { + return ResourceManager.GetString("Extra_RAM_uses_8_bit_access_odd_addresses_and_persists_when_powered_off", resourceCulture); + } + } + + internal static string Extra_RAM_is_of_unknown_type_0 { + get { + return ResourceManager.GetString("Extra_RAM_is_of_unknown_type_0", resourceCulture); + } + } + + internal static string Extra_RAM_starts_at_0_and_ends_at_1_2_bytes { + get { + return ResourceManager.GetString("Extra_RAM_starts_at_0_and_ends_at_1_2_bytes", resourceCulture); + } + } + + internal static string Extra_RAM_not_present { + get { + return ResourceManager.GetString("Extra_RAM_not_present", resourceCulture); + } + } + + internal static string Modem_support_0 { + get { + return ResourceManager.GetString("Modem_support_0", resourceCulture); + } + } + + internal static string Region_support_0 { + get { + return ResourceManager.GetString("Region_support_0", resourceCulture); + } + } + + internal static string SuperNintendo_Name { + get { + return ResourceManager.GetString("SuperNintendo_Name", resourceCulture); + } + } + + internal static string Game_code_0 { + get { + return ResourceManager.GetString("Game_code_0", resourceCulture); + } + } + + internal static string Special_revision_0 { + get { + return ResourceManager.GetString("Special_revision_0", resourceCulture); + } + } + + internal static string Header_checksum_0_X4 { + get { + return ResourceManager.GetString("Header_checksum_0_X4", resourceCulture); + } + } + + internal static string Header_checksum_complement_0 { + get { + return ResourceManager.GetString("Header_checksum_complement_0", resourceCulture); + } + } + + internal static string RAM_size_0_bytes { + get { + return ResourceManager.GetString("RAM_size_0_bytes", resourceCulture); + } + } + + internal static string Flash_size_0_bytes { + get { + return ResourceManager.GetString("Flash_size_0_bytes", resourceCulture); + } + } + + internal static string Expansion_RAM_size_0_bytes { + get { + return ResourceManager.GetString("Expansion_RAM_size_0_bytes", resourceCulture); + } + } + + internal static string ROM_speed_0 { + get { + return ResourceManager.GetString("ROM_speed_0", resourceCulture); + } + } + + internal static string Bank_size_0_bytes { + get { + return ResourceManager.GetString("Bank_size_0_bytes", resourceCulture); + } + } + + internal static string Cartridge_chip_set_0 { + get { + return ResourceManager.GetString("Cartridge_chip_set_0", resourceCulture); + } + } + + internal static string Coprocessor_0 { + get { + return ResourceManager.GetString("Coprocessor_0", resourceCulture); + } + } + + internal static string None_coprocessor { + get { + return ResourceManager.GetString("None_coprocessor", resourceCulture); + } + } + + internal static string Unknown_coprocessor { + get { + return ResourceManager.GetString("Unknown_coprocessor", resourceCulture); + } + } + + internal static string Other_coprocessor { + get { + return ResourceManager.GetString("Other_coprocessor", resourceCulture); + } + } + + internal static string ROM { + get { + return ResourceManager.GetString("ROM", resourceCulture); + } + } + + internal static string ROM_and_coprocessor { + get { + return ResourceManager.GetString("ROM_and_coprocessor", resourceCulture); + } + } + + internal static string ROM_RAM_and_coprocessor { + get { + return ResourceManager.GetString("ROM_RAM_and_coprocessor", resourceCulture); + } + } + + internal static string ROM_RAM_battery_and_coprocessor { + get { + return ResourceManager.GetString("ROM_RAM_battery_and_coprocessor", resourceCulture); + } + } + + internal static string ROM_battery_and_coprocessor { + get { + return ResourceManager.GetString("ROM_battery_and_coprocessor", resourceCulture); + } + } + + internal static string ROM_RAM_battery_coprocessor_and_RTC { + get { + return ResourceManager.GetString("ROM_RAM_battery_coprocessor_and_RTC", resourceCulture); + } + } + + internal static string Unknown_chipset { + get { + return ResourceManager.GetString("Unknown_chipset", resourceCulture); + } + } + + internal static string USA_and_Canada { + get { + return ResourceManager.GetString("USA_and_Canada", resourceCulture); + } + } + + internal static string Europe_Oceania_Asia { + get { + return ResourceManager.GetString("Europe_Oceania_Asia", resourceCulture); + } + } + + internal static string Sweden_Scandinavia { + get { + return ResourceManager.GetString("Sweden_Scandinavia", resourceCulture); + } + } + + internal static string Finland { + get { + return ResourceManager.GetString("Finland", resourceCulture); + } + } + + internal static string Denmark { + get { + return ResourceManager.GetString("Denmark", resourceCulture); + } + } + + internal static string Germany_Austria_Switzerland { + get { + return ResourceManager.GetString("Germany_Austria_Switzerland", resourceCulture); + } + } + + internal static string China_Hong_Kong { + get { + return ResourceManager.GetString("China_Hong_Kong", resourceCulture); + } + } + + internal static string Indonesia { + get { + return ResourceManager.GetString("Indonesia", resourceCulture); + } + } + + internal static string South_Korea { + get { + return ResourceManager.GetString("South_Korea", resourceCulture); + } + } + + internal static string Unknown_manufacturer { + get { + return ResourceManager.GetString("Unknown_manufacturer", resourceCulture); + } + } + + internal static string Cdrdao_Name { + get { + return ResourceManager.GetString("Cdrdao_Name", resourceCulture); + } + } + + internal static string Exception_trying_to_identify_image_file_0 { + get { + return ResourceManager.GetString("Exception_trying_to_identify_image_file_0", resourceCulture); + } + } + + internal static string Exception_0 { + get { + return ResourceManager.GetString("Exception_0", resourceCulture); + } + } + + internal static string Stack_trace_0 { + get { + return ResourceManager.GetString("Stack_trace_0", resourceCulture); + } + } + + internal static string Not_a_CDRDAO_TOC_or_TOC_type_not_in_line_0 { + get { + return ResourceManager.GetString("Not_a_CDRDAO_TOC_or_TOC_type_not_in_line_0", resourceCulture); + } + } + + internal static string Found_comment_1_at_line_0 { + get { + return ResourceManager.GetString("Found_comment_1_at_line_0", resourceCulture); + } + } + + internal static string Found_1_at_line_0 { + get { + return ResourceManager.GetString("Found_1_at_line_0", resourceCulture); + } + } + + internal static string Found_CATALOG_1_at_line_0 { + get { + return ResourceManager.GetString("Found_CATALOG_1_at_line_0", resourceCulture); + } + } + + internal static string Found_TRACK_type_1_with_no_subchannel_at_line_0 { + get { + return ResourceManager.GetString("Found_TRACK_type_1_with_no_subchannel_at_line_0", resourceCulture); + } + } + + internal static string Found_TRACK_type_1_subchannel_2_at_line_0 { + get { + return ResourceManager.GetString("Found_TRACK_type_1_subchannel_2_at_line_0", resourceCulture); + } + } + + internal static string Track_mode_0_is_unsupported { + get { + return ResourceManager.GetString("Track_mode_0_is_unsupported", resourceCulture); + } + } + + internal static string Track_subchannel_mode_0_is_unsupported { + get { + return ResourceManager.GetString("Track_subchannel_mode_0_is_unsupported", resourceCulture); + } + } + + internal static string Found_1_COPY_at_line_0 { + get { + return ResourceManager.GetString("Found_1_COPY_at_line_0", resourceCulture); + } + } + + internal static string Found_1_PRE_EMPHASIS_at_line_0 { + get { + return ResourceManager.GetString("Found_1_PRE_EMPHASIS_at_line_0", resourceCulture); + } + } + + internal static string Found_1_CHANNEL_AUDIO_at_line_0 { + get { + return ResourceManager.GetString("Found_1_CHANNEL_AUDIO_at_line_0", resourceCulture); + } + } + + internal static string Found_ISRC_1_at_line_0 { + get { + return ResourceManager.GetString("Found_ISRC_1_at_line_0", resourceCulture); + } + } + + internal static string Found_INDEX_1_at_line_0 { + get { + return ResourceManager.GetString("Found_INDEX_1_at_line_0", resourceCulture); + } + } + + internal static string Found_START_1_at_line_0 { + get { + return ResourceManager.GetString("Found_START_1_at_line_0", resourceCulture); + } + } + + internal static string Found_PREGAP_1_at_line_0 { + get { + return ResourceManager.GetString("Found_PREGAP_1_at_line_0", resourceCulture); + } + } + + internal static string Found_ZERO_1_at_line_0 { + get { + return ResourceManager.GetString("Found_ZERO_1_at_line_0", resourceCulture); + } + } + + internal static string Found_SILENCE_1_at_line_0 { + get { + return ResourceManager.GetString("Found_SILENCE_1_at_line_0", resourceCulture); + } + } + + internal static string Found_AUDIOFILE_1_at_line_0 { + get { + return ResourceManager.GetString("Found_AUDIOFILE_1_at_line_0", resourceCulture); + } + } + + internal static string Found_DATAFILE_1_at_line_0 { + get { + return ResourceManager.GetString("Found_DATAFILE_1_at_line_0", resourceCulture); + } + } + + internal static string Found_TITLE_1_at_line_0 { + get { + return ResourceManager.GetString("Found_TITLE_1_at_line_0", resourceCulture); + } + } + + internal static string Found_PERFORMER_1_at_line_0 { + get { + return ResourceManager.GetString("Found_PERFORMER_1_at_line_0", resourceCulture); + } + } + + internal static string Found_SONGWRITER_1_at_line_0 { + get { + return ResourceManager.GetString("Found_SONGWRITER_1_at_line_0", resourceCulture); + } + } + + internal static string Found_COMPOSER_1_at_line_0 { + get { + return ResourceManager.GetString("Found_COMPOSER_1_at_line_0", resourceCulture); + } + } + + internal static string Found_ARRANGER_1_at_line_0 { + get { + return ResourceManager.GetString("Found_ARRANGER_1_at_line_0", resourceCulture); + } + } + + internal static string Found_MESSAGE_1_at_line_0 { + get { + return ResourceManager.GetString("Found_MESSAGE_1_at_line_0", resourceCulture); + } + } + + internal static string Found_DISC_ID_1_at_line_0 { + get { + return ResourceManager.GetString("Found_DISC_ID_1_at_line_0", resourceCulture); + } + } + + internal static string Found_UPC_EAN_1_at_line_0 { + get { + return ResourceManager.GetString("Found_UPC_EAN_1_at_line_0", resourceCulture); + } + } + + internal static string Disc_image_parsing_results { + get { + return ResourceManager.GetString("Disc_image_parsing_results", resourceCulture); + } + } + + internal static string Disc_CD_TEXT { + get { + return ResourceManager.GetString("Disc_CD_TEXT", resourceCulture); + } + } + + internal static string Arranger_is_not_set { + get { + return ResourceManager.GetString("Arranger_is_not_set", resourceCulture); + } + } + + internal static string Arranger_0 { + get { + return ResourceManager.GetString("Arranger_0", resourceCulture); + } + } + + internal static string Composer_is_not_set { + get { + return ResourceManager.GetString("Composer_is_not_set", resourceCulture); + } + } + + internal static string Composer_0 { + get { + return ResourceManager.GetString("Composer_0", resourceCulture); + } + } + + internal static string Performer_is_not_set { + get { + return ResourceManager.GetString("Performer_is_not_set", resourceCulture); + } + } + + internal static string Performer_0 { + get { + return ResourceManager.GetString("Performer_0", resourceCulture); + } + } + + internal static string Songwriter_is_not_set { + get { + return ResourceManager.GetString("Songwriter_is_not_set", resourceCulture); + } + } + + internal static string Songwriter_0 { + get { + return ResourceManager.GetString("Songwriter_0", resourceCulture); + } + } + + internal static string Title_is_not_set { + get { + return ResourceManager.GetString("Title_is_not_set", resourceCulture); + } + } + + internal static string Title_0 { + get { + return ResourceManager.GetString("Title_0", resourceCulture); + } + } + + internal static string Disc_information { + get { + return ResourceManager.GetString("Disc_information", resourceCulture); + } + } + + internal static string Guessed_disk_type_0 { + get { + return ResourceManager.GetString("Guessed_disk_type_0", resourceCulture); + } + } + + internal static string Barcode_not_set { + get { + return ResourceManager.GetString("Barcode_not_set", resourceCulture); + } + } + + internal static string Barcode_0 { + get { + return ResourceManager.GetString("Barcode_0", resourceCulture); + } + } + + internal static string Disc_ID_not_set { + get { + return ResourceManager.GetString("Disc_ID_not_set", resourceCulture); + } + } + + internal static string Disc_ID_0 { + get { + return ResourceManager.GetString("Disc_ID_0", resourceCulture); + } + } + + internal static string MCN_not_set { + get { + return ResourceManager.GetString("MCN_not_set", resourceCulture); + } + } + + internal static string MCN_0 { + get { + return ResourceManager.GetString("MCN_0", resourceCulture); + } + } + + internal static string Comment_not_set { + get { + return ResourceManager.GetString("Comment_not_set", resourceCulture); + } + } + + internal static string Track_information { + get { + return ResourceManager.GetString("Track_information", resourceCulture); + } + } + + internal static string Disc_contains_0_tracks { + get { + return ResourceManager.GetString("Disc_contains_0_tracks", resourceCulture); + } + } + + internal static string Track_0_information { + get { + return ResourceManager.GetString("Track_0_information", resourceCulture); + } + } + + internal static string _0_bytes_per_sector { + get { + return ResourceManager.GetString("_0_bytes_per_sector", resourceCulture); + } + } + + internal static string Pregap_0_sectors { + get { + return ResourceManager.GetString("Pregap_0_sectors", resourceCulture); + } + } + + internal static string Data_0_sectors_starting_at_sector_1 { + get { + return ResourceManager.GetString("Data_0_sectors_starting_at_sector_1", resourceCulture); + } + } + + internal static string Postgap_0_sectors { + get { + return ResourceManager.GetString("Postgap_0_sectors", resourceCulture); + } + } + + internal static string Track_is_flagged_as_quadraphonic { + get { + return ResourceManager.GetString("Track_is_flagged_as_quadraphonic", resourceCulture); + } + } + + internal static string Track_allows_digital_copy { + get { + return ResourceManager.GetString("Track_allows_digital_copy", resourceCulture); + } + } + + internal static string Track_has_pre_emphasis_applied { + get { + return ResourceManager.GetString("Track_has_pre_emphasis_applied", resourceCulture); + } + } + + internal static string Track_resides_in_file_0_type_defined_as_1_starting_at_byte_2 { + get { + return ResourceManager.GetString("Track_resides_in_file_0_type_defined_as_1_starting_at_byte_2", resourceCulture); + } + } + + internal static string Indexes { + get { + return ResourceManager.GetString("Indexes", resourceCulture); + } + } + + internal static string Index_0_starts_at_sector_1 { + get { + return ResourceManager.GetString("Index_0_starts_at_sector_1", resourceCulture); + } + } + + internal static string ISRC_is_not_set { + get { + return ResourceManager.GetString("ISRC_is_not_set", resourceCulture); + } + } + + internal static string ISRC_0 { + get { + return ResourceManager.GetString("ISRC_0", resourceCulture); + } + } + + internal static string Building_offset_map { + get { + return ResourceManager.GetString("Building_offset_map", resourceCulture); + } + } + + internal static string Unordered_tracks { + get { + return ResourceManager.GetString("Unordered_tracks", resourceCulture); + } + } + + internal static string CDRDAO_image_describes_a_disc_of_type_0 { + get { + return ResourceManager.GetString("CDRDAO_image_describes_a_disc_of_type_0", resourceCulture); + } + } + + internal static string CDRDAO_comments_0 { + get { + return ResourceManager.GetString("CDRDAO_comments_0", resourceCulture); + } + } + + internal static string Invalid_value_for_split_option { + get { + return ResourceManager.GetString("Invalid_value_for_split_option", resourceCulture); + } + } + + internal static string Separate_tracks_not_yet_implemented { + get { + return ResourceManager.GetString("Separate_tracks_not_yet_implemented", resourceCulture); + } + } + + internal static string Cant_find_file_containing_0 { + get { + return ResourceManager.GetString("Cant_find_file_containing_0", resourceCulture); + } + } + + internal static string Invalid_tracks_sent { + get { + return ResourceManager.GetString("Invalid_tracks_sent", resourceCulture); + } + } + + internal static string Unsupported_subchannel_type_0_for_track_1 { + get { + return ResourceManager.GetString("Unsupported_subchannel_type_0_for_track_1", resourceCulture); + } + } + + internal static string CdrWin_Name { + get { + return ResourceManager.GetString("CdrWin_Name", resourceCulture); + } + } + + internal static string Write_each_track_to_a_separate_file { + get { + return ResourceManager.GetString("Write_each_track_to_a_separate_file", resourceCulture); + } + } + + internal static string Found_TRACK_0_out_of_order_in_line_1 { + get { + return ResourceManager.GetString("Found_TRACK_0_out_of_order_in_line_1", resourceCulture); + } + } + + internal static string No_tracks_found { + get { + return ResourceManager.GetString("No_tracks_found", resourceCulture); + } + } + + internal static string Found_REM_CRC32_at_line_0 { + get { + return ResourceManager.GetString("Found_REM_CRC32_at_line_0", resourceCulture); + } + } + + internal static string Found_REM_MD5_at_line_0 { + get { + return ResourceManager.GetString("Found_REM_MD5_at_line_0", resourceCulture); + } + } + + internal static string Found_REM_SHA1_at_line_0 { + get { + return ResourceManager.GetString("Found_REM_SHA1_at_line_0", resourceCulture); + } + } + + internal static string Found_CRC32_for_1_2_at_line_0 { + get { + return ResourceManager.GetString("Found_CRC32_for_1_2_at_line_0", resourceCulture); + } + } + + internal static string track { + get { + return ResourceManager.GetString("track", resourceCulture); + } + } + + internal static string Found_MD5_for_1_2_at_line_0 { + get { + return ResourceManager.GetString("Found_MD5_for_1_2_at_line_0", resourceCulture); + } + } + + internal static string gap { + get { + return ResourceManager.GetString("gap", resourceCulture); + } + } + + internal static string Found_SHA1_for_1_2_at_line_0 { + get { + return ResourceManager.GetString("Found_SHA1_for_1_2_at_line_0", resourceCulture); + } + } + + internal static string Found_unknown_hash_for_1_2_at_line_0_Please_report_this_disc_image { + get { + return ResourceManager.GetString("Found_unknown_hash_for_1_2_at_line_0_Please_report_this_disc_image", resourceCulture); + } + } + + internal static string Found_REM_METADATA_DUMP_EXTENT_at_line_0 { + get { + return ResourceManager.GetString("Found_REM_METADATA_DUMP_EXTENT_at_line_0", resourceCulture); + } + } + + internal static string Found_REM_METADATA_DIC_MEDIA_TYPE_at_line_0 { + get { + return ResourceManager.GetString("Found_REM_METADATA_DIC_MEDIA_TYPE_at_line_0", resourceCulture); + } + } + + internal static string Found_REM_METADATA_AARU_MEDIA_TYPE_at_line_0 { + get { + return ResourceManager.GetString("Found_REM_METADATA_AARU_MEDIA_TYPE_at_line_0", resourceCulture); + } + } + + internal static string Found_REM_ORIGINAL_MEDIA_TYPE_at_line_0 { + get { + return ResourceManager.GetString("Found_REM_ORIGINAL_MEDIA_TYPE_at_line_0", resourceCulture); + } + } + + internal static string Found_REM_SESSION_at_line_0 { + get { + return ResourceManager.GetString("Found_REM_SESSION_at_line_0", resourceCulture); + } + } + + internal static string Found_REM_SINGLE_DENSITY_AREA_at_line_0 { + get { + return ResourceManager.GetString("Found_REM_SINGLE_DENSITY_AREA_at_line_0", resourceCulture); + } + } + + internal static string Found_REM_HIGH_DENSITY_AREA_at_line_0 { + get { + return ResourceManager.GetString("Found_REM_HIGH_DENSITY_AREA_at_line_0", resourceCulture); + } + } + + internal static string Found_REM_MSF_at_line_0 { + get { + return ResourceManager.GetString("Found_REM_MSF_at_line_0", resourceCulture); + } + } + + internal static string Found_REM_LEAD_OUT_at_line_0 { + get { + return ResourceManager.GetString("Found_REM_LEAD_OUT_at_line_0", resourceCulture); + } + } + + internal static string Found_REM_Ripping_Tool_at_line_0 { + get { + return ResourceManager.GetString("Found_REM_Ripping_Tool_at_line_0", resourceCulture); + } + } + + internal static string Found_REM_Ripping_Tool_Version_at_line_0 { + get { + return ResourceManager.GetString("Found_REM_Ripping_Tool_Version_at_line_0", resourceCulture); + } + } + + internal static string Found_REM_DISC_HASHES_at_line_0 { + get { + return ResourceManager.GetString("Found_REM_DISC_HASHES_at_line_0", resourceCulture); + } + } + + internal static string Found_REM_Gap_Append_Method_1_2_HASHES_at_line_0 { + get { + return ResourceManager.GetString("Found_REM_Gap_Append_Method_1_2_HASHES_at_line_0", resourceCulture); + } + } + + internal static string Found_REM_at_line_0 { + get { + return ResourceManager.GetString("Found_REM_at_line_0", resourceCulture); + } + } + + internal static string Found_ARRANGER_at_line_0 { + get { + return ResourceManager.GetString("Found_ARRANGER_at_line_0", resourceCulture); + } + } + + internal static string Found_UPC_EAN_at_line_0 { + get { + return ResourceManager.GetString("Found_UPC_EAN_at_line_0", resourceCulture); + } + } + + internal static string Found_barcode_field_in_incorrect_place_at_line_0 { + get { + return ResourceManager.GetString("Found_barcode_field_in_incorrect_place_at_line_0", resourceCulture); + } + } + + internal static string Found_CDTEXTFILE_at_line_0 { + get { + return ResourceManager.GetString("Found_CDTEXTFILE_at_line_0", resourceCulture); + } + } + + internal static string Found_CD_Text_file_field_in_incorrect_place_at_line_0 { + get { + return ResourceManager.GetString("Found_CD_Text_file_field_in_incorrect_place_at_line_0", resourceCulture); + } + } + + internal static string Found_COMPOSER_at_line_0 { + get { + return ResourceManager.GetString("Found_COMPOSER_at_line_0", resourceCulture); + } + } + + internal static string Found_DISC_ID_at_line_0 { + get { + return ResourceManager.GetString("Found_DISC_ID_at_line_0", resourceCulture); + } + } + + internal static string Found_CDDB_ID_field_in_incorrect_place_at_line_0 { + get { + return ResourceManager.GetString("Found_CDDB_ID_field_in_incorrect_place_at_line_0", resourceCulture); + } + } + + internal static string Found_FILE_at_line_0 { + get { + return ResourceManager.GetString("Found_FILE_at_line_0", resourceCulture); + } + } + + internal static string File_0_not_found { + get { + return ResourceManager.GetString("File_0_not_found", resourceCulture); + } + } + + internal static string File_0_found { + get { + return ResourceManager.GetString("File_0_found", resourceCulture); + } + } + + internal static string Unsupported_file_type_0 { + get { + return ResourceManager.GetString("Unsupported_file_type_0", resourceCulture); + } + } + + internal static string Unknown_file_type_0 { + get { + return ResourceManager.GetString("Unknown_file_type_0", resourceCulture); + } + } + + internal static string Found_FLAGS_at_line_0 { + get { + return ResourceManager.GetString("Found_FLAGS_at_line_0", resourceCulture); + } + } + + internal static string Found_FLAGS_field_in_incorrect_place_at_line_0 { + get { + return ResourceManager.GetString("Found_FLAGS_field_in_incorrect_place_at_line_0", resourceCulture); + } + } + + internal static string Found_GENRE_at_line_0 { + get { + return ResourceManager.GetString("Found_GENRE_at_line_0", resourceCulture); + } + } + + internal static string Found_INDEX_at_line_0 { + get { + return ResourceManager.GetString("Found_INDEX_at_line_0", resourceCulture); + } + } + + internal static string Found_INDEX_before_a_track_0 { + get { + return ResourceManager.GetString("Found_INDEX_before_a_track_0", resourceCulture); + } + } + + internal static string Found_INDEX_0_before_INDEX_00_or_INDEX_01 { + get { + return ResourceManager.GetString("Found_INDEX_0_before_INDEX_00_or_INDEX_01", resourceCulture); + } + } + + internal static string Sets_currentFile_offset_to_0 { + get { + return ResourceManager.GetString("Sets_currentFile_offset_to_0", resourceCulture); + } + } + + internal static string Found_ISRC_at_line_0 { + get { + return ResourceManager.GetString("Found_ISRC_at_line_0", resourceCulture); + } + } + + internal static string Found_ISRC_before_a_track_0 { + get { + return ResourceManager.GetString("Found_ISRC_before_a_track_0", resourceCulture); + } + } + + internal static string Found_CATALOG_at_line_0 { + get { + return ResourceManager.GetString("Found_CATALOG_at_line_0", resourceCulture); + } + } + + internal static string Found_CATALOG_field_in_incorrect_place_at_line_0 { + get { + return ResourceManager.GetString("Found_CATALOG_field_in_incorrect_place_at_line_0", resourceCulture); + } + } + + internal static string Found_PERFORMER_at_line_0 { + get { + return ResourceManager.GetString("Found_PERFORMER_at_line_0", resourceCulture); + } + } + + internal static string Found_POSTGAP_at_line_0 { + get { + return ResourceManager.GetString("Found_POSTGAP_at_line_0", resourceCulture); + } + } + + internal static string Found_POSTGAP_field_before_a_track_at_line_0 { + get { + return ResourceManager.GetString("Found_POSTGAP_field_before_a_track_at_line_0", resourceCulture); + } + } + + internal static string Found_PREGAP_at_line_0 { + get { + return ResourceManager.GetString("Found_PREGAP_at_line_0", resourceCulture); + } + } + + internal static string Found_SONGWRITER_at_line_0 { + get { + return ResourceManager.GetString("Found_SONGWRITER_at_line_0", resourceCulture); + } + } + + internal static string Found_PREGAP_field_before_a_track_at_line_0 { + get { + return ResourceManager.GetString("Found_PREGAP_field_before_a_track_at_line_0", resourceCulture); + } + } + + internal static string Found_TITLE_at_line_0 { + get { + return ResourceManager.GetString("Found_TITLE_at_line_0", resourceCulture); + } + } + + internal static string Found_TRACK_at_line_0 { + get { + return ResourceManager.GetString("Found_TRACK_at_line_0", resourceCulture); + } + } + + internal static string Found_TRACK_field_before_a_file_is_defined_at_line_0 { + get { + return ResourceManager.GetString("Found_TRACK_field_before_a_file_is_defined_at_line_0", resourceCulture); + } + } + + internal static string Setting_currentTrack_sequence_to_0 { + get { + return ResourceManager.GetString("Setting_currentTrack_sequence_to_0", resourceCulture); + } + } + + internal static string This_image_from_PowerISO_is_damaged_beyond_possible_recovery_Will_not_open { + get { + return ResourceManager.GetString("This_image_from_PowerISO_is_damaged_beyond_possible_recovery_Will_not_open", resourceCulture); + } + } + + internal static string Found_unknown_field_defined_at_line_0_1 { + get { + return ResourceManager.GetString("Found_unknown_field_defined_at_line_0_1", resourceCulture); + } + } + + internal static string The_data_files_are_not_correct_according_to_the_cuesheet_file_cannot_continue_with_this_file { + get { + return ResourceManager.GetString("The_data_files_are_not_correct_according_to_the_cuesheet_file_cannot_continue_wit" + + "h_this_file", resourceCulture); + } + } + + internal static string The_data_files_are_missing_a_pregap_or_hidden_track_contents_will_do_best_effort_to_make_the_rest_of_the_image_readable { + get { + return ResourceManager.GetString("The_data_files_are_missing_a_pregap_or_hidden_track_contents_will_do_best_effort_" + + "to_make_the_rest_of_the_image_readable", resourceCulture); + } + } + + internal static string This_image_is_most_probably_corrupted_beyond_repair_It_is_highly_recommended_to_dump_it_with_another_software { + get { + return ResourceManager.GetString("This_image_is_most_probably_corrupted_beyond_repair_It_is_highly_recommended_to_d" + + "ump_it_with_another_software", resourceCulture); + } + } + + internal static string Genre_is_not_set { + get { + return ResourceManager.GetString("Genre_is_not_set", resourceCulture); + } + } + + internal static string Genre_0 { + get { + return ResourceManager.GetString("Genre_0", resourceCulture); + } + } + + internal static string CD_TEXT_binary_file_not_set { + get { + return ResourceManager.GetString("CD_TEXT_binary_file_not_set", resourceCulture); + } + } + + internal static string CD_TEXT_binary_file_0 { + get { + return ResourceManager.GetString("CD_TEXT_binary_file_0", resourceCulture); + } + } + + internal static string ISOBuster_disc_type_not_set { + get { + return ResourceManager.GetString("ISOBuster_disc_type_not_set", resourceCulture); + } + } + + internal static string ISOBuster_disc_type_0 { + get { + return ResourceManager.GetString("ISOBuster_disc_type_0", resourceCulture); + } + } + + internal static string Data_0_sectors { + get { + return ResourceManager.GetString("Data_0_sectors", resourceCulture); + } + } + + internal static string Track_has_SCMS { + get { + return ResourceManager.GetString("Track_has_SCMS", resourceCulture); + } + } + + internal static string Session_information { + get { + return ResourceManager.GetString("Session_information", resourceCulture); + } + } + + internal static string Disc_contains_0_sessions { + get { + return ResourceManager.GetString("Disc_contains_0_sessions", resourceCulture); + } + } + + internal static string Session_0_information { + get { + return ResourceManager.GetString("Session_0_information", resourceCulture); + } + } + + internal static string Starting_track_0 { + get { + return ResourceManager.GetString("Starting_track_0", resourceCulture); + } + } + + internal static string Starting_sector_0 { + get { + return ResourceManager.GetString("Starting_sector_0", resourceCulture); + } + } + + internal static string Ending_track_0 { + get { + return ResourceManager.GetString("Ending_track_0", resourceCulture); + } + } + + internal static string Ending_sector_0 { + get { + return ResourceManager.GetString("Ending_sector_0", resourceCulture); + } + } + + internal static string Track_0_lacks_index_01 { + get { + return ResourceManager.GetString("Track_0_lacks_index_01", resourceCulture); + } + } + + internal static string CDRWIN_image_describes_a_disc_of_type_0 { + get { + return ResourceManager.GetString("CDRWIN_image_describes_a_disc_of_type_0", resourceCulture); + } + } + + internal static string CDRWIN_comments_0 { + get { + return ResourceManager.GetString("CDRWIN_comments_0", resourceCulture); + } + } + + internal static string This_image_is_missing_vital_multi_session_data_and_cannot_be_read_correctly { + get { + return ResourceManager.GetString("This_image_is_missing_vital_multi_session_data_and_cannot_be_read_correctly", resourceCulture); + } + } + + internal static string Calculated_SHA1_0 { + get { + return ResourceManager.GetString("Calculated_SHA1_0", resourceCulture); + } + } + + internal static string Expected_SHA1_0 { + get { + return ResourceManager.GetString("Expected_SHA1_0", resourceCulture); + } + } + + internal static string Calculated_MD5_0 { + get { + return ResourceManager.GetString("Calculated_MD5_0", resourceCulture); + } + } + + internal static string Expected_MD5_0 { + get { + return ResourceManager.GetString("Expected_MD5_0", resourceCulture); + } + } + + internal static string Calculated_CRC32_0 { + get { + return ResourceManager.GetString("Calculated_CRC32_0", resourceCulture); + } + } + + internal static string Expected_CRC32_0 { + get { + return ResourceManager.GetString("Expected_CRC32_0", resourceCulture); + } + } + + internal static string Found_unsupported_hash_0 { + get { + return ResourceManager.GetString("Found_unsupported_hash_0", resourceCulture); + } + } + + internal static string Unsupported_compression_0 { + get { + return ResourceManager.GetString("Unsupported_compression_0", resourceCulture); + } + } + + internal static string Unable_to_decompress_hunk_correctly_got_0_bytes_expected_1 { + get { + return ResourceManager.GetString("Unable_to_decompress_hunk_correctly_got_0_bytes_expected_1", resourceCulture); + } + } + + internal static string Invalid_hunk_found { + get { + return ResourceManager.GetString("Invalid_hunk_found", resourceCulture); + } + } + + internal static string Compressed_CD_GD_ROM_hunks_are_not_yet_supported { + get { + return ResourceManager.GetString("Compressed_CD_GD_ROM_hunks_are_not_yet_supported", resourceCulture); + } + } + + internal static string Parent_images_are_not_supported { + get { + return ResourceManager.GetString("Parent_images_are_not_supported", resourceCulture); + } + } + + internal static string FLAC_is_not_supported { + get { + return ResourceManager.GetString("FLAC_is_not_supported", resourceCulture); + } + } + + internal static string Hunk_type_0_is_not_supported { + get { + return ResourceManager.GetString("Hunk_type_0_is_not_supported", resourceCulture); + } + } + + internal static string Compressed_v5_hunks_not_yet_supported { + get { + return ResourceManager.GetString("Compressed_v5_hunks_not_yet_supported", resourceCulture); + } + } + + internal static string Unsupported_hunk_map_version_0 { + get { + return ResourceManager.GetString("Unsupported_hunk_map_version_0", resourceCulture); + } + } + + internal static string Chd_Name { + get { + return ResourceManager.GetString("Chd_Name", resourceCulture); + } + } + + internal static string Reading_Hunk_map { + get { + return ResourceManager.GetString("Reading_Hunk_map", resourceCulture); + } + } + + internal static string Took_0_seconds { + get { + return ResourceManager.GetString("Took_0_seconds", resourceCulture); + } + } + + internal static string CHD_version_5_is_not_yet_supported { + get { + return ResourceManager.GetString("CHD_version_5_is_not_yet_supported", resourceCulture); + } + } + + internal static string Cannot_read_compressed_CHD_version_5 { + get { + return ResourceManager.GetString("Cannot_read_compressed_CHD_version_5", resourceCulture); + } + } + + internal static string Unsupported_CHD_version_0 { + get { + return ResourceManager.GetString("Unsupported_CHD_version_0", resourceCulture); + } + } + + internal static string Reading_metadata { + get { + return ResourceManager.GetString("Reading_metadata", resourceCulture); + } + } + + internal static string Found_metadata_0_ { + get { + return ResourceManager.GetString("Found_metadata_0_", resourceCulture); + } + } + + internal static string Image_cannot_be_a_hard_disk_and_a_CGD_ROM_at_the_same_time_aborting { + get { + return ResourceManager.GetString("Image_cannot_be_a_hard_disk_and_a_CGD_ROM_at_the_same_time_aborting", resourceCulture); + } + } + + internal static string Image_cannot_be_a_hard_disk_and_a_CD_ROM_at_the_same_time_aborting { + get { + return ResourceManager.GetString("Image_cannot_be_a_hard_disk_and_a_CD_ROM_at_the_same_time_aborting", resourceCulture); + } + } + + internal static string Image_cannot_be_a_GD_ROM_and_a_CD_ROM_at_the_same_time_aborting { + get { + return ResourceManager.GetString("Image_cannot_be_a_GD_ROM_and_a_CD_ROM_at_the_same_time_aborting", resourceCulture); + } + } + + internal static string Unsupported_track_type_0 { + get { + return ResourceManager.GetString("Unsupported_track_type_0", resourceCulture); + } + } + + internal static string Unsorted_tracks_cannot_proceed { + get { + return ResourceManager.GetString("Unsorted_tracks_cannot_proceed", resourceCulture); + } + } + + internal static string Image_cannot_be_a_hard_disk_and_a_GD_ROM_at_the_same_time_aborting { + get { + return ResourceManager.GetString("Image_cannot_be_a_hard_disk_and_a_GD_ROM_at_the_same_time_aborting", resourceCulture); + } + } + + internal static string Image_cannot_be_a_CD_ROM_and_a_GD_ROM_at_the_same_time_aborting { + get { + return ResourceManager.GetString("Image_cannot_be_a_CD_ROM_and_a_GD_ROM_at_the_same_time_aborting", resourceCulture); + } + } + + internal static string Image_does_not_represent_a_known_media_aborting { + get { + return ResourceManager.GetString("Image_does_not_represent_a_known_media_aborting", resourceCulture); + } + } + + internal static string CisCopy_Name { + get { + return ResourceManager.GetString("CisCopy_Name", resourceCulture); + } + } + + internal static string Incorrect_disk_type_0 { + get { + return ResourceManager.GetString("Incorrect_disk_type_0", resourceCulture); + } + } + + internal static string Compressed_images_are_not_supported { + get { + return ResourceManager.GetString("Compressed_images_are_not_supported", resourceCulture); + } + } + + internal static string CisCopy_image_contains_a_disk_of_type_0 { + get { + return ResourceManager.GetString("CisCopy_image_contains_a_disk_of_type_0", resourceCulture); + } + } + + internal static string CloneCd_Name { + get { + return ResourceManager.GetString("CloneCd_Name", resourceCulture); + } + } + + internal static string Found_CloneCD_out_of_order_in_line_0 { + get { + return ResourceManager.GetString("Found_CloneCD_out_of_order_in_line_0", resourceCulture); + } + } + + internal static string Found_Version_at_line_0 { + get { + return ResourceManager.GetString("Found_Version_at_line_0", resourceCulture); + } + } + + internal static string CloneCD_plugin_Warning_Unknown_CCD_image_version_0_may_not_work { + get { + return ResourceManager.GetString("CloneCD_plugin_Warning_Unknown_CCD_image_version_0_may_not_work", resourceCulture); + } + } + + internal static string Found_TocEntries_at_line_0 { + get { + return ResourceManager.GetString("Found_TocEntries_at_line_0", resourceCulture); + } + } + + internal static string Found_Sessions_at_line_0 { + get { + return ResourceManager.GetString("Found_Sessions_at_line_0", resourceCulture); + } + } + + internal static string Found_DataTracksScrambled_at_line_0 { + get { + return ResourceManager.GetString("Found_DataTracksScrambled_at_line_0", resourceCulture); + } + } + + internal static string Found_CDTextLength_at_line_0 { + get { + return ResourceManager.GetString("Found_CDTextLength_at_line_0", resourceCulture); + } + } + + internal static string Found_Catalog_at_line_0_smallcase { + get { + return ResourceManager.GetString("Found_Catalog_at_line_0_smallcase", resourceCulture); + } + } + + internal static string Found_CD_Text_Entries_at_line_0 { + get { + return ResourceManager.GetString("Found_CD_Text_Entries_at_line_0", resourceCulture); + } + } + + internal static string Found_CD_Text_Entry_at_line_0 { + get { + return ResourceManager.GetString("Found_CD_Text_Entry_at_line_0", resourceCulture); + } + } + + internal static string Found_PreGapMode_at_line_0 { + get { + return ResourceManager.GetString("Found_PreGapMode_at_line_0", resourceCulture); + } + } + + internal static string Found_PreGapSubC_at_line_0 { + get { + return ResourceManager.GetString("Found_PreGapSubC_at_line_0", resourceCulture); + } + } + + internal static string Found_Session_at_line_0 { + get { + return ResourceManager.GetString("Found_Session_at_line_0", resourceCulture); + } + } + + internal static string Found_Point_at_line_0 { + get { + return ResourceManager.GetString("Found_Point_at_line_0", resourceCulture); + } + } + + internal static string Found_ADR_at_line_0 { + get { + return ResourceManager.GetString("Found_ADR_at_line_0", resourceCulture); + } + } + + internal static string Found_Control_at_line_0 { + get { + return ResourceManager.GetString("Found_Control_at_line_0", resourceCulture); + } + } + + internal static string Found_TrackNo_at_line_0 { + get { + return ResourceManager.GetString("Found_TrackNo_at_line_0", resourceCulture); + } + } + + internal static string Found_AMin_at_line_0 { + get { + return ResourceManager.GetString("Found_AMin_at_line_0", resourceCulture); + } + } + + internal static string Found_ASec_at_line_0 { + get { + return ResourceManager.GetString("Found_ASec_at_line_0", resourceCulture); + } + } + + internal static string Found_AFrame_at_line_0 { + get { + return ResourceManager.GetString("Found_AFrame_at_line_0", resourceCulture); + } + } + + internal static string Found_ALBA_at_line_0 { + get { + return ResourceManager.GetString("Found_ALBA_at_line_0", resourceCulture); + } + } + + internal static string Found_Zero_at_line_0 { + get { + return ResourceManager.GetString("Found_Zero_at_line_0", resourceCulture); + } + } + + internal static string Found_PMin_at_line_0 { + get { + return ResourceManager.GetString("Found_PMin_at_line_0", resourceCulture); + } + } + + internal static string Found_PSec_at_line_0 { + get { + return ResourceManager.GetString("Found_PSec_at_line_0", resourceCulture); + } + } + + internal static string Found_PFrame_at_line_0 { + get { + return ResourceManager.GetString("Found_PFrame_at_line_0", resourceCulture); + } + } + + internal static string Found_PLBA_at_line_0 { + get { + return ResourceManager.GetString("Found_PLBA_at_line_0", resourceCulture); + } + } + + internal static string Did_not_find_any_track { + get { + return ResourceManager.GetString("Did_not_find_any_track", resourceCulture); + } + } + + internal static string Disc_Type_0 { + get { + return ResourceManager.GetString("Disc_Type_0", resourceCulture); + } + } + + internal static string Disc_manufactured_by_0 { + get { + return ResourceManager.GetString("Disc_manufactured_by_0", resourceCulture); + } + } + + internal static string Disc_ID_0_X6 { + get { + return ResourceManager.GetString("Disc_ID_0_X6", resourceCulture); + } + } + + internal static string This_format_requires_sectors_to_be_raw_Generating_ECC_is_not_yet_implemented { + get { + return ResourceManager.GetString("This_format_requires_sectors_to_be_raw_Generating_ECC_is_not_yet_implemented", resourceCulture); + } + } + + internal static string Unexpected_first_session_track_type_0 { + get { + return ResourceManager.GetString("Unexpected_first_session_track_type_0", resourceCulture); + } + } + + internal static string Could_not_create_subchannel_file_exception_0 { + get { + return ResourceManager.GetString("Could_not_create_subchannel_file_exception_0", resourceCulture); + } + } + + internal static string CopyQm_Name { + get { + return ResourceManager.GetString("CopyQm_Name", resourceCulture); + } + } + + internal static string Calculated_header_checksum_equals_0_X2_1 { + get { + return ResourceManager.GetString("Calculated_header_checksum_equals_0_X2_1", resourceCulture); + } + } + + internal static string Calculated_data_CRC_equals_0_X8_1 { + get { + return ResourceManager.GetString("Calculated_data_CRC_equals_0_X8_1", resourceCulture); + } + } + + internal static string CopyQM_image_contains_a_disk_of_type_0 { + get { + return ResourceManager.GetString("CopyQM_image_contains_a_disk_of_type_0", resourceCulture); + } + } + + internal static string CopyQM_comments_0 { + get { + return ResourceManager.GetString("CopyQM_comments_0", resourceCulture); + } + } + + internal static string CopyTape_Name { + get { + return ResourceManager.GetString("CopyTape_Name", resourceCulture); + } + } + + internal static string Found_unhandled_header_cannot_open { + get { + return ResourceManager.GetString("Found_unhandled_header_cannot_open", resourceCulture); + } + } + + internal static string Cannot_decode_block_header_cannot_open { + get { + return ResourceManager.GetString("Cannot_decode_block_header_cannot_open", resourceCulture); + } + } + + internal static string Cannot_write_unwritten_blocks { + get { + return ResourceManager.GetString("Cannot_write_unwritten_blocks", resourceCulture); + } + } + + internal static string Cannot_skip_blocks { + get { + return ResourceManager.GetString("Cannot_skip_blocks", resourceCulture); + } + } + + internal static string magic_equals_0_quoted { + get { + return ResourceManager.GetString("magic_equals_0_quoted", resourceCulture); + } + } + + internal static string Cpcdsk_Name { + get { + return ResourceManager.GetString("Cpcdsk_Name", resourceCulture); + } + } + + internal static string Extended_equals_0 { + get { + return ResourceManager.GetString("Extended_equals_0", resourceCulture); + } + } + + internal static string Track_0_Side_1_size_equals_2 { + get { + return ResourceManager.GetString("Track_0_Side_1_size_equals_2", resourceCulture); + } + } + + internal static string Not_the_expected_track_info { + get { + return ResourceManager.GetString("Not_the_expected_track_info", resourceCulture); + } + } + + internal static string Read_0_sectors { + get { + return ResourceManager.GetString("Read_0_sectors", resourceCulture); + } + } + + internal static string Read_0_tracks { + get { + return ResourceManager.GetString("Read_0_tracks", resourceCulture); + } + } + + internal static string All_tracks_are_same_size_0 { + get { + return ResourceManager.GetString("All_tracks_are_same_size_0", resourceCulture); + } + } + + internal static string _0_tracks { + get { + return ResourceManager.GetString("_0_tracks", resourceCulture); + } + } + + internal static string D88_Name { + get { + return ResourceManager.GetString("D88_Name", resourceCulture); + } + } + + internal static string Disk_tracks_are_not_same_size { + get { + return ResourceManager.GetString("Disk_tracks_are_not_same_size", resourceCulture); + } + } + + internal static string _0_sectors { + get { + return ResourceManager.GetString("_0_sectors", resourceCulture); + } + } + + internal static string Dart_Name { + get { + return ResourceManager.GetString("Dart_Name", resourceCulture); + } + } + + internal static string LZH_Compressed_images_not_yet_supported { + get { + return ResourceManager.GetString("LZH_Compressed_images_not_yet_supported", resourceCulture); + } + } + + internal static string Image_application_0_version_1 { + get { + return ResourceManager.GetString("Image_application_0_version_1", resourceCulture); + } + } + + internal static string Dim_Name { + get { + return ResourceManager.GetString("Dim_Name", resourceCulture); + } + } + + internal static string DIM_shows_unknown_image_with_0_tracks { + get { + return ResourceManager.GetString("DIM_shows_unknown_image_with_0_tracks", resourceCulture); + } + } + + internal static string DIM_image_contains_a_disk_of_type_0 { + get { + return ResourceManager.GetString("DIM_image_contains_a_disk_of_type_0", resourceCulture); + } + } + + internal static string DIM_comments_0 { + get { + return ResourceManager.GetString("DIM_comments_0", resourceCulture); + } + } + + internal static string DiscFerret_Name { + get { + return ResourceManager.GetString("DiscFerret_Name", resourceCulture); + } + } + + internal static string Invalid_track_block_found_at_0 { + get { + return ResourceManager.GetString("Invalid_track_block_found_at_0", resourceCulture); + } + } + + internal static string Flux_decoding_is_not_yet_implemented { + get { + return ResourceManager.GetString("Flux_decoding_is_not_yet_implemented", resourceCulture); + } + } + + internal static string DiscJuggler_Name { + get { + return ResourceManager.GetString("DiscJuggler_Name", resourceCulture); + } + } + + internal static string Track_title_0 { + get { + return ResourceManager.GetString("Track_title_0", resourceCulture); + } + } + + internal static string Unknown_read_mode_0 { + get { + return ResourceManager.GetString("Unknown_read_mode_0", resourceCulture); + } + } + + internal static string Invalid_read_mode_0_for_this_track { + get { + return ResourceManager.GetString("Invalid_read_mode_0_for_this_track", resourceCulture); + } + } + + internal static string Unknown_track_mode_0 { + get { + return ResourceManager.GetString("Unknown_track_mode_0", resourceCulture); + } + } + + internal static string Current_position_equals_0 { + get { + return ResourceManager.GetString("Current_position_equals_0", resourceCulture); + } + } + + internal static string End_position_equals_0 { + get { + return ResourceManager.GetString("End_position_equals_0", resourceCulture); + } + } + + internal static string Unknown_tmp_header_format_equals_0_value { + get { + return ResourceManager.GetString("Unknown_tmp_header_format_equals_0_value", resourceCulture); + } + } + + internal static string Unknown_tmp_header_fmtByte_equals_0_value { + get { + return ResourceManager.GetString("Unknown_tmp_header_fmtByte_equals_0_value", resourceCulture); + } + } + + internal static string Image_says_its_unformatted { + get { + return ResourceManager.GetString("Image_says_its_unformatted", resourceCulture); + } + } + + internal static string DiskCopy42_Name { + get { + return ResourceManager.GetString("DiskCopy42_Name", resourceCulture); + } + } + + internal static string Use_Mac_OS_X_format_byte { + get { + return ResourceManager.GetString("Use_Mac_OS_X_format_byte", resourceCulture); + } + } + + internal static string Unknown_header_format_equals_0_value { + get { + return ResourceManager.GetString("Unknown_header_format_equals_0_value", resourceCulture); + } + } + + internal static string Unknown_tag_size { + get { + return ResourceManager.GetString("Unknown_tag_size", resourceCulture); + } + } + + internal static string Macintosh_Twiggy_detected_reversing_disk_sides { + get { + return ResourceManager.GetString("Macintosh_Twiggy_detected_reversing_disk_sides", resourceCulture); + } + } + + internal static string Lisa_Twiggy_detected_reversing_second_half_of_disk { + get { + return ResourceManager.GetString("Lisa_Twiggy_detected_reversing_second_half_of_disk", resourceCulture); + } + } + + internal static string DiskCopy_4_2_image_contains_a_disk_of_type_0 { + get { + return ResourceManager.GetString("DiskCopy_4_2_image_contains_a_disk_of_type_0", resourceCulture); + } + } + + internal static string Reading_data { + get { + return ResourceManager.GetString("Reading_data", resourceCulture); + } + } + + internal static string Calculating_data_checksum { + get { + return ResourceManager.GetString("Calculating_data_checksum", resourceCulture); + } + } + + internal static string Calculated_data_checksum_equals_0_X8 { + get { + return ResourceManager.GetString("Calculated_data_checksum_equals_0_X8", resourceCulture); + } + } + + internal static string Stored_data_checksum_equals_0_X8 { + get { + return ResourceManager.GetString("Stored_data_checksum_equals_0_X8", resourceCulture); + } + } + + internal static string Reading_tags { + get { + return ResourceManager.GetString("Reading_tags", resourceCulture); + } + } + + internal static string Calculating_tag_checksum { + get { + return ResourceManager.GetString("Calculating_tag_checksum", resourceCulture); + } + } + + internal static string Calculated_tag_checksum_equals_0_X8 { + get { + return ResourceManager.GetString("Calculated_tag_checksum_equals_0_X8", resourceCulture); + } + } + + internal static string Stored_tag_checksum_equals_0_X8 { + get { + return ResourceManager.GetString("Stored_tag_checksum_equals_0_X8", resourceCulture); + } + } + + internal static string Twiggy_write_support_not_yet_implemented { + get { + return ResourceManager.GetString("Twiggy_write_support_not_yet_implemented", resourceCulture); + } + } + + internal static string Incorrect_number_of_sectors_for_Apple_HD20_image { + get { + return ResourceManager.GetString("Incorrect_number_of_sectors_for_Apple_HD20_image", resourceCulture); + } + } + + internal static string Incorrect_number_of_sectors_for_Apple_Profile_image { + get { + return ResourceManager.GetString("Incorrect_number_of_sectors_for_Apple_Profile_image", resourceCulture); + } + } + + internal static string Incorrect_number_of_sectors_for_Apple_MF2DD_image { + get { + return ResourceManager.GetString("Incorrect_number_of_sectors_for_Apple_MF2DD_image", resourceCulture); + } + } + + internal static string Incorrect_number_of_sectors_for_Apple_MF1DD_image { + get { + return ResourceManager.GetString("Incorrect_number_of_sectors_for_Apple_MF1DD_image", resourceCulture); + } + } + + internal static string Incorrect_number_of_sectors_for_Apple_Widget_image { + get { + return ResourceManager.GetString("Incorrect_number_of_sectors_for_Apple_Widget_image", resourceCulture); + } + } + + internal static string Incorrect_number_of_sectors_for_MF2DD_image { + get { + return ResourceManager.GetString("Incorrect_number_of_sectors_for_MF2DD_image", resourceCulture); + } + } + + internal static string Incorrect_number_of_sectors_for_MF2HD_image { + get { + return ResourceManager.GetString("Incorrect_number_of_sectors_for_MF2HD_image", resourceCulture); + } + } + + internal static string Incorrect_number_of_sectors_for_DMF_image { + get { + return ResourceManager.GetString("Incorrect_number_of_sectors_for_DMF_image", resourceCulture); + } + } + + internal static string Identified_image_with_CHS_equals_0_1_2 { + get { + return ResourceManager.GetString("Identified_image_with_CHS_equals_0_1_2", resourceCulture); + } + } + + internal static string DiskDupe_Name { + get { + return ResourceManager.GetString("DiskDupe_Name", resourceCulture); + } + } + + internal static string Detected_DiskDupe_DDI_image_with_0_tracks_and_1_sectors_per_track { + get { + return ResourceManager.GetString("Detected_DiskDupe_DDI_image_with_0_tracks_and_1_sectors_per_track", resourceCulture); + } + } + + internal static string DriDiskCopy_Name { + get { + return ResourceManager.GetString("DriDiskCopy_Name", resourceCulture); + } + } + + internal static string Digital_Research_DiskCopy_image_contains_a_disk_of_type_0 { + get { + return ResourceManager.GetString("Digital_Research_DiskCopy_image_contains_a_disk_of_type_0", resourceCulture); + } + } + + internal static string Gdi_Name { + get { + return ResourceManager.GetString("Gdi_Name", resourceCulture); + } + } + + internal static string Not_a_correct_Dreamcast_GDI_image { + get { + return ResourceManager.GetString("Not_a_correct_Dreamcast_GDI_image", resourceCulture); + } + } + + internal static string Unknown_line_0_at_line_1 { + get { + return ResourceManager.GetString("Unknown_line_0_at_line_1", resourceCulture); + } + } + + internal static string Found_track_0_starts_at_1_flags_2_type_3_file_4_offset_5_at_line_6 { + get { + return ResourceManager.GetString("Found_track_0_starts_at_1_flags_2_type_3_file_4_offset_5_at_line_6", resourceCulture); + } + } + + internal static string Track_size_not_a_multiple_of_sector_size { + get { + return ResourceManager.GetString("Track_size_not_a_multiple_of_sector_size", resourceCulture); + } + } + + internal static string Track_is_data { + get { + return ResourceManager.GetString("Track_is_data", resourceCulture); + } + } + + internal static string GDI_image_describes_a_disc_of_type_0 { + get { + return ResourceManager.GetString("GDI_image_describes_a_disc_of_type_0", resourceCulture); + } + } + + internal static string Tried_reading_a_track_that_is_not_present_in_image { + get { + return ResourceManager.GetString("Tried_reading_a_track_that_is_not_present_in_image", resourceCulture); + } + } + + internal static string Track_decompression_yielded_incomplete_data { + get { + return ResourceManager.GetString("Track_decompression_yielded_incomplete_data", resourceCulture); + } + } + + internal static string HdCopy_Name { + get { + return ResourceManager.GetString("HdCopy_Name", resourceCulture); + } + } + + internal static string Detected_HD_Copy_image_with_0_tracks_and_1_sectors_per_track { + get { + return ResourceManager.GetString("Detected_HD_Copy_image_with_0_tracks_and_1_sectors_per_track", resourceCulture); + } + } + + internal static string Track_0_offset_1_size_equals_2 { + get { + return ResourceManager.GetString("Track_0_offset_1_size_equals_2", resourceCulture); + } + } + + internal static string Imd_Name { + get { + return ResourceManager.GetString("Imd_Name", resourceCulture); + } + } + + internal static string Invalid_sector_type_0 { + get { + return ResourceManager.GetString("Invalid_sector_type_0", resourceCulture); + } + } + + internal static string IMD_image_contains_a_disk_of_type_0 { + get { + return ResourceManager.GetString("IMD_image_contains_a_disk_of_type_0", resourceCulture); + } + } + + internal static string IMD_comments_0 { + get { + return ResourceManager.GetString("IMD_comments_0", resourceCulture); + } + } + + internal static string KryoFlux_Name { + get { + return ResourceManager.GetString("KryoFlux_Name", resourceCulture); + } + } + + internal static string Cannot_find_cyl_0_hd_0_supposing_only_top_head_was_dumped { + get { + return ResourceManager.GetString("Cannot_find_cyl_0_hd_0_supposing_only_top_head_was_dumped", resourceCulture); + } + } + + internal static string Cannot_find_cyl_0_hd_1_supposing_only_bottom_head_was_dumped { + get { + return ResourceManager.GetString("Cannot_find_cyl_0_hd_1_supposing_only_bottom_head_was_dumped", resourceCulture); + } + } + + internal static string Cannot_find_cyl_1_supposing_double_stepping { + get { + return ResourceManager.GetString("Cannot_find_cyl_1_supposing_double_stepping", resourceCulture); + } + } + + internal static string Arrived_end_of_disk_at_cylinder_0 { + get { + return ResourceManager.GetString("Arrived_end_of_disk_at_cylinder_0", resourceCulture); + } + } + + internal static string Found_timestamp_0 { + get { + return ResourceManager.GetString("Found_timestamp_0", resourceCulture); + } + } + + internal static string MaxiDisk_Name { + get { + return ResourceManager.GetString("MaxiDisk_Name", resourceCulture); + } + } + + internal static string Ndif_Name { + get { + return ResourceManager.GetString("Ndif_Name", resourceCulture); + } + } + + internal static string Exception_trying_to_open_image_file_0 { + get { + return ResourceManager.GetString("Exception_trying_to_open_image_file_0", resourceCulture); + } + } + + internal static string Chunks_compressed_with_KenCode_are_not_yet_supported { + get { + return ResourceManager.GetString("Chunks_compressed_with_KenCode_are_not_yet_supported", resourceCulture); + } + } + + internal static string Chunks_compressed_with_LZH_are_not_yet_supported { + get { + return ResourceManager.GetString("Chunks_compressed_with_LZH_are_not_yet_supported", resourceCulture); + } + } + + internal static string Chunks_compressed_with_StuffIt_are_not_yet_supported { + get { + return ResourceManager.GetString("Chunks_compressed_with_StuffIt_are_not_yet_supported", resourceCulture); + } + } + + internal static string Unsupported_chunk_type_0_found { + get { + return ResourceManager.GetString("Unsupported_chunk_type_0_found", resourceCulture); + } + } + + internal static string Segmented_images_are_not_yet_supported { + get { + return ResourceManager.GetString("Segmented_images_are_not_yet_supported", resourceCulture); + } + } + + internal static string Encrypted_images_are_not_yet_supported { + get { + return ResourceManager.GetString("Encrypted_images_are_not_yet_supported", resourceCulture); + } + } + + internal static string Nero_Name { + get { + return ResourceManager.GetString("Nero_Name", resourceCulture); + } + } + + internal static string Nero_version_not_recognized { + get { + return ResourceManager.GetString("Nero_version_not_recognized", resourceCulture); + } + } + + internal static string Found_CUES_chunk_parsing_0_bytes { + get { + return ResourceManager.GetString("Found_CUES_chunk_parsing_0_bytes", resourceCulture); + } + } + + internal static string Cuesheet_entry_0 { + get { + return ResourceManager.GetString("Cuesheet_entry_0", resourceCulture); + } + } + + internal static string Found_CUEX_chunk_parsing_0_bytes { + get { + return ResourceManager.GetString("Found_CUEX_chunk_parsing_0_bytes", resourceCulture); + } + } + + internal static string Found_DAOI_chunk_parsing_0_bytes { + get { + return ResourceManager.GetString("Found_DAOI_chunk_parsing_0_bytes", resourceCulture); + } + } + + internal static string Disc_At_Once_entry_0 { + get { + return ResourceManager.GetString("Disc_At_Once_entry_0", resourceCulture); + } + } + + internal static string Found_DAOX_chunk_parsing_0_bytes { + get { + return ResourceManager.GetString("Found_DAOX_chunk_parsing_0_bytes", resourceCulture); + } + } + + internal static string Found_CDTX_chunk_parsing_0_bytes { + get { + return ResourceManager.GetString("Found_CDTX_chunk_parsing_0_bytes", resourceCulture); + } + } + + internal static string CD_TEXT_entry_0 { + get { + return ResourceManager.GetString("CD_TEXT_entry_0", resourceCulture); + } + } + + internal static string Found_TINF_chunk_parsing_0_bytes { + get { + return ResourceManager.GetString("Found_TINF_chunk_parsing_0_bytes", resourceCulture); + } + } + + internal static string Track_at_Once_entry_0 { + get { + return ResourceManager.GetString("Track_at_Once_entry_0", resourceCulture); + } + } + + internal static string Found_ETNF_chunk_parsing_0_bytes { + get { + return ResourceManager.GetString("Found_ETNF_chunk_parsing_0_bytes", resourceCulture); + } + } + + internal static string Found_ETN2_chunk_parsing_0_bytes { + get { + return ResourceManager.GetString("Found_ETN2_chunk_parsing_0_bytes", resourceCulture); + } + } + + internal static string Found_SINF_chunk_parsing_0_bytes { + get { + return ResourceManager.GetString("Found_SINF_chunk_parsing_0_bytes", resourceCulture); + } + } + + internal static string Session_0_has_1_tracks { + get { + return ResourceManager.GetString("Session_0_has_1_tracks", resourceCulture); + } + } + + internal static string Found_MTYP_chunk_parsing_0_bytes { + get { + return ResourceManager.GetString("Found_MTYP_chunk_parsing_0_bytes", resourceCulture); + } + } + + internal static string Media_type_is_0_1 { + get { + return ResourceManager.GetString("Media_type_is_0_1", resourceCulture); + } + } + + internal static string Found_DINF_chunk_parsing_0_bytes { + get { + return ResourceManager.GetString("Found_DINF_chunk_parsing_0_bytes", resourceCulture); + } + } + + internal static string Found_RELO_chunk_parsing_0_bytes { + get { + return ResourceManager.GetString("Found_RELO_chunk_parsing_0_bytes", resourceCulture); + } + } + + internal static string Found_TOCT_chunk_parsing_0_bytes { + get { + return ResourceManager.GetString("Found_TOCT_chunk_parsing_0_bytes", resourceCulture); + } + } + + internal static string Found_END_chunk_finishing_parse { + get { + return ResourceManager.GetString("Found_END_chunk_finishing_parse", resourceCulture); + } + } + + internal static string Unknown_chunk_ID_0_skipping { + get { + return ResourceManager.GetString("Unknown_chunk_ID_0_skipping", resourceCulture); + } + } + + internal static string Inconsistent_track_mode_and_track_sector_size_found { + get { + return ResourceManager.GetString("Inconsistent_track_mode_and_track_sector_size_found", resourceCulture); + } + } + + internal static string Building_offset_track_and_session_maps { + get { + return ResourceManager.GetString("Building_offset_track_and_session_maps", resourceCulture); + } + } + + internal static string This_image_contains_a_track_that_is_set_to_start_outside_the_file { + get { + return ResourceManager.GetString("This_image_contains_a_track_that_is_set_to_start_outside_the_file", resourceCulture); + } + } + + internal static string Breaking_track_processing_and_trying_recovery_of_information { + get { + return ResourceManager.GetString("Breaking_track_processing_and_trying_recovery_of_information", resourceCulture); + } + } + + internal static string Image_corrupted_beyond_recovery_cannot_open { + get { + return ResourceManager.GetString("Image_corrupted_beyond_recovery_cannot_open", resourceCulture); + } + } + + internal static string Warning_This_image_is_missing_the_last_150_sectors { + get { + return ResourceManager.GetString("Warning_This_image_is_missing_the_last_150_sectors", resourceCulture); + } + } + + internal static string Nero_image_contains_a_disc_of_type_0 { + get { + return ResourceManager.GetString("Nero_image_contains_a_disc_of_type_0", resourceCulture); + } + } + + internal static string Exception_occurred_opening_file { + get { + return ResourceManager.GetString("Exception_occurred_opening_file", resourceCulture); + } + } + + internal static string Nhdr0_Name { + get { + return ResourceManager.GetString("Nhdr0_Name", resourceCulture); + } + } + + internal static string Parallels_Name { + get { + return ResourceManager.GetString("Parallels_Name", resourceCulture); + } + } + + internal static string Reading_BAT { + get { + return ResourceManager.GetString("Reading_BAT", resourceCulture); + } + } + + internal static string Too_many_sectors_for_selected_cluster_size { + get { + return ResourceManager.GetString("Too_many_sectors_for_selected_cluster_size", resourceCulture); + } + } + + internal static string PartClone_Name { + get { + return ResourceManager.GetString("PartClone_Name", resourceCulture); + } + } + + internal static string Reading_bytemap_0_bytes { + get { + return ResourceManager.GetString("Reading_bytemap_0_bytes", resourceCulture); + } + } + + internal static string Could_not_find_partclone_BiTmAgIc_not_continuing { + get { + return ResourceManager.GetString("Could_not_find_partclone_BiTmAgIc_not_continuing", resourceCulture); + } + } + + internal static string Filling_extents { + get { + return ResourceManager.GetString("Filling_extents", resourceCulture); + } + } + + internal static string Took_0_seconds_to_fill_extents { + get { + return ResourceManager.GetString("Took_0_seconds_to_fill_extents", resourceCulture); + } + } + + internal static string Partimage_Name { + get { + return ResourceManager.GetString("Partimage_Name", resourceCulture); + } + } + + internal static string Support_for_multiple_volumes_not_supported { + get { + return ResourceManager.GetString("Support_for_multiple_volumes_not_supported", resourceCulture); + } + } + + internal static string Encrypted_images_are_currently_not_supported { + get { + return ResourceManager.GetString("Encrypted_images_are_currently_not_supported", resourceCulture); + } + } + + internal static string Cannot_find_MBRs { + get { + return ResourceManager.GetString("Cannot_find_MBRs", resourceCulture); + } + } + + internal static string Cannot_find_local_header { + get { + return ResourceManager.GetString("Cannot_find_local_header", resourceCulture); + } + } + + internal static string Cannot_find_bitmap { + get { + return ResourceManager.GetString("Cannot_find_bitmap", resourceCulture); + } + } + + internal static string Cannot_find_info_block { + get { + return ResourceManager.GetString("Cannot_find_info_block", resourceCulture); + } + } + + internal static string Cannot_find_data_blocks { + get { + return ResourceManager.GetString("Cannot_find_data_blocks", resourceCulture); + } + } + + internal static string Cannot_find_tail_Multiple_volumes_are_not_supported_or_image_is_corrupt { + get { + return ResourceManager.GetString("Cannot_find_tail_Multiple_volumes_are_not_supported_or_image_is_corrupt", resourceCulture); + } + } + + internal static string Qcow_Name { + get { + return ResourceManager.GetString("Qcow_Name", resourceCulture); + } + } + + internal static string Image_size_is_too_small { + get { + return ResourceManager.GetString("Image_size_is_too_small", resourceCulture); + } + } + + internal static string Cluster_size_must_be_between_512_bytes_and_64_Kbytes { + get { + return ResourceManager.GetString("Cluster_size_must_be_between_512_bytes_and_64_Kbytes", resourceCulture); + } + } + + internal static string L2_size_must_be_between_512_bytes_and_64_Kbytes { + get { + return ResourceManager.GetString("L2_size_must_be_between_512_bytes_and_64_Kbytes", resourceCulture); + } + } + + internal static string Invalid_encryption_method { + get { + return ResourceManager.GetString("Invalid_encryption_method", resourceCulture); + } + } + + internal static string AES_encrypted_images_not_yet_supported { + get { + return ResourceManager.GetString("AES_encrypted_images_not_yet_supported", resourceCulture); + } + } + + internal static string Differencing_images_not_yet_supported { + get { + return ResourceManager.GetString("Differencing_images_not_yet_supported", resourceCulture); + } + } + + internal static string Image_is_too_large { + get { + return ResourceManager.GetString("Image_is_too_large", resourceCulture); + } + } + + internal static string Reading_L1_table { + get { + return ResourceManager.GetString("Reading_L1_table", resourceCulture); + } + } + + internal static string Trying_to_read_past_L1_table_position_0_of_a_max_1 { + get { + return ResourceManager.GetString("Trying_to_read_past_L1_table_position_0_of_a_max_1", resourceCulture); + } + } + + internal static string Reading_L2_table_0 { + get { + return ResourceManager.GetString("Reading_L2_table_0", resourceCulture); + } + } + + internal static string Trying_to_write_past_L1_table_position_0_of_a_max_1 { + get { + return ResourceManager.GetString("Trying_to_write_past_L1_table_position_0_of_a_max_1", resourceCulture); + } + } + + internal static string Qcow2_Name { + get { + return ResourceManager.GetString("Qcow2_Name", resourceCulture); + } + } + + internal static string Unknown_incompatible_features_0_enabled_not_proceeding { + get { + return ResourceManager.GetString("Unknown_incompatible_features_0_enabled_not_proceeding", resourceCulture); + } + } + + internal static string Qed_Name { + get { + return ResourceManager.GetString("Qed_Name", resourceCulture); + } + } + + internal static string Cluster_size_must_be_a_power_of_2 { + get { + return ResourceManager.GetString("Cluster_size_must_be_a_power_of_2", resourceCulture); + } + } + + internal static string Cluster_size_must_be_between_4_Kbytes_and_64_Mbytes { + get { + return ResourceManager.GetString("Cluster_size_must_be_between_4_Kbytes_and_64_Mbytes", resourceCulture); + } + } + + internal static string Table_size_must_be_a_power_of_2 { + get { + return ResourceManager.GetString("Table_size_must_be_a_power_of_2", resourceCulture); + } + } + + internal static string Table_size_must_be_between_1_and_16_clusters { + get { + return ResourceManager.GetString("Table_size_must_be_between_1_and_16_clusters", resourceCulture); + } + } + + internal static string Image_uses_unknown_incompatible_features_0 { + get { + return ResourceManager.GetString("Image_uses_unknown_incompatible_features_0", resourceCulture); + } + } + + internal static string RsIde_Name { + get { + return ResourceManager.GetString("RsIde_Name", resourceCulture); + } + } + + internal static string Unsupported_media_tag_0 { + get { + return ResourceManager.GetString("Unsupported_media_tag_0", resourceCulture); + } + } + + internal static string SaveDskF_Name { + get { + return ResourceManager.GetString("SaveDskF_Name", resourceCulture); + } + } + + internal static string Calculated_checksum_equals_0_X8_1 { + get { + return ResourceManager.GetString("Calculated_checksum_equals_0_X8_1", resourceCulture); + } + } + + internal static string SaveDskF_image_contains_a_disk_of_type_0 { + get { + return ResourceManager.GetString("SaveDskF_image_contains_a_disk_of_type_0", resourceCulture); + } + } + + internal static string SaveDskF_comments_0 { + get { + return ResourceManager.GetString("SaveDskF_comments_0", resourceCulture); + } + } + + internal static string Compressed_SaveDskF_images_are_not_supported { + get { + return ResourceManager.GetString("Compressed_SaveDskF_images_are_not_supported", resourceCulture); + } + } + + internal static string SuperCardPro_Name { + get { + return ResourceManager.GetString("SuperCardPro_Name", resourceCulture); + } + } + + internal static string Track_header_at_0_contains_incorrect_signature { + get { + return ResourceManager.GetString("Track_header_at_0_contains_incorrect_signature", resourceCulture); + } + } + + internal static string Track_number_at_0_should_be_1_but_is_2 { + get { + return ResourceManager.GetString("Track_number_at_0_should_be_1_but_is_2", resourceCulture); + } + } + + internal static string Found_track_0_at_1 { + get { + return ResourceManager.GetString("Found_track_0_at_1", resourceCulture); + } + } + + internal static string Found_footer_at_0 { + get { + return ResourceManager.GetString("Found_footer_at_0", resourceCulture); + } + } + + internal static string cylinders_equal_0 { + get { + return ResourceManager.GetString("cylinders_equal_0", resourceCulture); + } + } + + internal static string T98_Name { + get { + return ResourceManager.GetString("T98_Name", resourceCulture); + } + } + + internal static string Sector_size_0_is_incorrect { + get { + return ResourceManager.GetString("Sector_size_0_is_incorrect", resourceCulture); + } + } + + internal static string Block_pattern_decoder_Input_data_size_0_bytes { + get { + return ResourceManager.GetString("Block_pattern_decoder_Input_data_size_0_bytes", resourceCulture); + } + } + + internal static string Block_pattern_decoder_Processed_input_0_bytes { + get { + return ResourceManager.GetString("Block_pattern_decoder_Processed_input_0_bytes", resourceCulture); + } + } + + internal static string Block_pattern_decoder_Output_data_size_0_bytes { + get { + return ResourceManager.GetString("Block_pattern_decoder_Output_data_size_0_bytes", resourceCulture); + } + } + + internal static string Block_pattern_decoder_Processed_Output_0_bytes { + get { + return ResourceManager.GetString("Block_pattern_decoder_Processed_Output_0_bytes", resourceCulture); + } + } + + internal static string RLE_decoder_Input_data_size_0_bytes { + get { + return ResourceManager.GetString("RLE_decoder_Input_data_size_0_bytes", resourceCulture); + } + } + + internal static string RLE_decoder_Processed_input_0_bytes { + get { + return ResourceManager.GetString("RLE_decoder_Processed_input_0_bytes", resourceCulture); + } + } + + internal static string RLE_decoder_Output_data_size_0_bytes { + get { + return ResourceManager.GetString("RLE_decoder_Output_data_size_0_bytes", resourceCulture); + } + } + + internal static string RLE_decoder_Processed_Output_0_bytes { + get { + return ResourceManager.GetString("RLE_decoder_Processed_Output_0_bytes", resourceCulture); + } + } + + internal static string Data_encoding_0_is_incorrect { + get { + return ResourceManager.GetString("Data_encoding_0_is_incorrect", resourceCulture); + } + } + + internal static string calculated_header_crc_equals_0_X4 { + get { + return ResourceManager.GetString("calculated_header_crc_equals_0_X4", resourceCulture); + } + } + + internal static string TeleDisk_Name { + get { + return ResourceManager.GetString("TeleDisk_Name", resourceCulture); + } + } + + internal static string Calculated_CRC_does_not_coincide_with_stored_one { + get { + return ResourceManager.GetString("Calculated_CRC_does_not_coincide_with_stored_one", resourceCulture); + } + } + + internal static string Comment_header { + get { + return ResourceManager.GetString("Comment_header", resourceCulture); + } + } + + internal static string Calculated_CRC_equals_0_X4 { + get { + return ResourceManager.GetString("Calculated_CRC_equals_0_X4", resourceCulture); + } + } + + internal static string Comment { + get { + return ResourceManager.GetString("Comment", resourceCulture); + } + } + + internal static string Image_modified_on_0 { + get { + return ResourceManager.GetString("Image_modified_on_0", resourceCulture); + } + } + + internal static string Parsing_image { + get { + return ResourceManager.GetString("Parsing_image", resourceCulture); + } + } + + internal static string No_cylinders_or_heads_found { + get { + return ResourceManager.GetString("No_cylinders_or_heads_found", resourceCulture); + } + } + + internal static string Track_follows { + get { + return ResourceManager.GetString("Track_follows", resourceCulture); + } + } + + internal static string Track_cylinder_0 { + get { + return ResourceManager.GetString("Track_cylinder_0", resourceCulture); + } + } + + internal static string Track_head_0 { + get { + return ResourceManager.GetString("Track_head_0", resourceCulture); + } + } + + internal static string Sectors_in_track_0 { + get { + return ResourceManager.GetString("Sectors_in_track_0", resourceCulture); + } + } + + internal static string Track_header_CRC_0_X2_calculated_1_X2 { + get { + return ResourceManager.GetString("Track_header_CRC_0_X2_calculated_1_X2", resourceCulture); + } + } + + internal static string End_of_disk_image_arrived { + get { + return ResourceManager.GetString("End_of_disk_image_arrived", resourceCulture); + } + } + + internal static string Total_of_0_data_sectors_for_1_bytes { + get { + return ResourceManager.GetString("Total_of_0_data_sectors_for_1_bytes", resourceCulture); + } + } + + internal static string Sector_follows { + get { + return ResourceManager.GetString("Sector_follows", resourceCulture); + } + } + + internal static string AddressMark_cylinder_0 { + get { + return ResourceManager.GetString("AddressMark_cylinder_0", resourceCulture); + } + } + + internal static string AddressMark_head_0 { + get { + return ResourceManager.GetString("AddressMark_head_0", resourceCulture); + } + } + + internal static string AddressMark_sector_number_0 { + get { + return ResourceManager.GetString("AddressMark_sector_number_0", resourceCulture); + } + } + + internal static string Sector_size_0 { + get { + return ResourceManager.GetString("Sector_size_0", resourceCulture); + } + } + + internal static string Sector_flags_0_X2 { + get { + return ResourceManager.GetString("Sector_flags_0_X2", resourceCulture); + } + } + + internal static string Sector_CRC_plus_headers_0_X2 { + get { + return ResourceManager.GetString("Sector_CRC_plus_headers_0_X2", resourceCulture); + } + } + + internal static string Data_size_in_image_0 { + get { + return ResourceManager.GetString("Data_size_in_image_0", resourceCulture); + } + } + + internal static string Data_encoding_0_X2 { + get { + return ResourceManager.GetString("Data_encoding_0_X2", resourceCulture); + } + } + + internal static string Sector_0_3_4_calculated_CRC_1_X2_differs_from_stored_CRC_2_X2 { + get { + return ResourceManager.GetString("Sector_0_3_4_calculated_CRC_1_X2_differs_from_stored_CRC_2_X2", resourceCulture); + } + } + + internal static string LBA_0 { + get { + return ResourceManager.GetString("LBA_0", resourceCulture); + } + } + + internal static string Sector_0_on_cylinder_1_head_2_is_duplicate_and_marked_so { + get { + return ResourceManager.GetString("Sector_0_on_cylinder_1_head_2_is_duplicate_and_marked_so", resourceCulture); + } + } + + internal static string Sector_0_on_cylinder_1_head_2_is_duplicate_but_is_not_marked_so { + get { + return ResourceManager.GetString("Sector_0_on_cylinder_1_head_2_is_duplicate_but_is_not_marked_so", resourceCulture); + } + } + + internal static string TeleDisk_image_contains_a_disk_of_type_0 { + get { + return ResourceManager.GetString("TeleDisk_image_contains_a_disk_of_type_0", resourceCulture); + } + } + + internal static string TeleDisk_comments_0 { + get { + return ResourceManager.GetString("TeleDisk_comments_0", resourceCulture); + } + } + + internal static string Udif_Name { + get { + return ResourceManager.GetString("Udif_Name", resourceCulture); + } + } + + internal static string Unable_to_find_UDIF_signature { + get { + return ResourceManager.GetString("Unable_to_find_UDIF_signature", resourceCulture); + } + } + + internal static string Found_obsolete_UDIF_format { + get { + return ResourceManager.GetString("Found_obsolete_UDIF_format", resourceCulture); + } + } + + internal static string Reading_resource_fork { + get { + return ResourceManager.GetString("Reading_resource_fork", resourceCulture); + } + } + + internal static string Image_resource_fork_doesnt_contain_UDIF_block_chunks { + get { + return ResourceManager.GetString("Image_resource_fork_doesnt_contain_UDIF_block_chunks", resourceCulture); + } + } + + internal static string Reading_property_list { + get { + return ResourceManager.GetString("Reading_property_list", resourceCulture); + } + } + + internal static string Could_not_parse_property_list { + get { + return ResourceManager.GetString("Could_not_parse_property_list", resourceCulture); + } + } + + internal static string Parsing_property_list { + get { + return ResourceManager.GetString("Parsing_property_list", resourceCulture); + } + } + + internal static string Could_not_retrieve_resource_fork { + get { + return ResourceManager.GetString("Could_not_retrieve_resource_fork", resourceCulture); + } + } + + internal static string Could_not_retrieve_block_chunks_array { + get { + return ResourceManager.GetString("Could_not_retrieve_block_chunks_array", resourceCulture); + } + } + + internal static string Could_not_retrieve_Name { + get { + return ResourceManager.GetString("Could_not_retrieve_Name", resourceCulture); + } + } + + internal static string Could_not_retrieve_Data { + get { + return ResourceManager.GetString("Could_not_retrieve_Data", resourceCulture); + } + } + + internal static string This_image_needs_the_resource_fork_to_work { + get { + return ResourceManager.GetString("This_image_needs_the_resource_fork_to_work", resourceCulture); + } + } + + internal static string Could_not_retrieve_block_chunks { + get { + return ResourceManager.GetString("Could_not_retrieve_block_chunks", resourceCulture); + } + } + + internal static string Chunks_compressed_with_lzfse_are_not_yet_supported { + get { + return ResourceManager.GetString("Chunks_compressed_with_lzfse_are_not_yet_supported", resourceCulture); + } + } + + internal static string zlib_exception_on_chunk_starting_at_sector_0 { + get { + return ResourceManager.GetString("zlib_exception_on_chunk_starting_at_sector_0", resourceCulture); + } + } + + internal static string Tried_to_rewind_this_format_rewinded_on_writing { + get { + return ResourceManager.GetString("Tried_to_rewind_this_format_rewinded_on_writing", resourceCulture); + } + } + + internal static string UkvFdi_Name { + get { + return ResourceManager.GetString("UkvFdi_Name", resourceCulture); + } + } + + internal static string Vdi_Name { + get { + return ResourceManager.GetString("Vdi_Name", resourceCulture); + } + } + + internal static string Support_for_image_type_0_not_yet_implemented { + get { + return ResourceManager.GetString("Support_for_image_type_0_not_yet_implemented", resourceCulture); + } + } + + internal static string Reading_Image_Block_Map { + get { + return ResourceManager.GetString("Reading_Image_Block_Map", resourceCulture); + } + } + + internal static string Reading_Image_Block_Map_took_0_ms { + get { + return ResourceManager.GetString("Reading_Image_Block_Map_took_0_ms", resourceCulture); + } + } + + internal static string Vhd_Name { + get { + return ResourceManager.GetString("Vhd_Name", resourceCulture); + } + } + + internal static string Header_checksum_equals_0_X8_calculated_equals_1_X8 { + get { + return ResourceManager.GetString("Header_checksum_equals_0_X8_calculated_equals_1_X8", resourceCulture); + } + } + + internal static string VirtualPC_plugin_Both_header_and_footer_are_corrupt_image_cannot_be_opened { + get { + return ResourceManager.GetString("VirtualPC_plugin_Both_header_and_footer_are_corrupt_image_cannot_be_opened", resourceCulture); + } + } + + internal static string VirtualPC_plugin_Unknown_image_type_0_found { + get { + return ResourceManager.GetString("VirtualPC_plugin_Unknown_image_type_0_found", resourceCulture); + } + } + + internal static string VirtualBox_for_unknown_OS_0 { + get { + return ResourceManager.GetString("VirtualBox_for_unknown_OS_0", resourceCulture); + } + } + + internal static string Unknown_version_0_X8 { + get { + return ResourceManager.GetString("Unknown_version_0_X8", resourceCulture); + } + } + + internal static string _5_6_or_7 { + get { + return ResourceManager.GetString("_5_6_or_7", resourceCulture); + } + } + + internal static string Virtual_PC_for_unknown_OS_0 { + get { + return ResourceManager.GetString("Virtual_PC_for_unknown_OS_0", resourceCulture); + } + } + + internal static string Unknown_application_0 { + get { + return ResourceManager.GetString("Unknown_application_0", resourceCulture); + } + } + + internal static string Dynamic_header_checksum_equals_0_X8_calculated_1_X8 { + get { + return ResourceManager.GetString("Dynamic_header_checksum_equals_0_X8_calculated_1_X8", resourceCulture); + } + } + + internal static string Filling_the_BAT_took_0_seconds { + get { + return ResourceManager.GetString("Filling_the_BAT_took_0_seconds", resourceCulture); + } + } + + internal static string Bitmap_is_0_sectors { + get { + return ResourceManager.GetString("Bitmap_is_0_sectors", resourceCulture); + } + } + + internal static string Unsupported_protocol_classified_found_in_URI_parent_path_0 { + get { + return ResourceManager.GetString("Unsupported_protocol_classified_found_in_URI_parent_path_0", resourceCulture); + } + } + + internal static string Possible_parent_path_0 { + get { + return ResourceManager.GetString("Possible_parent_path_0", resourceCulture); + } + } + + internal static string VirtualPC_plugin_Cannot_find_parent_file_for_differencing_disk_image { + get { + return ResourceManager.GetString("VirtualPC_plugin_Cannot_find_parent_file_for_differencing_disk_image", resourceCulture); + } + } + + internal static string VirtualPC_plugin_Cannot_find_parent_image_filter { + get { + return ResourceManager.GetString("VirtualPC_plugin_Cannot_find_parent_image_filter", resourceCulture); + } + } + + internal static string VirtualPC_plugin_Parent_image_is_not_a_Virtual_PC_disk_image { + get { + return ResourceManager.GetString("VirtualPC_plugin_Parent_image_is_not_a_Virtual_PC_disk_image", resourceCulture); + } + } + + internal static string VirtualPC_plugin_Error_0_opening_parent_disk_image { + get { + return ResourceManager.GetString("VirtualPC_plugin_Error_0_opening_parent_disk_image", resourceCulture); + } + } + + internal static string VirtualPC_plugin_Parent_image_is_of_different_size { + get { + return ResourceManager.GetString("VirtualPC_plugin_Parent_image_is_of_different_size", resourceCulture); + } + } + + internal static string VirtualPC_plugin_Deprecated_image_type_found { + get { + return ResourceManager.GetString("VirtualPC_plugin_Deprecated_image_type_found", resourceCulture); + } + } + + internal static string Vhdx_Name { + get { + return ResourceManager.GetString("Vhdx_Name", resourceCulture); + } + } + + internal static string VHDX_header_not_found { + get { + return ResourceManager.GetString("VHDX_header_not_found", resourceCulture); + } + } + + internal static string VHDX_region_table_not_found { + get { + return ResourceManager.GetString("VHDX_region_table_not_found", resourceCulture); + } + } + + internal static string Found_unsupported_and_required_region_Guid_0_not_proceeding_with_image { + get { + return ResourceManager.GetString("Found_unsupported_and_required_region_Guid_0_not_proceeding_with_image", resourceCulture); + } + } + + internal static string BAT_not_found_cannot_continue { + get { + return ResourceManager.GetString("BAT_not_found_cannot_continue", resourceCulture); + } + } + + internal static string Metadata_not_found_cannot_continue { + get { + return ResourceManager.GetString("Metadata_not_found_cannot_continue", resourceCulture); + } + } + + internal static string Found_unsupported_and_required_metadata_Guid_0_not_proceeding_with_image { + get { + return ResourceManager.GetString("Found_unsupported_and_required_metadata_Guid_0_not_proceeding_with_image", resourceCulture); + } + } + + internal static string File_parameters_not_found { + get { + return ResourceManager.GetString("File_parameters_not_found", resourceCulture); + } + } + + internal static string Virtual_disk_size_not_found { + get { + return ResourceManager.GetString("Virtual_disk_size_not_found", resourceCulture); + } + } + + internal static string Logical_sector_size_not_found { + get { + return ResourceManager.GetString("Logical_sector_size_not_found", resourceCulture); + } + } + + internal static string Physical_sector_size_not_found { + get { + return ResourceManager.GetString("Physical_sector_size_not_found", resourceCulture); + } + } + + internal static string Found_unsupported_and_required_parent_locator_type_0_not_proceeding_with_image { + get { + return ResourceManager.GetString("Found_unsupported_and_required_parent_locator_type_0_not_proceeding_with_image", resourceCulture); + } + } + + internal static string Parent_locator_not_found { + get { + return ResourceManager.GetString("Parent_locator_not_found", resourceCulture); + } + } + + internal static string Image_is_differential_but_parent_cannot_be_opened { + get { + return ResourceManager.GetString("Image_is_differential_but_parent_cannot_be_opened", resourceCulture); + } + } + + internal static string Reading_Sector_Bitmap { + get { + return ResourceManager.GetString("Reading_Sector_Bitmap", resourceCulture); + } + } + + internal static string Unsupported_sector_bitmap_block_flags_0_found_not_proceeding { + get { + return ResourceManager.GetString("Unsupported_sector_bitmap_block_flags_0_found_not_proceeding", resourceCulture); + } + } + + internal static string Virtual98_Name { + get { + return ResourceManager.GetString("Virtual98_Name", resourceCulture); + } + } + + internal static string VMware_Name { + get { + return ResourceManager.GetString("VMware_Name", resourceCulture); + } + } + + internal static string Type_of_adapter_type { + get { + return ResourceManager.GetString("Type_of_adapter_type", resourceCulture); + } + } + + internal static string VDMK_hardware_version { + get { + return ResourceManager.GetString("VDMK_hardware_version", resourceCulture); + } + } + + internal static string VMware_SupportedOptions_Use_sparse_extents { + get { + return ResourceManager.GetString("VMware_SupportedOptions_Use_sparse_extents", resourceCulture); + } + } + + internal static string Split_data_file_at_2GiB { + get { + return ResourceManager.GetString("Split_data_file_at_2GiB", resourceCulture); + } + } + + internal static string Please_open_VMDK_descriptor { + get { + return ResourceManager.GetString("Please_open_VMDK_descriptor", resourceCulture); + } + } + + internal static string Not_a_descriptor { + get { + return ResourceManager.GetString("Not_a_descriptor", resourceCulture); + } + } + + internal static string Did_not_find_any_extent { + get { + return ResourceManager.GetString("Did_not_find_any_extent", resourceCulture); + } + } + + internal static string Raw_device_image_files_are_not_supported { + get { + return ResourceManager.GetString("Raw_device_image_files_are_not_supported", resourceCulture); + } + } + + internal static string Dunno_how_to_handle_0_extents { + get { + return ResourceManager.GetString("Dunno_how_to_handle_0_extents", resourceCulture); + } + } + + internal static string Extent_file_0_not_found { + get { + return ResourceManager.GetString("Extent_file_0_not_found", resourceCulture); + } + } + + internal static string Cannot_access_NOACCESS_extents { + get { + return ResourceManager.GetString("Cannot_access_NOACCESS_extents", resourceCulture); + } + } + + internal static string Extent_0_is_too_small { + get { + return ResourceManager.GetString("Extent_0_is_too_small", resourceCulture); + } + } + + internal static string _0_is_not_an_VMware_extent { + get { + return ResourceManager.GetString("_0_is_not_an_VMware_extent", resourceCulture); + } + } + + internal static string Extent_contains_incorrect_number_of_sectors_0_1_were_expected { + get { + return ResourceManager.GetString("Extent_contains_incorrect_number_of_sectors_0_1_were_expected", resourceCulture); + } + } + + internal static string Compressed_extents_are_not_yet_supported { + get { + return ResourceManager.GetString("Compressed_extents_are_not_yet_supported", resourceCulture); + } + } + + internal static string There_are_sparse_extents_but_there_is_no_header_to_find_the_grain_tables_cannot_proceed { + get { + return ResourceManager.GetString("There_are_sparse_extents_but_there_is_no_header_to_find_the_grain_tables_cannot_p" + + "roceed", resourceCulture); + } + } + + internal static string Some_error_occurred_setting_GD_sizes { + get { + return ResourceManager.GetString("Some_error_occurred_setting_GD_sizes", resourceCulture); + } + } + + internal static string _0_sectors_in_1_grains_in_2_tables { + get { + return ResourceManager.GetString("_0_sectors_in_1_grains_in_2_tables", resourceCulture); + } + } + + internal static string Reading_grain_directory { + get { + return ResourceManager.GetString("Reading_grain_directory", resourceCulture); + } + } + + internal static string Reading_grain_tables { + get { + return ResourceManager.GetString("Reading_grain_tables", resourceCulture); + } + } + + internal static string Cannot_find_parent_0 { + get { + return ResourceManager.GetString("Cannot_find_parent_0", resourceCulture); + } + } + + internal static string Error_0_opening_parent_1 { + get { + return ResourceManager.GetString("Error_0_opening_parent_1", resourceCulture); + } + } + + internal static string Invalid_adapter_type_0 { + get { + return ResourceManager.GetString("Invalid_adapter_type_0", resourceCulture); + } + } + + internal static string Invalid_value_for_hwversion_option { + get { + return ResourceManager.GetString("Invalid_value_for_hwversion_option", resourceCulture); + } + } + + internal static string Splitted_images_not_yet_implemented { + get { + return ResourceManager.GetString("Splitted_images_not_yet_implemented", resourceCulture); + } + } + + internal static string Invalid_value_for_sparse_option { + get { + return ResourceManager.GetString("Invalid_value_for_sparse_option", resourceCulture); + } + } + + internal static string Sparse_images_not_yet_implemented { + get { + return ResourceManager.GetString("Sparse_images_not_yet_implemented", resourceCulture); + } + } + + internal static string WCDiskImage_Name { + get { + return ResourceManager.GetString("WCDiskImage_Name", resourceCulture); + } + } + + internal static string Detected_WC_DISK_IMAGE_with_0_heads_1_tracks_and_2_sectors_per_track { + get { + return ResourceManager.GetString("Detected_WC_DISK_IMAGE_with_0_heads_1_tracks_and_2_sectors_per_track", resourceCulture); + } + } + + internal static string Extra_track_1_head_0_present_reading { + get { + return ResourceManager.GetString("Extra_track_1_head_0_present_reading", resourceCulture); + } + } + + internal static string Extra_track_1_head_1_present_reading { + get { + return ResourceManager.GetString("Extra_track_1_head_1_present_reading", resourceCulture); + } + } + + internal static string Extra_track_2_head_0_present_reading { + get { + return ResourceManager.GetString("Extra_track_2_head_0_present_reading", resourceCulture); + } + } + + internal static string Extra_track_2_head_1_present_reading { + get { + return ResourceManager.GetString("Extra_track_2_head_1_present_reading", resourceCulture); + } + } + + internal static string Comment_present_reading { + get { + return ResourceManager.GetString("Comment_present_reading", resourceCulture); + } + } + + internal static string Invalid_sector_type_0_encountered { + get { + return ResourceManager.GetString("Invalid_sector_type_0_encountered", resourceCulture); + } + } + + internal static string Directory_listing_present_reading { + get { + return ResourceManager.GetString("Directory_listing_present_reading", resourceCulture); + } + } + + internal static string reading_bad_sector_0_1_2_3 { + get { + return ResourceManager.GetString("reading_bad_sector_0_1_2_3", resourceCulture); + } + } + + internal static string Unexpected_sector_encountered_Found_CHS_0_1_2_but_expected_3_4_5 { + get { + return ResourceManager.GetString("Unexpected_sector_encountered_Found_CHS_0_1_2_but_expected_3_4_5", resourceCulture); + } + } + + internal static string CHS_0_1_2_CRC_mismatch_stored_CRC_3_X4_calculated_CRC_4_X4 { + get { + return ResourceManager.GetString("CHS_0_1_2_CRC_mismatch_stored_CRC_3_X4_calculated_CRC_4_X4", resourceCulture); + } + } + + internal static string ZZZRawImage_Name { + get { + return ResourceManager.GetString("ZZZRawImage_Name", resourceCulture); + } + } + + internal static string Found_media_tag_0 { + get { + return ResourceManager.GetString("Found_media_tag_0", resourceCulture); + } + } + + internal static string Raw_disk_image_contains_a_disk_of_type_0 { + get { + return ResourceManager.GetString("Raw_disk_image_contains_a_disk_of_type_0", resourceCulture); + } + } + + internal static string The_specified_sector_size_does_not_correspond_with_the_requested_image_extension { + get { + return ResourceManager.GetString("The_specified_sector_size_does_not_correspond_with_the_requested_image_extension", resourceCulture); + } + } + } +} diff --git a/Aaru.Images/Localization/Localization.resx b/Aaru.Images/Localization/Localization.resx new file mode 100644 index 000000000..6519565dd --- /dev/null +++ b/Aaru.Images/Localization/Localization.resx @@ -0,0 +1,2906 @@ + + + + + + + + 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 + + + + Took {0}ms to deinterleave subchannel. + + + Took {0}ms to sequentialize subchannel. + + + Took {0}ms to transform subchannel. + + + Took {0}ms to de-sequentialize subchannel. + + + Took {0}ms to interleave subchannel. + + + Took {0}ms to untransform subchannel. + + + Aaru Format + + + How many sectors to store per block (will be rounded to next power of two) + + + Size, in bytes, of the LZMA dictionary + + + Maximum size, in mebibytes, for in-memory DDT. If image needs a bigger one, it will be on-disk + + + Calculate and store MD5 of image's user data + + + Calculate and store SHA1 of image's user data + + + Calculate and store SHA256 of image's user data + + + Calculate and store SpamSum of image's user data + + + Store only unique sectors. This consumes more memory and is slower, but it's enabled by default + + + Compress user data blocks. Other blocks will always be compressed + + + Memory snapshot: {0} bytes + + + Image version {0} not recognized. + + + Index not found! + + + Index at {0} contains {1} entries + + + Block type {0} with data type {1} is indexed to be at {2} + + + Incorrect identifier for data block at position {0} + + + Expected block with data type {0} at position {1} but found data type {2} + + + Found data block type {0} at position {1} + + + Invalid compression type {0} for block with data type {1}, continuing... + + + Error decompressing block, should be {0} bytes but got {1} bytes. + + + Took {0} seconds to decompress block + + + Found unknown compression type {0}, continuing... + + + Incorrect CRC found: 0x{0:X16} found, expected 0x{1:X16}, continuing... + + + Media tag type {0} duplicated, removing previous entry... + + + Decompressing DDT... + + + Error decompressing DDT, should be {0} bytes but got {1} bytes. + + + Took {0} seconds to decompress DDT + + + Found unsupported compression algorithm {0} + + + Geometry set to {0} cylinders {1} heads {2} sectors per track + + + Found metadata block at position {0} + + + Setting media sequence as {0} of {1} + + + Setting creator: {0} + + + Setting comments: {0} + + + Setting media title: {0} + + + Setting media manufacturer: {0} + + + Setting media model: {0} + + + Setting media serial number: {0} + + + Setting media barcode: {0} + + + Setting media part number: {0} + + + Setting drive manufacturer: {0} + + + Setting drive model: {0} + + + Setting drive serial number: {0} + + + Setting drive firmware revision: {0} + + + Incorrect identifier for tracks block at position {0} + + + Found {0} tracks at position {0} + + + Found CICM XML metadata block at position {0} + + + Exception {0} processing CICM XML metadata block + + + Found dump hardware block at position {0} + + + Found tape partition block at position {0} + + + Found tape file block at position {0} + + + Incorrect identifier for compact disc indexes block at position {0} + + + Found {0} compact disc indexes at position {0} + + + Could not find user data deduplication table. + + + Image created on {0} + + + Image last written on {0} + + + This image has a corrupted track list, convert will fix it. + + + This image has a corrupted track list, a best effort has been tried but may require manual editing or redump. + + + Optical disc track + + + Checking index integrity at {0} + + + Incorrect index identifier + + + Expected index CRC {0:X16} but got {1:X16} + + + Verifying data block type {0} at position {1} + + + Expected block CRC {0:X16} but got {1:X16} + + + Verifying deduplication table type {0} at position {1} + + + Expected DDT CRC {0:X16} but got {1:X16} + + + Track block at {0} contains {1} entries + + + Ignored field type {0} + + + Invalid value for sectors_per_block option + + + Invalid value for dictionary option + + + Invalid value for max_ddt_size option + + + Invalid value for md5 option + + + Invalid value for sha1 option + + + Invalid value for sha256 option + + + Invalid value for spamsum option + + + Invalid value for deduplicate option + + + Invalid value for compress option + + + Unsupported media format {0} + + + Got a shift of {0} for {1} sectors per block + + + Could not create new image file, exception {0} + + + Cannot append to a non Aaru Format image + + + Cannot append to an unknown image version {0} + + + Cannot write a media with type {0} to an image with type {1} + + + Index not found in existing image, cannot continue + + + Trying to write a media with {0} sectors to an image with {1} sectors, not continuing... + + + In memory DDT?: {0} + + + Tried to write on a non-writable image + + + Tried to write past image size + + + Track not found + + + Incorrect data size + + + Unknown long sector type, cannot write. + + + Unsupported feature + + + Image is not opened for writing + + + Of {0} sectors written, {1} are unique ({2:P}) + + + Tag type {0} is null, skipping... + + + Writing tag type {0} to position {1} + + + Writing geometry block to position {0} + + + Writing dump hardware block to position {0} + + + Writing CICM XML block to position {0} + + + Writing checksum block to position {0} + + + Writing tape partitions to position {0} + + + Writing tape files to position {0} + + + Writing user data DDT to position {0} + + + Writing CD sector prefix block to position {0} + + + Took {0} seconds to compress prefix + + + Writing CD sector suffix block to position {0} + + + Took {0} seconds to compress suffix + + + {0} ({1:P}% prefixes are correct, {2} ({3:P}%) prefixes have not been dumped, {4} ({5:P}%) prefixes have been written to image + + + {0} ({1:P}% suffixes are correct, {2} ({3:P}%) suffixes have not been dumped, {4} ({5:P}%) suffixes have been written to image + + + {0} ({1:P}% MODE 2 Form 1 are correct, {2} ({3:P}%) MODE 2 Form 2 are correct, {4} ({5:P}%) MODE 2 Form 2 have empty CRC + + + Writing CompactDisc sector prefix DDT to position {0} + + + Writing CompactDisc sector suffix DDT to position {0} + + + Writing CD sector corrected prefix block to position {0} + + + Writing CD sector corrected suffix block to position {0} + + + Writing CD MODE2 subheaders block to position {0} + + + Took {0} seconds to compress MODE2 subheaders + + + Writing CD subchannel block to position {0} + + + Took {0} seconds to compress subchannel + + + Writing DVD CPI_MAI block to position {0} + + + Took {0} seconds to compress CPI_MAI + + + Writing decrypted DVD title key block to position {0} + + + Took {0} seconds to compress decrypted DVD title keys + + + Writing tracks to position {0} + + + Writing compact disc indexes to position {0} + + + Writing apple sector tag block to position {0} + + + Writing metadata to position {0} + + + Writing index to position {0} + + + Writing header + + + Tried to set geometry on a media that doesn't support it + + + Incorrect tag for disk type + + + Can't find track {0} + + + Incorrect data size for track flags + + + Incorrect data size for subchannel + + + Incorrect data size for CMI + + + Incorrect data size for title key + + + Incorrect data size for decrypted title key + + + Don't know how to write sector tag type {0} + + + Tried to write more data than possible + + + Alcohol 120% Media Descriptor Structure + + + The disc this image represents contained a hidden track in the first pregap, that this image format cannot store. This dump is therefore, incorrect. + + + Track {0}. + + + printing partition map + + + Partition sequence: {0} + + + Partition name: {0} + + + Partition description: {0} + + + Partition type: {0} + + + Partition starting sector: {0} + + + Partition sectors: {0} + + + Partition starting offset: {0} + + + Partition size in bytes: {0} + + + Data filename: {0} + + + Cannot open data file + + + Rebuilding TOC + + + Alcohol 120% image describes a disc of type {0} + + + Incorrect Alcohol 120% image created by an old version of Aaru. Convert image to correct it. + + + Unsupported media tag {0} for medium type {1} + + + Cannot write non-long sectors to CD images. + + + Can't find track containing {0} + + + Invalid write mode for this sector + + + Can't cross tracks + + + Invalid subchannel mode for this sector + + + Unsupported subchannel type {0} + + + Trying to write subchannel to track {0}, that does not have subchannel + + + Unsupported tag type {0} + + + Anex86 Disk Image + + + MediaType: {0} + + + Unsupported sector size + + + Too many sectors + + + Writing media tags is not supported. + + + Writing sectors with tags is not supported. + + + Too many cylinders. + + + Too many heads. + + + Too many sectors per track. + + + Apple 2IMG + + + Detected incorrect endian on data size field, correcting. + + + Unknown creator code "{0}" + + + 2MG image contains a disk of type {0} + + + 2MG comments: {0} + + + Apple ][ Interleaved Disk Image + + + Incorrect number of sectors for media + + + Apple NIB + + + Decoding whole image + + + Got {0} tracks + + + Using DOS skewing + + + Using ProDOS skewing + + + Hardware sector {0} of track {1} goes to logical sector {2} + + + Got {0} sectors + + + Cooking sectors + + + ACT Apricot Disk Image + + + Enable Apridisk compression. + + + Found deleted record at {0} + + + Found comment record at {0} + + + Comment: "{0}" + + + Found creator record at {0} + + + Creator: "{0}" + + + Found compressed sector record at {0} for cylinder {1} head {2} sector {3} + + + Found uncompressed sector record at {0} for cylinder {1} head {2} sector {3} + + + Found {0} cylinders and {1} heads with a maximum sector number of {2} + + + Found a minimum of {0} bytes per sector + + + Found a minimum of {0} sectors per track + + + Sector address not found + + + BlindWrite 4 + + + Data file {0} not found + + + Unable to find data file + + + BlindWrite image describes a disc of type {0} + + + BlindWrite comments: {0} + + + BlindWrite 5 + + + mode page 2A: {0} + + + PMA: {0} + + + PFI: {0} + + + Disc information: {0} + + + Data path: {0} + + + Correctly arrived end of image + + + BlindWrite5 image ends after expected position. Probably new version with different data. Errors may occur. + + + Cannot find data file {0} + + + BlindWrite5 found unknown subchannel size: {0} + + + Building maps + + + Could not find image for track {0} + + + Partition ending sector: {0} + + + printing track map + + + Track description: {0} + + + Track type: {0} + + + Track starting sector: {0} + + + Track ending sector: {0} + + + TOC len {0} + + + Basic Lisa Utility + + + BLU image contains a disk of type {0} + + + Atari Lynx + + + Name: {0} + + + Manufacturer: {0} + + + Bank 0 size: {0} pages ({1} bytes) + + + Bank 1 size: {0} pages ({1} bytes) + + + Rotation: {0} + + + No image has been opened. + + + Cannot create an opened image + + + The requested position is out of range. + + + Buffer must not be null. + + + Nintendo Game Boy + + + Requires Game Boy Color + + + Contains features for Game Boy Color + + + Contains features for Super Game Boy + + + Region: {0} + + + Japan + + + World + + + Cartridge type: {0} + + + ROM size: {0} bytes + + + Save RAM size: {0} bytes + + + Licensee: {0} + + + Revision: {0} + + + Header checksum: 0x{0:X2} + + + Checksum: 0x{0:X4} + + + none + + + Unknown + + + '''GBC - see above''' + + + ROM only + + + ROM and MBC1 + + + ROM, MBC1 and RAM + + + ROM, MBC1, RAM and battery + + + ROM and MBC2 + + + ROM, MBC2 and battery + + + ROM and RAM + + + ROM, RAM and battery + + + ROM and MMM01 + + + ROM, MMM01 and RAM + + + ROM, MMM01, RAM and battery + + + ROM, MBC3, timer and battery + + + ROM, MBC3, RAM, timer and battery + + + ROM and MBC3 + + + ROM, MBC3 and RAM + + + ROM, MBC3, RAM and battery + + + ROM and MBC5 + + + ROM, MBC5 and RAM + + + ROM, MBC5, RAM and battery + + + ROM, MBC5 and vibration motor + + + ROM, MBC5, RAM and vibration motor + + + ROM, MBC5, RAM, battery and vibration motor + + + ROM and MBC6 + + + ROM, MBC7, RAM, battery, light sensor and vibration motor + + + Pocket Camera + + + ROM and TAMA5 + + + ROM and HuC-3 + + + ROM and HuC-1 + + + Unknown + + + Nintendo Game Boy Advance + + + Device type: {0} + + + Console type: {0} + + + Product code: AGB-{0} + + + Maker code: {0} + + + Sega Game Gear / Master System + + + Product code: {0} + + + Master System + + + Export + + + Game Gear + + + International + + + Unknown + + + iNES + + + PRG ROM size: {0} bytes + + + CHR ROM size: {0} bytes + + + Trainer size: {0} bytes + + + Mapper: {0} + + + Has battery backed RAM + + + Uses four-screen VRAM + + + Uses vertical mirroring + + + Uses horizontal mirroring + + + VS Unisystem game + + + PlayChoice-10 game + + + INST-ROM size: {0} bytes + + + PROM size: 0x{0} bytes + + + V.R. Technology VT01 + + + V.R. Technology VT02 + + + V.R. Technology VT03 + + + V.R. Technology VT09 + + + V.R. Technology VT32 + + + V.R. Technology VT369 + + + Nintendo 64 + + + Cartridge ID: {0} + + + Version: {0}.{1} + + + CRC1: 0x{0:X8} + + + CRC2: 0x{0:X8} + + + Beta + + + Asia (NTSC) + + + Brazil + + + China + + + Germany + + + North America + + + France + + + Gateway 64 (NTSC) + + + Netherlands + + + Italy + + + Korea + + + Gateway 64 (PAL) + + + Canada + + + Europe + + + Spain + + + Australia + + + Scandinavia + + + Unknown + + + Sega Mega Drive / 32X / Pico + + + System type: {0} + + + Copyright string: {0} + + + Domestic title: {0} + + + Overseas title: {0} + + + Serial number: {0} + + + Devices supported: {0} + + + ROM starts at 0x{0:X8} and ends at 0x{1:X8} ({2} bytes) + + + RAM starts at 0x{0:X8} and ends at 0x{1:X8} ({2} bytes) + + + Extra RAM present. + + + Extra RAM uses 16-bit access. + + + Extra RAM uses 8-bit access (even addresses). + + + Extra RAM uses 8-bit access (odd addresses). + + + Extra RAM uses 16-bit access and persists when powered off. + + + Extra RAM uses 8-bit access (even addresses) and persists when powered off. + + + Extra RAM uses 8-bit access (odd addresses) and persists when powered off. + + + Extra RAM is of unknown type 0x{0:X2} + + + Extra RAM starts at 0x{0:X8} and ends at 0x{1:X8} ({2} bytes) + + + Extra RAM not present. + + + Modem support: {0} + + + Region support: {0} + + + Super Nintendo + + + Game code: {0} + + + Special revision: {0} + + + Header checksum: 0x{0:X4} + + + Header checksum complement: 0x{0:X4} + + + RAM size: {0} bytes + + + Flash size: {0} bytes + + + Expansion RAM size: {0} bytes + + + ROM speed: {0} + + + Bank size: {0} bytes + + + Cartridge chip set: {0} + + + Coprocessor: {0} + + + None + + + Unknown + + + Other + + + ROM + + + ROM and coprocessor + + + ROM, RAM and coprocessor + + + ROM, RAM, battery and coprocessor + + + ROM, battery and coprocessor + + + ROM, RAM, battery, coprocessor and RTC + + + Unknown + + + USA and Canada + + + Europe, Oceania, Asia + + + Sweden/Scandinavia + + + Finland + + + Denmark + + + Germany, Austria, Switzerland + + + China, Hong Kong + + + Indonesia + + + South Korea + + + Unknown + + + CDRDAO tocfile + + + Exception trying to identify image file {0} + + + Exception: {0} + + + Stack trace: {0} + + + Not a CDRDAO TOC or TOC type not in line {0}. + + + Found comment "{1}" at line {0} + + + Found {1} at line {0} + + + Found CATALOG "{1}" at line {0} + + + Found TRACK type "{1}" with no subchannel at line {0} + + + Found TRACK type "{1}" subchannel {2} at line {0} + + + Track mode {0} is unsupported + + + Track subchannel mode {0} is unsupported + + + Found {1} COPY at line {0} + + + Found {1} PRE_EMPHASIS at line {0} + + + Found {1}_CHANNEL_AUDIO at line {0} + + + Found ISRC "{1}" at line {0} + + + Found INDEX "{1}" at line {0} + + + Found START "{1}" at line {0} + + + Found PREGAP "{1}" at line {0} + + + Found ZERO "{1}" at line {0} + + + Found SILENCE "{1}" at line {0} + + + Found AUDIOFILE "{1}" at line {0} + + + Found DATAFILE "{1}" at line {0} + + + Found TITLE "{1}" at line {0} + + + Found PERFORMER "{1}" at line {0} + + + Found SONGWRITER "{1}" at line {0} + + + Found COMPOSER "{1}" at line {0} + + + Found ARRANGER "{1}" at line {0} + + + Found MESSAGE "{1}" at line {0} + + + Found DISC_ID "{1}" at line {0} + + + Found UPC_EAN "{1}" at line {0} + + + Disc image parsing results + + + Disc CD-TEXT: + + + Arranger is not set. + + + Arranger: {0} + + + Composer is not set. + + + Composer: {0} + + + Performer is not set. + + + Performer: {0} + + + Songwriter is not set. + + + Songwriter: {0} + + + Title is not set. + + + Title: {0} + + + Disc information: + + + Guessed disk type: {0} + + + Barcode not set. + + + Barcode: {0} + + + Disc ID not set. + + + Disc ID: {0} + + + MCN not set. + + + MCN: {0} + + + Comment not set. + + + Track information: + + + Disc contains {0} tracks + + + Track {0} information: + + + {0} bytes per sector + + + Pregap: {0} sectors + + + Data: {0} sectors starting at sector {1} + + + Postgap: {0} sectors + + + Track is flagged as quadraphonic + + + Track allows digital copy + + + Track has pre-emphasis applied + + + Track resides in file {0}, type defined as {1}, starting at byte {2} + + + Indexes: + + + Index {0} starts at sector {1} + + + ISRC is not set. + + + ISRC: {0} + + + Building offset map + + + Unordered tracks + + + CDRDAO image describes a disc of type {0} + + + CDRDAO comments: {0} + + + Invalid value for split option + + + Separate tracks not yet implemented + + + Can't find file containing {0} + + + Invalid tracks sent + + + Unsupported subchannel type {0} for track {1} + + + CDRWin cuesheet + + + Write each track to a separate file. + + + Found TRACK {0} out of order in line {1} + + + No tracks found + + + Found REM CRC32 at line {0} + + + Found REM MD5 at line {0} + + + Found REM SHA1 at line {0} + + + Found CRC32 for {1} {2} at line {0} + + + track + + + Found MD5 for {1} {2} at line {0} + + + gap + + + Found SHA1 for {1} {2} at line {0} + + + Found unknown hash for {1} {2} at line {0}. Please report this disc image. + + + Found REM METADATA DUMP EXTENT at line {0} + + + Found REM METADATA DIC MEDIA-TYPE at line {0} + + + Found REM METADATA AARU MEDIA-TYPE at line {0} + + + Found REM ORIGINAL MEDIA TYPE at line {0} + + + Found REM SESSION at line {0} + + + Found REM SINGLE-DENSITY AREA at line {0} + + + Found REM HIGH-DENSITY AREA at line {0} + + + Found REM MSF at line {0} + + + Found REM LEAD-OUT at line {0} + + + Found REM Ripping Tool at line {0} + + + Found REM Ripping Tool Version at line {0} + + + Found REM DISC HASHES at line {0} + + + Found REM Gap Append Method: {1} [{2}] HASHES at line {0} + + + Found REM at line {0} + + + Found ARRANGER at line {0} + + + Found UPC_EAN at line {0} + + + Found barcode field in incorrect place at line {0} + + + Found CDTEXTFILE at line {0} + + + Found CD-Text file field in incorrect place at line {0} + + + Found COMPOSER at line {0} + + + Found DISC_ID at line {0} + + + Found CDDB ID field in incorrect place at line {0} + + + Found FILE at line {0} + + + File "{0}" not found. + + + File "{0}" found + + + Unsupported file type {0} + + + Unknown file type {0} + + + Found FLAGS at line {0} + + + Found FLAGS field in incorrect place at line {0} + + + Found GENRE at line {0} + + + Found INDEX at line {0} + + + Found INDEX before a track {0} + + + Found INDEX {0} before INDEX 00 or INDEX 01 + + + Sets currentFile.offset to {0} + + + Found ISRC at line {0} + + + Found ISRC before a track {0} + + + Found CATALOG at line {0} + + + Found CATALOG field in incorrect place at line {0} + + + Found PERFORMER at line {0} + + + Found POSTGAP at line {0} + + + Found POSTGAP field before a track at line {0} + + + Found PREGAP at line {0} + + + Found SONGWRITER at line {0} + + + Found PREGAP field before a track at line {0} + + + Found TITLE at line {0} + + + Found TRACK at line {0} + + + Found TRACK field before a file is defined at line {0} + + + Setting currentTrack.sequence to {0} + + + This image from PowerISO is damaged beyond possible recovery. Will not open. + + + Found unknown field defined at line {0}: "{1}" + + + The data files are not correct according to the cuesheet file, cannot continue with this file. + + + The data files are missing a pregap or hidden track contents, will do best effort to make the rest of the image readable. + + + This image is most probably corrupted beyond repair. It is highly recommended to dump it with another software. + + + Genre is not set. + + + Genre: {0} + + + CD-TEXT binary file not set. + + + CD-TEXT binary file: {0} + + + ISOBuster disc type not set. + + + ISOBuster disc type: {0} + + + Data: {0} sectors + + + Track has SCMS + + + Session information: + + + Disc contains {0} sessions + + + Session {0} information: + + + Starting track: {0} + + + Starting sector: {0} + + + Ending track: {0} + + + Ending sector: {0} + + + Track {0} lacks index 01 + + + CDRWIN image describes a disc of type {0} + + + CDRWIN comments: {0} + + + This image is missing vital multi-session data and cannot be read correctly. + + + Calculated SHA1: {0} + + + Expected SHA1: {0} + + + Calculated MD5: {0} + + + Expected MD5: {0} + + + Calculated CRC32: {0} + + + Expected CRC32: {0} + + + Found unsupported hash {0} + + + Unsupported compression {0} + + + Unable to decompress hunk correctly, got {0} bytes, expected {1} + + + Invalid hunk found. + + + Compressed CD/GD-ROM hunks are not yet supported + + + Parent images are not supported + + + FLAC is not supported + + + Hunk type {0} is not supported + + + Compressed v5 hunks not yet supported + + + Unsupported hunk map version {0} + + + MAME Compressed Hunks of Data + + + Reading Hunk map. + + + Took {0} seconds + + + CHD version 5 is not yet supported. + + + Cannot read compressed CHD version 5 + + + Unsupported CHD version {0} + + + Reading metadata. + + + Found metadata "{0}" + + + Image cannot be a hard disk and a C/GD-ROM at the same time, aborting. + + + Image cannot be a hard disk and a CD-ROM at the same time, aborting. + + + Image cannot be a GD-ROM and a CD-ROM at the same time, aborting. + + + Unsupported track type {0} + + + Unsorted tracks, cannot proceed. + + + Image cannot be a hard disk and a GD-ROM at the same time, aborting. + + + Image cannot be a CD-ROM and a GD-ROM at the same time, aborting. + + + Image does not represent a known media, aborting + + + CisCopy Disk Image (DC-File) + + + Incorrect disk type {0} + + + Compressed images are not supported. + + + CisCopy image contains a disk of type {0} + + + CloneCD + + + Found [CloneCD] out of order in line {0} + + + Found Version at line {0} + + + (CloneCD plugin): Warning! Unknown CCD image version {0}, may not work! + + + Found TocEntries at line {0} + + + Found Sessions at line {0} + + + Found DataTracksScrambled at line {0} + + + Found CDTextLength at line {0} + + + Found Catalog at line {0} + + + Found CD-Text Entries at line {0} + + + Found CD-Text Entry at line {0} + + + Found PreGapMode at line {0} + + + Found PreGapSubC at line {0} + + + Found Session at line {0} + + + Found Point at line {0} + + + Found ADR at line {0} + + + Found Control at line {0} + + + Found TrackNo at line {0} + + + Found AMin at line {0} + + + Found ASec at line {0} + + + Found AFrame at line {0} + + + Found ALBA at line {0} + + + Found Zero at line {0} + + + Found PMin at line {0} + + + Found PSec at line {0} + + + Found PFrame at line {0} + + + Found PLBA at line {0} + + + Did not find any track. + + + Disc Type: {0} + + + Disc manufactured by: {0} + + + Disc ID: {0:X6} + + + This format requires sectors to be raw. Generating ECC is not yet implemented + + + Unexpected first session track type {0} + + + Could not create subchannel file, exception {0} + + + Sydex CopyQM + + + Calculated header checksum = 0x{0:X2}, {1} + + + Calculated data CRC = 0x{0:X8}, {1} + + + CopyQM image contains a disk of type {0} + + + CopyQM comments: {0} + + + CopyTape + + + Found unhandled header, cannot open. + + + Cannot decode block header, cannot open. + + + Cannot write unwritten blocks + + + Cannot skip blocks + + + magic = "{0}" + + + CPCEMU Disk-File and Extended CPC Disk-File + + + Extended = {0} + + + Track {0} Side {1} size = {2} + + + Not the expected track info. + + + Read {0} sectors + + + Read {0} tracks + + + All tracks are same size? {0} + + + {0} tracks + + + D88 Disk Image + + + Disk tracks are not same size. spt = {0} (expected {1}), bps = {2} (expected {3}) at track {4} sector {5} + + + {0} sectors + + + Apple Disk Archival/Retrieval Tool + + + LZH Compressed images not yet supported + + + Image application = {0} version {1} + + + DIM Disk Image + + + DIM shows unknown image with {0} tracks + + + DIM image contains a disk of type {0} + + + DIM comments: {0} + + + DiscFerret + + + Invalid track block found at {0} + + + Flux decoding is not yet implemented. + + + DiscJuggler + + + Track title = {0} + + + Unknown read mode {0} + + + Invalid read mode {0} for this track + + + Unknown track mode {0} + + + Current position = {0} + + + End position = {0} + + + Unknown tmp_header.format = 0x{0:X2} value + + + Unknown tmp_header.fmtByte = 0x{0:X2} value + + + Image says it's unformatted + + + Apple DiskCopy 4.2 + + + Use Mac OS X format byte + + + Unknown header.format = 0x{0:X2} value + + + Unknown tag size + + + Macintosh Twiggy detected, reversing disk sides + + + Lisa Twiggy detected, reversing second half of disk + + + DiskCopy 4.2 image contains a disk of type {0} + + + Reading data + + + Calculating data checksum + + + Calculated data checksum = 0x{0:X8} + + + Stored data checksum = 0x{0:X8} + + + Reading tags + + + Calculating tag checksum + + + Calculated tag checksum = 0x{0:X8} + + + Stored tag checksum = 0x{0:X8} + + + Twiggy write support not yet implemented + + + Incorrect number of sectors for Apple HD20 image + + + Incorrect number of sectors for Apple Profile image + + + Incorrect number of sectors for Apple MF2DD image + + + Incorrect number of sectors for Apple MF1DD image + + + Incorrect number of sectors for Apple Widget image + + + Incorrect number of sectors for MF2DD image + + + Incorrect number of sectors for MF2HD image + + + Incorrect number of sectors for DMF image + + + Identified image with C/H/S = {0}/{1}/{2} + + + DiskDupe DDI Disk Image + + + Detected DiskDupe DDI image with {0} tracks and {1} sectors per track. + + + Digital Research DiskCopy + + + Digital Research DiskCopy image contains a disk of type {0} + + + Dreamcast GDI image + + + Not a correct Dreamcast GDI image + + + Unknown line "{0}" at line {1} + + + Found track {0} starts at {1} flags {2} type {3} file {4} offset {5} at line {6} + + + Track size not a multiple of sector size + + + Track is data + + + GDI image describes a disc of type {0} + + + Tried reading a track that is not present in image + + + Track decompression yielded incomplete data + + + HD-Copy disk image + + + Detected HD-Copy image with {0} tracks and {1} sectors per track. + + + Track {0} offset 0x{1:x8}, size={2:x4} + + + Dunfield's IMD + + + Invalid sector type {0} + + + IMD image contains a disk of type {0} + + + IMD comments: {0} + + + KryoFlux STREAM + + + Cannot find cyl 0 hd 0, supposing only top head was dumped + + + Cannot find cyl 0 hd 1, supposing only bottom head was dumped + + + Cannot find cyl 1, supposing double stepping + + + Arrived end of disk at cylinder {0} + + + Found timestamp: {0} + + + MAXI Disk image + + + Apple New Disk Image Format + + + Exception trying to open image file {0} + + + Chunks compressed with KenCode are not yet supported. + + + Chunks compressed with LZH are not yet supported. + + + Chunks compressed with StuffIt! are not yet supported. + + + Unsupported chunk type 0x{0:X8} found + + + Segmented images are not yet supported. + + + Encrypted images are not yet supported. + + + Nero Burning ROM image + + + Nero version not recognized. + + + Found "CUES" chunk, parsing {0} bytes + + + Cuesheet entry {0} + + + Found "CUEX" chunk, parsing {0} bytes + + + Found "DAOI" chunk, parsing {0} bytes + + + Disc-At-Once entry {0} + + + Found "DAOX" chunk, parsing {0} bytes + + + Found "CDTX" chunk, parsing {0} bytes + + + CD-TEXT entry {0} + + + Found "TINF" chunk, parsing {0} bytes + + + Track-at-Once entry {0} + + + Found "ETNF" chunk, parsing {0} bytes + + + Found "ETN2" chunk, parsing {0} bytes + + + Found "SINF" chunk, parsing {0} bytes + + + Session {0} has {1} tracks + + + Found "MTYP" chunk, parsing {0} bytes + + + Media type is {0} ({1}) + + + Found "DINF" chunk, parsing {0} bytes + + + Found "RELO" chunk, parsing {0} bytes + + + Found "TOCT" chunk, parsing {0} bytes + + + Found "END!" chunk, finishing parse + + + Unknown chunk ID "{0}", skipping... + + + Inconsistent track mode and track sector size found. A best try to fix has been done. It is recommended this disc is dumped with another software. + + + Building offset, track and session maps + + + This image contains a track that is set to start outside the file. + + + Breaking track processing and trying recovery of information. + + + Image corrupted beyond recovery, cannot open. + + + Warning! This image is missing the last 150 sectors. + + + Nero image contains a disc of type {0} + + + Exception occurred opening file. + + + T98-Next NHD r0 Disk Image + + + Parallels disk image + + + Reading BAT + + + Too many sectors for selected cluster size + + + PartClone disk image + + + Reading bytemap {0} bytes + + + Could not find partclone BiTmAgIc, not continuing... + + + Filling extents + + + Took {0} seconds to fill extents + + + Partimage disk image + + + Support for multiple volumes not supported + + + Encrypted images are currently not supported. + + + Cannot find MBRs + + + Cannot find local header + + + Cannot find bitmap + + + Cannot find info block + + + Cannot find data blocks + + + Cannot find tail. Multiple volumes are not supported or image is corrupt. + + + QEMU Copy-On-Write disk image + + + Image size is too small + + + Cluster size must be between 512 bytes and 64 Kbytes + + + L2 size must be between 512 bytes and 64 Kbytes + + + Invalid encryption method + + + AES encrypted images not yet supported + + + Differencing images not yet supported + + + Image is too large + + + Reading L1 table + + + Trying to read past L1 table, position {0} of a max {1} + + + Reading L2 table #{0} + + + Trying to write past L1 table, position {0} of a max {1} + + + QEMU Copy-On-Write disk image v2 + + + Unknown incompatible features {0:X} enabled, not proceeding. + + + QEMU Enhanced Disk image + + + Cluster size must be a power of 2 + + + Cluster size must be between 4 Kbytes and 64 Mbytes + + + Table size must be a power of 2 + + + Table size must be between 1 and 16 clusters + + + Image uses unknown incompatible features {0:X} + + + RS-IDE Hard Disk Image + + + Unsupported media tag {0}. + + + IBM SaveDskF + + + Calculated checksum = 0x{0:X8}, {1} + + + SaveDskF image contains a disk of type {0} + + + SaveDskF comments: {0} + + + Compressed SaveDskF images are not supported. + + + SuperCardPro + + + Track header at {0} contains incorrect signature. + + + Track number at {0} should be {1} but is {2}. + + + Found track {0} at {1}. + + + Found footer at {0} + + + cylinders = {0} + + + T98 Hard Disk Image + + + Sector size {0} is incorrect. + + + (Block pattern decoder): Input data size: {0} bytes + + + (Block pattern decoder): Processed input: {0} bytes + + + (Block pattern decoder): Output data size: {0} bytes + + + (Block pattern decoder): Processed Output: {0} bytes + + + (RLE decoder): Input data size: {0} bytes + + + (RLE decoder): Processed input: {0} bytes + + + (RLE decoder): Output data size: {0} bytes + + + (RLE decoder): Processed Output: {0} bytes + + + Data encoding {0} is incorrect. + + + calculated header crc = 0x{0:X4} + + + Sydex TeleDisk + + + Calculated CRC does not coincide with stored one. + + + Comment header + + + Calculated CRC = 0x{0:X4} + + + Comment + + + Image modified on {0} + + + Parsing image + + + No cylinders or heads found + + + Track follows + + + Track cylinder: {0} + + + Track head: {0} + + + Sectors in track: {0} + + + Track header CRC: 0x{0:X2} (calculated 0x{1:X2}) + + + End of disk image arrived + + + Total of {0} data sectors, for {1} bytes + + + Sector follows + + + AddressMark cylinder: {0} + + + AddressMark head: {0} + + + AddressMark sector number: {0} + + + Sector size: {0} + + + Sector flags: 0x{0:X2} + + + Sector CRC (plus headers): 0x{0:X2} + + + Data size (in-image): {0} + + + Data encoding: 0x{0:X2} + + + Sector {0}:{3}:{4} calculated CRC 0x{1:X2} differs from stored CRC 0x{2:X2} + + + LBA: {0} + + + Sector {0} on cylinder {1} head {2} is duplicate, and marked so + + + Sector {0} on cylinder {1} head {2} is duplicate, but is not marked so + + + TeleDisk image contains a disk of type {0} + + + TeleDisk comments: {0} + + + Apple Universal Disk Image Format + + + Unable to find UDIF signature. + + + Found obsolete UDIF format. + + + Reading resource fork. + + + Image resource fork doesn't contain UDIF block chunks. Please fill an issue and send it to us. + + + Reading property list. + + + Could not parse property list. + + + Parsing property list. + + + Could not retrieve resource fork. + + + Could not retrieve block chunks array. + + + Could not retrieve Name + + + Could not retrieve Data + + + This image needs the resource fork to work. + + + Could not retrieve block chunks. Please fill an issue and send it to us. + + + Chunks compressed with lzfse are not yet supported. + + + zlib exception on chunk starting at sector {0} + + + Tried to rewind, this format rewinded on writing + + + Spectrum Floppy Disk Image + + + VirtualBox Disk Image + + + Support for image type {0} not yet implemented + + + Reading Image Block Map + + + Reading Image Block Map took {0} ms + + + VirtualPC + + + Header checksum = 0x{0:X8}, calculated = 0x{1:X8} + + + (VirtualPC plugin): Both header and footer are corrupt, image cannot be opened. + + + (VirtualPC plugin): Unknown image type {0} found. Please submit a bug with an example image. + + + VirtualBox for unknown OS "{0}" + + + Unknown version 0x{0:X8} + + + 5, 6 or 7 + + + Virtual PC for unknown OS "{0}" + + + Unknown application "{0}" + + + Dynamic header checksum = 0x{0:X8}, calculated = 0x{1:X8} + + + Filling the BAT took {0} seconds + + + Bitmap is {0} sectors + + + Unsupported protocol classified found in URI parent path: "{0}" + + + Possible parent path: "{0}" + + + (VirtualPC plugin): Cannot find parent file for differencing disk image + + + (VirtualPC plugin): Cannot find parent image filter + + + (VirtualPC plugin): Parent image is not a Virtual PC disk image + + + (VirtualPC plugin): Error {0} opening parent disk image + + + (VirtualPC plugin): Parent image is of different size + + + (VirtualPC plugin): Deprecated image type found. Please submit a bug with an example image. + + + Microsoft VHDX + + + VHDX header not found + + + VHDX region table not found + + + Found unsupported and required region Guid {0}, not proceeding with image. + + + BAT not found, cannot continue. + + + Metadata not found, cannot continue. + + + Found unsupported and required metadata Guid {0}, not proceeding with image. + + + File parameters not found. + + + Virtual disk size not found. + + + Logical sector size not found. + + + Physical sector size not found. + + + Found unsupported and required parent locator type {0}, not proceeding with image. + + + Parent locator not found. + + + Image is differential but parent cannot be opened. + + + Reading Sector Bitmap + + + Unsupported sector bitmap block flags (0x{0:X16}) found, not proceeding. + + + Virtual98 Disk Image + + + VMware disk image + + + Type of adapter type. Possible values: ide, lsilogic, buslogic, legacyESX. + + + VDMK hardware version. + + + Use sparse extents. + + + Split data file at 2GiB. + + + Please open VMDK descriptor. + + + Not a descriptor. + + + Did not find any extent + + + Raw device image files are not supported, try accessing the device directly. + + + Dunno how to handle "{0}" extents. + + + Extent file {0} not found. + + + Cannot access NOACCESS extents 😉. + + + Extent {0} is too small. + + + {0} is not an VMware extent. + + + Extent contains incorrect number of sectors, {0}. {1} were expected + + + Compressed extents are not yet supported. + + + There are sparse extents but there is no header to find the grain tables, cannot proceed. + + + Some error occurred setting GD sizes + + + {0} sectors in {1} grains in {2} tables + + + Reading grain directory + + + Reading grain tables + + + Cannot find parent "{0}". + + + Error {0} opening parent "{1}". + + + Invalid adapter type {0} + + + Invalid value for hwversion option + + + Splitted images not yet implemented + + + Invalid value for sparse option + + + Sparse images not yet implemented + + + d2f disk image + + + Detected WC DISK IMAGE with {0} heads, {1} tracks and {2} sectors per track. + + + Extra track 1 (head 0) present, reading + + + Extra track 1 (head 1) present, reading + + + Extra track 2 (head 0) present, reading + + + Extra track 2 (head 1) present, reading + + + Comment present, reading + + + Invalid sector type '{0}' encountered + + + Directory listing present, reading + + + reading bad sector {0} ({1},{2},{3}) + + + Unexpected sector encountered. Found CHS {0},{1},{2} but expected {3},{4},{5} + + + CHS {0},{1},{2}: CRC mismatch: stored CRC=0x{3:x4}, calculated CRC=0x{4:x4} + + + Raw Disk Image + + + Found media tag {0} + + + Raw disk image contains a disk of type {0} + + + The specified sector size does not correspond with the requested image extension. + + \ No newline at end of file diff --git a/Aaru.Images/MaxiDisk/Properties.cs b/Aaru.Images/MaxiDisk/Properties.cs index 5cd0d8931..512453cc5 100644 --- a/Aaru.Images/MaxiDisk/Properties.cs +++ b/Aaru.Images/MaxiDisk/Properties.cs @@ -44,9 +44,9 @@ public sealed partial class MaxiDisk /// public ImageInfo Info => _imageInfo; /// - public string Author => "Natalia Portillo"; + public string Author => Authors.NataliaPortillo; /// - public string Name => "MAXI Disk image"; + public string Name => Localization.MaxiDisk_Name; /// public Guid Id => new("D27D924A-7034-466E-ADE1-B81EF37E469E"); /// diff --git a/Aaru.Images/MaxiDisk/Write.cs b/Aaru.Images/MaxiDisk/Write.cs index ae158a5cd..b5fe7f3a9 100644 --- a/Aaru.Images/MaxiDisk/Write.cs +++ b/Aaru.Images/MaxiDisk/Write.cs @@ -50,21 +50,21 @@ public sealed partial class MaxiDisk if(CountBits.Count(sectorSize) != 1 || sectorSize > 16384) { - ErrorMessage = "Unsupported sector size"; + ErrorMessage = Localization.Unsupported_sector_size; return false; } if(sectors > 90 * 2 * 255) { - ErrorMessage = "Too many sectors"; + ErrorMessage = Localization.Too_many_sectors; return false; } if(!SupportedMediaTypes.Contains(mediaType)) { - ErrorMessage = $"Unsupported media format {mediaType}"; + ErrorMessage = string.Format(Localization.Unsupported_media_format_0, mediaType); return false; } @@ -84,14 +84,14 @@ public sealed partial class MaxiDisk if(_imageInfo.Cylinders > 90) { - ErrorMessage = "Too many cylinders"; + ErrorMessage = Localization.Too_many_cylinders; return false; } if(_imageInfo.Heads > 2) { - ErrorMessage = "Too many heads"; + ErrorMessage = Localization.Too_many_heads; return false; } @@ -102,7 +102,7 @@ public sealed partial class MaxiDisk } catch(IOException e) { - ErrorMessage = $"Could not create new image file, exception {e.Message}"; + ErrorMessage = string.Format(Localization.Could_not_create_new_image_file_exception_0, e.Message); return false; } @@ -116,7 +116,7 @@ public sealed partial class MaxiDisk /// public bool WriteMediaTag(byte[] data, MediaTagType tag) { - ErrorMessage = "Writing media tags is not supported."; + ErrorMessage = Localization.Writing_media_tags_is_not_supported; return false; } @@ -126,21 +126,21 @@ public sealed partial class MaxiDisk { if(!IsWriting) { - ErrorMessage = "Tried to write on a non-writable image"; + ErrorMessage = Localization.Tried_to_write_on_a_non_writable_image; return false; } if(data.Length != 512) { - ErrorMessage = "Incorrect data size"; + ErrorMessage = Localization.Incorrect_data_size; return false; } if(sectorAddress >= _imageInfo.Sectors) { - ErrorMessage = "Tried to write past image size"; + ErrorMessage = Localization.Tried_to_write_past_image_size; return false; } @@ -160,21 +160,21 @@ public sealed partial class MaxiDisk { if(!IsWriting) { - ErrorMessage = "Tried to write on a non-writable image"; + ErrorMessage = Localization.Tried_to_write_on_a_non_writable_image; return false; } if(data.Length % 512 != 0) { - ErrorMessage = "Incorrect data size"; + ErrorMessage = Localization.Incorrect_data_size; return false; } if(sectorAddress + length > _imageInfo.Sectors) { - ErrorMessage = "Tried to write past image size"; + ErrorMessage = Localization.Tried_to_write_past_image_size; return false; } @@ -192,7 +192,7 @@ public sealed partial class MaxiDisk /// public bool WriteSectorLong(byte[] data, ulong sectorAddress) { - ErrorMessage = "Writing sectors with tags is not supported."; + ErrorMessage = Localization.Writing_sectors_with_tags_is_not_supported; return false; } @@ -200,7 +200,7 @@ public sealed partial class MaxiDisk /// public bool WriteSectorsLong(byte[] data, ulong sectorAddress, uint length) { - ErrorMessage = "Writing sectors with tags is not supported."; + ErrorMessage = Localization.Writing_sectors_with_tags_is_not_supported; return false; } @@ -210,7 +210,7 @@ public sealed partial class MaxiDisk { if(!IsWriting) { - ErrorMessage = "Image is not opened for writing"; + ErrorMessage = Localization.Image_is_not_opened_for_writing; return false; } @@ -255,21 +255,21 @@ public sealed partial class MaxiDisk { if(cylinders > 90) { - ErrorMessage = "Too many cylinders."; + ErrorMessage = Localization.Too_many_cylinders; return false; } if(heads > 2) { - ErrorMessage = "Too many heads."; + ErrorMessage = Localization.Too_many_heads; return false; } if(sectorsPerTrack > byte.MaxValue) { - ErrorMessage = "Too many sectors per track."; + ErrorMessage = Localization.Too_many_sectors_per_track; return false; } @@ -284,7 +284,7 @@ public sealed partial class MaxiDisk /// public bool WriteSectorTag(byte[] data, ulong sectorAddress, SectorTagType tag) { - ErrorMessage = "Unsupported feature"; + ErrorMessage = Localization.Unsupported_feature; return false; } @@ -292,7 +292,7 @@ public sealed partial class MaxiDisk /// public bool WriteSectorsTag(byte[] data, ulong sectorAddress, uint length, SectorTagType tag) { - ErrorMessage = "Unsupported feature"; + ErrorMessage = Localization.Unsupported_feature; return false; } diff --git a/Aaru.Images/NDIF/Properties.cs b/Aaru.Images/NDIF/Properties.cs index 39497bb33..b9e09fe8d 100644 --- a/Aaru.Images/NDIF/Properties.cs +++ b/Aaru.Images/NDIF/Properties.cs @@ -42,13 +42,13 @@ public sealed partial class Ndif /// public ImageInfo Info => _imageInfo; /// - public string Name => "Apple New Disk Image Format"; + public string Name => Localization.Ndif_Name; /// public Guid Id => new("5A7FF7D8-491E-458D-8674-5B5EADBECC24"); /// public string Format => "Apple New Disk Image Format"; /// - public string Author => "Natalia Portillo"; + public string Author => Authors.NataliaPortillo; /// public List DumpHardware => null; /// diff --git a/Aaru.Images/NDIF/Read.cs b/Aaru.Images/NDIF/Read.cs index f9684977b..7d924f8d0 100644 --- a/Aaru.Images/NDIF/Read.cs +++ b/Aaru.Images/NDIF/Read.cs @@ -76,8 +76,8 @@ public sealed partial class Ndif } catch(InvalidCastException ex) { - AaruConsole.ErrorWriteLine("Exception trying to open image file {0}", imageFilter.BasePath); - AaruConsole.ErrorWriteLine("Exception: {0}", ex); + AaruConsole.ErrorWriteLine(Localization.Exception_trying_to_open_image_file_0, imageFilter.BasePath); + AaruConsole.ErrorWriteLine(Localization.Exception_0, ex); return ErrorNumber.UnexpectedException; } @@ -145,15 +145,15 @@ public sealed partial class Ndif switch(bChnk.type) { case CHUNK_TYPE_KENCODE: - AaruConsole.ErrorWriteLine("Chunks compressed with KenCode are not yet supported."); + AaruConsole.ErrorWriteLine(Localization.Chunks_compressed_with_KenCode_are_not_yet_supported); return ErrorNumber.NotImplemented; case CHUNK_TYPE_LZH: - AaruConsole.ErrorWriteLine("Chunks compressed with LZH are not yet supported."); + AaruConsole.ErrorWriteLine(Localization.Chunks_compressed_with_LZH_are_not_yet_supported); return ErrorNumber.NotImplemented; case CHUNK_TYPE_STUFFIT: - AaruConsole.ErrorWriteLine("Chunks compressed with StuffIt! are not yet supported."); + AaruConsole.ErrorWriteLine(Localization.Chunks_compressed_with_StuffIt_are_not_yet_supported); return ErrorNumber.NotImplemented; } @@ -162,7 +162,7 @@ public sealed partial class Ndif if(bChnk.type is > CHUNK_TYPE_COPY and < CHUNK_TYPE_KENCODE or > CHUNK_TYPE_ADC and < CHUNK_TYPE_STUFFIT or > CHUNK_TYPE_STUFFIT and < CHUNK_TYPE_END or 1) { - AaruConsole.ErrorWriteLine($"Unsupported chunk type 0x{bChnk.type:X8} found"); + AaruConsole.ErrorWriteLine(string.Format(Localization.Unsupported_chunk_type_0_found, bChnk.type)); return ErrorNumber.InvalidArgument; } @@ -175,14 +175,14 @@ public sealed partial class Ndif if(_header.segmented > 0) { - AaruConsole.ErrorWriteLine("Segmented images are not yet supported."); + AaruConsole.ErrorWriteLine(Localization.Segmented_images_are_not_yet_supported); return ErrorNumber.NotImplemented; } if(_header.encrypted > 0) { - AaruConsole.ErrorWriteLine("Encrypted images are not yet supported."); + AaruConsole.ErrorWriteLine(Localization.Encrypted_images_are_not_yet_supported); return ErrorNumber.NotImplemented; } @@ -243,7 +243,7 @@ public sealed partial class Ndif } } - AaruConsole.DebugWriteLine("NDIF plugin", "Image application = {0} version {1}", _imageInfo.Application, + AaruConsole.DebugWriteLine("NDIF plugin", Localization.Image_application_0_version_1, _imageInfo.Application, _imageInfo.ApplicationVersion); _sectorCache = new Dictionary(); diff --git a/Aaru.Images/NHDr0/Properties.cs b/Aaru.Images/NHDr0/Properties.cs index 5536ca933..642843665 100644 --- a/Aaru.Images/NHDr0/Properties.cs +++ b/Aaru.Images/NHDr0/Properties.cs @@ -42,13 +42,13 @@ namespace Aaru.DiscImages; public sealed partial class Nhdr0 { /// - public string Name => "T98-Next NHD r0 Disk Image"; + public string Name => Localization.Nhdr0_Name; /// public Guid Id => new("6ECACD0A-8F4D-4465-8815-AEA000D370E3"); /// public ImageInfo Info => _imageInfo; /// - public string Author => "Natalia Portillo"; + public string Author => Authors.NataliaPortillo; /// public string Format => "NHDr0 disk image"; /// diff --git a/Aaru.Images/NHDr0/Write.cs b/Aaru.Images/NHDr0/Write.cs index b481f9186..11da0d960 100644 --- a/Aaru.Images/NHDr0/Write.cs +++ b/Aaru.Images/NHDr0/Write.cs @@ -51,14 +51,14 @@ public sealed partial class Nhdr0 { if(sectorSize != 0) { - ErrorMessage = "Unsupported sector size"; + ErrorMessage = Localization.Unsupported_sector_size; return false; } if(!SupportedMediaTypes.Contains(mediaType)) { - ErrorMessage = $"Unsupported media format {mediaType}"; + ErrorMessage = string.Format(Localization.Unsupported_media_format_0, mediaType); return false; } @@ -76,7 +76,7 @@ public sealed partial class Nhdr0 } catch(IOException e) { - ErrorMessage = $"Could not create new image file, exception {e.Message}"; + ErrorMessage = string.Format(Localization.Could_not_create_new_image_file_exception_0, e.Message); return false; } @@ -90,7 +90,7 @@ public sealed partial class Nhdr0 /// public bool WriteMediaTag(byte[] data, MediaTagType tag) { - ErrorMessage = "Writing media tags is not supported."; + ErrorMessage = Localization.Writing_media_tags_is_not_supported; return false; } @@ -100,21 +100,21 @@ public sealed partial class Nhdr0 { if(!IsWriting) { - ErrorMessage = "Tried to write on a non-writable image"; + ErrorMessage = Localization.Tried_to_write_on_a_non_writable_image; return false; } if(data.Length != _imageInfo.SectorSize) { - ErrorMessage = "Incorrect data size"; + ErrorMessage = Localization.Incorrect_data_size; return false; } if(sectorAddress >= _imageInfo.Sectors) { - ErrorMessage = "Tried to write past image size"; + ErrorMessage = Localization.Tried_to_write_past_image_size; return false; } @@ -134,21 +134,21 @@ public sealed partial class Nhdr0 { if(!IsWriting) { - ErrorMessage = "Tried to write on a non-writable image"; + ErrorMessage = Localization.Tried_to_write_on_a_non_writable_image; return false; } if(data.Length % 512 != 0) { - ErrorMessage = "Incorrect data size"; + ErrorMessage = Localization.Incorrect_data_size; return false; } if(sectorAddress + length > _imageInfo.Sectors) { - ErrorMessage = "Tried to write past image size"; + ErrorMessage = Localization.Tried_to_write_past_image_size; return false; } @@ -166,7 +166,7 @@ public sealed partial class Nhdr0 /// public bool WriteSectorLong(byte[] data, ulong sectorAddress) { - ErrorMessage = "Writing sectors with tags is not supported."; + ErrorMessage = Localization.Writing_sectors_with_tags_is_not_supported; return false; } @@ -174,7 +174,7 @@ public sealed partial class Nhdr0 /// public bool WriteSectorsLong(byte[] data, ulong sectorAddress, uint length) { - ErrorMessage = "Writing sectors with tags is not supported."; + ErrorMessage = Localization.Writing_sectors_with_tags_is_not_supported; return false; } @@ -184,7 +184,7 @@ public sealed partial class Nhdr0 { if(!IsWriting) { - ErrorMessage = "Image is not opened for writing"; + ErrorMessage = Localization.Image_is_not_opened_for_writing; return false; } @@ -263,21 +263,21 @@ public sealed partial class Nhdr0 { if(cylinders > int.MaxValue) { - ErrorMessage = "Too many cylinders."; + ErrorMessage = Localization.Too_many_cylinders; return false; } if(heads > short.MaxValue) { - ErrorMessage = "Too many heads."; + ErrorMessage = Localization.Too_many_heads; return false; } if(sectorsPerTrack > short.MaxValue) { - ErrorMessage = "Too many sectors per track."; + ErrorMessage = Localization.Too_many_sectors_per_track; return false; } @@ -292,7 +292,7 @@ public sealed partial class Nhdr0 /// public bool WriteSectorTag(byte[] data, ulong sectorAddress, SectorTagType tag) { - ErrorMessage = "Unsupported feature"; + ErrorMessage = Localization.Unsupported_feature; return false; } @@ -300,7 +300,7 @@ public sealed partial class Nhdr0 /// public bool WriteSectorsTag(byte[] data, ulong sectorAddress, uint length, SectorTagType tag) { - ErrorMessage = "Unsupported feature"; + ErrorMessage = Localization.Unsupported_feature; return false; } diff --git a/Aaru.Images/Nero/Properties.cs b/Aaru.Images/Nero/Properties.cs index 114ee884a..821b63b86 100644 --- a/Aaru.Images/Nero/Properties.cs +++ b/Aaru.Images/Nero/Properties.cs @@ -43,11 +43,11 @@ public sealed partial class Nero /// public ImageInfo Info => _imageInfo; /// - public string Name => "Nero Burning ROM image"; + public string Name => Localization.Nero_Name; /// public Guid Id => new("D160F9FF-5941-43FC-B037-AD81DD141F05"); /// - public string Author => "Natalia Portillo"; + public string Author => Authors.NataliaPortillo; /// public string Format => "Nero Burning ROM"; /// diff --git a/Aaru.Images/Nero/Read.cs b/Aaru.Images/Nero/Read.cs index 46483de0c..8df2d5d1e 100644 --- a/Aaru.Images/Nero/Read.cs +++ b/Aaru.Images/Nero/Read.cs @@ -90,7 +90,7 @@ public sealed partial class Nero _imageNewFormat = true; else { - AaruConsole.DebugWrite("Nero plugin", "Nero version not recognized."); + AaruConsole.DebugWrite("Nero plugin", Localization.Nero_version_not_recognized); return ErrorNumber.NotSupported; } @@ -133,7 +133,7 @@ public sealed partial class Nero { case NERO_CUE_V1: { - AaruConsole.DebugWriteLine("Nero plugin", "Found \"CUES\" chunk, parsing {0} bytes", + AaruConsole.DebugWriteLine("Nero plugin", Localization.Found_CUES_chunk_parsing_0_bytes, chunkLength); var newCuesheetV1 = new CuesheetV1 @@ -158,7 +158,7 @@ public sealed partial class Nero entry.Second = (byte)((((tmpBuffer[6] & 0xF0) >> 4) * 10) + (tmpBuffer[6] & 0xF)); entry.Frame = (byte)((((tmpBuffer[7] & 0xF0) >> 4) * 10) + (tmpBuffer[7] & 0xF)); - AaruConsole.DebugWriteLine("Nero plugin", "Cuesheet entry {0}", (i / 8) + 1); + AaruConsole.DebugWriteLine("Nero plugin", Localization.Cuesheet_entry_0, (i / 8) + 1); AaruConsole.DebugWriteLine("Nero plugin", "\t _entry[{0}].Mode = {1:X2}", (i / 8) + 1, entry.Mode); @@ -194,7 +194,7 @@ public sealed partial class Nero case NERO_CUE_V2: { - AaruConsole.DebugWriteLine("Nero plugin", "Found \"CUEX\" chunk, parsing {0} bytes", + AaruConsole.DebugWriteLine("Nero plugin", Localization.Found_CUEX_chunk_parsing_0_bytes, chunkLength); var newCuesheetV2 = new CuesheetV2 @@ -216,7 +216,7 @@ public sealed partial class Nero entry.Dummy = tmpBuffer[3]; entry.LbaStart = BigEndianBitConverter.ToInt32(tmpBuffer, 4); - AaruConsole.DebugWriteLine("Nero plugin", "Cuesheet entry {0}", (i / 8) + 1); + AaruConsole.DebugWriteLine("Nero plugin", Localization.Cuesheet_entry_0, (i / 8) + 1); AaruConsole.DebugWriteLine("Nero plugin", "\t _entry[{0}].Mode = 0x{1:X2}", (i / 8) + 1, entry.Mode); @@ -246,7 +246,7 @@ public sealed partial class Nero case NERO_DAO_V1: { - AaruConsole.DebugWriteLine("Nero plugin", "Found \"DAOI\" chunk, parsing {0} bytes", + AaruConsole.DebugWriteLine("Nero plugin", Localization.Found_DAOI_chunk_parsing_0_bytes, chunkLength); _neroDaov1 = new DaoV1 @@ -310,7 +310,7 @@ public sealed partial class Nero break; } - AaruConsole.DebugWriteLine("Nero plugin", "Disc-At-Once entry {0}", (i / 32) + 1); + AaruConsole.DebugWriteLine("Nero plugin", Localization.Disc_At_Once_entry_0, (i / 32) + 1); AaruConsole.DebugWriteLine("Nero plugin", "\t _entry[{0}].ISRC = \"{1}\"", (i / 32) + 1, StringHandlers.CToString(entry.Isrc)); @@ -362,7 +362,7 @@ public sealed partial class Nero case NERO_DAO_V2: { - AaruConsole.DebugWriteLine("Nero plugin", "Found \"DAOX\" chunk, parsing {0} bytes", + AaruConsole.DebugWriteLine("Nero plugin", Localization.Found_DAOX_chunk_parsing_0_bytes, chunkLength); _neroDaov2 = new DaoV2 @@ -426,7 +426,7 @@ public sealed partial class Nero break; } - AaruConsole.DebugWriteLine("Nero plugin", "Disc-At-Once entry {0}", (i / 32) + 1); + AaruConsole.DebugWriteLine("Nero plugin", Localization.Disc_At_Once_entry_0, (i / 32) + 1); AaruConsole.DebugWriteLine("Nero plugin", "\t _entry[{0}].ISRC = \"{1}\"", (i / 32) + 1, StringHandlers.CToString(entry.Isrc)); @@ -479,7 +479,7 @@ public sealed partial class Nero case NERO_CDTEXT: { - AaruConsole.DebugWriteLine("Nero plugin", "Found \"CDTX\" chunk, parsing {0} bytes", + AaruConsole.DebugWriteLine("Nero plugin", Localization.Found_CDTX_chunk_parsing_0_bytes, chunkLength); _cdtxt = new CdText @@ -504,7 +504,7 @@ public sealed partial class Nero Array.Copy(tmpBuffer, 4, entry.Text, 0, 12); entry.Crc = BigEndianBitConverter.ToUInt16(tmpBuffer, 16); - AaruConsole.DebugWriteLine("Nero plugin", "CD-TEXT entry {0}", (i / 18) + 1); + AaruConsole.DebugWriteLine("Nero plugin", Localization.CD_TEXT_entry_0, (i / 18) + 1); AaruConsole.DebugWriteLine("Nero plugin", "\t _entry[{0}].PackType = 0x{1:X2}", (i / 18) + 1, entry.PackType); @@ -532,7 +532,7 @@ public sealed partial class Nero case NERO_TAO_V0: { - AaruConsole.DebugWriteLine("Nero plugin", "Found \"TINF\" chunk, parsing {0} bytes", + AaruConsole.DebugWriteLine("Nero plugin", Localization.Found_TINF_chunk_parsing_0_bytes, chunkLength); oldFormat = true; @@ -555,7 +555,7 @@ public sealed partial class Nero entry.Length = BigEndianBitConverter.ToUInt32(tmpBuffer, 4); entry.Mode = BigEndianBitConverter.ToUInt32(tmpBuffer, 8); - AaruConsole.DebugWriteLine("Nero plugin", "Track-at-Once entry {0}", (i / 20) + 1); + AaruConsole.DebugWriteLine("Nero plugin", Localization.Track_at_Once_entry_0, (i / 20) + 1); AaruConsole.DebugWriteLine("Nero plugin", "\t _entry[{0}].Offset = {1}", (i / 20) + 1, entry.Offset); @@ -597,7 +597,7 @@ public sealed partial class Nero case NERO_TAO_V1: { - AaruConsole.DebugWriteLine("Nero plugin", "Found \"ETNF\" chunk, parsing {0} bytes", + AaruConsole.DebugWriteLine("Nero plugin", Localization.Found_ETNF_chunk_parsing_0_bytes, chunkLength); _taoV1 = new TaoV1 @@ -620,7 +620,7 @@ public sealed partial class Nero entry.StartLba = BigEndianBitConverter.ToUInt32(tmpBuffer, 12); entry.Unknown = BigEndianBitConverter.ToUInt32(tmpBuffer, 16); - AaruConsole.DebugWriteLine("Nero plugin", "Track-at-Once entry {0}", (i / 20) + 1); + AaruConsole.DebugWriteLine("Nero plugin", Localization.Track_at_Once_entry_0, (i / 20) + 1); AaruConsole.DebugWriteLine("Nero plugin", "\t _entry[{0}].Offset = {1}", (i / 20) + 1, entry.Offset); @@ -667,7 +667,7 @@ public sealed partial class Nero case NERO_TAO_V2: { - AaruConsole.DebugWriteLine("Nero plugin", "Found \"ETN2\" chunk, parsing {0} bytes", + AaruConsole.DebugWriteLine("Nero plugin", Localization.Found_ETN2_chunk_parsing_0_bytes, chunkLength); _taoV2 = new TaoV2 @@ -691,7 +691,7 @@ public sealed partial class Nero entry.Unknown = BigEndianBitConverter.ToUInt32(tmpBuffer, 24); entry.Sectors = BigEndianBitConverter.ToUInt32(tmpBuffer, 28); - AaruConsole.DebugWriteLine("Nero plugin", "Track-at-Once entry {0}", (i / 32) + 1); + AaruConsole.DebugWriteLine("Nero plugin", Localization.Track_at_Once_entry_0, (i / 32) + 1); AaruConsole.DebugWriteLine("Nero plugin", "\t _entry[{0}].Offset = {1}", (i / 32) + 1, entry.Offset); @@ -750,7 +750,7 @@ public sealed partial class Nero case NERO_SESSION: { - AaruConsole.DebugWriteLine("Nero plugin", "Found \"SINF\" chunk, parsing {0} bytes", + AaruConsole.DebugWriteLine("Nero plugin", Localization.Found_SINF_chunk_parsing_0_bytes, chunkLength); byte[] tmpBuffer = new byte[4]; @@ -758,8 +758,8 @@ public sealed partial class Nero uint sessionTracks = BigEndianBitConverter.ToUInt32(tmpBuffer, 0); _neroSessions.Add(currentSession, sessionTracks); - AaruConsole.DebugWriteLine("Nero plugin", "\tSession {0} has {1} tracks", currentSession, - sessionTracks); + AaruConsole.DebugWriteLine("Nero plugin", "\t" + Localization.Session_0_has_1_tracks, + currentSession, sessionTracks); currentSession++; @@ -768,7 +768,7 @@ public sealed partial class Nero case NERO_DISC_TYPE: { - AaruConsole.DebugWriteLine("Nero plugin", "Found \"MTYP\" chunk, parsing {0} bytes", + AaruConsole.DebugWriteLine("Nero plugin", Localization.Found_MTYP_chunk_parsing_0_bytes, chunkLength); _mediaType = new MediaType @@ -781,7 +781,7 @@ public sealed partial class Nero _imageStream.EnsureRead(tmpBuffer, 0, 4); _mediaType.Type = BigEndianBitConverter.ToUInt32(tmpBuffer, 0); - AaruConsole.DebugWriteLine("Nero plugin", "\tMedia type is {0} ({1})", + AaruConsole.DebugWriteLine("Nero plugin", "\t" + Localization.Media_type_is_0_1, (NeroMediaTypes)_mediaType.Type, _mediaType.Type); _imageInfo.MediaType = NeroMediaTypeToMediaType((NeroMediaTypes)_mediaType.Type); @@ -791,7 +791,7 @@ public sealed partial class Nero case NERO_DISC_INFO: { - AaruConsole.DebugWriteLine("Nero plugin", "Found \"DINF\" chunk, parsing {0} bytes", + AaruConsole.DebugWriteLine("Nero plugin", Localization.Found_DINF_chunk_parsing_0_bytes, chunkLength); _discInfo = new DiscInformation @@ -812,7 +812,7 @@ public sealed partial class Nero case NERO_RELOCATION: { - AaruConsole.DebugWriteLine("Nero plugin", "Found \"RELO\" chunk, parsing {0} bytes", + AaruConsole.DebugWriteLine("Nero plugin", Localization.Found_RELO_chunk_parsing_0_bytes, chunkLength); _relo = new ReloChunk @@ -832,7 +832,7 @@ public sealed partial class Nero case NERO_TOC: { - AaruConsole.DebugWriteLine("Nero plugin", "Found \"TOCT\" chunk, parsing {0} bytes", + AaruConsole.DebugWriteLine("Nero plugin", Localization.Found_TOCT_chunk_parsing_0_bytes, chunkLength); _toc = new TocChunk @@ -860,7 +860,7 @@ public sealed partial class Nero case NERO_END: { - AaruConsole.DebugWriteLine("Nero plugin", "Found \"END!\" chunk, finishing parse"); + AaruConsole.DebugWriteLine("Nero plugin", Localization.Found_END_chunk_finishing_parse); parsing = false; break; @@ -868,7 +868,7 @@ public sealed partial class Nero default: { - AaruConsole.DebugWriteLine("Nero plugin", "Unknown chunk ID \"{0}\", skipping...", + AaruConsole.DebugWriteLine("Nero plugin", Localization.Unknown_chunk_ID_0_skipping, Encoding.ASCII.GetString(BigEndianBitConverter.GetBytes(chunkId))); _imageStream.Seek(chunkLength, SeekOrigin.Current); @@ -879,8 +879,7 @@ public sealed partial class Nero } if(corruptedTrackMode) - AaruConsole. - ErrorWriteLine("Inconsistent track mode and track sector size found. A best try to fix has been done. It is recommended this disc is dumped with another software."); + AaruConsole.ErrorWriteLine(Localization.Inconsistent_track_mode_and_track_sector_size_found); _imageInfo.HasPartitions = true; _imageInfo.HasSessions = true; @@ -925,7 +924,7 @@ public sealed partial class Nero if(_neroSessions.Count == 0) _neroSessions.Add(1, currentTrack); - AaruConsole.DebugWriteLine("Nero plugin", "Building offset, track and session maps"); + AaruConsole.DebugWriteLine("Nero plugin", Localization.Building_offset_track_and_session_maps); bool onlyOneSession = currentSession is 1 or 2; currentSession = 1; @@ -947,9 +946,11 @@ public sealed partial class Nero { if(neroTrack.Offset >= (_imageNewFormat ? footerV2.FirstChunkOffset : footerV1.FirstChunkOffset)) { - AaruConsole.ErrorWriteLine("This image contains a track that is set to start outside the file."); + AaruConsole.ErrorWriteLine(Localization. + This_image_contains_a_track_that_is_set_to_start_outside_the_file); - AaruConsole.ErrorWriteLine("Breaking track processing and trying recovery of information."); + AaruConsole.ErrorWriteLine(Localization. + Breaking_track_processing_and_trying_recovery_of_information); break; } @@ -1206,7 +1207,7 @@ public sealed partial class Nero // Create partition var partition = new Partition { - Description = $"Track {track.Sequence}", + Description = string.Format(Localization.Track_0, track.Sequence), Size = neroTrack.EndOfTrack - neroTrack.Index1, Name = StringHandlers.CToString(neroTrack.Isrc), Sequence = partitionSequence, @@ -1233,7 +1234,7 @@ public sealed partial class Nero (_imageNewFormat ? footerV2.FirstChunkOffset : footerV1.FirstChunkOffset) % _neroTracks[1].SectorSize != 0) { - AaruConsole.ErrorWriteLine("Image corrupted beyond recovery, cannot open."); + AaruConsole.ErrorWriteLine(Localization.Image_corrupted_beyond_recovery_cannot_open); return ErrorNumber.InvalidArgument; } @@ -1364,7 +1365,7 @@ public sealed partial class Nero // Create partition var partition = new Partition { - Description = $"Track {track.Sequence}", + Description = string.Format(Localization.Track_0, track.Sequence), Length = track.EndSector - track.StartSector + 1, Name = StringHandlers.CToString(_neroTracks[1].Isrc), Sequence = 1, @@ -1385,7 +1386,7 @@ public sealed partial class Nero EndSector = track.EndSector }); - AaruConsole.ErrorWriteLine("Warning! This image is missing the last 150 sectors."); + AaruConsole.ErrorWriteLine(Localization.Warning_This_image_is_missing_the_last_150_sectors); } // MagicISO meets these conditions when disc contains more than 15 tracks and a single session @@ -1478,7 +1479,7 @@ public sealed partial class Nero } _imageInfo.XmlMediaType = XmlMediaType.OpticalDisc; - AaruConsole.VerboseWriteLine("Nero image contains a disc of type {0}", _imageInfo.MediaType); + AaruConsole.VerboseWriteLine(Localization.Nero_image_contains_a_disc_of_type_0, _imageInfo.MediaType); _sectorBuilder = new SectorBuilder(); @@ -1515,7 +1516,7 @@ public sealed partial class Nero } catch { - AaruConsole.DebugWrite("Nero plugin", "Exception occurred opening file."); + AaruConsole.DebugWrite("Nero plugin", Localization.Exception_occurred_opening_file); return ErrorNumber.UnexpectedException; } diff --git a/Aaru.Images/Parallels/Properties.cs b/Aaru.Images/Parallels/Properties.cs index 175efe73e..b0a2fb557 100644 --- a/Aaru.Images/Parallels/Properties.cs +++ b/Aaru.Images/Parallels/Properties.cs @@ -42,13 +42,13 @@ namespace Aaru.DiscImages; public sealed partial class Parallels { /// - public string Name => "Parallels disk image"; + public string Name => Localization.Parallels_Name; /// public Guid Id => new("E314DE35-C103-48A3-AD36-990F68523C46"); /// public ImageInfo Info => _imageInfo; /// - public string Author => "Natalia Portillo"; + public string Author => Authors.NataliaPortillo; /// public string Format => "Parallels"; /// diff --git a/Aaru.Images/Parallels/Read.cs b/Aaru.Images/Parallels/Read.cs index 6cc2dd4d0..4e4a7c954 100644 --- a/Aaru.Images/Parallels/Read.cs +++ b/Aaru.Images/Parallels/Read.cs @@ -72,7 +72,7 @@ public sealed partial class Parallels _extended = _extMagic.SequenceEqual(_pHdr.magic); AaruConsole.DebugWriteLine("Parallels plugin", "pHdr.extended = {0}", _extended); - AaruConsole.DebugWriteLine("Parallels plugin", "Reading BAT"); + AaruConsole.DebugWriteLine("Parallels plugin", Localization.Reading_BAT); _bat = new uint[_pHdr.bat_entries]; byte[] batB = new byte[_pHdr.bat_entries * 4]; stream.EnsureRead(batB, 0, batB.Length); diff --git a/Aaru.Images/Parallels/Write.cs b/Aaru.Images/Parallels/Write.cs index d91c3552c..06aeddbf4 100644 --- a/Aaru.Images/Parallels/Write.cs +++ b/Aaru.Images/Parallels/Write.cs @@ -51,21 +51,21 @@ public sealed partial class Parallels { if(sectorSize != 512) { - ErrorMessage = "Unsupported sector size"; + ErrorMessage = Localization.Unsupported_sector_size; return false; } if(!SupportedMediaTypes.Contains(mediaType)) { - ErrorMessage = $"Unsupported media format {mediaType}"; + ErrorMessage = string.Format(Localization.Unsupported_media_format_0, mediaType); return false; } if(sectors * sectorSize / DEFAULT_CLUSTER_SIZE > uint.MaxValue) { - ErrorMessage = "Too many sectors for selected cluster size"; + ErrorMessage = Localization.Too_many_sectors_for_selected_cluster_size; return false; } @@ -83,7 +83,7 @@ public sealed partial class Parallels } catch(IOException e) { - ErrorMessage = $"Could not create new image file, exception {e.Message}"; + ErrorMessage = string.Format(Localization.Could_not_create_new_image_file_exception_0, e.Message); return false; } @@ -121,7 +121,7 @@ public sealed partial class Parallels /// public bool WriteMediaTag(byte[] data, MediaTagType tag) { - ErrorMessage = "Writing media tags is not supported."; + ErrorMessage = Localization.Writing_media_tags_is_not_supported; return false; } @@ -131,21 +131,21 @@ public sealed partial class Parallels { if(!IsWriting) { - ErrorMessage = "Tried to write on a non-writable image"; + ErrorMessage = Localization.Tried_to_write_on_a_non_writable_image; return false; } if(data.Length != 512) { - ErrorMessage = "Incorrect data size"; + ErrorMessage = Localization.Incorrect_data_size; return false; } if(sectorAddress >= _imageInfo.Sectors) { - ErrorMessage = "Tried to write past image size"; + ErrorMessage = Localization.Tried_to_write_past_image_size; return false; } @@ -183,21 +183,21 @@ public sealed partial class Parallels { if(!IsWriting) { - ErrorMessage = "Tried to write on a non-writable image"; + ErrorMessage = Localization.Tried_to_write_on_a_non_writable_image; return false; } if(data.Length % 512 != 0) { - ErrorMessage = "Incorrect data size"; + ErrorMessage = Localization.Incorrect_data_size; return false; } if(sectorAddress + length > _imageInfo.Sectors) { - ErrorMessage = "Tried to write past image size"; + ErrorMessage = Localization.Tried_to_write_past_image_size; return false; } @@ -223,7 +223,7 @@ public sealed partial class Parallels /// public bool WriteSectorLong(byte[] data, ulong sectorAddress) { - ErrorMessage = "Writing sectors with tags is not supported."; + ErrorMessage = Localization.Writing_sectors_with_tags_is_not_supported; return false; } @@ -231,7 +231,7 @@ public sealed partial class Parallels /// public bool WriteSectorsLong(byte[] data, ulong sectorAddress, uint length) { - ErrorMessage = "Writing sectors with tags is not supported."; + ErrorMessage = Localization.Writing_sectors_with_tags_is_not_supported; return false; } @@ -241,7 +241,7 @@ public sealed partial class Parallels { if(!IsWriting) { - ErrorMessage = "Image is not opened for writing"; + ErrorMessage = Localization.Image_is_not_opened_for_writing; return false; } @@ -306,7 +306,7 @@ public sealed partial class Parallels /// public bool WriteSectorTag(byte[] data, ulong sectorAddress, SectorTagType tag) { - ErrorMessage = "Writing sectors with tags is not supported."; + ErrorMessage = Localization.Writing_sectors_with_tags_is_not_supported; return false; } @@ -314,7 +314,7 @@ public sealed partial class Parallels /// public bool WriteSectorsTag(byte[] data, ulong sectorAddress, uint length, SectorTagType tag) { - ErrorMessage = "Writing sectors with tags is not supported."; + ErrorMessage = Localization.Writing_sectors_with_tags_is_not_supported; return false; } diff --git a/Aaru.Images/PartClone/Properties.cs b/Aaru.Images/PartClone/Properties.cs index 38cbe85b7..a7fd75267 100644 --- a/Aaru.Images/PartClone/Properties.cs +++ b/Aaru.Images/PartClone/Properties.cs @@ -40,13 +40,13 @@ namespace Aaru.DiscImages; public sealed partial class PartClone { /// - public string Name => "PartClone disk image"; + public string Name => Localization.PartClone_Name; /// public Guid Id => new("AB1D7518-B548-4099-A4E2-C29C53DDE0C3"); /// public ImageInfo Info => _imageInfo; /// - public string Author => "Natalia Portillo"; + public string Author => Authors.NataliaPortillo; /// public string Format => "PartClone"; /// diff --git a/Aaru.Images/PartClone/Read.cs b/Aaru.Images/PartClone/Read.cs index cbde95b27..ce407ba9d 100644 --- a/Aaru.Images/PartClone/Read.cs +++ b/Aaru.Images/PartClone/Read.cs @@ -71,7 +71,7 @@ public sealed partial class PartClone AaruConsole.DebugWriteLine("PartClone plugin", "pHdr.usedBlocks = {0}", _pHdr.usedBlocks); _byteMap = new byte[_pHdr.totalBlocks]; - AaruConsole.DebugWriteLine("PartClone plugin", "Reading bytemap {0} bytes", _byteMap.Length); + AaruConsole.DebugWriteLine("PartClone plugin", Localization.Reading_bytemap_0_bytes, _byteMap.Length); stream.EnsureRead(_byteMap, 0, _byteMap.Length); byte[] bitmagic = new byte[8]; @@ -81,7 +81,7 @@ public sealed partial class PartClone if(!_biTmAgIc.SequenceEqual(bitmagic)) { - AaruConsole.ErrorWriteLine("Could not find partclone BiTmAgIc, not continuing..."); + AaruConsole.ErrorWriteLine(Localization.Could_not_find_partclone_BiTmAgIc_not_continuing); return ErrorNumber.InvalidArgument; } @@ -89,7 +89,7 @@ public sealed partial class PartClone _dataOff = stream.Position; AaruConsole.DebugWriteLine("PartClone plugin", "pHdr.dataOff = {0}", _dataOff); - AaruConsole.DebugWriteLine("PartClone plugin", "Filling extents"); + AaruConsole.DebugWriteLine("PartClone plugin", Localization.Filling_extents); DateTime start = DateTime.Now; _extents = new ExtentsULong(); _extentsOff = new Dictionary(); @@ -122,7 +122,8 @@ public sealed partial class PartClone DateTime end = DateTime.Now; - AaruConsole.DebugWriteLine("PartClone plugin", "Took {0} seconds to fill extents", (end - start).TotalSeconds); + AaruConsole.DebugWriteLine("PartClone plugin", Localization.Took_0_seconds_to_fill_extents, + (end - start).TotalSeconds); _sectorCache = new Dictionary(); diff --git a/Aaru.Images/Partimage/Properties.cs b/Aaru.Images/Partimage/Properties.cs index 0a506bfe9..7dc756147 100644 --- a/Aaru.Images/Partimage/Properties.cs +++ b/Aaru.Images/Partimage/Properties.cs @@ -43,11 +43,11 @@ public sealed partial class Partimage public ImageInfo Info => _imageInfo; /// - public string Name => "Partimage disk image"; + public string Name => Localization.Partimage_Name; /// public Guid Id => new("AAFDB99D-2B77-49EA-831C-C9BB58C68C95"); /// - public string Author => "Natalia Portillo"; + public string Author => Authors.NataliaPortillo; /// public string Format => "Partimage"; /// diff --git a/Aaru.Images/Partimage/Read.cs b/Aaru.Images/Partimage/Read.cs index f59babd05..3cf176a65 100644 --- a/Aaru.Images/Partimage/Read.cs +++ b/Aaru.Images/Partimage/Read.cs @@ -71,7 +71,7 @@ public sealed partial class Partimage // TODO: Support multifile volumes if(_cVolumeHeader.volumeNumber > 0) { - AaruConsole.ErrorWriteLine("Support for multiple volumes not supported"); + AaruConsole.ErrorWriteLine(Localization.Support_for_multiple_volumes_not_supported); return ErrorNumber.NotImplemented; } @@ -206,7 +206,7 @@ public sealed partial class Partimage // partimage 0.6.1 does not support them either if(_cMainHeader.dwEncryptAlgo != PEncryption.None) { - AaruConsole.ErrorWriteLine("Encrypted images are currently not supported."); + AaruConsole.ErrorWriteLine(Localization.Encrypted_images_are_currently_not_supported); return ErrorNumber.NotImplemented; } @@ -222,7 +222,7 @@ public sealed partial class Partimage if(!magic.Equals(MAGIC_BEGIN_MBRBACKUP)) { - AaruConsole.ErrorWriteLine("Cannot find MBRs"); + AaruConsole.ErrorWriteLine(Localization.Cannot_find_MBRs); return ErrorNumber.InvalidArgument; } @@ -239,7 +239,7 @@ public sealed partial class Partimage if(!magic.Equals(MAGIC_BEGIN_LOCALHEADER)) { - AaruConsole.ErrorWriteLine("Cannot find local header"); + AaruConsole.ErrorWriteLine(Localization.Cannot_find_local_header); return ErrorNumber.InvalidArgument; } @@ -272,7 +272,7 @@ public sealed partial class Partimage if(!magic.Equals(MAGIC_BEGIN_BITMAP)) { - AaruConsole.ErrorWriteLine("Cannot find bitmap"); + AaruConsole.ErrorWriteLine(Localization.Cannot_find_bitmap); return ErrorNumber.InvalidArgument; } @@ -286,7 +286,7 @@ public sealed partial class Partimage if(!magic.Equals(MAGIC_BEGIN_INFO)) { - AaruConsole.ErrorWriteLine("Cannot find info block"); + AaruConsole.ErrorWriteLine(Localization.Cannot_find_info_block); return ErrorNumber.InvalidArgument; } @@ -300,7 +300,7 @@ public sealed partial class Partimage if(!magic.Equals(MAGIC_BEGIN_DATABLOCKS)) { - AaruConsole.ErrorWriteLine("Cannot find data blocks"); + AaruConsole.ErrorWriteLine(Localization.Cannot_find_data_blocks); return ErrorNumber.InvalidArgument; } @@ -318,12 +318,13 @@ public sealed partial class Partimage if(!magic.Equals(MAGIC_BEGIN_TAIL)) { - AaruConsole.ErrorWriteLine("Cannot find tail. Multiple volumes are not supported or image is corrupt."); + AaruConsole.ErrorWriteLine(Localization. + Cannot_find_tail_Multiple_volumes_are_not_supported_or_image_is_corrupt); return ErrorNumber.InvalidArgument; } - AaruConsole.DebugWriteLine("Partimage plugin", "Filling extents"); + AaruConsole.DebugWriteLine("Partimage plugin", Localization.Filling_extents); DateTime start = DateTime.Now; _extents = new ExtentsULong(); _extentsOff = new Dictionary(); @@ -356,7 +357,8 @@ public sealed partial class Partimage DateTime end = DateTime.Now; - AaruConsole.DebugWriteLine("Partimage plugin", "Took {0} seconds to fill extents", (end - start).TotalSeconds); + AaruConsole.DebugWriteLine("Partimage plugin", Localization.Took_0_seconds_to_fill_extents, + (end - start).TotalSeconds); _sectorCache = new Dictionary(); diff --git a/Aaru.Images/QCOW/Properties.cs b/Aaru.Images/QCOW/Properties.cs index 29b999dc4..cf9bfd261 100644 --- a/Aaru.Images/QCOW/Properties.cs +++ b/Aaru.Images/QCOW/Properties.cs @@ -45,11 +45,11 @@ public sealed partial class Qcow public ImageInfo Info => _imageInfo; /// - public string Name => "QEMU Copy-On-Write disk image"; + public string Name => Localization.Qcow_Name; /// public Guid Id => new("A5C35765-9FE2-469D-BBBF-ACDEBDB7B954"); /// - public string Author => "Natalia Portillo"; + public string Author => Authors.NataliaPortillo; /// public string Format => "QEMU Copy-On-Write"; /// diff --git a/Aaru.Images/QCOW/Read.cs b/Aaru.Images/QCOW/Read.cs index be581619a..da23e6086 100644 --- a/Aaru.Images/QCOW/Read.cs +++ b/Aaru.Images/QCOW/Read.cs @@ -74,21 +74,21 @@ public sealed partial class Qcow if(_qHdr.size <= 1) { - AaruConsole.ErrorWriteLine("Image size is too small"); + AaruConsole.ErrorWriteLine(Localization.Image_size_is_too_small); return ErrorNumber.InvalidArgument; } if(_qHdr.cluster_bits is < 9 or > 16) { - AaruConsole.ErrorWriteLine("Cluster size must be between 512 bytes and 64 Kbytes"); + AaruConsole.ErrorWriteLine(Localization.Cluster_size_must_be_between_512_bytes_and_64_Kbytes); return ErrorNumber.InvalidArgument; } if(_qHdr.l2_bits is < 9 - 3 or > 16 - 3) { - AaruConsole.ErrorWriteLine("L2 size must be between 512 bytes and 64 Kbytes"); + AaruConsole.ErrorWriteLine(Localization.L2_size_must_be_between_512_bytes_and_64_Kbytes); return ErrorNumber.InvalidArgument; } @@ -96,18 +96,18 @@ public sealed partial class Qcow switch(_qHdr.crypt_method) { case > QCOW_ENCRYPTION_AES: - AaruConsole.ErrorWriteLine("Invalid encryption method"); + AaruConsole.ErrorWriteLine(Localization.Invalid_encryption_method); return ErrorNumber.InvalidArgument; case > QCOW_ENCRYPTION_NONE: - AaruConsole.ErrorWriteLine("AES encrypted images not yet supported"); + AaruConsole.ErrorWriteLine(Localization.AES_encrypted_images_not_yet_supported); return ErrorNumber.NotImplemented; } if(_qHdr.backing_file_offset != 0) { - AaruConsole.ErrorWriteLine("Differencing images not yet supported"); + AaruConsole.ErrorWriteLine(Localization.Differencing_images_not_yet_supported); return ErrorNumber.NotImplemented; } @@ -116,7 +116,7 @@ public sealed partial class Qcow if(_qHdr.size > ulong.MaxValue - (ulong)(1 << shift)) { - AaruConsole.ErrorWriteLine("Image is too large"); + AaruConsole.ErrorWriteLine(Localization.Image_is_too_large); return ErrorNumber.InvalidArgument; } @@ -136,7 +136,7 @@ public sealed partial class Qcow stream.Seek((long)_qHdr.l1_table_offset, SeekOrigin.Begin); stream.EnsureRead(l1TableB, 0, (int)_l1Size * 8); _l1Table = MemoryMarshal.Cast(l1TableB).ToArray(); - AaruConsole.DebugWriteLine("QCOW plugin", "Reading L1 table"); + AaruConsole.DebugWriteLine("QCOW plugin", Localization.Reading_L1_table); for(long i = 0; i < _l1Table.LongLength; i++) _l1Table[i] = Swapping.Swap(_l1Table[i]); @@ -220,8 +220,8 @@ public sealed partial class Qcow if((long)l1Off >= _l1Table.LongLength) { AaruConsole.DebugWriteLine("QCOW plugin", - $"Trying to read past L1 table, position {l1Off} of a max {_l1Table.LongLength - }"); + string.Format(Localization.Trying_to_read_past_L1_table_position_0_of_a_max_1, + l1Off, _l1Table.LongLength)); return ErrorNumber.InvalidArgument; } @@ -239,7 +239,7 @@ public sealed partial class Qcow _imageStream.Seek((long)_l1Table[l1Off], SeekOrigin.Begin); byte[] l2TableB = new byte[_l2Size * 8]; _imageStream.EnsureRead(l2TableB, 0, _l2Size * 8); - AaruConsole.DebugWriteLine("QCOW plugin", "Reading L2 table #{0}", l1Off); + AaruConsole.DebugWriteLine("QCOW plugin", Localization.Reading_L2_table_0, l1Off); l2Table = MemoryMarshal.Cast(l2TableB).ToArray(); for(long i = 0; i < l2Table.LongLength; i++) diff --git a/Aaru.Images/QCOW/Write.cs b/Aaru.Images/QCOW/Write.cs index fa9e5df80..d26c650bd 100644 --- a/Aaru.Images/QCOW/Write.cs +++ b/Aaru.Images/QCOW/Write.cs @@ -52,14 +52,14 @@ public sealed partial class Qcow { if(sectorSize != 512) { - ErrorMessage = "Unsupported sector size"; + ErrorMessage = Localization.Unsupported_sector_size; return false; } if(!SupportedMediaTypes.Contains(mediaType)) { - ErrorMessage = $"Unsupported media format {mediaType}"; + ErrorMessage = string.Format(Localization.Unsupported_media_format_0, mediaType); return false; } @@ -67,7 +67,7 @@ public sealed partial class Qcow // TODO: Correct this calculation if(sectors * sectorSize / 65536 > uint.MaxValue) { - ErrorMessage = "Too many sectors for selected cluster size"; + ErrorMessage = Localization.Too_many_sectors_for_selected_cluster_size; return false; } @@ -85,7 +85,7 @@ public sealed partial class Qcow } catch(IOException e) { - ErrorMessage = $"Could not create new image file, exception {e.Message}"; + ErrorMessage = string.Format(Localization.Could_not_create_new_image_file_exception_0, e.Message); return false; } @@ -147,7 +147,7 @@ public sealed partial class Qcow /// public bool WriteMediaTag(byte[] data, MediaTagType tag) { - ErrorMessage = "Writing media tags is not supported."; + ErrorMessage = Localization.Writing_media_tags_is_not_supported; return false; } @@ -157,21 +157,21 @@ public sealed partial class Qcow { if(!IsWriting) { - ErrorMessage = "Tried to write on a non-writable image"; + ErrorMessage = Localization.Tried_to_write_on_a_non_writable_image; return false; } if(data.Length != _imageInfo.SectorSize) { - ErrorMessage = "Incorrect data size"; + ErrorMessage = Localization.Incorrect_data_size; return false; } if(sectorAddress >= _imageInfo.Sectors) { - ErrorMessage = "Tried to write past image size"; + ErrorMessage = Localization.Tried_to_write_past_image_size; return false; } @@ -186,7 +186,8 @@ public sealed partial class Qcow if((long)l1Off >= _l1Table.LongLength) { - ErrorMessage = $"Trying to write past L1 table, position {l1Off} of a max {_l1Table.LongLength}"; + ErrorMessage = string.Format(Localization.Trying_to_write_past_L1_table_position_0_of_a_max_1, l1Off, + _l1Table.LongLength); return false; } @@ -235,21 +236,21 @@ public sealed partial class Qcow { if(!IsWriting) { - ErrorMessage = "Tried to write on a non-writable image"; + ErrorMessage = Localization.Tried_to_write_on_a_non_writable_image; return false; } if(data.Length % _imageInfo.SectorSize != 0) { - ErrorMessage = "Incorrect data size"; + ErrorMessage = Localization.Incorrect_data_size; return false; } if(sectorAddress + length > _imageInfo.Sectors) { - ErrorMessage = "Tried to write past image size"; + ErrorMessage = Localization.Tried_to_write_past_image_size; return false; } @@ -275,7 +276,7 @@ public sealed partial class Qcow /// public bool WriteSectorLong(byte[] data, ulong sectorAddress) { - ErrorMessage = "Writing sectors with tags is not supported."; + ErrorMessage = Localization.Writing_sectors_with_tags_is_not_supported; return false; } @@ -283,7 +284,7 @@ public sealed partial class Qcow /// public bool WriteSectorsLong(byte[] data, ulong sectorAddress, uint length) { - ErrorMessage = "Writing sectors with tags is not supported."; + ErrorMessage = Localization.Writing_sectors_with_tags_is_not_supported; return false; } @@ -293,7 +294,7 @@ public sealed partial class Qcow { if(!IsWriting) { - ErrorMessage = "Image is not opened for writing"; + ErrorMessage = Localization.Image_is_not_opened_for_writing; return false; } @@ -339,7 +340,7 @@ public sealed partial class Qcow /// public bool WriteSectorTag(byte[] data, ulong sectorAddress, SectorTagType tag) { - ErrorMessage = "Writing sectors with tags is not supported."; + ErrorMessage = Localization.Writing_sectors_with_tags_is_not_supported; return false; } @@ -347,7 +348,7 @@ public sealed partial class Qcow /// public bool WriteSectorsTag(byte[] data, ulong sectorAddress, uint length, SectorTagType tag) { - ErrorMessage = "Writing sectors with tags is not supported."; + ErrorMessage = Localization.Writing_sectors_with_tags_is_not_supported; return false; } diff --git a/Aaru.Images/QCOW2/Properties.cs b/Aaru.Images/QCOW2/Properties.cs index c1d2a1263..1897d88d0 100644 --- a/Aaru.Images/QCOW2/Properties.cs +++ b/Aaru.Images/QCOW2/Properties.cs @@ -45,11 +45,11 @@ public sealed partial class Qcow2 public ImageInfo Info => _imageInfo; /// - public string Name => "QEMU Copy-On-Write disk image v2"; + public string Name => Localization.Qcow2_Name; /// public Guid Id => new("F20107CB-95B3-4398-894B-975261F1E8C5"); /// - public string Author => "Natalia Portillo"; + public string Author => Authors.NataliaPortillo; /// public string Format => "QEMU Copy-On-Write"; /// diff --git a/Aaru.Images/QCOW2/Read.cs b/Aaru.Images/QCOW2/Read.cs index 1a5c2f25f..571de898f 100644 --- a/Aaru.Images/QCOW2/Read.cs +++ b/Aaru.Images/QCOW2/Read.cs @@ -86,8 +86,9 @@ public sealed partial class Qcow2 if((_qHdr.features & QCOW_FEATURE_MASK) != 0) { - AaruConsole.ErrorWriteLine($"Unknown incompatible features {_qHdr.features & QCOW_FEATURE_MASK - :X} enabled, not proceeding."); + AaruConsole. + ErrorWriteLine(string.Format(Localization.Unknown_incompatible_features_0_enabled_not_proceeding, + _qHdr.features & QCOW_FEATURE_MASK)); return ErrorNumber.InvalidArgument; } @@ -95,14 +96,14 @@ public sealed partial class Qcow2 if(_qHdr.size <= 1) { - AaruConsole.ErrorWriteLine("Image size is too small"); + AaruConsole.ErrorWriteLine(Localization.Image_size_is_too_small); return ErrorNumber.InvalidArgument; } if(_qHdr.cluster_bits is < 9 or > 16) { - AaruConsole.ErrorWriteLine("Cluster size must be between 512 bytes and 64 Kbytes"); + AaruConsole.ErrorWriteLine(Localization.Cluster_size_must_be_between_512_bytes_and_64_Kbytes); return ErrorNumber.InvalidArgument; } @@ -110,18 +111,18 @@ public sealed partial class Qcow2 switch(_qHdr.crypt_method) { case > QCOW_ENCRYPTION_AES: - AaruConsole.ErrorWriteLine("Invalid encryption method"); + AaruConsole.ErrorWriteLine(Localization.Invalid_encryption_method); return ErrorNumber.InvalidArgument; case > QCOW_ENCRYPTION_NONE: - AaruConsole.ErrorWriteLine("AES encrypted images not yet supported"); + AaruConsole.ErrorWriteLine(Localization.AES_encrypted_images_not_yet_supported); return ErrorNumber.NotImplemented; } if(_qHdr.backing_file_offset != 0) { - AaruConsole.ErrorWriteLine("Differencing images not yet supported"); + AaruConsole.ErrorWriteLine(Localization.Differencing_images_not_yet_supported); return ErrorNumber.NotImplemented; } @@ -141,7 +142,7 @@ public sealed partial class Qcow2 stream.Seek((long)_qHdr.l1_table_offset, SeekOrigin.Begin); stream.EnsureRead(l1TableB, 0, (int)_qHdr.l1_size * 8); _l1Table = MemoryMarshal.Cast(l1TableB).ToArray(); - AaruConsole.DebugWriteLine("QCOW plugin", "Reading L1 table"); + AaruConsole.DebugWriteLine("QCOW plugin", Localization.Reading_L1_table); for(long i = 0; i < _l1Table.LongLength; i++) _l1Table[i] = Swapping.Swap(_l1Table[i]); @@ -223,8 +224,8 @@ public sealed partial class Qcow2 if((long)l1Off >= _l1Table.LongLength) { AaruConsole.DebugWriteLine("QCOW2 plugin", - $"Trying to read past L1 table, position {l1Off} of a max {_l1Table.LongLength - }"); + string.Format(Localization.Trying_to_read_past_L1_table_position_0_of_a_max_1, + l1Off, _l1Table.LongLength)); return ErrorNumber.InvalidArgument; } @@ -242,7 +243,7 @@ public sealed partial class Qcow2 _imageStream.Seek((long)(_l1Table[l1Off] & QCOW_FLAGS_MASK), SeekOrigin.Begin); byte[] l2TableB = new byte[_l2Size * 8]; _imageStream.EnsureRead(l2TableB, 0, _l2Size * 8); - AaruConsole.DebugWriteLine("QCOW plugin", "Reading L2 table #{0}", l1Off); + AaruConsole.DebugWriteLine("QCOW plugin", Localization.Reading_L2_table_0, l1Off); l2Table = MemoryMarshal.Cast(l2TableB).ToArray(); for(long i = 0; i < l2Table.LongLength; i++) diff --git a/Aaru.Images/QCOW2/Write.cs b/Aaru.Images/QCOW2/Write.cs index 2c9a87536..5c0745bdc 100644 --- a/Aaru.Images/QCOW2/Write.cs +++ b/Aaru.Images/QCOW2/Write.cs @@ -52,14 +52,14 @@ public sealed partial class Qcow2 { if(sectorSize != 512) { - ErrorMessage = "Unsupported sector size"; + ErrorMessage = Localization.Unsupported_sector_size; return false; } if(!SupportedMediaTypes.Contains(mediaType)) { - ErrorMessage = $"Unsupported media format {mediaType}"; + ErrorMessage = string.Format(Localization.Unsupported_media_format_0, mediaType); return false; } @@ -67,7 +67,7 @@ public sealed partial class Qcow2 // TODO: Correct this calculation if(sectors * sectorSize / 65536 > uint.MaxValue) { - ErrorMessage = "Too many sectors for selected cluster size"; + ErrorMessage = Localization.Too_many_sectors_for_selected_cluster_size; return false; } @@ -85,7 +85,7 @@ public sealed partial class Qcow2 } catch(IOException e) { - ErrorMessage = $"Could not create new image file, exception {e.Message}"; + ErrorMessage = string.Format(Localization.Could_not_create_new_image_file_exception_0, e.Message); return false; } @@ -175,7 +175,7 @@ public sealed partial class Qcow2 /// public bool WriteMediaTag(byte[] data, MediaTagType tag) { - ErrorMessage = "Writing media tags is not supported."; + ErrorMessage = Localization.Writing_media_tags_is_not_supported; return false; } @@ -185,21 +185,21 @@ public sealed partial class Qcow2 { if(!IsWriting) { - ErrorMessage = "Tried to write on a non-writable image"; + ErrorMessage = Localization.Tried_to_write_on_a_non_writable_image; return false; } if(data.Length != _imageInfo.SectorSize) { - ErrorMessage = "Incorrect data size"; + ErrorMessage = Localization.Incorrect_data_size; return false; } if(sectorAddress >= _imageInfo.Sectors) { - ErrorMessage = "Tried to write past image size"; + ErrorMessage = Localization.Tried_to_write_past_image_size; return false; } @@ -214,7 +214,8 @@ public sealed partial class Qcow2 if((long)l1Off >= _l1Table.LongLength) { - ErrorMessage = $"Trying to write past L1 table, position {l1Off} of a max {_l1Table.LongLength}"; + ErrorMessage = string.Format(Localization.Trying_to_write_past_L1_table_position_0_of_a_max_1, l1Off, + _l1Table.LongLength); return false; } @@ -285,21 +286,21 @@ public sealed partial class Qcow2 { if(!IsWriting) { - ErrorMessage = "Tried to write on a non-writable image"; + ErrorMessage = Localization.Tried_to_write_on_a_non_writable_image; return false; } if(data.Length % _imageInfo.SectorSize != 0) { - ErrorMessage = "Incorrect data size"; + ErrorMessage = Localization.Incorrect_data_size; return false; } if(sectorAddress + length > _imageInfo.Sectors) { - ErrorMessage = "Tried to write past image size"; + ErrorMessage = Localization.Tried_to_write_past_image_size; return false; } @@ -325,7 +326,7 @@ public sealed partial class Qcow2 /// public bool WriteSectorLong(byte[] data, ulong sectorAddress) { - ErrorMessage = "Writing sectors with tags is not supported."; + ErrorMessage = Localization.Writing_sectors_with_tags_is_not_supported; return false; } @@ -333,7 +334,7 @@ public sealed partial class Qcow2 /// public bool WriteSectorsLong(byte[] data, ulong sectorAddress, uint length) { - ErrorMessage = "Writing sectors with tags is not supported."; + ErrorMessage = Localization.Writing_sectors_with_tags_is_not_supported; return false; } @@ -343,7 +344,7 @@ public sealed partial class Qcow2 { if(!IsWriting) { - ErrorMessage = "Image is not opened for writing"; + ErrorMessage = Localization.Image_is_not_opened_for_writing; return false; } @@ -403,7 +404,7 @@ public sealed partial class Qcow2 /// public bool WriteSectorTag(byte[] data, ulong sectorAddress, SectorTagType tag) { - ErrorMessage = "Writing sectors with tags is not supported."; + ErrorMessage = Localization.Writing_sectors_with_tags_is_not_supported; return false; } @@ -411,7 +412,7 @@ public sealed partial class Qcow2 /// public bool WriteSectorsTag(byte[] data, ulong sectorAddress, uint length, SectorTagType tag) { - ErrorMessage = "Writing sectors with tags is not supported."; + ErrorMessage = Localization.Writing_sectors_with_tags_is_not_supported; return false; } diff --git a/Aaru.Images/QED/Properties.cs b/Aaru.Images/QED/Properties.cs index 8cfd56b94..11fdadc74 100644 --- a/Aaru.Images/QED/Properties.cs +++ b/Aaru.Images/QED/Properties.cs @@ -45,11 +45,11 @@ public sealed partial class Qed public ImageInfo Info => _imageInfo; /// - public string Name => "QEMU Enhanced Disk image"; + public string Name => Localization.Qed_Name; /// public Guid Id => new("B9DBB155-A69A-4C10-BF91-96BF431B9BB6"); /// - public string Author => "Natalia Portillo"; + public string Author => Authors.NataliaPortillo; /// public string Format => "QEMU Enhanced Disk"; /// diff --git a/Aaru.Images/QED/Read.cs b/Aaru.Images/QED/Read.cs index 5f2c23ddc..21b2b86fd 100644 --- a/Aaru.Images/QED/Read.cs +++ b/Aaru.Images/QED/Read.cs @@ -72,50 +72,50 @@ public sealed partial class Qed if(_qHdr.image_size <= 1) { - AaruConsole.ErrorWriteLine("Image size is too small"); + AaruConsole.ErrorWriteLine(Localization.Image_size_is_too_small); return ErrorNumber.InvalidArgument; } if(!IsPowerOfTwo(_qHdr.cluster_size)) { - AaruConsole.ErrorWriteLine("Cluster size must be a power of 2"); + AaruConsole.ErrorWriteLine(Localization.Cluster_size_must_be_a_power_of_2); return ErrorNumber.InvalidArgument; } if(_qHdr.cluster_size is < 4096 or > 67108864) { - AaruConsole.ErrorWriteLine("Cluster size must be between 4 Kbytes and 64 Mbytes"); + AaruConsole.ErrorWriteLine(Localization.Cluster_size_must_be_between_4_Kbytes_and_64_Mbytes); return ErrorNumber.InvalidArgument; } if(!IsPowerOfTwo(_qHdr.table_size)) { - AaruConsole.ErrorWriteLine("Table size must be a power of 2"); + AaruConsole.ErrorWriteLine(Localization.Table_size_must_be_a_power_of_2); return ErrorNumber.InvalidArgument; } if(_qHdr.table_size is < 1 or > 16) { - AaruConsole.ErrorWriteLine("Table size must be between 1 and 16 clusters"); + AaruConsole.ErrorWriteLine(Localization.Table_size_must_be_between_1_and_16_clusters); return ErrorNumber.InvalidArgument; } if((_qHdr.features & QED_FEATURE_MASK) > 0) { - AaruConsole.ErrorWriteLine($"Image uses unknown incompatible features {_qHdr.features & QED_FEATURE_MASK - :X}"); + AaruConsole.ErrorWriteLine(string.Format(Localization.Image_uses_unknown_incompatible_features_0, + _qHdr.features & QED_FEATURE_MASK)); return ErrorNumber.InvalidArgument; } if((_qHdr.features & QED_FEATURE_BACKING_FILE) == QED_FEATURE_BACKING_FILE) { - AaruConsole.ErrorWriteLine("Differencing images not yet supported"); + AaruConsole.ErrorWriteLine(Localization.Differencing_images_not_yet_supported); return ErrorNumber.NotImplemented; } @@ -129,7 +129,7 @@ public sealed partial class Qed byte[] l1TableB = new byte[_tableSize * 8]; stream.Seek((long)_qHdr.l1_table_offset, SeekOrigin.Begin); stream.EnsureRead(l1TableB, 0, (int)_tableSize * 8); - AaruConsole.DebugWriteLine("QED plugin", "Reading L1 table"); + AaruConsole.DebugWriteLine("QED plugin", Localization.Reading_L1_table); _l1Table = MemoryMarshal.Cast(l1TableB).ToArray(); _l1Mask = 0; @@ -204,8 +204,8 @@ public sealed partial class Qed if((long)l1Off >= _l1Table.LongLength) { AaruConsole.DebugWriteLine("QED plugin", - $"Trying to read past L1 table, position {l1Off} of a max {_l1Table.LongLength - }"); + string.Format(Localization.Trying_to_read_past_L1_table_position_0_of_a_max_1, + l1Off, _l1Table.LongLength)); return ErrorNumber.InvalidArgument; } @@ -223,7 +223,7 @@ public sealed partial class Qed _imageStream.Seek((long)_l1Table[l1Off], SeekOrigin.Begin); byte[] l2TableB = new byte[_tableSize * 8]; _imageStream.EnsureRead(l2TableB, 0, (int)_tableSize * 8); - AaruConsole.DebugWriteLine("QED plugin", "Reading L2 table #{0}", l1Off); + AaruConsole.DebugWriteLine("QED plugin", Localization.Reading_L2_table_0, l1Off); l2Table = MemoryMarshal.Cast(l2TableB).ToArray(); if(_l2TableCache.Count >= _maxL2TableCache) diff --git a/Aaru.Images/QED/Write.cs b/Aaru.Images/QED/Write.cs index f56313c26..b77037308 100644 --- a/Aaru.Images/QED/Write.cs +++ b/Aaru.Images/QED/Write.cs @@ -52,14 +52,14 @@ public sealed partial class Qed { if(sectorSize != 512) { - ErrorMessage = "Unsupported sector size"; + ErrorMessage = Localization.Unsupported_sector_size; return false; } if(!SupportedMediaTypes.Contains(mediaType)) { - ErrorMessage = $"Unsupported media format {mediaType}"; + ErrorMessage = string.Format(Localization.Unsupported_media_format_0, mediaType); return false; } @@ -67,7 +67,7 @@ public sealed partial class Qed // TODO: Correct this calculation if(sectors * sectorSize / DEFAULT_CLUSTER_SIZE > uint.MaxValue) { - ErrorMessage = "Too many sectors for selected cluster size"; + ErrorMessage = Localization.Too_many_sectors_for_selected_cluster_size; return false; } @@ -85,7 +85,7 @@ public sealed partial class Qed } catch(IOException e) { - ErrorMessage = $"Could not create new image file, exception {e.Message}"; + ErrorMessage = string.Format(Localization.Could_not_create_new_image_file_exception_0, e.Message); return false; } @@ -138,7 +138,7 @@ public sealed partial class Qed /// public bool WriteMediaTag(byte[] data, MediaTagType tag) { - ErrorMessage = "Writing media tags is not supported."; + ErrorMessage = Localization.Writing_media_tags_is_not_supported; return false; } @@ -148,21 +148,21 @@ public sealed partial class Qed { if(!IsWriting) { - ErrorMessage = "Tried to write on a non-writable image"; + ErrorMessage = Localization.Tried_to_write_on_a_non_writable_image; return false; } if(data.Length != _imageInfo.SectorSize) { - ErrorMessage = "Incorrect data size"; + ErrorMessage = Localization.Incorrect_data_size; return false; } if(sectorAddress >= _imageInfo.Sectors) { - ErrorMessage = "Tried to write past image size"; + ErrorMessage = Localization.Tried_to_write_past_image_size; return false; } @@ -177,7 +177,8 @@ public sealed partial class Qed if((long)l1Off >= _l1Table.LongLength) { - ErrorMessage = $"Trying to write past L1 table, position {l1Off} of a max {_l1Table.LongLength}"; + ErrorMessage = string.Format(Localization.Trying_to_write_past_L1_table_position_0_of_a_max_1, l1Off, + _l1Table.LongLength); return false; } @@ -226,21 +227,21 @@ public sealed partial class Qed { if(!IsWriting) { - ErrorMessage = "Tried to write on a non-writable image"; + ErrorMessage = Localization.Tried_to_write_on_a_non_writable_image; return false; } if(data.Length % _imageInfo.SectorSize != 0) { - ErrorMessage = "Incorrect data size"; + ErrorMessage = Localization.Incorrect_data_size; return false; } if(sectorAddress + length > _imageInfo.Sectors) { - ErrorMessage = "Tried to write past image size"; + ErrorMessage = Localization.Tried_to_write_past_image_size; return false; } @@ -266,7 +267,7 @@ public sealed partial class Qed /// public bool WriteSectorLong(byte[] data, ulong sectorAddress) { - ErrorMessage = "Writing sectors with tags is not supported."; + ErrorMessage = Localization.Writing_sectors_with_tags_is_not_supported; return false; } @@ -274,7 +275,7 @@ public sealed partial class Qed /// public bool WriteSectorsLong(byte[] data, ulong sectorAddress, uint length) { - ErrorMessage = "Writing sectors with tags is not supported."; + ErrorMessage = Localization.Writing_sectors_with_tags_is_not_supported; return false; } @@ -284,7 +285,7 @@ public sealed partial class Qed { if(!IsWriting) { - ErrorMessage = "Image is not opened for writing"; + ErrorMessage = Localization.Image_is_not_opened_for_writing; return false; } @@ -317,7 +318,7 @@ public sealed partial class Qed /// public bool WriteSectorTag(byte[] data, ulong sectorAddress, SectorTagType tag) { - ErrorMessage = "Writing sectors with tags is not supported."; + ErrorMessage = Localization.Writing_sectors_with_tags_is_not_supported; return false; } @@ -325,7 +326,7 @@ public sealed partial class Qed /// public bool WriteSectorsTag(byte[] data, ulong sectorAddress, uint length, SectorTagType tag) { - ErrorMessage = "Writing sectors with tags is not supported."; + ErrorMessage = Localization.Writing_sectors_with_tags_is_not_supported; return false; } diff --git a/Aaru.Images/RayDIM/Properties.cs b/Aaru.Images/RayDIM/Properties.cs index afb0181ca..de79bba6a 100644 --- a/Aaru.Images/RayDIM/Properties.cs +++ b/Aaru.Images/RayDIM/Properties.cs @@ -48,7 +48,7 @@ public sealed partial class RayDim /// public ImageInfo Info => _imageInfo; /// - public string Author => "Natalia Portillo"; + public string Author => Authors.NataliaPortillo; /// public string Format => "Ray Arachelian's Disk IMage"; /// diff --git a/Aaru.Images/RayDIM/Write.cs b/Aaru.Images/RayDIM/Write.cs index 64a3e7481..6e85dd01c 100644 --- a/Aaru.Images/RayDIM/Write.cs +++ b/Aaru.Images/RayDIM/Write.cs @@ -51,21 +51,21 @@ public sealed partial class RayDim { if(sectorSize != 512) { - ErrorMessage = "Unsupported sector size"; + ErrorMessage = Localization.Unsupported_sector_size; return false; } if(sectors > 255 * 255 * 255) { - ErrorMessage = "Too many sectors"; + ErrorMessage = Localization.Too_many_sectors; return false; } if(!SupportedMediaTypes.Contains(mediaType)) { - ErrorMessage = $"Unsupported media format {mediaType}"; + ErrorMessage = string.Format(Localization.Unsupported_media_format_0, mediaType); return false; } @@ -89,7 +89,7 @@ public sealed partial class RayDim } catch(IOException e) { - ErrorMessage = $"Could not create new image file, exception {e.Message}"; + ErrorMessage = string.Format(Localization.Could_not_create_new_image_file_exception_0, e.Message); return false; } @@ -103,7 +103,7 @@ public sealed partial class RayDim /// public bool WriteMediaTag(byte[] data, MediaTagType tag) { - ErrorMessage = "Writing media tags is not supported."; + ErrorMessage = Localization.Writing_media_tags_is_not_supported; return false; } @@ -113,21 +113,21 @@ public sealed partial class RayDim { if(!IsWriting) { - ErrorMessage = "Tried to write on a non-writable image"; + ErrorMessage = Localization.Tried_to_write_on_a_non_writable_image; return false; } if(data.Length != 512) { - ErrorMessage = "Incorrect data size"; + ErrorMessage = Localization.Incorrect_data_size; return false; } if(sectorAddress >= _imageInfo.Sectors) { - ErrorMessage = "Tried to write past image size"; + ErrorMessage = Localization.Tried_to_write_past_image_size; return false; } @@ -147,21 +147,21 @@ public sealed partial class RayDim { if(!IsWriting) { - ErrorMessage = "Tried to write on a non-writable image"; + ErrorMessage = Localization.Tried_to_write_on_a_non_writable_image; return false; } if(data.Length % 512 != 0) { - ErrorMessage = "Incorrect data size"; + ErrorMessage = Localization.Incorrect_data_size; return false; } if(sectorAddress + length > _imageInfo.Sectors) { - ErrorMessage = "Tried to write past image size"; + ErrorMessage = Localization.Tried_to_write_past_image_size; return false; } @@ -179,7 +179,7 @@ public sealed partial class RayDim /// public bool WriteSectorLong(byte[] data, ulong sectorAddress) { - ErrorMessage = "Writing sectors with tags is not supported."; + ErrorMessage = Localization.Writing_sectors_with_tags_is_not_supported; return false; } @@ -187,7 +187,7 @@ public sealed partial class RayDim /// public bool WriteSectorsLong(byte[] data, ulong sectorAddress, uint length) { - ErrorMessage = "Writing sectors with tags is not supported."; + ErrorMessage = Localization.Writing_sectors_with_tags_is_not_supported; return false; } @@ -198,7 +198,7 @@ public sealed partial class RayDim /// public bool WriteSectorTag(byte[] data, ulong sectorAddress, SectorTagType tag) { - ErrorMessage = "Unsupported feature"; + ErrorMessage = Localization.Unsupported_feature; return false; } @@ -206,7 +206,7 @@ public sealed partial class RayDim /// public bool WriteSectorsTag(byte[] data, ulong sectorAddress, uint length, SectorTagType tag) { - ErrorMessage = "Unsupported feature"; + ErrorMessage = Localization.Unsupported_feature; return false; } @@ -222,7 +222,7 @@ public sealed partial class RayDim { if(!IsWriting) { - ErrorMessage = "Image is not opened for writing"; + ErrorMessage = Localization.Image_is_not_opened_for_writing; return false; } diff --git a/Aaru.Images/RsIde/Properties.cs b/Aaru.Images/RsIde/Properties.cs index 73a480efe..2d1ccb73b 100644 --- a/Aaru.Images/RsIde/Properties.cs +++ b/Aaru.Images/RsIde/Properties.cs @@ -42,13 +42,13 @@ namespace Aaru.DiscImages; public sealed partial class RsIde { /// - public string Name => "RS-IDE Hard Disk Image"; + public string Name => Localization.RsIde_Name; /// public Guid Id => new("47C3E78D-2BE2-4BA5-AA6B-FEE27C86FC65"); /// public ImageInfo Info => _imageInfo; /// - public string Author => "Natalia Portillo"; + public string Author => Authors.NataliaPortillo; /// public string Format => "RS-IDE disk image"; /// diff --git a/Aaru.Images/RsIde/Write.cs b/Aaru.Images/RsIde/Write.cs index e59be383b..ece233cbe 100644 --- a/Aaru.Images/RsIde/Write.cs +++ b/Aaru.Images/RsIde/Write.cs @@ -53,21 +53,21 @@ public sealed partial class RsIde if(sectorSize != 256 && sectorSize != 512) { - ErrorMessage = "Unsupported sector size"; + ErrorMessage = Localization.Unsupported_sector_size; return false; } if(sectors > 63 * 16 * 1024) { - ErrorMessage = "Too many sectors"; + ErrorMessage = Localization.Too_many_sectors; return false; } if(!SupportedMediaTypes.Contains(mediaType)) { - ErrorMessage = $"Unsupported media format {mediaType}"; + ErrorMessage = string.Format(Localization.Unsupported_media_format_0, mediaType); return false; } @@ -85,7 +85,7 @@ public sealed partial class RsIde } catch(IOException e) { - ErrorMessage = $"Could not create new image file, exception {e.Message}"; + ErrorMessage = string.Format(Localization.Could_not_create_new_image_file_exception_0, e.Message); return false; } @@ -101,14 +101,14 @@ public sealed partial class RsIde { if(tag != MediaTagType.ATA_IDENTIFY) { - ErrorMessage = $"Unsupported media tag {tag}."; + ErrorMessage = string.Format(Localization.Unsupported_media_tag_0, tag); return false; } if(!IsWriting) { - ErrorMessage = "Tried to write on a non-writable image"; + ErrorMessage = Localization.Tried_to_write_on_a_non_writable_image; return false; } @@ -124,21 +124,21 @@ public sealed partial class RsIde { if(!IsWriting) { - ErrorMessage = "Tried to write on a non-writable image"; + ErrorMessage = Localization.Tried_to_write_on_a_non_writable_image; return false; } if(data.Length != _imageInfo.SectorSize) { - ErrorMessage = "Incorrect data size"; + ErrorMessage = Localization.Incorrect_data_size; return false; } if(sectorAddress >= _imageInfo.Sectors) { - ErrorMessage = "Tried to write past image size"; + ErrorMessage = Localization.Tried_to_write_past_image_size; return false; } @@ -158,21 +158,21 @@ public sealed partial class RsIde { if(!IsWriting) { - ErrorMessage = "Tried to write on a non-writable image"; + ErrorMessage = Localization.Tried_to_write_on_a_non_writable_image; return false; } if(data.Length % _imageInfo.SectorSize != 0) { - ErrorMessage = "Incorrect data size"; + ErrorMessage = Localization.Incorrect_data_size; return false; } if(sectorAddress + length > _imageInfo.Sectors) { - ErrorMessage = "Tried to write past image size"; + ErrorMessage = Localization.Tried_to_write_past_image_size; return false; } @@ -190,7 +190,7 @@ public sealed partial class RsIde /// public bool WriteSectorLong(byte[] data, ulong sectorAddress) { - ErrorMessage = "Writing sectors with tags is not supported."; + ErrorMessage = Localization.Writing_sectors_with_tags_is_not_supported; return false; } @@ -198,7 +198,7 @@ public sealed partial class RsIde /// public bool WriteSectorsLong(byte[] data, ulong sectorAddress, uint length) { - ErrorMessage = "Writing sectors with tags is not supported."; + ErrorMessage = Localization.Writing_sectors_with_tags_is_not_supported; return false; } @@ -208,7 +208,7 @@ public sealed partial class RsIde { if(!IsWriting) { - ErrorMessage = "Image is not opened for writing"; + ErrorMessage = Localization.Image_is_not_opened_for_writing; return false; } @@ -338,21 +338,21 @@ public sealed partial class RsIde { if(cylinders > ushort.MaxValue) { - ErrorMessage = "Too many cylinders."; + ErrorMessage = Localization.Too_many_cylinders; return false; } if(heads > ushort.MaxValue) { - ErrorMessage = "Too many heads."; + ErrorMessage = Localization.Too_many_heads; return false; } if(sectorsPerTrack > ushort.MaxValue) { - ErrorMessage = "Too many sectors per track."; + ErrorMessage = Localization.Too_many_sectors_per_track; return false; } @@ -367,7 +367,7 @@ public sealed partial class RsIde /// public bool WriteSectorTag(byte[] data, ulong sectorAddress, SectorTagType tag) { - ErrorMessage = "Unsupported feature"; + ErrorMessage = Localization.Unsupported_feature; return false; } @@ -375,7 +375,7 @@ public sealed partial class RsIde /// public bool WriteSectorsTag(byte[] data, ulong sectorAddress, uint length, SectorTagType tag) { - ErrorMessage = "Unsupported feature"; + ErrorMessage = Localization.Unsupported_feature; return false; } diff --git a/Aaru.Images/SaveDskF/Properties.cs b/Aaru.Images/SaveDskF/Properties.cs index f524d1463..cfd79dd70 100644 --- a/Aaru.Images/SaveDskF/Properties.cs +++ b/Aaru.Images/SaveDskF/Properties.cs @@ -42,15 +42,15 @@ namespace Aaru.DiscImages; public sealed partial class SaveDskF { /// - public string Name => "IBM SaveDskF"; + public string Name => Localization.SaveDskF_Name; /// public Guid Id => new("288CE058-1A51-4034-8C45-5A256CAE1461"); /// public ImageInfo Info => _imageInfo; /// - public string Author => "Natalia Portillo"; + public string Author => Authors.NataliaPortillo; /// - public string Format => "IBM SaveDskF"; + public string Format => Localization.SaveDskF_Name; /// public List DumpHardware => null; /// diff --git a/Aaru.Images/SaveDskF/Read.cs b/Aaru.Images/SaveDskF/Read.cs index e23c387fc..6758549e1 100644 --- a/Aaru.Images/SaveDskF/Read.cs +++ b/Aaru.Images/SaveDskF/Read.cs @@ -97,7 +97,7 @@ public sealed partial class SaveDskF _calculatedChk += (uint)b; } while(b >= 0); - AaruConsole.DebugWriteLine("SaveDskF plugin", "Calculated checksum = 0x{0:X8}, {1}", _calculatedChk, + AaruConsole.DebugWriteLine("SaveDskF plugin", Localization.Calculated_checksum_equals_0_X8_1, _calculatedChk, _calculatedChk == _header.checksum); _imageInfo.Application = "SaveDskF"; @@ -113,15 +113,15 @@ public sealed partial class SaveDskF _imageInfo.XmlMediaType = XmlMediaType.BlockMedia; - AaruConsole.VerboseWriteLine("SaveDskF image contains a disk of type {0}", _imageInfo.MediaType); + AaruConsole.VerboseWriteLine(Localization.SaveDskF_image_contains_a_disk_of_type_0, _imageInfo.MediaType); if(!string.IsNullOrEmpty(_imageInfo.Comments)) - AaruConsole.VerboseWriteLine("SaveDskF comments: {0}", _imageInfo.Comments); + AaruConsole.VerboseWriteLine(Localization.SaveDskF_comments_0, _imageInfo.Comments); // TODO: Support compressed images if(_header.magic == SDF_MAGIC_COMPRESSED) { - AaruConsole.ErrorWriteLine("Compressed SaveDskF images are not supported."); + AaruConsole.ErrorWriteLine(Localization.Compressed_SaveDskF_images_are_not_supported); return ErrorNumber.NotSupported; } diff --git a/Aaru.Images/SaveDskF/Write.cs b/Aaru.Images/SaveDskF/Write.cs index 6a42c92c6..8196d8202 100644 --- a/Aaru.Images/SaveDskF/Write.cs +++ b/Aaru.Images/SaveDskF/Write.cs @@ -47,7 +47,7 @@ public sealed partial class SaveDskF /// public bool WriteMediaTag(byte[] data, MediaTagType tag) { - ErrorMessage = "Writing media tags is not supported."; + ErrorMessage = Localization.Writing_media_tags_is_not_supported; return false; } @@ -57,21 +57,21 @@ public sealed partial class SaveDskF { if(!IsWriting) { - ErrorMessage = "Tried to write on a non-writable image"; + ErrorMessage = Localization.Tried_to_write_on_a_non_writable_image; return false; } if(data.Length != _imageInfo.SectorSize) { - ErrorMessage = "Incorrect data size"; + ErrorMessage = Localization.Incorrect_data_size; return false; } if(sectorAddress >= _imageInfo.Sectors) { - ErrorMessage = "Tried to write past image size"; + ErrorMessage = Localization.Tried_to_write_past_image_size; return false; } @@ -89,21 +89,21 @@ public sealed partial class SaveDskF { if(!IsWriting) { - ErrorMessage = "Tried to write on a non-writable image"; + ErrorMessage = Localization.Tried_to_write_on_a_non_writable_image; return false; } if(data.Length % _imageInfo.SectorSize != 0) { - ErrorMessage = "Incorrect data size"; + ErrorMessage = Localization.Incorrect_data_size; return false; } if(sectorAddress + length > _imageInfo.Sectors) { - ErrorMessage = "Tried to write past image size"; + ErrorMessage = Localization.Tried_to_write_past_image_size; return false; } @@ -119,7 +119,7 @@ public sealed partial class SaveDskF /// public bool WriteSectorLong(byte[] data, ulong sectorAddress) { - ErrorMessage = "Writing sectors with tags is not supported."; + ErrorMessage = Localization.Writing_sectors_with_tags_is_not_supported; return false; } @@ -127,7 +127,7 @@ public sealed partial class SaveDskF /// public bool WriteSectorsLong(byte[] data, ulong sectorAddress, uint length) { - ErrorMessage = "Writing sectors with tags is not supported."; + ErrorMessage = Localization.Writing_sectors_with_tags_is_not_supported; return false; } @@ -137,7 +137,7 @@ public sealed partial class SaveDskF { if(!IsWriting) { - ErrorMessage = "Image is not opened for writing"; + ErrorMessage = Localization.Image_is_not_opened_for_writing; return false; } @@ -207,21 +207,21 @@ public sealed partial class SaveDskF { if(sectorSize == 0) { - ErrorMessage = "Unsupported sector size"; + ErrorMessage = Localization.Unsupported_sector_size; return false; } if(sectors > ushort.MaxValue) { - ErrorMessage = "Too many sectors"; + ErrorMessage = Localization.Too_many_sectors; return false; } if(!SupportedMediaTypes.Contains(mediaType)) { - ErrorMessage = $"Unsupported media format {mediaType}"; + ErrorMessage = string.Format(Localization.Unsupported_media_format_0, mediaType); return false; } @@ -239,7 +239,7 @@ public sealed partial class SaveDskF } catch(IOException e) { - ErrorMessage = $"Could not create new image file, exception {e.Message}"; + ErrorMessage = string.Format(Localization.Could_not_create_new_image_file_exception_0, e.Message); return false; } @@ -270,7 +270,7 @@ public sealed partial class SaveDskF /// public bool WriteSectorTag(byte[] data, ulong sectorAddress, SectorTagType tag) { - ErrorMessage = "Unsupported feature"; + ErrorMessage = Localization.Unsupported_feature; return false; } @@ -278,7 +278,7 @@ public sealed partial class SaveDskF /// public bool WriteSectorsTag(byte[] data, ulong sectorAddress, uint length, SectorTagType tag) { - ErrorMessage = "Unsupported feature"; + ErrorMessage = Localization.Unsupported_feature; return false; } diff --git a/Aaru.Images/SuperCardPro/Properties.cs b/Aaru.Images/SuperCardPro/Properties.cs index 116d0e95f..1648003a2 100644 --- a/Aaru.Images/SuperCardPro/Properties.cs +++ b/Aaru.Images/SuperCardPro/Properties.cs @@ -42,11 +42,11 @@ public sealed partial class SuperCardPro /// public ImageInfo Info => _imageInfo; /// - public string Name => "SuperCardPro"; + public string Name => Localization.SuperCardPro_Name; /// public Guid Id => new("C5D3182E-1D45-4767-A205-E6E5C83444DC"); /// - public string Author => "Natalia Portillo"; + public string Author => Authors.NataliaPortillo; /// public string Format => "SuperCardPro"; /// diff --git a/Aaru.Images/SuperCardPro/Read.cs b/Aaru.Images/SuperCardPro/Read.cs index 978459514..d700ce451 100644 --- a/Aaru.Images/SuperCardPro/Read.cs +++ b/Aaru.Images/SuperCardPro/Read.cs @@ -97,7 +97,8 @@ public sealed partial class SuperCardPro if(!trk.Signature.SequenceEqual(_trkSignature)) { - AaruConsole.DebugWriteLine("SuperCardPro plugin", "Track header at {0} contains incorrect signature.", + AaruConsole.DebugWriteLine("SuperCardPro plugin", + Localization.Track_header_at_0_contains_incorrect_signature, Header.offsets[t]); continue; @@ -105,13 +106,13 @@ public sealed partial class SuperCardPro if(trk.TrackNumber != t) { - AaruConsole.DebugWriteLine("SuperCardPro plugin", "Track number at {0} should be {1} but is {2}.", + AaruConsole.DebugWriteLine("SuperCardPro plugin", Localization.Track_number_at_0_should_be_1_but_is_2, Header.offsets[t], t, trk.TrackNumber); continue; } - AaruConsole.DebugWriteLine("SuperCardPro plugin", "Found track {0} at {1}.", t, Header.offsets[t]); + AaruConsole.DebugWriteLine("SuperCardPro plugin", Localization.Found_track_0_at_1, t, Header.offsets[t]); for(byte r = 0; r < Header.revolutions; r++) { @@ -142,7 +143,8 @@ public sealed partial class SuperCardPro { _scpStream.Seek(-Marshal.SizeOf