Added Dutch, Romanian and Sweden translations.

This commit is contained in:
2019-02-10 22:40:23 +00:00
parent c7c5b586e0
commit 48bedb78d5
7 changed files with 493 additions and 10 deletions

View File

@@ -15,10 +15,13 @@
<e p="Localization.es.resx" t="Include" />
<e p="Localization.fr.resx" t="Include" />
<e p="Localization.it.resx" t="Include" />
<e p="Localization.nl.resx" t="Include" />
<e p="Localization.pt-BR.resx" t="Include" />
<e p="Localization.pt-PT.resx" t="Include" />
<e p="Localization.resx" t="Include" />
<e p="Localization.ro.resx" t="Include" />
<e p="Localization.ru.resx" t="Include" />
<e p="Localization.sv.resx" t="Include" />
</e>
<e p="bin" t="ExcludeRecursive" />
<e p="obj" t="ExcludeRecursive" />

View File

@@ -63,6 +63,9 @@
<EmbeddedResource Include="Properties\Localization.it.resx">
<SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="Properties\Localization.nl.resx">
<SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="Properties\Localization.pt-BR.resx">
<SubType>Designer</SubType>
</EmbeddedResource>
@@ -72,9 +75,15 @@
<EmbeddedResource Include="Properties\Localization.resx">
<SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="Properties\Localization.ro.resx">
<SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="Properties\Localization.ru.resx">
<SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="Properties\Localization.sv.resx">
<SubType>Designer</SubType>
</EmbeddedResource>
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.

View File

@@ -36,6 +36,7 @@ using System.Linq;
using System.Reflection;
using SharpAvi;
using SharpAvi.Output;
// ReSharper disable LocalizableElement
namespace DiscImageChef.VideoNow
@@ -203,7 +204,10 @@ namespace DiscImageChef.VideoNow
}
Console.WriteLine(Localization.FirstFrameFoundAt, framePosition);
Console.WriteLine(framePosition % 2352 == 0 ? Localization.FirstFrameIsAtSectorBoundary : Localization.FirstFrameIsNotAtSectorBoundary);
Console.WriteLine(framePosition % 2352 == 0 ? Localization.FirstFrameIsAtSectorBoundary
: Localization.FirstFrameIsNotAtSectorBoundary);
char progress = ' ';
var aviWriter = new AviWriter(args[0] + ".avi")
@@ -290,7 +294,7 @@ namespace DiscImageChef.VideoNow
if(!buffer.SequenceEqual(frameMarkerToUse))
{
Console.Write("\r \r");
Console.Write("\r \r");
Console.WriteLine(Localization.FrameAndNextAreNotAligned, totalFrames);
long expectedFramePosition = framePosition;
@@ -304,7 +308,7 @@ namespace DiscImageChef.VideoNow
if(buffer.SequenceEqual(frameMarkerToUse))
{
Console.Write("\r \r");
Console.Write("\r \r");
fs.Position = framePosition;
frameBuffer = new byte[19600];
@@ -346,12 +350,14 @@ namespace DiscImageChef.VideoNow
audioStream.WriteBlock(outFs.ToArray(), 0, (int)outFs.Length);
totalFrames++;
Console.Write("\r \r");
Console.Write("\r \r");
Console.WriteLine(Localization.FrameFoundAtPosition, framePosition, totalFrames,
framePosition - expectedFramePosition);
Console.WriteLine(framePosition % 2352 == 0 ? Localization.FrameIsAtSectorBoundary:Localization.FrameIsNotAtSectorBoundary, totalFrames);
Console.
WriteLine(framePosition % 2352 == 0 ? Localization.FrameIsAtSectorBoundary : Localization.FrameIsNotAtSectorBoundary,
totalFrames);
framePosition += 19600;
@@ -366,11 +372,11 @@ namespace DiscImageChef.VideoNow
if(framePosition % 2352 == 0)
{
Console.Write("\r \r");
Console.Write("\r \r");
Console.WriteLine(Localization.FrameIsAtSectorBoundary, totalFrames);
}
Console.Write("\r \r");
Console.Write("\r \r");
fs.Position = framePosition;
frameBuffer = new byte[19600];
fs.Read(frameBuffer, 0, frameBuffer.Length);
@@ -416,7 +422,7 @@ namespace DiscImageChef.VideoNow
framePosition += 19600;
}
Console.Write("\r \r");
Console.Write("\r \r");
Console.WriteLine(Localization.FramesFound, totalFrames);
fs.Close();

View File

@@ -31,5 +31,5 @@ using System.Runtime.InteropServices;
// You can specify all the values or you can default the Build and Revision Numbers
// by using the '*' as shown below:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyFileVersion("1.0.0.0")]
[assembly: AssemblyVersion("1.0.1.0")]
[assembly: AssemblyFileVersion("1.0.1.0")]

View File

@@ -0,0 +1,155 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 1.3
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">1.3</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1">this is my long string</data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
[base64 mime encoded serialized .NET Framework object]
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
[base64 mime encoded string representing a byte array form of the .NET Framework object]
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>1.3</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.3500.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.3500.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<data name="Usage" xml:space="preserve">
<value>Usage: DiscImageChef.VideoNow dump.raw</value>
</data>
<data name="FileDoesNotExist" xml:space="preserve">
<value>Opgegeven bestand kan niet worden gevonden.</value>
</data>
<data name="FileCannotBeOpened" xml:space="preserve">
<value>Kon opgegeven bestand niet openen.</value>
</data>
<data name="FileIsTooBig" xml:space="preserve">
<value>Bestand is te groot, afgebroken.</value>
</data>
<data name="FileName" xml:space="preserve">
<value>Bestand: {0}</value>
</data>
<data name="SearchingFirstFrame" xml:space="preserve">
<value>Eerste frame aan het zoeken....</value>
</data>
<data name="NoFrameFound" xml:space="preserve">
<value>Geen frame gevonden!</value>
</data>
<data name="FirstFrameFoundAt" xml:space="preserve">
<value>Eerste frame gevonden op {0}</value>
</data>
<data name="FirstFrameIsAtSectorBoundary" xml:space="preserve">
<value>Eerste frame is op een sector-grens</value>
</data>
<data name="FirstFrameIsNotAtSectorBoundary" xml:space="preserve">
<value>Eerste frame is niet op een sector-grens</value>
</data>
<data name="ExtractingAudio" xml:space="preserve">
<value>Uitlezen van audio-data {0} </value>
</data>
<data name="LookingForMoreFrames" xml:space="preserve">
<value>Zoekend naar (nog meer) frames {0}</value>
</data>
<data name="FrameAndNextAreNotAligned" xml:space="preserve">
<value>Frame {0} en het volgende frame zijn niet aan elkaar gebonden...</value>
</data>
<data name="FrameFoundAtPosition" xml:space="preserve">
<value>Frame {1} gevonden op {0}, {2} bytes van elkaar verwijderd</value>
</data>
<data name="FrameIsAtSectorBoundary" xml:space="preserve">
<value>Frame {0} is op een sector-grens</value>
</data>
<data name="FrameIsNotAtSectorBoundary" xml:space="preserve">
<value>Frame {0} is niet op een sector-grens</value>
</data>
<data name="FramesFound" xml:space="preserve">
<value>{0} Frames gevonden</value>
</data>
<data name="ExtractingVideo" xml:space="preserve">
<value>Uitlezen van video-data {0} </value>
</data>
</root>

View File

@@ -0,0 +1,155 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 1.3
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">1.3</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1">this is my long string</data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
[base64 mime encoded serialized .NET Framework object]
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
[base64 mime encoded string representing a byte array form of the .NET Framework object]
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>1.3</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.3500.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.3500.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<data name="Usage" xml:space="preserve">
<value>Folosire: DiscImageChef.VideoNow dump.raw</value>
</data>
<data name="FileDoesNotExist" xml:space="preserve">
<value>Fișierul specificat nu există.</value>
</data>
<data name="FileCannotBeOpened" xml:space="preserve">
<value>Fișierul specificat nu poate fi deschis.</value>
</data>
<data name="FileIsTooBig" xml:space="preserve">
<value>Fișierul este prea mare, imposibil de continuat.</value>
</data>
<data name="FileName" xml:space="preserve">
<value>Fișier: {0}</value>
</data>
<data name="SearchingFirstFrame" xml:space="preserve">
<value>Caut primul cadru....</value>
</data>
<data name="NoFrameFound" xml:space="preserve">
<value>Nu am putut găsi nici un cadru!</value>
</data>
<data name="FirstFrameFoundAt" xml:space="preserve">
<value>Primul cardu a fost găsit la {0}</value>
</data>
<data name="FirstFrameIsAtSectorBoundary" xml:space="preserve">
<value>Primul cadru este la limita sectorului</value>
</data>
<data name="FirstFrameIsNotAtSectorBoundary" xml:space="preserve">
<value>Primul cadru nu este la limita sectorului</value>
</data>
<data name="ExtractingAudio" xml:space="preserve">
<value>Extrag audio {0} </value>
</data>
<data name="LookingForMoreFrames" xml:space="preserve">
<value>Caut mai multe cardre {0}</value>
</data>
<data name="FrameAndNextAreNotAligned" xml:space="preserve">
<value>Cadrul {0} și următorul nu sunt aliniate...</value>
</data>
<data name="FrameFoundAtPosition" xml:space="preserve">
<value>Cadrul {1} găsit la {0}, {2} bytes distanta</value>
</data>
<data name="FrameIsAtSectorBoundary" xml:space="preserve">
<value>Cadrul {0} este la limita sectorului</value>
</data>
<data name="FrameIsNotAtSectorBoundary" xml:space="preserve">
<value>Cadrul nu este la limita secorului</value>
</data>
<data name="FramesFound" xml:space="preserve">
<value>{0} cadre găsite</value>
</data>
<data name="ExtractingVideo" xml:space="preserve">
<value>Extrag video {0} </value>
</data>
</root>

View File

@@ -0,0 +1,155 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 1.3
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">1.3</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1">this is my long string</data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
[base64 mime encoded serialized .NET Framework object]
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
[base64 mime encoded string representing a byte array form of the .NET Framework object]
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>1.3</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.3500.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.3500.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<data name="Usage" xml:space="preserve">
<value>Användning: DiscImageChef.VideoNow dump.raw</value>
</data>
<data name="FileDoesNotExist" xml:space="preserve">
<value>Angivna filen finns inte.</value>
</data>
<data name="FileCannotBeOpened" xml:space="preserve">
<value>Kunde inte öppna den angivna filen.</value>
</data>
<data name="FileIsTooBig" xml:space="preserve">
<value>Filen är för stor, avbryter.</value>
</data>
<data name="FileName" xml:space="preserve">
<value>Fil: {0}</value>
</data>
<data name="SearchingFirstFrame" xml:space="preserve">
<value>Söker efter första bilden....</value>
</data>
<data name="NoFrameFound" xml:space="preserve">
<value>Kunde inte hitta några bilder!</value>
</data>
<data name="FirstFrameFoundAt" xml:space="preserve">
<value>Första bilden hittad på {0}</value>
</data>
<data name="FirstFrameIsAtSectorBoundary" xml:space="preserve">
<value>Första bilden funnen vid en sektorgräns</value>
</data>
<data name="FirstFrameIsNotAtSectorBoundary" xml:space="preserve">
<value>Första bilden finns ej vid en sektorgräns</value>
</data>
<data name="ExtractingAudio" xml:space="preserve">
<value>Extraherar audio {0} </value>
</data>
<data name="LookingForMoreFrames" xml:space="preserve">
<value>Letar efter fler bilder {0}</value>
</data>
<data name="FrameAndNextAreNotAligned" xml:space="preserve">
<value>Bild {0} och efterföljade bild är inte inriktad...</value>
</data>
<data name="FrameFoundAtPosition" xml:space="preserve">
<value>Bild {1} funnen på {0}, {2} bytes från varandra</value>
</data>
<data name="FrameIsAtSectorBoundary" xml:space="preserve">
<value>Bild {0} funnen vid en sektorgräns</value>
</data>
<data name="FrameIsNotAtSectorBoundary" xml:space="preserve">
<value>Bild {0} finns ej vid en sektorgräns</value>
</data>
<data name="FramesFound" xml:space="preserve">
<value>{0} bilder funna</value>
</data>
<data name="ExtractingVideo" xml:space="preserve">
<value>Extraherar video {0} </value>
</data>
</root>