Eg har no forbetra skriptet eg brukar til oppslag i ordbanken til hjelp ved omsetting. Det er ikkje alltid lett å veta korleis ord skal bøyast, spesielt sidan me må bruka full samsvarsbøying.
Eksempel: Du sit der med ei korg jordbær ein varm sommarkveld. Når du er ferdig å nyta jordbæra, kjenner du behov for å uttrykka dette til verda, og då på korrekt nynorsk. Kva vert rett ordform av «å nyta» her: Jordbæra er [å nyta].
Svar kjem i slutten av denne e-posten:
Fullformslistene til Norsk ordbank er gjevne ut under GPL, og er tilgjengelig frå: http://www.edd.uio.no/prosjekt/ordbanken/
(Ordlistefilene må gjerast om frå ISO 8859-1 til teiknkodinga du brukar (veldig trulig UTF-8) før du kan ta skriptet i bruk.)
Her er skriptet eg brukar (kall det gjerne «ord» og legg det i søkjestigen):
#!/bin/sh # ord – oppslag i nynorskordlista etter hovudformer som tilfredstiller visse kriterium. # Syntaks: ord kriterium1 kriterium2 ... # # Forklaring: # awk: Trekk ut oppføringar med rett grunnord ($1). # sed: Fjern kodar (på forma <kode1>) som inneheld tal. # sed: Fjern kodar («ord» utan <>) som inneheld berre tal. # sed: Fjern klammeformer og unormerte ord. # grep: Filtrer oppføringar etter dei (opptil) 8 kriteria. # uniq: Fjern duplikatlinjer som kjem etter kvarandre. # column: Formater resultatet som ein fin tabell.
ordbok=~/utvikling/ordbank/fullform_nn.txt awk '{ if ( $2 == '"$1"') {print $0}}' $ordbok \ | sed 's/<[^>]*[0-9][^>]*>*//g' \ | sed 's/\b[0-9]*\b//g' \ | fgrep -v klammeform | fgrep -v unormert \ | grep -E "\W<?$2" | grep -E "\W<?$3" | grep -E "\W<?$4" | grep -E "\W<?$5" \ | grep -E "\W<?$6" | grep -E "\W<?$7" | grep -E "\W<?$8" | grep -E "\W<?$9" \ | uniq \ | column -t
Skriptet tar inn *grunnforma* av eit ord, samt (starten på) eventuelle formkodar. Unormerte ord og klammeformer vert ekskluderte, sidan me ikkje skal bruka dei i omsettingane våre. (For bokmål kan du fjerna filtreringa av klammeformer, sidan bokmål ikkje lenger har skilje mellom klammeformer og hovudformer, men la filtreringa av unormerte ord vera.)
Eksempel på bruk:
ord ringje
Dette gjev alle bøyingar av ordet «ringje».
Me kan òg avgrensa oss til enkelte former. Lat oss tenka oss at me skal omsetta meldinga «Read messages» (namnet på ei mappe), men er litt usikkert på om perfektum partisipp-forma er «leste» eller «lesne». Då kan me skriva:
ord lese perf
Dette gjev alle desse treffa:
lese lesi verb perf-part normert lese lese verb perf-part normert lese lesi adj <perf-part> nøyt ub eint normert lese lese adj <perf-part> nøyt ub eint normert lese lesen adj <perf-part> m/f ub eint normert lese lesi adj <perf-part> fem ub eint normert lese lesne adj <perf-part> bu eint normert lese lesne adj <perf-part> fl normert
Svaret er altso at «Read messages» må bli «Lesne meldingar».
Som me ser, får me ofte *mange* treff. Me kan filtrera vidare. Skal for eksempel namnet på mappa med meldingar ein har sendt heita «Sendte meldingar» eller «Sende meldingar»? Svar:
ord sende perf fl
sende sende adj <perf-part> fl normert
Det heiter altso «Sende meldingar» (men om ein skriv privat, kan ein bruka «Sendte meldingar», som er ei klammeform).
Nokre nyttige kodar: adj/verb/subst (sjølvforklarande) eint/fl (eintal/fleirtal) bu/ub (bunden/ubunden form) pres/pret/perf/imp (presens/preteritum/perfektum/imperativ)
Det finst òg andre. Til slutt: Svaret på oppgåva om jordbærnytinga er («ord nyte fl»):
Jordbæra er notne.
Torsdag 31. juli 2008 skreiv Karl Ove Hufthammer:
Eg har no forbetra skriptet eg brukar til oppslag i ordbanken til hjelp ved omsetting. Det er ikkje alltid lett å veta korleis ord skal bøyast, spesielt sidan me må bruka full samsvarsbøying.
Men no er det enklare! Ordbanklistene ligg no i SVN, under «i18n/ordbanken». Eg har òg lagt inn det omtalte skriptet, sterkt forbetra, på «i18n/skript/ordbanken.sh». Syntaksen er litt endra. No må me skriva:
./ordbanken.sh språkkode grunnord kriterium1 kriterium2 …
(opptil 7 kriterium/kodar)
Eksempel:
./ordbanken.sh nn lese ./ordbanken.sh nn lese perf ./ordbanken.sh nb hoppe subst fl ./ordbanken.sh nb over prep
I tillegg til å fungera meir korrekt, tar no skriptet og fargelegg enkelt ordkodar. Hankjønn vert blå, hokjønn rosa, inkjekjønn gule og fellesforma hankjønn/hokjønn grøn. Sjå eksempel på dei tre første:
./ordbanken.sh nn annan
Skriptet filtrer vekk alle unormerte ord og alle klammeformer. På bokmål finst det som kjent ikkje klammeformer lenger (dei har blitt hovudformer), men ordbanken inneheld likevel informasjon om det som før var klammeformer. Desse vert som standard filtrerte vekk. Viss bokmålsomsettarane heller vil sjå dei, er det berre å endra skriptet. Då vert for øvrig klammeformene viste i raudt.
For øvrig fungerer skriptet same kva mappe det vert køyrt frå. Sidan heile skriptnamnet og språkkoden er langt å skriva, vil eg anbefala dykk å laga eit alias med den språkkoden de brukar mest. Sjølv har eg:
alias ord="~/utvikling/skolelinux/i18n/skript/ordbanken.sh nn $*"
No treng eg berre skriva
ord forum
i Yakuake eller ein annan terminalemulator for å sjå korleis «forum» skal bøyast. Dette fungerer sjølvsagt òg med vidare filtrering på ordkodar.
Eventuelle feil eller forslag til forbetringar kan meldast til meg, eller her til lista.
Karl Ove Hufthammer:
Skriptet filtrer vekk alle unormerte ord og alle klammeformer. På bokmål finst det som kjent ikkje klammeformer lenger (dei har blitt hovudformer), men ordbanken inneheld likevel informasjon om det som før var klammeformer. Desse vert som standard filtrerte vekk. Viss bokmålsomsettarane heller vil sjå dei, er det berre å endra skriptet. Då vert for øvrig klammeformene viste i raudt.
Eg har no endra dette, slik at ein lett kan sjå klammeformene om ein vil. Her er den nye syntaksen:
ordbanken.sh språkkode grunnord kriterium1 kriterium2 kriterium3 ...
Altso som før, men viss kriterium1 er teksten «klammer», vert òg alle klammeformene viste (og koden «klammeform» vert merkt med mørkeraudt). Dette gjeld både nynorsk og bokmål.
Viss du ikkje brukar teksten «klammer» som kriterium1, fungerer programmet akkurat som før, slik at kriterium1 fungerer som vanlig filtreringskriterium.
Karl Ove Hufthammer skreiv:
Eg har no forbetra skriptet eg brukar til oppslag i ordbanken til hjelp ved omsetting.
Fleire forbetringar. No har eg endra veldig mykje i skriptet, slik at det er eit skikkelig program (under GPL 3 eller seinare, for øvrig). Det har mange nye funksjonar, og støttar blant anna å visa resultatet som HTML.
Viktig: Merk at syntaksen for val av språk og vising/gøyming av klamme-former er endra. I tillegg vert klammeformene viste som standard. Men sidan skriptet no har innebygd hjelp, lar eg det tala for seg sjølv:
./ordbanken.sh --hjelp
Bruk: ordbanken.sh [VAL] grunnord [KRITERIUM1] [KRITERIUM2] ... Slår opp ordet «grunnord» i fullformsordlista til Norsk ordbank, med eventuell filtrering etter eitt eller fleire kriterium.
Verdiar for VAL: -s, --sprak=SPRÅKKODE Vel ordliste, der SPRÅKKODE er nn for nynorsk (standard) eller nb for bokmål. -e, --eksempel Vis eksempel på bruk, samt nokre tips. -f, --fargekod Fargekod resultatet (standard). -F, --ikkje-fargekod Ikkje fargekod resultatet. -k, --klammer Vis òg klammeformer (standard). -K, --ikkje-klammer Vis ikkje klammeformer. -p, --parentes Vis klammeparentesar rundt klammeformer (standard). -P, --ikkje-parentes Ikkje vis klammeparentesar rundt klammeformer. --tekst Vis resultatet som rein tekst (standard). --html Vis resultatet som HTML. -h, --hjelp Vis denne hjelpeteksten.
Finn de feil, eller har forslag til forbetringar, kan de senda ei melding enten her til til lista, eller til meg personlig (karl@huftis.org).