Надлежащая локализация приложения WinForms

Сначала мы использовали полностью normailized базу данных, но теперь мы сделали ее частично normailzed из-за проблем производительности (для сокращения соединений).

Как говорится "нормализуют, пока это не причиняет боль, денормализуйте, пока это не работает".

довольно распространено в большом, интенсивном использовании dbs видеть степень денормализации для помощи производительности, таким образом, я не волновался бы слишком много об этом теперь, пока производительность состоит все еще в том, где Вы хотите, чтобы он был, и Ваш код для управления "денормализованными" полями не становится слишком обременительным.

, что является возможными решениями, когда размер данных становится очень большим, как нет. из клиентов увеличиваются в будущем?

Не знание слишком много о домене Вашего приложения, трудно сказать, как можно соответствовать требованиям завтрашнего дня, это, но разделяющий недавно используемые и старые данные для разделения таблицы является довольно общий подход в переданных в большой степени базах данных - если 95% пользователей запрашивают их данные с прошлых 30/45 дней, имея "live_data" таблицу, содержащую, скажем, последнюю 60-дневную ценность данных, и "old_data" для более старого материала может помочь производительности.

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

35
задан Michael Stum 9 August 2009 в 21:31
поделиться

3 ответа

Я задавал аналогичный вопрос об ASP.NET и получил первый ответ - этот инструмент и его рабочий процесс могут вам подойти - взгляните: Lingobit Localizer

Кажется, он может загрузить ваше приложение Winforms и позволяет вам начать переводить ваши ярлыки и т. Д. И видеть формы, пока вы это делаете. Множество других функций, таких как добавочный перевод и память переводов (если вы используете одни и те же термины снова и снова).

Выглядит довольно многообещающе (для Winforms) - хотя сам не использовал его.

Вот обширный список потенциальных инструментов локализации .NET - не уверен, насколько хорошо они работают и что они охватывают - посмотрите, может быть, вы найдете то, что ищете.

Marc

]
4
ответ дан 27 November 2019 в 15:45
поделиться

Это огромная тема, и есть много способов добиться того, чего вы хотите. Фреймворк действительно обеспечивает основу, но для полного решения необходимо, чтобы вы реализовали определенные элементы самостоятельно.

Например, реализация фреймворка по умолчанию заключается в создании файла .resx для каждого ресурса. В ASP.Net это означает каждый пользовательский / серверный элемент управления или страницу. Это не поддается легкому обслуживанию, и если вы хотите переместить ресурсы в базу данных, вам необходимо реализовать своего собственного провайдера.

Мое знакомство с Winforms ограничено, но если вы используете Silverlight или WPF, прочтите Guy Смит-Феррье по этому вопросу см. По адресу: http://www.guysmithferrier.com/category/Internationalization.aspx . У него также есть несколько наборов инструментов, которые могут облегчить вам жизнь, по адресу: http://www.dotneti18n.com/Downloads.

3
ответ дан 27 November 2019 в 15:45
поделиться

У меня нет решения для вашего первого и второго требования, но имейте в виду, что локализовать форму не так просто, как перевести каждое слово. Вам необходимо убедиться, что каждый переведенный текст подходит для соответствующего элемента управления. Кроме того, возможно, у вас есть значок или изображение, которое нужно изменить в другой культуре.

Для третьего пункта вы можете изменить язык вручную с помощью следующих строк:

CultureInfo ci = new CultureInfo("fr");
Thread.CurrentThread.CurrentUICulture = ci; 
3
ответ дан 27 November 2019 в 15:45
поделиться
Другие вопросы по тегам:

Похожие вопросы: