С#.NET & Перевод внешнего компонента

Я поддерживаю одну программу, написанную на С# 2.0 (VS2005). У этого есть довольно большая база кода, много авторов, это почти внутреннее приложение, но в настоящее время это также один из наших клиентов, использующих его.

Приложение является многоязычным, а перевод собственных форм и компонентов работает нормально. Но есть один компонент - DockPanel Suite от WeifenLuo, и мне нужно перевести его на другой язык (zh-CN) - один из китайских ребят перевел файл ресурсов на свой язык, и теперь я пытаюсь включить и использовать в приложении, но я терпеть неудачу - хотя целое приложение находится на китайском языке, этот компонент остается на английском. Непереведенный файл ресурсов можно найти в github: https://github.com/dockpanelsuite/dockpanelsuite/blob/master/WinFormsUI/Docking/Strings.resx

Как это сделать? Я попробовал почти все, наивный подход (просто resgen и скомпилировать al, и попытаться использовать его как сборку спутника - также попробовал ilmerge), а затем открыть DockPanelSuite в VS2013 Express, добавив resx как Strings.zh-CN.resx, но ничего не работает, а всплывающие подсказки и другие по-прежнему остаются на английском языке.

Пробовал также вступать в отладчик, но отладчик разбился на tooltip = Strings.DockPaneCaption_ToolTipAutoHide, но он не входил в getter, определенный в Strings.Designer.cs

Я застрял, и я не знаю, как это сделать. Есть идеи? Большое спасибо!

Ответы

Ответ 1

Я смог перевести метку в демонстрационном приложении в очень простой процесс:

  • git клонировать библиотеку
  • Скопируйте и вставьте файл Strings.resx
  • Переименуйте копию в Strings.pt-BR.resx
  • Скомпилируйте, это было сделано (в моем случае я перевел метку "Закрыть" )

введите описание изображения здесь

однако этот проект содержит много файлов Strings.resx

введите описание изображения здесь

Вы все изменили? Или вы просто изменили его? (возможно, неправильный, как и в первой попытке)