Version 1.2.0

This commit is contained in:
Junior 2024-01-04 22:59:30 -03:00
parent 9b3a0e00a2
commit e74d93fab9
83 changed files with 110087 additions and 47507 deletions

View file

@ -0,0 +1,44 @@
using System.Globalization;
using System.Resources;
namespace RHLauncher.RHLauncher.i8n
{
public class LocalizationHelper
{
public static void LoadLocalizedStrings(
string lang,
List<Button> buttons,
List<ImageList> imageLists,
Dictionary<string, List<ImageList>> languageImageLists)
{
CultureInfo cultureInfo;
if (languageImageLists.TryGetValue(lang, out List<ImageList>? value))
{
// If the language is supported, get the corresponding image lists
List<ImageList> langSpecificImageLists = value;
for (int i = 0; i < buttons.Count && i < langSpecificImageLists.Count; i++)
{
buttons[i].ImageList = langSpecificImageLists[i];
}
cultureInfo = new CultureInfo(lang);
}
else
{
// Default to English if the language is not supported
cultureInfo = new CultureInfo("en-US"); // English culture
for (int i = 0; i < buttons.Count && i < imageLists.Count; i++)
{
buttons[i].ImageList = imageLists[i];
}
}
Thread.CurrentThread.CurrentUICulture = cultureInfo;
// Load the appropriate resource file based on the selected language
_ = new
ResourceManager(typeof(LocalizedStrings));
LocalizedStrings.Culture = cultureInfo;
}
}
}

1215
RHLauncher.i8n/LocalizedStrings.Designer.cs generated Normal file

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,504 @@
<?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="Account" xml:space="preserve">
<value>계정</value>
</data>
<data name="AccountCreateSuccess" xml:space="preserve">
<value>계정이 성공적으로 생성되었습니다.</value>
</data>
<data name="AccountDetails" xml:space="preserve">
<value>계정 정보</value>
</data>
<data name="AccountEmail" xml:space="preserve">
<value>계정 이메일</value>
</data>
<data name="AccountEmailExists" xml:space="preserve">
<value>이 이메일을 사용하는 계정이 이미 존재합니다.</value>
</data>
<data name="AccountExists" xml:space="preserve">
<value>이 사용자 이름을 사용하는 계정이 이미 존재합니다.</value>
</data>
<data name="AccountName" xml:space="preserve">
<value>계정 이름</value>
</data>
<data name="AccountNotFound" xml:space="preserve">
<value>이 이메일을 사용한 계정을 찾을 수 없습니다</value>
</data>
<data name="AgreeTerms" xml:space="preserve">
<value>나는 에 동의하고 수락합니다</value>
</data>
<data name="AlreadyExecute" xml:space="preserve">
<value>RustyHearts.exe가 이미 실행 중입니다.</value>
</data>
<data name="AlreadyInstalled" xml:space="preserve">
<value>설치되었나요?</value>
</data>
<data name="Cancelling" xml:space="preserve">
<value>취소 중</value>
</data>
<data name="ChangeLanguageMessage" xml:space="preserve">
<value>언어를 변경하려면 런처를 다시 시작해야 합니다. 지금 다시 시작하시겠습니까?</value>
</data>
<data name="ChangePassword" xml:space="preserve">
<value>비밀번호 변경</value>
</data>
<data name="ChangePwdFormTitle" xml:space="preserve">
<value>비밀번호 변경</value>
</data>
<data name="CheckBoxAutoLogin" xml:space="preserve">
<value>자동 로그인</value>
</data>
<data name="CheckBoxSaveUser" xml:space="preserve">
<value>사용자 이름 기억</value>
</data>
<data name="Checking" xml:space="preserve">
<value>확인 중</value>
</data>
<data name="CheckingFiles" xml:space="preserve">
<value>파일을 확인하는 중...</value>
</data>
<data name="CheckUpdate" xml:space="preserve">
<value>업데이트 확인</value>
</data>
<data name="ClientDownloadError" xml:space="preserve">
<value>클라이언트를 다운로드하는 동안 오류가 발생했습니다.</value>
</data>
<data name="ClientDownloadErrorMessage" xml:space="preserve">
<value>게임 클라이언트 다운로드 중 오류가 발생했습니다.</value>
</data>
<data name="ClientDownloadFilelistError" xml:space="preserve">
<value>에서 파일 목록을 검색할 수 없습니다</value>
</data>
<data name="ClientFolderErrorMessage" xml:space="preserve">
<value>다운로드 디렉터리를 삭제하지 못했습니다.</value>
</data>
<data name="ClientFolderExeErrorMessage" xml:space="preserve">
<value>추출 후 'rustyhearts.exe'가 포함된 디렉터리를 찾을 수 없습니다.</value>
</data>
<data name="CodeDescLabel" xml:space="preserve">
<value>인증코드를 입력하세요</value>
</data>
<data name="CodeDescLabelInvalid" xml:space="preserve">
<value>잘못된 인증 코드 형식</value>
</data>
<data name="ConfigFormTitle" xml:space="preserve">
<value>런처 설정</value>
</data>
<data name="Confirmation" xml:space="preserve">
<value>확증</value>
</data>
<data name="ConfirmUninstall" xml:space="preserve">
<value>설치 제거 확인</value>
</data>
<data name="ConfirmUninstallText" xml:space="preserve">
<value>설치 디렉토리를 설치 제거하고 삭제하시겠습니까?</value>
</data>
<data name="DescLabelS2Email" xml:space="preserve">
<value>확인 이메일이 다음으로 전송되었습니다</value>
</data>
<data name="Downloading" xml:space="preserve">
<value>다운로드 중</value>
</data>
<data name="EmailDescLabelEmpty" xml:space="preserve">
<value>이메일은 비워둘 수 없습니다</value>
</data>
<data name="EmailDescLabelInvalid" xml:space="preserve">
<value>잘못된 이메일 주소</value>
</data>
<data name="EnterEmail" xml:space="preserve">
<value>당신의 이메일 주소를 입력 해주세요</value>
</data>
<data name="EnterPassword" xml:space="preserve">
<value>비밀번호를 입력하세요</value>
</data>
<data name="Error" xml:space="preserve">
<value>오류</value>
</data>
<data name="ExpiredVerificationCode" xml:space="preserve">
<value>이 인증 코드는 만료되었습니다. 새 인증 코드를 요청하세요.</value>
</data>
<data name="Failed" xml:space="preserve">
<value>실패한</value>
</data>
<data name="ForgotPwdLabel" xml:space="preserve">
<value>비밀번호를 잊으 셨나요?</value>
</data>
<data name="GameSettings" xml:space="preserve">
<value>게임 설정</value>
</data>
<data name="Info" xml:space="preserve">
<value>정보</value>
</data>
<data name="Install" xml:space="preserve">
<value>설치하다</value>
</data>
<data name="Installing" xml:space="preserve">
<value>설치 중</value>
</data>
<data name="InstallLocation" xml:space="preserve">
<value>설치 위치</value>
</data>
<data name="InvalidDirectory" xml:space="preserve">
<value>잘못된 설치 디렉터리</value>
</data>
<data name="InvalidEmailFormat" xml:space="preserve">
<value>잘못된 이메일 형식</value>
</data>
<data name="InvalidUserNameFormat" xml:space="preserve">
<value>잘못된 사용자 이름 형식</value>
</data>
<data name="InvalidVerificationCode" xml:space="preserve">
<value>잘못된 인증 코드</value>
</data>
<data name="LabelNews" xml:space="preserve">
<value>소식</value>
</data>
<data name="Launch" xml:space="preserve">
<value>시작하다</value>
</data>
<data name="LauncherAlreadyRunning" xml:space="preserve">
<value>한 번에 하나의 런처 인스턴스만 실행할 수 있습니다.</value>
</data>
<data name="LauncherFormTitle" xml:space="preserve">
<value>러스티하츠 런처</value>
</data>
<data name="LauncherLanguage" xml:space="preserve">
<value>런처 언어</value>
</data>
<data name="LauncherUpdateCheckFailed" xml:space="preserve">
<value>런처 업데이트 확인 중 오류가 발생했습니다:</value>
</data>
<data name="LauncherUpdateFailed" xml:space="preserve">
<value>런처 업데이트를 다운로드하는 중 오류가 발생했습니다:</value>
</data>
<data name="LauncherUpdateSuccess" xml:space="preserve">
<value>런처가 버전으로 업데이트되었습니다</value>
</data>
<data name="LauncherUpdateText" xml:space="preserve">
<value>새로운 버전의 런처를 사용할 수 있습니다. 자동으로 다운로드되어 설치됩니다.</value>
</data>
<data name="Launching" xml:space="preserve">
<value>진수</value>
</data>
<data name="LocateGame" xml:space="preserve">
<value>게임 위치</value>
</data>
<data name="LoginInfoTitle" xml:space="preserve">
<value>로그인 정보</value>
</data>
<data name="LoginInsertPassword" xml:space="preserve">
<value>비밀번호를 입력해주세요.</value>
</data>
<data name="LoginInsertUsername" xml:space="preserve">
<value>사용자 이름을 입력하세요.</value>
</data>
<data name="LoginInvalidCredentials" xml:space="preserve">
<value>사용자 이름 또는 비밀번호가 잘못되었습니다.</value>
</data>
<data name="LoginInvalidUsernameFormat" xml:space="preserve">
<value>사용자 이름 형식이 잘못되었습니다.</value>
</data>
<data name="LoginLocked" xml:space="preserve">
<value>귀하의 계정이 잠겨 있습니다. 고객지원팀에 문의하세요.</value>
</data>
<data name="LoginTooManyAttempts" xml:space="preserve">
<value>로그인 시도 횟수가 너무 많습니다. 나중에 다시 시도 해주십시오.</value>
</data>
<data name="LoginWindowTitle" xml:space="preserve">
<value>로그인 창</value>
</data>
<data name="Logout" xml:space="preserve">
<value>로그 아웃</value>
</data>
<data name="LogoutText" xml:space="preserve">
<value>정말로 로그아웃하시겠습니까?</value>
</data>
<data name="Manage" xml:space="preserve">
<value>&lt; 관리</value>
</data>
<data name="MPatcher" xml:space="preserve">
<value>업데이트 설치 중 오류가 발생했습니다. MPatcher.exe를 찾을 수 없습니다.</value>
</data>
<data name="MsgBoxFormTitle" xml:space="preserve">
<value>메시지</value>
</data>
<data name="NewPassword" xml:space="preserve">
<value>새 비밀번호를 입력하세요</value>
</data>
<data name="NewPasswordDesc" xml:space="preserve">
<value>6~16자</value>
</data>
<data name="No" xml:space="preserve">
<value>아니요</value>
</data>
<data name="OpenInstallDir" xml:space="preserve">
<value>설치 디렉토리 열기</value>
</data>
<data name="Packing" xml:space="preserve">
<value>포장</value>
</data>
<data name="PasswordChanged" xml:space="preserve">
<value>비밀번호가 성공적으로 변경되었습니다! 다시 로그인해주세요.</value>
</data>
<data name="PasswordLabel" xml:space="preserve">
<value>비밀번호</value>
</data>
<data name="PwdConfirmDescLabelEmpty" xml:space="preserve">
<value>비밀번호 확인은 비워둘 수 없습니다!</value>
</data>
<data name="PwdConfirmDescLabelMatch" xml:space="preserve">
<value>비밀번호가 일치하지 않습니다!</value>
</data>
<data name="PwdDescLabelCriteria" xml:space="preserve">
<value>비밀번호에는 대문자, 소문자, 숫자가 하나 이상 포함되어야 합니다.</value>
</data>
<data name="PwdDescLabelEmpty" xml:space="preserve">
<value>비밀번호는 비워둘 수 없습니다!</value>
</data>
<data name="PwdDescLabelSize" xml:space="preserve">
<value>비밀번호는 6~16자 사이여야 합니다!</value>
</data>
<data name="PwdStrengthLabelMedium" xml:space="preserve">
<value>매질</value>
</data>
<data name="PwdStrengthLabelStrong" xml:space="preserve">
<value>강한</value>
</data>
<data name="PwdStrengthLabelWeak" xml:space="preserve">
<value>약한</value>
</data>
<data name="RegFormTitle" xml:space="preserve">
<value>계좌등록</value>
</data>
<data name="RegisterAccount" xml:space="preserve">
<value>계좌등록</value>
</data>
<data name="RegisterWindow" xml:space="preserve">
<value>등록 창</value>
</data>
<data name="RepeatPassword" xml:space="preserve">
<value>새 비밀번호를 다시 입력하세요.</value>
</data>
<data name="RepeatPasswordDesc" xml:space="preserve">
<value>비밀번호를 반복하세요</value>
</data>
<data name="Return" xml:space="preserve">
<value>&lt; 반품</value>
</data>
<data name="Running" xml:space="preserve">
<value>달리기</value>
</data>
<data name="RustyHearts" xml:space="preserve">
<value>러스티하츠</value>
</data>
<data name="rustyheartsconfig" xml:space="preserve">
<value>Rustyheartsconfig.exe를 찾을 수 없습니다.</value>
</data>
<data name="SamePassword" xml:space="preserve">
<value>동일한 비밀번호. 다른 비밀번호를 사용해 주세요.</value>
</data>
<data name="SelectExe" xml:space="preserve">
<value>RustyHearts.exe를 선택하세요.</value>
</data>
<data name="SelectInstallLocation" xml:space="preserve">
<value>설치 위치 선택</value>
</data>
<data name="ServerOffline" xml:space="preserve">
<value>게임 서버에 연결할 수 없습니다.</value>
</data>
<data name="ServiceDatFileMissing" xml:space="preserve">
<value>Service.dat를 찾을 수 없습니다. 설치 디렉터리가 올바른지 확인하세요.</value>
</data>
<data name="ServiceUpdateError" xml:space="preserve">
<value>서비스를 업데이트하는 중 오류가 발생했습니다.</value>
</data>
<data name="Settings" xml:space="preserve">
<value>설정</value>
</data>
<data name="Success" xml:space="preserve">
<value>성공</value>
</data>
<data name="Uninstall" xml:space="preserve">
<value>제거</value>
</data>
<data name="Uninstalling" xml:space="preserve">
<value>제거 중</value>
</data>
<data name="UninstallText" xml:space="preserve">
<value>제거가 완료되었습니다.</value>
</data>
<data name="Unpacking" xml:space="preserve">
<value>포장 풀기</value>
</data>
<data name="UnsupportedService" xml:space="preserve">
<value>지원되지 않는 클라이언트 지역입니다.</value>
</data>
<data name="Update" xml:space="preserve">
<value>업데이트</value>
</data>
<data name="UpdateCheckError" xml:space="preserve">
<value>업데이트를 확인하는 동안 오류가 발생했습니다.</value>
</data>
<data name="UpdateDownloadError" xml:space="preserve">
<value>업데이트를 다운로드하는 동안 오류가 발생했습니다.</value>
</data>
<data name="Updating" xml:space="preserve">
<value>업데이트 중</value>
</data>
<data name="UserAgreement" xml:space="preserve">
<value>"사용자 계약"</value>
</data>
<data name="UsernameDesc" xml:space="preserve">
<value>6~16자의 영숫자</value>
</data>
<data name="UsernameDescLabelEmpty" xml:space="preserve">
<value>사용자 이름은 비워둘 수 없습니다.</value>
</data>
<data name="UsernameDescLabelInvalid" xml:space="preserve">
<value>사용자 이름은 하나 이상의 문자가 포함된 영숫자여야 합니다.</value>
</data>
<data name="UsernameDescLabelSize" xml:space="preserve">
<value>사용자 이름은 6~16자 사이여야 합니다.</value>
</data>
<data name="UsernameDescLabelUppercase" xml:space="preserve">
<value>사용자 이름에는 대문자가 포함될 수 없습니다. 소문자와 숫자만 사용해주세요.</value>
</data>
<data name="UsernameLabel" xml:space="preserve">
<value>아이디 또는 이메일</value>
</data>
<data name="VerificationCode" xml:space="preserve">
<value>확인 코드</value>
</data>
<data name="VerificationEmailSent" xml:space="preserve">
<value>확인 이메일이 다음으로 전송되었습니다</value>
</data>
<data name="Version" xml:space="preserve">
<value>런처 버전</value>
</data>
<data name="Welcome" xml:space="preserve">
<value>환영하다</value>
</data>
<data name="WindyCodeExists" xml:space="preserve">
<value>이 사용자 이름을 가진 게임 계정이 이미 존재합니다.</value>
</data>
<data name="Yes" xml:space="preserve">
<value>예</value>
</data>
</root>

View file

@ -0,0 +1,504 @@
<?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="Account" xml:space="preserve">
<value>Account</value>
</data>
<data name="AccountCreateSuccess" xml:space="preserve">
<value>Account created successfully.</value>
</data>
<data name="AccountDetails" xml:space="preserve">
<value>Account Details</value>
</data>
<data name="AccountEmail" xml:space="preserve">
<value>Account Email</value>
</data>
<data name="AccountEmailExists" xml:space="preserve">
<value>A account with this email already exists.</value>
</data>
<data name="AccountExists" xml:space="preserve">
<value>A account with this username already exists.</value>
</data>
<data name="AccountName" xml:space="preserve">
<value>Account Name</value>
</data>
<data name="AccountNotFound" xml:space="preserve">
<value>A account with this email was not found</value>
</data>
<data name="AgreeTerms" xml:space="preserve">
<value>Agree and accept the</value>
</data>
<data name="AlreadyExecute" xml:space="preserve">
<value>rustyhearts.exe is already running.</value>
</data>
<data name="AlreadyInstalled" xml:space="preserve">
<value>Installed?</value>
</data>
<data name="Cancelling" xml:space="preserve">
<value>Cancelling</value>
</data>
<data name="ChangeLanguageMessage" xml:space="preserve">
<value>The launcher needs to be restarted to change the language. Restart now?</value>
</data>
<data name="ChangePassword" xml:space="preserve">
<value>Change Password</value>
</data>
<data name="ChangePwdFormTitle" xml:space="preserve">
<value>Change Password</value>
</data>
<data name="CheckBoxAutoLogin" xml:space="preserve">
<value>Auto Login</value>
</data>
<data name="CheckBoxSaveUser" xml:space="preserve">
<value>Remember Username</value>
</data>
<data name="Checking" xml:space="preserve">
<value>Checking</value>
</data>
<data name="CheckingFiles" xml:space="preserve">
<value>Checking files...</value>
</data>
<data name="CheckUpdate" xml:space="preserve">
<value>Check for Updates</value>
</data>
<data name="ClientDownloadError" xml:space="preserve">
<value>An error occurred while downloading client.</value>
</data>
<data name="ClientDownloadErrorMessage" xml:space="preserve">
<value>Error downloading game client.</value>
</data>
<data name="ClientDownloadFilelistError" xml:space="preserve">
<value>Could not retrieve file list from</value>
</data>
<data name="ClientFolderErrorMessage" xml:space="preserve">
<value>Failed to delete download directory.</value>
</data>
<data name="ClientFolderExeErrorMessage" xml:space="preserve">
<value>The directory containing 'rustyhearts.exe' was not found after extraction.</value>
</data>
<data name="CodeDescLabel" xml:space="preserve">
<value>Insert the verification code</value>
</data>
<data name="CodeDescLabelInvalid" xml:space="preserve">
<value>Invalid Verification Code format</value>
</data>
<data name="ConfigFormTitle" xml:space="preserve">
<value>Launcher Settings</value>
</data>
<data name="Confirmation" xml:space="preserve">
<value>Confirmation</value>
</data>
<data name="ConfirmUninstall" xml:space="preserve">
<value>Confirm Uninstall</value>
</data>
<data name="ConfirmUninstallText" xml:space="preserve">
<value>Are you sure you want to uninstall and delete the install directory?</value>
</data>
<data name="DescLabelS2Email" xml:space="preserve">
<value>The verification email has been sent to</value>
</data>
<data name="Downloading" xml:space="preserve">
<value>Downloading</value>
</data>
<data name="EmailDescLabelEmpty" xml:space="preserve">
<value>Email cannot be empty</value>
</data>
<data name="EmailDescLabelInvalid" xml:space="preserve">
<value>Invalid email address</value>
</data>
<data name="EnterEmail" xml:space="preserve">
<value>Enter your Email address</value>
</data>
<data name="EnterPassword" xml:space="preserve">
<value>Enter the password</value>
</data>
<data name="Error" xml:space="preserve">
<value>Error</value>
</data>
<data name="ExpiredVerificationCode" xml:space="preserve">
<value>This verification code has expired, please request a new one.</value>
</data>
<data name="Failed" xml:space="preserve">
<value>Failed</value>
</data>
<data name="ForgotPwdLabel" xml:space="preserve">
<value>Forgot Password?</value>
</data>
<data name="GameSettings" xml:space="preserve">
<value>Game Settings</value>
</data>
<data name="Info" xml:space="preserve">
<value>Info</value>
</data>
<data name="Install" xml:space="preserve">
<value>Install</value>
</data>
<data name="Installing" xml:space="preserve">
<value>Installing</value>
</data>
<data name="InstallLocation" xml:space="preserve">
<value>Install Location</value>
</data>
<data name="InvalidDirectory" xml:space="preserve">
<value>Invalid Install Directory</value>
</data>
<data name="InvalidEmailFormat" xml:space="preserve">
<value>Invalid email format</value>
</data>
<data name="InvalidUserNameFormat" xml:space="preserve">
<value>Invalid username format</value>
</data>
<data name="InvalidVerificationCode" xml:space="preserve">
<value>Invalid Verification Code</value>
</data>
<data name="LabelNews" xml:space="preserve">
<value>News</value>
</data>
<data name="Launch" xml:space="preserve">
<value>Launch</value>
</data>
<data name="LauncherAlreadyRunning" xml:space="preserve">
<value>Only one instance of the launcher can run at a time.</value>
</data>
<data name="LauncherFormTitle" xml:space="preserve">
<value>Rusty Hearts Launcher</value>
</data>
<data name="LauncherLanguage" xml:space="preserve">
<value>Launcher Language</value>
</data>
<data name="LauncherUpdateCheckFailed" xml:space="preserve">
<value>Error checking for launcher update: </value>
</data>
<data name="LauncherUpdateFailed" xml:space="preserve">
<value>Error downloading launcher update: </value>
</data>
<data name="LauncherUpdateSuccess" xml:space="preserve">
<value>Launcher updated successfully to version </value>
</data>
<data name="LauncherUpdateText" xml:space="preserve">
<value>A new version of the launcher is available. It will be downloaded and installed automatically.</value>
</data>
<data name="Launching" xml:space="preserve">
<value>Launching</value>
</data>
<data name="LocateGame" xml:space="preserve">
<value>Locate Game</value>
</data>
<data name="LoginInfoTitle" xml:space="preserve">
<value>Login Info</value>
</data>
<data name="LoginInsertPassword" xml:space="preserve">
<value>Please insert the password.</value>
</data>
<data name="LoginInsertUsername" xml:space="preserve">
<value>Please insert the username.</value>
</data>
<data name="LoginInvalidCredentials" xml:space="preserve">
<value>Invalid username or password.</value>
</data>
<data name="LoginInvalidUsernameFormat" xml:space="preserve">
<value>Invalid username format.</value>
</data>
<data name="LoginLocked" xml:space="preserve">
<value>Your account is locked. Please contact customer support.</value>
</data>
<data name="LoginTooManyAttempts" xml:space="preserve">
<value>Too many login attempts. Please try again later.</value>
</data>
<data name="LoginWindowTitle" xml:space="preserve">
<value>Login Window</value>
</data>
<data name="Logout" xml:space="preserve">
<value>Logout</value>
</data>
<data name="LogoutText" xml:space="preserve">
<value>Are you sure you want to logout?</value>
</data>
<data name="Manage" xml:space="preserve">
<value>&lt; Manage</value>
</data>
<data name="MPatcher" xml:space="preserve">
<value>Error installing update. Could not find MPatcher.exe</value>
</data>
<data name="MsgBoxFormTitle" xml:space="preserve">
<value>Message</value>
</data>
<data name="NewPassword" xml:space="preserve">
<value>Enter the new password</value>
</data>
<data name="NewPasswordDesc" xml:space="preserve">
<value>6-16 characters</value>
</data>
<data name="No" xml:space="preserve">
<value>No</value>
</data>
<data name="OpenInstallDir" xml:space="preserve">
<value>Open Install Directory</value>
</data>
<data name="Packing" xml:space="preserve">
<value>Packing</value>
</data>
<data name="PasswordChanged" xml:space="preserve">
<value>Password changed successfully! Please log in again.</value>
</data>
<data name="PasswordLabel" xml:space="preserve">
<value>Password</value>
</data>
<data name="PwdConfirmDescLabelEmpty" xml:space="preserve">
<value>Confirm Password cannot be empty!</value>
</data>
<data name="PwdConfirmDescLabelMatch" xml:space="preserve">
<value>Passwords do not match!</value>
</data>
<data name="PwdDescLabelCriteria" xml:space="preserve">
<value>Password must have at least one uppercase, one lowercase letter, and one number</value>
</data>
<data name="PwdDescLabelEmpty" xml:space="preserve">
<value>Password cannot be empty!</value>
</data>
<data name="PwdDescLabelSize" xml:space="preserve">
<value>Password must be between 6-16 characters!</value>
</data>
<data name="PwdStrengthLabelMedium" xml:space="preserve">
<value>Medium</value>
</data>
<data name="PwdStrengthLabelStrong" xml:space="preserve">
<value>Strong</value>
</data>
<data name="PwdStrengthLabelWeak" xml:space="preserve">
<value>Weak</value>
</data>
<data name="RegFormTitle" xml:space="preserve">
<value>Register Account</value>
</data>
<data name="RegisterAccount" xml:space="preserve">
<value>Register Account</value>
</data>
<data name="RegisterWindow" xml:space="preserve">
<value>Register Window</value>
</data>
<data name="RepeatPassword" xml:space="preserve">
<value>Repeat the new password</value>
</data>
<data name="RepeatPasswordDesc" xml:space="preserve">
<value>Repeat the password</value>
</data>
<data name="Return" xml:space="preserve">
<value>&lt; Return</value>
</data>
<data name="Running" xml:space="preserve">
<value>Running</value>
</data>
<data name="RustyHearts" xml:space="preserve">
<value>Rusty Hearts</value>
</data>
<data name="rustyheartsconfig" xml:space="preserve">
<value>Could not find rustyheartsconfig.exe</value>
</data>
<data name="SamePassword" xml:space="preserve">
<value>Same password. Please use another password.</value>
</data>
<data name="SelectExe" xml:space="preserve">
<value>Select RustyHearts.exe</value>
</data>
<data name="SelectInstallLocation" xml:space="preserve">
<value>Select Install Location</value>
</data>
<data name="ServerOffline" xml:space="preserve">
<value>Cannot connect to the game server.</value>
</data>
<data name="ServiceDatFileMissing" xml:space="preserve">
<value>Could not find Service.dat. Please check if the Install Directory is correct.</value>
</data>
<data name="ServiceUpdateError" xml:space="preserve">
<value>An error occurred while updating service</value>
</data>
<data name="Settings" xml:space="preserve">
<value>Settings</value>
</data>
<data name="Success" xml:space="preserve">
<value>Success</value>
</data>
<data name="Uninstall" xml:space="preserve">
<value>Uninstall</value>
</data>
<data name="Uninstalling" xml:space="preserve">
<value>Uninstalling</value>
</data>
<data name="UninstallText" xml:space="preserve">
<value>Uninstall complete.</value>
</data>
<data name="Unpacking" xml:space="preserve">
<value>Unpacking</value>
</data>
<data name="UnsupportedService" xml:space="preserve">
<value>Unsupported client region.</value>
</data>
<data name="Update" xml:space="preserve">
<value>Update</value>
</data>
<data name="UpdateCheckError" xml:space="preserve">
<value>An error occurred while checking for updates.</value>
</data>
<data name="UpdateDownloadError" xml:space="preserve">
<value>An error occurred while downloading updates.</value>
</data>
<data name="Updating" xml:space="preserve">
<value>Updating</value>
</data>
<data name="UserAgreement" xml:space="preserve">
<value>"User Agreement"</value>
</data>
<data name="UsernameDesc" xml:space="preserve">
<value>6-16 alphanumeric characters</value>
</data>
<data name="UsernameDescLabelEmpty" xml:space="preserve">
<value>Name cannot be empty</value>
</data>
<data name="UsernameDescLabelInvalid" xml:space="preserve">
<value>Name must be alphanumeric with at least one letter</value>
</data>
<data name="UsernameDescLabelSize" xml:space="preserve">
<value>Username must be between 6-16 characters</value>
</data>
<data name="UsernameDescLabelUppercase" xml:space="preserve">
<value>Username must not contain uppercase letters. Please use only lowercase letters and digits.</value>
</data>
<data name="UsernameLabel" xml:space="preserve">
<value>Username/Email</value>
</data>
<data name="VerificationCode" xml:space="preserve">
<value>Verification Code</value>
</data>
<data name="VerificationEmailSent" xml:space="preserve">
<value>The verificaton email has been sent to</value>
</data>
<data name="Version" xml:space="preserve">
<value>Version</value>
</data>
<data name="Welcome" xml:space="preserve">
<value>Welcome</value>
</data>
<data name="WindyCodeExists" xml:space="preserve">
<value>A game account with this username already exists.</value>
</data>
<data name="Yes" xml:space="preserve">
<value>Yes</value>
</data>
</root>