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
- "Aktualizacja użycia API useIntlayer w Solid do bezpośredniego dostępu do właściwości"v8.9.04.05.2026
- "Dodaj komendę init"v8.0.030.12.2025
- "Zainicjuj historię"v5.5.1029.06.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ę Angular 19 (Webpack) za pomocą Intlayer | Umiędzynarodowienie (i18n)
Spis treści
Dlaczego Interlayer zamiast alternatyw?
W porównaniu do głównych rozwiązań, takich jak ngx-translate czy angular-l10n, Intlayer jest rozwiązaniem wyposażonym w zintegrowane optymalizacje, takie jak:
Intlayer jest zoptymalizowany do doskonałej współpracy z Angularem, oferując zakres zawartości na poziomie komponentu, tłumaczenia z opóźnieniem i wszystkie funkcje potrzebne do skalowania internacjonalizacji (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 napisany, 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ą] (/pl/doc/concept/cms), 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 po konfiguracji Intlayer w aplikacji Angular
Zobacz Szablon aplikacji na GitHubie.
Instalacja zależności
Zainstaluj niezbędne pakiety za pomocą npm:
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 dostarczający narzędzia i18n do zarządzania konfiguracją, tłumaczeń, deklaracji treści, transpilacji oraz poleceń CLI.
angular-intlayer Pakiet integrujący Intlayer z aplikacją Angular. Dostarcza dostawców kontekstu i hooki dla umiędzynarodowienia Angulara.
@angular-builders/custom-webpack Wymagany do dostosowania konfiguracji Webpack w Angular CLI.
Konfiguracja projektu
Utwórz plik konfiguracyjny, aby ustawić języki swojej aplikacji:
intlayer.config.tsKopiuj kodSkopiuj kod do schowka
import { Locales, type IntlayerConfig } from "intlayer"; const config: IntlayerConfig = { internationalization: { locales: [ Locales.ENGLISH, Locales.FRENCH, Locales.SPANISH, // Twoje pozostałe języki ], defaultLocale: Locales.ENGLISH, }, }; export default config;Poprzez ten plik konfiguracyjny możesz ustawić zlokalizowane adresy URL, przekierowania middleware, nazwy ciasteczek, lokalizację i rozszerzenia 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 Angulara
Aby zintegrować Intlayer z Angular CLI, musisz użyć niestandardowego buildera. Ten przewodnik zakłada, że używasz Webpacka (domyślny dla wielu projektów Angular).
Najpierw zmodyfikuj plik
angular.json, aby używał niestandardowego buildera Webpack. Zaktualizuj konfiguracjebuildiserve:angular.jsonKopiuj kodSkopiuj kod do schowka
Pamiętaj, aby zastąpić
your-app-namerzeczywistą nazwą swojego projektu wangular.json.Następnie utwórz plik
webpack.config.tsw katalogu głównym projektu:webpack.config.tsKopiuj kodSkopiuj kod do schowka
Funkcja
mergeConfigkonfiguruje Webpacka pod kątem Intlayer. WstrzykujeIntlayerPlugin(do obsługi plików deklaracji treści) i ustawia aliasy dla optymalnej wydajności.Deklarowanie treści
Twórz i zarządzaj swoimi deklaracjami treści, aby przechowywać tłumaczenia:
Twoje deklaracje treści mogą być zdefiniowane w dowolnym miejscu w aplikacji, o ile znajdują się w katalogu
contentDir(domyślnie./src) i pasują do rozszerzenia pliku deklaracji treści (domyślnie.content.{json,ts,tsx,js,jsx,mjs,cjs,md,mdx,yaml,yml}).Więcej szczegółów znajdziesz w dokumentacji deklaracji treści.
Wykorzystanie Intlayer w kodzie
Aby korzystać z funkcji umiędzynarodowienia Intlayer w całej aplikacji Angular, musisz dostarczyć Intlayer w konfiguracji aplikacji.
src/app/app.config.tsKopiuj kodSkopiuj kod do schowka
Następnie możesz użyć funkcji
useIntlayerw dowolnym komponencie.src/app/app.component.tsKopiuj kodSkopiuj kod do schowka
I w swoim szablonie:
src/app/app.component.htmlKopiuj kodSkopiuj kod do schowka
Treść Intlayer jest zwracana jako
Signal, więc dostęp do wartości uzyskujesz poprzez wywołanie sygnału:content().title.Zmiana języka treści
OpcjonalneAby zmienić język treści, możesz użyć funkcji
setLocaledostarczonej przez funkcjęuseLocale. Pozwala to ustawić język aplikacji i odpowiednio zaktualizować treść.Utwórz komponent do przełączania języków:
src/app/locale-switcher.component.tsKopiuj kodSkopiuj kod do schowka
Następnie użyj tego komponentu w
app.component.ts:src/app/app.component.tsKopiuj kodSkopiuj kod do schowka
Konfiguracja TypeScript
Intlayer używa rozszerzania modułów (module augmentation), aby czerpać korzyści z TypeScript i wzmacniać bazę kodu.


Upewnij się, że Twoja konfiguracja TypeScript zawiera automatycznie generowane typy.
Skopiuj kod do schowka
Konfiguracja Git
Zaleca się ignorowanie plików generowanych przez Intlayer. Pozwala to uniknąć ich commitowania do repozytorium Git.
Aby to zrobić, możesz dodać następujące instrukcje do pliku .gitignore:
Skopiuj kod do schowka
Rozszerzenie VS Code
Aby poprawić wrażenia z programowania z Intlayer, możesz zainstalować oficjalne rozszerzenie Intlayer VS Code Extension.
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ąd inline przetłumaczonej treści.
- Szybkie akcje ułatwiające tworzenie i aktualizowanie tłumaczeń.
Więcej szczegółów na temat korzystania z rozszerzenia znajdziesz w dokumentacji rozszerzenia Intlayer dla VS Code.
Dowiedz się więcej
Aby pójść dalej, możesz wdrożyć edytor wizualny lub wyeksportować swoje treści za pomocą CMS.
Często Zadawane Pytania
- Wbudowane
@angular/localize: oficjalne rozwiązanie kompilujące odrębny bundle aplikacji dla każdego języka. Wymaga osobnego wdrożenia per język. ngx-translateiTransloco: katalogi JSON ładowane w runtime za pośrednictwem pipe'ów lub dyrektyw.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.
W Angularze 19 Intlayer integruje się bezpośrednio z Angular Signals: sygnał useIntlayer aktualizuje szablony natychmiast po zmianie języka bez przeładowywania strony. 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 odwołania do treści dokładnymi wpisami, których używa komponent, 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.
W znacznej mierze tak. Postępuj zgodnie z przeglądem adapterów kompatybilności, aby przenieść treść. Możesz także migrować stopniowo: wtyczka synchronizacji JSON utrzymuje Twoje pliki JSON jako źródło prawdy i generuje z nich słowniki 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 pliki źródłowe, 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 kompilacji kodu źródłowego JSX, TSX, Vue i Svelte, generując słowniki przy każdej zmianie, dzięki czemu nie trzeba ręcznie zarządzać kluczami. Działa w oparciu o analizę statyczną, więc ciągi znaków istniejące tylko w czasie wykonywania pozostają poza zasięgiem, a rozróżnienie tekstu dla użytkownika od logiki aplikacji wymaga kilku adnotacji.
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.
