2013-05-07 2 views
-1

나는 ILSpy에 mscorlib의를 열었습니다 나는 자원 폴더에 참조하십시오지역화의가 mscorlib.dll 자원

Name, Value 
[Format_InvalidString, Input string was not in a correct format.] 

이 문자열을 지역화 할 수있는 방법이 있습니까?

(컨텍스트 : 잘못된 번호를 입력 할 때마다 silverlight 앱이이 메시지를 표시하므로 변환기를 작성하고 수백 가지 위치에 적용하는 것보다이 번호를 변경하는 것이 훨씬 쉽습니다.)

답변

0

유일한 해결책은 이것이다.

0

Silverlight는 위성 어셈블리와 함께 현지화되었습니다. Silverlight 설치 위치에서 볼 수 있습니다. 내 컴퓨터에서 Silverlight 5를 C : \ Program Files (x86) \ Microsoft Silverlight \ 5.1.20125.0에 설치해야합니다. 필요한 경우 버전 번호를 조정하십시오.

두 개의 문자 이름을 가진 많은 하위 디렉토리에 유의하십시오. "ar"은 예를 들어 아랍어 용입니다. 해당 디렉토리에서 mscorlib.resources.dll 파일을 확인하십시오. 이것은 예외 메시지 문자열을 포함하여 지역화 된 문자열을 포함하는 위성 어셈블리입니다. 특정 디렉토리에있는 아랍어 문자열.

사용자가 선호하는 언어로 아랍어를 선택한 컴퓨터에 자동으로 표시됩니다. 도움이 필요하지 않습니다.

public partial class MyEntity   
{ 
    public string MyField_string 
    { 
     get 
     { 
      return MyField.ToString(); 
     } 
     set 
     { 
      decimal res = 0; 
      var b = Decimal.TryParse(value, out res); 
      if (!b) 
       throw new ArgumentException("Localized message"); 
      else 
       this.MyField = Math.Round(res, 2); 
     } 
    } 

    partial void OnMyFieldChanged() 
    { 
     RaisePropertyChanged("MyField_string"); 
    } 
} 

그리고 MyField_string 대신 MyField 바인딩 : 작동

+0

답변 해 주셔서 감사합니다. 내 컴퓨터에서 지역 설정이 리투아니아어로 설정되어 있지만 오류는 영어로되어 있습니다. 또한 xap 파일에는 위성 어셈블리가 없습니다. 무엇을 시도하든 상관 없습니다 (주로 [여기] (http://msdn.microsoft.com/en-us/library/cc838238%28v=vs.95%29). aspx)). 어떻게 그들을 포함시켜야합니까? – ren

+0

한숨, 왜 지구상에 질문을 남기지 않겠습니까? –

+0

어쨌든 당신의 대답 후에 만 ​​시도한 것은 분리 된 질문이어야합니다, 당신 말이 맞습니다. – ren