* Keld Jørn Simonsen keld@dkuug.dk [030411 14:08]:
On Mon, Apr 07, 2003 at 07:45:33PM +0200, Petter Reinholdtsen wrote:
[Keld Jørn Simonsen]
Jeg vet ikke om du har hørt om Linux:-) Der er det mye anvendt at utdata fra et program sendes videre til et annet program. Det heter et rør, på engelsk "pipe". Røret kan f.eks være et program det gjør at du får vist en side av gangen, some "less". Det kan også være et program det sorterer linjene i utdata, "sort" heter det. Sort kan sortere numerisk.
Jeg har også sett programmer som forsøker å gjøre dette feile stygt når de blir kjørt med et locale de ikke forventer (som oftest alt annet enn LANG=C). Det du beskriver fungerer ikke hvis locale forandrer seg. Den eneste måten å være sikker på at programmet fungerer er å bruke et fast locale, fortringsvis C/POSIX, slik at du vet at det du skrev ut er det samme som du leser inn.
Det kan du dessverre ikke forutsette, da programmet ikke vet om det er på vei ut til slutbrukeren, eller det skal etterbehandles først. I mange tilfeller ska det etterbehandles, men bare med en pager som less.
De opplysningene vi taler om er beregnet til POSIX og C localene, som er bl.a. beregnet til tekst/konsollprogrammer. Jeg mener det er viktig at det er mulig å få utskrifter fra tekst/konsollprogrammer på lokalisert form.
Det er det vel ingen som er uenige i? Diskusjonen går vel på hvorvidt man skal bestrebe å gjøre lokalisert presentasjon tolkbar av skript og programmer eller om man skal bestrebe å gjøre presentasjonen korrekt i henhold til norske standarder.
Jeg vil påstå at de fleste som skal tolke utskrift fra programmer (tolke, i motsetning til å vise fram som f.eks. less) vil passe på å kjøre programmet med LANG=C. Ellers vil sannsynligvis det tolkende programmet ikke fungere, i og med at de aller aller fleste skript og programmer er laget med hensyn på engelsk lokalisering.
Hvis det tolkende programmet derimot er laget spesielt for å håndtere norsk lokalisering, burde det vel kunne være istand til å tolke den måten vi velger å presentere det på? Mellomrom/punktum og punktum/kolon vil sikkert skape litt ekstra utfordringer, men de burde være overkommelige.
Hvis det tolkende programmet er laget for å støtte en hvilken som helst lokalisering (via localeconv()), kan jeg ikke skjønne annet enn at de må være istand til å tolke alle formater, selv med mellomrom og punktum i tids- punkt. Det ville forøvrig være en oppgave det stod respekt av.
Altså kan jeg ikke skjønne at tolking av utskriften av programmer skal være noe tema, og vi burde isteden fokusere på å gjøre presentasjonen riktig.
Eivind