2016-01-19 7 views
16

Ich führe ein Programm in C# 2.0 (VS2005) geschrieben. Es hat ziemlich große Codebasis, viele Autoren, es ist fast interne App, aber derzeit ist es auch einer unserer Kunden, die es verwenden.C# .NET & Übersetzung der externen Komponente

App ist mehrsprachig und Übersetzung von eigenen Formen und Komponenten funktioniert OK. Aber es gibt eine Komponente - DockPanel Suite von WeifenLuo und ich muss es in eine andere Sprache übersetzen (zh-CN) - einer der Chinesen übersetzte die Ressourcendatei in seine Sprache und versuche nun, sie in die Anwendung einzubinden und zu verwenden, aber ich versage darin - obwohl ganze App auf Chinesisch ist, bleibt diese Komponente in Englisch. Die nicht übersetzte Ressource-Datei kann auf github gefunden werden: https://github.com/dockpanelsuite/dockpanelsuite/blob/master/WinFormsUI/Docking/Strings.resx

Wie geht das? Ich versuchte fast alles, naive Ansatz (nur resgen und kompilieren von al, und versuchen, es als Satelliten-Assembly zu verwenden - auch versucht ilmerge), dann Öffnen von DockPanelSuite in VS2013 Express, resx als Strings.zh-CN.resx hinzufügen, aber nichts funktioniert und Tooltips und andere sind immer noch in Englisch.

auch versucht, mit Debugger Schritt-in, aber Debugger brach bei tooltip = Strings.DockPaneCaption_ToolTipAutoHide aber es hat nicht Schritt in Getter definiert in Strings.Designer.cs

Ich bin fest und ich weiß nicht, wie zu tun Das. Irgendeine Idee? Vielen Dank!

+0

Ich verstehe dein Problem nicht wirklich vollständig, aber eine Sache, die ich erklären konnte: "Es trat nicht in Getter" - es wird nicht. Um Setter oder Getter zu debuggen, benötigen Sie einen speziellen Weg. Überprüfen Sie dies: http://StackOverflow.com/Questions/4408110/Debugging-Automatic-Properties – Ian

+0

Das Problem ist, ich kann nicht eine andere Sprachressource in Komponente (in separaten DLL) "einfügen". Es benutzt immer noch Englisch. –

Antwort

6

konnte ich ein Label in der Demo-Anwendung in einem sehr einfachen Prozess übersetzen:

die Bibliothek
  • git klonen
  • &
  • Copy Paste die Strings.resx
  • Benennen Sie die Kopie in Strings-Datei .pt-BR.resx
  • Compile, es fertig ist (in meinem Fall, übersetzte ich die "Close" label)

enter image description here

jedoch dieses Projekt enthält viele Strings.resx Dateien

enter image description here

Haben Sie alle von ihnen ändern? Oder hast du gerade einen geändert? (vielleicht ein falscher, wie ich es bei meinem ersten Versuch tat)

+0

Hallo, danke für die Antwort. Guter Punkt, aber wenn ich nicht falsch liege, geht jedes "Thema" zu .dll zu trennen und ich benutze sie nicht. Aber natürlich habe ich versucht, jedes resx zu aktualisieren, um zu sehen, aus welcher Datei Zeichenfolgen kommen, und sie kommen aus der Datei, die ich benutze und versuche zu übersetzen (fügte eine kurze ID-Zeichenfolge zu jedem "Auto hide" in Ressourcen hinzu und) WinFormsUI-String erschien in meiner Anwendung). –

Verwandte Themen