lang : Japanese translation. (#144)

* added Japanese translation.
* ArcCPZ.cs add encrypt & encode methods
This commit is contained in:
haniwa55 2018-01-30 00:09:32 +09:00 committed by morkt
parent 482e679e58
commit ac3cb9bc33
4 changed files with 1510 additions and 0 deletions

View File

@ -288,6 +288,38 @@ namespace GameRes.Formats.Purple
} }
} }
void EncryptIndexStage1 (byte[] data, uint key, CmvsScheme scheme)
{
var secret = scheme.Cpz5Secret;
var secret_key = new uint[24];
int secret_length = Math.Min(24, secret.Length);
for (int i = 0; i < secret_length; ++i)
secret_key[i] = secret[i] - key;
int shift = (int)(((key >> 24) ^ (key >> 16) ^ (key >> 8) ^ key ^ 0xB) & 0xF) + 7;
unsafe
{
fixed (byte* raw = data)
{
uint* data32 = (uint*)raw;
int i = 5;
for (int n = data.Length / 4; n > 0; --n)
{
*data32 = (Binary.RotL((*data32 - 0x01010101), shift) - scheme.IndexAddend) ^ secret_key[i];
++data32;
i = (i + 1) % 24;
}
byte* data8 = (byte*)data32;
for (int n = data.Length & 3; n > 0; --n)
{
*data8 = (byte)((*data8 + scheme.IndexSubtrahend) ^ (secret_key[i] >> (n * 4)));
++data8;
i = (i + 1) % 24;
}
}
}
}
void DecryptIndexDirectory (byte[] data, int length, uint[] key) void DecryptIndexDirectory (byte[] data, int length, uint[] key)
{ {
uint seed = 0x76548AEF; uint seed = 0x76548AEF;
@ -313,6 +345,31 @@ namespace GameRes.Formats.Purple
} }
} }
void EncryptIndexDirectory (byte[] data, int length, uint[] key)
{
uint seed = 0x76548AEF;
unsafe
{
fixed (byte* raw = data)
{
uint* data32 = (uint*)raw;
int i;
for (i = 0; i < length / 4; ++i)
{
*data32 = (Binary.RotR(*data32 + seed, 3) + 0x4A91C262) ^ key[i & 3];
++data32;
seed += 0x10FB562A;
}
byte* data8 = (byte*)data32;
for (int j = length & 3; j > 0; --j)
{
*data8 = (byte)((*data8 - 0x37) ^ (key[i++ & 3] >> 6));
++data8;
}
}
}
}
void DecryptIndexEntry (byte[] data, int offset, int length, uint[] key, uint seed) void DecryptIndexEntry (byte[] data, int offset, int length, uint[] key, uint seed)
{ {
if (offset < 0 || offset > data.Length) if (offset < 0 || offset > data.Length)
@ -341,6 +398,34 @@ namespace GameRes.Formats.Purple
} }
} }
void EncryptIndexEntry (byte[] data, int offset, int length, uint[] key, uint seed)
{
if (offset < 0 || offset > data.Length)
throw new ArgumentOutOfRangeException("offset");
if (length < 0 || length > data.Length || length > data.Length - offset)
throw new ArgumentException("length");
unsafe
{
fixed (byte* raw = &data[offset])
{
uint* data32 = (uint*)raw;
int i;
for (i = 0; i < length / 4; ++i)
{
*data32 = (Binary.RotR((*data32 - 0x37A19E8B), 2) + seed) ^ key[i & 3];
++data32;
seed -= 0x139FA9B;
}
byte* data8 = (byte*)data32;
for (int j = length & 3; j > 0; --j)
{
*data8 = (byte)((*data8 - 5) ^ (key[i++ & 3] >> 4));
++data8;
}
}
}
}
byte[] UnpackPs2 (byte[] data) byte[] UnpackPs2 (byte[] data)
{ {
DecryptPs2 (data); DecryptPs2 (data);
@ -411,6 +496,20 @@ namespace GameRes.Formats.Purple
data[i+1] -= data[src++]; data[i+1] -= data[src++];
} }
} }
void EncryptPb3 (byte[] data)
{
byte key1 = data[data.Length - 3];
byte key2 = data[data.Length - 2];
int src = data.Length - 0x2F;
for (int i = 8; i < 0x34; i += 2)
{
data[i] += data[src++];
data[i] ^= key1;
data[i + 1] += data[src++];
data[i + 1] ^= key2;
}
}
} }
internal class Cpz5Decoder internal class Cpz5Decoder
@ -455,6 +554,21 @@ namespace GameRes.Formats.Purple
data[offset+i] = m_decode_table[key ^ data[offset+i]]; data[offset+i] = m_decode_table[key ^ data[offset+i]];
} }
public void Encode (byte[] data, int offset, int length, byte key)
{
for (int i = 0; i < length; ++i)
{
for (int s = 0; s < m_decode_table.Length; s++)
{
if (data[offset+i] == m_decode_table[s])
{
data[offset+i] = (byte)(key ^ s);
break;
}
}
}
}
public void DecryptEntry (byte[] data, uint[] cmvs_md5, uint seed) public void DecryptEntry (byte[] data, uint[] cmvs_md5, uint seed)
{ {
if (null == data) if (null == data)
@ -497,5 +611,57 @@ namespace GameRes.Formats.Purple
} }
} }
} }
public void EncryptEntry (byte[] data, uint[] cmvs_md5, uint seed)
{
if (null == data)
throw new ArgumentNullException("data");
if (null == cmvs_md5 || cmvs_md5.Length < 4)
throw new ArgumentException("cmvs_md5");
int secret_length = Math.Min(m_scheme.Cpz5Secret.Length, 0x10) * sizeof(uint);
byte[] key_bytes = new byte[secret_length];
uint key = cmvs_md5[1] >> 2;
Buffer.BlockCopy(m_scheme.Cpz5Secret, 0, key_bytes, 0, secret_length);
for (int i = 0; i < secret_length; ++i)
key_bytes[i] = (byte)(key ^ m_decode_table[key_bytes[i]]);
uint[] secret_key = new uint[0x10];
Buffer.BlockCopy(key_bytes, 0, secret_key, 0, secret_length);
for (int i = 0; i < secret_key.Length; ++i)
secret_key[i] ^= seed;
unsafe
{
fixed (byte* raw = data)
{
uint* data32 = (uint*)raw;
key = m_scheme.EntryInitKey;
int k = m_scheme.EntryKeyPos;
for (int i = data.Length / 4; i > 0; --i)
{
uint backup = *data32;
*data32 = (((cmvs_md5[key & 3] ^ *data32) + seed) ^ (secret_key[k] >> 1)) ^ secret_key[(key >> 6) & 0xf];
k = (k + 1) & 0xf;
key += seed + backup;
++data32;
}
byte* data8 = (byte*)data32;
for (int i = data.Length & 3; i > 0; --i)
{
for (int s = 0; s < m_decode_table.Length; s++)
{
if (*data8 == m_decode_table[s])
{
*data8 = (byte)(s ^ m_scheme.EntryTailKey);
break;
}
}
++data8;
}
}
}
}
} }
} }

View File

@ -0,0 +1,494 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
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">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</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.Runtime.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:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<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" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</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>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<data name="AMIBaseArchive" xml:space="preserve">
<value>ベースとなるアーカイブを指定する</value>
<comment>Base archive</comment>
</data>
<data name="AMIBaseTooltip" xml:space="preserve">
<value>新しいアーカイブには、ベースとなるアーカイブのエントリも含まれます。</value>
<comment>New archive will also contain entries from the base archive.</comment>
</data>
<data name="AMIChooseBase" xml:space="preserve">
<value>ベースとなるアーカイブを選択してください。</value>
<comment>Select base archive</comment>
</data>
<data name="AMIDescription" xml:space="preserve">
<value>Amaterasu Translations Muv-Luv archive</value>
<comment>Amaterasu Translations Muv-Luv archive</comment>
</data>
<data name="AMINoFiles" xml:space="preserve">
<value>AMIアーカイブに適切なファイルは見つかりませんでした。</value>
<comment>No files suitable for AMI archive found.</comment>
</data>
<data name="ArcEncryptedNotice" xml:space="preserve">
<value>アーカイブコンテンツは暗号化されています。
タイトルもしくは適切な暗号化方式を選択してください。</value>
<comment>Archive content is encrypted.
Choose appropriate encryption scheme.</comment>
</data>
<data name="ArcNoEncryption" xml:space="preserve">
<value>暗号化なし</value>
<comment>no encryption</comment>
</data>
<data name="ArcReset" xml:space="preserve">
<value>リセット</value>
<comment>Reset</comment>
</data>
<data name="GRPDescription" xml:space="preserve">
<value>独自のイメージ形式</value>
<comment>âge proprietary image format</comment>
</data>
<data name="GSCDescription" xml:space="preserve">
<value>Liar-soft proprietary script format</value>
<comment>Liar-soft proprietary script format</comment>
</data>
<data name="INTCreationNotice" xml:space="preserve">
<value>暗号化アーカイブの作成は実装されていません。</value>
<comment>Encrypted archives creation is not implemented.</comment>
</data>
<data name="INTDescription" xml:space="preserve">
<value>CatSystem2 engine resource archive</value>
<comment>CatSystem2 engine resource archive</comment>
</data>
<data name="INTKeyRequirement" xml:space="preserve">
<value>数値鍵は32ビットの16進数でなければなりません。</value>
<comment>Numeric key should be a 32-bit hexadecimal integer</comment>
</data>
<data name="INTLabelNumericKey" xml:space="preserve">
<value>数値鍵</value>
<comment>Numeric key</comment>
</data>
<data name="INTNotice" xml:space="preserve">
<value>アーカイブフォルダは暗号化されています。</value>
<comment>Archive directory is encrypted.</comment>
</data>
<data name="KogadoDescription" xml:space="preserve">
<value>Kogado game engine resource archive</value>
<comment>Kogado game engine resource archive</comment>
</data>
<data name="LabelPassphrase" xml:space="preserve">
<value>パスフレーズ</value>
<comment>Passphrase</comment>
</data>
<data name="LabelScheme" xml:space="preserve">
<value>方式</value>
<comment>Scheme</comment>
</data>
<data name="LWGDescription" xml:space="preserve">
<value>Liar-soft image archive</value>
<comment>Liar-soft image archive</comment>
</data>
<data name="MsgAddingFile" xml:space="preserve">
<value>ファイルを追加中</value>
<comment>Adding file</comment>
</data>
<data name="MsgCalculatingChecksum" xml:space="preserve">
<value>チェックサムの計算中...</value>
<comment>Calculating checksum...</comment>
</data>
<data name="MsgCompressingIndex" xml:space="preserve">
<value>インデックスの圧縮中...</value>
<comment>Compressing index...</comment>
</data>
<data name="MsgCreationKeyRequired" xml:space="preserve">
<value>アーカイブ作成に必要な暗号鍵。</value>
<comment>Encryption key required for archive creation.</comment>
</data>
<data name="MsgEncNotImplemented" xml:space="preserve">
<value>暗号化メソッドが実装されていません。</value>
<comment>Encryption method not implemented</comment>
</data>
<data name="MsgExtensionTooLong" xml:space="preserve">
<value>ファイル名の拡張子が長すぎます。</value>
<comment>File name extension too long.</comment>
</data>
<data name="MsgFileNameTooLong" xml:space="preserve">
<value>ファイル名が長すぎます。</value>
<comment>File name is too long</comment>
</data>
<data name="MsgIllegalCharacters" xml:space="preserve">
<value>ファイル名に不正な文字が含まれています。</value>
<comment>File name contains illegal characters</comment>
</data>
<data name="MsgInvalidImageFormat" xml:space="preserve">
<value>{0}: 認識できないイメージ形式です。</value>
<comment>{0}: image format not recognized.</comment>
</data>
<data name="MsgInvalidVersion" xml:space="preserve">
<value>指定されたアーカイブversionが無効です。</value>
<comment>Invalid archive version specified.</comment>
</data>
<data name="MsgNoExtension" xml:space="preserve">
<value>ファイル名に拡張子がありません。</value>
<comment>File name without extension.</comment>
</data>
<data name="MsgTooManyFiles" xml:space="preserve">
<value>ファイル数がアーカイブの上限を超えています。</value>
<comment>Number of files exceedes archive limit.</comment>
</data>
<data name="MsgUpdatingIndex" xml:space="preserve">
<value>インデックスの更新中...</value>
<comment>Updating index...</comment>
</data>
<data name="MsgWritingIndex" xml:space="preserve">
<value>インデックスを作成中...</value>
<comment>Writing index...</comment>
</data>
<data name="NPACompressContents" xml:space="preserve">
<value>コンテンツを圧縮する</value>
<comment>Compress contents</comment>
</data>
<data name="NPADescription" xml:space="preserve">
<value>Nitro+ resource archive</value>
<comment>Nitro+ resource archive</comment>
</data>
<data name="NPAKeys" xml:space="preserve">
<value>暗号鍵
(コンテンツが暗号化されていなくても必要です)</value>
<comment>Encryption keys
(required even if contents is not encrypted)</comment>
</data>
<data name="NPASteinsGateDescription" xml:space="preserve">
<value>Nitro+ Steins;Gate resource archive</value>
<comment>Nitro+ Steins;Gate resource archive</comment>
</data>
<data name="NSADescription" xml:space="preserve">
<value>NScripter アーカイブ形式</value>
<comment>NScripter game engine resource archive</comment>
</data>
<data name="ONSArchiveType" xml:space="preserve">
<value>アーカイブタイプ</value>
<comment>Archive type</comment>
</data>
<data name="ONSCompression" xml:space="preserve">
<value>圧縮</value>
<comment>Compression</comment>
</data>
<data name="ONSCompressionNone" xml:space="preserve">
<value>圧縮なし</value>
<comment>None</comment>
</data>
<data name="PDDescription" xml:space="preserve">
<value>Flying Shine resource archive</value>
<comment>Flying Shine resource archive</comment>
</data>
<data name="PDScrambleContents" xml:space="preserve">
<value>コンテンツのスクランブル化</value>
<comment>Scramble contents</comment>
</data>
<data name="RPADescription" xml:space="preserve">
<value>Ren'Py game engine archive</value>
<comment>Ren'Py game engine archive</comment>
</data>
<data name="RPALabelKey" xml:space="preserve">
<value>32ビットの暗号鍵</value>
<comment>32-bit key</comment>
</data>
<data name="SCRDescription" xml:space="preserve">
<value>Amaterasu Translations Muv-Luv script file</value>
<comment>Amaterasu Translations Muv-Luv script file</comment>
</data>
<data name="SGLabelEncoding" xml:space="preserve">
<value>ファイル名エンコーディング</value>
<comment>Filename encoding</comment>
</data>
<data name="TooltipHex" xml:space="preserve">
<value>16進数</value>
<comment>Hex number</comment>
</data>
<data name="WARCLabelLength" xml:space="preserve">
<value>最大ファイル名の長さ
(拡張子を含まない)</value>
<comment>Maximum file name length
(not including extension)</comment>
</data>
<data name="XFLDescription" xml:space="preserve">
<value>Liar-soft game resource archive</value>
<comment>Liar-soft game resource archive</comment>
</data>
<data name="XP3CompressContents" xml:space="preserve">
<value>コンテンツを圧縮する</value>
<comment>Compress contents</comment>
</data>
<data name="XP3CompressHeader" xml:space="preserve">
<value>フォルダを圧縮する</value>
<comment>Compress directory</comment>
</data>
<data name="XP3Description" xml:space="preserve">
<value>KiriKiri game engine resource archive</value>
<comment>KiriKiri game engine resource archive</comment>
</data>
<data name="XP3LabelVersion" xml:space="preserve">
<value>Version</value>
<comment>Version</comment>
</data>
<data name="XP3RetainStructure" xml:space="preserve">
<value>フォルダ構造を保持する</value>
<comment>Retain directory structure</comment>
</data>
<data name="YPFDescription" xml:space="preserve">
<value>Yu-Ris game engine resource archive</value>
<comment>Yu-Ris game engine resource archive</comment>
</data>
<data name="YPFLabelKey" xml:space="preserve">
<value>8ビットの暗号鍵</value>
<comment>8-bit encryption key</comment>
</data>
<data name="YPFLabelVersion" xml:space="preserve">
<value>アーカイブ Version</value>
<comment>Archive version</comment>
</data>
<data name="YPFNotice" xml:space="preserve">
<value>アーカイブフォルダは暗号化されています。
適切な暗号化方式を選択してください。</value>
<comment>Archive directory is encrypted.
Choose appropriate encryption scheme.</comment>
</data>
<data name="LabelEncScheme" xml:space="preserve">
<value>暗号化方式</value>
<comment>Encryption scheme</comment>
</data>
<data name="DPKKeys" xml:space="preserve">
<value>暗号鍵</value>
<comment>Encryption keys</comment>
</data>
<data name="ArcDefault" xml:space="preserve">
<value>デフォルト</value>
<comment>Default</comment>
</data>
<data name="ArcHex32Bit" xml:space="preserve">
<value>32ビットの16進数</value>
<comment>32-bit hex number</comment>
</data>
<data name="KCAPDefault" xml:space="preserve">
<value>デフォルト</value>
<comment>Default</comment>
</data>
<data name="MBLNotice" xml:space="preserve">
<value>アーカイブはスクリプトにより暗号化されています。
暗号化方式を選択するか、パスフレーズを入力してください。</value>
<comment>Archive contains encrypted scripts.
Choose encryption scheme or enter a passphrase.</comment>
</data>
<data name="RCTChoose" xml:space="preserve">
<value>タイトルを選択するか、パスワードを入力してください。</value>
<comment>Choose title or enter a password</comment>
</data>
<data name="NSAChoose" xml:space="preserve">
<value>タイトルを選択するか、パスワードを入力してください。</value>
<comment>Choose title or enter a password</comment>
</data>
<data name="RPMEncryptedNotice" xml:space="preserve">
<value>ファイルはRPMアーカイブ形式に近いですが、
暗号鍵の推測は失敗しました。
適切な暗号化方式を選択します。</value>
<comment>File resembles RPM resource archive,
but encryption key guess failed.
Choose appropriate encryption scheme.</comment>
</data>
<data name="QLIEDefaultScheme" xml:space="preserve">
<value>デフォルトの暗号化方式を使用する</value>
<comment>Use default encryption scheme</comment>
</data>
<data name="INTChooseExe" xml:space="preserve">
<value>ゲームの実行ファイルを選択してください。</value>
<comment>Choose game executable file</comment>
</data>
<data name="INTExeButton" xml:space="preserve">
<value>EXE確認</value>
<comment>Check EXE</comment>
</data>
<data name="INTExeFiles" xml:space="preserve">
<value>実行ファイル</value>
<comment>Executable Files</comment>
</data>
<data name="INTMessage1" xml:space="preserve">
<value>「EXE確認」ボタンを押してゲーム実行ファイル内の暗号鍵を探してください。</value>
<comment>Press "Check EXE" button to look for key within game executable file.</comment>
</data>
<data name="INTMessage2" xml:space="preserve">
<value>アーカイブ暗号鍵を入力するか、または定義済みの暗号化方式を選択します。</value>
<comment>Alternatively, enter archive encryption key or choose one of the predefined encryption schemes.</comment>
</data>
<data name="INTKeyNotFound" xml:space="preserve">
<value>{0} 内に暗号鍵が見つかりません。</value>
<comment>Key not found within {0}.</comment>
</data>
<data name="ArcIgnoreEncryption" xml:space="preserve">
<value>暗号化を無視する</value>
<comment>Ignore encryption</comment>
</data>
<data name="ArcImageEncrypted" xml:space="preserve">
<value>イメージは暗号化されています。</value>
<comment>Image is encrypted.</comment>
</data>
<data name="MCGChoose" xml:space="preserve">
<value>タイトルを選択するか、暗号鍵を入力してください。</value>
<comment>Choose title or enter a key</comment>
</data>
<data name="MCGLabelKey" xml:space="preserve">
<value>8ビットの暗号鍵</value>
<comment>8-bit encryption key</comment>
</data>
<data name="MCAEncryptedNotice" xml:space="preserve">
<value>アーカイブコンテンツは暗号化されています。</value>
<comment>Archive content is encrypted.</comment>
</data>
<data name="YPFTryGuess" xml:space="preserve">
<value>推測してください。</value>
<comment>Try to guess</comment>
</data>
<data name="AGSMightBeEncrypted" xml:space="preserve">
<value>アーカイブコンテンツは暗号化されている可能性があります。
適切な暗号化方式を選択してください。</value>
<comment>Archive contents might be encrypted,
choose appropriate encryption scheme.</comment>
</data>
<data name="XP3EncryptedNotice" xml:space="preserve">
<value>アーカイブコンテンツは暗号化されています。
タイトルもしくは適切な暗号化方式を選択してください。</value>
<comment>Archive content could be encrypted.
Choose appropriate encryption scheme.</comment>
</data>
<data name="GALChoose" xml:space="preserve">
<value>タイトルを選択するか、暗号鍵を入力してください。</value>
<comment>Choose title or enter a key</comment>
</data>
<data name="GYUImageEncrypted" xml:space="preserve">
<value>イメージは暗号化されています。
適切な暗号化方式を選択してください。</value>
<comment>Image is encrypted.
Choose appropriate encryption scheme.</comment>
</data>
<data name="FJSYSNotice" xml:space="preserve">
<value>アーカイブはスクリプトにより暗号化されています。
暗号化方式を選択するか、パスフレーズを入力してください。</value>
<comment>Archive contains encrypted scripts.
Choose encryption scheme or enter a passphrase.</comment>
</data>
<data name="RCTApplyMask" xml:space="preserve">
<value>RC8ビットマップから透過データをロードする</value>
<comment>Load transparency data from RC8 bitmap</comment>
</data>
<data name="RCTOverlayFrames" xml:space="preserve">
<value>増分フレームを自動的に結合する</value>
<comment>Automatically combine incremental frames</comment>
</data>
</root>

View File

@ -0,0 +1,694 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
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">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</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.Runtime.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:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<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" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</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>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<data name="ButtonCancel" xml:space="preserve">
<value>キャンセル</value>
<comment>Cancel</comment>
</data>
<data name="ButtonExtract" xml:space="preserve">
<value>抽出</value>
<comment>Extract</comment>
</data>
<data name="ButtonOK" xml:space="preserve">
<value>確認</value>
<comment>OK</comment>
</data>
<data name="CtxMenuClose" xml:space="preserve">
<value>閉じる</value>
<comment>_Close</comment>
</data>
<data name="CtxMenuCopy" xml:space="preserve">
<value>コピー</value>
<comment>Copy</comment>
</data>
<data name="CtxMenuCreate" xml:space="preserve">
<value>アーカイブの作成...</value>
<comment>Create archive...</comment>
</data>
<data name="CtxMenuCut" xml:space="preserve">
<value>カット</value>
<comment>Cut</comment>
</data>
<data name="CtxMenuDelete" xml:space="preserve">
<value>ファイルの削除</value>
<comment>_Delete</comment>
</data>
<data name="CtxMenuExplorer" xml:space="preserve">
<value>エクスプローラーを開く</value>
<comment>Browse in _Explorer</comment>
</data>
<data name="CtxMenuExtract" xml:space="preserve">
<value>アーカイブからファイルの抽出</value>
<comment>Extract</comment>
</data>
<data name="CtxMenuOpen" xml:space="preserve">
<value>アーカイブを開く</value>
<comment>Open</comment>
</data>
<data name="CtxMenuPaste" xml:space="preserve">
<value>ペースト</value>
<comment>Paste</comment>
</data>
<data name="CtxMenuRefresh" xml:space="preserve">
<value>表示の更新</value>
<comment>Refresh</comment>
</data>
<data name="CtxMenuRename" xml:space="preserve">
<value>名前の変更</value>
<comment>_Rename</comment>
</data>
<data name="CtxMenuSortBy" xml:space="preserve">
<value>ファイルの並び順</value>
<comment>Sort by</comment>
</data>
<data name="CtxMenuSortByName" xml:space="preserve">
<value>名前</value>
<comment>Name</comment>
</data>
<data name="CtxMenuSortBySize" xml:space="preserve">
<value>サイズ</value>
<comment>Size</comment>
</data>
<data name="CtxMenuSortByType" xml:space="preserve">
<value>タイプ</value>
<comment>Type</comment>
</data>
<data name="CtxMenuUnsorted" xml:space="preserve">
<value>指定しない</value>
<comment>Unsorted</comment>
</data>
<data name="HeaderName" xml:space="preserve">
<value>名前</value>
<comment>Name</comment>
</data>
<data name="HeaderSize" xml:space="preserve">
<value>サイズ</value>
<comment>Size</comment>
</data>
<data name="HeaderType" xml:space="preserve">
<value>タイプ</value>
<comment>Type</comment>
</data>
<data name="LabelArchiveFormat" xml:space="preserve">
<value>アーカイブ形式</value>
<comment>Archive format</comment>
</data>
<data name="LabelArchiveName" xml:space="preserve">
<value>アーカイブ名</value>
<comment>Archive name</comment>
</data>
<data name="LabelArchiveOptions" xml:space="preserve">
<value>アーカイブオプション</value>
<comment>Archive options</comment>
</data>
<data name="LabelExtractAllTo" xml:space="preserve">
<value>{0} からファイルの抽出先</value>
<comment>Extract files from {0} to</comment>
</data>
<data name="LabelExtractFileTo" xml:space="preserve">
<value>{0} の抽出先</value>
<comment>Extract {0} to</comment>
</data>
<data name="MenuAbout" xml:space="preserve">
<value>GARbroについて</value>
<comment>About Game Resource browser</comment>
</data>
<data name="MsgDeletedItem" xml:space="preserve">
<value>{0} を削除しました。</value>
<comment>Deleted {0}</comment>
</data>
<data name="MsgDirectoryNotFound" xml:space="preserve">
<value>フォルダが見つかりません。</value>
<comment>directory not found</comment>
</data>
<data name="MsgEmptyArchive" xml:space="preserve">
<value>アーカイブは空です。</value>
<comment>archive is empty</comment>
</data>
<data name="MsgErrorExtracting" xml:space="preserve">
<value>ファイルの抽出中にエラーが発生しました。</value>
<comment>Error extracting file</comment>
</data>
<data name="MsgErrorOpening" xml:space="preserve">
<value>ファイルを開く際にエラーが発生しました。</value>
<comment>Error opening file</comment>
</data>
<data name="MsgExtractComplete" xml:space="preserve">
<value>{0} を {1} に抽出しました。</value>
<comment>Extracted {0} into {1}</comment>
</data>
<data name="MsgExtractedFiles1" xml:space="preserve">
<value>{0} ファイル抽出しました。</value>
<comment>Extracted {0} file</comment>
</data>
<data name="MsgExtractingArchive" xml:space="preserve">
<value>{0} からファイルを抽出しています。</value>
<comment>Extracting files from {0}</comment>
</data>
<data name="MsgExtractingFile" xml:space="preserve">
<value>{0} からファイルを抽出しています。</value>
<comment>Extracting file from {0}</comment>
</data>
<data name="MsgExtractingTo" xml:space="preserve">
<value>{0} から {1} にファイルを抽出しています。</value>
<comment>Extracting files from {0} to {1}</comment>
</data>
<data name="MsgImageSize" xml:space="preserve">
<value>イメージ {0} x {1} x {2}bpp</value>
<comment>Image {0} x {1} x {2}bpp</comment>
</data>
<data name="MsgNoFiles" xml:space="preserve">
<value>抽出するファイルがありません。</value>
<comment>no files to extract</comment>
</data>
<data name="MsgReady" xml:space="preserve">
<value>準備完了</value>
<comment>Ready</comment>
</data>
<data name="MsgUnableInterpretImage" xml:space="preserve">
<value>イメージの形式を解読できません。</value>
<comment>unable to interpret image format</comment>
</data>
<data name="MsgVersion" xml:space="preserve">
<value>Version {0}</value>
<comment>Version {0}</comment>
</data>
<data name="TextAboutBuiltin" xml:space="preserve">
<value>[builtin]</value>
<comment>[builtin]</comment>
</data>
<data name="TextAboutArchives" xml:space="preserve">
<value>アーカイブ</value>
<comment>Archives</comment>
</data>
<data name="TextAboutImages" xml:space="preserve">
<value>イメージ</value>
<comment>Images</comment>
</data>
<data name="TextAboutTitle" xml:space="preserve">
<value>GARbroについて</value>
<comment>About Game Resource browser</comment>
</data>
<data name="TextAllFiles" xml:space="preserve">
<value>全てのファイル</value>
<comment>All Files</comment>
</data>
<data name="TextAsIs" xml:space="preserve">
<value>同じ形式</value>
<comment>as is</comment>
</data>
<data name="TextChooseArchive" xml:space="preserve">
<value>アーカイブの選択</value>
<comment>Choose archive location</comment>
</data>
<data name="TextChooseDestDir" xml:space="preserve">
<value>抽出先フォルダを選択してください</value>
<comment>Choose destination directory</comment>
</data>
<data name="TextCreateArchive" xml:space="preserve">
<value>アーカイブの作成</value>
<comment>Create archive</comment>
</data>
<data name="TextCreateArchiveError" xml:space="preserve">
<value>アーカイブの作成エラー</value>
<comment>Archive creation error</comment>
</data>
<data name="Type_directory" xml:space="preserve">
<value>&lt;DIR&gt;</value>
<comment>&lt;DIR&gt;</comment>
</data>
<data name="TextEncoding" xml:space="preserve">
<value>テキストエンコーディング</value>
<comment>Text encoding</comment>
</data>
<data name="TextExtractImages" xml:space="preserve">
<value>イメージの抽出</value>
<comment>Extract images</comment>
</data>
<data name="TextExtractText" xml:space="preserve">
<value>テキストの抽出</value>
<comment>Extract text</comment>
</data>
<data name="TextExtractTitle" xml:space="preserve">
<value>アーカイブからファイルの抽出</value>
<comment>Extract from archive</comment>
</data>
<data name="TextParametersTitle" xml:space="preserve">
<value>アーカイブ形式</value>
<comment>Archive parameters</comment>
</data>
<data name="TextSaveAs" xml:space="preserve">
<value>保存するファイルは</value>
<comment>Save as</comment>
</data>
<data name="TextSaveImagesAs" xml:space="preserve">
<value>保存するイメージは</value>
<comment>Save images as</comment>
</data>
<data name="TextTitle" xml:space="preserve">
<value>GARbro</value>
<comment>Game Resource browser</comment>
</data>
<data name="TooltipBack" xml:space="preserve">
<value>戻る</value>
<comment>Back</comment>
</data>
<data name="TooltipForward" xml:space="preserve">
<value>進む</value>
<comment>Forward</comment>
</data>
<data name="MsgOverwrite" xml:space="preserve">
<value>ファイル {0} は
すでに存在しています。
上書きしますか?</value>
<comment>File {0}
already exists.
Overwrite?</comment>
</data>
<data name="TextConfirmOverwrite" xml:space="preserve">
<value>上書きの確認</value>
<comment>Confirm overwrite</comment>
</data>
<data name="MsgCreatingArchive" xml:space="preserve">
<value>アーカイブ {0} を作成しています。</value>
<comment>Creating archive {0}</comment>
</data>
<data name="MenuOpen" xml:space="preserve">
<value>アーカイブを開く...</value>
<comment>Open...</comment>
</data>
<data name="MenuRecent" xml:space="preserve">
<value>最近使用したファイル</value>
<comment>Recent files</comment>
</data>
<data name="MsgChooseFiles" xml:space="preserve">
<value>抽出するファイルを選択してください。</value>
<comment>Choose files to extract</comment>
</data>
<data name="MenuExit" xml:space="preserve">
<value>終了</value>
<comment>E_xit</comment>
</data>
<data name="MenuFile" xml:space="preserve">
<value>ファイル</value>
<comment>E_xit</comment>
</data>
<data name="MenuHelp" xml:space="preserve">
<value>ヘルプ</value>
<comment>_Help</comment>
</data>
<data name="MsgExtractedFiles2" xml:space="preserve">
<value>{0} ファイル抽出しました。</value>
<comment>Extracted {0} files</comment>
</data>
<data name="MsgFiles1" xml:space="preserve">
<value>{0} ファイル</value>
<comment>{0} file</comment>
</data>
<data name="MsgFiles2" xml:space="preserve">
<value>{0} ファイル</value>
<comment>{0} files</comment>
</data>
<data name="MsgConfirmDeleteFiles" xml:space="preserve">
<value>これらのファイルを削除してもよろしいですか?</value>
<comment>Are you sure you want to delete these files?</comment>
</data>
<data name="TextDeleteFiles" xml:space="preserve">
<value>ファイルの削除</value>
<comment>Delete files</comment>
</data>
<data name="MsgDeletedItems1" xml:space="preserve">
<value>{0} ファイルを削除しました。</value>
<comment>Deleted {0} file</comment>
</data>
<data name="MsgDeletedItems2" xml:space="preserve">
<value>{0} ファイルを削除しました。</value>
<comment>Deleted {0} files</comment>
</data>
<data name="MenuFitWindow" xml:space="preserve">
<value>プレビューウィンドウをイメージに合わせる</value>
<comment>Fit preview _window to image</comment>
</data>
<data name="MenuToggleMenuBar" xml:space="preserve">
<value>メインメニューの表示/非表示</value>
<comment>Show/hide main _menu bar</comment>
</data>
<data name="MenuToggleStatusBar" xml:space="preserve">
<value>ステータスバーの表示/非表示</value>
<comment>Show/hide _status bar</comment>
</data>
<data name="MenuToggleToolBar" xml:space="preserve">
<value>ツールバーの表示/非表示</value>
<comment>Show/hide _toolbar</comment>
</data>
<data name="MenuView" xml:space="preserve">
<value>表示</value>
<comment>_View</comment>
</data>
<data name="CtxMenuConvert" xml:space="preserve">
<value>マルチメディアの形式変換...</value>
<comment>Convert multimedia...</comment>
</data>
<data name="ButtonConvert" xml:space="preserve">
<value>変換</value>
<comment>Convert</comment>
</data>
<data name="LabelDestinationFormat" xml:space="preserve">
<value>イメージの変換形式</value>
<comment>Choose destination format for images</comment>
</data>
<data name="TextConvertMedia" xml:space="preserve">
<value>マルチメディアの形式変換</value>
<comment>Media conversion</comment>
</data>
<data name="MsgConvertingFile" xml:space="preserve">
<value>ファイル {0} を変換しています。</value>
<comment>Converting file {0}</comment>
</data>
<data name="TextMediaConvertError" xml:space="preserve">
<value>マルチメディアの形式変換エラー</value>
<comment>Multimedia conversion error</comment>
</data>
<data name="LabelEncoding" xml:space="preserve">
<value>エンコーディング</value>
<comment>Encoding</comment>
</data>
<data name="TextConvertAudio" xml:space="preserve">
<value>オーディオを共通形式に変換する</value>
<comment>Convert audio to common format</comment>
</data>
<data name="TextExtractAudio" xml:space="preserve">
<value>オーディオの抽出</value>
<comment>Extract audio</comment>
</data>
<data name="TooltipAudioFormats" xml:space="preserve">
<value>WAV/MP3/OGGのいずれか</value>
<comment>Either WAV, MP3 or OGG</comment>
</data>
<data name="TextAboutAudio" xml:space="preserve">
<value>オーディオ</value>
<comment>Audio</comment>
</data>
<data name="TextAboutLicense" xml:space="preserve">
<value>ライセンス</value>
<comment>License</comment>
</data>
<data name="MsgUnableInterpretAudio" xml:space="preserve">
<value>オーディオの形式を解読できません。</value>
<comment>unable to interpret audio format</comment>
</data>
<data name="MsgNoMediaFiles" xml:space="preserve">
<value>マルチメディア(イメージまたはオーディオ)ファイルが選択されていません。</value>
<comment>No media files selected.</comment>
</data>
<data name="TextAudioConversion" xml:space="preserve">
<value>オーディオは、WAV/MP3/OGGのいずれかに変換されます。</value>
<comment>Audio will be converted to either WAV, MP3 or OGG.</comment>
</data>
<data name="LabelSkipFailures" xml:space="preserve">
<value>復元できないファイルをスキップする</value>
<comment>Skip incovertible files.</comment>
</data>
<data name="MsgNoMatching" xml:space="preserve">
<value>"{0}" に一致するエントリはありません。</value>
<comment>No entries matching "{0}"</comment>
</data>
<data name="MsgSelectedFiles1" xml:space="preserve">
<value>{0} ファイルが選択へ追加されました。</value>
<comment>{0} file added to selection</comment>
</data>
<data name="MsgSelectedFiles2" xml:space="preserve">
<value>{0} ファイルが選択へ追加されました。</value>
<comment>{0} files added to selection</comment>
</data>
<data name="LabelEnterMask" xml:space="preserve">
<value>ワイルドカードマスクを入力</value>
<comment>Enter wildcard mask</comment>
</data>
<data name="TextSelectFiles" xml:space="preserve">
<value>ファイル選択</value>
<comment>Select files</comment>
</data>
<data name="TextErrorExtracting" xml:space="preserve">
<value>ファイルの抽出中にエラーが発生しました。
{0}
{1}</value>
<comment>Error occured while extracting file
{0}
{1}</comment>
</data>
<data name="CtxMenuFileType" xml:space="preserve">
<value>ファイルタイプの設定</value>
<comment>Assign file type</comment>
</data>
<data name="Type_NONE" xml:space="preserve">
<value>none</value>
<comment>none</comment>
</data>
<data name="LabelDestinationDir" xml:space="preserve">
<value>抽出先フォルダ</value>
<comment>Destination directory</comment>
</data>
<data name="MsgPlaying" xml:space="preserve">
<value>{0} / {3} / {2}bps / {1}Hz を再生中</value>
<comment>{0}=filename, {1}=sampling rate, {2}=bitrate, {3}=total time </comment>
</data>
<data name="LabelDevSite" xml:space="preserve">
<value>開発サイト</value>
<comment>Development site</comment>
</data>
<data name="CtxMenuSelectByMask" xml:space="preserve">
<value>マスクでファイルを選択...</value>
<comment>Select files by mask...</comment>
</data>
<data name="ButtonAbort" xml:space="preserve">
<value>中止</value>
<comment>_Abort</comment>
</data>
<data name="ButtonContinue" xml:space="preserve">
<value>継続</value>
<comment>_Continue</comment>
</data>
<data name="LabelIgnoreErrors" xml:space="preserve">
<value>エラーを無視する</value>
<comment>_Ignore further errors</comment>
</data>
<data name="TextExtractionError" xml:space="preserve">
<value>ファイルの抽出エラー</value>
<comment>File extraction error</comment>
</data>
<data name="ButtonOverwrite" xml:space="preserve">
<value>上書き</value>
<comment>_Overwrite</comment>
</data>
<data name="ButtonRename" xml:space="preserve">
<value>名前の変更</value>
<comment>_Rename</comment>
</data>
<data name="ButtonSkip" xml:space="preserve">
<value>スキップ</value>
<comment>_Skip</comment>
</data>
<data name="LabelApplyToAll" xml:space="preserve">
<value>全てのファイルを上書き</value>
<comment>A_pply to all duplicate files</comment>
</data>
<data name="LabelDuplicateFileQuestion" xml:space="preserve">
<value>どうしますか?</value>
<comment>What should be done?</comment>
</data>
<data name="TextErrorConverting" xml:space="preserve">
<value>ファイルの変換中にエラーが発生しました。
{0}
{1}</value>
<comment>Error occured while converting file
{0}
{1}</comment>
</data>
<data name="TextFileAlreadyExists" xml:space="preserve">
<value>ファイル {0} は既に抽出先フォルダに存在します。</value>
<comment>File {0} already exists in the destination folder.</comment>
</data>
<data name="ButtonDownload" xml:space="preserve">
<value>ダウンロード</value>
<comment>_Download</comment>
</data>
<data name="LabelReleaseNotes" xml:space="preserve">
<value>リリースノート</value>
<comment>Release notes</comment>
</data>
<data name="MenuCheckUpdates" xml:space="preserve">
<value>アップデートの確認...</value>
<comment>_Check for updates...</comment>
</data>
<data name="MsgNoUpdates" xml:space="preserve">
<value>現在利用可能なアップデートはありません。</value>
<comment>No updates currently available.</comment>
</data>
<data name="MsgUpdateAvailable" xml:space="preserve">
<value>使用可能な形式データベースをアップデートします。</value>
<comment>Formats database update available.</comment>
</data>
<data name="MsgUpdateComplete" xml:space="preserve">
<value>形式データベースをアップデートしました。</value>
<comment>Formats database updated.</comment>
</data>
<data name="MsgUpdateFailed" xml:space="preserve">
<value>アップデートの確認に失敗しました。</value>
<comment>Update check failed.</comment>
</data>
<data name="MsgUpToDate" xml:space="preserve">
<value>現在のGARbroは最新versionです。</value>
<comment>GARbro version is up to date.</comment>
</data>
<data name="TextNewVersion" xml:space="preserve">
<value>利用可能な新しいバージョン:</value>
<comment>New version available:</comment>
</data>
<data name="TextUpdateTitle" xml:space="preserve">
<value>アプリケーションのアップデート</value>
<comment>Application update</comment>
</data>
<data name="TextVisitPage" xml:space="preserve">
<value>ダウンロードページにアクセス</value>
<comment>Visit download page</comment>
</data>
<data name="MsgDownloadFailed" xml:space="preserve">
<value>アップデートのダウンロードに失敗しました。</value>
<comment>Update download failed.</comment>
</data>
<data name="ButtonApply" xml:space="preserve">
<value>適用</value>
<comment>Apply</comment>
</data>
<data name="MenuPreferences" xml:space="preserve">
<value>環境設定</value>
<comment>_Preferences</comment>
</data>
<data name="TextFormats" xml:space="preserve">
<value>形式</value>
<comment>Formats</comment>
</data>
<data name="TextPreferences" xml:space="preserve">
<value>環境設定</value>
<comment>Preferences</comment>
</data>
</root>

View File

@ -0,0 +1,156 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
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">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</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.Runtime.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:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<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" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</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>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<data name="BMPExtensionsDesc" xml:space="preserve">
<value>透過サポートなど、さまざまな拡張機能を有効にします。</value>
<comment>Enables various extensions, such as transparency support.</comment>
</data>
<data name="BMPExtensionsText" xml:space="preserve">
<value>BMP形式の拡張機能を有効にします。</value>
<comment>Enable BMP format extensions</comment>
</data>
<data name="MsgFileIsEmpty" xml:space="preserve">
<value>ファイルが空です。</value>
<comment>File is empty</comment>
</data>
<data name="MsgFileTooLarge" xml:space="preserve">
<value>ファイルが大きすぎます。</value>
<comment>File is too large</comment>
</data>
<data name="MsgInvalidEncryption" xml:space="preserve">
<value>不適切な暗号化方式</value>
<comment>Inappropriate encryption scheme</comment>
</data>
<data name="MsgInvalidFileName" xml:space="preserve">
<value>無効なファイル名</value>
<comment>Invalid file name</comment>
</data>
<data name="MsgInvalidFormat" xml:space="preserve">
<value>無効なファイル形式</value>
<comment>Invalid file format</comment>
</data>
<data name="MsgUnknownEncryption" xml:space="preserve">
<value>不明な暗号化方式</value>
<comment>Unknown encryption scheme</comment>
</data>
<data name="MsgUnknownFormat" xml:space="preserve">
<value>アーカイブとして不明な形式でファイルを開くことができませんでした。</value>
<comment>file could not be opened as resource archive</comment>
</data>
</root>