GoLocal!
Технічний посібник

Повний посібник із налаштування

Усе, що вам потрібно для встановлення, налаштування та використання GoLocal!, щоб зробити вашу програму Bubble.io багатомовною.

📦 Безкоштовний плагін Bubble + підписка на GoLocal! SaaS (потрібен ключ API)
поточний Вільний/API-ключ ПлагінЧас виконання 4.1.23

Безпечні дані Bubble, стабільний переклад інтерфейсу користувача та чітка багатомовна логіка

Оновіть плагін із Bubble Плагіни перш ніж тестувати наведені нижче функції. Конфігурація проекту, переклади та виставлення рахунків залишаються приєднаними до проекту GoLocal. Розробникам програм не потрібно вставляти або підтримувати сценарій у заголовку HTML Bubble; опублікована версія плагіна містить підтримуване середовище виконання.

Дані, які можна редагувати, залишаються недоторканими

Звичайні введення, багаторядкові введення, редактори Quill та інші області contenteditable не перекладаються зворотно, коли користувач вводить текст.

Виключення багаторазового вмісту

Захистіть введені користувачем значення бази даних і клітинки повторюваних груп за допомогою do_not_translate_selectors замість дубльованих ідентифікаторів HTML.

Безпечний автоматичний зворотний пошук

Bubble SearchBox, спадне меню, застарілі MultiDropdown і Select2 MultiDropdown можуть зіставляти перекладені варіанти зі значеннями вихідної мови.

Елемент GoLocal Query

Використовуйте один незалежний елемент GoLocal Query на звичайний вхід, лише якщо цей вхід керує пошуком тексту вихідною мовою, умовою або фільтром API.

Прочитайте посібник розробника GoLocal Query →

1
Встановіть плагін

GoLocal! доступний як a безкоштовний плагін на ринку Bubble.io. Ви нічого не платите за його встановлення — сам плагін коштує 0 доларів. Оплата стягується, лише коли ви підключаєте його до проекту GoLocal! за допомогою ключа API.

a

Відкрийте редактор Bubble → вкладка Плагіни.

b

Натисніть «+ Додати плагіни» та знайдіть «GoLocal» або «Автоматичний перекладач».

c

Встановіть GoLocal! — автоматичний перекладач. Якщо його вже встановлено, оновіть його до останньої опублікованої версії.

d

Перетягніть елемент GoLocal! на будь-яку сторінку (зазвичай заголовок для багаторазового використання). Елемент невидимий.

💡
Найкраща практика: Помістіть GoLocal! на a елемент багаторазового використання (верхній/нижній колонтитул), який з’являється на кожній сторінці.

2
Створіть свій обліковий запис і проект

Щоб активувати плагін, вам потрібен Ключ API. Ключі API генеруються на інформаційній панелі GoLocal! під час створення проекту.

a
Перейти до goinglocal.online/dashboard і ввійдіть за допомогою Google. Миттєво — без форм.
b
Натисніть "Новий проект". Введіть назву проекту, домен, вихідну мову та цільові мови.
в

А 5-денна безкоштовна пробна версія запускається автоматично. Кредитна картка не потрібна. ваш Ключ API генерується негайно.

d

Скопіюйте ключ API — він вам знадобиться під час налаштування плагіна в Bubble.

⚠️
Домен має точно збігатися. Ключ API прив’язаний до вказаного домену. Якщо ваша програма Bubble працює на myapp.bubbleapps.io, введіть саме це.

3
Налаштуйте плагін

Натисніть на елемент GoLocal!. Як мінімум набір одне поле:

Мінімальна необхідна настройка:

api_key→ вставте ключ API із вашого проекту GoLocal!

За допомогою лише ключа API GoLocal! завантажує конфігурацію проекту, використовує браузер відвідувача або збережений вибір віджетів, перекладає видимий текст інтерфейсу користувача та показує перемикач мов.

4
Поля плагіна — довідка

api_keyОбов'язковий

Ключ API вашого проекту з інформаційної панелі GoLocal!.

Прив’язаний до домену — безпечно включити в код клієнта.

source_languageДодатково

Двобуквений код оригінальної мови вашої програми. приклади: en, uk, de.

Зазвичай залишають це поле порожнім, якщо вихідну мову вже налаштовано в проекті GoLocal. Встановлюйте його лише тоді, коли вам навмисно потрібно змінити значення проекту/Worker.

target_languageДодатково

Зазвичай це поле залишають порожнім. Віджет і постійний вибір відвідувача контролюють активну мову під час завантаження сторінки.

Жорстко закодоване значення, наприклад fr примушує цю мову щоразу, коли елемент ініціалізується, і може перевизначати вибір відвідувача. Прив’язуйте динамічне значення лише тоді, коли ваша програма Bubble навмисно володіє станом мови та надає один стабільний код мови на кожній сторінці.

enabledДодатково

Прапорець, який визначає, чи активний переклад. За замовчуванням: перевірено.

show_widgetДодатково

Показати вбудований віджет перемикання мов. За замовчуванням: перевірено. Вимикайте його лише тоді, коли ваша програма Bubble надає власні мовні елементи керування та виклики switch_language.

widget_positionДодатково

Позиція віджета: bottom-right (за замовчуванням), bottom-left, top-right, top-left.

dataset_1Додатково

Попередньо перекладіть свою базу даних Bubble для миттєвого завантаження.

Структурований формат (рекомендовано):

// Налаштування Bubble:

Виконайте пошук за (Категорії) :format as text

Зміст: {Назва цієї категорії ; Назва цієї категорії ; Тіло цієї категорії}

роздільник: ,

// Додаємо інший тип:

:append Виконайте пошук (Cures) :format як текст

Зміст: {Назва цього засобу; Назва цього засобу; Рецепт цього лікування}

роздільник: ,

Поля всередині { } розділені ; — блоки, розділені ,. див Набори даних для деталей.

do_not_translate_idsДодатково

Ідентифікатори елементів, розділених комами ніколи не перекладати. Зазначення ідентифікатора групи/контейнера виключає всіх дочірніх елементів.

приклад: user-bio, code-block, brand-section

Ідентифікатори HTML мають бути унікальними. Не використовуйте один і той самий ідентифікатор у клітинках повторюваних груп; замість цього використовуйте do_not_translate_selectors з класом.

do_not_translate_selectorsДодатково

Селектори CSS для повторно використовуваного або повторюваного вмісту, який має залишатися таким, як зберігається. Відповідний елемент і всі його дочірні елементи виключаються.

приклади: .gl-user-content, [data-user-content], [id^="gl-user-content-"]

Рекомендовано для введених користувачем значень бази даних і повторюваних груп. Селектор класу або префікса ідентифікатора може безпечно відповідати багатьом рядкам без створення дублікатів ідентифікаторів HTML.

private_translate_idsДодатково

Елементи, які перекладаються але переклади не кешуються глобально. Використовуйте для даних кожного користувача (імена, адреси).

приклад: user-name, order-address

Якщо вміст має залишатися таким, яким його ввів користувач, не використовуйте це поле. Виключіть його за допомогою do_not_translate_selectors.

5
Набори даних — переклад вашої бази даних Bubble

Більшість програм Bubble відображають дані з бази даних. Без наборів даних динамічний вміст перекладається під час першого перегляду, що спричиняє видиму затримку. Набори даних попередньо перекладають усе для миттєве завантаження.

Формат 1: структурований — для багатопольових елементів (рекомендовано)

Загорніть кожен предмет {}, окремі поля с ; (крапка з комою), вживати , як роздільник між елементами.

// Bubble: Виконайте пошук (Категорії) :формат як текст

Зміст: {Назва цієї категорії ; Назва цієї категорії ; Тіло цієї категорії}

роздільник: ,

// Append: Виконайте пошук (Cures) :format як текст

Зміст: {Назва цього засобу; Назва цього засобу; Рецепт цього лікування}

роздільник: ,

// Результат: {Здоров'я;Здоров'я;Посібник...},{Краса;Догляд за шкірою;Рутини...},{Аспірин; Полегшення; Прийняти 2 рази...}

ключ: Поля всередині {} розділити на ; — блоки, розділені на , — коми у вашому тексті безпечні.

Формат 2: простий — для списків з одним значенням

Для коротких значень без ком (назви категорій, теги):

Зміст: Назва цієї категорії роздільник: ,

// Вихід: електроніка, одяг, книги, іграшки

Важливо: Якщо текст може містити коми, завжди використовуйте структурований формат із {field;field} обгортання.

💡
Вам не потрібно зберігати переклади у своїй базі даних Bubble. GoLocal! автоматично перекладає та кешує все. Ваша база даних залишається однією мовою.
💡
Багатомовний пошук навмисно обмежений. Автоматичний зворотний пошук доступний для Bubble SearchBox, Dropdown, застарілих MultiDropdown і Select2 MultiDropdown. Для звичайного вводу, який фільтрує текст вихідною мовою, додайте один GoLocal Query елемент і використовувати його normalized_query тільки у фільтрі або стані. Перегляньте повний посібник Bubble.

6
Bubble Стани, події та дії

Основний елемент GoLocal! володіє перекладом сторінок і надає активну мову Bubble. Використовуйте його стани в умовах і його події, щоб почати робочі процеси в правильній точці життєвого циклу перекладу.

1. Готове середовище виконання

translator_ready = yes означає ініціалізацію GoLocal. Це не означає, що кожен динамічний елемент Bubble завершив переклад.

2. Мова змінена

language_changed спрацьовує, коли змінюється активна мова. Прочитайте current_language тут.

3. Передача завершена

translation_complete запускається після завершення пакета перекладу. Динамічний вміст може створювати пізніші пакети.

Оголені стани
current_languagetext

Активний двобуквений код мови. Використовуйте його для посилань на PDF, умовних символів Bubble і мови інтерфейсу користувача програми.

detected_languagetext

Виявлена ​​вихідна мова/мова веб-переглядача, яку повідомляє середовище виконання.

translator_readyyes/no

Так після ініціалізації середовища виконання перекладу.

is_translatingyes/no

Так, поки GoLocal обробляє пропуск перекладу.

translation_completeyes/no

Прапор завершення для останнього проходу.

total_textsnumber

Кількість текстових елементів, спостережених у поточному сеансі виконання.

cached_local / cached_bundle / cached_servernumber

Лічильники діагностичного кешу. Корисно для підтримки та перевірки продуктивності.

перекладено / помилки / tokens_usednumber

Переклад часу виконання та лічильники помилок.

last_error / preload_statustext

Остання помилка виконання та стан попереднього завантаження для діагностики.

Дії елементів

  • switch_language — перейти до потрібного поля дії target_lang, наприклад fr.
  • Start_translation — почати або відновити спостереження та переклад.
  • Stop_translation — припинити спостереження та переклад до перезапуску.
  • rescan_dom — явно сканувати вміст, відтворений після спливаючого вікна Bubble, повторно використовуваного елемента або повторюваного оновлення групи.

Приклад: показати посилання на PDF-файл французькою мовою

Створіть умову Bubble для посилання або групи: When GoLocal! A's current_language is "fr". Якщо робочий процес має запускатися, коли відвідувач змінює мову, використовуйте When GoLocal! A language_changed. Вам не потрібно чекати translation_complete лише для читання вибраною мовою.

⚠️
GoLocal Query є окремим елементом. Він не замінює основний елемент GoLocal!, а його стани не є частиною основного елемента. Додайте його лише для певного звичайного вводу, чия логіка Bubble для низхідної течії потребує текстового значення вихідної мови. Відкрийте повний посібник із запитів.

7
Дані користувача, форми та повторювані групи

GoLocal перекладає текст інтерфейсу, але дані, які вводять або створюють ваші користувачі, мають залишатися стабільними. Поточне середовище виконання захищає звичайні введення, багаторядкові введення, редактори Quill та інші contenteditable області, поки людина друкує.

Безпечний за умовчанням

  • • Значення введення та багаторядкового введення зберігаються точно так, як вони введені.
  • • Quill .ql-editor та інші редаговані області пропускаються під час введення.
  • • Електронні адреси, паролі, числа, дати, ідентифікатори та файли завжди мають використовувати оригінальні значення Bubble.

Дисплей потребує виключення

Коли збережений вміст користувача пізніше відображається звичайним елементом Bubble Text, GoLocal не може знати, чи це копія інтерфейсу користувача чи дані користувача. Позначте цей елемент відображення або його найменший контейнер як зону без перекладу.

Рекомендоване налаштування повторюваної групи

  1. 1. Виберіть лише елемент Text, який відображає вміст користувача. Не виключайте всю повторювану групу, якщо її кнопки, заголовки та статичні мітки мають перекладатися.
  2. 2. Надайте кожному рядку унікальний динамічний ідентифікатор.
    gl-user-content-Унікальний ідентифікатор поточної клітинки Thing
  3. 3. Додайте один селектор до елемента GoLocal.
    do_not_translate_selectors = [id^="gl-user-content-"]

Якщо ваші налаштування Bubble або багаторазовий елемент можуть застосувати спеціальний клас, .gl-user-content ще простіше. Додайте цей клас один раз до do_not_translate_selectors.

Підтримувані маркери без перекладу

Час виконання поважає data-tr-skip, data-no-translate, translate="no", і вкладені .notranslate елементів. Сконфігурований ідентифікатор і поля вибору CSS залишаються найпростішим власним методом Bubble.

Пропустити проти приватного перекладу

do_not_translate_* зберігає первісну вартість. private_translate_ids усе ще перекладає значення, але запобігає спільному глобальному кешу. Використовуйте приватний переклад лише тоді, коли вміст має бути перекладено справді.

⚠️
Ніколи не дублюйте ідентифікатор HTML у групі, що повторюється. Подвійний ідентифікатор може призвести до непередбачуваного збігу селектора або виключення більшої області, ніж заплановано. Використовуйте клас, атрибут даних або динамічний ідентифікатор, що містить унікальний ідентифікатор речі.
💡
Піктограми матеріалів і спеціальні елементи керування гліфами: деякі піктограми Bubble або сторонніх розробників відображаються з буквальних імен гліфів, таких як home або check_box. Якщо піктограма має текстову підтримку, виключіть найменшу піктограму/контейнер керування, щоб ключове слово гліф ніколи не перекладалося.

8
Редактор перекладу та виправлення вручну

Використовуйте Редактор перекладів для фіксованої копії продукту: навігаційних міток, заголовків, кнопок, довідкового тексту та інших фраз, які повинні мати один перевірений переклад. Записи, введені вручну, заблоковані й не замінюються пізнішим автоматичним перекладом.

Хороша ручна корекція

Джерело План оновлення → відгук французької фрази продукту Améliorer le plan. Це стабільна копія інтерфейсу, яка належить до редактора.

Не виправляйте дані користувача по рядку за раз

Назва, створена клієнтом, наприклад Travail à domicile має бути виключено в елементі відображення Bubble. Додавання тисяч перекладів ідентичності не є безпечною заміною зони без перекладу.

  1. 1. Відкрийте проект на інформаційній панелі GoLocal і виберіть Переклади.
  2. 2. Знайдіть точну вихідну фразу та мовну пару.
  3. 3. Відредагуйте цільове значення або використовуйте Додати переклад для нової точної вихідної фрази.
  4. 4. зберегти. Запис позначено посібник, версія комплекту змінюється, а середовище виконання оновлює словник проекту.
  5. 5. Повторно перевірте точний маршрут Bubble, де відображається фраза. використання rescan_dom лише якщо фраза з’являється після незвичайного відтворення третьої сторони.
💡
Точна пара вихідна мова має значення. Якщо вихідною мовою проекту є англійська, додайте ручну пару як en → fr, ні auto → fr. Середовище виконання запитує вихідну пару проекту.

9
Як працює переклад

GoLocal спостерігає за відтвореним Bubble DOM, спочатку застосовує переклади з комплекту проекту та локального кешу та запитує лише відсутні або змінені фрази. Він продовжує спостерігати за спливаючими вікнами, повторно використовуваними елементами та повторюваними групами, які Bubble рендерить пізніше.

1

Початкове завантаження сторінки

Середовище виконання визначає вихідну та цільову мови, завантажує поточний пакет проекту, сканує видимий текст інтерфейсу користувача та розкриває сторінку за допомогою вбудованого потоку запобігання мерехтіння.

2

Кешовані переклади

Відомі фрази застосовуються з комплекту чи кешу браузера без їх повторного створення. Змінена версія комплекту робить недійсними застарілі кешовані значення.

3

Динамічний вміст Bubble

Спостерігач DOM виявляє нещодавно відтворені спливаючі вікна, багаторазово використовувані елементи, умовно видимі групи та клітинки повторюваних груп. rescan_dom є явним резервним варіантом.

Анти-мерехтіння вбудовано в опубліковане середовище виконання плагіна. Розробники програм оновлюють плагін із вкладки Плагіни Bubble; вони не вставляють сценарій GoLocal у заголовок HTML програми. Тайм-аут безпеки завжди відкриває сторінку, навіть якщо мережевий запит не вдається.

10
Усунення несправностей і тестування випуску

Сторінка скидається на одну мову

Залиште target_language порожнім на кожній сторінці та багаторазовому елементі GoLocal, якщо ваша програма Bubble навмисно не володіє мовою. Жорстко закодоване значення повторно застосовується під час ініціалізації.

Віджет відсутній

Переконайтеся, що show_widget позначено, встановлено найновішу версію плагіна, і лише один призначений елемент GoLocal керує сторінкою. Потім протестуйте поза режимом покрокового налагодження Bubble.

Спливаюче вікно або новий повторюваний рядок групи залишаються неперекладеними

Зачекайте, поки елемент стане видимим. Спостерігач зазвичай знаходить його автоматично; якщо сторонній елемент відображається незвично, запустіть rescan_dom після того, як буде показано спливаюче вікно або групу.

Введений або форматований текст змінюється під час введення

Оновіть плагін, підтвердьте поточне середовище виконання та переконайтеся, що робочий процес збереження зчитує вихідне значення вводу/редактора, а не перекладений текст або normalized_query.

Французький текст, створений користувачем, перекладається знову

Виключіть відображуваний текст/контейнер через do_not_translate_selectors. Захистіть найменше динамічне значення, а не весь статичний інтерфейс навколо нього.

Ручна корекція повертається до автоматичного

Поточні ручні записи заблоковано. Переконайтеся, що ви відредагували той самий вихідний текст і точну мовну пару, що використовується середовищем виконання, а потім надішліть проект, маршрут, фразу та час тестування до служби підтримки.

Назви місяців/днів залишаються англійською

Власний браузер або засіб вибору дати Bubble chrome відповідає локалі браузера/контролю. GoLocal перекладає навколишні мітки, але не переписує внутрішній інтерфейс користувача вибору дати.

Chrome пропонує власний переклад сторінок

Плагін уже позначає документ як notranslate для перекладу в браузері, дозволяючи самому GoLocal працювати. Оновіть плагін; не додавайте друге розширення перекладу або сценарій.

Після перекладу текст переноситься інакше

GoLocal зберігає типографіку Bubble. Перекладені фрази можуть бути довшими, тому перевіряйте мінімальну ширину Bubble, максимальну ширину, висоту підгонки, переповнення та адаптивні правила на кожній точці зупину.

Контрольний список приймання Bubble

  • ✓Перемикайте джерело → ціль → джерело без оновлення.
  • ✓Перехід між усіма сторінками Bubble і багаторазовими заголовками.
  • ✓Відкривати спливаючі вікна та завантажувати повторювані рядки груп після завантаження сторінки.
  • ✓Вводьте, вставляйте, редагуйте, зберігайте та знову відкривайте звичайні та форматовані текстові поля.
  • ✓Перевірте одне виключене значення даних користувача всередині кожної повторюваної групи.
  • ✓Перевірте SearchBox, спадне меню, пошук застарілих/Select2 MultiDropdown.
  • ✓Перевірте кожну умову current_language і посилання на PDF/ресурс.
  • ✓Повторно протестуйте Chrome, Safari, мобільну ширину та приватний сеанс.
💡
Корисні докази підтримки: надішліть точну поточну URL-адресу або URL-адресу тестової версії, назву проекту, вихідну та цільову мови, тип ураженого елемента Bubble, кроки для відтворення, час тестування з часовим поясом, знімок екрана та рядки консолі, що починаються з [GoLocal v4].

11
Ціноутворення& Платежі

Три плани, всі с необмежену кількість слів перекладу та необмежену кількість цільових мов.

ОсобливістьStarterProBusiness
Ціна за місяць$15/mo$35/mo$89/mo
Річна ціна$149/yr$349/yr$890/yr
Цільові мовиНеобмеженийНеобмеженийНеобмежений
Ліміт MAU30K150K1M
Проекти112

MAU

Унікальні відвідувачі, які бачили переклади. Боти відфільтровані. 10% безкоштовно, а потім 3/10 тис. доларів додатково.

Мови

Усі платні плани включають необмежену кількість цільових мов без додаткової плати за мову.

5-денна безкоштовна пробна версія

Кожен новий проект починається з безкоштовної пробної версії. Кредитна картка не потрібна.

12
Партнерська програма

Заробляйте гроші, рекомендуючи GoLocal!

Поділіться своїм реферальним посиланням — заробіть періодичні комісії за кожного клієнта, якого ви платите.

1

Зареєструватися як партнер

Інформаційна панель → вкладка «Партнер» → «Приєднатися до партнерської програми». Отримайте своє унікальне реферальне посилання.

2

Поділіться своїм посиланням

Блог, YouTube, форум Bubble, соціальні мережі, навчальні посібники або безпосередньо з клієнтами.

3

Заробляйте комісійні

Періодична комісія протягом усього терміну дії підписки кожного рекомендованого користувача.

4

Отримайте гроші

Надішліть запит на виплату за допомогою банківського переказу або PayPal, коли баланс досягне мінімального порогу.

💡
Ідеально підходить для агентств Bubble: Рекомендуйте клієнтам GoLocal!. Ви отримуєте пасивний дохід, вони – професійний переклад.

Готові зробити свою програму багатомовною?

Установіть безкоштовний плагін, створіть проект, вставте свій ключ API — і ваша програма Bubble розмовлятиме всіма мовами.