VS2013이있는 관리되는 C++ CLR 프로젝트에서 .resx 파일을 문자열 지역화에 사용하려고합니다. 내 프로젝트 Resources Files 폴더에서 항목> .resx 파일을 마우스 오른쪽 버튼으로 클릭하고 AppLocalization.resx로 이름을 지정하십시오. 다시 한 번 AppLocalization.fr.resx를 만듭니다. 그런 다음 각각에 동일한 이름의 다른 문자열을 추가합니다. 내 응용 프로그램을 실행하면 다음과 같은 코드는 AppLocalization.resx 파일에서 올바른 문자열을 가져옵니다 : 관리되는 C++로 현지화하기위한 .resx 파일
ResourceManager ^rm1 = gcnew ResourceManager(L"My_App.AppLocalization", Assembly::GetExecutingAssembly());
this->Text = rm1->GetString(L"My String Name");
는 지금은 .fr과 프랑스어 번역을 검사 할 내가하는 데 문제가 곳이다.
this->Text = rm1->GetString(L"My String Name", gcnew System::Globalization::CultureInfo("fr"));
System::Threading::Thread::CurrentThread->CurrentCulture = gcnew System::Globalization::CultureInfo("fr-FR");
System::Threading::Thread::CurrentThread->CurrentUICulture = gcnew System::Globalization::CultureInfo("fr-FR");
this->Text = rm1->GetString(L"My String Name");
의심의 여지는 내가 잘못 또는 피난처를하고있어 간단한 일을 될 것 '이 모두는 .fr.resx 파일에서 문자열을 얻을 대신 AppLocalization.resx 파일에서 문자열을 반환하지 t 세트,하지만 많은 검색 후 나는 해결책을 찾을 수 없습니다. 디버그 모드와 릴리스 모드에서 테스트를 시도했습니다. \ fr \ My_App.resources.dll 파일이 디버그 및 릴리스 폴더에 만들어 졌는지 확인했지만 실행하려고 시도한 내용은 런타임에 사용되지 않습니다.
"fr-FR "과 같은 특정 문화권에서"fr "과 같은 중립적 인 문화로 전환하는 방법을 결코 알지 못했습니다. 그것과 함께하기 전에. –
"fr"또는 "fr-FR"(나는 도처에 시도했다)와 함께 일하지 않는 것에 따라 그것은 뒤의 뒤의 이슈가 아니다 – Adam
2 일 이후 이것에 어떤 대답도받지 않고 있었는지 나는 궁금하게 생각하고있다 다른 사람들이 같은 문제를 경험하지 못했다는 것을 의미합니까? 위의 내용은 C#의 광범위한 검색에서 작동합니다. 그러나 C++을 사용하고 있습니다.이 같은 경우 프로젝트에 추가 설정이 필요할 수 있습니다. C++ 사용자는 아무런 문제없이 위의 작업을 성공적으로 수행했는지 여부를 알려줍니다.이 경우 프로젝트에 특정한 것이어야합니다. – Adam