diff --git a/KeyConverter/KeyConverterGUI/KeyConverterGUI.csproj b/KeyConverter/KeyConverterGUI/KeyConverterGUI.csproj
index 31d7df3..2b7e8c0 100644
--- a/KeyConverter/KeyConverterGUI/KeyConverterGUI.csproj
+++ b/KeyConverter/KeyConverterGUI/KeyConverterGUI.csproj
@@ -92,6 +92,22 @@
Designer
+
+
+ True
+ True
+ Resources.en-US.resx
+
+
+ ResourcesKeyboard.en-US.resx
+ True
+ True
+
+
+ True
+ True
+ ResourcesKeyboard.resx
+
@@ -134,7 +150,7 @@
Code
-
+
True
True
Resources.resx
@@ -144,10 +160,22 @@
Settings.settings
True
-
- ResXFileCodeGenerator
+
+ PublicResXFileCodeGenerator
+ Resources.en-US.Designer.cs
+
+
+ PublicResXFileCodeGenerator
Resources.Designer.cs
+
+ PublicResXFileCodeGenerator
+ ResourcesKeyboard.en-US.Designer.cs
+
+
+ PublicResXFileCodeGenerator
+ ResourcesKeyboard.Designer.cs
+
diff --git a/KeyConverter/KeyConverterGUI/LangResource/ResourceService.cs b/KeyConverter/KeyConverterGUI/LangResource/ResourceService.cs
new file mode 100644
index 0000000..cfa53dd
--- /dev/null
+++ b/KeyConverter/KeyConverterGUI/LangResource/ResourceService.cs
@@ -0,0 +1,69 @@
+using KeyConverterGUI.LangResource.Resources;
+using System.ComponentModel;
+using System.Globalization;
+
+namespace LangResource
+{
+ ///
+ /// 多言語化されたリソースと、言語の切り替え機能を提供します。
+ ///
+ public class ResourceService : INotifyPropertyChanged
+ {
+ #region Static Members
+ public const string Japanese = "ja";
+ public const string English = "en-US";
+ #endregion
+
+ #region singleton members
+
+ private static readonly ResourceService current = new ResourceService();
+ public static ResourceService Current
+ {
+ get { return current; }
+ }
+
+ #endregion
+
+ ///
+ /// 多言語化されたリソースを取得します。
+ ///
+ public Resources Resources { get; } = new Resources();
+ public ResourcesKeyboard ResourcesKeyboard { get; } = new ResourcesKeyboard();
+
+
+ #region INotifyPropertyChanged members
+
+ public event PropertyChangedEventHandler PropertyChanged;
+
+ protected virtual void RaisePropertyChanged(string propertyName = null)
+ {
+ PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));
+ }
+
+ #endregion
+
+ ///
+ /// 指定されたカルチャ名を使用して、リソースのカルチャを変更します。
+ ///
+ /// カルチャの名前。
+ public void ChangeCulture(string name)
+ {
+ var cultureInfo = CultureInfo.GetCultureInfo(name);
+ Resources.Culture = cultureInfo;
+ ResourcesKeyboard.Culture = cultureInfo;
+ RaisePropertyChanged("Resources");
+ RaisePropertyChanged("ResourcesKeyboard");
+ }
+
+ public string Culture
+ {
+ get
+ {
+ if (Resources.Culture != null)
+ return Resources.Culture.Name;
+ else
+ return CultureInfo.CurrentCulture.Name;
+ }
+ }
+ }
+}
diff --git a/KeyConverter/KeyConverterGUI/LangResource/Resources/Resources.Designer.cs b/KeyConverter/KeyConverterGUI/LangResource/Resources/Resources.Designer.cs
new file mode 100644
index 0000000..0c49f42
--- /dev/null
+++ b/KeyConverter/KeyConverterGUI/LangResource/Resources/Resources.Designer.cs
@@ -0,0 +1,99 @@
+//------------------------------------------------------------------------------
+//
+// このコードはツールによって生成されました。
+// ランタイム バージョン:4.0.30319.42000
+//
+// このファイルへの変更は、以下の状況下で不正な動作の原因になったり、
+// コードが再生成されるときに損失したりします。
+//
+//------------------------------------------------------------------------------
+
+namespace KeyConverterGUI.LangResource.Resources {
+ using System;
+
+
+ ///
+ /// ローカライズされた文字列などを検索するための、厳密に型指定されたリソース クラスです。
+ ///
+ // このクラスは StronglyTypedResourceBuilder クラスが ResGen
+ // または Visual Studio のようなツールを使用して自動生成されました。
+ // メンバーを追加または削除するには、.ResX ファイルを編集して、/str オプションと共に
+ // ResGen を実行し直すか、または VS プロジェクトをビルドし直します。
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "15.0.0.0")]
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
+ public class Resources {
+
+ private static global::System.Resources.ResourceManager resourceMan;
+
+ private static global::System.Globalization.CultureInfo resourceCulture;
+
+ [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
+ internal Resources() {
+ }
+
+ ///
+ /// このクラスで使用されているキャッシュされた ResourceManager インスタンスを返します。
+ ///
+ [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
+ public static global::System.Resources.ResourceManager ResourceManager {
+ get {
+ if (object.ReferenceEquals(resourceMan, null)) {
+ global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("KeyConverterGUI.LangResource.Resources.Resources", typeof(Resources).Assembly);
+ resourceMan = temp;
+ }
+ return resourceMan;
+ }
+ }
+
+ ///
+ /// 厳密に型指定されたこのリソース クラスを使用して、すべての検索リソースに対し、
+ /// 現在のスレッドの CurrentUICulture プロパティをオーバーライドします。
+ ///
+ [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
+ public static global::System.Globalization.CultureInfo Culture {
+ get {
+ return resourceCulture;
+ }
+ set {
+ resourceCulture = value;
+ }
+ }
+
+ ///
+ /// マビノギを検出 に類似しているローカライズされた文字列を検索します。
+ ///
+ public static string UI_Detect_Mabinogi {
+ get {
+ return ResourceManager.GetString("UI_Detect_Mabinogi", resourceCulture);
+ }
+ }
+
+ ///
+ /// 無効化中 に類似しているローカライズされた文字列を検索します。
+ ///
+ public static string UI_Disabled {
+ get {
+ return ResourceManager.GetString("UI_Disabled", resourceCulture);
+ }
+ }
+
+ ///
+ /// 有効化中 に類似しているローカライズされた文字列を検索します。
+ ///
+ public static string UI_Enabled {
+ get {
+ return ResourceManager.GetString("UI_Enabled", resourceCulture);
+ }
+ }
+
+ ///
+ /// キーボードマッピング に類似しているローカライズされた文字列を検索します。
+ ///
+ public static string UI_Keyboard_Mapping {
+ get {
+ return ResourceManager.GetString("UI_Keyboard_Mapping", resourceCulture);
+ }
+ }
+ }
+}
diff --git a/KeyConverter/KeyConverterGUI/LangResource/Resources/Resources.en-US.Designer.cs b/KeyConverter/KeyConverterGUI/LangResource/Resources/Resources.en-US.Designer.cs
new file mode 100644
index 0000000..e69de29
diff --git a/KeyConverter/KeyConverterGUI/LangResource/Resources/Resources.en-US.resx b/KeyConverter/KeyConverterGUI/LangResource/Resources/Resources.en-US.resx
new file mode 100644
index 0000000..8901baf
--- /dev/null
+++ b/KeyConverter/KeyConverterGUI/LangResource/Resources/Resources.en-US.resx
@@ -0,0 +1,132 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 2.0
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ Detect Mabinogi
+
+
+ Now Disabled
+
+
+ Now Enabled
+
+
+ Keyboard Mapping
+
+
\ No newline at end of file
diff --git a/KeyConverter/KeyConverterGUI/Properties/Resources.resx b/KeyConverter/KeyConverterGUI/LangResource/Resources/Resources.resx
similarity index 84%
rename from KeyConverter/KeyConverterGUI/Properties/Resources.resx
rename to KeyConverter/KeyConverterGUI/LangResource/Resources/Resources.resx
index af7dbeb..dbb7f10 100644
--- a/KeyConverter/KeyConverterGUI/Properties/Resources.resx
+++ b/KeyConverter/KeyConverterGUI/LangResource/Resources/Resources.resx
@@ -46,7 +46,7 @@
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
- : System.Serialization.Formatters.Binary.BinaryFormatter
+ : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
@@ -60,6 +60,7 @@
: and then encoded with base64 encoding.
-->
+
@@ -68,9 +69,10 @@
-
+
+
@@ -85,9 +87,10 @@
-
+
+
@@ -109,9 +112,21 @@
2.0
- System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
- System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+ マビノギを検出
+
+
+ 無効化中
+
+
+ 有効化中
+
+
+ キーボードマッピング
+
\ No newline at end of file
diff --git a/KeyConverter/KeyConverterGUI/Properties/Resources.Designer.cs b/KeyConverter/KeyConverterGUI/LangResource/Resources/ResourcesKeyboard.Designer.cs
similarity index 67%
rename from KeyConverter/KeyConverterGUI/Properties/Resources.Designer.cs
rename to KeyConverter/KeyConverterGUI/LangResource/Resources/ResourcesKeyboard.Designer.cs
index eb70ada..7e1d3de 100644
--- a/KeyConverter/KeyConverterGUI/Properties/Resources.Designer.cs
+++ b/KeyConverter/KeyConverterGUI/LangResource/Resources/ResourcesKeyboard.Designer.cs
@@ -8,7 +8,7 @@
//
//------------------------------------------------------------------------------
-namespace KeyConverterGUI.Properties {
+namespace KeyConverterGUI.LangResource.Resources {
using System;
@@ -22,24 +22,24 @@ namespace KeyConverterGUI.Properties {
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "15.0.0.0")]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
- internal class Resources {
+ public class ResourcesKeyboard {
private static global::System.Resources.ResourceManager resourceMan;
private static global::System.Globalization.CultureInfo resourceCulture;
[global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
- internal Resources() {
+ internal ResourcesKeyboard() {
}
///
/// このクラスで使用されているキャッシュされた ResourceManager インスタンスを返します。
///
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
- internal static global::System.Resources.ResourceManager ResourceManager {
+ public static global::System.Resources.ResourceManager ResourceManager {
get {
if (object.ReferenceEquals(resourceMan, null)) {
- global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("KeyConverterGUI.Properties.Resources", typeof(Resources).Assembly);
+ global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("KeyConverterGUI.LangResource.Resources.ResourcesKeyboard", typeof(ResourcesKeyboard).Assembly);
resourceMan = temp;
}
return resourceMan;
@@ -51,7 +51,7 @@ internal Resources() {
/// 現在のスレッドの CurrentUICulture プロパティをオーバーライドします。
///
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
- internal static global::System.Globalization.CultureInfo Culture {
+ public static global::System.Globalization.CultureInfo Culture {
get {
return resourceCulture;
}
@@ -59,5 +59,32 @@ internal Resources() {
resourceCulture = value;
}
}
+
+ ///
+ /// 変換先キー に類似しているローカライズされた文字列を検索します。
+ ///
+ public static string UI_DestKey {
+ get {
+ return ResourceManager.GetString("UI_DestKey", resourceCulture);
+ }
+ }
+
+ ///
+ /// 変換したいキーを押してください。 に類似しているローカライズされた文字列を検索します。
+ ///
+ public static string UI_PushKeyDescript {
+ get {
+ return ResourceManager.GetString("UI_PushKeyDescript", resourceCulture);
+ }
+ }
+
+ ///
+ /// 変換元キー に類似しているローカライズされた文字列を検索します。
+ ///
+ public static string UI_SourceKey {
+ get {
+ return ResourceManager.GetString("UI_SourceKey", resourceCulture);
+ }
+ }
}
}
diff --git a/KeyConverter/KeyConverterGUI/LangResource/Resources/ResourcesKeyboard.en-US.Designer.cs b/KeyConverter/KeyConverterGUI/LangResource/Resources/ResourcesKeyboard.en-US.Designer.cs
new file mode 100644
index 0000000..e69de29
diff --git a/KeyConverter/KeyConverterGUI/LangResource/Resources/ResourcesKeyboard.en-US.resx b/KeyConverter/KeyConverterGUI/LangResource/Resources/ResourcesKeyboard.en-US.resx
new file mode 100644
index 0000000..7ff2c79
--- /dev/null
+++ b/KeyConverter/KeyConverterGUI/LangResource/Resources/ResourcesKeyboard.en-US.resx
@@ -0,0 +1,129 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 2.0
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ Dest Key
+
+
+ Please push converted key.
+
+
+ Source Key
+
+
\ No newline at end of file
diff --git a/KeyConverter/KeyConverterGUI/LangResource/Resources/ResourcesKeyboard.resx b/KeyConverter/KeyConverterGUI/LangResource/Resources/ResourcesKeyboard.resx
new file mode 100644
index 0000000..92f3f6c
--- /dev/null
+++ b/KeyConverter/KeyConverterGUI/LangResource/Resources/ResourcesKeyboard.resx
@@ -0,0 +1,129 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 2.0
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ 変換先キー
+
+
+ 変換したいキーを押してください。
+
+
+ 変換元キー
+
+
\ No newline at end of file
diff --git a/KeyConverter/KeyConverterGUI/Models/MainWindowModel.cs b/KeyConverter/KeyConverterGUI/Models/MainWindowModel.cs
index 4925b9b..98cd7b4 100644
--- a/KeyConverter/KeyConverterGUI/Models/MainWindowModel.cs
+++ b/KeyConverter/KeyConverterGUI/Models/MainWindowModel.cs
@@ -18,12 +18,10 @@ namespace KeyConverterGUI.Models
public class MainWindowModel : ModelBase, IDisposable
{
#region Constants
- private const string DISABLED_TEXT = "Now Disabled";
- private const string ENABLED_TEXT = "Now Enabled";
#endregion
#region Fields
- private string buttonText = DISABLED_TEXT;
+ private string buttonText = LangResource.Resources.Resources.UI_Disabled;
private bool enabledBtEnabled = true;
private bool keymappingBtEnabled = true;
@@ -109,7 +107,7 @@ public void EnabledOrDisabled()
ChangeBaseBackground?.Invoke(resourceDictionary["EnabledColor"] as SolidColorBrush);
isEnabled = true;
- ButtonText = ENABLED_TEXT;
+ ButtonText = LangResource.Resources.Resources.UI_Enabled;
}
else
{
@@ -122,7 +120,7 @@ public void EnabledOrDisabled()
ChangeBaseBackground?.Invoke(resourceDictionary["MainColor"] as SolidColorBrush);
isEnabled = false;
- ButtonText = DISABLED_TEXT;
+ ButtonText = LangResource.Resources.Resources.UI_Disabled;
}
KeymappingBtEnabled = !isEnabled;
}
diff --git a/KeyConverter/KeyConverterGUI/Views/KeyboardWindow.xaml b/KeyConverter/KeyConverterGUI/Views/KeyboardWindow.xaml
index c092278..d282a65 100644
--- a/KeyConverter/KeyConverterGUI/Views/KeyboardWindow.xaml
+++ b/KeyConverter/KeyConverterGUI/Views/KeyboardWindow.xaml
@@ -6,6 +6,7 @@
xmlns:i="http://schemas.microsoft.com/expression/2010/interactivity"
xmlns:key="clr-namespace:InterceptKeyboardLib.KeyMap;assembly=InterceptKeyboardLib"
xmlns:CommonViews="clr-namespace:CommonStyleLib.Views;assembly=CommonStyleLib"
+ xmlns:lang="clr-namespace:LangResource"
xmlns:local="clr-namespace:KeyConverterGUI.Views"
mc:Ignorable="d"
Title="KeyboardWindow" Height="420" Width="710" ResizeMode="CanMinimize">
@@ -429,14 +430,16 @@
-
+
+
-
+
+
-
+
diff --git a/KeyConverter/KeyConverterGUI/Views/MainWindow.xaml b/KeyConverter/KeyConverterGUI/Views/MainWindow.xaml
index 9d71593..0ff25eb 100644
--- a/KeyConverter/KeyConverterGUI/Views/MainWindow.xaml
+++ b/KeyConverter/KeyConverterGUI/Views/MainWindow.xaml
@@ -5,6 +5,7 @@
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:i="http://schemas.microsoft.com/expression/2010/interactivity"
xmlns:CommonViews="clr-namespace:CommonStyleLib.Views;assembly=CommonStyleLib"
+ xmlns:lang="clr-namespace:LangResource"
xmlns:local="clr-namespace:KeyConverterGUI"
mc:Ignorable="d"
Icon="pack://application:,,,/CommonStyleLib;component/Resources/1.ico"
@@ -91,9 +92,9 @@
-
+
-
+