Kompletny przewodnik konfiguracji
Wszystko, czego potrzebujesz, aby zainstalować, skonfigurować i używać GoLocal!, aby Twoja aplikacja Bubble.io była wielojęzyczna.
Bezpieczne dane Bubble, stabilne tłumaczenie interfejsu użytkownika i wyraźna logika wielojęzyczna
Zaktualizuj wtyczkę z Bubble Wtyczki przed przetestowaniem poniższych funkcji. Konfiguracja Project, tłumaczenia i rozliczenia pozostają dołączone do projektu GoLocal. Twórcy aplikacji nie muszą wklejać ani utrzymywać skryptu w nagłówku HTML Bubble; opublikowana wersja wtyczki zawiera obsługiwane środowisko wykonawcze.
Dane, które można edytować, pozostają nietknięte
Zwykłe wejścia, wejścia wielowierszowe, edytory Quill i inne obszary contenteditable nie są tłumaczone wstecznie podczas pisania przez użytkownika.
Wykluczenia treści do ponownego wykorzystania
Chroń wprowadzone przez użytkownika wartości bazy danych i komórki grup powtarzalnych z do_not_translate_selectors zamiast zduplikowanych identyfikatorów HTML.
Bezpieczne automatyczne wyszukiwanie wsteczne
Bubble SearchBox, Dropdown, starsze MultiDropdown i Select2 MultiDropdown mogą dopasowywać przetłumaczone wybory do wartości w języku źródłowym.
elementu GoLocal Query
Użyj jednego niezależnego elementu GoLocal Query na zwykłe wejście tylko wtedy, gdy to wejście steruje wyszukiwaniem tekstu w języku źródłowym, warunkiem lub filtrem API.
1 Zainstaluj wtyczkę
GoLocal! jest dostępny jako darmowa wtyczka na rynku Bubble.io. Za instalację nic nie płacisz — sama wtyczka kosztuje 0 USD. Rozliczenie ma zastosowanie tylko wtedy, gdy podłączysz go do projektu GoLocal! za pomocą klucza API.
Otwórz edytor Bubble → zakładkę Wtyczki.
Kliknij „+ Dodaj wtyczki” i wyszukaj „GoLocal” lub „Auto Translator”.
Zainstaluj GoLocal! — automatyczny tłumacz. Jeśli jest już zainstalowany, zaktualizuj go do najnowszej opublikowanej wersji.
Przeciągnij element GoLocal! na dowolną stronę (zazwyczaj nagłówek wielokrotnego użytku). Element jest niewidoczny.
2 Utwórz swoje konto i Project
Aby aktywować wtyczkę, potrzebujesz Klucz API. Klucze API są generowane w panelu kontrolnym GoLocal! podczas tworzenia projektu.
A 5-dniowy bezpłatny okres próbny rozpoczyna się automatycznie. Nie jest wymagana karta kredytowa. Twój Klucz API jest generowany natychmiast.
Skopiuj klucz API — będziesz go potrzebować podczas konfigurowania wtyczki w Bubble.
myapp.bubbleapps.io, wpisz dokładnie to.3 Skonfiguruj wtyczkę
Kliknij element GoLocal!. Ustaw jako minimum jedno pole:
Minimalna wymagana konfiguracja:
api_key→ wklej klucz API ze swojego projektu GoLocal!Za pomocą samego klucza API, GoLocal! ładuje konfigurację projektu, korzysta z przeglądarki odwiedzającego lub zapisanego wyboru widgetu, tłumaczy widoczny tekst interfejsu użytkownika i pokazuje przełącznik języka.
4 Pola wtyczki — odniesienie
api_keyWymaganeKlucz API Twojego projektu z panelu kontrolnego GoLocal!.
Powiązany z domeną — można go bezpiecznie uwzględnić w kodzie po stronie klienta.
source_languageOpcjonalneDwuliterowy kod oryginalnego języka aplikacji. Przykłady: en, uk, de.
Zwykle pozostaw to pole puste, jeśli język źródłowy jest już skonfigurowany w projekcie GoLocal. Ustaw tę opcję tylko wtedy, gdy celowo chcesz zastąpić wartość projektu/pracownika.
target_languageOpcjonalneZwykle pozostaw to pole puste. Widget i utrwalony wybór odwiedzającego kontrolują aktywny język podczas ładowania strony.
Wartość zakodowana na stałe, np fr wymusza ten język przy każdej inicjalizacji elementu i może zastąpić wybór odwiedzającego. Powiąż wartość dynamiczną tylko wtedy, gdy aplikacja Bubble celowo jest właścicielem stanu języka i dostarcza jeden stabilny kod języka na każdej stronie.
enabledOpcjonalnePole wyboru kontrolujące, czy tłumaczenie jest aktywne. Domyślnie: sprawdzone.
show_widgetOpcjonalnePokaż wbudowany widget zmiany języka. Domyślnie: sprawdzone. Wyłącz tę opcję tylko wtedy, gdy aplikacja Bubble zapewnia kontrolę nad własnym językiem i wywołania switch_language.
widget_positionOpcjonalnePozycja widgetu: bottom-right (domyślnie), bottom-left, top-right, top-left.
dataset_1OpcjonalnePrzetłumacz wstępnie bazę danych Bubble w celu natychmiastowego załadowania.
Format strukturalny (zalecany):
// Konfiguracja Bubble:
Wyszukaj (Kategorie):format jako tekst
Treść: {Tytuł tej kategorii; Nazwa tej kategorii; Ciało tej kategorii}
Ogranicznik: ,
// Dołącz inny typ:
:append Wyszukaj (Leki): :format jako tekst
Treść: {Tytuł tego leku; Nazwa tego leku; Recepta tego leku}
Ogranicznik: ,
Pola wewnątrz { } oddzielone przez ; — bloki oddzielone przez ,. Zobacz Zbiory danych po szczegóły.
do_not_translate_idsOpcjonalneIdentyfikatory elementów oddzielonych przecinkami do nigdy nie tłumacz. Określenie identyfikatora grupy/kontenera wyklucza wszystkie elementy podrzędne.
Przykład: user-bio, code-block, brand-section
Identyfikatory HTML muszą być unikalne. Nie używaj ponownie tego samego identyfikatora w komórkach grup powtarzalnych; zamiast tego użyj do_not_translate_selectors z klasą.
do_not_translate_selectorsOpcjonalneSelektory CSS dla treści wielokrotnego użytku lub powtarzających się, które muszą pozostać dokładnie takie, jakie są przechowywane. Pasujący element i wszystkie jego dzieci są wykluczone.
Przykłady: .gl-user-content, [data-user-content], [id^="gl-user-content-"]
Zalecane dla wartości bazy danych wprowadzonych przez użytkownika i grup powtarzalnych. Selektor klasy lub przedrostka identyfikatora może bezpiecznie dopasować wiele wierszy bez tworzenia duplikatów identyfikatorów HTML.
private_translate_idsOpcjonalneElementy, które są tłumaczone ale tłumaczenia nie są buforowane globalnie. Używaj do danych poszczególnych użytkowników (imion i nazwisk, adresów).
Przykład: user-name, order-address
Jeśli treść ma pozostać dokładnie taka, jaką wprowadził użytkownik, nie używaj tego pola. Zamiast tego wyklucz go za pomocą do_not_translate_selectors.
5 Zbiory danych — tłumaczenie bazy danych Bubble
Większość aplikacji Bubble wyświetla dane z bazy danych. Bez zbiorów danych zawartość dynamiczna jest tłumaczona przy pierwszym wyświetleniu, co powoduje widoczne opóźnienie. Zbiory danych wstępnie tłumaczą wszystko dla natychmiastowe ładowanie.
Format 1: Strukturalny — dla elementów wielopolowych (zalecany)
Owiń każdy przedmiot {}, oddziel pola za pomocą ; (średnik), użyj , jako separator między elementami.
// Bubble: Wyszukaj (kategorie): :format jako tekst
Treść: {Tytuł tej kategorii; Nazwa tej kategorii; Ciało tej kategorii}
Ogranicznik: ,
// Dołącz: wyszukaj (Leczenie): :format jako tekst
Treść: {Tytuł tego leku; Nazwa tego leku; Recepta tego leku}
Ogranicznik: ,
// Wynik: {Zdrowie; Wellness; Przewodnik...},{Uroda;Pielęgnacja skóry;Procedury...},{Aspiryna; Ulga; Weź 2x...}
{} podzielić przez ; — bloki podzielone według , — przecinki w tekście są bezpieczne.Format 2: Prosty — dla list jednowartościowych
Dla krótkich wartości bez przecinków (nazwy kategorii, tagi):
Treść: Nazwa tej kategorii Ogranicznik: ,
// Wyjście: elektronika, odzież, książki, zabawki
Ważne: Jeśli tekst może zawierać przecinki, zawsze używaj formatu strukturalnego with {field;field} opakowanie.
normalized_query tylko w filtrze lub stanie. Zobacz pełny przewodnik Bubble.6 Bubble Stany, wydarzenia i akcje
Główny element GoLocal! jest właścicielem tłumaczenia strony i udostępnia aktywny język Bubble. Użyj jego stanów w warunkach i zdarzeniach, aby rozpocząć przepływy pracy we właściwym momencie cyklu życia tłumaczenia.
1. Gotowy do działania
translator_ready = yes oznacza zainicjowanie GoLocal. Nie oznacza to, że każdy dynamiczny element Bubble zakończył tłumaczenie.
2. Zmieniono język
language_changed uruchamia się, gdy zmienia się aktywny język. Przeczytaj current_language tutaj.
3. Przejście zakończone
translation_complete uruchamia się po zakończeniu partii tłumaczeń. Zawartość dynamiczna może tworzyć późniejsze partie.
current_languagetextAktywny dwuliterowy kod języka. Użyj go do łączy PDF, warunków warunkowych Bubble i interfejsu użytkownika w języku należącym do aplikacji.
detected_languagetextWykryty język źródłowy/przeglądarki zgłoszony przez środowisko wykonawcze.
translator_readyyes/noTak, po zainicjowaniu środowiska wykonawczego tłumaczenia.
is_translatingyes/noTak, podczas gdy GoLocal przetwarza przepustkę do tłumaczenia.
translation_completeyes/noFlaga ukończenia najnowszego przebiegu.
total_textsnumberLiczba elementów tekstowych zaobserwowanych w bieżącej sesji środowiska wykonawczego.
cached_local / cached_bundle / cached_servernumberDiagnostyczne liczniki pamięci podręcznej. Przydatne do wsparcia i kontroli wydajności.
przetłumaczone / błędy / tokens_usednumberLiczniki tłumaczeń i błędów w czasie wykonywania.
last_error / preload_statustextNajnowszy błąd wykonania i stan wstępnego ładowania do celów diagnostycznych.
Działania elementów
switch_language— przejdź do wymaganego pola akcjitarget_lang, na przykładfr.Start_translation— rozpocznij lub wznów obserwację i tłumaczenie.Stop_translation— przestań obserwować i tłumaczyć, dopóki nie zaczniesz od nowa.rescan_dom— jawnie skanuj zawartość renderowaną po wyskakującym okienku Bubble, elemencie wielokrotnego użytku lub aktualizacji grupy powtarzalnej.
Przykład: pokaż francuski link do pliku PDF
Utwórz warunek Bubble dla łącza lub grupy: When GoLocal! A's current_language is "fr". Jeśli przepływ pracy musi zostać uruchomiony, gdy odwiedzający zmieni język, użyj When GoLocal! A language_changed. Nie musisz czekać translation_complete tylko po to, aby przeczytać wybrany język.
7 Dane użytkownika, formularze i grupy powtarzające się
GoLocal tłumaczy tekst interfejsu, ale dane wpisywane lub tworzone przez użytkowników muszą pozostać stabilne. Bieżące środowisko wykonawcze chroni zwykłe wejścia, wejścia wielowierszowe, edytory Quill i inne contenteditable obszarach, podczas gdy osoba pisze.
Domyślnie bezpieczny
- • Wartości wejściowe i wielowierszowe są zapisywane dokładnie tak, jak zostały wpisane.
- • Quill
.ql-editori inne edytowalne regiony są pomijane podczas pisania. - • E-maile, hasła, liczby, daty, identyfikatory i pliki powinny zawsze używać oryginalnych wartości Bubble.
Wyświetlacz wymaga wykluczenia
Gdy zapisana treść użytkownika zostanie później wyświetlona jako zwykły element tekstowy Bubble, GoLocal nie będzie wiedział, czy jest to kopia interfejsu użytkownika, czy dane użytkownika. Oznacz ten element wyświetlacza lub jego najmniejszy kontener jako strefę zakazu tłumaczenia.
Zalecana konfiguracja grupy powtarzalnej
- 1. Wybierz tylko element Tekst, który wyświetla treść użytkownika. Nie wykluczaj całej powtarzającej się grupy, jeśli jej przyciski, nagłówki i etykiety statyczne powinny mimo to zostać przetłumaczone.
- 2. Nadaj każdemu wierszowi unikalny dynamiczny identyfikator.gl-user-content-Unikalny identyfikator Rzeczy bieżącej komórki
- 3. Dodaj jeden selektor do elementu GoLocal.do_not_translate_selectors = [id^="gl-user-content-"]
Jeśli Twoja konfiguracja Bubble lub element wielokrotnego użytku może zastosować klasę niestandardową, .gl-user-content jest jeszcze prostsze. Dodaj tę klasę raz do do_not_translate_selectors.
Obsługiwane znaczniki bez tłumaczenia
Środowisko wykonawcze szanuje data-tr-skip, data-no-translate, translate="no"i zagnieżdżone .notranslate elementy. Skonfigurowane pola selektora ID i CSS pozostają najprostszą metodą natywną dla Bubble.
Pomiń a tłumaczenie prywatne
do_not_translate_* zachowuje pierwotną wartość. private_translate_ids nadal tłumaczy wartość, ale uniemożliwia współdzieloną globalną pamięć podręczną. Korzystaj z tłumaczenia prywatnego tylko wtedy, gdy treść rzeczywiście powinna zostać przetłumaczona.
home lub check_box. Jeśli ikona ma tekst, wyklucz najmniejszy kontener ikon/kontroli, aby słowo kluczowe glifów nigdy nie było tłumaczone.8 Edytor tłumaczeń i poprawki ręczne
Użyj Edytora tłumaczeń, aby uzyskać stałą kopię produktu: etykiety nawigacyjne, nagłówki, przyciski, tekst pomocy i inne frazy, które powinny mieć jedno sprawdzone tłumaczenie. Wpisy ręczne są blokowane i nie są zastępowane przez późniejsze automatyczne tłumaczenie.
Dobra korekta ręczna
Źródło Plan aktualizacji → zrecenzowana francuska fraza dotycząca produktu Popraw plan. Jest to stabilna kopia interfejsu, która należy do edytora.
Nie poprawiaj danych użytkownika po jednym wierszu na raz
Nazwa stworzona przez klienta, np Praca w miejscu zamieszkania należy wykluczyć w elemencie wyświetlającym Bubble. Dodanie tysięcy tłumaczeń tożsamości nie jest bezpiecznym zamiennikiem strefy bez tłumaczeń.
- 1. Otwórz projekt w panelu GoLocal i wybierz Tłumaczenia.
- 2. Wyszukaj dokładnie frazę źródłową i parę językową.
- 3. Edytuj wartość docelową lub użyj Dodaj tłumaczenie dla nowej dokładnej frazy źródłowej.
- 4. Zapisz. Wpis jest zaznaczony instrukcja, wersja pakietu ulegnie zmianie, a środowisko wykonawcze odświeży słownik projektu.
- 5. Przetestuj ponownie dokładną trasę Bubble, na której renderuje się fraza. Użyj
rescan_domtylko jeśli fraza pojawi się po nietypowym renderowaniu przez stronę trzecią.
en → fr, nie auto → fr. Środowisko wykonawcze żąda rozpoznanej pary źródłowej projektu.9 Jak działa tłumaczenie
GoLocal obserwuje renderowany Bubble DOM, najpierw stosuje tłumaczenia z pakietu projektu i lokalnej pamięci podręcznej i żąda tylko brakujących lub zmienionych fraz. Kontynuuje obserwację wyskakujących okienek, elementów wielokrotnego użytku i powtarzających się grup, które Bubble renderuje później.
Początkowe ładowanie strony
Środowisko wykonawcze rozpoznaje języki źródłowy i docelowy, ładuje bieżący pakiet projektu, skanuje widoczny tekst interfejsu użytkownika i ujawnia stronę dzięki wbudowanemu przepływowi zapobiegającemu migotaniu.
Tłumaczenia w pamięci podręcznej
Znane frazy są stosowane z pakietu lub pamięci podręcznej przeglądarki bez ich ponownego generowania. Zmieniona wersja pakietu unieważnia nieaktualne wartości w pamięci podręcznej.
Dynamiczna zawartość Bubble
Obserwator DOM zbiera nowo wyrenderowane wyskakujące okienka, elementy wielokrotnego użytku, grupy warunkowo widoczne i komórki grup powtarzalnych. rescan_dom jest jawnym rozwiązaniem awaryjnym.
10 Rozwiązywanie problemów i testowanie wersji
Strona resetuje się do jednego języka
Pozostaw target_language pusty na każdej stronie i element GoLocal wielokrotnego użytku, chyba że Twoja aplikacja Bubble celowo jest właścicielem tego języka. Wartość zakodowana na stałe jest ponownie stosowana podczas inicjalizacji.
Brakuje widgetu
Upewnij się, że opcja show_widget jest zaznaczona, zainstalowana jest najnowsza wersja wtyczki i tylko jeden przeznaczony element GoLocal kontroluje stronę. Następnie przetestuj poza trybem debugera krok po kroku Bubble.
Wyskakujące okienko lub nowy wiersz grupy powtarzalnej pozostaje nieprzetłumaczony
Poczekaj, aż element stanie się widoczny. Obserwator zwykle znajduje go automatycznie; jeśli element innej firmy renderuje się nietypowo, uruchom rescan_dom po wyświetleniu wyskakującego okienka lub grupy.
Zmiany wprowadzonego lub sformatowanego tekstu podczas pisania
Zaktualizuj wtyczkę, potwierdź bieżące środowisko wykonawcze i sprawdź, czy przepływ pracy zapisywania odczytuje oryginalną wartość wejściową/edytora – a nie przetłumaczony tekst wyświetlany lub normalized_query.
Tekst w języku francuskim utworzony przez użytkownika został ponownie przetłumaczony
Wyklucz wyświetlany tekst/kontener poprzez do_not_translate_selectors. Chroń najmniejszą wartość dynamiczną, a nie cały statyczny interfejs użytkownika wokół niej.
Korekcja ręczna powraca do trybu automatycznego
Bieżące wpisy ręczne są zablokowane. Upewnij się, że edytowałeś ten sam tekst źródłowy i dokładną parę językową używaną w środowisku wykonawczym, a następnie wyślij projekt, trasę, frazę i czas testowania do pomocy technicznej.
Nazwy miesięcy/dni pozostają w języku angielskim
Natywna przeglądarka lub Chrome wyboru daty Bubble są zgodne z ustawieniami regionalnymi przeglądarki/kontroli. GoLocal tłumaczy otaczające etykiety, ale nie przepisuje wewnętrznego interfejsu wyboru daty.
Chrome oferuje własne tłumaczenie stron
Wtyczka oznacza już dokument jako nieprzetłumaczony do tłumaczenia w przeglądarce, jednocześnie umożliwiając uruchomienie samego GoLocal. Zaktualizuj wtyczkę; nie dodawaj drugiego rozszerzenia tłumaczenia ani skryptu.
Tekst jest zawijany inaczej po tłumaczeniu
GoLocal zachowuje typografię Bubble. Przetłumaczone frazy mogą być dłuższe, więc sprawdź Bubble minimalną szerokość, maksymalną szerokość, wysokość dopasowania, przepełnienie i reguły responsywności w każdym punkcie przerwania.
Lista kontrolna akceptacji Bubble
- ✓Przełącz źródło → cel → źródło bez odświeżania.
- ✓Nawiguj pomiędzy wszystkimi stronami Bubble i nagłówkami wielokrotnego użytku.
- ✓Otwieraj wyskakujące okienka i ładuj wiersze grup powtarzalnych po załadowaniu strony.
- ✓Wpisz, wklej, edytuj, zapisz i ponownie otwórz pola normalnego i sformatowanego tekstu.
- ✓Przetestuj jedną wykluczoną wartość danych użytkownika w każdej powtarzającej się grupie.
- ✓Przetestuj SearchBox, menu rozwijane, starsze/Select2 MultiDropdown wyszukiwanie.
- ✓Przetestuj każdy link warunkowy i PDF/zasobu current_language.
- ✓Przetestuj ponownie Chrome, Safari, szerokość mobilną i sesję prywatną.
[GoLocal v4].11 Ceny& Rozliczenia
Trzy plany, wszystkie z nieograniczona liczba słów do tłumaczenia i nieograniczona liczba języków docelowych.
| Funkcja | Starter | Pro | Business |
|---|---|---|---|
| Cena miesięczna | $15/mo | $35/mo | $89/mo |
| Cena roczna | $149/yr | $349/yr | $890/yr |
| Języki docelowe | Nieograniczony | Nieograniczony | Nieograniczony |
| Limit MAU | 30K | 150K | 1M |
| Projects | 1 | 1 | 2 |
MAU
Wyjątkowi odwiedzający, którzy widzieli tłumaczenia. Boty zostały odfiltrowane. 10% nadwyżki za darmo, następnie dodatkowe 3/10 tys. dolarów.
Języki
Wszystkie płatne plany obejmują nieograniczoną liczbę języków docelowych bez dodatkowych opłat za język.
5-dniowy bezpłatny okres próbny
Każdy nowy projekt rozpoczyna się od bezpłatnego okresu próbnego. Nie jest wymagana karta kredytowa.
12 Partner Program
Zarabiaj polecając GoLocal!
Udostępnij swój link polecający – zarabiaj powtarzające się prowizje za każdego płacącego klienta, którego przyprowadzisz.
Zarejestruj się jako partner
Panel kontrolny → zakładka Partner → „Dołącz do partnera Program”. Zdobądź swój unikalny link polecający.
Udostępnij swój link
Blog, YouTube, forum Bubble, media społecznościowe, tutoriale lub bezpośrednio z klientami.
Zarabiaj prowizje
Prowizja cykliczna przez cały okres subskrypcji każdego poleconego użytkownika.
Zarabiaj
Poproś o wypłatę przelewem bankowym lub PayPal, gdy saldo osiągnie minimalny próg.
Gotowy, aby Twoja aplikacja była wielojęzyczna?
Zainstaluj bezpłatną wtyczkę, utwórz projekt, wklej klucz API — a Twoja aplikacja Bubble będzie mówić w każdym języku.