Установка в контексті

Загальний огляд

Crowdin In-Context works with the help of a one-line Javascript snippet and pseudo-language package. It creates a pseudo-language package based on the localization files uploaded to your project, which later will be integrated into your application as an extra localization language.

Інтегрована псевдо-мова містить деякі спеціальні ідентифікатори замість вихідних текстів, тому при перемиканні додатка на цю мову всі мітки перетворюються в спеціальні ідентифікатори. Javascript searches for those identifiers and replaces them with editable labels. So, the In-context page of your web app will look the same as your application, with the only difference that translatable strings will be editable.

In-Context View

Translations are made directly in the app, with no need to open the Editor. As a simplified version of Crowdin Editor will be displayed, with all the functionality (TM, machine translation, approve/vote option, comments, terms) provided. Thus, it’s easier to make and review translations, as that can be previewed in a real context.

In-Context Editor

Інтеграція

Є два загальні підходи до інтеграції Crowdin In-Context у вашу програму:

  • Середовище розробки або перекладу. If you are not planning to invite your end-users to help with translations or not considering to use a “translation mode” in your production application, integrating Crowdin In-Context to your staging or dedicated translation app environment would be a good solution.
  • Виробниче середовище. Crowdin In-Context не вимагає ніяких змін коду у вашому додатку, тому його можна використовувати навіть на виробничому сервері. You decide how to turn it on and which segment of users will use it. The most common use cases are the following:
    • you can create a mirror website, that is a complete copy of your application, but under a different URL (for example, instead of crowdin.com it can be translate.crowdin.com), where translators will make translations like if it was your real application.
    • you can also add In-context as an extra language. So, when translators open your application they will be able to choose one extra language from the list, which will open In-context for them.

Follow the integration setup guide in your Crowdin project to set up In-context. The guide can be found in the left-hand panel in your project, under Resources > Integrations & API.

In-Context Tab

After the integration is successfully set up and you refreshed your application, you should be able to see the invitation dialog and Crowdin login box.

Login Window

Необов’язкові Параметри

Ви можете додати ці параметри в _jipt масив у фрагменті конфігурації.

Попереднє завантаження рядків

_jipt.push(['preload_texts', true]);

Прискорює динамічний вміст, що відображається в інструменті In-Context, для попереднього завантаження всіх рядків джерела. Автоматично вимикається для великих проектів (5000+ рядків). Можливі значення: true, false.

Кнопка переклад завжди видно

_jipt.push(['touch_optimized', true]);

Цей параметр увімкнено на сенсорних екранах за замовчуванням і робить кнопку перекладу поруч із кожним перекладеним рядком назавжди видимою, на відміну від показу під час наведення курсору. Можливі значення: true, false.

Перед здійсненням зворотного виклику

_jipt.push(['before_commit', function(source, translation, context, language_code) { return status_obj; }]);

Функція перевірки пропозиції перед виконанням.

Параметри
sourceПочатковий текст
translationТекст перекладу
contextКонтекст вихідного рядка
language_codeКод мови перекладу (коди мови)
Значення, що повертаються
status_obj Об'єкт. status_obj.status може бути "ок", "помилка" або "виправлено". У разі помилки, status_obj.message містить опис помилки. Коли статус «виправлений», status_obj.correction містить виправлений переклад

Виклик функції, перш ніж вставити в DOM

_jipt.push(['before_dom_insert', function(text, node, attribute) { return 'text'; }]);

Функція для перетворення рядка перед його вставкою в DOM.

Параметри
textРядок для вставки
node
необов'язковий
Елемент DOM, в який слід вставити текст. May be omitted if the text does not have a target element (text inside the browser's pop-ups)
attribute
необов'язковий
The attribute of DOM element, if the text is part of an attribute
Значення, що повертаються
textРядок для вставки
falseЯкщо функція повертає false, то DOM не буде оновлюватися

Виклик функції при закритті накладення In-Context

_jipt.push(['escape', function() { window.location.href = "http://app_domain.com"; }]);

Визначає, чи можуть користувачі закрити In-Context оверлей, якщо вони не хочуть перекладати. Реалізуйте цю функцію на вашому боці. It must change the app’s language or redirect from translation environment to the production app, depending on the In-Context integration approach.

Close Login Window

Ця стаття була корисною?