Transliterate API Referansı

Basit harf çevirisi

Aşağıdaki yöntem, JavaScript'i değiştirerek kullanıcı arayüzü olmadan basit transliterasyon yapmanıza olanak tanır.

Yöntem Açıklama

google.language.transliterate(wordsArray, srcLang, destLang, callback)

google.language.transliterate(wordsArray, srcLang, destLang, callback), verilen metni kaynak dilden hedef dile çeviren genel bir yöntemdir. API, sonucu callback işlevine result nesnesi olarak eşzamansız şekilde döndürür. Bu yöntemin parametreleri şunlardır:

  • wordsArray, harf çevirisi yapılacak metni dizi olarak sağlar.
  • srcLang, kaynak dili dil kodu olarak sağlar. Örnekler için LanguageCode enum'a bakın.
  • destLang, hedef dili dil kodu olarak sağlar. Örnekler için LanguageCode enum'a bakın.
  • callback, result değerini alan geri çağırma işlevidir.

google.language.transliterate() işlevinin dönüş değeri yoktur.

Bu basitleştirilmiş transliterasyon yöntemi, google.language.transliterate ad alanını (Transliterate API'deki diğer tüm yöntemlerin ad alanı olan google.elements.transliteration değil) kullanır.

google.language.transliterate(), result nesnesini çıkarır.

Sonuç nesneleri, sunucu isteklerinin JSON kodlaması kullanılarak oluşturulur. Bu nedenle, resmi JavaScript nesnelerini uygulamamayı ve bunun yerine result nesnelerini seri hale getirilmiş biçimlerinden dinamik olarak oluşturmayı tercih ettik.

Nesnelerin resmi bir uygulaması olmasa da bu nesneler mevcuttur ve destekleyici bir JavaScript uygulaması varmış gibi belgelenir. Tüm bunların etkisi minimum düzeydedir. Bu, adlandırılmış bir oluşturucunun olmadığı anlamına gelir. Her sonuç için sistem, new Object() işlevini çağırmış ve ardından bu nesnede resmi özellikleri ayarlamış gibi davranır. Bu özellikler aşağıda verilmiştir.

  • <result>
    • error?
      Transliterasyon sırasında hata oluştuysa gösterilir.
    • transliterations
      Girişin boyutuyla aynı boyutta bir dizi wordsArray.
      • transliteratedWords
        wordsArray dilindeki ilgili kelimenin çevriyazılarını içeren, maksimum boyutu 5 olan bir dizi.

Transliterasyon kontrolü JavaScript referansı

Aşağıdaki oluşturucu ve yöntemler, API tarafından sağlanan bir kullanıcı arayüzünde harf çevirisi yapmanıza olanak tanır.

Oluşturucu - google.elements.transliteration.TransliterationControl(options)

Marka Açıklama

google.elements.transliteration.
TransliterationControl(options)

.TransliterationControl(options), düzenlenebilir bir dizi HTML DOM öğesinde çeviri yazıyı etkinleştirir ve bu öğelerde çeviri yazıyı kontrol etmenize olanak tanıyan çeşitli yöntemler sunar. options bağımsız değişkeni aşağıdaki alanlara sahip olabilir:

  • sourceLanguage, LanguageCode enum'ı (google.elements.transliteration.ENGLISH örneğinde olduğu gibi) kullanarak kaynak dili belirten zorunlu bir dizedir. Şu anda yalnızca İngilizce desteklenen kaynak dildir.
  • destinationLanguage, zorunlu bir dizidir ve hedef dili LanguageCode enum kullanılarak belirtir (ör. google.elements.transliteration.HINDI).

    Kullanıcı arayüzünde, kullanılabilir hedef diller menüde görünür. Dizideki ilk dil varsayılan olarak seçilir. Belirli bir kaynak dil için geçerli hedef diller hakkında daha fazla bilgi edinmek isterseniz lütfen getDestinationLanguages'ı inceleyin.
  • transliterationEnabled, transliterasyonun varsayılan olarak etkinleştirilip etkinleştirilmeyeceğini belirten isteğe bağlı bir alandır. Transliterasyonu varsayılan olarak etkinleştirmek istiyorsanız bu alanı true değeriyle belirtin. Varsayılan değer false'dır.
  • shortcutKey, çeviri yazıyı açıp kapatmak için kısayol tuşunu belirten isteğe bağlı bir dize alanıdır. Kısayol tuşunu belirtmek için "Ctrl", "Alt" veya "Üst Karakter" gibi değiştiricilerle birlikte bir harf içeren bir dize belirtin. Örneğin, "Ctrl+g" ve "Ctrl+Üst Karakter+a" geçerli kısayol tuşu kombinasyonlarıdır.

    Not: Shift'i tek başına düzenleyici olarak kullanamazsınız ancak Alt veya Control ile birlikte kullanabilirsiniz.

Bu yöntem, aşağıdaki durumlarda istisnalar oluşturur:

  • Geçersiz sourceLanguage veya destinationLanguage
  • sourceLangauge ve destinationLanguage dil çiftinde desteklenmeyen diller
  • Geçersiz kısayol tuşu kombinasyonu

Aşağıdaki kod snippet'inde, harf çevirisi kontrolünün nasıl oluşturulacağı gösterilmektedir:

function onLoad() {
  var options = {
    sourceLanguage: 'en',
    destinationLanguage: ['hi'],
    shortcutKey: 'ctrl+g',
    transliterationEnabled: true
  };

  // Create an instance on TransliterationControl with the required
  // options.
  var control = new google.elements.transliteration.TransliterationControl(options);
}

Harf çevirisi kontrol yöntemleri

Aşağıdaki yöntemler google.elements.transliteration.TransliterationControl ad alanında uygulanır.

Yöntem Açıklama

.addEventListener(eventType, listener, opt_listenerScope)

.addEventListener(eventType, listener, opt_listenerScope), belirtilen etkinlik türü için çeviri kontrolüne bir dinleyici ekler. Belirli bir etkinlik türü tetiklendiğinde, işleyici etkinlik nesnesiyle birlikte çağrılır. Etkinlik nesnesinin içeriği, etkinliğin türüne bağlıdır. Bu yöntemin parametreleri şunlardır:

  • eventType, dinleyicinin ekleneceği etkinliktir. Bu bağımsız değişken, değerini eventType enum'dan (ör. google.elements.transliteration.TransliterationControl. EventType.STATE_CHANGED)) alır.
  • listener, etkinlik için bir işleyici işlevi sağlar.
  • opt_listenerScope, this değeri opt_listenerScope içinde belirtilen nesneye ayarlanmış şekilde dinleyiciyi çağırır.

.addEventListener() işlevinin dönüş değeri yoktur.

.disableTransliteration()

.disableTransliteration(), harf çevirisi kontrolünde harf çevirisini devre dışı bırakır. Bu yöntemin bağımsız değişkeni ve dönüş değeri yoktur.

.enableTransliteration()

.enableTransliteration(), harf çevirisi kontrolünde harf çevirisini etkinleştirir. Bu yöntemin bağımsız değişkeni ve dönüş değeri yoktur.

.isTransliterationEnabled()

.isTransliterationEnabled() bağımsız değişken içermez ve çeviri kontrolünde çevirinin etkin olup olmadığını belirten bir boole değeri döndürür.

.makeTransliteratable(elementIds, opt_options)

.makeTransliteratable(elementIds, opt_options), sağlanan HTML öğelerinde çeviri yazıyı etkinleştirir. Bu yöntemin parametreleri şunlardır:

  • elementIds, çeviri yazıyı etkinleştirmek istediğiniz düzenlenebilir öğe kimliklerinin veya öğe referanslarının dizelerini içeren bir dizidir. Düzenlenebilir öğeler şunlar olabilir:

    • Metin alanı
    • Metin alanı
    • contentEditable="true" içeren bir <div>
    • designMode="on" içeren bir <iframe>
    • contentEditable="true" gövdesi olan bir iFrame. Çeviri yazıyı etkinleştirmeden önce iFrame'in yüklendiğinden emin olun.
  • opt_options, bu öğelere uygulanan seçenekleri sağlayan isteğe bağlı bir bağımsız değişkendir. Bu bağımsız değişken aşağıdaki alanları içerebilir:
    • adjustElementStyle, API'nin öğe ve yazı tipi boyutlarını hedef dil karakterlerine en uygun şekilde otomatik olarak ayarlayıp ayarlamadığını kontrol eden isteğe bağlı bir Boole alanıdır. Varsayılan değer true'dır. Bu seçenek yalnızca düz metin öğelerini etkiler.
    • adjustElementDirection, destinationLanguage yönüne bağlı olarak düzenlenebilir öğenin yönünü kontrol eden isteğe bağlı bir boole alanıdır. Varsayılan değer true'dır.

Arapça gibi sağdan sola yazılan yazı sistemlerinde API, yazılı komut dosyasının yönüne ve giriş öğesinin içeriğine göre giriş öğesinin yönünü otomatik olarak ayarlar. direction ile HTML ve JavaScript kullanarak bir giriş öğesindeki metnin yönünü ayarlayabilirsiniz. Bu özellik 'ltr' (soldan sağa) veya 'rtl' (sağdan sola) değerini alabilir. Bu yöntemin kullanılması, giriş alanındaki metnin imlecini ve hizalamasını etkiler.

API'nin sağdan sola yazılan dilleri desteklemesiyle ilgili bir örneği Arapça harf çevirisi örneğinde görebilirsiniz.

Bu yöntem, belirtilen elementIds değerlerinden herhangi biri geçersizse istisnalar oluşturur.

.makeTransliteratable() işlevinin dönüş değeri yoktur.

.removeEventListener(eventType, listener, opt_listenerScope)

.removeEventListener(eventType, listener, opt_listenerScope), transliterasyon kontrolünden bir etkinlik işleyiciyi kaldırır. Burada:

  • Bu bağımsız değişken, değerini eventType enum'ından (ör. google.elements.transliteration.TransliterationControl. EventType.STATE_CHANGED)) alır.
  • listener, kaldırılması gereken etkinliğin işlevidir.
  • opt_listenerScope, dinleyici eklenirken dinleyicinin kaydedildiği kapsamdır.

.removeEventListener() işlevinin dönüş değeri yoktur.

.setLanguagePair(sourceLanguage, destinationLanguage)

.setLanguagePair(sourceLanguage, destinationLanguage), transliterasyon kontrolü tarafından kullanılan dil çiftini dinamik olarak değiştirmenize olanak tanır. Burada:

  • sourceLanguage, harf çevirisi yapılacak dil türünü sağlar. Bu bağımsız değişken, değerini LanguageCode enum'dan (ör. google.elements.transliteration.TransliterationControl. LanguageCode.ENGLISH)) alır.
  • destinationLanguage, harf çevirisi yapılan metnin dil türünü sağlar.

.setLanguagePair(), setLanguage işleminin başarılı olup olmadığını belirten bir boole değeri döndürür.

.showControl(divElement)

.showControl(divElement), belirtilen DIV'de çeviri yazısı kontrolünü gösterir. Burada divElement, DIV'nin kimliğidir. Bu yöntemin dönüş değeri yoktur.

.toggleTransliteration()

.toggleTransliteration(), harf çevirisi kontrolünde harf çevirisini açar veya kapatır. Bu yöntemin bağımsız değişkeni ve dönüş değeri yoktur.

Statik yöntem

Aşağıdaki statik yöntem, google.language ad alanında uygulanır.

Statik yöntem Açıklama

.setOnLoadCallback(callback)

.setOnLoadCallback(callback), belirtilen işleyici işlevini bu çağrıyı içeren sayfa yüklendikten sonra bir kez çağrılacak şekilde kaydeden statik bir işlevdir. callback, kapsayan doküman yüklendiğinde ve API kullanıma hazır olduğunda (ör. onLoad'den sonra) çağrılan zorunlu bir işlevdir. Bu işlev, google ad alanında (ör. google.setOnLoadCallback(callback);)

.setOnLoadCallback() işlevinin dönüş değeri yoktur.

Not: Önceki dokümanlarda, gövde öğesinin onload özelliğini (<body onload="OnLoad()">) kullanmanız öneriliyordu. Sayfa ve sayfa tarafından yüklenen tüm kodlar üzerinde tam kontrol sahibi olduğunuzda bu yaklaşım sorunsuz bir şekilde kullanılabilir. Ancak bu yaklaşım, body.onload işleyicinizi yok eden bazı çalışma zamanlarında sorunlara neden olabilir. setOnLoadCallback() bu sorunlara sahip değildir ve bu nedenle API tam olarak yüklendiğinde ve kullanıma hazır olduğunda kodunuzu çağıran bir geri çağırma kaydetmek için önerilen yöntemdir.

Aşağıdaki statik yöntem, google.elements.transliteration ad alanında uygulanır.

Statik yöntem Açıklama

.getDestinationLanguages(sourceLanguage)

.getDestinationLanguages(sourceLanguage), verilen sourceLanguage için transliterasyonun desteklendiği hedef dillerin haritasını döndüren global bir yöntemdir. Döndürülen harita, desteklenen hedef dilleri içerir. Anahtar, dil adı; değer ise dil kodudur. Döndürülen harita, LanguageCode enum içinde açıklanan haritaya benzer.

Sıralamalar

EventType sıralaması

google.elements.transliteration.TransliterationControl.EventType numaralandırmasında, çeviri yazım sırasında olası etkinlikler listelenir. Kodunuzda bu etkinlikler için özel işleyiciler sağlayabilirsiniz.

var google.elements.transliteration.TransliterationControl.EventType = {
   STATE_CHANGED : 'state_changed',
   LANGUAGE_CHANGED : 'language_changed',
   SERVER_REACHABLE : 'server_reachable',
   SERVER_UNREACHABLE : 'server_unreachable'
};
  • google.elements.transliteration.TransliterationControl.EventType.STATE_CHANGED: Çeviri kontrolünde çeviri etkinleştirildiğinde veya devre dışı bırakıldığında elde edilen sonuçlar:
    • Kısayol tuşu
    • enableTransliteration, disableTransliteration veya toggleTransliteration yöntemleri
    • showControl yöntemiyle çizilen çeviri yazısı kontrolü üzerinde yapılan fare tıklaması.
    Dinleyiciye iletilen etkinlik nesnesi, transliterationEnabled alanını içerir. Transliterasyon "on" ise bu alan doğru, aksi takdirde yanlış olur.
  • google.elements.transliteration.TransliterationControl.EventType.LANGUAGE_CHANGED: Harf çevirisi kontrolünde harf çevirisi dil çifti şu şekilde değiştirildiğinde elde edilen sonuçlar:
    • setLanguagePair yöntemi
    • showControl yöntemiyle çizilen harf çevirisi kontrolü
    İşleyiciye iletilen etkinlik nesnesi sourceLanguage ve destinationLanguage alanlarını içerir.
  • google.elements.transliteration.TransliterationControl.EventType.SERVER_REACHABLE: Metni çevirmek için sunucuyla başarılı bir şekilde iletişime geçtiğinizde elde edilen sonuçlar.
  • Metni harf çevirmek için sunucuya bağlanma girişimi başarısız olduğunda google.elements.transliteration.TransliterationControl.EventType.SERVER_UNREACHABLE sonuçları gösterilir.

LanguageCode enum

google.elements.transliteration.LanguageCode, harita adı sabitlerini, çeviri yöntemlerinde kaynak ve hedef dilleri belirtmek için kullanabileceğiniz dil kodlarıyla eşler.

var google.elements.transliteration.LanguageCode = {
    ENGLISH: 'en',
    AMHARIC: 'am',
    ARABIC: 'ar',
    BENGALI: 'bn',
    CHINESE: 'zh',
    GREEK: 'el',
    GUJARATI: 'gu',
    HINDI: 'hi',
    KANNADA: 'kn',
    MALAYALAM: 'ml',
    MARATHI: 'mr',
    NEPALI: 'ne',
    ORIYA: 'or',
    PERSIAN: 'fa',
    PUNJABI: 'pa',
    RUSSIAN: 'ru',
    SANSKRIT: 'sa',
    SINHALESE: 'si',
    SERBIAN: 'sr',
    TAMIL: 'ta',
    TELUGU: 'te',
    TIGRINYA: 'ti',
    URDU: 'ur'
};

SupportedDestinationLanguages enum

google.elements.transliteration.SupportedDestinationLanguages numaralandırma, ad sabitlerini, çeviri kontrolünde hedef dil gruplarını belirtmek için kullanabileceğiniz dil kodu dizileriyle eşler.

var google.elements.transliteration.SupportedDestinationLanguages = {
    // ALL includes all languages supported in the Transliterate API.
    // As support for more languages becomes available, this enum will be
    // automatically updated to include the new languages transparently.
    ALL: [
        google.elements.transliteration.LanguageCode.AMHARIC,
        google.elements.transliteration.LanguageCode.ARABIC,
        google.elements.transliteration.LanguageCode.BENGALI,
        google.elements.transliteration.LanguageCode.CHINESE,
        google.elements.transliteration.LanguageCode.GREEK,
        google.elements.transliteration.LanguageCode.GUJARATI,
        google.elements.transliteration.LanguageCode.HINDI,
        google.elements.transliteration.LanguageCode.KANNADA,
        google.elements.transliteration.LanguageCode.MALAYALAM,
        google.elements.transliteration.LanguageCode.MARATHI,
        google.elements.transliteration.LanguageCode.NEPALI,
        google.elements.transliteration.LanguageCode.ORIYA,
        google.elements.transliteration.LanguageCode.PERSIAN,
        google.elements.transliteration.LanguageCode.PUNJABI,
        google.elements.transliteration.LanguageCode.RUSSIAN,
        google.elements.transliteration.LanguageCode.SANSKRIT,
        google.elements.transliteration.LanguageCode.SERBIAN,
        google.elements.transliteration.LanguageCode.SINHALESE,
        google.elements.transliteration.LanguageCode.TAMIL,
        google.elements.transliteration.LanguageCode.TELUGU,
        google.elements.transliteration.LanguageCode.TIGRINYA,
        google.elements.transliteration.LanguageCode.URDU],
 
    // INDIC includes all Indic languages supported in the Transliterate API.
    // As support for more Indic languages becomes available, this enum will be
    // automatically updated to include the new languages transparently.
    INDIC: [
        google.elements.transliteration.LanguageCode.BENGALI,
        google.elements.transliteration.LanguageCode.GUJARATI,
        google.elements.transliteration.LanguageCode.HINDI,
        google.elements.transliteration.LanguageCode.KANNADA,
        google.elements.transliteration.LanguageCode.MALAYALAM,
        google.elements.transliteration.LanguageCode.MARATHI,
        google.elements.transliteration.LanguageCode.NEPALI,
        google.elements.transliteration.LanguageCode.ORIYA,
        google.elements.transliteration.LanguageCode.PUNJABI,
        google.elements.transliteration.LanguageCode.SANSKRIT,
        google.elements.transliteration.LanguageCode.SINHALESE,
        google.elements.transliteration.LanguageCode.TAMIL,
        google.elements.transliteration.LanguageCode.TELUGU,
        google.elements.transliteration.LanguageCode.URDU]
};

Sorun giderme

Sorunlarla karşılaşırsanız:

  • Yazım hatalarını kontrol edin. JavaScript'in büyük/küçük harfe duyarlı bir dil olduğunu unutmayın.
  • JavaScript hata ayıklayıcısı kullanın. Google Chrome'da eksiksiz bir geliştirici araçları seti bulunur. Firefox'ta JavaScript konsolunu veya Firebug'ı kullanabilirsiniz. IE'de Microsoft Script Debugger'ı kullanabilirsiniz.
  • Tartışma grubunda arama yapın. Sorunuzu yanıtlayan bir yayın bulamıyorsanız sorunuzu, sorunu gösteren bir web sayfasının bağlantısıyla birlikte grupta yayınlayın.