Ich versuche eine einfache Methode, um meine Anwendung zu übersetzen. Ich dachte, dass es vielleicht möglich ist, das Formular mit einem Dictionary auf Textebene zu übersetzen, indem Sie die Graphics-Klasse überschreiben. Und sogar den Zeichnungspunkt auf die gleiche Weise für die Unterstützung von RightToLeft Languages bearbeiten. Jemand hat eine gute Idee?Ist es möglich, die Formsprache auf Textebene zu übersetzen?
Antwort
Ich dachte, vielleicht ist es möglich, das Formular mit einem Dictionary auf der Textebene zu übersetzen, indem Sie die Graphics-Klasse überschreiben.
Die Klasse Graphics
kann nicht überschrieben werden. Sie können die Methode OnPaint
der Steuerelemente überschreiben. Aber wie würden Sie die Textzeichnung von einer anderen Zeichnung trennen? Und was erwarten Sie, wenn jemand zum Beispiel die Text
Eigenschaft liest?
Jemand hat eine gute Idee?
Ja, verwenden Sie die integrierten Lösungen für die Lokalisierung. Setzen Sie einfach Localizable
auf Ihrem Formular auf true
. Jetzt können Sie die Sprachen zur Entwurfszeit wechseln und alles zur Entwurfszeit für diese Sprache bearbeiten, nicht nur Text, sondern auch RightToLeft-Eigenschaft, Größen und im Grunde alles.
Wenn Sie die Anwendung starten, verwendet das Formular die Windows-Sprache oder greift auf die invariante Sprache zurück. Wenn Sie die Sprache programmgesteuert ändern möchten, legen Sie einfach die Eigenschaft Thread.CurrentThread.CurrentUICulture
fest. Möglicherweise möchten Sie das Formular erneut öffnen, um die Sprache anzuwenden, oder rufen Sie explizit InitializeComponent()
an.
- 1. Ist es möglich, diesen Python-Code in Cython zu übersetzen?
- 2. Ist es möglich, Rstudio zu verwenden, um direkt von .Rmd zu LaTeX ohne Pandoc zu übersetzen?
- 3. Es ist möglich, Swipe zu bearbeiten, um den Standardtext (in UITableView) zu löschen oder zu übersetzen?
- 4. Ist es möglich, die Kontextwechselzeit zu reduzieren
- 5. Ist es möglich, die Zeichencodierung zu "schnüffeln"?
- 6. Ist es möglich, die Anwendungsdaten auf Google Drive zu teilen
- 7. Ist es möglich, die Punktgröße auf LineChart zu ändern?
- 8. Ist es möglich, die manuelle Aktualisierung auf PowerBI zu deaktivieren?
- 9. Ist es möglich, ein Unterprogramm zur Laufzeit in ein anderes Unterprogramm zu übersetzen und zu übergeben?
- 10. PSD.JS Parsing die Farbe einer Textebene
- 11. Ist es möglich, jQuery zu Vanilla JS zu transponieren?
- 12. Übersetzen Android Studio Java-Code zu Objective-C mit j2objc, Ist es möglich?
- 13. ist es möglich, die Lieferadresse auf einer Bestellung auf shopify
- 14. IPhone localisation: Ist es möglich, NIB-Dateien einfach zu übersetzen, ohne die Feder für jede Sprache kopieren zu müssen?
- 15. Ist es möglich, "reine" C++ - Klasse in Cython zu schreiben?
- 16. Es scheint, dass es nicht möglich ist, die Audioaufzeichnungslautstärke auf Android zu erhöhen. Ist es möglich, die Audiodatei nachträglich zu modifizieren?
- 17. BlackBerry - ist es möglich, Markenanwendungen zu entwickeln?
- 18. Ist es möglich, eine ListViewGroup zu erstellen
- 19. Ist es möglich, geschlossene skscene zu machen?
- 20. Ist es möglich, die Hintergrundfarbe eines CMFCEditBrowseCtrl-Steuerelements zu ändern?
- 21. Ist es möglich, die RCS-Schlüsselworterweiterung ($ Id $) zu deaktivieren?
- 22. Ist es möglich, mehrsprachige Textbibliothek zu iPhone
- 23. Ist es für einen Kunden möglich, die Zahlungsmethode zu ändern?
- 24. Ist es möglich, Automatisierungstests für die nwjs App zu schreiben?
- 25. Ist es möglich, HHVM zu umgehen?
- 26. Ist es möglich, die Testreihenfolge im Test zu bestimmen?
- 27. Ist es möglich, Google Analytics für die Serverseite zu verwenden?
- 28. Ist es möglich, Socket-Verbindungen zu multiplexen?
- 29. Ist es möglich, die Seitentitelfarbe pro Seite/Post zu ändern?
- 30. Ist es möglich, CPU-Zyklen zu mieten?
Dies ist ein interessanter Weg, ich werde es überprüfen. Und für Ihre Frage, was ich meinte, ist nur die Ausgabe in das Display zu übersetzen, so dass die Text-Eigenschaft das Original bleibt. – user6466445
Das wäre sehr irreführend und es fehlt jede Konvention. Warum ist es ein Problem, wenn die 'Text' -Eigenschaft den Text auf dem Steuerelement zurückgibt? Wenn Sie etwas stationäres benötigen, gibt es die Eigenschaft 'Name' und Sie können das' Tag' auch für jeden benutzerdefinierten Zweck verwenden. – taffer
Wenn ich die Text-Eigenschaft übersetze, kann ich das Original nicht zurückgeben und dies kann in einigen Situationen (z. B. ComboBox mit Optionsliste) zu Problemen führen. Wenn die Übersetzung in der Zeichenzeit ausgeführt wurde, bleibt die Text-Eigenschaft die Quelle und So wird es möglich sein, die Sprache jederzeit durch Neuzeichnen zu ändern. – user6466445