Enum이 정의한 언어로 여러 언어에 대응하고 싶어요.
다국적 언어의 대응에 대해 말하자면 일반적으로 자원 파일을 정의하고 그 중에서 호출하는 수단을 취한다.
예를 들어 Properties 내의 Resources 와 같습니다.resx에서 다음과 같이 정의합니다.
property.cs
// 日本語用リソースだと”4逓倍”、英語用だと”Multiple 4”
string str = Properties.Resources.Multi4
모든 언어는 자원 파일을 준비하고 있으며, 전환을 통해str에 저장된 문자열을 변경할 수 있습니다.다른 한편, Enum으로 자원을 호출하려고 해도 선언할 때 호출할 수 없다.
enum CountType
{
Multi4,
Multi2,
Multi1
}
해결책따라서 확장 방법을 사용하여 자원 파일에서 다양한 언어의 태그를 호출합니다.
public static string GetName(this CountType e)
{
switch (e)
{
case CountType.Multi4:
return Properties.Resources.Multi4;
case CountType.Multi2:
return Properties.Resources.Multi2;
case CountType.Multi1:
return Properties.Resources.Multi1;
default:
return "Undefined";
}
}
사용 시 GetName() 메서드를 호출합니다.foreach (CountType type in Enum.GetValues(typeof(CountType)))
{
Combobox.Items.Add(type.GetName());
}
이렇게 하면 일본어로 쓸 수 있다.컨디션
Visual Studio 2017 Community
.Net Framework 4.6
C#
참고 문헌
WPF 응용의 국제화(다중 언어 대응) 및 실행 중인 동적 언어 전환
WPF Runtime Localization
Reference
이 문제에 관하여(Enum이 정의한 언어로 여러 언어에 대응하고 싶어요.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/Shons_a/items/255a865cc5fb6a1f2db5텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)