Я пытаюсь локализовать компонент преобразования SSIS, который я написал. Существует несколько форм, которые используются для взаимодействия с пользователем. Я установил для свойства «Localizable» значение true, установил язык на немецкий (Германия) и установил свои подсказки для немецких переводов.Компонент SSIS, не имеющий отношения к CurrentThread.CurrentUICulture
я затем проверить, но положить это в c'tor форме в:
Thread.CurrentThread.CurrentCulture = new CultureInfo("de-DE");
Thread.CurrentThread.CurrentUICulture = new CultureInfo("de-DE");
Но я получаю только по умолчанию (английский) подсказкам. Когда я делаю это с помощью автономного приложения, он работает отлично.
Далее, я решил, что попробую использовать строковый ресурс, чтобы узнать, лучше ли мне. Я создаю VerifyLoc.resx и некоторые строки, а затем VerifyLoc.de-DE.resx и некоторые немецкие строки с одинаковыми именами. Я снова тестирую:
Thread.CurrentThread.CurrentCulture = new CultureInfo("de-DE");
Thread.CurrentThread.CurrentUICulture = new CultureInfo("de-DE");
string str1 = VerifyLoc.Str1;
string str2 = VerifyLoc.Str2;
Не повезло, str1 и str2 по умолчанию, а не по-немецки. Затем я пытаюсь заставить эту вещь:
ComponentResourceManager resources = new ComponentResourceManager(typeof(VerifyLoc));
CultureInfo culture = new CultureInfo("de-DE");
string str1 = resources.GetString("Str1", culture);
string str2 = resources.GetString("Str2", culture);
По-прежнему не очень хорошо. Я проверял свойства файла de-DE.resx по умолчанию, оба используют «Внутренний» модификатор доступа. Оба они помечены как «Встроенный ресурс», оба выполняются через ResXFileCodeGenerator.
К сожалению, у меня нет немецкой версии Windows, поэтому я не смог свести это с проблемой, пытаясь заставить ее использовать немецкий язык или проблему с самим созданием ресурсов.
Любые идеи?
Правильно ли построена и развернута сборка немецкого спутника? (т. е. вы видите файл .resources.dll с именем вашей сборки внутри папки de-DE?) – Clafou
Оказалось, что я не был. Поскольку компонент подключается к BIDS (иначе VS IDE), он выполняет поиск в совершенно другом месте для библиотеки ресурсов. Process Monitor обнаружил секретное местоположение. Измените свой комментарий на ответ, и я буду отмечать его как правильный ответ. Благодаря! –
Прохладный, хорошо сделанный для выяснения с помощью Process Monitor. Добавлен ответ, спасибо! – Clafou