← Pojęcia

Jak działa Langsys

Langsys zamienia zdania, które już masz w interfejsie, w system tłumaczeń. Nie trzeba utrzymywać pliku kluczy ani wykonywać wyodrębniania na etapie budowania — fraza w kodzie jest zarazem kluczem wyszukiwania i domyślnym tekstem w języku bazowym.

Obejrzyj · 0:30 Przebieg pracy

Fraza jest kluczem

W tradycyjnym i18n dla każdego ciągu znaków wymyślasz identyfikator, prawdziwy tekst przechowujesz w pliku języka i na zawsze musisz pilnować, by oba były zsynchronizowane. Langsys eliminuje ten pośredni krok: piszesz właściwe zdanie, a to zdanie jest kluczem.

Tradycyjne
// Traditional i18n — indirection + a keys file to maintain
t('greetings.hello');            // what does this say? open en.json to find out

// en.json
{ "greetings": { "hello": "Hello, {name}!" } }
Langsys
// Langsys — the phrase IS the key and the base-language default
t('Hello, {name}!', 'Greetings', { name });

Ponieważ tekst źródłowy jest kluczem, ta sama fraza zapisana w dowolnym miejscu aplikacji to jeden wpis do przetłumaczenia — deduplikacja odbywa się automatycznie — a język, który nie został jeszcze przetłumaczony, po prostu wraca do tekstu źródłowego. Nie ma czegoś takiego jak symbol zastępczy brakującego klucza.

W czasie rzeczywistym i w trybie ciągłym

Nigdy nie uruchamiasz polecenia ekstrakcji. Gdy aplikacja się renderuje, SDK wykrywa używane w niej frazy. Nowe są tłumaczone maszynowo w tle na docelowe języki Twojego projektu, a aplikacja pobiera gotowy katalog. Dodaj dziś nowe zdanie — zostanie przetłumaczone chwilę później, bez ponownego wdrażania paczki językowej.

Cykl życia

  1. Twój interfejs renderuje frazy za pomocą t(), <Translate> i podobnych narzędzi.
  2. W środowisku deweloperskim klucz do zapisu pozwala SDK wykrywać i rejestrować wszelkie nowe frazy.
  3. Langsys tłumaczy je maszynowo na każde docelowe ustawienie regionalne w Twoim projekcie.
  4. W środowisku produkcyjnym klucz tylko do odczytu pobiera gotowy katalog dla ustawień regionalnych użytkownika.
  5. Zmień ustawienia regionalne, a cały interfejs natychmiast wyrenderuje się ponownie w nowym języku — bez przeładowania strony.

W porównaniu z tradycyjnym i18n. Bez ręcznej edycji en.json, bez pośrednictwa t('some.nested.key'), bez etapu ekstrakcji w buildzie i bez zastępczych wartości dla brakujących kluczy — zdanie źródłowe zawsze jest wartością zastępczą.

Szukaj w dokumentacji i Centrum nauki