Bağlantıları atla

FileMaker'daki metinleri Google Translate veya deepl.com ile çevirin

FileMaker ile metinleri diğer dillere çevirin

Standartlaştırılmış API arayüzleri sayesinde, Google Translate veya Deepl.com gibi çeviri hizmetleri, metinleri diğer dillere çevirmek için doğrudan FileMaker ile kullanılabilir. Bu kısa makalede, doğrudan FileMaker'da böyle bir çevirinin nasıl oluşturulacağını göstereceğiz. Arayüz ve böylece herhangi bir metni çevirebilir.

Hem Google Translate hem de Deepl.com ücrete tabidir. API'ye gönderilen bir milyon karakter her iki hizmet için sırasıyla 20 ABD doları ve 20 avroya mal olurken, Deepl.com da aylık beş avronun biraz altında bir temel ücret alıyor. Deepl.com'dan çevrilen metinlerin genellikle Google Translate'ten çevrilenlerden biraz daha iyi olduğu düşünülmektedir, ancak bu muhtemelen konu alanına da bağlıdır. Bir FileMaker uygulamasındaki metinlerin otomatik çevirisinin nasıl çalıştığını aşağıda bulabilirsiniz.Veritabanı gerçekleştirilebilir.

Google Translate ile çeviri yapmak için, Google Translate'i kullanma yetkisine sahip geçerli bir Google hesabı gereklidir. Bulut Çeviri API'si etkinleştirilir.

Deepl.com ile çeviri yapmak için DeepL API için ücretli bir geliştirici hesabı gereklidir. Aylık maliyetler 4,99 Euro artı kullanıma bağlı maliyetlerdir (şu anda 500 karakter başına 1 cent, 03/2019 itibariyle)

FileMaker Crash Kursu

Hızlı ve etkili FileMaker
20 bölümde öğrenme.

Ücretsiz katılın

Jenerik Senaryo çeviri için

İlk olarak, kaynak dili, hedef dili ve çevrilecek metni üç parametre ile kabul eden ve bunları uygun şekilde arayüze gönderen bir komut dosyası oluşturuyoruz. Örneğimizde parametreler satır sonları (CR) ile ayrılmıştır. Arayüze satır ayırıcıları olan metinler göndermek istiyorsanız, parametreler için kesme işareti gibi farklı bir ayırıcı kullanın. Bu durumda şu fonksiyonu kullanmayın GetValue ()ancak dizeyi ayırıcınızla bölen başka bir (özel) işlev. Örneğimizde, komut dosyasını "ts.Translate" olarak adlandırıyoruz. İlk adımda, aktarılan parametrelerin her biri bir Değişken Yazılı.

Komut dosyası diğer komut dosyalarından aşağıdaki şekilde çağrılabilir:

Komut dosyasını çalıştır [ Belirtilen: Listeden; "ts.Translate"; Parametre: ""DE¶EN¶Hello World" ]

"ts.Translate" betiğine genel bakış

Google Translate için FileMaker Script ve DeepL

Komut dosyası parametrelerinin aktarılması

Değişken ayarla [ $quellsprache ; Değer: GetValue(Get(ScriptParameter); 1) ]
Değişken ayarla [ $argetLanguage ; Değer: GetValue(Get(ScriptParameter); 2) ]
Değişken ayarla [ $quelltext ; Değer: GetValue(Get(ScriptParameter); 3) ] 

1TP4Source language ve $arget language değişkenleri ilgili dilin ISO kodunu içerir, örneğin DE veya EN.

API anahtarı için değişken ayarlama

Değişken ayarla [ $api_key ; Değer: "hJghjjHJHGjkhjKJgÖLkjjhlkHkjFJKGkjhlÄf" ] 

Hem Google Cloud Translation API'sini hem de DeepL API'sini kullanmak için bir kimlik doğrulama anahtarı gereklidir. Bu, ilgili API'nin yönetim alanından alınabilir.

API URL'sini çağırın

Google Cloud Çeviri API'si

Değişken ayarla [ $_url ; Değer: "https://www.googleapis.com/language/translate/v2?key=" & $api_key & "&q=" & ReadAsURLEncrypted ($source text) & "&source=" & $source language & "&target=" & $target language ] 

DeepL API

Değişken ayarla [ $_url ; Değer: "https://api.deepl.com/v2/translate?auth_key=" & $api_key & "&source_lang=" & $source_lang & "&target_lang=" & $target_lang & "&text=" & ReadAsURLEncrypted ($source_text) ] 

Hangi sağlayıcının kullanılacağına bağlı olarak, ilgili kod satırı burada kullanılmalıdır. $_url değişkeninde ilk olarak çeviri için çağrılacak URL oluşturulur. Sunucu adresini, daha önce tanımlanan değişkenlere kaydedilen diğer tüm değerler izler:

  • $api_key (API'nin kimlik doğrulama anahtarı)
  • $source_long (ISO kodu olarak kaynak dil)
  • $target_long (ISO kodu olarak hedef dil)
  • 1TP4Kaynak metin (İletilen metin, gerçek satır sonları vb. göndermekten kaçınmak için URL'de ReadAsURLEncrypted işlevi ile iletilir)

URL'den ekle [ Seçim ; Diyalog ile: Kapalı ; $url_result ; $_url ] 

Bu komut URL'yi çağırır ve sonucu $url_result değişkenine kaydeder.

Sonuç ve hata sorgusunu okuma

İlk olarak, sistem URL üzerinden döndürülen sonucun "hatalar" terimini içerip içermediğini sorgular. Eğer içeriyorsa, metinde $_url ve $url_result değişkenlerini içeren ilgili bir hata diyaloğu görüntülenmelidir.

Ne zaman [ PatternNumber ( $url_result ; "errors" ) ] 

     Kendi diyalog kutunuzu görüntüleyin [ "Hata oluştu" ; $_url & ", " & $url_result ]

Aksi takdirde

     Değişken ayarla [ $_message_target ; Değer:

     SetVar ( [
     Text = $url_result ;
     StartTag = "\"text\":\"" ;
     EndTag = "\"}]}" ;
     StartPos = Konum ( Metin; StartTag; 1; 1 );
     StartPos = StartPos + Uzunluk ( StartTag ) ;
     EndPos = Konum ( Metin; EndTag; StartPos; 1 );
     LengthToKeep = EndPos - StartPos ;
     Result = CharacterCentre ( Text ; StartPos ; LengthToKeep ) ];
     Sonuç & If(PatternNumber(Sonuç; "|") > 0; "|")
     )

HTML varlıklarının filtrelenmesi

Döndürülen metin HTML varlıkları içeriyorsa, bunlar bir Özel Fonksiyon filtrelenebilir. Bu örnekte, şu fonksiyonu kullanıyoruz HTMLencoded2Textücretsiz olarak temin edilebilir.

     Ne zaman [ PatternNumber ( $_message_target ; "&#" ) ] 

          Değişken ayarla [ $_message_target ; Değer: HTMLencoded2Text ( $_message_target ) ] 

     Son (eğer)

Son (eğer)

Koddan çıkın ve sonucu iletin

Aşağıdaki komut koddan çıkar ve komutla yürütüldükten sonra üst kodda görüntülenen sonucu döndürür Get(ScriptResult) okunabilir.

Geçerli koddan çık [ Metin sonucu: $_message_target ] 

Birkaç metin değerinin bir ayırıcı ile ayrılması

Arayüzleri kullanarak, daha sonra farklı değişkenlere veya alanlara yapılandırılmış bir şekilde girmek için çevrilecek birkaç kelimeye bir ayırıcı atamak da mümkündür. Örneğin DeepL API ile kesme işareti kolayca ayırıcı olarak kullanılabilirken, Google Translate ile bir veya iki alt çizgi içeren bir ayırıcıyı başarıyla uygulayabildik.

 

Bir yorum bırakın

  1. Bunun için herhangi bir güncelleme var mı? Komut dosyası bu şekilde girilemez. Bu konuda çok mutlu olurum.

    Mfg

    Burkhard Quenzler

    1. Merhaba Burkhard, tam olarak ne girilemiyor veya ne çalışmıyor? O zamandan bu yana API'de tamamen teknik açıdan herhangi bir şeyin değiştiğinin farkında değilim. StringColumns işlevi "GetValue" işlevine karşılık gelir, yalnızca ayırıcı olarak kesme işareti vardır.

      1. Yazıyı kelime kelime yazmaya çalıştım, sanırım kesme işaretiyle ilgili bir sorunum var. Daha sonra tekrar deneyeceğim. Belki bana ts.Translate betiğini gönderebilirsiniz. Çok minnettar olurum.

Bu sayfayı paylaşın:

Şirketiniz kadar esnek ERP yazılımı.
Size tavsiyede bulunmaktan memnuniyet duyarız.

Mac, Windows ve iOS için özelleştirilebilir ERP yazılımı.

Buradasınız: Deepl.com ve Google Translate ile FileMaker'da metinleri çevirin