Ciągła lokalizacja: każdy język przy każdym scaleniu.
Ciągła lokalizacja tłumaczy nowe i zmienione ciągi tekstowe w miarę zmian w kodzie, zamiast w osobnej fazie przed każdym wydaniem. Każdy język jest gotowy do wypuszczenia wraz z kodem, który go wymagał.
Czym jest ciągła lokalizacja?
Ciągła lokalizacja to sposób pracy, w którym nowe i zmienione ciągi tekstowe trafiają do tłumaczenia automatycznie zaraz po zmianie, a przetłumaczony tekst wraca do produktu bez konieczności harmonogramowania tego procesu przez kogokolwiek.
Nie ma fazy tłumaczeń, ponieważ tłumaczenie nigdy się nie kończy. Deweloper scala ciąg, tłumaczenia podążają za kodem w tym samym przepływie, a wydanie nie czeka na pliki od nikogo.
To połowa procesu ciągłego dostarczania (continuous delivery) dotycząca lokalizacji. Zespół, który scala kod codziennie, a przekazuje tłumaczenia co kilka tygodni, ma opóźnione wersje językowe przez większość każdego miesiąca. Ciągła lokalizacja zmniejsza tę lukę do czasu jednego przebiegu.
Nie oznacza to, że wyniki maszynowe są publikowane bez sprawdzenia. To Ty decydujesz, które ciągi wymagają ludzkiej weryfikacji, a wydanie może zawierać tylko te elementy, które zostały przejrzane.
Różnica polega na tym, kiedy odbywa się tłumaczenie, a nie kto je wykonuje.
| Co się zmieni | Przekazanie wsadowe | Ciągłe |
|---|---|---|
| Obok siebie | ||
| Kiedy następuje tłumaczenie | W fazie przed każdym wydaniem | Przy każdej zmianie ciągu znaków |
| Co to uruchamia | Ktoś eksportuje plik | Push, merge lub zmiana treści |
| Rozmiar każdej części | Tygodnie ciągów znaków naraz | Ciągi znaków w jednej zmianie |
| Na co czeka wydanie | Na powrót pliku | Recenzja, dla ciągów oznaczonych do niej |
| Późna zmiana kopii | Kolejna runda komunikacji | Ponowne uruchomienie tego jednego klucza |
| Z czego korzysta tłumacz | Arkusz z ciągami znaków | Wiersz wraz z terminami z glosariusza, dopasowaniami z pamięci tłumaczeń i zrzutami ekranu |
| Języki przy premierze | Stopniowo, fala po fali | Razem z funkcją |
- Kiedy następuje tłumaczenie
- W fazie przed każdym wydaniem
- Co to uruchamia
- Ktoś eksportuje plik
- Rozmiar każdej części
- Tygodnie ciągów znaków naraz
- Na co czeka wydanie
- Na powrót pliku
- Późna zmiana kopii
- Kolejna runda komunikacji
- Z czego korzysta tłumacz
- Arkusz z ciągami znaków
- Języki przy premierze
- Stopniowo, fala po fali
- Kiedy następuje tłumaczenie
- Przy każdej zmianie ciągu znaków
- Co to uruchamia
- Push, merge lub zmiana treści
- Rozmiar każdej części
- Ciągi znaków w jednej zmianie
- Na co czeka wydanie
- Recenzja, dla ciągów oznaczonych do niej
- Późna zmiana kopii
- Ponowne uruchomienie tego jednego klucza
- Z czego korzysta tłumacz
- Wiersz wraz z terminami z glosariusza, dopasowaniami z pamięci tłumaczeń i zrzutami ekranu
- Języki przy premierze
- Razem z funkcją
Jak działa ciągła lokalizacja
Śledź jeden nowy ciąg przez pętlę. Każdy etap pokazuje to, co rzeczywiście zobaczysz.
Zmiana dociera do Transglot przez CLI, GitHub Action lub aplikację na hoście Git. Pliki źródłowe są parsowane w jednym z 20 natywnych formatów, a każdy ciąg jest porównywany z tym, co projekt już posiada. Dalej idą tylko nowe i zmienione ciągi.
Dokładne dopasowanie z pamięci tłumaczeń wypełnia wiersz i nie kosztuje słów. Reszta trafia do Glossa wraz z Twoim glosariuszem, przewodnikiem po stylu i kontekstem tego klucza.
Symbole zastępcze, formy liczby mnogiej, terminy ze słownika i długość tekstu są sprawdzane w każdym wierszu każdego przebiegu. Uszkodzony symbol zastępczy, brakująca forma liczby mnogiej lub niedozwolony termin ze słownika są naprawiane raz i sprawdzane ponownie; jeśli drugi raz również nie przejdą walidacji, zostają odrzucone i nie trafiają do produkcji. Wiersz, który przekracza tylko limit długości, jest zapisywany, a od planu Team automatyczne zatwierdzanie lub przebieg QA oznacza go do przeglądu.
Przebieg nigdy nie nadpisuje wiersza edytowanego lub sprawdzonego przez osobę. Jeśli jego źródło zmieni się później, tekst pozostaje bez zmian, przebieg zlicza ten wiersz i informuje Cię o tym, a od planu Team sugerowana aktualizacja czeka obok niego na akceptację.
Aplikacje Git commitują pliki locale do jednej gałęzi synchronizacyjnej i utrzymują jeden pull request na bieżąco. Na GitHubie skomentuj /translate w pull requeście, a pliki trafią na własną gałąź tego pull requesta. Możesz też opublikować zmiany w CDN, dzięki czemu działający produkt odczyta je bez konieczności nowego wydania.
Sześć sposobów, na jakie ciągła lokalizacja może zawieść, i co zapobiega każdemu z nich
Przebieg nadpisuje pracę osoby
Każdy moduł piszący najpierw sprawdza stan wiersza: przebieg, dopasowanie z pamięci i push. Wiersz edytowany lub sprawdzony przez osobę pozostaje nienaruszony, a przebieg raportuje tę sytuację.
→fr, sprawdzone, źródło właśnie zmienione
✓zachowane, zliczone, zgłoszone
Uszkodzony ciąg znaków trafia do produkcji
Każdy wprowadzony token musi zostać zwrócony. W projekcie ICU wiadomość, która spowodowałaby błąd podczas renderowania, nie trafia do pull requesta, konektora ani pakietu CDN, a proces nadaje jej nazwę.
→{count, plural, one {# article}
✓pomijana w pliku, nazwana w procesie
Repozytorium zalewają pull requesty od botów
Jedna gałąź synchronizacji i jeden pull request na repozytorium. Dwa szybkie push'e scalają się w niej, zamiast otwierać kolejny.
→#812 #815 #819 #823 aktualizacja l10n
✓#812 transglot/sync, zaktualizowane w miejscu
Edycja źródła pozostawia stare tłumaczenia
Każdy wiersz docelowy rejestruje źródło, przeciwko któremu został napisany, więc zmieniony ciąg jest uznawany za nieaktualny we wszystkich językach jednocześnie, a ponownemu uruchomieniu podlega tylko ten klucz.
→Zapis stał się Zapisem szkicu. fr, de, ja nadal mówią Zapis
✓fr, de, ja uruchamiają się ponownie dla tego jednego klucza
Każde uruchomienie fakturowane jest za cały projekt
Uruchomienie jest skalowane zgodnie z tym, co uległo zmianie. Niezmieniony ciąg nie jest wysyłany, dokładne dopasowanie z pamięci nie kosztuje słów, a wiersz będący własnością osoby jest odrzucany przed dokonaniem jakichkolwiek opłat.
→plik zawiera 48 000 słów
✓to uruchomienie: 60 słów
Niedokończony pull request czyści plik locale
Jeśli serwer zgłosi brak wpisów dla danego locale, pull request odmawia nadpisania pliku zawierającego treść i kończy działanie kodem 1, zatrzymując pipeline.
→pull: 0 wpisów dla ja, plik zawiera 1204
✓odmowa nadpisania locales/ja.json pustym pakietem
- run 4182 fr: brakujący placeholder w szkicu, naprawiony przy ponownej próbie
- run 4182 de: zachowano 3 wiersze, są one własnością osoby
- run 4182 ja: 41 wierszy z pamięci, 0 słów
- run 4183 ar: brakująca forma liczby mnogiej po ponownej próbie, wiersz odrzucony
- pull zapisano locales/pt-BR.json
- sync transglot/sync zaktualizowany, pull request #812
Wszystkie trzy łączą się z Twoim repozytorium. Różnica polega na tym, co dzieje się podczas scalania.
Odczytano ze stron internetowych każdej firmy w dniu 5 listopada 2026 r. Wiersz z cenami pochodzi z naszych stron porównawczych, linkowanych poniżej, które pokazują plan i kalkulację. Ceny i plany ulegają zmianom, dlatego sprawdź je przed podjęciem decyzji.
| Co się dzieje | Transglot | Lokalise | Crowdin |
|---|---|---|---|
| Nowy ciąg znaków jest scalany | Tłumaczone domyślnie Wysłanie rozpoczyna proces. Ustawienie projektu wyłącza tę funkcję. | Tłumaczone po skonfigurowaniu Automatyzacje są domyślnie wyłączone przy tworzeniu kluczy i importowaniu plików. Przepływ pracy z krokiem AI uruchamia się zgodnie z harmonogramem. | Tłumaczone po włączeniu W sekcji Ustawienia, Auto-tłumaczenie, proces uruchamia się przy każdym przesłaniu. Synchronizacja Git działa domyślnie co godzinę. |
| Tłumaczenie nie przechodzi sprawdzania | Naprawione raz, potem odrzucone W przypadku uszkodzonych placeholderów, form liczbowych lub zabronionych terminów, dla każdego wiersza w każdym przebiegu. Przekroczenie długości jest zapisywane. W projekcie ICU uszkodzony wiersz zostaje wyłączony z pobierania, konektorów i CDN. | Sprawdzenie poziomu Błąd blokuje zapis w edytorze Każde sprawdzenie jest ustawione na Wyłączone, Ostrzeżenie lub Błąd. | Sprawdzenie poziomu Błąd blokuje zapis Każde sprawdzenie jest ustawione na Ostrzeżenie lub Błąd. |
| Osoba już edytowała wiersz | Proces odmawia zapisania go To samo dotyczy dopasowania z pamięci i wysyłania. Jeśli źródło zmieni się później, proces zgłasza ten wiersz. | Automatyzacje domyślnie wypełniają puste wartości Opcja wymuszenia i akcja czyszczenia nadpisują wypełnione wartości. | Opcje zachowują wiersze edytowane przez ludzi i zatwierdzone Dostępna jest również opcja zastąpienia wszystkich. |
| Pull requesty w aktywnym repozytorium | Jedna gałąź, jeden pull request Aktualizowane w miejscu przy każdym wysłaniu. | Nowa gałąź dla każdego pull requesta Nazwana ze znacznikiem czasu. | Gałąź serwisowa, synchronizowana co godzinę Co godzinę to ustawienie domyślne, a interwał można zmienić. |
| Co liczy plan | Słowa przetłumaczone, raz na język Dokładne dopasowania z pamięci nic nie kosztują. Przechowywanie ciągu znaków nic nie kosztuje. | Przetworzone słowa Liczy się język źródłowy i docelowy. | Słowa hostowane Słowa do przetłumaczenia pomnożone przez liczbę języków docelowych. |
| Co pokrywa koszty AI | Słowa w ramach planu Nie są rozliczane osobno. | Limity słów AI według planu Standardowe i Pro słowa AI to osobne pozycje w planie. | Osobny bilans lub własny klucz Zarządzane AI Crowdin jest płatne z kredytów, poza subskrypcją. |
| To samo zadanie: 5,000 ciągów w 10 językach | $39 miesięcznie Team, tłumaczenie w cenie | $1,049 miesięcznie Advanced (billed yearly) | $138 miesięcznie Pro with 560K hosted words (billed monthly), AI dodatkowo |
| GitHub, GitLab, Bitbucket, Azure Repos, CLI i serwer MCP | Wszystkie Aplikacje Git dostępne od planu Team, obejmują wersje chmurowe. | Wszystkie Integracje dostępne w każdym planie. | Wszystkie Obejmuje również Bitbucket Server. |
- Nowy ciąg znaków jest scalany
- Tłumaczone domyślnieWysłanie rozpoczyna proces. Ustawienie projektu wyłącza tę funkcję.
- Tłumaczenie nie przechodzi sprawdzania
- Naprawione raz, potem odrzuconeW przypadku uszkodzonych placeholderów, form liczbowych lub zabronionych terminów, dla każdego wiersza w każdym przebiegu. Przekroczenie długości jest zapisywane. W projekcie ICU uszkodzony wiersz zostaje wyłączony z pobierania, konektorów i CDN.
- Osoba już edytowała wiersz
- Proces odmawia zapisania goTo samo dotyczy dopasowania z pamięci i wysyłania. Jeśli źródło zmieni się później, proces zgłasza ten wiersz.
- Pull requesty w aktywnym repozytorium
- Jedna gałąź, jeden pull requestAktualizowane w miejscu przy każdym wysłaniu.
- Co liczy plan
- Słowa przetłumaczone, raz na językDokładne dopasowania z pamięci nic nie kosztują. Przechowywanie ciągu znaków nic nie kosztuje.
- Co pokrywa koszty AI
- Słowa w ramach planuNie są rozliczane osobno.
- To samo zadanie: 5,000 ciągów w 10 językach
- $39 miesięcznieTeam, tłumaczenie w cenie
- GitHub, GitLab, Bitbucket, Azure Repos, CLI i serwer MCP
- WszystkieAplikacje Git dostępne od planu Team, obejmują wersje chmurowe.
- Nowy ciąg znaków jest scalany
- Tłumaczone po skonfigurowaniuAutomatyzacje są domyślnie wyłączone przy tworzeniu kluczy i importowaniu plików. Przepływ pracy z krokiem AI uruchamia się zgodnie z harmonogramem.
- Tłumaczenie nie przechodzi sprawdzania
- Sprawdzenie poziomu Błąd blokuje zapis w edytorzeKażde sprawdzenie jest ustawione na Wyłączone, Ostrzeżenie lub Błąd.
- Osoba już edytowała wiersz
- Automatyzacje domyślnie wypełniają puste wartościOpcja wymuszenia i akcja czyszczenia nadpisują wypełnione wartości.
- Pull requesty w aktywnym repozytorium
- Nowa gałąź dla każdego pull requestaNazwana ze znacznikiem czasu.
- Co liczy plan
- Przetworzone słowaLiczy się język źródłowy i docelowy.
- Co pokrywa koszty AI
- Limity słów AI według planuStandardowe i Pro słowa AI to osobne pozycje w planie.
- To samo zadanie: 5,000 ciągów w 10 językach
- $1,049 miesięcznieAdvanced (billed yearly)
- GitHub, GitLab, Bitbucket, Azure Repos, CLI i serwer MCP
- WszystkieIntegracje dostępne w każdym planie.
- Nowy ciąg znaków jest scalany
- Tłumaczone po włączeniuW sekcji Ustawienia, Auto-tłumaczenie, proces uruchamia się przy każdym przesłaniu. Synchronizacja Git działa domyślnie co godzinę.
- Tłumaczenie nie przechodzi sprawdzania
- Sprawdzenie poziomu Błąd blokuje zapisKażde sprawdzenie jest ustawione na Ostrzeżenie lub Błąd.
- Osoba już edytowała wiersz
- Opcje zachowują wiersze edytowane przez ludzi i zatwierdzoneDostępna jest również opcja zastąpienia wszystkich.
- Pull requesty w aktywnym repozytorium
- Gałąź serwisowa, synchronizowana co godzinęCo godzinę to ustawienie domyślne, a interwał można zmienić.
- Co liczy plan
- Słowa hostowaneSłowa do przetłumaczenia pomnożone przez liczbę języków docelowych.
- Co pokrywa koszty AI
- Osobny bilans lub własny kluczZarządzane AI Crowdin jest płatne z kredytów, poza subskrypcją.
- To samo zadanie: 5,000 ciągów w 10 językach
- $138 miesięczniePro with 560K hosted words (billed monthly), AI dodatkowo
- GitHub, GitLab, Bitbucket, Azure Repos, CLI i serwer MCP
- WszystkieObejmuje również Bitbucket Server.
Rozpocznij proces tam, gdzie znajdują się Twoje teksty. Każda droga prowadzi do tego samego potoku.
Jak skonfigurować ciągłą lokalizację
- 01
Wyodrębnij ciągi znaków z kodu
Każdy ciąg widoczny dla użytkownika musi mieć stabilny klucz w pliku locale. Transglot obsługuje 20 formatów, więc zachowaj ten, którego używasz.
jsonyamlxliffarb - 02
Połącz repozytorium
Polecenie init znajduje Twoje pliki locale, loguje Cię przez przeglądarkę, przesyła istniejące dane i uruchamia pierwsze tłumaczenie.
npx transglot@latest init - 03
Uruchamiaj przy każdym scaleniu
Dodaj GitHub Action, wywołaj CLI z dowolnego innego CI lub zainstaluj aplikację dla GitHub, GitLab, Bitbucket lub Azure Repos.
transglot push --wait - 04
Określ, co wymaga udziału człowieka
Ustaw min_state na reviewed w regule pull, aby plik zawierał tylko ciągi zweryfikowane przez osobę. Jeśli to wyłączysz, wersje robocze trafią do produkcji.
min_state: reviewed
Ile kosztuje uruchamianie przy każdym scaleniu: słowa, które uległy zmianie.
Słowo to słowo źródłowe, liczone raz dla każdego języka docelowego. Rozmiar uruchomienia zależy od zmian, więc scalenie obejmujące dwanaście słów w pięciu językach daje sześćdziesiąt, niezależnie od wielkości projektu.
Mieści się w planie Starter: $19/mo, 300,000 słów miesięcznie.
To około 9% limitu.
Dotyczy tylko tłumaczeń. Kontrole jakości, wersje robocze zgodne z tonem marki oraz poprawki również liczą się jako słowa, a dokładne dopasowania z pamięci są darmowe. CLI i GitHub Action zaczynają od planu Starter, a aplikacje dla GitHub, GitLab, Bitbucket i Azure Repos od planu Team.
Trzy problemy, których ciągła lokalizacja nie rozwiązuje
Ciągi wciąż zakodowane na sztywno
Potok może tłumaczyć tylko to, co potrafi odczytać. Teksty zakodowane na sztywno oraz zdania sklecone z fragmentów wymagają wcześniejszej naprawy i są najczęstszą przyczyną zastoju we wdrażaniu.
Brak właściciela treści
Automatyzacja przenosi teksty, ale nie decyduje o nazewnictwie w produkcie. Ktoś musi zarządzać glosariuszem, inaczej język, którego nikt nie czyta, zacznie dryfować niezauważony.
Treści wymagające oceny
Teksty prawne, ceny i hasła marki wymagają ludzkiej uwagi. Przekazuj je do recenzji i trzymaj z dala od plików produkcyjnych, dopóki ktoś ich nie zatwierdzi.
Ciągła lokalizacja – często zadawane pytania
Pytania, które zespoły zadają przed uruchomieniem procesu.
Czym jest ciągła lokalizacja?
Czym ciągła lokalizacja różni się od tradycyjnej lokalizacji?
Czy ciągła lokalizacja to to samo co CI/CD?
Czy do ciągłej lokalizacji potrzebny jest potok CI/CD?
Czy ciągła lokalizacja oznacza brak recenzji przez człowieka?
Czy automatyczne uruchomienie może nadpisać edycję tłumacza?
Czy ciągła lokalizacja opłaca się małemu zespołowi?
Jak zapobiec przekroczeniu oczekiwanego kosztu uruchomienia?
Czy działa z GitLab, Bitbucket i Azure DevOps?
Czy można stosować ciągłą lokalizację bez Gita?
Czy tłumaczenia mogą być aktualizowane bez nowej wersji produktu?
Jak przenieść istniejący projekt?
41 gotowych konektorów.
Połącz repozytorium. Kolejne scalenie zajmie się resztą.
Jedno polecenie znajduje pliki lokalizacyjne, loguje Cię przez przeglądarkę i uruchamia pierwsze tłumaczenie.