Я пытаюсь локализовать приложение Windows Phone 7 с помощью спутниковых сборок.Я построил
(al /t:lib /embed:stringlibrary.it-It.resx /culture:it /out:PhoneApp2.resources.dll /template:PhoneApp2.dll)
dll "PhoneApp2.resources.dll" для моего приложения PhoneApp2 из файла ресурсов stringlibrary.it-It.resx
, а затем я загрузил dll с помощью веб-клиента и сохранил в каталоге it-IT из приложенияPhoneApp2. Теперь dll находится в изолированном хранилище phoneapp2.
У меня есть еще один файл ресурсов stringlibrary.resx, который всегда компилируется с приложением и содержит записи для поддержки английского языка (по умолчанию).
using (IsolatedStorageFileStream stream = new IsolatedStorageFileStream("it-IT\\"+resfile, System.IO.FileMode.Create, file))
{
byte[] buffer = new byte[1024];
while (e.Result.Read(buffer, 0, buffer.Length) > 0)
{
stream.Write(buffer, 0, buffer.Length);
}
}
Iиметь запись [assembly: NeutralResourcesLanguageAttribute ("it-IT", UltimateResourceFallbackLocation.Satell)] в файле сборки.
Он всегда показывает мне текст на нейтральном языке (английский) в окне сообщений, даже если текущий язык икультура итальянскаяЭто означает, что он не может найти спутниковую сборку.
rm = new ResourceManager("PhoneApp2.stringlibrary", Assembly.GetExecutingAssembly());
string greeting = rm.GetString("String1");
MessageBox.Show(greeting);
Но если я скомпилирую stringlibrary.it-It.resx
с PhoneApp2 вместо спутниковой сборки, в окне сообщений правильно отображается итальянский текст, когда культура итальянская и английский для английскогоМойылдыКатон.Я что-то упускаю при развертывании спутниковых сборок?Пожалуйста, дайте мне знать.
С уважением, Сентил