Hi,
* Josef Spillner [04/10/02 13:36:53 CEST] wrote:
Aber lange Optionen wurden genau deshalb erfunden, damit es nicht mehr kryptisch zugeht.
Wer eine Option nicht kennt, sucht in der Manpage. Wer sie dann auch noch oefter benutzt, behaelt sie irgendwann im Kopf. Egal ob nun kurz oder lang.
Ausgehend von Programm A mit einer langen Option O dann die gleiche Funktionsweise fuer Programm B vorauszusetzen, funktioniert auch mit langen Optionen nicht zuverlaessig.
Technisch könnte man das z.B. so realisieren, daß getopt() das Matching sowohl gegen die lokalisierte als auch die originale Variante durchführt.
Schlechte Idee. Zum einen hast du das Problem, dass du einen zusaetzlichen Lookup hast, der in bestimmten Situationen auch die Performance druecken kann. Unabhaengig davon, muesste darauf geachtet werden, dass immer nur ein einheitliches Schema pro Aufruf genutzt wird, damit du nur zwei Varianten pruefen musst.
...und schickt dir ein Somalier ein Shell-Skript mit lokalisierten Optionen, darfst du die per Hand uebersetzen... es sei denn du hast eine $bigbox, wo du gegen alle Lokalisationen pruefen kannst.
[...]
Oder Wrapperprogramme installieren: apt-get install fileutils-de. Diese könnten dann sprachspezifische Optionen herausfiltern und umwandeln.
Das waere, wenn man das ueberhaupt will, eine Loesung. Es hat den Vorteil, dass die, die lokalisiertes Zeug benutzen moechten, dies auch tun koennen und ich dadurch keinerlei Nachteile habe (...und, dass an den Programmen an sich nichts veraendert werden muss). Zum anderen besteht der Vorteil, dass diese Leute irgendwann auch die Sinnfreiheit (IMO) von Lokalisierungen sehen und zum 'Ursprung zurueckkehren'.
Und bezüglich FvL: Der hat sowieso kein LANG/LANGUAGE/LC_ALL gesetzt, den betrifft das nicht.
Hmm, /me hat LC_ALL="en_US.ISO_8859-1". Spielt aber keine Rolle, weil auch fuer ihn keinerlei Nachteile entstehen duerfen (und wenn es auch nur Performance ist).
Aber ich moechte schon gern dabei sein, wenn FvL auf lokalisierte Commandline-Switches von Programmen angesprochen wird. ;-))
Cheers, Rocco.