GoLocal!
Açık kontrol paneli
Bubble geliştirici kılavuzuÜcretsiz çalışma zamanı 4.1.23

GoLocal Query ile güvenli çok dilli arama

Ana GoLocal öğesine yönelik yeni başlayanlar için uygun bir kılavuz, isteğe bağlı GoLocal Query öğesi, Bubble'nin otomatik arama kontrolleri ve çevrilmiş arayüzleri veritabanı mantığından ayrı tutmanın en güvenli yolu.

Temel kavram

Bir Bubble uygulamasında normalde veritabanı etiketlerinin, Bubble görüntüleme değerlerinin ve sabit kodlanmış metin koşullarının oluşturulduğu tek bir kanonik dil . GoLocal bu değerleri başka bir dilde gösterebilir ancak Bubble mantığı yine de kanonik değeri bekleyebilir.

Project kaynağı

İngilizce

Saklanan kategori: Haberler

Ziyaretçinin gördüğü

Fransızca

Görünür etiket: Gerçekler

Bubble aramaları

Haberler

Normalleştirilmiş kaynak değeri

Güvenlik kuralı: Görünür Giriş, kullanıcıya yönelik ve kaydetmeye yönelik değer olarak kalır. Ayrı bir normalized_query yalnızca Bubble'nin açıkça kaynak dil metnine ihtiyaç duyduğu durumlarda kullanılır.

Hangi GoLocal öğesini kullanmalıyım?

Eklenti iki farklı görsel olmayan Bubble öğesi içerir. Farklı sorunları çözüyorlar. Çoğu sayfanın ana GoLocal! öğeye ihtiyacı vardır; yalnızca belirli bir metin arama sorunu olan sayfaların GoLocal Query.

Eklenti kullanılabilirliği: ayrı GoLocal Query öğe, Ücretsiz/API-key Bubble eklentisine dahil edilmiştir ve etkin bir GoLocal SaaS projesiyle çalışır.

Gerekli çevirmen

GoLocal!

Bu ana çeviri motorudur. Projenizi yükler, sayfa içeriğini çevirir, dil widget'ını görüntüler ve mevcut dil ve çeviri olaylarını yayınlar.

  • Genellikle bir örneği yeniden kullanılabilir bir başlığa veya sayfa tarafından paylaşılan başka bir öğeye yerleştirin.
  • API anahtarı, widget, hariç tutulan kimlikler/seçiciler ve kaynak/hedef davranışı için alanlarını kullanın.
  • Bubble'nin seçilenleri bilmesi gerektiğinde durumlarını ve olaylarını kullanın. dil veya çeviri durumu.

İsteğe bağlı mantık yardımcısı

GoLocal Query

Bu, sayfayı çevirmez ve bir widget görüntülemez. Ziyaretçi tarafından girilen bir arama ifadesini, Bubble mantığı için uygulamanızın standart kaynak dil ifadesine dönüştürür.

  • Yalnızca normal bir Girişin projenin kaynak dilinde depolanan metni araması veya karşılaştırması gerektiğinde ekleyin.
  • Bağımsız arama Girişi başına bir Sorgu öğesi kullanın.
  • normalized_query'yi asla kullanıcı tarafından oluşturulan adları, başlıkları, açıklamaları veya dosyaları kaydetmek için kullanmayın. mesajlar.
Bubble öğesi veya göreviNe kullanılmalı
Metin, Düğme, Grup, yeniden kullanılabilir kullanıcı arayüzüYalnızca GoLocal!
Kullanıcı tasarrufu sağlayan giriş veriOrijinal Giriş değeri
İngilizce metin alanını filtreleyen Düz GirişBir GoLocal Query
Bubble SearchBox veya Açılan MenüOtomatik
Eski veya Select2 MultiDropdownOtomatik
Çok Satırlı Giriş, Quill, contenteditableOrijinal düzenleyici değeri
Yinelenen Grup kısıtlamasıÖnce Şey/Option Set/ID
E-posta, telefon, şifre, numara, tarih, kimlik, dosyaOrijinal değer
Basit karar: değer görüntüleniyorsa ana çeviriciyi kullanın. Değer kaydediliyorsa orijinal Bubble değerini kullanın. Çevrilmiş bir ifadenin kaynak dil metniyle eşleştirilmesi gerekiyorsa desteklenen bir otomatik kontrol veya özel bir GoLocal Query öğesi kullanın.

Tercih edilen Bubble mimarisi

Mümkün olduğunda Bubble Öğeleri, Option Set seçenekleri, benzersiz kimlikler veya kararlı kodlar (çevrilmiş ekran metni değil) etrafında koşullar oluşturun. Çeviri, kaydın kimliğini değil, kişinin gördüklerini değiştirmelidir.

En iyisi: nesneyi karşılaştırın

Current cell's Article's Category
is Category News

Ziyaretçi "Actualités"i görebilir, ancak Bubble, Kategori Şeyini veya Option Set seçeneğinin kendisini karşılaştırır.

Sorguyu yalnızca metin eşleştirme için kullanın

Category name contains
GoLocal Query Categories's normalized_query

Veritabanı veya mevcut bir koşul, standart İngilizce metni gerçekten aradığında bu uygundur.

Örnek kategori set

Kanonik İngilizceFransızca ekran
HaberlerGerçekler
GörüşGörüş
EğitimEğitim
KılavuzKılavuz
İnceleme wAvis
GeçmişGeçmiş
DiğerAutre

Otomatik geriye doğru arama

Ücretsiz çalışma zamanı 4.1.23 otomatik olarak geriye doğru aramayı yalnızca amacı mevcut bir değeri seçmek veya aramak olan Bubble kontrollerine uygular:

Bubble SearchBox
Bubble Açılır Menüsü
Eski Bubble MultiDropdown
Geçerli Select2 MultiDropdown

Ziyaretçi türleri: Gerçekler

Kontrol eşleşmeleri: Haberler

Ziyaretçi şunu görmeye devam eder: Gerçekler

Desteklenen her kontrol, aynı sayfadaki birden fazla kontrol de dahil olmak üzere yalıtılmış ters duruma sahiptir. Bu yerleşik davranışı kopyalamak için bir GoLocal Query öğesi eklemeyin.

Bubble SearchBox

Ziyaretçi mevcut bir Bubble Şeyini arayıp seçtiğinde bunu kullanın. GoLocal, çevrilmiş ifadenin SearchBox tarafından kullanılan standart metinle eşleşmesine yardımcı olur.

Bubble Açılır Menüsü

Mevcut bir statik veya dinamik listeden tek bir seçim için kullanın. Seçilen seçenek gerçek Bubble değeri olarak kalır.

Eski Bubble MultiDropdown

Eski Bubble uygulamalarında mevcut birkaç seçeneği seçmek için bunu kullanın. Her kontrol bağımsız olarak normalleştirilir.

Select2 MultiDropdown

Geçerli aranabilir çoklu seçimli kontroller için bunu kullanın. Yazılan arama metni, sıradan Girişleri değiştirmeden kaynak dil seçeneği etiketleriyle eşleşebilir.

Düz bir Bubble Girişi kasıtlı olarak otomatik değildir. Eklenti, bir Girişin bir arama kutusu mu, bir kişinin adı mı, veritabanı başlığı mı, koşullu bir değer mi yoksa kaydedilecek metin mi olduğunu güvenli bir şekilde tahmin edemez. GoLocal Query'yi yalnızca aşağı akış mantığı kurallı metin gerektiren belirli bir Giriş için ekleyin.

Kullanma GoLocal Query

Sıradan bir Bubble Girişi kasıtlı olarak bir metin araması, kaynak dili koşullu veya arka uç/API filtresini çalıştırdığında görsel olmayan GoLocal Query öğeyi kullanın.

1

Bunun için bir sorgu öğesi ekleyin. input

Sayfaya veya Girişin sahibi olan yeniden kullanılabilir öğeye bir kez yerleştirin. Bunu her yinelenen grup hücresine yerleştirmeyin.

Element name: GoLocal Query Categories
2

Sorgu alanını bağlayın

Query = Input Category Search's value
Enabled = yes
Debounce (ms) = 180

Bubble, dinamik Giriş değeri değiştiğinde öğeyi otomatik olarak günceller. Girişle değiştirilmiş iş akışı gerekmez.

3

normalized_query'yi yalnızca kaynak dil mantığında kullanın

GoLocal Query Categories's normalized_query

Bu değeri yinelenen grup kısıtlamasında, gelişmiş filtrede, koşullu metinde veya İngilizce gerektiren API parametresinde kullanın.

4

Kayıtları ve doğrulamayı Girişe bağlı tutun

Save Category Name = Input Category Search's value

Normal bir kaydetme değerini, e-posta kontrolünü, sayı hesaplamasını veya gerekli alan kontrolünü asla normalized_query ile değiştirmeyin.

Ziyaretçi yazarken ne olur?

  1. 1Giriş değişiklikler: Bubble, geçerli Giriş değerini tam olarak Sorgu alanına aktarır.
  2. 2Geri dönme kısa bir süre bekler: Varsayılan 180 ms, her bir tuş vuruşu için bir isteği engeller.
  3. 3En yeni kelime öbeği normalleştirilir: Örneğin, "Gerçekler", "Haberler" olarak çözümlenir. Daha eski tamamlanmamış istekler en yeni sonucun üzerine yazılamaz.
  4. 4Bubble durumları alır: normalized_query "Haberler" olur, is_normalizing hayır olur ve normalleştirilmiş olay tetiklenir.
  5. 5Yalnızca amaçlanan mantık onu tüketir: Yinelenen grup, koşullu veya API filtresi normalized_query'yi kullanır; kayıtlar hala orijinal Girişi kullanır.

Pratik Bubble örnekleri

Yinelenen grup

Fransızca Girişten İngilizce makale kategorilerini arayın

Ziyaretçi türleri Gerçekler. Veritabanı depolanır Haberler. Tekrarlanan grubun kategori adı kısıtlamasını şu şekilde ayarlayın:

GoLocal Query Categories's normalized_query

Mümkün olduğunda Kategori Öğesi/Option Set seçimini tercih edin; metin normalleştirmeyi yalnızca filtre gerçekten metin tabanlı olduğunda kullanın.

Bubble koşullu

Sabit kodlanmış bir kaynak dil değeriyle karşılaştırın

When GoLocal Query Status's is_normalizing is no
and GoLocal Query Status's normalized_query is "Archived"

Koşul kritik bir iş akışını kontrol ediyorsa normalleştirme bitene kadar bekleyin. Salt görüntülü filtreleme için ham geri dönüş yeterli olabilir.

Arka uç veya API

Bir uç noktaya standart dil sorgusu gönderin

API parameter q = GoLocal Query Products's normalized_query
Run only when is_normalizing is no

Kimlikler, UUID'ler, e-postalar, belirteçler, tarihler ve sayısal değerler GoLocal Query'yi atlamalı ve gönderilmelidir değişmedi.

Yeni başlayanlar için tam kılavuz

Makaleleri çevrilmiş bir kategori adına göre filtreleyin

Uygulamanın İngilizce olarak oluşturulduğunu varsayalım. Veritabanı alanı Kategori adı şunu içerir: Haberler, ancak Fransız bir ziyaretçi Gerçekler normal bir Girişe yazar.

1. Bubble Girişini açıkça adlandırın
Input Category Search
2. Görsel olmayan bir yardımcı ekleyin ve adlandırın
GoLocal Query Categories
3. Yardımcı alanı bağlayın
GoLocal Query Categories → Query
= Input Category Search's value
4. Yinelenen grubun metin sınırlamasını ayarlayın
Search for Articles
Category name = GoLocal Query Categories's normalized_query
5. İş akışlarını oluşturma/düzenleme işlemlerini değiştirmeden tutun
Create a new Article's title
= Input Article Title's value

Sonuç: Ziyaretçi Fransızca arama yapar, Bubble İngilizce veritabanı değerini bulur ve kullanıcı tarafından girilen hiçbir metin yeniden yazılmaz veya başka bir biçimde kaydedilmez.

Birden fazla girişi olan sayfalar

Her bağımsız arama bağlamı için bir GoLocal Query örneği oluşturun. Her örneğin kendi değeri, geri dönme zamanlayıcısı, sıra koruması, durumları ve olayları vardır, dolayısıyla bir giriş diğerinin üzerine yazamaz.

Giriş Makalesi AramaGoLocal Query MakalelerTekrarlayan makaleler grubu
Müşteri Girişi AramaGoLocal Query MüşterileriMüşteri API filtresi
Giriş Etiketi FiltresiGoLocal Query EtiketlerEtiket koşulu
İlgisiz girişler için bir sorgu öğesini yeniden kullanmayın. Bir değerin yeniden kullanılabilir öğe sınırını geçmesi gerekiyorsa, söz konusu öğenin normalized_query'sini, normalized etkinliği etkinleştirildiğinde özel bir API özel durumuna kopyalayın.

Nelere dokunulmaması gerekir?

Kullan GoLocal Query,

  • Kurallı dil veritabanı alanlarında arama yapmak için kullanılan serbest biçimli metin
  • İngilizce sabiti bekleyen metin koşulları
  • Arka ucu İngilizce bekleyen API sorgu parametreleri
  • Yazdıkları sorguyu Bubble'ye gösteren üçüncü taraf arama kontrolleri

Bunu şunun için kullanmayın:

  • Adlar, başlıklar, yorumlar, açıklamalar veya kullanıcı tarafından oluşturulan etiketler kaydediliyor
  • Quill, zengin metin, contenteditable veya Çok Satırlı Giriş içeriği
  • E-postalar, şifreler, telefonlar, kimlikler, tarihler, sayılar, dosyalar veya doğrulama
  • Bubble Karşılaştırılabilecek öğeler veya Option Set nesneleri doğrudan

Kayıtlı kullanıcı içeriği daha sonra görüntülenir

Korumalı bir Giriş daha sonra normal bir Bubble Metin öğesinin içinde oluşturulabilir. Görüntüleme kapsayıcısını .gl-user-content gibi yeniden kullanılabilir bir sınıfla işaretleyin ve onu ana GoLocal öğesine ekleyin do_not_translate_selectors. Tekrarlanan gruplar için, aynı HTML kimliğini satırlar arasında kopyalamak yerine bir sınıf/seçici kullanın.

Alanlar, durumlar ve olaylar

Alanlar

Querytext

Görünür bir Bubble Giriş değerine bağlanın.

Enabledyes/no

Varsayılan evet. Devre dışı bırakıldığında kırpılan metin değişmeden geçer.

Debounce (ms)number

Varsayılan 180. Önerilen arama aralığı 150–250 ms'dir.

Durumlar

original_querytext

Normalleştirmeden önce Bubble'den alınan tam değer.

normalized_querytext

Arama veya karşılaştırma mantığı için kurallı kaynak dil değeri.

is_normalizingyes/no

Evet boş olmayan en yeni sorgu çözümleniyor.

normalization_foundyes/no

Evet, kaynak dil eşlemesi bulunduğunda.

last_errortext

Teknik hata mesajı; normal çalışma sırasında boş.

normalleştirilmiş

En son sorgu bittikten sonra tetiklenir. Bir iş akışının beklemesi veya sonucu özel bir duruma kopyalaması gerektiğinde bunu kullanın.

normalization_failed

Teknik bir arıza nedeniyle tetiklenir. Ham sorgu kullanılabilir bir geri dönüş olarak kalır ve ayrıntılar last_error'de görünür.

Genel Bubble kurulumlarında sorun giderme

normalized_query her zaman ham Girişe eşittir

Ana GoLocal! öğesinin mevcut ve hazır olduğunu, proje kaynak dilinin doğru şekilde yapılandırıldığını ve Sorgu alanının amaçlanan Girişe bağlı olduğunu doğrulayın. Bilinmeyen bir ifade, ham metni kasıtlı olarak güvenli bir geri dönüş olarak kullanabilir.

Yinelenen grup önceki sonucu kısaca gösterir

Katı filtreleme için bir yükleme durumu gösterin veya son aramayı yalnızca eşleşen Sorgu öğesinin is_normalizing durumu hayır olduğunda çalıştırın. Sıra koruması, eski bir isteğin daha yeni bir sonucu değiştirmesini önler.

Kayıtlı bir başlık veya açıklama değiştirildi

Kaydetme iş akışı normalized_query'ye veya çevrilmiş ekran metnine referans veriyor. Bunu orijinal Giriş, Çok Satırlı Giriş veya zengin metin düzenleyici değerine geri değiştirin. GoLocal Query yalnızca eşleştirme mantığı içindir.

İki giriş birbirini etkiler

Her bağımsız arama girişine kendi GoLocal Query öğesini verin. İlgisiz Girişler arasında bir yardımcıyı dinamik olarak değiştirmeyin.

Üçüncü taraf seçici ters eşleşme yapmaz

Otomatik destek Bubble SearchBox, Bubble Açılır Menü, eski MultiDropdown ve Select2 MultiDropdown ile sınırlıdır. Üçüncü taraf kontrolü, yazılan metni Bubble'ye gösteriyorsa, bu metni özel bir GoLocal Query öğesine bağlayın.

Kayıtlı kullanıcı içeriği daha sonra görüntülendiğinde çevrilir

Görüntü kapsayıcısına .gl-user-content gibi yeniden kullanılabilir bir sınıf ekleyin ve bu seçiciyi ana GoLocal! üzerindeki do_not_translate_selectors'ye ekleyin öğesi.

Giriş, yinelenen bir grubun içinde

Her hücreye bir Sorgu öğesi yerleştirmeyin ve HTML kimliklerini çoğaltmayın. Yinelenen grubu oluşturmadan önce filtrelemeyi tercih edin; aksi halde Sorgu yardımcısını yinelenen grubun dışında tutun ve ona tek bir seçili/arama değeri iletin.

Kabul kontrol listesi

  1. 1Aynı kaydı İngilizce ve Fransızca olarak arayın.
  2. 2Hızlı bir şekilde yazın ve eski bir sonucun hiçbir zaman yeni bir sonucun yerini almadığını onaylayın.
  3. 3Girişi temizleyin ve yinelenen grubun sıfırlandığını onaylayın.
  4. 4Giriş olmadığında dili değiştirin. boş.
  5. 5Aynı sayfada iki bağımsız arama Girişini test edin.
  6. 6Aksanlı bir Fransızca başlığı kaydedin ve metnin tam olarak saklandığını onaylayın.
  7. 7Quill'ye yazın ve yapıştırın; her iki yol da yeniden yazılmamalıdır.
  8. 8Bilinmeyen bir sorguyu test edin ve ham geri dönüşün sayfayı kullanılabilir durumda tuttuğunu doğrulayın.
  9. 9Her kaydetme iş akışının orijinal Giriş değerini kullandığını doğrulayın.
  10. 10Kritik kaynak dil iş akışlarını onaylayın, is_normalizing = hayır değerini bekleyin.

Hızlı karar kuralı

Görüntüleme ve kaydetme Giriş. Kanonik metin eşleştirmede GoLocal Query kullanılır.

Bubble bir Şeyi, Option Set seçeneğini, kimliğini veya kararlı kodunu karşılaştırabiliyorsa, o nesneyi doğrudan kullanın. GoLocal Query'yi yalnızca çevrilmiş serbest biçimli metin değerinin standart kaynak dil metniyle eşleştirilmesi gerektiğinde ekleyin.