Android, iOS 및 Windows Phone을 대상으로하는 Xamarin 프로젝트가 있습니다. 나는 다른 플랫폼간에 공통 코드를 공유하기 위해 코어 (PCL 라이브러리)를 사용했다. "LoginLabel는"내 자원 키와 값 xamarin을 사용하고 iOS에만 문제가있는 모바일 크로스 플랫폼 현지화
public string GetString()
{
// CommonResources is the name of my resource file
ResourceManager resManager = new ResourceManager(typeof(CommonResources));
return resManager.GetString("LoginLabel",CultureInfo.CurrentCulture);
}
입니다
: 내 핵심 라이브러리와 난 내 뷰 모델 중 하나에 코드 다음 사용 문화 특정 문자열을 읽는 자원 파일 (.NET 자원)의 .resx 추가 "로그인"(영어) 및 "inloggen"(네덜란드어)입니다.필자는 PCL 프로젝트에서 English와 Dutch 용으로 두 개의 리소스 파일 CommonResources를 만들었습니다. CommonResources.resx
CommonResources.nl-NL.resx 안드로이드에서
는 iOS 및 윈도우 폰, 나는 다음과 같이 문화를 설정합니다
Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo("nl-NL");
Thread.CurrentThread.CurrentUICulture = new System.Globalization.CultureInfo("nl-NL");
이 안드로이드와 윈도우 폰에 대해 잘 작동합니다.
iOS의 경우 작동하지 않습니다. 영어 파일에서 항상 리소스 문자열을 반환합니다. 문화권이 올바르게 설정되고 디버그 모드로 표시됩니다. 하지만 어쨌든 네덜란드 리소스에서 리소스 문자열을로드 할 수 없습니다.
그래서 모든 플랫폼에서 PCL을 사용하여 문자열 (.Net 방식)을 현지화 할 수 있습니까? 누구나 아이디어가 있습니까? 미리 감사드립니다.
네덜란드어가 유일한 다른 언어입니까? 그렇지 않은 경우 다른 언어가 예상대로 작동합니까? 그렇다면 다른 언어를 테스트로 추가 할 수 있습니까? – chad
아니요, 힌디어는 네덜란드어와 다른 언어입니다. 영어 만 지원하는 언어는 지원하지 않습니다. – SoftSan