IKT i praksis - Pascal |
|
Norsk tekst på knappaneHar du irritert deg over at meldingane på diverse knappar kjem opp med engelsk tekst utan at du har funne ein metode for å legge inn norsk tekst? Eg gjorde det i alle fall lenge, heilt til eg dumpa over ein måte å endre dette på. Dei som utviklar Free Pascal og Lazarus har sikkert ein fornuftig grunn til å ikkje gjere det enkelt å skifte tekst på desse knappane. Sjølv skulle eg ønskt det var like enkelt som å legge tekst på dei vanlege knappane. Men, det finst altså ei løysing. Ho er ikkje lett å finne, men ikkje uoverkomeleg vanskeleg når ein ført har funne løysinga. Det einaste som krevst er litt kunnskap om filhandtering og redigering, noe ein må rekne ein programmerar har. Det første du må gjere er å gå inn i mappa der Lazarus er lagra og leite deg fram til Lazarus/lcl/languages/lclstrconsts.po. Finn du ikkje lclstrconsts.po? Kanskje du har hamna i mappa Lazarus/languages/ i staden? Har du redigeringsprogram for po-filer, opnar du fila lclstrconsts.po i dette og omset alle «Yes», «No», «Cancel» osv som du meiner du kan ha bruk for. Lagra fila som lclstrconsts.no.po. Sjølvsagt kan du setje om heile fila om du har lyst til det. Må du bruke Notisblokk, Notepad++ eller liknande, blir prosessen litt meire tungvindt men fullt ut løysande.
Når fila er opna, pass på at ho blir vist i UTF-0 format. Fila er ei teikstfil med mange linjer noe liknande
#: lclstrconsts.rsmbyes
#: lclstrconsts.rsmbyes Ikkje prøv å redigere fila med vanlege tekstbehandlingsprogram. Dei legg inn for mange ekstra koder. Det du nå har laga er ei fil med norske ord som skal erstatte dei engelske orda i ein del komandoar. Neste steg er å fortelje Lazarus at du har gjort det. Rutinen bruker translations, så du må legge denne inn i uses. I programmet ditt går du inn i Object Inspector på venstre side av skjermen. Her klikkar du fram Events og endeleg OnCreate. Dobbeltklikk på denne og du får fram prosedyren i Source Editor. Her skriv du inn:
uses …, translations; GetLanguageIDs(Lang, Lang2); hentar språkkoden maskinen er sett opp med. Ønskjer du å overstyre dette, fjernar du denne kommandoen. I staden definerer du aktuelt språk i variabelen Lang. Prosedyren kan då sjå t.d. slik ut:
procedure TForm1.FormCreate(Sender: TObject); Grunnen til at det blir brukt to variantar av Lang er at ikkje alle operativsystem er standardisterte. Difor kan t.d. norsk bli koda med språkkoden «no_NO» eller «no» sjølv om ingen av desse eigentleg er gyldige. «no» er landkoden, men var tidlegare kode for norsk generelt og kan nok finnast i gamle maskiner eller i operativsystem som ikkje er oppdaterte. For norsk er kodene nå «nb» for bokmål og «nn» for nynorsk. |
|
© Innhald og design: Kolbjørn Stuestøl | Stuestøl heimeside | Sist endra 11. april 2013 |