Hallo Sven, On Sun, Aug 06, 2006 at 05:27:44PM +0200, Sven Joachim wrote: > Hallo Jens, > einiges in deiner Mail habe ich nicht verstanden. :-(
OK, dann lass mich erklären. > Jens Seidel schrieb: > > >Hier wäre eindeutig das Programm gefragt. Wäre es richtig lokalisiert > >(oder internationalisiert?), so würde es Zeilenumbrüche automatisch > >vornehmen, ebenso die Ausgabeformatierung handhaben (durch Verwendung > >spezieller Steuerzeichen, die eine konsistente Einrückung bei Listen > >z.B. automatisch sicherstellen). > > Wie stellst du dir das vor? Etwa mit Tabulatorzeichen und ähnlichem? Zum Beispiel. Ich dachte aber eher an programmspezifische Steuerzeichen. aptitude verwendet %B zum Einleiten fetter Texte, %b zum Beenden. Analog könnte man weitere solche Steuerzeichen einführen wie z.B. %I für den Anfang eines (eventuell eingerückten) Menüpunktes, ... Für * Punkt 1 (dieser ist sehr sehr lang) * Punkt 2 könnte man "%IPunkt 1 (dieser ist sehr sehr lang)%IPunkt 2" als Vorlage haben. Eine Übersetzung könnte so leicht auch aus zwei Punkten mehrere machen, eventuell Trennhilfen vorgeben (wie sieht dies z.B. bei japanischen Texten aus :-), ... und das ganze unabhängig von der Textbreite. > Ich sehe vor allem das Problem, dass die Länge der (Fehler-)Meldung > unbekannt ist, sobald Format-Strings mit %s und dergleichen ins Spiel > kommen. Immerhin kann ein Dateiname bis zu 255 Zeichen, ein vollständiger > Pfadname sogar beliebig lang werden. Dann muss man die Ausgabe eben mit einer (eigenen) Funktion wie wrap(const char*) kapseln, welche den Text an Leerzeichen nach maximal n (variabel) Zeichen umbricht. Du hast Recht, dass es mit extremen Strings natürlich Probleme geben könnte. > >Ich würde also sagen, dass bei Problemen dieser Art ein Fehlerbericht zu > >senden ist und die Übersetzung dies ignoriert. > >Dummerweise glaube ich, dass viele, viele Programme davon betroffen > >wären. > > So ziemlich alle sogar (jedenfalls die, die stdio-Funktionen verwenden). OK. Andererseits kann man wohl von einer minimalen Konsolenbreite ausgehen. Kleine Texte < 80 Spalten muss man dann nicht gesondert betrachten. > >Andererseits kann die Lösung auch (wenn man auf spezielle > >Formatierung verzichtet) ziemlich trivial sein. > > Nämlich wie? Eine kleine Wrapper-Funktion um die Ausgabefunktion. > >Eventuell könnte man den > >Code auch in eine gebräuchliche Bibliothek auslagern ... > > So eine Art »foldprintf« Funktion, welche rechtzeitig umbricht? In den > coreutils müsste der Code dazu schon stehen, siehe »fold -s«. Ganz genau etwas in der Art ... PS: Tut mir leid, dass ich deine dpkg-Übersetzung nicht korrekturgelesen habe. Die Bemerkungen über die Länge haben mich abgeschreckt, außerdem gab es ja einige andere Kommentare. So habe ich viele Stunden mehr für anderes gehabt ... Jens -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]