Ma, amikor ennyi eszköz csatlakozik az internethez, és annyi webhely látogat el az internetre, nagyon normális, hogy a keresett információt olyan nyelven találjuk meg, amelyet nem beszélünk. Még olyan nyelvet is találhatunk, amelyet úgy gondolunk, hogy jól ismerünk, és elolvashatunk egy szót, amelyet nem tudunk, mit jelent. Ezekben az esetekben mit tegyünk? Nos, a normális dolog az, hogy megkeressük egy fordító oldalát, például a Bing vagy a Google oldalán, de nem lenne jobb, ha gyorsabb és kényelmesebb módszerünk lenne rá? Nos, mint gyakorlatilag minden a Linux-alapú operációs rendszerekben, ennek elérésére is többféle mód van, és ebben a cikkben megtanítjuk hogyan lehet bármilyen szöveget lefordítani az Ubuntuban, mindaddig, amíg a nyelv szerepel a Google Translator alkalmazásban.
Lehetséges, hogy az alábbi útmutató némi tiszteletet fog adni azoknak a felhasználóknak, akik nem szeretik nagyon megérinteni a terminált, de ez nem magyaráz meg mást, mint amikor azt mondjuk, hogyan kell hozzáadni egy lerakatot és telepíteni egy olyan csomagot, amely nincs a hivatalosban azok. A különbség az hozzunk létre egy forgatókönyv ez lehetővé teszi számunkra az Ubuntuban elérhető komponensek elindítását. Az alábbiakban az Ubuntu bármely szövegének lefordításához kövesse a lépéseket.
Hogyan lehet szövegeket lefordítani az Ubuntuval
A forgatókönyv notitrans
- A forgatókönyv, három telepítést kell végrehajtanunk:
- libnotify-bin asztali értesítések fogadása érdekében.
- wget hogy megkapja a Google fordítását.
- xsell hogy elolvassuk az általunk megjelölt szöveget.
Ehhez megnyitunk egy terminált, és a következőket írjuk:
sudo apt-get install libnotify-bin wget xsel
- Ezután létrehozunk egy új szöveges fájlt (kattintson jobb gombbal az asztalra, és válassza az Új dokumentum / Üres dokumentum lehetőséget).
- A dokumentum belsejébe be kell illesztenünk a következőket:
#!/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}')"
- Megjegyzés: a forgatókönyv fent van egy sor, amely azt mondja: "tl = es". Ha nem akar spanyolra fordítani, akkor csak azt a nyelvet kell megváltoztatnia, amely az egyenlő szimbólum (=) mögött van.
- Elmentjük az előző fájlt és "notitrans" -nak hívjuk (idézőjelek nélkül).
- Ezután át kell alakítanunk az előző dokumentumot futtatható fájlra. Ehhez átmásoljuk a személyes mappánkba, és a következőket írjuk egy terminálba:
chmod +x ~/notitrans
- A következő lépés a létrehozott fájl áthelyezése a mappába / usr / local / bin / a következő paranccsal:
sudo mv ~/notitrans /usr/local/bin/
- Még nem fejeztük be. Szükségünk van még (legalább) két lépésre: most létre kell hoznunk egy billentyűparancsot. Ehhez lépjen a Rendszerbeállítások / Billentyűzet / Parancsikonok elemre, és kattintson a plusz szimbólumra (+). Megjelenik egy olyan ablak, mint a következő:
- Az ablakba tesszük a kívánt nevet (Notitrans-t adtam neki) és a "notitrans" parancsot (idézőjelek nélkül). Feladhatunk egy másik parancsot is, de ugyanazt a nevet kellene használnunk, amellyel a forgatókönyv.
- Most csak létre kell hoznia a billentyűkombinációt. Ehhez rákattintunk a Disabled feliratú szövegre, és beírjuk a kívánt kombinációt. A Control + időszakot (.) Használtam, mivel tudom, hogy nincs olyan billentyűkombináció, amely ezt a parancsikont használja.
változatok
Ha nem tetszik, ahogy a fordítás megmutatja nekünk a forgatókönyv fenti, amely valójában nem képes nagyon hosszú fordításokat megjeleníteni, mert az értesítés mérete korlátozza, használhatunk néhány változatot is. Ezen változatok használatához ugyanazt a folyamatot kell elvégeznünk, mint az előzőt (ha akarjuk, módosítsuk a nyelvet is), de a megfelelő kódot használjuk a 2. lépésben.
Az Xclip használatával
Ha azt akarjuk, hogy az értesítés mellett másoljuk a fordítást a vágólapra, akkor azt is használni fogjuk xclip. Először ellenőrizzük, hogy telepítve van-e a következő paranccsal:
sudo apt-get install xclip
És a forgatókönyv hogy létrehozunk, a következőket írjuk:
#!/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"
A Zenity használata
És ha azt akarjuk, hogy az előző képként (a kedvencemként) jelenjen meg, akkor a parancs beírásával ellenőrizzük, hogy a Zenity telepítve van-e:
sudo apt-get install zenity
És a dokumentumba a következőket írjuk:
#!/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
Kipróbáltad ezeket szkriptek? Mit gondolsz?
Megváltoztathatta volna a fogásokat, ez egy kicsit énekel
Milyen nagyszerű ... milyen gyorsan ...
Legalább linkeltél az eredeti xD-re
Kiváló, és működni fog-e más fordítókkal, mint például a Yandex vagy a Bing?
És ha ezt a sort hozzáadod a végén
spd-mondás "$ translate"
azzal a romantikus hangon elénekli neked
Nyilvánvaló, hogy telepíteni kell az SPD-say szót
Azért vagyunk itt, hogy megtanuljuk:
—Nem tudtam az xselről, annak ellenére, hogy 2001-ben Conrad Parker hozta létre:
http p: / / linux.die .net / man / 1 / xsel <- (Távolítsa el a szóközöket, és navigálni fog).
Így írhatjuk az "xsel -o" szót, és a parancssorra kinyomtatja, amit kiválasztottunk és tároltunk az Ubuntu vágólapjára.
- Mi a helyzet az értesítés-küldéssel, mert én sem tudtam róla (a legutóbbi frissítés 2008-ból származik)
de beolvassa:
ht tp: // manpages.ubu ntu.com/man pages / gutsy / man1 / notification-send.1.html
gyakorolhatunk bármilyen üzenet grafikus küldését az Ubuntunak:
értesít-küld –ikon = info "HELLÓ VILÁG!"
Küldhetünk címet és üzenetet az értesítéshez, próbáld meg:
értesítés-küldés –ikon = info Dátum "" dátum ""
{Vigyázzon azokra az egyetlen idézetekre, amelyek a kettősekben vannak, az ASCII kód 239}
- A tiszteletreméltó wgetről nem is beszélve, csak arra emlékszik, milyen erős ez a weblink:
ht tp: // blog.phen obarbital.info/ 2015/02 / tudtál-e-letölteni-egy teljes-web-wget-t /
–A sed parancs SEMMI nem tudta ("Csak tudom, hogy nem tudok semmit"), de vizsgálva láthatjuk, mennyire hasznos, nagyon tetszettek ezek a példák (angolul):
http: // ww w.folkstal k.com/2012 /01/sed-command-in-unix-examples.html
"Futtattam" a példákat, és ezek jól működnek az ubuntumon.
ITT ELÉRTÜK AZ "Érkezést":
a fordítás nem működik, ezért "boncoltam" a komponens parancsokat, hogy lássam, melyik működik jól és melyik rosszul.
Ezért kértem a kacsát, aki mindent tud a DUCKDUCKGO-tól, és megtaláltam:
ht tp: // w ww. webupd8.or g / 20 16/03 / translate-any-text-you-select-on-your.html
"Az eredeti, 2012-re visszanyúló szkript azonban már nem működik, sikerült kijavítanom, és úgy döntöttem, hogy megosztom veled."
ÉS azt hiszem, hogy nem működik, mert:
"A Google Fordító API fizetős szolgáltatás. A webhelyfordításokhoz javasoljuk, hogy használja a Google Webhelyfordító modult."
https: // felhő. Google. com / translate / v2 / using_rest
Tehát ha van néhány dollár tartalék, több millió levélért fizetnek:
https: // felhő. Google. com / translate / v2 / pricing
—EZ AZ ELMÉLETEM, MIÉRT NEM MŰKÖDIK, ha valaki tudja, hogyan kell bemutató módba helyezni és didaktikai célokra, akkor "tegye fel" a válaszát, köszönöm a figyelmet!
ESETÉN visszaléptem lépésről lépésre (és egy másik IP-címmel a Google-hoz való csatlakozáshoz, mert "rövid ideig blokkolt a szokatlan forgalom miatt" - szokatlan, hogy GNU / Linux wgetet használunk fejléc nélkül ha ha ha) orosz állampolgár írja le
http ps: // lesz ahabr.ru/ post / 137215 / és ez sem működik, nagyon rossz. 8- (
Érvek és ellenérvek
+ Возможность переводить фрагMENTы текста.
+ Требуется минимльное количество действий для получения перевода .
+ Podderzhka gyakorlati vs yazykov.
+ Отсутствие необходимости в установке отдельных словарей.
- Не работает без подключения к интернету.
- Нет возможности выделить текст перевода.
* Проверенно в Unity, GNOME2, Xfce4, KDE4.
"Érvek és ellenérvek
+ Képes lefordítani a szövegtöredékeket.
+ A fordítás megszerzéséhez minimális számú művelet szükséges.
+ Támogatás gyakorlatilag az összes nyelvhez.
+ Nincs szükség speciális szótárak telepítésére.
- Internetkapcsolat nélkül nem működik.
- Nem lehet lefordított szöveget rendelni.
* A Unity, a Gnome2, az Xfce4, a KDE4 tesztelt. »
FORDÍTÁS OROSZBÓL SPANYOL KÖZÖTT A «Google Fordítónak».
Az angol nyelvű bejegyzés szerzője kedvesen válaszolt nekem, és megerősítette a gyanúmat: tesztjeimmel visszaéltem a Google szolgáltatással:
https://twitter.com/ks7000/status/708398151351341058
Hat nappal később próbáltam újra nagyon óvatosan, nehogy hibázzak, és megpróbáltam angolról franciára fordítani a «tl = fr» megváltoztatásával, és itt van az eredmény:
https://twitter.com/ks7000/status/708397624890662915
Nagyon köszönöm, ma tanultam valami újat! * -)
rohadtul sokáig akartam telepíteni a fordítót ... Volt néhány problémám, és amikor terminálon keresztül akartam eltávolítani, már nem tudtam csatlakozni az internethez, sem a vezetékes, sem a wifi-hez, azt hiszem, eltávolítottam a hálózati kártya illesztőprogramját vagy valami hasonlót . Hogyan telepíthetem ezeket a dolgokat offline állapotba? Üdvözlettel
Kiváló. Ezzel a bejegyzéssel oldottad meg az életemet. Szerettem volna egy könnyen használható fordítót, anélkül, hogy belépnék a böngészőbe vagy bármilyen programba. Nagyon köszönöm.
Imádtam, és nagyon hasznosnak találom, de ... Tudja valaki, miért adok hozzá egy "en" -t az összes fordítás végén ???
Jó!
A vonalon:
| sed «s / ,,, 0]] ,,. * // g» | awk -F '»' '{print $ 2, $ 6}')»
eltávolít (, $ 6), így néz ki:
| sed «s / ,,, 0]] ,,. * // g» | awk -F '»' '{print $ 2}')»
és kész !! a végén a "be" nélkül.
Üdvözlet!
Jó.
Távolítsa el (, $ 6) és voila.
Üdvözlet.
Nagyon köszönöm a hozzájárulást és a «Quita (, $ 6)» ;-P
Nagyon köszönöm a hozzájárulást, nekem ez az / usr / bin elérési útján működött
A végén megjelenő "en en" eltávolításához változtassa meg a kódot az alábbiak szerint
#! / usr / bin / env bash
szöveg = »$ (xsel -o)»
fordítás = »$ (wget -U« Mozilla / 5.0 »-qO -« http://translate.googleapis.com/trans$
fordítás2 = $ {fordítás% ??????}
echo "$ translate2" | xclip -selection vágólap
értesít-küld –ikon = info "$ text" "$ translate2"
és készen áll
Az in in in eltávolításához
ehhez módosítsa az utolsó sort
Értesítés-küldés –icon = info "$ text" "$ {translate: 0: -17}"
Helló
Amikor chmod + x ~ / notitrans-t adok, azt mondja, hogy a fájl nem található
Idáig eljutottam ...
Helló, amikor fordításra teszek egy bekezdést, az csak az első mondatot fordítja le, amennyiben van egy pont, nem fordítja le teljesen, és pontról pontra kell lennem, hogy lefordítsam az egész bekezdést, hogyan tudom megoldani ?