2013-05-07 4 views
-1

Я открыл mscorlib в ILSpy и я вижу в папке ресурсов:локализовать mscorlib.dll ресурсы

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

Есть ли способ, чтобы локализовать эту строку?

(Контекст: приложение silverlight выводит это сообщение, когда вводится неправильный номер, и было бы намного проще просто изменить это, чем записывать конвертер и применять его в сотнях мест).

ответ

0

Единственное решение, которое работает следующим образом:

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

Silverlight локализован со спутниковыми узлами. Вы можете увидеть их в своем месте установки Silverlight. На моей машине у меня установлен Silverlight 5 в C: \ Program Files (x86) \ Microsoft Silverlight \ 5.1.20125.0 Откорректируйте номер версии, если необходимо, на вашем компьютере.

Обратите внимание на множество подкаталогов с двумя буквами, например, «ar» - это арабский язык. Посмотрите в этом каталоге, обратите внимание на файл mscorlib.resources.dll. Это сателлитная сборка, которая содержит локализованные строки, включая строки сообщений исключения. Арабские строки в этом конкретном каталоге.

И будет автоматически отображаться на машине, пользователь которой выбрал арабский язык как предпочтительный. Вам не нужно помогать.

+0

Спасибо за ваш ответ. У меня есть региональные настройки, установленные на литовском языке на моей машине, но ошибка на английском языке. А также в файле xap нет спутниковых сборок, независимо от того, что я пытаюсь (в основном, что рекомендуется [здесь] (http://msdn.microsoft.com/en-us/library/cc838238%28v=vs.95%29. ASPX)). Как включить их? – ren

+0

Вздох, почему на Земле вы бы оставили это без вопросов? –

+0

Что я пробовал только после вашего ответа, во всяком случае, должен быть отдельный вопрос, вы правы – ren