Hallo, ich würde gerne das neue WinAVR zusammen mit dem Editor KamAVR verwenden , doch leider ist die Ausgabe des Compilers teilweise auf Deutsch, sodass der Error-Parser von KamAVR mit der Ausgabe nichts anfangen kann. Besteht eine Möglichkeit den Compiler so zu konfigurieren, dass die ganzen Meldungen, Warnungen und Fehler wieder auf Englisch sind. Ich habe bereits versucht bei der Installation von WinAVR die Sprache Englisch auszuwählen, doch die Compilerausgaben sind trotzdem auf Deutsch. mfg Markus
Seit einem Update von avrdude auf die 5er Version habe ich auch deutsche Compilerausgaben (ich habe mehrere Sachen geupdatet, aber ich meine es ist erst seit dem avrdude Update). Leider funktionieren die Umlaute nicht ganz korrekt. Make rufe ich über das Menü von Programmers-Notepad auf. Im Compileroutput siehts dann z.B. folgendermaßen aus: main.c:154: Warnung: Rückgabetyp von »main« ist nicht »int« Weiß jemand woran das liegen könnte?
Sieht aus wie UTF-8-Zeichen, die mit 8 bit angezeigt werden.
Könnte sein. So etwas ähliches hat mir Outlook-Express auch bei UTF-8 Emails angezeigt. Darum bin ich auch zu Thunderbird umgestiegen. Nur wie kann man PN davon überzeugen das richtig auszugeben?
Um WinAVR auf Englisch umzustellen: Ich habe bei mir einfach das File: C:\WinAVR\share\locale\de\LC_MESSAGES\gcc.mo gelöscht, Nun erscheinen die Fehlermeldungen in Englisch und man kann munter draufklicken.
> Ich habe bei mir einfach das File: > C:\WinAVR\share\locale\de\LC_MESSAGES\gcc.mo gelöscht Holzhammermethode. Korrekt wäre es, wenn sich jemand, der die Meldungen zwingend auf Englisch haben will (weil er sie parsen möchte) selbst darum kümmern würde, dass LANG=C eingestellt ist. Wenn ein Mensch sie auf Englisch haben will, obwohl sein Sprachstandard auf Deutsch steht (sprich: ein deutsches Windows installiert ist statt eines englischen), dann sollte es eben auch dieser Mensch sein, der sich darum kümmert. Dass gerade Windows-Benutzer sich über die Internationalisierung aufregen, erscheint schon etwas kurios...
Internationalisierung ist bei Anwendungsprogrammen 'ne schicke Sache. Bei Fehlermeldungen eines Compilers aber halte ich sie für ebensowenig sinnvoll wie bei der vom Compiler übersetzten Sprache - man stelle sich mal einen deutschen C-Dialekt vor: #einbinde <standardeinaus.k> #einbinde <zeichenkette.k> #definiere BLA "fusel" // ... Internationalisierte Präprozessor-, verzeihung, // Vorverarbeiteranweisungen ganz haupt(ganz argc, zeichen** argv) { ganz x; fluss k; zeichen y; kurz t; lang n; ohnevorzeichen ganz a; fluechtig kurz b; statisch zeichen g; // naheliegende internationalisierte Datentypen wenn (y) { mache { // } solange (x); } sonst { schalte (y) { falls 1 : // abbruch; falls 2 : // abbruch; standard : // abbruch; } } druckf("Hallo %k %z\n", k, text); // Konsequenterweise muss auch der Formatstring // internationalisiert werden! // zurueck 0; } Wird nur mir dabei sehr schlecht?
Sind zwei verschiedene Dinge. Die Sprache ist definiert, und es ist (zum Glück) auch definiert, wie sie aufgebaut werden muss. Die Fehlermeldung ist Dialog mit dem Anwender. Wenn der Anwender als Vorzugssprache deutsch ausgewählt hat, warum soll der Compiler dem nicht gerecht werden, so es ihm möglich ist? Schließlich war das doch die Wahl des Anwenders. Wenn er englisch bevorzugt, soll er doch bitte auch englisch als Vorzugssprache einstellen. (Was unter Windows wohl bedeutet, dass man von einer komplett anderen CD-ROM installieren darf, aber das bitte klärt mit Bill Gates, für den war das wohl `userfriendly', das so zu machen.)
> Die Sprache ist definiert ...
Das meint natürlich die Programmiersprache C.
Tja, die Fehlermeldungen in deutsch wären ja auch ganz nett, wenn sie leserlich wären. Mit den UTF8 dazwischen siehts halt einfach nur merkwürdig aus, weshalb ich auch auf Englisch geschaltet habe. Außerdem sind alle meine sonstigen Programme (PSPad, AVRDude, AVRStudio etcpp.) auch in Englisch. Gruß, Matthias
Zudem sind die deutschen Meldung 1. Unverständlich, außer man übersetzt sie mit dem Wörterbuch (also nicht sinngemäß) zurück ins Englische. 2. Man findet im Internet nichts dazu, nur zu englischen Meldungen.
Die UTF-8-Darstellung dürfte eher ein Problem des anzeigenden Programmes sein. Ich hätte erwartet, dass Windows da den Unixen eher voraus ist. Was ist an Warnung: Rückgabetyp von »main« ist nicht »int« denn unverständlich? Dass man im Internet dazu nichts findet: klar. Du musst es dir ja auch nicht in deutsch anzeigen lassen. Aber warum installieren denn dann alle ein deutsches Windows, wenn sie's lieber englisch hätten? Über die Unflexibilität von Windows bezüglich der Lokalisierung zu diskutieren, sind wir hier aber wohl im falschen Forum. Ich finde den Unix-Weg (standardmäßig alles englisch, auf andere Sprachen wird zur Laufzeit umgeschaltet) auch praktikabler, aber Herr Gates hat sich das für seine Nutzer wohl anders gedacht. Bei mir steht jedenfalls auch alles auf englisch außer dem Zeichensatz.
> Aber warum installieren denn dann alle ein deutsches Windows, > wenn sie's lieber englisch hätten? Moment. Das kann man so nicht verallgemeinern. ich hab ja auch ein deutsches Office auf der Maschine und bin glücklich damit. Nur sind halt Entwicklungsumgebungen in Englisch wesentlich besser. Das fängt bei der Doku an (die auf Deutsch meist grauenhaft ist) und hört bei den Fehlermeldungen auf. Aber deswegen mute ich meiner Frau noch lange kein englisches Windows zu.
> Aber deswegen mute ich meiner Frau noch lange kein englisches > Windows zu. Du sollst deiner Frau ja auch ein eigenes deutsches Windows installieren, nur damit lässt sich Geld machen. ;-) Meine Frau hat auch ein anderes language environment als ich, obwohl sie auf dem gleichen Rechner zur gleichen Zeit eingeloggt ist... Ich sach doch, du musst dich in einer passenderen Gruppe darüber beklagen, dass Windows so bekloppt ist und praktisch nur in einer einzigen localization pro Installation daher kommt. Da ist der GCC doch noch freundlich, dort kannst du es wenigstens einfach zur Laufzeit umstellen, was er nimmt (wir reden ja hier nur über den Default, und der ist für ein deutsches Windows eben mittlerweile offenbar deutsch geworden). Viele andere Dinge in deinem System kannst du nicht einfach zur Laufzeit umstellen, beginnend bei profanen Dingen wie c:/Program Files statt c:/Programme, die Sprache, in der die Fehlermeldungen von cmd.exe ausgegeben werden etc. pp.
Das eine hat doch nix mit dem anderen zu tun. (also das man andere Dinge im OS nicht zur Laufzeit einstellen kann usw.) Wenn es bisher immer defaultmäßig auf Englisch ausgegeben wurde und sich alle drauf eingestellt haben (parser+tools wie AVRStudio z.B.) - WARUM JETZT AUF EINMAL IN ANDEREN SPRACHEN WIE DEUTSCH? Wozu? Warum? Weshalb? Mein OS ist natürlich auf Deutsch eingestellt - wir sind hier ja auch nicht in China. Aber ENTWICKLUNGSTOOLS sind allesamt auf Englisch und ALLE die ich verwende (AVRStudio, MPLAB, Eclipse+J5SDK, PN2, viele andere Tools für Mikrocontroller, diverse Webserver + PHP sachen, etc.) scheren sich REIN GAR NICHT um die Einstellung im OS und bleiben bei Englisch - UND DAS IST AUCH GUT SO! Die deutschen Übersetzungen sind oft schlecht und missverständlich... IMHO sollte defaultmäßig IMMER Englisch eingestellt bleiben - bei Bedarf sollte man das ändern können - ABER NUR WENN MAN DAS UNBEDINGT WILL! Ist doch wieder nur zusätzlicher Aufwand für die Mehrheit der Nutzer erst LANG=C zu setzten... grr
@Dominik Du sprichst mir aus der Seele. Ev. könnte ein Setup mal gaaaanz vorsichtig anfragen, ob den eine deutsche Version genehm wäre, da doch das Betriebssystem auch auf Deutsch läuft. Was ich allerdings ablehnen würde und bei einer englischen bleiben würde (aus den genannten Gründen und überhaupt: Die Fachsprache in diesem Bereich ist nun mal Englisch)
> Ev. könnte ein Setup mal gaaaanz vorsichtig anfragen, > ob den eine deutsche Version genehm wäre, da doch das > Betriebssystem auch auf Deutsch läuft. Das Setup ändert daran ja nichts mehr. Das Dilemma ist einfach: setlocale() nimmt offenbar als Standard die Windows-Einstellung. Das ist konsistent mit der Windows-Philosophie (und anders als die Unix-Philosophie, bei der das normalerweise jeder Nutzer selbst entscheidet). Ich weiß, dass gerade im asiatischen Raum die Nationalisierung irgendwelcher Meldungen vielen Leuten einen Zugang zu ansonsten für sie unverständlichem englischen Kauderwelsch bringt, insofern ist es durchaus nicht so, dass alle Leute das ablehnen. (Deutsche Entwickler haben im Umgang mit der englischen Sprache zumeist weniger Probleme, das ist naturgemäß.) > WARUM JETZT AUF EINMAL IN ANDEREN SPRACHEN WIE DEUTSCH? Kein Grund zum Rumschreien. Ganz einfach: offensichtlich haben sich bei GCC mittlerweile überhaupt genügend Übersetzer gefunden, sodass nach und nach die Internationalisierung vorangetrieben wird. Btw., wenn ihr schon unfreiwillig zu Betatestern der deutschen Meldungen geworden seid: warum nicht einfach einen Bugreport für unverständlich übersetzte Meldungen schreiben? Das ist der sicherste Weg, damit sich die Sache mal irgendwann bessern könnte. Solange jeder nur still vor sich hin flucht, wird sich sicher gar nichts ändern. Ich weiß nicht, was Eric für die nächste Version vorhat (man kann die Internationalsierung global abschalten, aber dann nur ohne wenn und aber: sie ist dann für gar niemanden mehr aktivierbar). Dennoch bleibe ich dabei, dass es Aufgabe eines Parsers ist, sich darum zu kümmern, dass die Meldungen in der von ihm gewünschten Form da herauskommen.
Sorry, aber ich hab das noch nicht so recht verstanden mit der LANG=C - Einstellung. Ich arbeite mit AVRstudio und Winavr. Wo zum Geier muss ich denn da die LANG=C Einstellung vornehmen?
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.