GoLocal!
डैशबोर्ड खोलें
Bubble डेवलपर गाइडफ्री रनटाइम 4.1.23

GoLocal Query के साथ सुरक्षित बहुभाषी खोज

मुख्य GoLocal के लिए एक शुरुआती-अनुकूल गाइड तत्व, वैकल्पिक GoLocal Query तत्व, Bubble के स्वचालित खोज नियंत्रण, और अनुवादित इंटरफेस को डेटाबेस तर्क से अलग रखने का सबसे सुरक्षित तरीका।

मुख्य अवधारणा

एक Bubble ऐप में आम तौर पर एक कैनोनिकल भाषा होती है जिसमें इसके डेटाबेस लेबल, Option Set डिस्प्ले मान और हार्ड-कोडित टेक्स्ट स्थितियां बनाई गई थीं। GoLocal उन मानों को किसी अन्य भाषा में दिखा सकता है, लेकिन Bubble तर्क अभी भी विहित मान की उम्मीद कर सकता है।

Project स्रोत

अंग्रेजी

संग्रहीत श्रेणी: समाचार

विज़िटर देखता है

फ़्रेंच

दृश्यमान लेबल: वास्तविक

Bubble खोजें

समाचार

सामान्यीकृत स्रोत मान

सुरक्षा नियम: दृश्यमान इनपुट उपयोगकर्ता-सामना और सेव-सामना मूल्य बना रहता है। एक अलग normalized_query का उपयोग केवल वहीं किया जाता है जहां Bubble को स्पष्ट रूप से स्रोत-भाषा पाठ की आवश्यकता होती है।

मुझे किस GoLocal तत्व का उपयोग करना चाहिए?

प्लगइन में दो अलग-अलग गैर-दृश्य Bubble तत्व शामिल हैं। वे विभिन्न समस्याओं का समाधान करते हैं. अधिकांश पृष्ठों को मुख्य GoLocal! तत्व की आवश्यकता होती है; केवल विशिष्ट पाठ-खोज समस्या वाले पृष्ठों की आवश्यकता है GoLocal Query.

प्लगइन उपलब्धता: अलग GoLocal Query तत्व Free/API-कुंजी Bubble प्लगइन में शामिल है और एक सक्रिय GoLocal SaaS प्रोजेक्ट के साथ काम करता है।

आवश्यक अनुवादक

GoLocal!

यह मुख्य अनुवाद इंजन है। यह आपके प्रोजेक्ट को लोड करता है, पृष्ठ सामग्री का अनुवाद करता है, भाषा विजेट प्रदर्शित करता है, और वर्तमान भाषा और अनुवाद घटनाओं को प्रकाशित करता है।

  • आमतौर पर एक उदाहरण को पुन: प्रयोज्य हेडर या पृष्ठ द्वारा साझा किए गए किसी अन्य तत्व में रखता है।
  • API कुंजी, विजेट, बहिष्कृत आईडी/चयनकर्ताओं और स्रोत/लक्ष्य व्यवहार के लिए इसके फ़ील्ड का उपयोग करें।
  • जब इसकी स्थिति और घटनाओं का उपयोग करें Bubble को चयनित भाषा या अनुवाद स्थिति का पता होना चाहिए।

वैकल्पिक तर्क सहायक

GoLocal Query

यह पृष्ठ का अनुवाद नहीं करता है और यह विजेट प्रदर्शित नहीं करता है। यह विज़िटर द्वारा दर्ज किए गए एक खोज वाक्यांश को Bubble तर्क के लिए आपके ऐप के कैनोनिकल स्रोत-भाषा वाक्यांश में परिवर्तित करता है।

  • इसे केवल तभी जोड़ें जब एक सामान्य इनपुट को प्रोजेक्ट की स्रोत भाषा में संग्रहीत पाठ की खोज या तुलना करनी हो।
  • प्रति स्वतंत्र खोज इनपुट के लिए एक क्वेरी तत्व का उपयोग करें।
  • उपयोगकर्ता द्वारा बनाए गए नाम, शीर्षक, विवरण या को सहेजने के लिए कभी भी normalized_query का उपयोग न करें। संदेश।
Bubble तत्व या कार्यक्या उपयोग करें
पाठ, बटन, समूह, पुन: प्रयोज्य यूआईGoLocal! केवल
इनपुट जो उपयोगकर्ता को बचाता है डेटामूल इनपुट मान
अंग्रेजी टेक्स्ट फ़ील्ड को फ़िल्टर करने वाला सादा इनपुटएक GoLocal Query
Bubble SearchBox या ड्रॉपडाउनस्वचालित
विरासत या Select2 MultiDropdownस्वचालित
मल्टीलाइन इनपुट, Quill, contenteditableमूल संपादक मूल्य
समूह बाधा को दोहरानाThing/Option Set/ID प्रथम
ईमेल, फोन, पासवर्ड, नंबर, दिनांक, आईडी, फ़ाइलमूल मूल्य
सरल निर्णय: यदि मान प्रदर्शित किया जा रहा है, तो मुख्य का उपयोग करें अनुवादक. यदि मान सहेजा जा रहा है, तो मूल Bubble मान का उपयोग करें। यदि अनुवादित वाक्यांश को स्रोत-भाषा पाठ के साथ मिलान किया जाना चाहिए, तो समर्थित स्वचालित नियंत्रण या एक समर्पित GoLocal Query तत्व का उपयोग करें।

पसंदीदा Bubble वास्तुकला

जब भी संभव हो, Bubble चीजों, Option Set विकल्पों, अद्वितीय आईडी, या स्थिर कोड के आसपास स्थितियां बनाएं - अनुवादित प्रदर्शन पाठ नहीं। अनुवाद से व्यक्ति जो देखता है उसे बदलना चाहिए, रिकॉर्ड की पहचान नहीं।

सर्वश्रेष्ठ: ऑब्जेक्ट की तुलना करें

Current cell's Article's Category
is Category News

विज़िटर को "वास्तविकता" दिखाई दे सकती है, लेकिन Bubble श्रेणी थिंग या Option Set विकल्प की तुलना स्वयं करता है।

केवल टेक्स्ट मिलान के लिए क्वेरी का उपयोग करें

Category name contains
GoLocal Query Categories's normalized_query

यह तब उपयुक्त है जब डेटाबेस या कोई मौजूदा स्थिति वास्तव में कैनोनिकल अंग्रेजी टेक्स्ट खोजती है।

उदाहरण श्रेणी सेट

कैनोनिकल अंग्रेजीफ़्रेंच प्रदर्शन
समाचारवास्तविकता
रायराय
ट्यूटोरियलट्यूटोरियल
मार्गदर्शिकामार्गदर्शिका
समीक्षा wएविस
इतिहासइतिहास
अन्यऑट्रे

स्वचालित रिवर्स लुकअप

फ्री रनटाइम 4.1.23 स्वचालित रूप से केवल Bubble नियंत्रणों पर रिवर्स लुकअप लागू होता है जिसका उद्देश्य मौजूदा मान का चयन करना या खोजना है:

Bubble SearchBox
Bubble ड्रॉपडाउन
विरासत Bubble MultiDropdown
वर्तमान Select2 MultiDropdown

विज़िटर प्रकार: वास्तविकता

नियंत्रण मिलान: समाचार

विज़िटर देखना जारी रखता है: वास्तविकता

प्रत्येक समर्थित नियंत्रण में अलग-अलग रिवर्स स्थिति होती है, जिसमें एक ही पृष्ठ पर कई नियंत्रण शामिल होते हैं। केवल इस अंतर्निहित व्यवहार की नकल करने के लिए GoLocal Query तत्व न जोड़ें।

Bubble SearchBox

जब विज़िटर किसी मौजूदा Bubble चीज़ को खोजता है और चुनता है तो इसका उपयोग करें। GoLocal अनुवादित वाक्यांश को SearchBox द्वारा उपयोग किए गए विहित पाठ से मेल खाने में मदद करता है।

Bubble ड्रॉपडाउन

मौजूदा स्थिर या गतिशील सूची से एकल चयन के लिए इसका उपयोग करें। चयनित विकल्प वास्तविक Bubble मान बना रहता है।

विरासत Bubble MultiDropdown

पुराने Bubble ऐप्स में कई मौजूदा विकल्पों को चुनने के लिए इसका उपयोग करें। प्रत्येक नियंत्रण को स्वतंत्र रूप से सामान्यीकृत किया जाता है।

Select2 MultiDropdown

वर्तमान खोज योग्य बहु-चयन नियंत्रणों के लिए इसका उपयोग करें। टाइप किया गया खोज टेक्स्ट सामान्य इनपुट को बदले बिना स्रोत-भाषा विकल्प लेबल से मेल खा सकता है।

एक सादा Bubble इनपुट जानबूझकर स्वचालित नहीं है। प्लगइन सुरक्षित रूप से अनुमान नहीं लगा सकता है कि इनपुट एक खोज बॉक्स है, किसी व्यक्ति का नाम, डेटाबेस शीर्षक, एक सशर्त मान, या टेक्स्ट जो सहेजा जाएगा। केवल उस विशेष इनपुट के लिए GoLocal Query जोड़ें, जिसके डाउनस्ट्रीम तर्क के लिए कैनोनिकल टेक्स्ट की आवश्यकता होती है।

का उपयोग करना GoLocal Query

जब कोई सामान्य Bubble इनपुट जानबूझकर टेक्स्ट खोज, स्रोत-भाषा सशर्त, या बैकएंड/API फ़िल्टर चलाता है, तो गैर-दृश्य GoLocal Query तत्व का उपयोग करें।

1

इसके लिए एक क्वेरी तत्व जोड़ें। इनपुट

इसे एक बार पृष्ठ पर या पुन: प्रयोज्य तत्व में रखें जो इनपुट का स्वामी है। इसे प्रत्येक दोहराव-समूह सेल में न रखें।

Element name: GoLocal Query Categories
2

इसके क्वेरी फ़ील्ड को बाइंड करें

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

Bubble डायनेमिक इनपुट मान बदलने पर स्वचालित रूप से तत्व को अपडेट करता है। किसी इनपुट-परिवर्तित वर्कफ़्लो की आवश्यकता नहीं है।

3

केवल स्रोत-भाषा तर्क में normalized_query का उपयोग करें

GoLocal Query Categories's normalized_query

इस मान का उपयोग दोहराव-समूह बाधा, उन्नत फ़िल्टर, पाठ सशर्त, या API पैरामीटर में करें जो अंग्रेजी की अपेक्षा करता है।

4

सेव और सत्यापन को इनपुट से कनेक्ट रखें

Save Category Name = Input Category Search's value

सामान्य सेव मान, ईमेल जांच, संख्या गणना, या आवश्यक-फ़ील्ड जांच को कभी भी normalized_query से न बदलें।

विज़िटर के दौरान क्या होता है प्रकार?

  1. 1इनपुट बदलता है: Bubble सटीक वर्तमान इनपुट मान को क्वेरी फ़ील्ड में भेजता है।
  2. 2डेबाउंस संक्षेप में प्रतीक्षा करता है: डिफ़ॉल्ट 180 एमएस हर एक कीस्ट्रोक के लिए अनुरोध को रोकता है।
  3. 3नवीनतम वाक्यांश सामान्यीकृत है: उदाहरण के लिए, "एक्चुअलिटेस" को "समाचार" में हल किया गया है। पुराने अधूरे अनुरोध नवीनतम परिणाम को अधिलेखित नहीं कर सकते।
  4. 4Bubble स्थिति प्राप्त करता है: normalized_query "समाचार" बन जाता है, is_normalizing नहीं बन जाता है, और सामान्यीकृत घटना सक्रिय हो जाती है।
  5. 5केवल इच्छित तर्क इसका उपभोग करता है: दोहराया जाने वाला समूह, सशर्त, या API फ़िल्टर normalized_query का उपयोग करता है; सेव अभी भी मूल इनपुट का उपयोग करते हैं।

व्यावहारिक Bubble उदाहरण

दोहराया जाने वाला समूह

फ़्रेंच इनपुट से अंग्रेजी लेख श्रेणियां खोजें

विज़िटर प्रकार वास्तविकता। डेटाबेस स्टोर करता है समाचार. दोहराए जाने वाले समूह की श्रेणी-नाम बाधा को यहां सेट करें:

GoLocal Query Categories's normalized_query

उपलब्ध होने पर श्रेणी थिंग/Option Set चयन को प्राथमिकता दें; टेक्स्ट सामान्यीकरण का उपयोग केवल तभी करें जब फ़िल्टर वास्तव में टेक्स्ट-आधारित हो।

Bubble सशर्त

हार्ड-कोडित स्रोत-भाषा मान के साथ तुलना करें

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

यदि स्थिति एक महत्वपूर्ण वर्कफ़्लो को नियंत्रित करती है, तो सामान्यीकरण समाप्त होने तक प्रतीक्षा करें। केवल-डिस्प्ले फ़िल्टरिंग के लिए, रॉ फ़ॉलबैक पर्याप्त हो सकता है।

बैकएंड या API

एक अंतिम बिंदु पर एक कैनोनिकल-भाषा क्वेरी भेजें

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

आईडी, UUIDs, ईमेल, टोकन, दिनांक और संख्यात्मक मान GoLocal Query को बायपास करके भेजा जाना चाहिए अपरिवर्तित।

पूर्ण शुरुआती वॉकथ्रू

अनुवादित श्रेणी नाम से लेखों को फ़िल्टर करें

मान लें कि ऐप अंग्रेजी में बनाया गया था। डेटाबेस फ़ील्ड श्रेणी नाम में समाचारशामिल है, लेकिन एक फ़्रेंच विज़िटर वास्तविकता सामान्य इनपुट में टाइप करता है।

1. Bubble इनपुट को स्पष्ट रूप से नाम दें
Input Category Search
2. एक गैर-दृश्य सहायक जोड़ें और उसका नाम बताएं
GoLocal Query Categories
3. हेल्पर फ़ील्ड को बाइंड करें
GoLocal Query Categories → Query
= Input Category Search's value
4. दोहराए जाने वाले समूह की पाठ बाधा सेट करें
Search for Articles
Category name = GoLocal Query Categories's normalized_query
5. वर्कफ़्लो बनाने/संपादित करने को अपरिवर्तित रखें
Create a new Article's title
= Input Article Title's value

परिणाम: विज़िटर फ़्रेंच में खोजता है, Bubble अंग्रेजी डेटाबेस मान पाता है, और उपयोगकर्ता द्वारा दर्ज किया गया कोई भी टेक्स्ट दोबारा नहीं लिखा जाता है या किसी अन्य रूप में सहेजा नहीं जाता है।

एकाधिक इनपुट वाले पृष्ठ

प्रत्येक स्वतंत्र खोज संदर्भ के लिए एक GoLocal Query उदाहरण बनाएं। प्रत्येक उदाहरण का अपना मूल्य, डिबाउंस टाइमर, अनुक्रम गार्ड, स्थिति और घटनाएं होती हैं, इसलिए एक इनपुट दूसरे को अधिलेखित नहीं कर सकता है।

इनपुट आलेख खोजGoLocal Query लेखलेख दोहराए जाने वाला समूह
इनपुट ग्राहक खोजGoLocal Query ग्राहकग्राहक API फ़िल्टर
इनपुट टैग फ़िल्टरGoLocal Query टैगटैग स्थिति
असंबद्ध इनपुट के लिए एक क्वेरी तत्व का पुन: उपयोग न करें। यदि किसी मान को पुन: प्रयोज्य-तत्व सीमा को पार करना होगा, तो उस विशिष्ट तत्व के normalized_query को एक समर्पित Bubble कस्टम स्थिति में कॉपी करें जब उसका normalized ईवेंट सक्रिय हो।

क्या अछूता रहना चाहिए

उपयोग करें GoLocal Query के लिए

  • कैनोनिकल-भाषा डेटाबेस फ़ील्ड को खोजने के लिए उपयोग किया जाने वाला फ्री-फॉर्म टेक्स्ट
  • टेक्स्ट स्थितियाँ जो एक अंग्रेजी स्थिरांक की अपेक्षा करती हैं
  • API क्वेरी पैरामीटर जिनका बैकएंड अंग्रेजी की अपेक्षा करता है
  • तृतीय-पक्ष खोज नियंत्रण जो उनकी टाइप की गई क्वेरी को Bubble पर उजागर करते हैं

इसके लिए इसका उपयोग न करें

  • नाम, शीर्षक, टिप्पणियाँ, विवरण, या उपयोगकर्ता द्वारा बनाए गए टैग सहेजे जा रहे हैं
  • Quill, रिच-टेक्स्ट, contenteditable, या मल्टीलाइन इनपुट सामग्री
  • ईमेल, पासवर्ड, फ़ोन, आईडी, दिनांक, संख्याएँ, फ़ाइलें, या सत्यापन
  • Bubble चीज़ें या Option Set ऑब्जेक्ट जिनकी तुलना की जा सकती है सीधे

सहेजी गई उपयोगकर्ता सामग्री बाद में प्रदर्शित होती है

एक संरक्षित इनपुट को बाद में भी सामान्य Bubble टेक्स्ट तत्व के अंदर प्रस्तुत किया जा सकता है। डिस्प्ले कंटेनर को पुन: प्रयोज्य वर्ग जैसे .gl-user-content के साथ चिह्नित करें और इसे मुख्य GoLocal तत्व do_not_translate_selectorsमें जोड़ें। दोहराए जाने वाले समूहों के लिए, पंक्तियों में समान HTML आईडी की नकल करने के बजाय एक वर्ग/चयनकर्ता का उपयोग करें।

फ़ील्ड, स्थितियाँ और घटनाएँ

फ़ील्ड

Querytext

एक दृश्यमान Bubble इनपुट के मान से जुड़ें।

Enabledyes/no

डिफ़ॉल्ट हाँ। अक्षम होने पर, ट्रिम किया गया पाठ अपरिवर्तित गुजरता है।

Debounce (ms)number

डिफ़ॉल्ट 180. खोज के लिए अनुशंसित सीमा 150-250 एमएस है।

राज्य

original_querytext

सामान्यीकरण से पहले Bubble से प्राप्त सटीक मान।

normalized_querytext

खोज या तुलना तर्क के लिए कैनोनिकल स्रोत-भाषा मान।

is_normalizingyes/no

हाँ जबकि नवीनतम गैर-रिक्त क्वेरी का समाधान किया जा रहा है।

normalization_foundyes/no

हां, जब स्रोत-भाषा मैपिंग मिली थी।

last_errortext

तकनीकी विफलता संदेश; सामान्य ऑपरेशन के दौरान खाली।

सामान्यीकृत

नवीनतम क्वेरी समाप्त होने के बाद सक्रिय हो जाता है। इसका उपयोग तब करें जब वर्कफ़्लो को प्रतीक्षा करनी पड़े या परिणाम को कस्टम स्थिति में कॉपी करना पड़े।

normalization_failed

तकनीकी विफलता के कारण आग लग जाती है। कच्ची क्वेरी प्रयोग करने योग्य फ़ॉलबैक के रूप में रहती है और विवरण last_error में दिखाई देते हैं।

सामान्य Bubble सेटअप का समस्या निवारण

normalized_query हमेशा कच्चे इनपुट के बराबर होता है

पुष्टि करें कि मुख्य GoLocal! तत्व मौजूद और तैयार है, प्रोजेक्ट स्रोत भाषा सही ढंग से कॉन्फ़िगर की गई है, और क्वेरी फ़ील्ड इच्छित इनपुट से बंधी है। एक अज्ञात वाक्यांश जानबूझकर कच्चे पाठ को सुरक्षित फ़ॉलबैक के रूप में उपयोग कर सकता है।

दोहराया जाने वाला समूह पिछले परिणाम को संक्षेप में दिखाता है

सख्त फ़िल्टरिंग के लिए, एक लोडिंग स्थिति दिखाएं या अंतिम खोज तभी चलाएं जब मिलान क्वेरी तत्व की is_normalizing स्थिति नहीं हो। अनुक्रम गार्ड पुराने अनुरोध को नए परिणाम को बदलने से रोकता है।

एक सहेजा गया शीर्षक या विवरण बदल गया

सेव वर्कफ़्लो normalized_query या अनुवादित डिस्प्ले टेक्स्ट को संदर्भित कर रहा है। इसे वापस मूल इनपुट, मल्टीलाइन इनपुट, या रिच-टेक्स्ट संपादक मान में बदलें। GoLocal Query केवल तर्क मिलान के लिए है।

दो इनपुट एक दूसरे के साथ हस्तक्षेप करते हैं

प्रत्येक स्वतंत्र खोज इनपुट को अपना स्वयं का GoLocal Query तत्व दें। असंबंधित इनपुट के बीच एक सहायक को गतिशील रूप से स्विच न करें।

एक तृतीय-पक्ष चयनकर्ता रिवर्स-मैच नहीं करता है

स्वचालित समर्थन Bubble SearchBox, Bubble ड्रॉपडाउन, विरासत MultiDropdown, और Select2 MultiDropdown तक सीमित है। यदि तृतीय-पक्ष नियंत्रण टाइप किए गए पाठ को Bubble पर उजागर करता है, तो उस पाठ को एक समर्पित GoLocal Query तत्व से कनेक्ट करें।

बाद में प्रदर्शित होने पर सहेजी गई उपयोगकर्ता सामग्री का अनुवाद किया जाता है

इसके डिस्प्ले कंटेनर में .gl-user-content जैसी पुन: प्रयोज्य कक्षा जोड़ें और उस चयनकर्ता को मुख्य GoLocal! पर do_not_translate_selectors में शामिल करें तत्व।

इनपुट एक दोहराए जाने वाले समूह के अंदर है

प्रत्येक सेल में एक क्वेरी तत्व न रखें और HTML आईडी की नकल न करें। दोहराए जाने वाले समूह को प्रस्तुत करने से पहले उसे फ़िल्टर करना पसंद करें; अन्यथा क्वेरी हेल्पर को दोहराए जाने वाले समूह के बाहर रखें और उसमें एक चयनित/खोज मान पास करें।

स्वीकृति चेकलिस्ट

  1. 1अंग्रेजी और फ्रेंच में एक ही रिकॉर्ड खोजें।
  2. 2जल्दी से टाइप करें और पुष्टि करें कि पुराना परिणाम कभी भी नए को प्रतिस्थापित नहीं करता है।
  3. 3इनपुट साफ़ करें और दोहराए जाने वाले समूह रीसेट की पुष्टि करें।
  4. 4जबकि इनपुट न हो तब भाषा बदलें। खाली।
  5. 5एक ही पृष्ठ पर दो स्वतंत्र खोज इनपुट का परीक्षण करें।
  6. 6उच्चारण के साथ एक फ्रेंच शीर्षक सहेजें और पुष्टि करें कि सटीक पाठ संग्रहीत है।
  7. 7टाइप करें और Quill में पेस्ट करें; किसी भी पथ को दोबारा नहीं लिखा जाना चाहिए।
  8. 8अज्ञात क्वेरी का परीक्षण करें और पुष्टि करें कि कच्चा फ़ॉलबैक पृष्ठ को उपयोग करने योग्य रखता है।
  9. 9पुष्टि करें कि प्रत्येक सेव वर्कफ़्लो मूल इनपुट मान का उपयोग करता है।
  10. 10महत्वपूर्ण स्रोत-भाषा वर्कफ़्लो की पुष्टि करें is_normalizing = संख्या की प्रतीक्षा करें।

त्वरित निर्णय नियम

प्रदर्शन और बचत का उपयोग करें इनपुट. कैनोनिकल टेक्स्ट मिलान GoLocal Query का उपयोग करता है।

यदि Bubble किसी थिंग, Option Set विकल्प, आईडी, या स्थिर कोड की तुलना कर सकता है, तो सीधे उस ऑब्जेक्ट का उपयोग करें। GoLocal Query केवल तभी जोड़ें जब अनुवादित फ्री-फॉर्म टेक्स्ट मान कैनोनिकल स्रोत-भाषा टेक्स्ट के साथ मेल खाना चाहिए।