on the spot vertalen
Er worden op deze aardkloot zo'n 7000 talen gebezigd, waarbij een doorsnee Nederlandse computergebruiker er een stuk of twee, Nederlands en Engels, machtig is.
Nu komt een mens op het Internet van alles tegen, wat soms in een onbegrepen taal verwoord wordt.(sic)
Met een klik of wat, of via het intypen van "translate.google.com" is dit natuurlijk wel op te lossen, maar wat dacht je van een enkele combinatie-aanslag op het toesenbord?
Op een eenvoudige wijze is dat te verwezenlijken, maar allereerst dienen de volgende pakket geinstalleerd te zijn/worden:
zenity libnotify-bin wget xsel
Kopieer vervolgens onderstaande tekst in een nieuw bestand (in de "Home" map) dat we "keytranslate" zullen noemen:
#!/usr/bin/env bash text="$(xsel -o)" translate="$(wget -U "Mozilla/5.0" -qO - "http://translate.googleapis.com/translate_a/single?client=gtx&sl=auto&tl=en&dt=t&q=$(echo $text | sed "s/[\"'<>]//g")" | sed "s/,,,0]],,.*//g" | awk -F'"' '{print $2, $6}')" "$text"'\n' > /tmp/keytranslate_en echo "$translate" >> /tmp/keytranslate_en zenity --text-info --height 300 --width 600 --title="Vertaling" --filename=/tmp/keytranslate_en rm /tmp/keytranslate_en
De code "sl=auto" in de regel welke met "translate" begint, geeft aan dat de brontaalkeuze automatisch gemaakt wordt.
De code "tl=en" geeft de te gebruiken vertaling aan en staat zo op "Engels", wat ik persoonlijk zo laat omdat vertalingen van bv Franstalige IT-sites naar het Nederlands krom & onbegrijpelijk kunnen zijn.
Moet de vertaling toch in onze moerstaal, verander "tl=en" daartoe in "tl=nl"
De regel "rm /tmp/keytranslate_en" zou niet nodig moeten zijn omdat het bestand bij elke actie overschreven zou moeten worden, maar ik heb het toegevoegd omdat soms een eerdere vertaalactie ook nog getoond wordt.
Maak het bestand uitvoerbaar met:
chmod +x ~/keytranslate_en
en kopieer het naar de uitvoerende map:
sudo cp ~/keytranslate_en /usr/local/bin/
In de volgende stappen koppelen we het uitvoeren van de opdracht aan een toetscombinatie.
- Open de toetsenbordsettings (menu > voorkeuren > toetsenbord) en
- klik op de tab "Sneltoetsen" en dan op"Aangepaste sneltoetsen"
- Klik op de knop "Voeg aangepaste sneltoets toe",
- vul in bij "Naam": keytranslate_en en bij "Opdracht": /usr/local/bin/keytranslate_en
- Sluit dit venstertje af door op "Toevoegen" te klikken.
In het onderste gedeelste verschijnen drie regels met "niet-toegewezen". - Dubbelklik op de bovenste regel en geef via een toescombinatie aan hoe de actie geinitieerd moet worden. (bijvoorbeeld Shift+Crtl+T of Super+F1)Er kunnen zo drie zg. HotKeys ingevoerd worden.
- Sluit het configuratieschermpje, open de browser of een document, selecteer wat tekst en druk op Super+F1 en voila: er verschijnt een window met een Engelse (of zo je wilt een nederlandse) vertaling.
meer(ver-)talig?
We kunnen makkelijk een tweede vertalingwijze activeren.
Simpelweg: kopieer "keytranslate_en" naar "keytranslate_XX", wijzig "tl=en" naar de gewenste taal en ken vervolgens een aangepaste shortkey/keycode toe.
beperkingen
Let wel, leestekens anders dan punt en komma worden niet weergegeven.
En, er zijn wat beperkingen aan deze, gratis, Google Translate API, welke weliswaar perfect werkt met enkele woorden en korte zinnen, maar wanneer meerdere c.q. langere zinnen worden gekopieerd, is er kans dat deze worden afgekapt bij een punt, komma, dubbele regelspatie en/of door een meegekopieerde code in een webpagina.
![]() |
22 augustus 2018