아래의 짧은 기사를 사용하여 다중 언어를 추가했습니다.C# 다국어 용 설정 만들기
당신은 예를 들어 독일어 언어 추가하면 이러한 파일이됩니다 formMain.resx formMain.de-DE.resx formMain.Designer.cs formMain.cs 첫 번째 파일에서
을 당신은 자원이됩니다 문자열, 이미지, ...과 같은 중립 언어 용.
이제 코드에 사용 된 문자열에도 리소스를 추가해야합니다. 새 리소스 파일을 추가하고 formMain.Strings.resx 이름을 입력하십시오. 그런 다음 변환해야하는 모든 문자열에 대해 name, value 쌍을 입력합니다. 리소스 파일을 추가하면 resx 디자이너가 닫을 때마다 formMain.Strings.Designer.cs라는 이름의 다른 파일이 자동으로 다시 생성되므로 자동으로 입력됩니다.
formMain.Strings.de-DE.resx라는 이름의 다른 리소스를 추가하십시오. 이전 자원에서 동일한 이름 키를 추가하고 해당하는 독일어 단어로 값을 변경하십시오. 이제는 소스에서 생성 된 리소스에 액세스하려면 다음과 같이됩니다.
MessageBox.Show (formMain_Strings.SameStringName);
그러나 나는 태국어로 바꿨다. VS에서 내 앱을 실행할 때 모든 것이 잘 작동합니다.
그러나 설치 프로젝트를 추가하고 클라이언트 컴퓨터에 설치하자마자 언어가 태국어로 변경되지 않고 기본 언어 만 유지하면됩니다.
그래서 리소스 파일과 th-TH dll을 프로젝트 설정에 추가했습니다. 그리고 나는 여전히 같은 문제를 겪고 있습니다.
Packaging file 'Lang.Strings.resx'...
Packaging file 'MultiLanguage.resources.dll'...
Packaging file 'MultiLanguage.exe'...
Packaging file 'Lang.Strings.th-TH.resx'...
Visual Studio에서 실행하면 모든 것이 잘 작동합니다. 일단 설치되면 실행되도록해야 할 일이 있습니까? 각 파일의 모든 속성은 기본값을 유지합니다.
많은 감사,
=========
static void Main()
{
System.Threading.Thread.CurrentThread.CurrentUICulture =
new System.Globalization.CultureInfo("th-TH");
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form1());
}
가능하다면 가능한 한 빨리 설치 프로젝트를 중단하고 Windows Installer XML (WiX)로 전환하는 것이 좋습니다. 한 번 설치 프로젝트를 사용하여 제품을 출하했습니다. 다시는. 절대로 다시는. – Promit
방금 WiX를 살펴보고 설치 패키지에 현지화 된 리소스 dll을 포함시키지 못했습니다. 모든 종류의 설치 프로젝트에서 지역화 된 리소스가 단순히 작동하지 않는 것 같습니다 (현재 VC++ 프로젝트에서 작업 중입니다). – galmok