Непрекъсната локализация: всеки език, при всяко сливане.
Непрекъснатата локализация превежда нови и променени низове в реално време с промените в кода, вместо в отделен етап преди всяко издание. Всеки език остава готов за пускане заедно с кода, който го изисква.
Какво е непрекъсната локализация?
Непрекъснатата локализация е начин на работа, при който новите и променените низове се изпращат за превод автоматично веднага след промяната им, а преведеният текст се връща в продукта без необходимост от ръчно планиране.
Няма отделен етап за превод, защото преводът никога не спира. Разработчикът слива низ, преводите го следват в същия поток като кода и изданието не чака файловете на никого.
Това е частта за локализация в рамките на непрекъснатото доставяне. Екип, който слива всеки ден, но предава преводи на всеки няколко седмици, има изоставащи езици през по-голямата част от месеца. Непрекъснатата локализация свежда тази разлика до времето за едно изпълнение.
Това не означава, че машинният превод се публикува непроверен. Вие решавате кои низове изискват човешка намеса и изданието може да включва само прегледаните материали.
Разликата е кога се извършва преводът, а не кой го прави.
| Какво се променя | Пакетно предаване | Непрекъснато |
|---|---|---|
| Един до друг | ||
| Кога се извършва преводът | Във фаза преди всяко издание | При всяка промяна на низ |
| Какво го задейства | Някой експортира файл | Push, merge или промяна в съдържанието |
| Размерът на всяка част | Седмици от низове наведнъж | Низовете в една промяна |
| За какво чака изданието | Файлът да се върне обратно | Преглед, само за низовете, които сте маркирали за него |
| Късна промяна в копирането | Още един кръг на връщане | Повторно изпълнение само за този ключ |
| От какво работи преводачът | Електронна таблица с низове | Редът, заедно с термините от речника, съвпаденията от паметта и екранните снимки |
| Езици при стартиране | На етапи, една вълна след друга | Заедно с функцията |
- Кога се извършва преводът
- Във фаза преди всяко издание
- Какво го задейства
- Някой експортира файл
- Размерът на всяка част
- Седмици от низове наведнъж
- За какво чака изданието
- Файлът да се върне обратно
- Късна промяна в копирането
- Още един кръг на връщане
- От какво работи преводачът
- Електронна таблица с низове
- Езици при стартиране
- На етапи, една вълна след друга
- Кога се извършва преводът
- При всяка промяна на низ
- Какво го задейства
- Push, merge или промяна в съдържанието
- Размерът на всяка част
- Низовете в една промяна
- За какво чака изданието
- Преглед, само за низовете, които сте маркирали за него
- Късна промяна в копирането
- Повторно изпълнение само за този ключ
- От какво работи преводачът
- Редът, заедно с термините от речника, съвпаденията от паметта и екранните снимки
- Езици при стартиране
- Заедно с функцията
Как работи непрекъснатата локализация
Проследете един нов низ през цикъла. На всяка стъпка ще видите какво всъщност бихте наблюдавали.
Промяната достига Transglot чрез CLI, GitHub Action или приложението на вашия Git хост. Изходните файлове се анализират в един от 20 нативни формата и всеки низ се сравнява с това, което проектът вече съдържа. Само нови и променени низове продължават напред.
Точно съвпадение от преводаческата памет попълва реда и не струва думи. Останалото отива в Glossa с вашия терминологичен речник, вашето ръководство за стил и контекста на този ключ.
Заместващите елементи, множествените форми, термините от речника и дължината се проверяват във всеки ред при всяко изпълнение. Повреден заместващ елемент, липсваща множествена форма или забранен термин от речника се поправят веднъж и се проверяват отново; ако проверката се провали втори път, преводът се отхвърля и не се публикува. Ред, който само надвишава зададената дължина, се записва, а при план Team автоматичното одобрение или QA проверка го маркират за преглед.
Едно изпълнение никога не презаписва ред, редактиран или прегледан от човек. Ако източникът му се промени по-късно, текстът остава, изпълнението брои реда и ви уведомява, а при план Team предложената актуализация чака до него някой да я приеме.
Git приложенията фиксират файловeте с локализации в един синхронизиращ клон и поддържат една заявка за сливане (pull request) актуална. В GitHub коментирайте /translate в заявка за сливане и файловете попадат в собствения ѝ клон. Или публикувайте към CDN и работещият продукт прочита промяната без никакво ново издание.
Шест начина, по които непрекъснатата локализация се обърква, и какво спира всеки от тях
Изпълнението презаписва работата на човек
Всеки писател първо проверява състоянието на реда: изпълнение, съвпадение от паметта и изпращане. Ред, редактиран или прегледан от човек, остава непроменен, а изпълнението го докладва.
→fr, прегледано, източникът е променен
✓запазено, отчетено, докладвано
Счупен низ достига до продукционна среда
Всеки токен, който влезе, трябва да излезе. При ICU проект съобщение, което би предизвикало грешка при рендиране, остава извън заявката за сливане (pull request), конектора и CDN пакета, а изпълнението го отбелязва.
→{count, plural, one {# article}
✓пропуснато във файла, отбелязано в изпълнението
Хранилището се пълни с заявки за сливане от ботове
Един клон за синхронизиране и една заявка за сливане на хранилище. Две бързи качвания се сливат в него, вместо да отварят второ.
→#812 #815 #819 #823 актуализация на l10n
✓#812 transglot/sync, актуализирано на място
Промяна в източника оставя стари преводи
Всеки целеви ред записва източника, срещу който е написан, така че променен низ се разпознава като остарял във всички езици едновременно и само този ключ се обработва отново.
→Save стана Save draft. fr, de, ja все още казват Save
✓fr, de, ja се обработват отново за този един ключ
Всяко изпълнение фактурира целия проект отново
Размерът на изпълнението се определя от промените. Незапроменен низ не се изпраща, точно съвпадение в паметта не струва думи, а ред, собственост на човек, се отказва преди всякакво разходване.
→файлът съдържа 48 000 думи
✓това изпълнение: 60 думи
Недовършена заявка за сливане изтрива файлов език
Ако сървърът докладва липса на записи за даден език, изтеглянето отказва да презапише файл със съдържание и завършва с код 1, така че процесът спира там.
→изтегляне: 0 записа за ja, файлът съдържа 1 204
✓отказ за презаписване на locales/ja.json с празен пакет
- run 4182 fr: липсващ заместител в черновата, поправен при повторен опит
- run 4182 de: 3 реда запазени, те са собственост на човек
- run 4182 ja: 41 реда от паметта, 0 думи
- run 4183 ar: липсваща множествена форма след повторен опит, редът е отказан
- pull записани locales/pt-BR.json
- sync transglot/sync актуализиран, заявка за сливане #812
И трите се свързват с вашето хранилище. Разликата е в това какво се случва при сливане.
Информацията е взета от страниците на всяка компания на 5 ноември 2026 г. Редът с цените идва от нашите сравнителни страници, свързани по-долу, които показват плана и изчисленията. Цените и плановете се променят, затова ги проверете, преди да вземете решение.
| Какво се случва | Transglot | Lokalise | Crowdin |
|---|---|---|---|
| Нов низ е обединен | Превежда се по подразбиране Изпращането стартира изпълнението. Настройка на проекта го изключва. | Превежда се след настройка Автоматизациите са изключени по подразбиране при създаване на ключ и импортиране на файл. Работен поток със стъпка за AI се изпълнява по собствен график. | Превежда се след включване В раздела „Настройки“, „Автоматичен превод“, той се изпълнява при всяко качване. Синхронизирането с Git работи на всеки час по подразбиране. |
| Преводът не преминава проверка | Еднократна корекция, след което се отказва За неправилен заместващ елемент, множествено число или забранен термин – във всеки ред на всяко изпълнение. Превишаването на дължината се записва. При ICU проект, неправилен ред остава извън изтеглянето, конекторите и CDN. | Проверка с ниво „Грешка“ спира запазването в редактора Всяка проверка е зададена като „Изключена“, „Предупреждение“ или „Грешка“. | Проверка с ниво „Грешка“ спира запазването Всяка проверка е зададена като „Предупреждение“ или „Грешка“. |
| Човек вече е редактирал реда | Изпълнението отказва да го запише Същото важи за съвпадение в паметта и за изпращане. Ако източникът се промени по-късно, изпълнението докладва реда. | Автоматизациите попълват празни стойности по подразбиране Опция за принудително презаписване и действие за изчистване презаписват попълнените стойности. | Опциите запазват човешки преведени и одобрени редове Съществува и опция за замяна на всички. |
| Заявки за изтегляне в активно хранилище | Един клон, една заявка за изтегляне Актуализира се на място при всяко изпращане. | Нов клон за всяка заявка за изтегляне Именуван с времеви печат. | Сервизен клон, синхронизиран на всеки час Всеки час е по подразбиране и интервалът може да бъде променен. |
| Какво брои планът | Преведени думи, веднъж за език Точните съвпадения от паметта са безплатни. Съхраняването на низ е безплатно. | Обработени думи Базовият език и целевият език се броят. | Хоствани думи Думи за превод, умножени по целевите езици. |
| Какво заплаща AI | Думите в плана Не се фактурира отделно. | AI квоти за думи според плана Стандартните и Pro AI думи са отделни редове в плана. | Отделен баланс или ваш собствен ключ Управляваният AI на Crowdin се заплаща с кредити, извън абонамента. |
| Една и съща задача: 5,000 низа в 10 езика | $39 на месец Team, преводът е включен | $1,049 на месец Advanced (billed yearly) | $138 на месец Pro with 560K hosted words (billed monthly), AI допълнително |
| GitHub, GitLab, Bitbucket, Azure Repos, CLI и MCP сървър | Всички тях Git приложенията започват от Team план и покриват облачните издания. | Всички тях Интеграциите са във всеки план. | Всички тях Покрива и Bitbucket Server. |
- Нов низ е обединен
- Превежда се по подразбиранеИзпращането стартира изпълнението. Настройка на проекта го изключва.
- Преводът не преминава проверка
- Еднократна корекция, след което се отказваЗа неправилен заместващ елемент, множествено число или забранен термин – във всеки ред на всяко изпълнение. Превишаването на дължината се записва. При ICU проект, неправилен ред остава извън изтеглянето, конекторите и CDN.
- Човек вече е редактирал реда
- Изпълнението отказва да го запишеСъщото важи за съвпадение в паметта и за изпращане. Ако източникът се промени по-късно, изпълнението докладва реда.
- Заявки за изтегляне в активно хранилище
- Един клон, една заявка за изтеглянеАктуализира се на място при всяко изпращане.
- Какво брои планът
- Преведени думи, веднъж за езикТочните съвпадения от паметта са безплатни. Съхраняването на низ е безплатно.
- Какво заплаща AI
- Думите в планаНе се фактурира отделно.
- Една и съща задача: 5,000 низа в 10 езика
- $39 на месецTeam, преводът е включен
- GitHub, GitLab, Bitbucket, Azure Repos, CLI и MCP сървър
- Всички тяхGit приложенията започват от Team план и покриват облачните издания.
- Нов низ е обединен
- Превежда се след настройкаАвтоматизациите са изключени по подразбиране при създаване на ключ и импортиране на файл. Работен поток със стъпка за AI се изпълнява по собствен график.
- Преводът не преминава проверка
- Проверка с ниво „Грешка“ спира запазването в редактораВсяка проверка е зададена като „Изключена“, „Предупреждение“ или „Грешка“.
- Човек вече е редактирал реда
- Автоматизациите попълват празни стойности по подразбиранеОпция за принудително презаписване и действие за изчистване презаписват попълнените стойности.
- Заявки за изтегляне в активно хранилище
- Нов клон за всяка заявка за изтеглянеИменуван с времеви печат.
- Какво брои планът
- Обработени думиБазовият език и целевият език се броят.
- Какво заплаща AI
- AI квоти за думи според планаСтандартните и Pro AI думи са отделни редове в плана.
- Една и съща задача: 5,000 низа в 10 езика
- $1,049 на месецAdvanced (billed yearly)
- GitHub, GitLab, Bitbucket, Azure Repos, CLI и MCP сървър
- Всички тяхИнтеграциите са във всеки план.
- Нов низ е обединен
- Превежда се след включванеВ раздела „Настройки“, „Автоматичен превод“, той се изпълнява при всяко качване. Синхронизирането с Git работи на всеки час по подразбиране.
- Преводът не преминава проверка
- Проверка с ниво „Грешка“ спира запазванетоВсяка проверка е зададена като „Предупреждение“ или „Грешка“.
- Човек вече е редактирал реда
- Опциите запазват човешки преведени и одобрени редовеСъществува и опция за замяна на всички.
- Заявки за изтегляне в активно хранилище
- Сервизен клон, синхронизиран на всеки часВсеки час е по подразбиране и интервалът може да бъде променен.
- Какво брои планът
- Хоствани думиДуми за превод, умножени по целевите езици.
- Какво заплаща AI
- Отделен баланс или ваш собствен ключУправляваният AI на Crowdin се заплаща с кредити, извън абонамента.
- Една и съща задача: 5,000 низа в 10 езика
- $138 на месецPro with 560K hosted words (billed monthly), AI допълнително
- GitHub, GitLab, Bitbucket, Azure Repos, CLI и MCP сървър
- Всички тяхПокрива и Bitbucket Server.
Стартирайте го откъдето и да се намират вашите низове. Всеки път води до един и същи конвейер.
Как да настроите непрекъсната локализация
- 01
Извличане на низове от кода
Всеки низ, видим за потребителя, трябва да има стабилен ключ в локалния файл. Transglot поддържа 20 формата, така че използвайте този, който вече имате.
jsonyamlxliffarb - 02
Свързване на репозиторито
Командата за инициализация открива вашите локални файлове, ви вписва през браузъра, качва това, което вече имате, и изпълнява първия превод.
npx transglot@latest init - 03
Изпълнение при всяко сливане
Добавете GitHub Action, извикайте CLI от друг CI или инсталирайте приложението за GitHub, GitLab, Bitbucket или Azure Repos.
transglot push --wait - 04
Решете какво изисква човешка намеса
Задайте min_state като reviewed в правило за pull request и този файл ще съдържа само низове, прегледани от човек. Оставете го изключено и черновите ще бъдат публикувани.
min_state: reviewed
Какво струва работата при всяко сливане: променените думи.
Една дума е изходна дума, броена веднъж за всеки целеви език. Размерът на изпълнението се определя от промените, така че сливане, което засяга дванадесет думи в пет езика, се брои като шестдесет, независимо от големината на проекта.
Влиза в Starter: $19/mo, 300,000 думи месечно.
Това е около 9% от лимита.
Това брои само превод. Проверките за качество, черновите за гласа на марката и поправките също се броят като думи, а точните съвпадения от паметта не струват нищо. CLI и GitHub Action започват от план Starter, а приложенията за GitHub, GitLab, Bitbucket и Azure Repos започват от план Team.
Три неща, които непрекъснатата локализация не решава
Низове, все още заклещени в кода
Един конвейер може да превежда само това, което може да прочете. Низове, вградени в кода, и изречения, слепени от части, трябва първо да бъдат поправени и те са обичайната причина за забавяне на внедряването.
Липса на собственик на текстовете
Автоматизацията премества низове. Тя не решава как продуктът ви нарича нещата. Някой трябва да отговаря за глосара, иначе език, който никой не чете, ще се отклонява незабелязано.
Текст, изискващ преценка
Правните текстове, ценообразуването и фирмените послания заслужават човешко внимание. Изпращайте ги за преглед и ги дръжте извън файловете за пускане, докато някой не ги одобри.
Често задавани въпроси за непрекъснатата локализация
Въпросите, които екипите задават, преди да я активират.
Какво е непрекъсната локализация?
С какво непрекъснатата локализация се различава от традиционната?
Непрекъснатата локализация същото ли е като CI/CD?
Нуждая ли се от CI/CD конвейер за непрекъсната локализация?
Означава ли непрекъснатата локализация липса на човешки преглед?
Може ли автоматизирано изпълнение да презапише редакция на преводач?
Струва ли си непрекъснатата локализация за малък екип?
Как да предотвратя разходи за изпълнение, надхвърлящи очакваното?
Работи ли с GitLab, Bitbucket и Azure DevOps?
Мога ли да правя непрекъсната локализация без Git?
Могат ли преводите да се актуализират без пускане на нова версия?
Как да прехвърля съществуващ проект?
41 конектора, вече изградени.
Свържете хранилище. Следващото сливане прави останалото.
Една команда открива файловите ви с локализации, ви вписва през браузъра и изпълнява първия превод.