Tłumaczenie HTML

Tłumaczenie HTML zachowujące Twój markup.

Tagi pozostają tagami. Atrybuty pozostają atrybutami. Nazwy klas, wartości href, atrybuty danych — żadna z nich się nie zmienia. Tłumaczony jest tylko widoczny tekst, który faktycznie czytają Twoi użytkownicy.

Tagi
zawsze zachowane
Atrybuty klas/ID
nietknięte
href/src
nigdy nie tłumaczone
36
języków docelowych

Uszkodzony markup jest gorszy niż brak tłumaczenia.

Wysyłanie HTML przez standardowe API tłumaczeniowe jest ryzykowne. Tagi są częściowo tłumaczone. Wartości atrybutów ulegają uszkodzeniu. Nazwy klas, które nie powinny się zmieniać, zmieniają się. Wynik wygląda poprawnie w zwykłym tekście, ale psuje się w przeglądarce — i psuje się bez ostrzeżenia. Dla strony z dużą ilością treści lub eksportu CMS naprawa uszkodzonego HTML w 10 językach nie jest rozsądnym procesem.

Co gorsza, standardowe API tłumaczeniowe często tłumaczą treści, które nigdy nie powinny się zmieniać — nazwy klas CSS, adresy URL href, atrybuty src, etykiety aria zawierające identyfikatory techniczne oraz atrybuty danych. Powstały HTML nie renderuje się poprawnie, a niektóre zmiany są na tyle subtelne, że przechodzą testy wizualne, zanim spowodują błędy w czasie działania.

Dla HTML generowanego przez CMS, szablonów e-mail lub dowolnego HTML przetwarzanego programowo, naprawa po tłumaczeniu nie jest opcjonalna. Staje się ukrytym kosztem utrzymania, który narasta z każdą aktualizacją treści.

PolyLingo analizuje DOM przed tłumaczeniem.

PolyLingo traktuje Twój HTML jako dokument, a nie ciąg znaków. Przechodzi przez strukturę DOM, identyfikuje węzły tekstowe zawierające widoczną treść i wysyła do modelu tłumaczeniowego tylko te węzły. Nazwy tagów, wartości atrybutów, nazwy klas, wartości href, atrybuty danych — nic strukturalnego nigdy nie jest widziane przez model tłumaczeniowy. Wynikowy HTML jest poprawny i strukturalnie identyczny z tym, co wysłałeś.

PolyLingo używa parsera DOM zamiast traktować HTML jako surowy tekst. Przed tłumaczeniem HTML jest parsowany do drzewa węzłów. Każdy węzeł jest klasyfikowany: węzły tekstowe zawierające język naturalny są wyodrębniane do tłumaczenia, podczas gdy węzły elementów, wartości atrybutów nielingwistycznych (nazwy klas, ID, href, src, atrybuty danych) oraz treści nietłumaczalne (skrypty, style, bloki kodu) są całkowicie wykluczone.

Przetłumaczone węzły tekstowe są następnie wstawiane z powrotem do oryginalnej struktury DOM. Powstały HTML jest semantycznie równoważny źródłu, z identycznym zagnieżdżeniem tagów, wartościami atrybutów i strukturą markup. Zmienia się tylko widoczny tekst.

Wejście — artykuł HTML (angielski)
<article class="post">
  <h1 class="post-title">How to build a multilingual site</h1>
  <p>Building a <strong>multilingual website</strong> doesn't have to be
  complicated. The key is choosing the right translation layer.</p>
  <a href="/pricing" class="cta-button" aria-label="View pricing">
    See our plans
  </a>
  <img src="/hero.png" alt="Multilingual platform dashboard" />
</article>
Wyjście — francuski (tagi i atrybuty nienaruszone)
<article class="post">
  <h1 class="post-title">Comment créer un site multilingue</h1>
  <p>Créer un <strong>site web multilingue</strong> n'a pas à être
  compliqué. La clé est de choisir la bonne couche de traduction.</p>
  <a href="/pricing" class="cta-button" aria-label="Voir les tarifs">
    Voir nos offres
  </a>
  <img src="/hero.png" alt="Tableau de bord de la plateforme multilingue" />
</article>

Co jest tłumaczone, a co zachowane

TłumaczoneZachowane
Treść tekstowa między tagamitaknie
Atrybut title (etykieta dostępności)taknie
Tekst alternatywny na obrazachtaknie
Atrybuty aria-labeltaknie
Tekst zastępczy w polach formularzytaknie
Nazwy tagów HTMLnietak
Atrybuty klas i IDnietak
Adresy URL href i srcnietak
Atrybuty danychnietak
Bloki skryptów i stylównietak

Co PolyLingo obsługuje w każdym tłumaczeniu HTML

  • Nazwy tagów i struktura nigdy nie są modyfikowane
  • Nazwy klas, ID, atrybuty danych pozostają nietknięte
  • Wartości href i src linków zachowane dokładnie
  • Tłumaczone są tylko widoczne węzły tekstowe
  • Języki RTL: atrybut dir obsługiwany poprawnie
  • Działa z pełnymi stronami, fragmentami i komponentami
  • Zagnieżdżony HTML — poprawna obsługa dowolnej głębokości zagnieżdżenia elementów
  • HTML e-mail — zachowane style inline i układy oparte na tabelach

Jak tłumaczyć treści HTML z PolyLingo

1

Wyślij swój HTML do API

Wyślij POST z zawartością HTML na /v1/translate. Ustaw format na "html" lub pomiń — PolyLingo automatycznie wykryje HTML na podstawie zawartości. Dołącz kody języków docelowych.

2

Odbierz czysty, przetłumaczony HTML

Odpowiedź zawiera jeden przetłumaczony ciąg HTML na każdy język docelowy. Każdy tag, klasa, ID i atrybut jest dokładnie taki, jaki wysłałeś. Zmienia się tylko tekst w języku naturalnym.

3

Zapisz do CMS, szablonu lub pliku

Użyj przetłumaczonego HTML bezpośrednio w CMS, kreatorze e-maili, generatorze statycznych stron lub dowolnym innym narzędziu obsługującym HTML. Nie jest potrzebne żadne dalsze przetwarzanie ani naprawa.

Gdzie potrzebne jest tłumaczenie HTML

🖥️

Eksporty stron i postów CMS

Platformy headless CMS przechowują treści jako HTML lub tekst sformatowany, który serializuje się do HTML. PolyLingo tłumaczy tę treść dla każdego lokalnego języka, zachowując strukturę i formatowanie stworzone przez CMS.

📧

Szablony e-mail

HTML e-mail jest znany z delikatności — układy oparte na tabelach, style inline i głęboko zagnieżdżone struktury psują się przy prostym tłumaczeniu. PolyLingo zachowuje wszystko.

🏪

Opisy produktów e-commerce

Opisy produktów często zawierają sformatowany HTML z listami, pogrubionym tekstem i uporządkowaną treścią. Tłumaczenie ich na dużą skalę wymaga dokładnego zachowania formatu, aby wynik renderował się spójnie w różnych językach.

Najczęściej zadawane pytania o tłumaczenie HTML

Czy PolyLingo tłumaczy atrybuty takie jak title i alt?

Tak. Atrybuty alt na obrazach, atrybuty title na elementach, atrybuty aria-label oraz atrybuty placeholder w formularzach są identyfikowane jako zawierające tekst w języku naturalnym i są tłumaczone. Atrybuty href i src, nazwy klas, ID oraz atrybuty danych nie są tłumaczone.

Co z inline JavaScript lub atrybutami stylów?

Tagi script i style nigdy nie są tłumaczone — ich zawartość jest przekazywana bez zmian. Atrybuty stylów inline (style="...") również są zachowywane dokładnie. Tłumaczony jest tylko tekst w języku naturalnym.

Czy PolyLingo obsługuje pełne strony HTML, włącznie z doctype i head?

Tak. PolyLingo obsługuje pełny dokument HTML, włącznie z doctype, head i body. Element title, meta description i tagi Open Graph w head są tłumaczalne. Canonical URL, meta charset i techniczne tagi meta są zachowywane bez zmian.

Czy działa z HTML generowanym przez edytory rich-text takie jak ProseMirror lub TipTap?

Tak. HTML generowany przez edytory rich-text serializuje się do standardowego HTML. PolyLingo obsługuje każdy poprawny HTML, niezależnie od sposobu jego wygenerowania. Parser DOM działa na ciągu HTML, a nie na formacie specyficznym dla edytora.

Co się dzieje z encjami HTML takimi jak &amp; lub &copy;?

Encje HTML są dekodowane przed tłumaczeniem i ponownie kodowane w wyniku. Nazwane encje takie jak &amp;, &copy; i &mdash; są zachowywane. Encje numeryczne również są poprawnie obsługiwane. Przetłumaczony wynik używa tego samego kodowania encji co źródło.

Czy istnieje limit rozmiaru pliku dla tłumaczenia HTML?

Pojedyncze żądania tłumaczenia są ograniczone do 64KB zawartości. Dla dłuższych dokumentów (artykuły długie, pełne strony) zalecane jest dzielenie na naturalne granice (sekcje, artykuły) i składanie po tłumaczeniu. Pomaga to również w dokładności zużycia tokenów.

Tłumacz swój HTML bez konieczności naprawy.

Darmowy plan. Bez karty kredytowej. Poprawny HTML po stronie wyjściowej.

Rozpocznij darmowe tłumaczenie

Wklej dowolny HTML i zobacz dokładnie, co jest tłumaczone, a co nie.

Tłumaczenie HTML zachowujące Twój markup — PolyLingo | PolyLingo