Tek kritik! Programcı kız arkadaşı için Python'da bir çeviri yazılımı yazdı

Yazar | veelion

Baş Editör | Zhong Peiyi

Bebeğin doğum gününden önceki ve sonraki günlerde, o uzaktaydı ve ben evde yalnız, yalnız ve üşümüştüm. Onun tacizi olmadan programlar yazabilirsiniz!

Başkasının bebeğinin doğum günü çiçekler, çantalar ve kırmızı zarflardan başka bir şey değildir, ama ben bir programcıyım, nasıl bu kadar klişe olabilirim? Sonra onu biraz zor işten kurtarmak ve her gün onunla ilgilenmek için küçük bir yazılım yazın.

Sık sık bazı İngilizce malzemelerle temas kurar ve kaçınılmaz olarak onları tercüme etmek zorunda kalır. Günümüzde çevirinin yapay zekası bir çok işi yapabilmekte ve manuel düzeltme yardımı ile çeviri çalışmaları yüksek kalitede tamamlanabilmektedir.

Bu yüzden yapay zeka çeviri işinde ona yardım etmeye karar verdim. Bir yapay zeka çeviri makinesi olan Google Translate'in yardımıyla gerçekleştirin. "El kitabından" ben sorumluyum ve "istihbarat" dan o sorumlu. Ctrl + C, Ctrl + V metnini Google Translate'e, ardından Ctrl + C, Ctrl + V'yi Word'e aktardım, düzenledikten sonra, metni düzeltmek için onun zekasını kullanacağım.

Fakat bir programcı olarak, Ctrl + C ve Ctrl + V'nin zor işlerini nasıl yapabilirim? O zaman benim için coolies yapmak için Python'da küçük bir yazılım yazın. Sadece yap!

talep analizi

Word belgesi (* .docx) olarak girin, belge dilini ve çeviri hedef dilini seçin.

Çıktı, yine de paragraf birimleri halinde, Çince ve İngilizce olarak bir Word belgesidir (* .docx) ve bu da düzeltme okuması için uygundur. Aşağıda gösterildiği gibi:

Tasarım ve Uygulama

Yapay Zeka Tercümesi

Temel olarak arama motorları makine çevirisi, yerel Baidu, Sogou, Tencent, Youdao ve yabancı Google'ın işlevini sağlar. Web sürümüne ek olarak, geliştiricilerin kullanması için API'ler de sağlanır, ancak API'ler temel olarak ücretlidir, bu nedenle web sürümünün ücretsiz işlevlerini kullanın. Hangisi bu kadar çok çeviri becerisine sahip? Şahsen Google'ınki gibi, ardından Google'ın'ı seçin. Google Çin'in çeviri işlevine erişilebilir:

https://translate.google.cn/

Elverişli bir şekilde, web tabanlı Google Translate zaten bir Python kitaplığına dönüştürüldü: googletrans, işte bu.

HMI

Günümüzde bulut hizmetleri yazılımda popülerdir, yani işleme operasyonlarının tamamı sunucu üzerindedir ve kullanıcıların çalışması için bir web sayfasını açmak için yalnızca bir tarayıcıya ihtiyaç duymaktadır, bu sözde B / S mimarisi. Bunun avantajı, yazılım modifikasyonunun ve yükseltmenin çok uygun olmasıdır.

Ancak, Google Translate'in kullanımı sıklık sınırlıdır ve arkasındaki yazılım açık kaynaklıdır. Herkes Google Translate yapmak için sunucumu kullanır. Sunucum Google'ın sunucusu tarafından kolayca engellenir. Bu nedenle, yazılımın saf bir PC sürümünü yazmaya karar verildiğinde, kullanıcının bilgisayarı doğrudan çeviri sunucusuna erişir.

Python'da grafik arabirim (GUI) yazmak için birkaç kitaplık da vardır.En ünlüleri wxPython ve PyQt'dur. Qt'yi uzun zamandır duydum ve grafik arayüzler alanında yüksek bir konuma sahip, bu yüzden yazılımın grafik arayüzünü yazmak için PyQt'u seçmeye karar verdim.

Daha da anlaşılırsa, PyQt'un resmi olarak Qt tarafından yazılmadığı, ancak Riverbank Computing adlı bir şirketin C ++ ile yazılmış ve GPL sözleşmesi kapsamında yayınlanan bir Qt'nin Python bağlantısı olduğu ortaya çıktı. GPL bulaşıcıdır, özellikle sevmiyorum. Qt'nin resmi olarak PyQt arayüzüne uygun olarak PySide adlı bir dizi Python bağlaması yazdığını ve bunu LGPL anlaşması kapsamında yayınladığını öğrendim Bu anlaşma çok daha dostane. En son PySide, PySide2 adlı Qt 5'e dayanıyor, bu yüzden onu seçtim (hey, bu bir çukur, daha sonra ayrıntılı olarak açıklayacağım).

Ancak Qt yazma arayüzüne tamamen yabancıyım. Ama ben kimim, ben bir programcıyım ve bu beni rahatsız edemez. PySide2 ile gelen örneği bulun ve ihtiyacım olana benzer bir tane bulun. Kutuyu (dili seçmek için) ve dosya seçiciyi (çevrilecek belgeyi seçmek için) seçmem gerekiyor. Biraz benzer bir findfiles.py olduğunu buldum. Ondan başladı ve gelişirken öğrendi ve sonunda şekillendi:

İşlev gerçekleştirme

Arayüzü yazarken öğrenmek uzun zaman alıyor ve gerisi çok daha basit. Yukarıda çeviri için belirtildiği gibi docx ve googletrans'ı tek seferde okumak için python-docx kitaplığını kullanın. Son olarak, komut dilini arayüzün metin alanına yazarken bazı sorunlarla karşılaştım. Bunun nedeni Qt'ye aşina olmamamdı. Öğrenmeye devam et, aslında Qt'nin sinyal iletimi. Bitirdiniz, test edin:

Yazılım yayınlama

Yazılım yazıldıktan sonra kullanması için bebeğinize verin. Ama ona bu programı kaynak koddan çalıştırmayı öğretmeye hiç güvenmiyorum. Sonuçta, bu bir bebek, çalıştırmak için çift tıklayın.

Bu yazılımı paketlemek için Pyinstaller'ı kullanın. Bir komutu tamamlamak, ayrı çalıştırılabilen bir exe dosyası oluşturmak ve çalıştırmak için çift tıklamak çok kolaydır. Eski bir nehir ve göl olarak elbette onu başka makinelerde test etmem gerekiyor. Nani? ! Bir hata bildirdi! ! ! Google hata mesajı, çok fazla sonuç yok ve bu PyQt5, PySide2 bilgisi yok. Bu hata için birkaç saat daha sürdü, burası bir çukur ve dikkatli seçmelisin.

Kesin olarak PyQt5'e değiştirildi, çünkü ikisi birbirine çok benziyor, değiştirilmesi karmaşık değil, ancak sinyal bölümünün adı farklı. PyQt5'e geçtikten sonra her şey normal. Ancak, bir programcı olarak, PySide2'nin gitmesine izin vermek niyetinde değilim ve yine de zamanım olduğunda Pyinstaller sürümünü almam gerekiyor!

postscript

Bu küçük yazılım küçük olmasına rağmen, tamamen Python'da yapılan birçok teknoloji yığınını içerir:

  • Python 3.7: programlama dili;
  • googletrans: Google Translate web sürümü arayüzü;
  • PyQt5 / PySide2: Grafik arayüz kitaplığı

Google'ın yapay zekası sayesinde harika işlevlere sahip küçük yazılımlar, çeviri kalitesi garanti altına alınır ve onlarca dil arasında çeviri serbestçe değiştirilebilir.Ev yaşamı, iş ve çalışma için vazgeçilmez bir araçtır.

Ekli indirme bağlantısı: https://github.com/veelion/transdocx/releases

Yazar: veelion, geliştirme konusunda uzun yıllara dayanan deneyime sahip, ağırlıklı olarak Python, C ++ dilini kullanıyor, web tarayıcıları, arama motorları, doğal dil işleme alanında araştırma ve geliştirme yapıyor.

Feragatname: Bu makale yazar tarafından sunulmuştur ve telif hakkı karşı tarafa aittir.

"En hızlı" sizin için doğru olmayabilir! Doğru SSD'yi nasıl seçeceğinizi öğretin
önceki
Pekin, Haidian Bölgesi, Ganjiakou'da "Flaş", Lei Feng'in Ruhunu Parlatıyor
Sonraki
Chevrolet Mai Rui Bao'dan bahsederken, sahibi sordu: Yakıt tüketiminin yaklaşık 10 olması normal mi?
Mavericks ve CR-V ile karşılaştırıldığında, çok fazla karışıklık yok, Citroen Tianyi'nin amiral gemisi versiyonundan bahsedin
Bu kadar! Yüksek hızlı fotoğrafçılık, Note7 pil patlamasının sırrını ortaya koyuyor
Camry'nin sahibi en büyük endişeyi açıkça söyledi: Bu araba nasıl bozulmaz?
Bir haftalık görüşmeler | Çinli tüketiciler sakince "Starbucks kanserojen" otomobil paylaşım savaşıyla karşı karşıya ve güven krizini çözme ihtiyacı duyuyor
AMG ailesinin genç kanı mı? CLA 35 Shooting Brake casus fotoğrafları ortaya çıktı
Ücretsiz VPN'i seviyor musunuz? Botnet üyesi olmaya dikkat edin!
Küçük ağız koca ağza dönüşür, bu i6 PLUS sizin yemeğiniz mi?
"Yerli dadı arabası" hesaplaşması sonunda sona erecek. Kim size Toyota Alpha'yı unutturabilir?
Bilgisayarım harika: 1nm transistör resmi olarak doğdu
Şşş, iPhone sizi dinliyor!
"Pekin Ulusal Spor Yönetmeliği" nin uygulanmasının 2. yıl dönümü Pekin, çok sayıda ulusal spor etkinliği düzenlemektedir.
To Top