Dlaczego istnieje
Platforma potrzebuje wielojęzycznego dostarczania treści bez duplikowania ani rozwidlaniu podstawowego modelu treści. Obsługa tłumaczeń tworzy warianty językowe na poziomie dokumentów, powiązane z dokumentami źródłowymi, zachowując oryginalny schemat i strukturę treści.
Używaj tego, gdy
- tłumaczysz jeden lub więcej komponentów na wiele języków
- śledzisz postęp zbiorczego zadania tłumaczenia
- ponawiasz nieudane tłumaczenia
- ręcznie korygujesz tłumaczenia wygenerowane przez maszynę
- czytasz przetłumaczone treści w aplikacji dokumentacyjnej lub na stronie internetowej
- budujesz widoki dokumentów dla konkretnych języków w CMS
Co zawiera
- zbiorczy wybór komponentów i języków w CMS
- asynchroniczne zadania tłumaczeniowe z monitorowaniem postępu
- tłumaczenie dokumentów obsługiwane przez TensorZero
- automatyczne pomijanie tłumaczeń, które są już aktualne
- deduplikację identycznych aktywnych zadań tłumaczeniowych
- przywracanie postępu aktywnego zadania po nawigacji w CMS
- opcje ponawiania dla nieudanych tłumaczeń
- trwałe preferencje języka docelowego
- ręczną korektę tłumaczeń za pomocą punktu końcowego patch
- pobieranie dokumentów z uwzględnieniem języka
- hashe źródła do wykrywania nieaktualnych tłumaczeń
- kolumny i indeksy bazy danych uwzględniające tłumaczenia
Podstawowy przebieg pracy
- Otwórz stronę Components i wybierz Wyślij do tłumaczenia.
- Wybierz jeden lub więcej komponentów oraz języki docelowe.
- Sprawdź szacowaną liczbę tłumaczeń i ustaw partię w kolejce.
- Menedżer tłumaczeń wczytuje opublikowane dokumenty źródłowe i pomija tłumaczenia, których hash źródła jest już aktualny.
- Pozostałe tłumaczenia są przetwarzane asynchronicznie przez TensorZero.
- Monitoruj z poziomu CMS tłumaczenia w kolejce, ukończone, pominięte oraz zakończone niepowodzeniem.
- W razie potrzeby ponów nieudane tłumaczenia.
- Ręcznie poprawiaj przetłumaczone treści, gdy wynik wygenerowany przez maszynę wymaga korekty.
- Czytaj przetłumaczone warianty za pośrednictwem świadomych języka schematów i interfejsów API dokumentów.
Zadania tłumaczeniowe
Przesłanie partii tworzy zadanie tłumaczeniowe. Zadanie rejestruje:
- wybrane komponenty i języki
- przetworzone dokumenty źródłowe
- zaplanowane tłumaczenia
- tłumaczenia pominięte, ponieważ są już aktualne
- zakończone tłumaczenia
- nieudane tłumaczenia
- bieżący status zadania
Przesłanie tego samego wyboru, gdy równoważne zadanie jest aktywne, ponownie łączy z istniejącym zadaniem zamiast tworzyć zduplikowaną pracę.
CMS przechowuje lokalnie identyfikator aktywnego zadania, aby można było przywrócić postęp po nawigacji. Stan zadania tłumaczeniowego jest obecnie utrzymywany w pamięci przez menedżera tłumaczeń i jest czyszczony po ponownym uruchomieniu usługi. Wdrażaj usługę jako pojedynczą instancję lub używaj routingu typu sticky, aby zgłoszenia zadań i żądania statusu trafiały do tego samego procesu.
Wykrywanie nieaktualnych tłumaczeń
Każdy przetłumaczony dokument przechowuje hash opublikowanej treści dokumentu źródłowego z momentu tłumaczenia.
Gdy przesyłana jest kolejna partia tłumaczeń:
- odpowiadające sobie hashe oznaczają, że tłumaczenie jest aktualne i można je pominąć
- różne hashe wskazują, że źródło uległo zmianie i tłumaczenie należy odtworzyć
Dzięki temu zbiorcze tłumaczenie jest bezpieczne do wielokrotnego uruchamiania bez ponownego tłumaczenia niezmienionej treści.
Punkty końcowe API
POST /translation — ustaw tłumaczenia dla jednego lub więcej komponentów w kolejceGET /translation-jobs/{job_id} — odczytaj status i postęp zadania tłumaczeniowegoPATCH /translations — ręcznie koryguj przetłumaczone treści
Obszary systemu
- okno dialogowe zbiorczego tłumaczenia w CMS
- kontrolki statusu i odzyskiwania zadań tłumaczeniowych w CMS
- API menedżera tłumaczeń i pracownicy w tle
- integracja tłumaczeń z TensorZero
- widoki dokumentów w CMS dla poszczególnych języków
- ładowanie treści z uwzględnieniem języka w aplikacji dokumentacyjnej
- trwałość tłumaczeń i śledzenie hashy źródeł