Microsoft Office için DeepL API eklentisi oluşturma (sadece bir günde)

DeepL çalışanları ayda bir kez, şirket çapında düzenlenen Hack Friday etkinliğine katılarak günlük işlerinin dışındaki projelere katılırlar. Hack Fridays, API'mızla uğraşmak için harika bir fırsattır ve bazen sonuçlar kullanıcılara da yansır. Aslında, kısa süre önce yayınladığımız Google E-Tablolar-DeepL komut dosyası, Hack Friday projesinin bir sonucuydu! 2022 yılının Eylül ayında düzenlenen Hack Friday etkinliğinde, DeepL yazılım geliştiricisi Marvin Becker ve geliştirici evangelisti Tim Cadenbach, Microsoft Word için bir DeepL API eklentisi prototipi geliştirdiler. Bu sayede kullanıcılar, Word belgelerinde doğrudan DeepL ile çeviri yapabilir hale geldiler.

Burada nasıl çalıştığını görebilirsiniz:

Bu entegrasyon neden ilgimizi çekti?

İş iletişimi, popüler DeepL kullanım alanlarından biridir. DeepL çevirileri, küresel, çok dilli bir iş gücünün verimli bir şekilde işbirliği yapmasını sağlarken ve hassas şirket verilerinin güvenliğini sağlar. DeepL API ile kendi Office Eklentisini oluşturmak isteyen ve başlamak için kaynak arayan müşterilerimizden sık sık talepler alıyoruz. Müşterilerimiz bize soru sorduğunda daha iyi cevaplar verebilmek için, entegrasyonun ne gerektirdiğini ilk elden öğrenmek istedik. 

Bu yazıda, öğrendiklerimizi paylaşacağız. Projenizi daha hızlı hayata geçirmenize yardımcı olmak için açık kaynak kod da sağlayacağız. Hazır mısınız? Haydi inşa edelim! 

İpucu 0 (isteğe bağlı): Biraz ödev yapın  

Office API'leri hakkında hiç bilginiz yoksa, şunu okumanızı öneririz Office JavaScript API'sini Anlamak bölümünü okumanızı öneririz. Kısacası, tüm Office ürünleri bir Ortak API ile ürünlere özgü API'ler Bu eğitimi gözden geçirmek de yararlı olabilir. bu öğreticiyi incelemek de yararlı olabilir. 

İpucu 1: Script Lab ile prototip oluşturma (veya bizimkini kullanma) 

Script Lab , Microsoft tarafından sürdürülen açık kaynaklı bir projedir. Script Lab, Excel, Outlook, Word veya PowerPoint'ten çıkmadan Office JavaScript API'sini denemeyi mümkün kılar. Script Lab GitHub deposu başlamanıza yardımcı olacak bir eğitim içerir.

Eklentimizin ilk prototipini oluşturmak için Script Lab'ı kullandık, çünkü bu, hızlı bir şekilde kod yazmak ve onu çalışırken görmek için ideal bir yöntemdir ve yalnızca tek bir JavaScript, HTML ve CSS dosyasından oluşur.

Bu ilk adım, henüz ekip üyeleriyle paylaşabileceğiniz bir eklenti olmasa da, DeepL API ile neler yapabileceğiniz ve eklentinizle ne tür bir kullanıcı deneyimi sunabileceğiniz konusunda size bir fikir verir.

Yazının başında size açık kaynak kodunu vereceğimize söz vermiştik! Script Lab, başkalarının "snippet"lerini içe aktarma imkanı sunuyor. Bu nedenle, herkesin deneyebilmesi için oluşturduğumuz DeepL-Word snippet'ini açık kaynak olarak yayınladık. GitHub'da burada bulabilirsiniz.

Bu adımı uygulamak istiyorsanız, DeepL API anahtarı da ihtiyacınız olacaktır. Buradan buradan bir hesap kaydolabilirsiniz.

Talimatlarda belirtildiği gibi Gist YAML'yi kopyalayıp yapıştırın, 32. satırdaki yer tutucuya DeepL API anahtarınızı girin ve birkaç tıkla snippet'imizi çalıştırabilirsiniz.

En iyi kısmı ne? Script Lab snippet'i, eklenti şablonunu kurarken yeniden kullanılabilir, böylece Script Lab'da yaptığınız tüm çalışmalar daha sonra işinize yarayacaktır.

İpucu 2: Yeoman Generator ile Office Eklenti projesi oluşturma

Script Lab'da bazı prototip çalışmalarını tamamladık ve Office komut dosyası yazımının temellerini öğrendik. Artık Yeoman kullanarak gerçek bir eklenti oluşturmaya başlayabiliriz. Yeoman, yeni projeleri nispeten kolay hale getiren açık kaynaklı bir iskele aracıdır. Office Eklentileri için, Microsoft tarafından hazırlanan ve genellikle "Yo Office" olarak adlandırılan bir şablon kullanabilirsiniz. 

Süreç burada anlatılmıştır: Office Eklenti Yeoman Oluşturucu.

Kurulum talimatlarını izledikten sonra, Script Lab'den yeni oluşturduğunuz depoya kodu kopyalayın. Yapılandırılacak daha fazla şey var, ancak 'npm run start' komutunu çalıştırarak hemen başlayabilirsiniz. Bu, Word'ü başlatacak ve eklentinizi otomatik olarak yükleyecektir. Geliştirme için herhangi bir IDE kullanabilirsiniz, ancak oluşturulan şablon en iyi Microsoft'un kendi kod düzenleyicileri VS Code veya Visual Studio ile çalışır. Daha iyi bir kodlama ve hata ayıklama deneyimi için Visual Studio kullanmanızı öneririz.

İpucu 3: DeepL API'sını Uygulama

DeepL'nin uygulaması oldukça basittir: bir JavaScript fetch komut dosyası metin çevirisi uç noktasını çağırır. Normal prototipimiz için bu yeterliydi. Eğer etkinleştirmek istiyorsanız sözlükçeler etkinleştirmek istiyorsanız, biraz daha fazla çalışma yapmanız gerekecektir.

DeepL'in resmi Node.js istemci kütüphanesi kullanmadık çünkü bu kütüphane istemci tarafı JavaScript kodu için tasarlanmamıştır. Bunun nedeni güvenliktir — istemci tarafındaki kodu çağırırken API anahtarıınızı ifşa etmiş olursunuz. Yukarıda paylaştığımız GIST dosyasına bakarak yaklaşımımızı daha ayrıntılı olarak görebilirsiniz (102. satırdan itibaren).

İpucu 4: Mac kullanıcıları için hata ayıklama 

Son yıllarda Microsoft, Mac kullanıcılarına destek olmak için önemli yatırımlar yaptı. Mac desteği .NET Core geliştirme için oldukça iyi olsa da, Microsoft Office uygulamaları dahil olmak üzere temel Windows geliştirme için hala yeterince iyi değildir. Maalesef, Mac kullanıcıları için Microsoft uygulama sürümleri kolay hata ayıklama için yapılandırılmamıştır. Tim, Microsoft'a sadık bir kullanıcı (ve MVP!) olduğu için herhangi bir sorun yaşamadı, ancak Mac kullanıcısı Marvin, hata ayıklamayı düzgün bir şekilde yapabilmek için Parallels'ı indirdi.  Microsoft Office ve Visual Studio kodunu çalıştırma Parallels uygulamaların hata ayıklamasını yapabilir ve eklenti üzerinde düzgün bir şekilde çalışabilirsiniz. %100 kusursuz bir çözüm değil, ama işi görüyor!

İpucu 5: Eklentinizi kullanıcılarla paylaşma

Office Eklentileri, Office uygulamalarında çalışan web görünümüne yüklenir ve iFrame'ler kullanılarak görüntülenir, bu nedenle erişiminiz olan bir web sunucusunda barındırmanız gerekir. Office Eklentilerini nasıl dağıtacağınız ve yayınlayacağınız hakkında daha fazla bilgi edinebilirsiniz. Office eklentilerini nasıl dağıtacağınız ve yayınlayacağınız hakkında hakkında daha fazla bilgi edinebilirsiniz. 

Eklenti kurulup çalışır hale geldiğinde, herhangi bir Office yöneticisi bunu kuruluşundaki kullanıcılara ve gruplara .. Yönetim merkezi aracılığıyla dağıtılan eklentiler hemen kullanılabilir.

Bonus: Eklentinizi diğer Microsoft uygulamalarına genişletme 

Eklentinizi diğer uygulamalara genişletmek çok kolaydır. Office Eklentileri birçok bileşeni paylaşır ve bir uygulama için olan eklenti, desteklenen tüm uygulamalarda (Outlook, Word, Excel, PowerPoint, Visio ve OneNote) çalışmalıdır.

Ancak, tüm uygulamaların farklı etkinlikleri vardır. Word örneğimizde OnTextSelected kullanıyoruz, ancak Excel'de muhtemelen OnColumnSelected veya Row gibi bir şey kullanırsınız. Eklentinizin diğer uygulamalarda çalışmasını sağlamak için, eklentinizin tepki vermesini istediğiniz ilgili olayları veya eylemleri ekleyin — bu kadar normal. Kodunuzun çoğu, farklı uygulamalarda yeniden kullanılabilir.  

Genel olarak, belirli kodunuzu yeniden kullanabileceğiniz ve ihtiyacınız olan uygulama özellikleriyle tekrar çağırabileceğiniz bir işleve dönüştürmeniz önerilir. Buradaki makaleleri okumanızı öneririz.

Ayrıca, güzel bir MS Learn modülü bulunmaktadır.

Sonuç

Bu genel bakışın size yardımcı olduğunu umuyoruz! Herhangi bir sorunuz varsa, GitHub deposunda Script Lab snippet'i ile bir sorun oluşturup bize bildirmek ücretsiz.  

DeepL API-Microsoft Office yolculuğunuzda size başarılar dileriz. 

Paylaş