hallo gibt es eine möglichkeit in einer fertigen software die dort verwendeten chinesischen begriffe / buttons durch englische oder deutsche zu ersetzen ? der quellcode der software liegt leider nicht vor :-( ohne die DLL läuft das nicht ! gruss
Kommt drauf an. Wenn das Programm seine Texte, Dialoge etc. in sogenannten Resourcen enthält, dann können diese nachträglich geändert werden. Das ist das von MS vorgesehene Internationalisierungskonzept, ein Programm kann auch mehrere gleichartige Resourcen in unterschiedlichen Sprachen enthalten, und zur Laufzeit wird dann die zur jeweiligen Sprache des Betriebssystems passende ausgewählt. Zum nachträglichen Bearbeiten benötigt man einen sogenannten Resource-Editor, der ist beispielsweise Bestandteil des Visual Studio. Hier können nicht nur Texte, sondern auch die Größe und Anordnung von Dialogelementen etc. verändert werden. Ganz anders sieht die Situation aus, wenn die Texte etc. direkt im Programmcode enthalten sind, dann können diese nur gepatcht werden, was zur Folge hat, daß Texte nicht länger werden können, und das ganze sehr umständlich und fehlerträchtig mit einem Hex-Editor durchzuführen ist. Ich habe hier gerade keinen Windows-PC und kann daher jetzt nicht untersuchen, ob Dein Programm bzw. die DLL dieses Resourcekonzept nutzt.
Rufus Τ. Firefly schrieb: > Ich habe hier gerade keinen Windows-PC und kann daher jetzt nicht > untersuchen, ob Dein Programm bzw. die DLL dieses Resourcekonzept nutzt. macht ja nichts, morgen oder übermorgen reicht ja auch noch! thx erst mal für die information, ich kenne mich da nicht wirklich aus. bei irgend so einem kleinen programm ist mir vor längerer zeit auch schon mal geglückt, einfach mit einem editor die sachen auszutauschen. aber wie du schon schreibst: die texte durften nicht länger werden. hier kommt ja noch hinzu, das man die chin. texte erst mal übersetzen muss. kopiern aus dem dashboard funktioniert leider nicht :-( gruss
R. H. schrieb: > hier kommt ja noch hinzu, > das man die chin. texte erst mal übersetzen muss. Das ist ein Problem, bei dem ich Dir definitiv gar nicht helfen kann. Ob Dein Programm die von mir beschriebene Resourcen-Funktionalität nutzt, kann ich Dir morgen mitteilen (wenn das nicht bis dahin irgendwer anderes gemacht haben sollte).
So, jetzt konnte ich nachsehen. Weder DLL noch Exe-Datei selbst enthalten in ihren Resourcendaten mehr als eine Versionsinformation und im Falle der Exe-Datei ein Programm-Icon. Eine Textanpassung wird daher höchstens mit einem Hexeditor möglich sein.
>die texte durften nicht länger werden. hier kommt ja noch hinzu, >das man die chin. texte erst mal übersetzen muss. kopiern aus dem >dashboard funktioniert leider nicht :-( Screenshot machen, OCR-Software, die chinesisch kennt, drüberlaufen lassen (so man eine hat ;-), dann in Google translate übersetzen lassen.
Das OCR-Programm Readiris sollte chinesisch lesen können. Erfahrung habe ich damit nicht da ich meist Finereader benutzt habe. Die Erfolgsquote hält sich aber in Grenzen und wird erst durch intere Rechschreibprüfung verbessert. Eine Erfolgsquote von z.B. 99% heißt, daß nach 99 Buchstaben ein Fehler kommen darf. Einfacher wäre wahrscheinlich eine graphische Lösung indem man eine Schablone bastelt.
Rufus Τ. Firefly schrieb: > Eine Textanpassung wird daher höchstens mit einem Hexeditor möglich > sein. thx. für die info, aber welcher hexeditor spricht chinesisch ? gruss
Du kannst dir mit einem Disassembler den Sourcecode generieren lassen, dort die Strings patchen und neu kompilieren.
Oh so einfach? Welcher Disassembler könnte denn das? Früher, bei normalen Win32 Anwendungen wäre es möglich gewesen die Ressourcen zu extrahieren mit dem MS-Resourcencompiler neu zu kompilieren und dann wieder zu linken. Borland C++ 4.5 ging dazu wirklich gut. Ob das bei diesem .Net Kram noch geht ?????
Man konnte trotzdem den Hersteller kontaktieren und fragen was eine deutsche Version kostet. Das spart unheimlich Zeit.
> thx. für die info, aber welcher hexeditor spricht chinesisch ?
LOL.
Ja wie, in Deutschland werden seit neuestem chinesische Produkte kopiert? ich kannte das bisher nur andersrum ;-)
_gast_ schrieb: > Früher, bei normalen Win32 Anwendungen wäre es möglich gewesen die > Ressourcen zu extrahieren mit dem MS-Resourcencompiler neu zu > kompilieren und dann wieder zu linken. Dieses Programm enthält aber keine Ressourcen. Um die Texte zu ersetzen, muss deren Stringrepräsentation im Programmcode gefunden und gepatcht werden. Die Strings können mit 16-Bit-Unicode-Zeichen codiert sein, sie können aber auch mit 8-Bit UTF-8 codiert sein. Hat man die Strings erst mal gefunden, kann mit einem Hexeditor dort was anderes eingetragen werden. Bei der Suche hilft ein unicodefähiger Hexeditor; Winhex behauptet von sich, Unicode zu verstehen.
>Programmcode gefunden und gepatcht werden. Die Strings können mit >16-Bit-Unicode-Zeichen codiert sein, sie können aber auch mit 8-Bit >UTF-8 codiert sein. Unter Win wird wohl üblicherweise 16-Bit-Unicode (also UCS-2) benutzt, wenn ich mich nicht irre.
Wenn Windows-API-Funktionen zur Textausgabe genutzt werden und kein anders arbeitendes Framework genutzt wird, das andere Textrepräsentationen umsetzt, ja.
> gast schrieb: >> Früher, bei normalen Win32 Anwendungen wäre es möglich gewesen die >> Ressourcen zu extrahieren mit dem MS-Resourcencompiler neu zu >> kompilieren und dann wieder zu linken. gast schrieb weiterhin: > Ob das bei diesem .Net Kram noch geht ????? Prinzipiell ist ein Button, ein Edit ... unter Windows ein Fenster mit Handle,Caption,ID ... usw. Dieser .Net Kram muss also irgenwie aus dem Executable-Image diesen Button erzeugen. Wie ...? weiss ich nicht! > Hat man die Strings erst mal gefunden, kann mit einem Hexeditor dort was > anderes eingetragen werden Da man aber direkt das Image der Exe ändert sollten die Strings keinesfalls länger als das Original sein!
_gast_ schrieb: > Oh so einfach? Welcher Disassembler könnte denn das? Ja, das geht so einfach. Z.B. der .net reflector erzeugt dir beinahe den original Sourcecode, sofern die Anwendung nicht gegen Disassemblierung geschützt ist. Rufus Τ. Firefly schrieb: > So, jetzt konnte ich nachsehen. Weder DLL noch Exe-Datei selbst > enthalten in ihren Resourcendaten mehr als eine Versionsinformation und > im Falle der Exe-Datei ein Programm-Icon. Doch, die *.exe beinhaltet einige Resourcen, unter anderem auch eine Resourcendatei mit englischen Texten. @R. H. (snapper): Ich habe dir die englische Resourcendatei extrahiert und eine .Net Resourcenassembly für die Culture en-US generiert(siehe Anhang). Damit du englische Texte bekommst, musst du im bin Verzeichnis einen Ordner mit dem Namen "en-US" erstellen und die *.dll in diesen Ordner kopieren. Grüße
Nachtrag: Deine UI Culture muss en-US sein, ansonsten lädt .Net wieder die default Ressourcendatei mit chineschischen Strings.
Mars schrieb: > Doch, die *.exe beinhaltet einige Resourcen, unter anderem auch eine > Resourcendatei mit englischen Texten. Ach? Ich habe das Ding mit dem Resource-Editor von VS2010 angesehen, da ist nur eine Versionsresource und ein Icon dringewesen.
Warum diese Klimmzüge? Erzeuger fragen! In ein paar Wochen kommt bestimmt ein Update und Ihr fummelt wieder stundenlang am Code? Aufwand und Nutzen=? @RH: Sonst bastel eine Pappschablone und schreibe deutsche Wörter neben die Fensterchen. Dauert 5 Minuten.
@Mars die ZNS1002.ZNS1002_EN.resources.resx konnte ich auch extrahieren. die kann man dann ja auch auf deutsch übersetzen. Wie hast du die "ZNS1002.resources.dll" daraus erzeugt? mfg Tom
Tom schrieb: > @Mars > die ZNS1002.ZNS1002_EN.resources.resx konnte ich auch extrahieren. > die kann man dann ja auch auf deutsch übersetzen. Natürlich, ist nur mehr Arbeit. Die Resource mit englischen Texten war bereits vorhanden, und somit hat das ganze keine 5 Minuten gedauert. >Wie hast du die "ZNS1002.resources.dll" daraus erzeugt? Siehe http://msdn.microsoft.com/en-us/library/21a15yht%28v=vs.71%29.aspx
Mars schrieb: > @R. H. (snapper): > Ich habe dir die englische Resourcendatei extrahiert und eine .Net > Resourcenassembly für die Culture en-US generiert(siehe Anhang). Damit > du englische Texte bekommst, musst du im bin Verzeichnis einen Ordner > mit dem Namen "en-US" erstellen und die *.dll in diesen Ordner kopieren. > > Grüße funktioniert super, vielen Dank ! gruss
R. H. schrieb: > funktioniert super, vielen Dank ! du hast dir doch nicht etwa einen solchen zugelegt? ;-)
@Mars hallo und frohes neues jahr bist du so nett und schaust dir die angehängte datei mal an, ob es da auch geht ? gruss
habe die stellen mit den hieroglyphen schon gefunden und per editor ersetzt, jetzt fehlt mir nur noch die möglichkeit die zeichenzahl in dem org./gelben button ev. auf 12 zu erweitern wie im blauen button. wenn ich da jetzt mehr zeichen eingebe lässt sich das prog. leider nicht mehr starten. da bin ich auf eure hilfe angewiesen . gruss
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.