Имеется проект с поддержкой локализации на базе сборок-сателитов. Исходников к данному проекту нет.
Хотелось бы руссифицировать web-интерфейс.
В каталоге bin лежит файл adminstrings.dll в подкаталоге ja adminstrings.resources.dll
При просмотре файлов ildasm видим
___[MOD] ...\bin\ja\adminstrings.resources.dll
| M A N I F E S T
|___[NSP] AdminStrings
| |___[CLS] UIStringManager
| | | .class public auto ansi
| | |___[STF] StringResource : public static class [mscorlib]System.Resources.ResourceManager
| | |___[STF] preferredDBCulture : private static string
| | |___[STF] utcOffset : private static int32
| | |___[STM] .cctor : void()
| | |___[MET] .ctor : void()
| | |___[STM] AddDateTimeOffset : valuetype [mscorlib]System.DateTime(valuetype [mscorlib]System.DateTime,valuetype [mscorlib]System.TimeSpan)
| | |___[STM] ClientDateTimeToUtc : valuetype [mscorlib]System.DateTime(valuetype [mscorlib]System.DateTime)
| | |___[STM] GetCultureInfo : void(string,class [mscorlib]System.Globalization.CultureInfo&)
| | |___[STM] GetDefaultTimezoneOffset : string()
| | |___[STM] GetPreferredSpecificCultureFromNeutralCulture : void(class [mscorlib]System.Globalization.CultureInfo&)
| | |___[STM] GetString : string(string)
| | |___[STM] GetUserCulture : class [mscorlib]System.Globalization.CultureInfo(string[])
| | |___[STM] ServerDateTimeToClientDateTime : valuetype [mscorlib]System.DateTime(valuetype [mscorlib]System.DateTime)
| | |___[STM] SetUserCulture : class [mscorlib]System.Globalization.CultureInfo(string[],string)
| | |___[STM] SetUtcOffset : void(string)
| | |___[STM] UserCultureSupported : bool(class [mscorlib]System.Globalization.CultureInfo)
| | |___[STM] UtcToClientDateTime : valuetype [mscorlib]System.DateTime(valuetype [mscorlib]System.DateTime)
| | |___[STM] get_PreferredDBCulture : string()
| | |___[STM] get_UtcOffset : int32()
| | |___[STM] set_PreferredDBCulture : void(string)
| | |___[STM] set_UtcOffset : void(int32)
| | |___[PTY] PreferredDBCulture : string()
| | |___[PTY] UtcOffset : int32()
| |
|
|___[CLS] <PrivateImplementationDetails>
| | .class private auto ansi
| |___[STF] $$method0x6000008-1 : static assembly class [mscorlib]System.Collections.Hashtable
|
Пытаюсь сделать свой сателит:
1. с помощью Resource Editor 1.2 for VS открывают ресурсы из adminstrings.dll и произвожу их перевод
2. Через resgen.exe компилю исправленные ресурсы
3. Далее как написано в Creating Satellite Assemblies генерирую сателит
c:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\al.exe /t:lib /embed:adminstrings.ru-RU.resources /culture:ru-RU /out:adminstrings.resources.dll /template:adminstrings.dll
4. кладу полученый сателит в каталог ru-RU в папке bin
Результат приложение так и работает используя английские ресурсы, при просотре через ildasm сателита он показывате только манифест и все.
Вопросы: Я что-то делаю не правильно? Приложение не предлагает выбирать язык, на чем оно основывается когда его выбирает (на каких Именно настройка ОС)?
Здравствуйте, Genius_P, Вы писали:
G_P>Имеется проект с поддержкой локализации на базе сборок-сателитов. Исходников к данному проекту нет.
G_P>Хотелось бы руссифицировать web-интерфейс.
G_P>В каталоге bin лежит файл adminstrings.dll в подкаталоге ja adminstrings.resources.dll
G_P>При просмотре файлов ildasm видим
G_P>G_P>___[MOD] ...\bin\ja\adminstrings.resources.dll
G_P> | M A N I F E S T
G_P> |___[NSP] AdminStrings
G_P> | |___[CLS] UIStringManager
G_P> | | | .class public auto ansi
G_P> | | |___[STF] StringResource : public static class [mscorlib]System.Resources.ResourceManager
G_P> | | |___[STF] preferredDBCulture : private static string
G_P> | | |___[STF] utcOffset : private static int32
G_P> | | |___[STM] .cctor : void()
G_P> | | |___[MET] .ctor : void()
G_P> | | |___[STM] AddDateTimeOffset : valuetype [mscorlib]System.DateTime(valuetype [mscorlib]System.DateTime,valuetype [mscorlib]System.TimeSpan)
G_P> | | |___[STM] ClientDateTimeToUtc : valuetype [mscorlib]System.DateTime(valuetype [mscorlib]System.DateTime)
G_P> | | |___[STM] GetCultureInfo : void(string,class [mscorlib]System.Globalization.CultureInfo&)
G_P> | | |___[STM] GetDefaultTimezoneOffset : string()
G_P> | | |___[STM] GetPreferredSpecificCultureFromNeutralCulture : void(class [mscorlib]System.Globalization.CultureInfo&)
G_P> | | |___[STM] GetString : string(string)
G_P> | | |___[STM] GetUserCulture : class [mscorlib]System.Globalization.CultureInfo(string[])
G_P> | | |___[STM] ServerDateTimeToClientDateTime : valuetype [mscorlib]System.DateTime(valuetype [mscorlib]System.DateTime)
G_P> | | |___[STM] SetUserCulture : class [mscorlib]System.Globalization.CultureInfo(string[],string)
G_P> | | |___[STM] SetUtcOffset : void(string)
G_P> | | |___[STM] UserCultureSupported : bool(class [mscorlib]System.Globalization.CultureInfo)
G_P> | | |___[STM] UtcToClientDateTime : valuetype [mscorlib]System.DateTime(valuetype [mscorlib]System.DateTime)
G_P> | | |___[STM] get_PreferredDBCulture : string()
G_P> | | |___[STM] get_UtcOffset : int32()
G_P> | | |___[STM] set_PreferredDBCulture : void(string)
G_P> | | |___[STM] set_UtcOffset : void(int32)
G_P> | | |___[PTY] PreferredDBCulture : string()
G_P> | | |___[PTY] UtcOffset : int32()
G_P> | |
G_P> |
G_P> |___[CLS] <PrivateImplementationDetails>
G_P> | | .class private auto ansi
G_P> | |___[STF] $$method0x6000008-1 : static assembly class [mscorlib]System.Collections.Hashtable
G_P> |
G_P>
G_P>Пытаюсь сделать свой сателит:
G_P>1. с помощью Resource Editor 1.2 for VS открывают ресурсы из adminstrings.dll и произвожу их перевод
G_P>2. Через resgen.exe компилю исправленные ресурсы
G_P>3. Далее как написано в Creating Satellite Assemblies генерирую сателит
G_P>G_P>c:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\al.exe /t:lib /embed:adminstrings.ru-RU.resources /culture:ru-RU /out:adminstrings.resources.dll /template:adminstrings.dll
G_P>
G_P>4. кладу полученый сателит в каталог ru-RU в папке bin
G_P>Результат приложение так и работает используя английские ресурсы, при просотре через ildasm сателита он показывате только манифест и все.
G_P>Вопросы: Я что-то делаю не правильно? Приложение не предлагает выбирать язык, на чем оно основывается когда его выбирает (на каких Именно настройка ОС)?
Настройка локалзации приложения задается через параметр culture элемента globaliztion в web.config.
Не помогло.
Вообще при попытке открыть сформированный сателит через Resurce Editor 1.2 получаю ошибку проверки сильного имени.
При сбросе этой сборки в GAC ругани никакой нет, у всех трех сборок (natural, ja, ru-RU) одинаковые PublicToken
Не могу понять что она не работает??
2 Воронков Василий
Но данное приложение уже имеет два языка, значит оно какимто образом между ними переключается!
данное сообщение получено с www.gotdotnet.ru
ссылка на оригинальное сообщение
Вообщем поборол я ошибку со strog name, все дело в том, что я не правильно назвал ресурсы.
Теперь следующая трабла. В сателите также находится вместе с ресурсами код зависящий от языка я так понимаю его тоже нужно запхать в сателит. Как это сделать?
данное сообщение получено с www.gotdotnet.ru
ссылка на оригинальное сообщение
Здравствуйте, Аноним, Вы писали:
А>Вообщем поборол я ошибку со strog name, все дело в том, что я не правильно назвал ресурсы.
А>Теперь следующая трабла. В сателите также находится вместе с ресурсами код зависящий от языка я так понимаю его тоже нужно запхать в сателит. Как это сделать?
А>
данное сообщение получено с www.gotdotnet.ru
А>ссылка на оригинальное сообщение
иходников как я понимаю нет?
Внимательнее надо быть!
Тема называется локализация проекта БЕЗ ИСХОДНИКОВ!
Ну скажим исходники я всетаки Добыл с помощью программы Reflector но как все это запхать
причем я сравнил код сателита для японского языка и natural он полностью одинаковый, накой его в сателит запхали?
данное сообщение получено с www.gotdotnet.ru
ссылка на оригинальное сообщение