Übersetzen Sie

Translate to EnglishÜbersetzen Sie zum Deutsch/GermanΜεταφράστε στα ελληνικά/GreekПереведите к русскому/RussianOversetter til Norsk/NorwegianÖversätta till Svensk/Swedishहिनà¥à¤¦à¥€ अनà¥à¤µà¤¾à¤¦ करने के लिà¤/Hindi
Tradueix al català/CatalanTulkot uz latviešu/LatvianPreložiť do slovenčiny/SlovakVertaal aan het Nederlands/Dutchترجمة الى العربية/ArabicTraduzca al Español/SpanishTraduisez au Français/French
Traduca ad Italiano/ItalianTraduza ao Português/Portuguese日本語に翻訳しなさい /Japanese한국어에게 번역하십시오/Korean中文翻译/Chinese Simplified中文翻译/Chinese TraditionalПереклад на українську/Ukrainian
Bild von XSLT 2.0 und XPath 2.0 von Hinweis des Programmierers (Programmierer zum Programmierer)
Bild von Betriebssystemkonzepten
Bild der androiden drahtlosen Anwendungsentwicklung
Bild der vorgerückten Programmierung in der UNIX-Umwelt, zweite Ausgabe (Wesley-Fachmann-rechnenreihen)

Google-Seiten-Übersetzer

Heute hinzufügte ich ein Gerät meinem Blog rät, damit Leser meine Pfosten in irgendeine von fünfunddreißig Sprachen unter Verwendung des Google leicht übersetzen können übersetzen Webseitensprachübersetzungsmaschine.  Sie finden es niedrig auf der linken Seite dieser Webseite.  Von der des Tropfens Liste unten auswählen Sie einfach die Sprache te, die Sie den gegenwärtigen Pfosten in umwandeln möchten und nachdem eine kurze Verzögerung eine neue Webseite mit dem Pfosten erscheint in der vorgewählten Sprache anzeigten.  Anmerkung - Sie müssen die Indexe haben, die in Ihrem Browser ermöglicht, damit das Google-Gerät auf dieser Webseite anzeigt.

Diese Funktionalität zu addieren war challanging, als ich zuerst annahm, da ich garantieren wollte, dass meine Pfosten einen Leser nützlich blieben, als angezeigt in einer Fremdsprache.  Dies heißt, dass die Übersetzungsmaschine erklärt werden muss, welche Wörter und Abschnitte, zum alleine zu gehen, wie ist.  Die google-Unterlagen und das FAQ für dieses Gerät sind unklar über, wie man dies für Sachen wie meine Schaukartons tut, also angefordert ein Umlauf des Experimentierens t.  Er ausfällt, dass Sie eine gesamte Webseite markieren können, ein Wort oder ein Abschnitt einer Webseite tt, wie, nicht unter Verwendung übersetzt zu werden Umbauten folgt. <! - benutzen Sie Meta-Element, um gesamte Webseite zu schützen - > <meta name='google value='notranslate'> <! - benutzen Sie Überspannungselement, um ein Wort oder zwei zu schützen - > übersetzen <span class='notranslate'> nicht diese words</span> <! - Element des Gebrauches Div., zum der solchen Schaukartons zu schützen dieses - > übersetzen <div class='notranslate'> nicht gesamtes section</div>

Nun da ich herausgefunden, wie man spezifischen Text schützt und kodiert, Stückchen von durch die Google-Übersetzungsmaschine übersetzt werden, plane ich, zurück zu gehen und meine vorhergehenden Pfosten über einen Zeitraum zu ändern, um sie robuster zu bilden für automatisierte Sprachübersetzung.

Dieses ist durchaus ein Projekt, wie ich gewöhnlich einige programmierenlangauge reservierte Worte und Code-Stückchen in meinen Pfosten mit.einschließe.  Z.B. erforderte es über 100 redigiert zu meinem vorhergehenden Pfosten auf Microsofts Powershell, bevor ich glücklich war, dass dieser bestimmte Pfosten für automatisierte Sprachübersetzung verwendbar war.

Dieser Pfosten des UPDATES 7/1/2009 geschrieben, als ich Blogspot verwendete. Ich nicht noch entschieden, wie man maschinelle Übersetzung meiner Pfosten auf blog.fpmurphy.com einführt. Jedoch plane ich, etwas bald einzuführen.

Google-Globetrotting Elende

Ich bin z.Z. auf der schönen Insel von Cebu in den Philippinen besuchend mit meinem alten Freund und Kollegen Charles Richmond an IISC und einige Gespräche auf OS internals gebend.  Ich benutze einen Lenovo Thinkpad Laptop, der entscheidendes Windows Vista beim Reisen mit Mozilla Firefox 3 als mein Rückstellungsbrowser laufen lässt.

Firefox 3 kommt mit einem Rückstellung Suchstab auf der obersten rechten Ecke, die einige Rückstellungssuchmaschinen einschließlich Google enthält. Wenn ich einen Suchausdruck in der Google-Suchstabwahl schreibe, darstellt Google heraus hinter den Kulissen, dass ich in den Philippinen bin, umadressiert mich zu www.google.com.ph und anzeigt die Suchresultate mit dem Schnittstellensprachengesetzten Filipino (auch buchstabiert als Pilipino) wie gezeigt hier er.

Dieses ist nicht zu viel einer Behinderung in den Philippinen aber im Werden eine Gesamtstörung wenn in Japan, in China, in Vietman und in vielen anderen Ländern. Die StandardAbhilfe für dieses ist, Google zu zwingen, seine Schnittstellensprache auf englisch anzuzeigen, indem sie zu Google.com geht und Ihre Benutzerpräferenzen auf Englisch einstellt, das Google.com ergibt, das ein Plätzchen auf Ihrer Maschine herstellt, um fortzubestehen Ihre Präferenzen.

Möglicherweise ist es eine Spitze des Übermaßes oder Paranoia, aber ich habe die Firefox Einstellung zum Löschen alle Plätzchen, wenn ich einen Lernabschnitt für Privatsphäre und Sicherheit beende. So zurückfällt Google zurück zu, was auch immer Schnittstellensprache Google zu für dem Land führt, das Google denkt, dass ich z.Z. innen nächstes Mal ich abfeuere oben Firefox bin und zu Google.com geht.

Der One-way, zum dieses Probleme zu überwinden ist nicht, den Firefox Suchstab zu benutzen, vor der Ausführung irgendwelcher searchs aber, zu www.google.com/ncr anstatt zu grasen, in dem NCR für kein Land steht, umadressieren Sie r. Eher als gehend dieser Weg, entschied ich, meine eigene Enginesteckverbindung zu schreiben, damit ich immer eine englische Schnittstelle erhalte, wenn ich die Firefox Google Suchsymbolleiste benutze. Sie ausfällt ie, dass diese ziemlich einfach ist, Sie einmal zu tun verstehen, was angefordert.

Schneiden undschneiden und Sie den folgenden Code in eine Akte, die GoogleEN.xml genannt und speichern Sie die Akte.

<SearchPlugin xmlns= http://www.mozilla.org/2006/browser/search/ > <ShortName>GoogleEN</ShortName> <Description>Google Suche (NCR-Englisch) </Description> <InputEncoding>UTF-8</InputEncoding> <Image width= 16 height= 16 >data: image/x-icon; base64, AAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQA AAAIAAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAACZMwD/mTMA/5kzAP+ZMwD/mTMA/5k zAP+ZMwD/mTMA/5kzAP+ZMwD/mTMA/5kzAP+Z MwD/mTMA/5kzAP+ZMwD/mTMA////////////////////////////////////////////////// //////////////////////////mTMA/5kzAP/ ////////////////48u//0a2g/71vWP +hLgz/pCUI/5xDG/+dRRz/pFIs/7ibk//q4+D//////5kzAP+ZMwD////////////q0MX/pDIP/6gxC//kq5H//fj1//////////////////zezv +MHgf /r5SE////// +ZMwD/mTMA///////36+X/pjAL /6YwC//Wr5z////////////////////////// //97eX/jB4G/7ecjP//////mTMA/5kzAP//// //4ZJu/5o5DP/Hm4j//////////////////// ///bk2/ +gUCv/mD4V/54rCP+vhm7//////5kz AP+ZMwD///7+/7xPHf+dLAn/+PXz/wAA/////////////wAA/////fz/AAD///bRv//52Mf/AA D//wAA//+ZMwD/mTMA//77+f+uNAz/nzcZ//////8AAP///////wAA//8AAP///////wAA//// ////AAD//wAA////////mTMA/5kzAP/ ++/n/t FUo/5RAG///////AAD//wAA////////AAD///////8AAP//AAD//wAA/////////////5kzAP + ZMwD////+/7xVLv+WPBf//////wAA//8AAP///////wAA////////AAD/////////////AAD// ///// +ZMwD/mTMA///////plHP/mDUR//////8AAP////////////8AAP///////wAA//8AAP//AAD//wAA////////mTMA/5kzAP//////8cm8 /607FP +6jn//+Ojl////////////////////////////9 +7q//b08v///////////5kzAP+ZMw D////////////yu6X/qD4Z/8eQgP/46OX/////////////////7Luz/55IIf95JQj/9O3q//// // +ZMwD/mTMA//////////////////PFuP/Pa Uj/uDUO/7U0Cf+1NAr/tTQJ/6k2Ff/dqJH/8t DD//79/f//////mTMA/5kzAP////////////////////////////38 +f/48uz/9e3m//bv6P/7 +PX//////////////////////5kzAP+ZMwD/m TMA/5kzAP+ZMwD/mTMA/5kzAP+ZMwD/mTMA/5 kzAP+ZMwD/mTMA/5kzAP+ZMwD/mTMA/5kzAP+ ZMwD/AACsQQAArEEAAKxBAACsQQAArEEAAKxB AACsQQAArEEAAKxBAACsQQAArEEAAKxBAACsQ QAArEEAAKxBAACsQQ== </Image> <Url type= Text/HTML method= ERHALTEN

Dienstprogramm nicht Ihres Großvaters DD!

Ein neuer Artikel in der Red Hat-Zeitschrift durch Noah Gift und Grig Gheorghiu, das dieses genannt, ist nicht Ihr grandpappy'd DDbefehl, der wie man Pythonschlange, das DDdienstprogramm und das Google-Diagramm API, um benutzt ein Balkendiagramm zu produzieren demonstriert, das, Durchsatz an den verschiedenen Blockgrößen zeigt. Jedoch war der Ausgang vom Pythonschlangeindex das nicht tatsächliche Diagramm aber ein URL, das Sie in ein web browser dann kleben mussten, um das resultierende Diagramm anzusehen.

I, obwohl dieser Index aber nützlich sein, nicht ein URL in ein web browser also in mich schneiden undschneiden und müssen entschieden, diesen Schritt zu beseitigen wollte.

Dieser Pythonschlangeindex basiert lose auf ihrem Index, aber Gebrauch die Pythonschlange urllib Bibliotheken, an Google anzuschließen entwirft, um eine png-Bildakte zu erzeugen, die nachher unter Verwendung der pyGTK+ Programme angezeigt. #! /usr/bin/env Pythonschlangeimportsystems-Import-OS-Importbefehls-Importre von der Kategorie DisplayGraph gtk Import pygtk pygtk.require ('Import des optparse Import OptionParser Import urllib Importes urllib2 2.0): def delete_event (Selbst-, Widget, Ereignis, data=None):    falsches Rückholdef zerstören (Selbst-, Widget, data=None):    gtk.main_quit () def __init (Selbst):    self.window = gtk. Fenster (gtk.WINDOW_TOPLEVEL)    self.window.connect (delete_event, self.delete_event)    self.window.connect (zerstören Sie, self.destroy)    self.window.set_border_width (10)    self.window.set_position (gtk.WIN_POS_CENTER)    self.window.set_title (Scheiben-Durchsatz ")    pixbuf = gtk.gdk.pixbuf_new_from_file (/tmp/dd.png ")    os.remove (/tmp/dd.png ")    self.image = gtk. Bild ()    self.image.set_from_pixbuf (pixbuf)    self.image.sh ow ()    self.window.add (self.image)    self.window.sh ow () def Hauptleitung (Selbst):    gtk.main () Kategorie GoogleChart: def __init (Selbst):    self.gchart_url = http://chart.apis.google.com/chart?    self.gchart_type = cht=bvs    self.gchart_title = &chtt=    self.gchart_data = &chd=t:    self.gchart_labels = &chxl=0: |    self.gchart_size = &chs=400×250    self.gchart_axis_labels = &chxt=x, y, x, y    self.gchart_axis_position = &chxp=2,50|3.50    self.gchart_bar_settings = &chbh=30,15 def Titel (Selbst-, Titel):    self.gchart_title = self.gchart_title + Titel def schreiben (Selbst-, Daten, Aufkleber, max_t):     self.gchart_data = self.gchart_data + data.rstrip (`, ')     self.gchart_labels = self.gchart_labels \       + beschriftet + 2: |Block%20Size|3: |Mb/s     self.gchart_axis_range = &chxr=1,0, + str (max_t+10.0)     self.gchart_scaling = &chds=0, + str (max_t+10.0)     self.gchart_url += self.gchart_type \       + self.gchart_title + self.gchart_size     self.gchart_url += self.gchart_bar_settings \       + self.gchart_data + self.gchart_labels     self.gchart_url += self.gchart_axis_labels \       + self.gchart_axis_position     self.gchart_url += self.gchart_axis_range \       + self.gchart_scaling    Öffner = urllib2.urlopen (self.gchart_url)    wenn opener.headers [Inhaltart]! = `Bild/png':       Erhöhung BadContentTypeException (`Bediener responded \          'mit einer Inhaltart %s \          % opener.headers [Inhaltart])    öffnen Sie (/tmp/dd.png, `wb').write (opener.read ()) def get_disk_throughput (Vorrichtung, Blockgröße):    Blockgröße = str (Blockgröße) + `k    cmd = DD if=/dev/zero of=%s bs=%s % (Vorrichtung, Blockgröße)    Ausgang = commands.getoutput (cmd)    Durchsatz = 0    Maßeinheit =    für Linie in output.split (`n'):       s = re.search (`kopierte. *, (\ S+) (\ S+) $ ', Linie)       wenn s:          Durchsatz = s.group (1)          Maßeinheit = s.group (2)          Bruch    zurückgehen Sie (Durchsatz, Maßeinheit) wenn __name == __main nn:    Verbrauch = Verbrauch: %prog Wahlen    grammatische Definition = OptionParser (usage=usage)    parser.add_option (- d, - Vorrichtung, dest= Vorrichtungs, \       zu verwenden help= Vorrichtung. Scheibendaten überschrieben! ")    (Wahlen, args) = parser.parse_args ()    Vorrichtung = options.device    wenn nicht Vorrichtung:       parser.print_help ()