Tôi đang làm việc trên menu cho các cài đặt phím tắt của ứng dụng của tôi. Ứng dụng hỗ trợ hai ngôn ngữ (tiếng Anh và tiếng Đức), vì vậy tôi cần để có thể hiển thị chuỗi văn hóa phụ thuộc. Ví dụ. Ctrl + Ins cho "en-US" và Strg + Einfg cho "de-DE".Khóa bàn phím nội địa hóa
Xét rằng số lượng các phím có thể không phải là rất lớn tôi có thể xác định nguồn lực cho mỗi phím, nhưng tôi cho rằng vấn đề này không phải là hiếm và có nên được tích hợp chức năng hoặc cũng biết thư viện cho mục đích này.
Tôi đã thử ConvertToString() từ System.Windows.Forms.KeysConverter:
var kc = new System.Windows.Forms.KeysConverter();
var de = kc.ConvertToString(null, new CultureInfo("de-DE"), Keys.Insert);
Console.WriteLine(de);
Và GetDisplayStringForCulture() từ System.Windows.Input.KeyGesture:
System.Windows.Input.KeyGesture kg = new KeyGesture(Key.Insert);
var de = kg.GetDisplayStringForCulture(new CultureInfo("de-AT"));
Console.WriteLine(de);
Nhưng cả hai trong số họ trả về tiếng Anh "Ins" và "Insert" tương ứng.
Vì vậy, về cơ bản, tôi đang tìm phương pháp sẽ chấp nhận một số loại khóa và văn bản tiêu chuẩn chính và trả về chuỗi được bản địa hóa tương ứng.
http://stackoverflow.com/questions/37100079/how-to-get-the-localized-keyboard-key-name-in-vs-c-sharp? – CodeCaster
@CodeCaster 'var x = kc.ConvertTo (null, CultureInfo mới (" de-DE "), Keys.Insert, typeof (String));' 'Console.WriteLine (x);' Sẽ trả về "Ins ". Vì vậy, về cơ bản các công trình tương tự như cách ConvertToString() từ exemple của tôi. – invo
Bạn có thể thử https://github.com/SeriousM/WPFLocalizationExtension. Bên cạnh việc liên kết với DependencyProperties trong Xaml (các công cụ WPF), bạn cũng có thể lấy các giá trị tài nguyên cục bộ theo lập trình trong mã. – Dima