Zadaj pytanie i otrzymaj streszczenie dokumentu, odwołując się do tej strony i wybranego dostawcy AI
Ta dokumentacja jest nieaktualna, wersja bazowa została zaktualizowana w 29 sierpnia 2026.
Przejdź do angielskiej wersji dokumentuHistoria wersji
- "Porównanie statycznego, dynamicznego i buforowanego dynamicznego rozwiązywania słowników metadanych w funkcjach head tras"v9.4.025.08.2026
- "Aktualizacja użycia API useIntlayer w Solid do bezpośredniego dostępu do właściwości"v8.9.04.05.2026
- "Dodaj polecenie init"v7.5.930.12.2025
- "Wprowadzenie validatePrefix oraz dodanie kroku 14: Obsługa stron 404 z lokalizowanymi trasami."v7.4.011.12.2025
- "Dodany krok 13: Pobieranie lokalizacji w akcjach serwerowych (Opcjonalnie)"v7.3.95.12.2025
- "Dodaj krok 13: Adaptacja Nitro"v7.2.318.11.2025
- "Naprawienie domyślnego prefiksu poprzez dodanie funkcji getPrefix useLocalizedNavigate, LocaleSwitcher i LocalizedLink."v7.1.017.11.2025
- "Aktualizacja dokumentacji"v6.5.23.10.2025
- "Dodano dla Tanstack Start"v5.8.19.09.2025
Treść tej strony została przetłumaczona przy użyciu sztucznej inteligencji.
Zobacz ostatnią wersję oryginalnej treści w języku angielskimJeśli masz pomysł na ulepszenie tej dokumentacji, zachęcamy do przesłania pull requesta na GitHubie.
Link do dokumentacji na GitHubieKopiuj dokument Markdown do schowka
Przetłumacz swoją stronę Tanstack Start za pomocą Intlayer | Internacjonalizacja (i18n)
Spis treści
Ten przewodnik pokazuje, jak zintegrować Intlayer dla płynnej internacjonalizacji w projektach Tanstack Start z routingiem uwzględniającym lokalizację, wsparciem TypeScript oraz nowoczesnymi praktykami programistycznymi.
Dlaczego Interlayer zamiast alternatyw?
W porównaniu do głównych rozwiązań, takich jak „react-i18next”, „use-intl” lub „paraglide”, Intlayer jest rozwiązaniem wyposażonym w zintegrowane optymalizacje, takie jak:
Intlayer jest w pełni zoptymalizowany pod kątem TanStack Start, zapewniając wielojęzyczny routing, zarządzanie plikami cookie, generowanie mapy witryny, dynamiczne ładowanie treści i wszystkie funkcje potrzebne do skalowania wysiłków związanych z internacjonalizacją (i18n).
Zamiast ładować ogromne pliki JSON na swoje strony, ładuj tylko niezbędną treść. Intlayer pomaga zmniejszyć rozmiary bundle'a i stron nawet o 50%.
Określanie zakresu zawartości aplikacji ułatwia konserwację aplikacji na dużą skalę. Możesz powielić lub usunąć pojedynczy folder funkcji bez obciążania psychicznego koniecznością przeglądania całej bazy kodu zawartości. Dodatkowo Inlayer jest w pełni otypowany, aby zapewnić dokładność treści.
Wspólna lokalizacja treści zmniejsza potrzebny kontekst dzięki modelom dużego języka (LLM). Intlayer zawiera także zestaw narzędzi, taki jak CLI do sprawdzania brakujących tłumaczeń, LSP, MCP i agent skills, aby praca programisty (DX) była jeszcze płynniejsza dla agentów AI.
Korzystaj z automatyzacji, aby tłumaczyć w swoim potoku CI/CD przy użyciu wybranego LLM na koszt dostawcy sztucznej inteligencji. Intlayer oferuje także kompilator do automatyzacji ekstrakcji treści, a także platformę internetową, która pomaga tłumaczyć w tle.
Łączenie ogromnych plików JSON z komponentami może prowadzić do problemów z wydajnością i reaktywnością. Inlayer optymalizuje ładowanie treści w czasie kompilacji.
Więcej niż tylko rozwiązanie i18n, Intlayer zapewnia samodzielny edytor wizualny i pełny CMS, który pomoże Ci zarządzać wielojęzyczną treścią w w czasie rzeczywistym, dzięki czemu współpraca z tłumaczami, copywriterami i innymi członkami zespołu będzie płynna. Treść może być przechowywana lokalnie i/lub zdalnie.
Przewodnik krok po kroku, jak skonfigurować Intlayer w aplikacji Tanstack Start
Zobacz Szablon aplikacji na GitHub.
Utwórz projekt
Rozpocznij od utworzenia nowego projektu TanStack Start, postępując zgodnie z przewodnikiem Start new project na stronie TanStack Start.
Zainstaluj pakiety Intlayer
Zainstaluj niezbędne pakiety, używając preferowanego menedżera pakietów:
bashKopiuj kodSkopiuj kod do schowka
flaga
--interactivejest opcjonalna. Użyjintlayer-cli init, jeśli jesteś agentem AI.To polecenie wykryje Twoje środowisko i zainstaluje wymagane pakiety. Na przykład:
bashKopiuj kodSkopiuj kod do schowka
intlayer
Podstawowy pakiet, który dostarcza narzędzia do internacjonalizacji dla zarządzania konfiguracją, tłumaczeń, deklaracji treści, transpiliacji oraz poleceń CLI.
react-intlayer Pakiet integrujący Intlayer z aplikacją React. Zapewnia dostawców kontekstu oraz hooki do internacjonalizacji w React.
vite-intlayer Zawiera wtyczkę Vite do integracji Intlayer z bundlerem Vite, a także middleware do wykrywania preferowanego języka użytkownika, zarządzania ciasteczkami oraz obsługi przekierowań URL.
Konfiguracja projektu
Architektura
W tej architekturze wszystkie zlokalizowane trasy są zagnieżdżone w segmencie trasy
{-$locale}. Takie podejście gwarantuje, że każdy język ma dedykowany adres URL, umożliwiając jednocześnie automatyczne dodawanie prefiksu ustawień regionalnych, walidację i optymalizację SEO.bashKopiuj kodSkopiuj kod do schowka
Konfiguracja
Utwórz plik konfiguracyjny, aby skonfigurować języki swojej aplikacji:
intlayer.config.tsKopiuj kodSkopiuj kod do schowka
Za pomocą tego pliku konfiguracyjnego możesz ustawić lokalizowane adresy URL, przekierowania w middleware, nazwy ciasteczek, lokalizację i rozszerzenie deklaracji treści, wyłączyć logi Intlayer w konsoli i wiele więcej. Pełną listę dostępnych parametrów znajdziesz w dokumentacji konfiguracji.
Integracja Intlayer w konfiguracji Vite
Dodaj wtyczkę intlayer do swojej konfiguracji:
vite.config.tsKopiuj kodSkopiuj kod do schowka
Wtyczka
intlayer()dla Vite służy do integracji Intlayer z Vite. Zapewnia budowanie plików deklaracji treści oraz monitorowanie ich w trybie deweloperskim. Definiuje zmienne środowiskowe Intlayer w aplikacji Vite. Dodatkowo dostarcza aliasy optymalizujące wydajność.Utwórz układ główny
Skonfiguruj swój główny układ, aby wspierać internacjonalizację, używając
useParamsdo wykrywania aktualnej lokalizacji i ustawiając atrybutylangidirw taguhtml.src/routes/__root.tsxKopiuj kodSkopiuj kod do schowka
Utwórz układ lokalizacji
Utwórz układ, który obsługuje prefiks lokalizacji i wykonuje walidację.
src/routes/{-$locale}/route.tsxKopiuj kodSkopiuj kod do schowka
Tutaj
{-$locale}jest dynamicznym parametrem trasy, który zostaje zastąpiony aktualną lokalizacją. Ta notacja sprawia, że slot jest opcjonalny, co pozwala na współpracę z trybami routingu takimi jak'prefix-no-default'itp.Pamiętaj, że ten slot może powodować problemy, jeśli używasz wielu dynamicznych segmentów w tej samej trasie (np.
/{-$locale}/other-path/$anotherDynamicPath/...). W trybie'prefix-all'możesz woleć zmienić slot na$locale. W trybach'no-prefix'lub'search-params'możesz całkowicie usunąć ten slot.Zadeklaruj swoją treść
Twórz i zarządzaj deklaracjami treści, aby przechowywać tłumaczenia:
src/contents/page.content.tsKopiuj kodSkopiuj kod do schowka
Twoje deklaracje zawartości mogą być definiowane w dowolnym miejscu w Twojej aplikacji, pod warunkiem, że zostaną umieszczone w katalogu
contentDir(domyślnie./app). I będą miały rozszerzenie pliku deklaracji zawartości (domyślnie.content.{json,ts,tsx,js,jsx,mjs,cjs,md,mdx,yaml,yml}).Po więcej szczegółów odsyłamy do dokumentacji deklaracji zawartości.
Tworzenie komponentów i hooków uwzględniających lokalizację
Utwórz komponent
LocalizedLinkdo nawigacji uwzględniającej lokalizację:src/components/localized-link.tsxKopiuj kodSkopiuj kod do schowka
Ten komponent ma dwa cele:
- Usunięcie niepotrzebnego prefiksu
{-$locale}z URL. - Wstrzyknięcie parametru locale do URL, aby zapewnić użytkownikowi bezpośrednie przekierowanie do zlokalizowanej ścieżki.
Następnie możemy stworzyć hook
useLocalizedNavigatedo nawigacji programowej:src/hooks/useLocalizedNavigate.tsxKopiuj kodSkopiuj kod do schowka
- Usunięcie niepotrzebnego prefiksu
Wykorzystaj Intlayer na swoich stronach
Domyślnie używaj
useIntlayer: to zalecany sposób odczytu treści wewnątrz komponentów, a kompilator rozwiązuje go do renderowanej lokalizacji. PogetIntlayer/getIntlayerAsyncsięgaj tylko poza drzewem React: wheadtras, loaderach i funkcjach serwerowych.Uzyskaj dostęp do swoich słowników treści w całej aplikacji:
Strona główna zlokalizowana
src/routes/{-$locale}/index.tsxKopiuj kodSkopiuj kod do schowka
Jeśli chcesz użyć zawartości w atrybucie
string, takim jakalt,title,href,aria-labelitd., możesz użyć wartości funkcji, na przykład:tsxKopiuj kodSkopiuj kod do schowka
Aby dowiedzieć się więcej o hook'u
useIntlayer, zapoznaj się z dokumentacją.Utwórz komponent przełącznika języków
Utwórz komponent umożliwiający użytkownikom zmianę języka:
src/components/locale-switcher.tsxKopiuj kodSkopiuj kod do schowka
Aby dowiedzieć się więcej o hook'u
useLocale, zapoznaj się z dokumentacją.Zarządzanie atrybutami HTML
Jak pokazano w kroku 5, możesz zarządzać atrybutami
langidirtaguhtmlza pomocąuseParamsw komponencie głównym. Zapewnia to, że prawidłowe atrybuty są ustawione na serwerze i kliencie.src/routes/__root.tsxKopiuj kodSkopiuj kod do schowka
Dodaj middleware
Możesz także użyć
intlayerProxydo dodania routingu po stronie serwera do aplikacji. Plugin ten automatycznie wykryje bieżący język na podstawie URL i ustawi odpowiedni plik cookie języka. Jeśli nie zostanie określony żaden język, plugin określi najbardziej odpowiedni język na podstawie preferencji języka przeglądarki użytkownika. Jeśli nie zostanie wykryty żaden język, nastąpi przekierowanie do języka domyślnego.Uwaga: aby użyć
intlayerProxyw środowisku produkcyjnym, musisz przenieść pakietvite-intlayerzdevDependenciesdodependencies.Od Intlayer v9,
intlayerProxy()jest bezpośrednio dołączony do pluginuintlayer()i domyślnie włączony za pośrednictwem opcjirouting.enableProxy(truedomyślnie). Rejestrowanie go osobno, jak pokazano poniżej, jest teraz opcjonalne: jest zachowywane dla kompatybilności wstecznej i dla ustawień, które muszą kontrolować kolejność pluginów. Ustawrouting.enableProxy: false, aby zrezygnować. Zapoznaj się z notatkami do wydania v9.vite.config.tsKopiuj kodSkopiuj kod do schowka
Internationalizuj swoje metadane
getIntlayerrozwiązuje się synchronicznie względem scalonego słownika, tego zawierającego każdy zadeklarowany język.headpozostaje synchroniczny i nic nie jest oczekiwane, ale cały wielojęzyczny słownik jest pobierany do fragmentu trasy wysyłanego do przeglądarki.src/routes/{-$locale}/index.tsxKopiuj kodSkopiuj kod do schowka
Najlepsze dla małych słowników metadanych, kilku locale'i lub podczas prototypowania.
getIntlayerAsync(dostępne od v9.4) zachowuje się jakgetIntlayer, ale plugin budowania wskazuje go na fragment dla konkretnego locale'a w.intlayer/dynamic_dictionaries/zamiast scalonego słownika. Strona zatem wysyła tylko locale, który renderuje. Ponieważ fragment jest ładowany na żądanie,headstaje sięasync:src/routes/{-$locale}/index.tsxKopiuj kodSkopiuj kod do schowka
Jeśli
headodczytuje kilka słowników, rozwiąż je za pomocąPromise.all: oczekiwanie każdegogetIntlayerAsyncw oddzielnej linii łańcuchuje żądania zamiast uruchamiać je równolegle.Kompromis: import dynamiczny jest rozwiązywany podczas uruchamiania
head, na krytycznej ścieżce renderowania dokumentu. Na zimnej trasie opóźnia to head o kilka milisekund i może nieco pogorszyć LCP.Rozwiąż słownik w
loadertrasy i przeczytaj go z powrotem zloaderDatawhead. Loadery dopasowanych tras działają równolegle, astaleTime: Infinitymówi TanStack Router, że wynik nigdy się nie starzeje, więc fragment dla konkretnego locale'a jest rozwiązywany raz i podawany z cache'a routera później, pozostawiającheadsynchroniczny.src/routes/{-$locale}/index.tsxKopiuj kodSkopiuj kod do schowka
headmoże być wywoływany przed osadzeniem loadera, więcloaderDatajest wpisywana jako możliwieundefined. Zachowaj opcjonalne łańcuchowanie lub zwróć tytuł fallback.Zachowujesz fragment dla konkretnego locale'a bez płacenia jego kosztu na krytycznej ścieżce head. Cena to doświadczenie deweloperskie: zawartość musi być jawnie przekazywana z loadera do
headpoprzezloaderData.Którą rozdzielczość powinienem wybrać?
Pokaż całą zawartość tabeliOtwórz tabelę w oknie modalnym, aby wyraźnie zobaczyć całą zawartość
Rozdzielczość statyczna Rozdzielczość dynamiczna Rozdzielczość dynamiczna z cache'em API getIntlayergetIntlayerAsync(v9.4+)getIntlayerAsyncwloader(v9.4+)Sygnatura headsynchroniczna asyncsynchroniczna, czyta loaderDataUstawienia regionalne każdy zadeklarowany locale tylko żądany locale tylko żądany locale Nawigacja na kliencie nic do rozwiązania ponownie wznawiane przy każdym dopasowaniu obsługiwane z cache'u routera Doświadczenie dewelopera najprostsze jedno awaitzawartość przesłana przez loaderDataPobierz locale w swoich server actions
Możesz chcieć uzyskać dostęp do bieżącego locale'a z wnętrza twoich server actions lub API endpoints. Możesz to zrobić używając helpera
getLocalezintlayer.Oto przykład używający server functions TanStack Start:
src/routes/{-$locale}/index.tsxKopiuj kodSkopiuj kod do schowka
Zarządzanie stronami "nie znaleziono"
Gdy użytkownik odwiedza nieistniejącą stronę, możesz wyświetlić niestandardową stronę "nie znaleziono", a prefiks lokalizacji może wpływać na sposób wyzwalania strony "nie znaleziono".
Zrozumienie obsługi 404 w TanStack Router z prefiksami lokalizacji
W TanStack Router obsługa stron 404 z zlokalizowanymi trasami wymaga podejścia wielowarstwowego:
- Dedykowana trasa 404: Konkretna trasa do wyświetlenia interfejsu 404
- Walidacja na poziomie trasy: Weryfikuje prefiksy lokalizacji i przekierowuje nieprawidłowe do 404
- Trasa catch-all: Przechwytuje wszystkie niedopasowane ścieżki w segmencie lokalizacji
src/routes/{-$locale}/404.tsxKopiuj kodSkopiuj kod do schowka
src/routes/{-$locale}/route.tsxKopiuj kodSkopiuj kod do schowka
src/routes/{-$locale}/$.tsxKopiuj kodSkopiuj kod do schowka
Wyodrębnij zawartość swoich komponentów
OpcjonalneisOptional={true}>
Jeśli masz istniejącą bazę kodu, transformacja tysięcy plików może być czasochłonna.
Aby ułatwić ten proces, Intlayer proponuje kompilator / ekstraktor, aby przetransformować komponenty i wyodrębnić zawartość.
Aby go skonfigurować, możesz dodać sekcję
compilerw plikuintlayer.config.ts:intlayer.config.tsKopiuj kodSkopiuj kod do schowka
import { type IntlayerConfig } from "intlayer"; const config: IntlayerConfig = { // ... Reszta Twojej konfiguracji compiler: { /** * Wskazuje, czy kompilator powinien być włączony. */ enabled: true, /** * Definiuje ścieżkę plików wyjściowych */ output: ({ fileName, extension }) => `./${fileName}${extension}`, /** * Wskazuje, czy komponenty powinny zostać zapisane po transformacji. W ten sposób kompilator można uruchomić tylko raz, aby przetransformować aplikację, a następnie go usunąć. */ saveComponents: false, /** * Prefiks klucza słownika */ dictionaryKeyPrefix: "", }, }; export default config;Uruchom ekstraktor, aby przetransformować komponenty i wyodrębnić zawartość
bashKopiuj kodSkopiuj kod do schowka
Since v9, the
intlayerCompileris included in theintlayerplugin. So you don't need to add it manually.Zaktualizuj
vite.config.ts, aby dołączyć wtyczkęintlayerCompiler:vite.config.tsKopiuj kodSkopiuj kod do schowka
bashKopiuj kodSkopiuj kod do schowka
Pre-render & Generate Sitemap
Intlayer wyposażony jest w wbudowany generator mapy witryny, który pomaga łatwo utworzyć mapę witryny dla aplikacji. Obsługuje zlokalizowane trasy i dodaje niezbędne metadane dla wyszukiwarek.
Generowana przez Intlayer mapa witryny obsługuje przestrzeń nazw
xhtml:link(Hreflang XML Extensions). W przeciwieństwie do domyślnych generatorów map witryny, które wyświetlają tylko surowe adresy URL, Intlayer automatycznie tworzy wymagane dwukierunkowe linki między wszystkimi wersjami językowymi strony (np./about,/about?lang=fri/about?lang=es). Zapewnia to, że wyszukiwarki prawidłowo indeksują i dostarczają odpowiednią wersję językową właściwej publiczności.Aby go używać, najpierw musisz skonfigurować swój plik
vite.config.ts, aby włączyć pre-rendering dla zlokalizowanych tras i wyłączyć domyślne generowanie mapy witryny TanStack Start.vite.config.tsKopiuj kodSkopiuj kod do schowka
Następnie utwórz trasę
src/routes/sitemap[.]xml.ts, która wykorzystuje funkcjęgenerateSitemap:src/routes/sitemap[.]xml.tsKopiuj kodSkopiuj kod do schowka
Konfiguruj TypeScript
Intlayer wykorzystuje module augmentation, aby uzyskać korzyści z TypeScript i uczynić Twoją codebase mocniejszą.
Upewnij się, że Twoja konfiguracja TypeScript zawiera autogenerowane typy:
tsconfig.jsonKopiuj kodSkopiuj kod do schowka
Konfiguracja Git
Zaleca się ignorowanie plików generowanych przez Intlayer. Pozwala to uniknąć ich zatwierdzania do repozytorium Git.
Aby to zrobić, możesz dodać następujące instrukcje do pliku .gitignore:
Skopiuj kod do schowka
Rozszerzenie VS Code
Aby ulepszyć doświadczenie programistyczne dzięki Intlayer, możesz zainstalować oficjalne rozszerzenie Intlayer dla VS Code.
Zainstaluj z VS Code Marketplace
To rozszerzenie zapewnia:
- Autouzupełnianie dla kluczy tłumaczeń.
- Wykrywanie błędów w czasie rzeczywistym dla brakujących tłumaczeń.
- Podglądy inline przetłumaczonej zawartości.
- Szybkie akcje do łatwego tworzenia i aktualizacji tłumaczeń.
Aby uzyskać więcej szczegółów na temat korzystania z rozszerzenia, zapoznaj się z dokumentacją rozszerzenia Intlayer VS Code Extension.
Idź dalej
Aby pójść dalej, możesz wdrożyć edytor wizualny lub externalizować swoją zawartość przy użyciu CMS.
Referencje Dokumentacji
- Dokumentacja Intlayer
- Dokumentacja Tanstack Start
- hook useIntlayer
- hook useLocale
- Deklaracja Zawartości
- Konfiguracja
Często Zadawane Pytania
TanStack Start nie posiada własnej warstwy i18n, więc wybór sprowadza się do bibliotek:
i18next/react-i18nextorazreact-intl: popularne biblioteki oparte na przestrzeniach nazw JSON ładowanych w runtime.Intlayer: najbardziej zaawansowane rozwiązanie. Treści deklarowane w dowolnym miejscu bazy kodu (obok każdego komponentu lub centralnie) i kompilowane w czasie budowy, w pełni typowane, z tłumaczeniem AI, edytorem wizualnym i systemem CMS.
Główną zaletą w TanStack Start jest ścisła integracja z SSR i prerenderowaniem, brak konieczności przesyłania niepotrzebnych słowników na klienta oraz autouzupełnianie TypeScript. Zobacz dlaczego Intlayer.
Znacznie mniej niż rozwiązania oparte na przestrzeniach nazw, ponieważ strona nigdy nie pobiera katalogu, którego nie renderuje. Kompilator czasu budowy zastępuje wywołania useIntlayer dokładnymi wpisami ze słownika, których używa komponent, dzięki czemu nieużywane klucze i nieużywane języki są usuwane, a słowniki dynamiczne dzielą resztę na poszczególne języki. W porównaniu z typowymi alternatywami, Intlayer zmniejsza rozmiar bundle'a i strony nawet o 50%. Zobacz optymalizację bundle'a oraz benchmark.
Tak, i są dwie drogi. Możesz migrować treść stopniowo za pomocą przewodnika migracji z react-i18next. Możesz także zachować obecne API: adaptery kompatybilności udostępniają dokładnie to samo API co react-i18next i react-intl, ale zasilane słownikami Intlayer.
Tak. Wtyczka sync JSON utrzymuje Twoje pliki /messages/{locale}/{namespace}.json jako źródło prawdy i generuje z nich słowniki Intlayer w obu kierunkach. Wtyczka sync PO robi to samo dla katalogów gettext, a pliki per locale pozwalają rozdzielić zawartość według języka zamiast grupować lokalizacje w jednym pliku.
Nie. Uruchom npx intlayer extract, a Intlayer odczyta Twoje komponenty, wyodrębni ciągi widoczne dla użytkownika i utworzy plik .content obok każdego z nich, dzięki czemu przeglądasz diff zamiast ręcznie kopiować ciągi do katalogu pojedynczo.
W przypadku w pełni zautomatyzowanego procesu Intlayer Compiler robi to samo w czasie budowania: skanuje kod JSX, TSX, Vue i Svelte przy każdej zmianie, generuje słowniki i utrzymuje je w synchronizacji za pośrednictwem hot module replacement, dzięki czemu nie trzeba w ogóle ręcznie utrzymywać kluczy.
Warto pamiętać o dwóch ograniczeniach przed włączeniem kompilatora. Działa on w oparciu o analizę statyczną, więc ciągi tekstowe istniejące tylko w czasie wykonywania, takie jak kody błędów API czy pola z CMS, pozostają poza jego zasięgiem. Musi on także odróżnić tekst dla użytkownika od logiki aplikacji, takiej jak className="active" czy kod stanu, co w dużej bazie kodu wymaga kilku adnotacji. Polecenie extract unika obu tych problemów, pozostawiając Ci pełną kontrolę.
Pięć narzędzi, wszystkie opcjonalne:
- Rozszerzenie VS Code: przejście od klucza
useIntlayerdo pliku treści, który go deklaruje, wyodrębnianie treści z komponentu oraz uruchamianie build, fill, test, push i pull z palety poleceń lub dedykowanej karty Intlayer. - Serwer LSP: taka sama świadomość w dowolnym edytorze obsługującym LSP, z funkcjami przejdź do definicji (go to definition), znajdź wszystkie referencje, podglądem przetłumaczonej wartości po najechaniu kursorem, autouzupełnianiem kluczy i pól oraz ostrzeżeniem, gdy klucz nie jest nigdzie zadeklarowany. Rozpoznaje również wywołania
i18next,react-i18next,next-intliuse-intl, co ułatwia migrację. - Serwer MCP: udostępnia dokumentację i CLI Intlayer dla Cursor, VS Code, Claude Desktop, Claude Code i ChatGPT, dzięki czemu asystent odpowiada na podstawie aktualnej dokumentacji zamiast zgadywać i może samodzielnie wykonywać polecenia, takie jak
intlayer fill. - Umiejętności agenta (Agent skills): wyspecjalizowane umiejętności, takie jak
intlayer-config,intlayer-cliiintlayer-content, oraz po jednej dla każdego frameworka, które uczą agenta konfiguracji routingu i typów węzłów treści. - Wtyczka ESLint: reguła
no-raw-textoznacza zakodowane na stałe ciągi tekstowe, z dodatkowymi regułami dla statycznych kluczy słownika i nieużywanej zawartości.
