Zadaj pytanie i otrzymaj streszczenie dokumentu, odwołując się do tej strony i wybranego dostawcy AI
Historia wersji
- "Dodano wyszukiwanie referencji, podgląd po najechaniu, autouzupełnianie i diagnostykę"v9.1.310.08.2026
- "Release LSP"v8.12.01.06.2026
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
Serwer LSP Intlayer
Serwer języka Intlayer to implementacja Language Server Protocol (LSP), która sprawia, że Twoje IDE — i Twój agent AI — rozumieją Intlayer. Łączy wywołanie takie jak useIntlayer("home") z plikiem .content.ts, który je deklaruje, w obie strony.
Funkcje
Otwórz tabelę w oknie modalnym, aby wyraźnie zobaczyć całą zawartość
| Funkcja | Skrót | Opis |
|---|---|---|
| Przejdź do definicji | F12 / Cmd+Klik | Przejście od klucza słownika lub użycia pola do jego deklaracji w pliku treści |
| Znajdź wszystkie referencje | Shift+F12 | Z pliku treści wypisanie każdego miejsca wywołania używającego tego klucza lub pola |
| Podgląd (hover) | najedź kursorem | Podgląd pól słownika lub przetłumaczonej wartości pola bez opuszczania pliku |
| Autouzupełnianie | " ' ` . | Podpowiadanie zadeklarowanych kluczy słowników wewnątrz gettera oraz pól treści po . lub przy destrukturyzacji | |
| Diagnostyka | automatycznie | Ostrzeżenie, gdy klucz nie jest zadeklarowany w żadnym pliku treści |
Warto znać dwa dodatkowe zachowania:
- Scalone słowniki — klucz podzielony na kilka plików treści zwraca jeden wynik na plik, dzięki czemu możesz przejść do każdej deklaracji.
- Obsługa monorepo — serwer rozwiązuje najbliższy każdemu plikowi
intlayer.config.*, dzięki czemu wiele projektów w jednym obszarze roboczym ma własne słowniki.
Obsługiwane wywołania
Klucz jest odczytywany albo z pozycyjnego argumentu tekstowego, albo z obiektu opcji ({ namespace }, { id }).
Otwórz tabelę w oknie modalnym, aby wyraźnie zobaczyć całą zawartość
| Biblioteka | Wywołania |
|---|---|
| Intlayer | useIntlayer, getIntlayer |
| i18next / react-i18next | useTranslation, getFixedT, t, Trans |
| next-intl / use-intl | useTranslations, getTranslations, createTranslator |
| react-intl | formatMessage, FormattedMessage |
| Lingui | useLingui, t, Trans, _ |
| vue-i18n | useI18n |
Działa to dla każdego pakietu *-intlayer (next-intlayer, react-intlayer, vue-intlayer, svelte-intlayer, solid-intlayer, preact-intlayer, angular-intlayer, lit-intlayer, express-intlayer, hono-intlayer, fastify-intlayer, intlayer) oraz dla pakietów adapterów compat, które pozwalają zachować dotychczasową składnię i18n.
Słowniki są odczytywane z wyniku budowania, więc uruchom npx intlayer build — albo pozostaw działający serwer deweloperski — aby serwer miał co rozwiązywać.
Instalacja
Serwer jest dostarczany jako binarium intlayer-lsp w pakiecie @intlayer/lsp:
Skopiuj kod do schowka
Zainstaluj go globalnie (npm install -g @intlayer/lsp), jeśli Twój edytor wymaga intlayer-lsp w PATH — dotyczy to wtyczki Claude Code oraz każdej poniższej konfiguracji wywołującej binarium bezpośrednio.
Konfiguracja
Zainstaluj rozszerzenie Intlayer dla VS Code. Serwer języka jest w nim zawarty od wersji v8.12.0 i uruchamia się automatycznie — konfiguracja nie jest wymagana.
Pozostałe funkcje opisano w dokumentacji rozszerzenia VS Code.
Cursor i Windsurf to forki VS Code korzystające z tego samego ekosystemu rozszerzeń. Zainstaluj rozszerzenie Intlayer dla VS Code raz, a serwer aktywuje się automatycznie — konfiguracja nie jest wymagana.
Intlayer dostarcza wtyczkę do Claude Code hostowaną w repozytorium Intlayer. Daje ona Claude Code prawdziwe rozwiązywanie symboli dla Twoich kluczy słowników zamiast sięgania po grep.
Umieść binarium w PATH, następnie zarejestruj marketplace i zainstaluj wtyczkę:
Skopiuj kod do schowka
install również włącza wtyczkę. Zrestartuj Claude Code — serwery języka wczytywane są przy starcie, więc wcześniej wtyczka nie działa.
Claude Code uruchomi wtedy serwer dla plików .ts, .tsx, .js, .jsx, .vue, .astro i .svelte oraz użyje goToDefinition, findReferences i hover podczas nawigacji po kodzie.
Jeśli przejście do definicji nadal nic nie robi, Twoja wersja Claude Code może ukrywać narzędzie LSP za flagą:
Skopiuj kod do schowka
Zed ma natywne wsparcie LSP. Dodaj serwer do ustawień użytkownika:
Skopiuj kod do schowka
Symbol zastępczy "..." zachowuje domyślne serwery języka Zed obok serwera Intlayer.
Za pomocą nvim-lspconfig zarejestruj własną konfigurację serwera:
Skopiuj kod do schowka
Po zrestartowaniu Neovima gd na kluczu słownika uruchamia Przejdź do definicji, a gr — Znajdź referencje.
Skopiuj kod do schowka
Skopiuj kod do schowka
Każdy edytor obsługujący LSP może uruchomić @intlayer/lsp. Wskaż mu:
- Plik wykonywalny —
npx @intlayer/lsplub binariumintlayer-lsp - Transport — stdio (standardowy)
- Możliwości —
definitionProvider,referencesProvider,hoverProvider,completionProvider(znaki wyzwalające"'`.), diagnostyka push,textDocumentSync: Incremental - Wzorce katalogu głównego —
intlayer.config.ts,intlayer.config.js,package.json
Dokładny format konfiguracji znajdziesz w dokumentacji LSP swojego edytora.
Uwaga o agentach AI w terminalu
Claude Code działa jako prawdziwy klient LSP — zobacz zakładkę powyżej.
OpenAI Codex i większość innych narzędzi terminalowych nie są klientami LSP: czytają i zapisują pliki bezpośrednio. Samo uruchomienie serwera im nie pomoże; wartość pojawia się, gdy jest aktywny w towarzyszącym edytorze, którego indeks agent może odpytać (Cursor Composer, Windsurf Cascade, Copilot Chat).
Jak to działa
Dla każdego pliku serwer lokalizuje najbliższy intlayer.config.* i wczytuje konfigurację tego projektu, aby znaleźć skompilowane słowniki. Konfiguracja, słowniki i lista plików źródłowych są buforowane z krótkim TTL i unieważniane, gdy zmieni się obserwowany plik treści.
Przy żądaniu serwer parsuje dokument (przez oxc) i bada pozycję kursora:
- Na ciągu klucza (
useIntlayer("home")) → zwraca każdy plik treści deklarujący ten klucz, ustawiony na jego liniikey:. - Na użyciu pola (
content.title, zdestrukturyzowana właściwość,t('path.to.field'),<Trans>, …) → sprowadza zmienną z powrotem do jej słownika i zwraca pasujące pole w plikach treści. - Z pliku treści → wykonuje wyszukiwanie odwrotne, przeszukując źródła projektu w poszukiwaniu miejsc wywołania tego klucza lub pola.
Rozwiązywanie problemów
Otwórz tabelę w oknie modalnym, aby wyraźnie zobaczyć całą zawartość
| Objaw | Prawdopodobna przyczyna | Rozwiązanie |
|---|---|---|
| Nic się nie dzieje | Serwer nie działa | Sprawdź, czy @intlayer/lsp jest zainstalowany i czy edytor go uruchamia |
| Działa w edytorze, ale nie w Claude Code | Wtyczka zainstalowana w trakcie sesji | Zrestartuj Claude Code — serwery języka wczytują się przy starcie |
| Nie znaleziono definicji dla klucza | Słowniki nie zostały zbudowane | Uruchom npx intlayer build albo serwer deweloperski |
| Każdy klucz zgłaszany jako niezadeklarowany | Konfiguracja nierozwiązana | Sprawdź, czy intlayer.config.ts (lub .js) istnieje w katalogu głównym projektu |
| W monorepo użyto niewłaściwego projektu | Brak konfiguracji w pakiecie | Dodaj intlayer.config.* do każdego pakietu deklarującego własną treść |
| Serwer zawiesza się przy starcie | Zbyt stara wersja Node.js | Wymaga Node.js ≥ 14.18 |
W VS Code serwer zapisuje logi w Widok → Dane wyjściowe → „Intlayer LSP” — przydatne, by potwierdzić, która konfiguracja została rozwiązana i ile słowników znaleziono.