Extended the localization system to easily include additional languages in the future

This commit is contained in:
Junior 2023-10-07 00:08:43 -03:00
parent d5ec712d0f
commit ae34584021
50 changed files with 45079 additions and 24129 deletions

View file

@ -0,0 +1,44 @@
using System.Globalization;
using System.Resources;
namespace RHLauncher.RHLauncher
{
public class LocalizationHelper
{
public static void LoadLocalizedStrings(
string lang,
List<Button> buttons,
List<ImageList> imageLists,
Dictionary<string, List<ImageList>> languageImageLists)
{
CultureInfo cultureInfo;
if (languageImageLists.ContainsKey(lang))
{
// If the language is supported, get the corresponding image lists
List<ImageList> langSpecificImageLists = languageImageLists[lang];
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;
}
}
}

View file

@ -69,6 +69,33 @@ namespace RHLauncher.RHLauncher {
}
}
/// <summary>
/// Looks up a localized string similar to Account Details.
/// </summary>
public static string AccountDetails {
get {
return ResourceManager.GetString("AccountDetails", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Account Email.
/// </summary>
public static string AccountEmail {
get {
return ResourceManager.GetString("AccountEmail", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Account Name.
/// </summary>
public static string AccountName {
get {
return ResourceManager.GetString("AccountName", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to A account with this email was not found.
/// </summary>
@ -78,6 +105,15 @@ namespace RHLauncher.RHLauncher {
}
}
/// <summary>
/// Looks up a localized string similar to Agree and accept the.
/// </summary>
public static string AgreeTerms {
get {
return ResourceManager.GetString("AgreeTerms", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to rustyhearts.exe is already running..
/// </summary>
@ -105,6 +141,15 @@ namespace RHLauncher.RHLauncher {
}
}
/// <summary>
/// Looks up a localized string similar to Change Password.
/// </summary>
public static string ChangePwdFormTitle {
get {
return ResourceManager.GetString("ChangePwdFormTitle", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Auto Login.
/// </summary>
@ -132,6 +177,15 @@ namespace RHLauncher.RHLauncher {
}
}
/// <summary>
/// Looks up a localized string similar to Check Update.
/// </summary>
public static string CheckUpdate {
get {
return ResourceManager.GetString("CheckUpdate", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Insert the verification code.
/// </summary>
@ -222,6 +276,15 @@ namespace RHLauncher.RHLauncher {
}
}
/// <summary>
/// Looks up a localized string similar to Enter the password.
/// </summary>
public static string EnterPassword {
get {
return ResourceManager.GetString("EnterPassword", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Error.
/// </summary>
@ -258,6 +321,15 @@ namespace RHLauncher.RHLauncher {
}
}
/// <summary>
/// Looks up a localized string similar to Game Settings.
/// </summary>
public static string GameSettings {
get {
return ResourceManager.GetString("GameSettings", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Info.
/// </summary>
@ -276,6 +348,15 @@ namespace RHLauncher.RHLauncher {
}
}
/// <summary>
/// Looks up a localized string similar to Install Location.
/// </summary>
public static string InstallLocation {
get {
return ResourceManager.GetString("InstallLocation", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Invalid Verification Code.
/// </summary>
@ -303,6 +384,15 @@ namespace RHLauncher.RHLauncher {
}
}
/// <summary>
/// Looks up a localized string similar to Rusty Hearts Launcher.
/// </summary>
public static string LauncherFormTitle {
get {
return ResourceManager.GetString("LauncherFormTitle", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Error checking for launcher update: .
/// </summary>
@ -420,6 +510,15 @@ namespace RHLauncher.RHLauncher {
}
}
/// <summary>
/// Looks up a localized string similar to Logout.
/// </summary>
public static string Logout {
get {
return ResourceManager.GetString("Logout", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Are you sure you want to logout?.
/// </summary>
@ -429,6 +528,24 @@ namespace RHLauncher.RHLauncher {
}
}
/// <summary>
/// Looks up a localized string similar to &lt; Manage.
/// </summary>
public static string Manage {
get {
return ResourceManager.GetString("Manage", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Message.
/// </summary>
public static string MsgBoxFormTitle {
get {
return ResourceManager.GetString("MsgBoxFormTitle", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Enter the new password.
/// </summary>
@ -447,6 +564,24 @@ namespace RHLauncher.RHLauncher {
}
}
/// <summary>
/// Looks up a localized string similar to No.
/// </summary>
public static string No {
get {
return ResourceManager.GetString("No", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Open Install Dir.
/// </summary>
public static string OpenInstallDir {
get {
return ResourceManager.GetString("OpenInstallDir", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Packing.
/// </summary>
@ -547,7 +682,25 @@ namespace RHLauncher.RHLauncher {
}
/// <summary>
/// Looks up a localized string similar to Re-enter the new password.
/// Looks up a localized string similar to Register Account.
/// </summary>
public static string RegFormTitle {
get {
return ResourceManager.GetString("RegFormTitle", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Register Account.
/// </summary>
public static string RegisterAccount {
get {
return ResourceManager.GetString("RegisterAccount", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Repeat the new password.
/// </summary>
public static string RepeatPassword {
get {
@ -708,6 +861,24 @@ namespace RHLauncher.RHLauncher {
}
}
/// <summary>
/// Looks up a localized string similar to &quot;User Agreement&quot;.
/// </summary>
public static string UserAgreement {
get {
return ResourceManager.GetString("UserAgreement", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to 6-16 alphanumeric characters.
/// </summary>
public static string UsernameDesc {
get {
return ResourceManager.GetString("UsernameDesc", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Name cannot be empty.
/// </summary>
@ -788,5 +959,14 @@ namespace RHLauncher.RHLauncher {
return ResourceManager.GetString("Welcome", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Yes.
/// </summary>
public static string Yes {
get {
return ResourceManager.GetString("Yes", resourceCulture);
}
}
}
}

View file

@ -0,0 +1,423 @@
<?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="AccountDetails" xml:space="preserve">
<value>계정 정보</value>
</data>
<data name="AccountEmail" 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="Cancelling" 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="CheckUpdate" xml:space="preserve">
<value>업데이트 확인</value>
</data>
<data name="CodeDescLabel" xml:space="preserve">
<value>인증코드를 입력하세요</value>
</data>
<data name="CodeDescLabelInvalid" 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="InstallLocation" 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="LauncherFormTitle" 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="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="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="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="ServerOffline" 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>Version</value>
</data>
<data name="Welcome" xml:space="preserve">
<value>환영하다</value>
</data>
<data name="Yes" xml:space="preserve">
<value>예</value>
</data>
</root>

View file

@ -120,9 +120,21 @@
<data name="Account" xml:space="preserve">
<value>Account</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="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>
@ -132,6 +144,9 @@
<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>
@ -141,6 +156,9 @@
<data name="Checking" xml:space="preserve">
<value>Checking</value>
</data>
<data name="CheckUpdate" xml:space="preserve">
<value>Check Update</value>
</data>
<data name="CodeDescLabel" xml:space="preserve">
<value>Insert the verification code</value>
</data>
@ -171,6 +189,9 @@
<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>
@ -183,12 +204,18 @@
<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="InstallLocation" xml:space="preserve">
<value>Install Location</value>
</data>
<data name="InvalidVerificationCode" xml:space="preserve">
<value>Invalid Verification Code</value>
</data>
@ -198,6 +225,9 @@
<data name="Launch" xml:space="preserve">
<value>Launch</value>
</data>
<data name="LauncherFormTitle" xml:space="preserve">
<value>Rusty Hearts Launcher</value>
</data>
<data name="LauncherUpdateCheckFailed" xml:space="preserve">
<value>Error checking for launcher update: </value>
</data>
@ -237,15 +267,30 @@
<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="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 Dir</value>
</data>
<data name="Packing" xml:space="preserve">
<value>Packing</value>
</data>
@ -279,8 +324,14 @@
<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="RepeatPassword" xml:space="preserve">
<value>Re-enter the new password</value>
<value>Repeat the new password</value>
</data>
<data name="RepeatPasswordDesc" xml:space="preserve">
<value>Repeat the password</value>
@ -333,6 +384,12 @@
<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>
@ -360,4 +417,7 @@
<data name="Welcome" xml:space="preserve">
<value>Welcome</value>
</data>
<data name="Yes" xml:space="preserve">
<value>Yes</value>
</data>
</root>