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]

Antwort per Email an