Forum: Compiler & IDEs WinAVR-20060125 Ausgabe auf Englisch umstellen


von Markus Grünwald (Gast)


Lesenswert?

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

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

LANG=C im Environment setzen.

von Markus Grünwald (Gast)


Lesenswert?

Danke Jörg,

jetzt klappts auch mit KamAVR

von Thomas (Gast)


Lesenswert?

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?

von Thomas (Gast)


Lesenswert?

Achso: avr-gcc 3.4.5

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Sieht aus wie UTF-8-Zeichen, die mit 8 bit angezeigt werden.

von Thomas (Gast)


Lesenswert?

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?

von Peter Fleury (Gast)


Lesenswert?

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.

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

> 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...

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

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?

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

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.)

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

> Die Sprache ist definiert ...

Das meint natürlich die Programmiersprache C.

von MNR (Gast)


Lesenswert?

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

von Werner B. (Gast)


Lesenswert?

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.

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

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.

von Karl H. (kbuchegg)


Lesenswert?

> 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.

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

> 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.

von D. H. (slyd)


Lesenswert?

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

von Karl H. (kbuchegg)


Lesenswert?

@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)

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

> 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.

von Peter S. (docsnyder)


Lesenswert?

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
Noch kein Account? Hier anmelden.