I dag, med så mange enheder, der er forbundet til internettet og så mange steder at besøge på Internettet, er det meget normalt, at vi finder de oplysninger, vi leder efter, på et sprog, som vi ikke taler. Vi kan endda finde en tekst på et sprog, som vi synes, vi kender godt, og læse et ord, som vi ikke ved, hvad det betyder. Hvad gør vi i disse tilfælde? Nå, den normale ting er at høre siden til en oversætter, som f.eks.Bing eller Google, men ville det ikke være bedre, hvis vi havde en hurtigere og mere behagelig måde at gøre det på? Nå, som næsten alt i Linux-baserede operativsystemer, er der flere måder at opnå det på, og i denne artikel vil vi lære dig hvordan man oversætter enhver tekst i Ubuntu, så længe sproget er inkluderet i Google Translator.
Det er muligt, at den følgende guide giver en vis respekt for brugere, der ikke kan lide at røre terminalen meget, men det forklarer ikke noget andet, end når vi siger, hvordan man tilføjer et lager og installerer en pakke, der ikke er i den officielle dem. Forskellen er, at lad os oprette en script der giver os mulighed for at starte komponenter, der er tilgængelige i Ubuntu. Når det er sagt, er nedenstående trin, der skal følges for at oversætte enhver tekst i Ubuntu.
Sådan oversættes tekster med Ubuntu
Oprettelse af script notitrans
- For at bruge script, vi skal udføre tre installationer:
- libnotify-bin for at modtage skrivebordsunderretninger.
- wget for at få Google-oversættelsen.
- xsell at læse den tekst, vi har markeret.
For at gøre dette åbner vi en terminal og skriver følgende:
sudo apt-get install libnotify-bin wget xsel
- Dernæst opretter vi en ny tekstfil (bare højreklik på skrivebordet og vælg Nyt dokument / tomt dokument).
- Inde i dokumentet skal vi indsætte følgende:
#!/usr/bin/env bash notify-send --icon=info "$(xsel -o)" "$(wget -U "Mozilla/5.0" -qO - "http://translate.googleapis.com/translate_a/single?client=gtx&sl=auto&tl=es&dt=t&q=$(xsel -o | sed "s/[\"'<>]//g")" | sed "s/,,,0]],,.*//g" | awk -F'"' '{print $2, $6}')"
- Bemærk: i script over er der en linje, der siger "tl = es". Hvis du ikke vil oversætte til spansk, skal du kun ændre det sprog, du har bag ligesymbolet (=).
- Vi gemmer den forrige fil og kalder den "notitrans" (uden citaterne).
- Derefter skal vi konvertere det forrige dokument til en eksekverbar fil. For at gøre dette kopierer vi det til vores personlige mappe og skriver følgende i en terminal:
chmod +x ~/notitrans
- Det næste trin flytter den oprettede fil til mappen / Usr / local / bin / med følgende kommando:
sudo mv ~/notitrans /usr/local/bin/
- Vi er ikke færdige endnu. Vi har brug for (mindst) yderligere to trin: Nu skal vi oprette en tastaturgenvej. For at gøre dette går vi til Systemindstillinger / Tastatur / Genveje og klikker på plus-symbolet (+). Du får vist et vindue som følgende:
- I vinduet sætter vi det navn, vi ønsker (jeg har givet det Notitrans) og kommandoen "notitrans" (uden citaterne). Vi kan placere en anden kommando, men vi bliver nødt til at bruge det samme navn, som vi gemmer script.
- Nu skal du bare oprette tastekombinationen. For at gøre dette skal vi klikke på teksten, der siger Disabled, og indtaste den ønskede kombination. Jeg har brugt Control + -periode (.), Da jeg ved, at der ikke er nogen tastekombination, der bruger den genvej.
varianter
Hvis du ikke kan lide den måde, oversættelsen viser os med script ovenfor, som faktisk ikke kan vise meget lange oversættelser, fordi det er begrænset af meddelelsens størrelse, kan vi også bruge nogle varianter. For at bruge disse varianter bliver vi nødt til at udføre den samme proces som den foregående (også ændre sproget, hvis vi ønsker det), men ved hjælp af den tilsvarende kode i trin 2.
Brug af Xclip
Hvis vi ønsker, at vi ud over notifikationen vil kopiere oversættelsen til udklipsholderen, vi vil også bruge xclip. Først sørger vi for, at vi har det installeret med kommandoen:
sudo apt-get install xclip
Og i script at vi opretter skriver vi følgende:
#!/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=es&dt=t&q=$(echo $text | sed "s/[\"'<>]//g")" | sed "s/,,,0]],,.*//g" | awk -F'"' '{print $2, $6}')" echo "$translate" | xclip -selection clipboard notify-send --icon=info "$text" "$translate"
Brug af Zenity
Og hvis det, vi ønsker, skal vises som det forrige billede (min favorit), sørger vi for, at vi har Zenity installeret ved at skrive kommandoen:
sudo apt-get install zenity
Og i dokumentet vil vi skrive følgende:
#!/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=es&dt=t&q=$(echo $text | sed "s/[\"'<>]//g")" | sed "s/,,,0]],,.*//g" | awk -F'"' '{print $2, $6}')" echo -e "Original text:" "$text"'\n' > /tmp/notitrans echo "Translation:" "$translate" >> /tmp/notitrans zenity --text-info --title="Translation" --filename=/tmp/notitrans
Har du prøvet nogen af disse scripts? Hvad synes du?
Du kunne have ændret fangsterne, det synger lidt
Hvor fantastisk ... hvor hurtigt ...
I det mindste har du linket til den originale xD
Fremragende, og vil det arbejde med andre oversættere som Yandex eller Bing?
Og hvis du tilføjer denne linje i slutningen
spd-sig "$ oversæt"
han synger det til dig med den romantiske stemme
Det er selvfølgelig nødvendigt at have installeret spd-say
Vi er her for at lære:
—Jeg vidste ikke om xsel, selvom den blev oprettet i 2001 af Conrad Parker:
http p: / / linux.die .net / man / 1 / xsel <- (Fjern mellemrumene, så navigerer du).
Sådan kan vi skrive "xsel -o", og det vil udskrive på kommandolinjen, hvad vi har valgt og gemt i Ubuntu-udklipsholderen.
—Hvad med notify-send, fordi jeg heller ikke vidste om det (sidste opdateringsdatoer fra 2008)
men læser i:
ht tp: // manpages.ubu ntu.com/man sider / gutsy / man1 / notify-send.1.html
vi kan øve os på at sende enhver besked grafisk til Ubuntu:
notify-send –icon = info "HELLO WORLD!"
Vi kan sende en titel og besked til notifikationen, prøv:
notify-send –icon = info Dato "` `dato``
{PAS PÅ de enkelte citater inde i de dobbelte, ASCII-koden er 239}
For ikke at nævne den ærværdige wget, vil du kun huske, hvor kraftig den er i dette weblink:
ht tp: // blog.phen obarbital.info/ 2015/02 / vidste du, hvordan man downloader-et-komplet-website-wget /
–Kommandoen sed HVERDEN vidste det ("Jeg ved bare, at jeg ikke ved noget") men efter at have undersøgt, kan vi se, hvor nyttig den er, jeg kunne virkelig godt lide disse eksempler (på engelsk):
http: // ww w.folkstal k.com/2012 /01/sed-command-in-unix-examples.html
Jeg har "kørt" eksemplerne, og de fungerer fint på min ubuntu.
HER NÅR VI NÆR "ANKOMSTEN":
oversættelsen virker ikke, så jeg "dissekerede" komponentkommandoerne for at se, hvilken der fungerer godt, og hvilken, der fungerer dårligt.
Derfor spurgte jeg fyren, der ved alt DUCKDUCKGO om hjælp, og jeg fandt:
ht tp: // w ww. webupd8.or g / 20 16/03 / translate-any-text-you-select-on-your.html
"Det originale script, der dateres tilbage til 2012, fungerer dog ikke længere, men jeg har formået at ordne det og besluttet at dele det med dig."
OG JEG TROR DET FUNGERER IKKE FOR:
"Google Translate API er en betalt tjeneste. Til webstedsoversættelser opfordrer vi dig til at bruge Google Website Translator-gadget."
https: // sky. Google. com / translate / v2 / using_rest
Så hvis du har et par dollars til overs, opkræver de millioner af breve:
https: // sky. Google. com / oversæt / v2 / prissætning
—DET ER MIN TEORI OM HVORFOR DET IKKE FUNGERER, hvis nogen ved, hvordan man sætter det i demonstrativ tilstand og til didaktiske formål, så "post" dit svar, tak for din opmærksomhed!
I SAG gik jeg tilbage for at følge trin for trin (og med en anden IP-adresse for at oprette forbindelse til Google, fordi det "kortvarigt blokerede mig for usædvanlig trafik" - usædvanligt at vi bruger GNU / Linux wget uden en header ha ha ha) trinene beskrevet af borgeren russisk
http ps: // der vil være ahabr.ru/ post / 137215 / og det fungerer heller ikke, alt for dårlig. 8- (
Fordele og ulemper
+ Возможность переводить фрагMENTы текста.
+ Требуется минимльное количество действий для получения перевода .
+ Podderzhka praktisk vs yazykov.
+ Отсутствие необходимости в установке отдельных словарей.
- Det er en без подключения к интернету.
- Нет возможности выделить текст перевода.
* Udvikling af enhed, GNOME2, Xfce4, KDE4.
"Fordele og ulemper
+ Evne til at oversætte tekstfragmenter.
+ Kræver et minimum antal handlinger for at opnå oversættelsen.
+ Support til praktisk talt alle sprog.
+ Ingen grund til at installere specifikke ordbøger.
- Det fungerer ikke uden en internetforbindelse.
- Kan ikke tildele oversat tekst.
* Testet på Unity, Gnome2, Xfce4, KDE4. »
OVERSÆTTELSE FRA RUSSISK TIL SPANSK TAK TIL «Google Translate».
Forfatteren af indlægget på engelsk svarede mig venligt og bekræftede min mistanke: Jeg misbrugte google-tjenesten med mine tests:
https://twitter.com/ks7000/status/708398151351341058
Det er nu, seks dage senere, at jeg forsøgte igen meget omhyggeligt for ikke at begå fejl og prøvede også at oversætte fra engelsk til fransk ved at ændre "tl = fr" og her er resultatet:
https://twitter.com/ks7000/status/708397624890662915
Mange tak, i dag lærte jeg noget nyt! * -)
for helvede den gang, jeg ville installere oversætteren ... Jeg havde nogle problemer, og da jeg ville afinstallere det via terminal, kunne jeg ikke længere oprette forbindelse til internettet eller kablet eller wifi, jeg tror jeg afinstallerede netværkskortdriveren eller noget lignende . Hvordan installerer jeg disse ting offline? hilsen
Fremragende. Du løste mit liv med dette indlæg. Jeg ville have en brugervenlig oversætter uden at skulle gå ind i browseren eller noget andet program. Mange tak.
Jeg har elsket det, og jeg finder det meget nyttigt, men ... Ved nogen, hvorfor jeg tilføjer et "da" i slutningen af alle oversættelser ???
Godt!
På linjen:
| sed «s / ,,, 0]] ,,. * // g» | awk -F '»' '{udskriv $ 2, $ 6}')»
fjern (, $ 6), så det ser sådan ud:
| sed «s / ,,, 0]] ,,. * // g» | awk -F '»' '{udskriv $ 2}')»
og klar !! uden "ind" i slutningen.
Greetings!
Godt.
Fjern (, $ 6) og voila.
Greetings.
Mange tak for bidraget og for «Quita (, $ 6)» ;-P
Mange tak for bidraget, det fungerede for mig i / usr / bin-stien
For at fjerne "en en", der vises i slutningen, skal du ændre koden som følger
#! / usr / bin / env bash
tekst = »$ (xsel -o)»
translate = »$ (wget -U« Mozilla / 5.0 »-qO -« http://translate.googleapis.com/trans$
translate2 = $ {translate% ??????}
ekko "$ translate2" | xclip-valg udklipsholder
notify-send –icon = info "$ text" "$ translate2"
og klar
For at fjerne ind i in
ændre den sidste linje til dette
notify-send –icon = info "$ text" "$ {translate: 0: -17}"
hola
Når jeg giver chmod + x ~ / notitrans, fortæller det mig, at filen ikke kan findes
Jeg er kommet så langt ...
Hej, når jeg sætter et afsnit til oversættelse, oversætter det kun den første sætning, for så vidt der er et punkt, oversætter det det ikke fuldstændigt, og jeg skal være fra punkt til punkt for at oversætte hele afsnittet, hvordan kan jeg løse det ?