Dziesięć języków w trzy dni: notatki z placu boju – lokalizacja produktu do tłumaczeń AI
W jeden długi weekend przetłumaczyliśmy Transept na niemiecki, ukraiński, chiński, portugalski, francuski, hiszpański, czeski, włoski, polski i turecki. Zrobiliśmy to tak, jak radzimy naszym użytkownikom: z wykorzystaniem tłumaczenia maszynowego wspartego kontekstem, ustaloną terminologią i ludzką korektą. Oto zebrane po drodze wnioski dotyczące reguł liczby mnogiej, zmian rejestru, niuansów typograficznych i atrybutów hreflang.


Na tej stronie
Od piątkowego poranka do niedzielnego wieczoru na początku lipca Transept zmienił się z produktu wyłącznie anglojęzycznego w narzędzie obsługujące jedenaście języków. Najpierw wdrożyliśmy wersje niemiecką, ukraińską i chińską, a tuż po nich portugalską (brazylijską). Następnego dnia dołączyły francuski, hiszpański, czeski, włoski i polski, a w niedzielę stawkę zamknął turecki.
Tworzymy narzędzie do tłumaczeń AI. Pozostanie wyłącznie przy angielszczyźnie byłoby cichym przyznaniem, że sami nie wierzymy w to, co obiecujemy. Zlokalizowaliśmy więc produkt tak, jak radzimy naszym użytkownikom: wykorzystując tłumaczenie maszynowe do pracy na dużą skalę, ludzki osąd do podejmowania decyzji oraz pamięć o każdym wyborze, by raz podjętej decyzji nigdy nie trzeba było powtarzać.
Każdy język oznaczał około 3300 fraz w aplikacji, kolejne 3000 na stronie marketingowej i w centrum pomocy, sześć stron z dokumentacją prawną oraz wszystkie e-maile wysyłane przez system. Ten wpis to nasze notatki z placu boju: o tym, co nas zaskoczyło, w jakie pułapki wpadliśmy i o kilku błędach, które wyłapaliśmy w ostatniej chwili. Jeśli planujesz lokalizację produktu lub zajmujesz się tłumaczeniami zawodowo i chcesz zobaczyć, jak wygląda lokalizacja oprogramowania „od kuchni”, to tekst dla Ciebie.
Dlaczego po prostu nie przepuściliśmy wszystkiego przez Tłumacza Google
To zasadne pytanie na początek. Tłumaczenie maszynowe jest tanie i błyskawiczne; każdą tabelę fraz na świecie można przepuścić przez API w jedno popołudnie. Dlaczego więc tego nie zrobiliśmy?
Bo spróbowaliśmy czegoś bardzo podobnego i wyłapaliśmy błąd we własnym produkcie, zanim zrobił to jakikolwiek użytkownik. Przy pierwszym podejściu do stron marketingowych potraktowaliśmy je tak, jak dzieje się to w większości procesów lokalizacji: jako arkusz odizolowanych komórek, pogrupowanych według rozmiaru, gdzie każda linijka była tłumaczona „w ciemno”. Wynik był poprawny gramatycznie i wiarygodny, a jednak subtelnie martwy. Nagłówek i dopełniające go hasło zostały przetłumaczone w dwóch osobnych zapytaniach, które nigdy się ze sobą nie „spotkały”. Odpowiedź w sekcji FAQ nie „znała” swojego pytania. Dwie kolumny w tabeli porównawczej rozjechały się, bo żadna nie wiedziała o istnieniu drugiej. Tymczasem interfejs aplikacji, gdzie każda fraza została przygotowana wraz z notatką o kontekście, brzmiał zauważalnie lepiej w każdym języku. Ten sam model, ten sam dzień, ten sam proces. Różnicę zrobił kontekst.
To stało się żelazną zasadą: model widzi spójne całości, nigdy wymieszane fragmenty, a każda fraza wędruje z notatką o tym, gdzie się pojawia i co robi użytkownik, gdy ją widzi. „Przycisk zapisu” to nie jest notatka o kontekście. „Ogólna etykieta przycisku zapisu przy każdym zatwierdzeniu formularza; użytkownik właśnie edytował wartość i ją zatwierdza” – to już nią jest. Pisze się ją dla tłumacza, który nigdy nie widział aplikacji na oczy, i nie ma znaczenia, czy tym tłumaczem jest człowiek, czy model: bez niej obaj produkują śmieci, a z nią – stają się zadziwiająco dobrzy.
Jakość tłumaczenia zależy od kontekstu bardziej niż od samego tłumacza. Każdy praktykujący tłumacz to potwierdzi. Okazuje się, że to samo dotyczy maszyn. I bardzo dobrze, bo dostarczanie maszynie większej ilości kontekstu skaluje się lepiej niż jej strofowanie.
Branżowa nazwa modelu pracy, na który ostatecznie postawiliśmy, to MTPE, czyli machine translation post-editing (postedycja tłumaczenia maszynowego). Maszyna wykonuje pierwszą wersję całości, a ludzie weryfikują ją tam, gdzie kluczowa jest precyzja. MTPE działa jednak tylko w jednej kolejności: człowiek decyduje, maszyna wykonuje, człowiek sprawdza. Najpierw zapadają decyzje. I tak dochodzimy do języka niemieckiego.
du czy Sie: rejestr to decyzja produktowa
Niemiecki był naszym pierwszym językiem i już kilka godzin po wdrożeniu dał nam pierwszą cenną lekcję.
W języku niemieckim istnieją dwa sposoby zwracania się do odbiorcy: nieformalne du i formalne Sie. Zaczęliśmy od du: przyjaznego, w startupowym stylu – to rejestr, którego używa połowa aplikacji w twoim telefonie. Potem jednak przyjrzeliśmy się naszej rzeczywistej grupie docelowej (zawodowi tłumacze, agencje, zespoły prawne) i jeszcze tego samego dnia przestawiliśmy cały produkt na Sie.
Ta lekcja uświadomiła nam, ile kosztuje zmiana rejestru: oznacza ona konieczność przetłumaczenia wszystkiego od nowa. Wybór zaimka rzutuje na koniugację czasowników, tryb rozkazujący, formy dzierżawcze, a nawet wielkość liter. Próba łatania tego fraza po frazie kończy się niespójnym bałaganem: zdaniem z Sie, w środku którego czai się czasownik dopasowany do du. Przetłumaczyliśmy więc wszystkie teksty od zera, a potem przeszukaliśmy je grepem pod kątem zdradzieckich rdzeni du/dein/dich, by upewnić się, że zmiana weszła wszędzie.

Niemiecka strona główna. H**asło marki, „Gdzie każda decyzja staje się pamięcią”, okazało się tezą na temat samej lokalizacji.
Od tamtej pory wybór rejestru to pierwsza kwestia, jaką rozstrzygamy przy każdym nowym języku, zanim przetłumaczymy choćby jedną frazę – bo rzutuje on na sześć tysięcy z nich. W hiszpańskim postawiliśmy na grzecznościowe usted i wariant europejski zamiast latynoamerykańskiego, by zachować spójność z niemieckim Sie i francuskim vous. We włoskim padło na grzecznościowe Lei. A polski? Cóż, polski zasługuje na osobny rozdział.
Zasady liczby mnogiej, o których nikt nie ostrzega
Każdy zespół lokalizujący anglojęzyczne oprogramowanie wpada w tę samą pułapkę: angielska liczba mnoga jest tak prosta, że format twoich fraz przewiduje pewnie tylko dwa warianty: jeden element i wiele elementów. Niemiecki działa identycznie, co jeszcze bardziej uśpi twoją czujność. Aż w końcu dodajesz język słowiański i całe sekcje interfejsu po cichu wracają do wersji angielskiej.
Ukraiński – mój język ojczysty i ten, w którym miałem najmniej wymówek – ma cztery kategorie liczby mnogiej. Jeden dokument. Dwa, trzy, cztery dokumenty w innej formie. Od pięciu do dwudziestu w trzeciej. Ułamki w czwartej. Nasza tabela fraz zawierała tylko dwie formy skrojone pod angielski, więc przy liczbach 2, 3, 4, 5, 11, 22 (czyli większości liczb, które użytkownik faktycznie widzi), aplikacja serwowała angielski. Około osiemdziesięciu fraz (kredyty, dokumenty, członkowie, pliki) – każda była widocznym szwem biegnącym przez środek ukraińskiego zdania.

*Notatka z dnia, w którym to odkryliśmy. „*Przełącza się na angielski – bardzo widoczny błąd” to inżynieryjne niedomówienie.
Rozwiązanie jest koncepcyjnie proste (należy zapewnić każdą formę liczby mnogiej, jaką definiuje gramatyka danego języka, a nie tylko te dwie, które ma angielski), ale przegląd tego, czym te formy są, stał się moim ulubionym zbiorem ciekawostek z całego projektu:
| Język | Kategorie liczby mnogiej | Zaskoczenie |
|---|---|---|
| Niemiecki | 2 | Brak. Na tym polega pułapka: utwierdza w przekonaniu, że na świecie istnieją tylko dwie. |
| Ukraiński | 4 | 21 przyjmuje formę liczby pojedynczej: «21 крок». |
| Czeski | 4 | Czwarta forma dotyczy wyłącznie ułamków dziesiętnych – to kategoria widmo, której Twój interfejs nigdy nie wyświetla. |
| Polski | 4 | Te same cztery kategorie co w czeskim, ale zupełnie inny rozkład. 21 przyjmuje formę liczby mnogiej: „21 kroków”. |
| Francuski | 3 | Zero to liczba pojedyncza. A trzecia forma uaktywnia się wyłącznie przy pełnych milionach. |
| Hiszpański | 3 | Zero to liczba mnoga – dokładne przeciwieństwo francuskiego. |
| Turecki | 2 | Rzeczowniki pozostają w liczbie pojedynczej po każdym liczebniku: „5 belge”, nigdy „5 belgeler”. |
| Chiński | 1 | Jedna forma na wszystko. Najłatwiejszy język w tej tabeli. |
Dwóm z nich warto przyjrzeć się bliżej.
Polski to nie czeski. To siostrzane języki zachodniosłowiańskie, więc założyliśmy, że polski będzie powielał schemat czeskiego. Nic z tego: wbrew drzewu genealogicznemu polski system liczby mnogiej odpowiada ukraińskiemu, czyli wschodniosłowiańskiemu kuzynowi. Dwadzieścia jeden kroków to po polsku „21 kroków”, ale po ukraińsku «21 крок»: liczba mnoga w jednym, pojedyncza w drugim, a przecież oba te języki są niemal we wszystkim innym zgodne. Wniosek jest uniwersalny: sprawdzaj gramatykę, nigdy pokrewieństwo. Pokrewieństwo językowe to tylko sugestia.
Francuski ma formę liczby mnogiej, która występuje tylko przy milionie. Nie „około miliona”, lecz dokładnie przy 1 000 000, 2 000 000 i tak dalej. Przy każdej innej liczbie francuski zachowuje się tak samo jak angielski. Już to obsługujemy i mam nadzieję, że kiedyś jakiś użytkownik z saldem wynoszącym okrągłe miliony słów to zauważy.
Jeszcze jedna pułapka z tego rozdziału, tym razem dla inżynierów: kod języka ukraińskiego to uk, a nie ua. ua to kod kraju – jeśli go użyjesz, mechanizm obsługi liczby mnogiej nie zgłosi błędu, lecz zastosuje zasady brytyjskiej odmiany angielskiego i cała opisana wyżej historia się powtórzy. Ten sam problem dotyczy czeskiego (cs, nie cz) i duńskiego (da, nie dk).
„Воркфлоу” czy „робочий процес”: terminologia to zbiór decyzji
Największych trudności wcale nie sprawiała gramatyka. Prawdziwym wyzwaniem były małe wojny o pojedyncze słowa.
Weźmy słowo workflow. Ukraiński oferuje rodzimą kalkę („робочий процес”, dosłownie „proces roboczy”) i to właśnie taką definicję podałby słownik. Jednak tłumacze spędzający całe dnie w tym programie nie mówią „робочий процес” – używają zapożyczenia „воркфлоу”, podobnie jak język angielski przejął słowo rendezvous. Po długich wahaniach postawiliśmy na zapożyczenie. Dzięki temu tekst brzmi tak, jak faktycznie rozmawia się w branży.
Albo weźmy Memory, nazwę naszej własnej funkcji. W niemieckim przyjęliśmy zasadę, by kilka terminów zostawiać po angielsku: Credits, Translation Memory. Niemiecki specjalista traktuje je jako żargon branżowy, podobnie jak słowa Update czy Login. Kiedy więc ukraiński przejął tę samą listę terminów niepodlegających tłumaczeniu, fraza „Translation Memory” tkwiła po angielsku w samym środku cyrylickich zdań, sprawiając wrażenie, jakby ktoś zapomniał jej przetłumaczyć. Słowo zapisane alfabetem łacińskim w tekście cyrylickim od razu rzuca się w oczy. Co gorsza, ukraiński jest językiem fleksyjnym: słowo „Пам'ять” musi odmieniać się przez przypadki, dopasowując się do składni zdania, czego nieprzetłumaczony angielski rzeczownik nie potrafi. Poprawiliśmy to na „перекладацька пам'ять” i zrozumieliśmy, że lista słów niepodlegających tłumaczeniu to decyzja podejmowana indywidualnie dla każdego języka. Chiński potwierdził to z zupełnie innej strony: tam tłumaczy się wszystko (翻译记忆库 to pamięć tłumaczeniowa, 术语库 to glosariusz, 工作流 to workflow), a w alfabecie łacińskim pozostają jedynie same nazwy produktów.
Cały nasz produkt opiera się na tej lekcji: terminologia to narastający zbiór decyzji z uzasadnieniem. To słowo, bo tak mówi branża; tamto po angielsku, bo to marka; to przetłumaczone, bo wymaga tego system pisma. Podejmij decyzję raz, odnotuj powód, a każdy kolejny dokument ją odziedziczy. Właśnie do tego tak naprawdę służy glosariusz i dlatego traktujemy pamięć tłumaczeniową jako kontekst decyzyjny, a nie tylko stertę dopasowanych zdań.
Języki siostrzane różnią się pod każdym względem
Jeśli liczba mnoga była lekcją gramatyki, to typografia była kursem etykiety, a najważniejsza nauka brzmiała: między sąsiadami nic nie jest uniwersalne.
Francuski upiera się przy spacji przed każdym dwukropkiem, średnikiem, wykrzyknikiem i znakiem zapytania (oczywiście twardej, s'il vous plaît) i ujmuje cytaty w « cudzysłowy z wewnętrznymi spacjami ». Hiszpański, tuż za miedzą, robi coś dokładnie odwrotnego: interpunkcja ściśle przylega do słów, cudzysłowy ciasno otaczają treść «tak jak tutaj», a pytania muszą otwierać się odwróconym znakiem. ¿ i ¡ to żelazne zasady gramatyki.
Włoski zaserwował nam najbardziej subtelną zagwozdkę. W oficjalnej odmianie tego języka zaimki grzecznościowe pisze się wielką literą (Lei, Suo, Sua) – po części po to, by odróżnić formę grzecznościową od pisanego małą literą lei, które oznacza „ona”. Miało to większe znaczenie niż gdziekolwiek indziej, ponieważ nasze teksty stale wspominają o Literess – która jest przecież stuprocentową lei – tuż obok zdań zwracających się do użytkownika per Lei. Jedna wielka litera wykonuje tu nośną robotę przy rozróżnianiu znaczeń. Włoski wyłamał się też z konwencji dotyczącej przycisków: o ile francuski i hiszpański używają na nich bezokoliczników (Enregistrer, Guardar), o tyle włoski stosuje czysty tryb rozkazujący (Salva, Accedi). Może to sprawiać wrażenie braku formalności, ale to tylko pozory – tak po prostu „mówi” włoskie oprogramowanie.
Polski postawił przed nami wyzwanie, którego nie znaliśmy z żadnego innego języka: jego forma grzecznościowa uwzględnia płeć. Niemieckie Sie, francuskie vous czy hiszpańskie usted to formy uniwersalne. W polszczyźnie formy grzecznościowe to Pan dla mężczyzn i Pani dla kobiet, a nawet czasowniki w czasie przeszłym odmieniają się przez rodzaje w zależności od płci adresata. Nie znamy płci użytkownika i nie zamierzamy zgadywać, więc polska wersja produktu brzmi tak, jak dobrze zaprojektowane rodzime oprogramowanie: używamy konstrukcji nieosobowych („Zapisano”, saved), przyjaznego głosu marki w pierwszej osobie liczby mnogiej („Zapraszamy”, we invite you) oraz bezpośrednich zwrotów wskazujących na płeć, stosowanych tylko tam, gdzie jest to absolutnie nieuniknione.
Turecki, nasz ostatni język, wydawał się prosty (jedno neutralne płciowo, formalne siz, całkowity brak rodzaju gramatycznego), a potem wystawił nam rachunek z ortografii. Wielką literą tureckiego i jest İ z kropką, więc „iptal” (anuluj) po zapisaniu wielką literą staje się „İptal”; I bez kropki to zupełnie inna litera i rażący błąd. Nazwy języków pisze się wielką literą („Türkçe”), podczas gdy we wszystkich językach romańskich i słowiańskich używa się małej. A ponieważ turecki jest językiem aglutynacyjnym, odmieniają się nawet nazwy marek, których nigdy nie tłumaczymy: końcówkę przypadku dołącza się po apostrofie, więc użytkownicy przechodzą na „Pro'ya” i importują „Transept'e”. Odmienia się sama nazwa marki. Tego nie znajdziecie w żadnym podręczniku do i18n.
Chiński, dla przeciwwagi, okazał się lekcją fizyki: interpunkcja o pełnej szerokości(,。!?), wąski odstęp tam, gdzie znaki CJK stykają się z alfabetem łacińskim („使用 Transept 翻译”) oraz tekst, który zajmuje mniej więcej połowę miejsca w porównaniu z angielskim. Po niemieckim, który pęcznieje i rozsadza układy stron, chiński kurczy się i sprawia, że przyciski wydają się nienaturalnie duże. Interfejs musi przetrwać obie te skrajności.
Pasażerowie na gapę: ciągi znaków, które w ogóle nie trafiły do tłumaczenia
Lokalizacja wiąże się ze specyficznym rodzajem błędu: chodzi o ciągi znaków, które w ogóle nie trafiły do systemu.
Pokrycie tłumaczeniem wymusza u nas kompilator: jeśli w jakimś ciągu brakuje wersji językowej, aplikacja dosłownie się nie buduje. Jednak ta weryfikacja obejmuje tylko te ciągi, które poprosiły o tłumaczenie. Etykieta wyświetlająca surową wartość z bazy danych (owner, prosto z typu wyliczeniowego) nigdy o to nie poprosiła. Przechodziła bez przeszkód przez każdy proces budowania – angielska we wszystkich jedenastu językach – pozostając niewidoczna z jednego prostego powodu: dopóki aplikacja była dostępna tylko po angielsku, angielski wpisany na sztywno w kodzie stanowił idealny kamuflaż.
Pierwsza sesja użytkownika z Ukrainy ujawniła etykietę owner. Potem nazwy poziomów dostępu w oknie udostępniania. Następnie cały margines z komentarzami – jakieś dwadzieścia pięć ciągów znaków, które nigdy nie zetknęły się z warstwą tłumaczeniową. Do tego etykieta dla czytnika ekranu tu, placeholder tam. Każdy nowy język stawał się audytem wszystkiego, co powstało wcześniej: w chwili, gdy otaczający tekst zmienia się na ukraiński, każdy pasażer na gapę rozbłyska niczym flara.
Wdrażanie nowego języka to nie zadanie translatorskie, lecz spis powszechny. Nie wiesz, które z Twoich ciągów znaków są rzeczywiste, wykrywalne i przetłumaczalne, dopóki drugi język nie zmusi każdego z nich, by stanął do raportu. Zaplanuj etap audytu w harmonogramie, bo kompilator nie uratuje Cię przed ciągiem, który nigdy nie upomniał się o tłumaczenie.
Literess odmówiła bycia przemądrzałą po ukraińsku
Mój ulubiony błąd z całego projektu, ściśle rzecz biorąc, wcale nie jest błędem. Wciąż nie potrafimy go w pełni wyjaśnić.
Literess, nasza wewnętrzna asystentka-redaktorka (możecie ją znać z jej własnego artykułu), posiada repertuar czterdziestu ośmiu nastrojów. Jej awatar reaguje podczas pracy: dobiera wyraz twarzy tak, jak dobiera słowa – jako element odpowiedzi. Jej znakiem rozpoznawczym jest mina przemą**drzała: ten drobny uśmieszek pełen samozadowolenia, który pojawia się, gdy wyłapie błąd, który przeoczyłeś.
Robi to w każdym języku. Przemądrzałość po wyłapaniu literówki – po niemiecku, francusku, chińsku i polsku. Potem przełączyliśmy ją na ukraiński i sprawdziliśmy te same sytuacje – te, które wszędzie indziej niezawodnie wywołują ten uśmieszek – ale ona ani drgnęła. Ten sam model, ten sam prompt, ta sama osobowość, te same czterdzieści osiem nastrojów w menu. Po ukraińsku pozostaje radosna albo co najwyżej staje się poważna. Po prostu odmawia bycia przemądrzałą po ukraińsku.
Nasza najlepsza teoria to ta, którą podsunąłby tłumacz. W języku angielskim słowo smug może mieć zabarwienie pozytywne: w odniesieniu do rysunkowej asystentki, która właśnie znalazła twoją literówkę, jest wręcz komplementem. W ukraińskim nie ma takiego słowa: najbliższy odpowiednik, «самовдоволена», to wyłącznie obelga. Płaskie, niesympatyczne samozadowolenie, bez mrugnięcia okiem, bez cienia uroku. I model myślący po ukraińsku najwyraźniej o tym wie. Formułując odpowiedź w języku, w którym pojęcie „przemądrzałości podszytej sympatią” nie istnieje, nie sięga po nie również jako po emocję. Słowo figuruje w jej słowniku, ale opór tkwi w jej zachowaniu.
Uważam to za równie zabawne, co dające do myślenia. Cały ten wpis dotyczył ciągów znaków (liczby mnogiej, rejestrów, interpunkcji), a tu mamy przypadek, w którym każdy ciąg był poprawny, a mimo to produkt i tak się zmienił. Język nie jest skórą, którą naciąga się na produkt AI; on steruje modelem, który go przywdziewa. Lokalizacja asystentki oznacza sprawdzanie jej osobowości w poszczególnych językach, a nie tylko weryfikację etykiet: trzeba osobiście sprawdzić, kim staje się ona w każdym z nich.
(Dla porządku: etykiety też wymagały uwagi – nastrój content, czyli „zadowolony”, o mało nie trafił do wersji niemieckiej jako „Inhalt” (rzeczownik „treść”), dopóki jedna linijka kontekstu dla tłumacza nie doprecyzowała znaczenia. Najtańszym sposobem na poprawę jakości lokalizacji wciąż pozostaje jedno zdanie wyjaśniające tłumaczowi, czym dany ciąg znaków jest.)
Mniej efektowna połowa: hreflang, sitemapy i niekonkurowanie z samym sobą
Wszystko to nie ma znaczenia, jeśli nikt nie trafi na te strony, więc oto część poświęcona SEO w pigułce.
W chwili, gdy publikujesz tę samą stronę w jedenastu językach, Google domyślnie zakłada, że stworzyłeś jedenaście niemal identycznych duplikatów konkurujących ze sobą. Mechanizmem, który temu zapobiega, jest atrybut hreflang – a jest on mniej pobłażliwy niż jakikolwiek kompilator:
- Musi być wzajemny. Angielska strona wskazuje na niemiecki odpowiednik, a niemiecki odpowiednik odsyła z powrotem za pomocą identycznego zestawu linków – inaczej Google zignoruje całą strukturę. Jednokierunkowy hreflang to żaden hreflang.
**x-default**** wskazuje na wersję kanoniczną**: to opcja rezerwowa dla użytkowników, których język nie pasuje do żadnej z oferowanych wersji.- Nigdy nie dodawaj oznaczeń do stron, które nie istnieją. Jeśli ukraińska wersja strony nie jest jeszcze aktywna, nie przypisuj jej linku alternatywnego; „wiszący” hreflang prowadzący do błędu 404 jest gorszy niż jego całkowity brak. Brzmi to jak oczywistość, dopóki nie masz do czynienia z częściowo przetłumaczonymi obszarami serwisu – wtedy wymaga to skrupulatnej ewidencji: nasze artykuły w dzienniku są na przykład tłumaczone jeden po drugim, więc każdy z nich informuje tylko o tych językach, w których faktycznie jest dostępny.
- Sitemapy zawierają te same oznaczenia. Przebudowaliśmy nasze sitemapy w indeks podzielony na poszczególne języki, co daje korzystny efekt uboczny w postaci osobnych statystyk indeksowania w Search Console: można obserwować, jak strony w każdym języku trafiają do indeksu niezależnie i od razu widzieć, czy któryś z nich zostaje w tyle.
To wszystko to tylko techniczne zaplecze. Lokalizacja bez niego jedynie rozdrabnia autorytet domeny pomiędzy jedenaście konkurujących ze sobą kopii. Cała korzyść SEO wynikająca z mówienia w języku użytkownika zależy od tego, czy Google zrozumie, że to jedna i ta sama strona, a nie jedenaście różnych.
Czego nie chcieliśmy tłumaczyć maszynowo
Pomimo całego opisanego wyżej entuzjazmu dla tłumaczenia maszynowego, trzy rzeczy celowo wyłączyliśmy z tego procesu.
Te artykuły. Oprawa magazynu (etykiety, podpisy autorów, nawigacja) jest tłumaczona maszynowo, tak jak cała reszta. Same artykuły tłumaczymy jednak sami – ręcznie, w Transepcie. Dłuższe teksty sygnowane nazwiskiem to właśnie ten przypadek, w którym tłumaczenie maszynowe nie jest jeszcze wystarczająco dobre, a praca nad własnymi esejami we własnym edytorze to najbardziej autentyczny test produktu, jaki znamy. Wersja tego artykułu, którą być może czytasz po niemiecku lub ukraińsku, przeszła przez dokładnie ten sam edytor, słownik i proces recenzji, które sprzedajemy.
Strony prawne. Tłumaczenie maszynowe przygotowuje ich szkice (z zachowaniem wszystkich nazw firm, adresów, dat i numerów paragrafów), ale Regulamin i Polityka prywatności to dokumenty wiążące, dlatego w każdym języku sprawdza je prawnik. Błąd w tłumaczeniu tekstu marketingowego to jedynie rysa na wizerunku; w kontrakcie oznacza on realne straty finansowe.
Ostatnie słowo w obszarach budujących zaufanie. Cenniki, rozliczenia, uwierzytelnianie, e-maile: zanim uznamy dany język za gotowy, te treści zawsze sprawdza native speaker. Tak właśnie ma działać MTPE: maszyna pisze każde słowo, aby ludzie mogli poświęcić swoją ograniczoną, kosztowną uwagę wyłącznie tym słowom, które niosą ze sobą ryzyko.
U podstaw tych trzech decyzji leży to samo przekonanie: tłumaczenie maszynowe to jedynie pierwszy etap, a umiejętność oceny, kiedy ten etap wystarczy, stanowi samo sedno kompetencji lokalizacyjnych. Dziesięć języków w trzy dni było możliwe tylko dlatego, że dokładnie wiedzieliśmy, czego maszynie nie należy powierzać.
Gdzie każda decyzja staje się pamięcią
Spójrzmy jeszcze raz na tę listę. Rejestr oficjalny lub potoczny. «Воркфлоу», a nie «робочий процес». Translation Memory po angielsku dla Niemców, «перекладацька пам'ять» dla Ukraińców. Wielka litera w Lei, bezosobowe formy w polszczyźnie, apostrof przed tureckimi przyrostkami, forma liczby mnogiej zarezerwowana dla pełnych milionów. Asystent, który uśmiecha się w dziewięciu językach, a w dziesiątym tego odmawia.
Prawie niczego z tych rzeczy nie dało się sprawdzić zawczasu, a to, co liczy się najbardziej, to decyzje: wypracowane w sporach, ustalone, a następnie stanowiące fundament dla tysięcy ciągów znaków i każdego przyszłego dokumentu. Utrata decyzji oznacza konieczność ponownego płacenia za ten sam spór; zachowanie samej decyzji bez uzasadnienia sprawia, że kolejna osoba i tak będzie ją roztrząsać od nowa.
Ostatecznie to właśnie dlatego zbudowaliśmy nasz produkt w ten sposób: pamięć tłumaczeniowa jako kontekst dla decyzji, słowniki i przewodniki stylistyczne jako miejsca, w których żyją rejestr i terminologia, oraz edytor, którego jedynym zadaniem jest dbanie o to, by nic, co zostało ustalone, nie odeszło w zapomnienie. Lokalizacja Transeptu była pierwszym przypadkiem, gdy poddaliśmy całą tę filozofię próbie na naszym własnym produkcie na pełną skalę. Narzędzia wytrzymały. Powyższe lekcje to wnioski, które teraz wdrażamy z powrotem, ponieważ dziesięć języków było tylko próbą, a nie finałem.
Autor

Współzałożycielka Transept. Posiada trzy dyplomy z filologii angielskiej – studiowała w Kijowie, Ostrawie i spędziła rok w Salzburgu. Z pochodzenia Ukrainka, która większość swojego pisarskiego życia spędza w języku angielskim. Do świata AI weszła jako inżynierka promptów, a następnie zajęła się marketingiem produktu i cyklu życia. Pisze na wpół fikcyjne historie o prawdziwych ludziach i wciąż krąży wokół pytania o to, co gubi się w tłumaczeniu między językami.

robotę przy rozróżnianiu znaczeń. Włoski wyłamał się też z konwencji dotyczącej przycisków: o ile francuski i hiszpański używają na nich bezokoliczników (Enregistrer, Guardar), o tyle włoski stosuje czysty tryb rozkazujący (Salva, Accedi). Może to sprawiać wrażenie braku formalności, ale to tylko pozory – tak po prostu „mówi” włoskie oprogramowanie.
