Zadaj pytanie i otrzymaj streszczenie dokumentu, odwołując się do tej strony i wybranego dostawcy AI
Historia wersji
- "Inicjalizacja historii"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
Zagnieżdżanie / Odwołania do podtreści
Jak działa zagnieżdżanie
W Intlayer zagnieżdżanie realizowane jest za pomocą funkcji nest, która pozwala na odwoływanie się do treści z innego słownika i jej ponowne wykorzystanie. Zamiast duplikować treść, możesz wskazać istniejący moduł treści za pomocą jego klucza.
Konfiguracja zagnieżdżania
Aby skonfigurować zagnieżdżanie w projekcie Intlayer, najpierw definiujesz zawartość bazową, którą chcesz ponownie wykorzystać. Następnie w osobnym module zawartości używasz funkcji nest do zaimportowania tej zawartości.
Słownik podstawowy
Poniżej znajduje się przykład słownika podstawowego do zagnieżdżenia w innym słowniku:
Skopiuj kod do schowka
import { t, type Dictionary } from "intlayer";
const myFirstDictionary = {
key: "key_of_my_first_dictionary",
content: {
mySubContent: t({
pl: "Cześć",
en: "Hello",
fr: "Bonjour",
es: "Hola",
}),
},
} satisfies Dictionary;
export default myFirstDictionary;
Odwoływanie się ze słownika bazowego
Następnie w drugim słowniku używasz funkcji nest do odwołania się do pierwszego słownika:
Skopiuj kod do schowka
import { nest, type Dictionary } from "intlayer";
const mySecondDictionary = {
key: "key_of_my_second_dictionary",
content: {
// Odwołaj się do całego słownika:
fullNestedContent: nest("key_of_my_first_dictionary"),
// Lub odwołaj się do konkretnej wartości zagnieżdżonej:
partialNestedContent: nest("key_of_my_first_dictionary", "mySubContent"),
},
} satisfies Dictionary;
export default mySecondDictionary;
Jako drugi parametr możesz określić ścieżkę do wartości zagnieżdżonej w ramach tej zawartości. Jeśli nie zostanie podana żadna ścieżka, zwracana jest cała zawartość wskazanego słownika.
Używanie zagnieżdżania
Aby użyć zagnieżdżonej treści w komponencie React, skorzystaj z hooka useIntlayer z pakietu react-intlayer. Hook ten pobiera odpowiednią treść na podstawie podanego klucza. Oto przykład użycia:
Skopiuj kod do schowka
import type { FC } from "react";
import { useIntlayer } from "react-intlayer";
const NestComponent: FC = () => {
const { fullNestedContent, partialNestedContent } = useIntlayer(
"key_of_my_second_dictionary"
);
return (
<div>
<p>Pełna zagnieżdżona treść: {JSON.stringify(fullNestedContent)}</p>
<p>Częściowa zagnieżdżona wartość: {partialNestedContent}</p>
</div>
);
};
export default NestComponent;
Aby użyć zagnieżdżonej treści w komponentach klienckich Next.js (Client Components), pobierz ją za pomocą hooka useIntlayer. Oto przykład:
Skopiuj kod do schowka
"use client";
import type { FC } from "react";
import { useIntlayer } from "next-intlayer";
const NestComponent: FC = () => {
const { fullNestedContent, partialNestedContent } = useIntlayer(
"key_of_my_second_dictionary"
);
return (
<div>
<p>{JSON.stringify(fullNestedContent)}</p>
<p>{partialNestedContent}</p>
</div>
);
};
export default NestComponent;
Aby użyć zagnieżdżonej treści w komponentach Vue, pobierz ją za pomocą hooka useIntlayer. Oto przykład:
Skopiuj kod do schowka
Aby użyć zagnieżdżonej treści w komponentach Svelte, pobierz ją za pomocą hooka useIntlayer. Dostęp do magazynu (store) uzyskujemy przez $. Oto przykład:
Skopiuj kod do schowka
Aby użyć zagnieżdżonej treści w komponentach Preact, pobierz ją za pomocą hooka useIntlayer. Oto przykład:
Skopiuj kod do schowka
import type { FC } from "preact";
import { useIntlayer } from "preact-intlayer";
const NestComponent: FC = () => {
const { fullNestedContent, partialNestedContent } = useIntlayer(
"key_of_my_second_dictionary"
);
return (
<div>
<p>{JSON.stringify(fullNestedContent)}</p>
<p>{partialNestedContent}</p>
</div>
);
};
export default NestComponent;
Aby użyć zagnieżdżonej treści w komponentach SolidJS, pobierz ją za pomocą hooka useIntlayer. Oto przykład:
Skopiuj kod do schowka
import type { Component } from "solid-js";
import { useIntlayer } from "solid-intlayer";
const NestComponent: Component = () => {
const { fullNestedContent, partialNestedContent } = useIntlayer(
"key_of_my_second_dictionary"
);
return (
<div>
<p>{JSON.stringify(fullNestedContent)}</p>
<p>{partialNestedContent}</p>
</div>
);
};
export default NestComponent;
Aby użyć zagnieżdżonej treści w komponentach Angular, pobierz ją za pomocą funkcji useIntlayer. Oto przykład:
Skopiuj kod do schowka
Aby użyć zagnieżdżonej treści w czystym JavaScript (vanilla-intlayer), pobierz ją za pomocą funkcji useIntlayer. Oto przykład:
Skopiuj kod do schowka
import { installIntlayer, useIntlayer } from "vanilla-intlayer";
installIntlayer();
const content = useIntlayer("key_of_my_second_dictionary").onChange(
(newContent) => {
document.getElementById("full-nested-content")!.textContent =
JSON.stringify(newContent.fullNestedContent);
document.getElementById("partial-nested-content")!.textContent =
newContent.partialNestedContent;
}
);
// Pierwsze renderowanie
document.getElementById("full-nested-content")!.textContent = JSON.stringify(
content.fullNestedContent
);
document.getElementById("partial-nested-content")!.textContent =
content.partialNestedContent;
Dodatkowe zasoby
Aby uzyskać bardziej szczegółowe informacje na temat konfiguracji i użytkowania, zapoznaj się z następującymi zasobami:
Te zasoby oferują dodatkowe informacje na temat konfiguracji i użytkowania Intlayer w różnych środowiskach oraz frameworkach.
