Visual Studio 2017 > Programm auf deutsch übersetzen

  • C#
  • .NET 4.0

Es gibt 34 Antworten in diesem Thema. Der letzte Beitrag () ist von VaporiZed.

    Visual Studio 2017 > Programm auf deutsch übersetzen

    hij, ich habe ein Programm & möchte es auf deutsch übersetzen. Es sind allerdings keine Sparchdateien vorhanden, welche man editieren könnte. Das muss man direkt im Code tun. Ich bin aber neuling. Wie gehe ich dazu am besten vor? Das Programm hat 2 mehrere Reiter, aber es ist nur der 1. Hauptreiter wichtig. Es geht nur um ca. 30 Worte. Die anderen Reiter sind eh verbugg und könnten am besten sogar weg.

    Ich kann die sln-Datei mit Visual Studio 2017 öffnen. Und nun? :love:
    Mit F4 bzw. Project>Eigenschaften(ganz unten) kann ich ja einstellen, wo das Programm am Ende landen soll. Im Unterordner Application Files\Versionsnummer finde ich die dann auch. Im Hauptausgabeordner ist dann noch ne setup.exe & ein Application.exe - sind aber überflüssig.

    Ik kann die einzelnen Reiter entfernen, jedoch möchte Visual Studio(VS) dann keine Programm mehr veröffentlichen. Ich kann dort auf "Tabpages: (Sammlung)..." gehen & die überflüssigen tabs löschen, dann erhalte ich zig erros beim Versuch zu veröffentlichen.

    Und wo finde ich dann den Text vom Mainreiter? Ich kann auch Main.cs sehen. Und auch die anderen Reiter dann anwählen in Visual Studio 2017. Jedoch wie dort den Text in Main ändern und die anderen Reiter entfernen?

    Dieser Beitrag wurde bereits 8 mal editiert, zuletzt von „aa0mia0aa“ ()

    Willkommen im Forum.
    Ich kapier's grad nicht: Du hast ne Oberfläche mit zu ersetzenden Texten.
    Dann klick die umzubenennenden CEs an, geh ins Eigenschaftenfenster und änder den Text.

    Oder hab ich da was nicht gerafft?
    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Häufig von mir verwendete Abkürzungen: CEs = control elements (Labels, Buttons, DGVs, ...) und tDS (typisiertes DataSet)
    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht in den Spekulatiusmodus gehen.
    Ah o.k., das ist ja easy. Danke.

    Weist du auch, wie ich tabs verschwinden lassen kann? Unsichtbar machen oder wegmachen, ohne dass dann Visual Studio meckert beim Veröffentlichen(da ja dann Bezüge nicht stimmen, da es den Tab nicht mehr gibt).
    Öhm ... wie gut kennst Du Dich mit Programmieren überhaupt aus? Du musst schon den Code verstehen und ihn abwandeln können. Sonst geht da gar nix. Und wenn da eben Verweise auf jene TabPages vorhanden sind, die Du loswerden willst, dann musst Du schon wissen, was Du tust. Ich kann ja auch nicht einfach die Motorhaube meines Autos aufmachen, sagen, "Boah, die Kabel sehen besch...eiden aus, die müssen raus" und dann mich wundern, wenn das gute Stück nicht mehr fährt, wenn ich mein Vorhaben umsetze.
    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Häufig von mir verwendete Abkürzungen: CEs = control elements (Labels, Buttons, DGVs, ...) und tDS (typisiertes DataSet)
    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht in den Spekulatiusmodus gehen.
    Ja, das verstehe ich. Ich kenne mich noch zu schlecht aus. Im code selbst, passe ich das nicht mal eben an. Ich hatte gehofft, dass man VS sagen kann -> Missachte schwere Fehler
    Oder, dass man in den Eigenschaften der tabs festlegen kann -> unsichtbar & unanklickbar. Dann würde VS sich nicht beschweren, dass Verweise ins Leere laufen. Aber die Tabs wären verschwunden.

    aa0mia0aa schrieb:

    Missachte schwere Fehler
    What? Die Dinger heißen nicht umsonst "schwer". Das heißt nämlich soviel wie: "Sorry Benutzer, aber im Code steht Murks drin. Und ich kann nicht einfach so tun, als ob es nicht da wäre." Eine Möglichkeit wäre, jene Stellen auszukommentieren. Aber das produziert zweifellos syntaktische Folgefehler. Oder Logikfehler, noch übler. Zweite Möglichkeit:

    C#-Quellcode

    1. tabPage1.Visible = false;


    Aber mein dringender Rat: Lass das Ganze sein. Was soll denn das überhaupt werden? Warum einen türkischen Text ändern, wenn man kein türkisch kann? Wer kam denn auf die Idee, Dir diese Aufgabe zu geben? Das geht in Richtung "Arbeit am Starkstromkreis mit verbundenen Augen und bloßen Händen - während der Strom fließt"
    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Häufig von mir verwendete Abkürzungen: CEs = control elements (Labels, Buttons, DGVs, ...) und tDS (typisiertes DataSet)
    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht in den Spekulatiusmodus gehen.
    Dankje! Wo füge ich denn den Code ein? Die Tabpages haben ja Namen. Ja, es geht hauptsächlich darum die Sprache zu ändern. Aber das mit den unnötigen tabs wäre halt nochmal darüberhinaus super.
    tabPageName2.Visible = false;
    Ich befürchte ja, dass ich von den anderen Usern gesteinigt werde, wenn ich hier noch weiter (Sterbe)Hilfe leiste, aber hey, nach mir die Unsinnflut.
    Der Code kommt dorthin, wo er frühestens aufgerufen werden kann, also z.B. in den Form_Load-EventHandler. Doppelklick auf den Formulartitel (oder eine freie Formularfläche) und es wird zu jener Prozedur gesprungen. Achtung! Mit dem Code wird der Inhalt unsichtbar gemacht! Der Reiter zeigt immer noch jene TabPage an und könnte durch Manipulationsprogramme auch wieder zugänglich gemacht werden. Und ja, statt TabPage1 muss natürlich der konkrete TabPage-Name in jene Codezeile. Aber wie meine Signatur schon sagt: Glaskugel und so ...
    Und nochmals stelle ich die Frage: Wer kam gleich auf die glorreiche Idee jenes Unterfangens?
    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Häufig von mir verwendete Abkürzungen: CEs = control elements (Labels, Buttons, DGVs, ...) und tDS (typisiertes DataSet)
    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht in den Spekulatiusmodus gehen.
    Auf die Idee kam eine Kollegin von mir. Aber ich find´s interessant.

    Ich habe es so mal eingefügt - an mehren Stellen probiert:

    C#-Quellcode

    1. void Unsichtbar()
    2. {
    3. tabPage_Settings.Visible = false;
    4. }

    Doch ich erhalte stets der tab bleibt bestehen & anwählbar & sichtbar & der Inhalt auch sichtbar. Der Name ist 100%ig korrekt.

    Ich gehe auf die main.form, dann auf den tab der unsichtbar werden soll. Dort klicke ich dann unterhlab des tabs doppelt. Dort füge ich den code ein. Oder wahlweise diesen hier:

    C#-Quellcode

    1. tabPage_Settings.Visible = false;


    Ich habe auch bereits auf die main.cs geklickt doppelt. Und dann dort direkt den code eingefügt. Auch an weiteren Stellen etwas tiefer probiert. Nützt alles nix.
    Da meine Formularklasse nur Form1 heißt, bei Dir ggf. anders, wird der Name natürlich in Zeile#10 anders sein. Daher Doppelkick auf eine leere Stelle im Formular. Nicht auf das TabControl, nicht auf eine TabPage. Dadurch wird der EreignisHandler richtig mit dem Formularstart verknüpft.

    C#-Quellcode

    1. namespace WindowsFormsApp1
    2. {
    3. public partial class Form1 : Form
    4. {
    5. public Form1()
    6. {
    7. InitializeComponent();
    8. }
    9. private void Form1_Load(object sender, EventArgs e)
    10. {
    11. tabPage_Settings.Enabled = false;
    12. }
    13. }
    14. }

    Die Kollegin scheint das Programm nicht geschrieben zu haben. Es klingt vielleicht fies, aber ich würde niemanden an meinen Code lassen, der nicht genau weiß, was er tut. Aber das gehört hier nicht hin.

    EDIT: Probier mal statt tabPage_Settings.Visible = false; erstmal tabPage_Settings.Enabled = false;. Mit dem Visible scheint es so früh zum Programmstart Probleme zu geben. Bin eben selbst kein C#-Schreiber ...
    @aa0mia0aa: Alternativ im Designer das Formular anwählen, ins Eigenschaftenfenster gehen, dort oben den Blitz anklicken, so kommst Du zu den zugeordneten Ereignissen. Dann das Load-Ereignis raussuchen und einen Doppelklick drauf. So wird Dir auch der Prozedurrumpf erstellt, in dem Du dann den Code platzieren kannst.

    @Mia: Hier in diesem Bild ist nochmal dargestellt, wie Du zu den Events kommst. Da musst Du zur Zeile "Shown" hin und ein Doppelklick darauf machen. Dann wird in Codedatei ein Prozedurrumpf erzeugt, wo Dein TabPage-Entfernungs-Code reinkommt. Und das Formular weiß dann auch, dass es diese Prozedur zum Anfang aufrufen soll.
    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Häufig von mir verwendete Abkürzungen: CEs = control elements (Labels, Buttons, DGVs, ...) und tDS (typisiertes DataSet)
    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht in den Spekulatiusmodus gehen.

    Dieser Beitrag wurde bereits 4 mal editiert, zuletzt von „VaporiZed“ ()

    Sehr vielen Dank! Nein, die Kollegin hat das sicherlich nicht geschrieben. Ich habe jetzt einfach oben auf die blaue Fenstergrenze doppelt geklickt. Mit der Blitzvariante lande ich an exact der gleichen Stelle. Ich habe mal beide Varianten ausprobiert an der Stelle:

    C#-Quellcode

    1. }
    2. #region MainLoad
    3. private void Main_Load(object sender, EventArgs e)
    4. {
    5. {
    6. tabPage_Settings.Enabled = false;
    7. }
    8. Log_richTextBox.Text = myLogger.Log;


    Eingefügt habe ich dort:

    C#-Quellcode

    1. {
    2. tabPage_Settings.Enabled = false;
    3. }

    also mit den Klammern. Aber auch ohne Klammern probiert. Es gibt zwar keinen Fehler, aber ändern tut es auch nichts.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    VB-Fragen über PN / Konversation werden ignoriert!

    aa0mia0aa schrieb:

    aber ändern tut es auch nichts.
    Hm, sehr merkwürdig. Da ich vermute, dass Du das Projekt nicht hier hochladen darfst, kannst Du mal bitte einen Screenshot von dem Formular machen, welcher das TabControl, zeigt, bei dem die tabPage_Settings angewählt wurde?
    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Häufig von mir verwendete Abkürzungen: CEs = control elements (Labels, Buttons, DGVs, ...) und tDS (typisiertes DataSet)
    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht in den Spekulatiusmodus gehen.
    Da kannst du doch einfach die Texte der Tab's ändern (Text Eigenschaft) und oder die Tab's deaktivieren (Enabled Eigenschaft) bzw. verbergen (Visible Eigenschaft).
    Wo finde ich denn die Eigenschaft? Ich gehe auf die Tabsammlung. Dann in der linken Spalte bei Member auf den unerwünschten tab. Dann gucke ich rechts in den Eigenschaften dieses tabs. Dort finde ich:
    Barrierefreiheit
    Darstellung
    Daten
    Entwurf
    Fokus
    Layout
    Sonstiges
    Verhalten

    Irgendwo dort muss ich Visible finden? Das gibt es nämlich nicht unter den genannten Überschriften.
    Nein, Mia, da suchst Du vergeblich. Das TabControl bietet diese Möglichkeit nämlich nicht an. So einfach ist das mit dem TabPage-Zeigen und -Verstecken nämlich nicht. Es gibt einen codebasierten Weg*, aber den tu ich Dir nicht an, solange Dir (anscheinend) die Programmiergrundlagen fehlen (korrigiere mich bitte, wenn es anders ist). Die einzige Option ist momentan das Deaktivieren der entsprechenden TabPage.

    *Der ist recht kompliziert, bei mir als TabPage-Extension ein 15-Zeiler.
    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Häufig von mir verwendete Abkürzungen: CEs = control elements (Labels, Buttons, DGVs, ...) und tDS (typisiertes DataSet)
    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht in den Spekulatiusmodus gehen.