I 인터페이스 현지화에 대해 배우고, 사용자가 버튼을 클릭하고 표시되는 언어를 변경할 수 있도록 비주얼 스튜디오 내 프로그램에 대한 나의 목표를 확인하는 것입니다 2008 년 WPF를 사용하고 창문에. 사용자가 단추를 클릭 할 때 코드 숨김 섹션에서 런타임에 리소스 파일을 변경하려고했습니다.변경 리소스 파일은
이 질문을 읽고 : 내가 버튼을 클릭 이벤트에 위의 변경을 원하기 때문에 Programmatically change resource file language (resx) in Code Behind
그러나이 나에게 해결책이 될 것 같지 않습니다. 이 질문에 대한 답변을 얻었습니다.이 질문에 유래 stackoverflow.com 의해 질문 여기
내가 이전 질문의 기반으로, 행운과 노력했습니다 것입니다 :/// Change to English-US
private void Button2_Click(object sender, RoutedEventArgs e)
{
protected override void InitializeCulture()
{
base.InitializeCulture();
System.Threading.Thread.CurrentThread.CurrentUICulture = new CultureInfo("en-US");
}
}
/// Change to German
private void Button3_Click(object sender, RoutedEventArgs e)
{
protected override void InitializeCulture()
{
base.InitializeCulture();
System.Threading.Thread.CurrentThread.CurrentUICulture = new CultureInfo("de-DE");
}
}
나는 학교에서 지금은 몇 년에 대한 내 자신에 프로그래밍 봤는데, 그래서 ' 절대적인 멍청 아. 그러나 저는 C#과 WPF에 익숙하지 않습니다. 내가 아는 바로는, 내 코드에서와 같이 함수 내에 함수를 가질 수 없습니다. 버튼 클릭 이벤트로 작업해야하기 때문에 여기에 넣은 유일한 이유가 있습니다.
도움을 주시면 대단히 감사하겠습니다. WPF는 현지화 및 로컬 라이 제이션의 말에 의해 윈폼 같은 기능을 지원하지 않습니다처럼
namespace LocalizationConcept
{
/// <summary>
/// Interaction logic for Window1.xaml
/// </summary>
public partial class Window1 : Window
{
public Window1()
{
Properties.Resources.Culture = new CultureInfo(ConfigurationManager.AppSettings["Culture"]);
///InitializeComponent();
}
/// Exit Button
private void button1_Click(object sender, RoutedEventArgs e)
{
System.Environment.Exit(0);
}
private void ChangeCulture(string cultureKey)
{
try
{
System.Threading.Thread.CurrentThread.CurrentUICulture = new CultureInfo(cultureKey);
}
catch (Exception err)
{
System.Environment.Exit(0);
}
}
private void Button2_Click(object sender, RoutedEventArgs e)
{
ChangeCulture("en-US");
}
private void Button3_Click(object sender, RoutedEventArgs e)
{
ChangeCulture("de-DE");
}
}
}
이전에 가지고 있던 버튼 클릭 이벤트를 완전히 지우고 입력했습니다. 컴파일러에는 문제가 없지만 버튼을 클릭하면 언어가 변경되지 않습니다. 새 코드를 게시합니다. - 프로그램을 실행하기 전에 언어를 변경하는 데 사용했던 app.config 파일이 있다는 점에 유의해야합니다. –
방금 관련성이 있지만 비슷한 답변이있는 링크를 추가했습니다. –
내 인터페이스의 모든 텍스트를 현지화하려고합니다. 버튼, 텍스트 상자 및 탭 항목에 대한 텍스트가 있습니다. 그 링크가 잘 작동할까요? 내가 묻는 유일한 이유는 예를 들어 문자열을 XAML 창에 항상 코드화하기 때문입니다. –