Ajukan pertanyaan Anda dan dapatkan ringkasan dokumen dengan merujuk halaman ini dan penyedia AI pilihan Anda
Dengan mengintegrasikan Intlayer MCP Server ke AI assistant favorit Anda, Anda dapat mengambil seluruh dokumentasi langsung dari ChatGPT, DeepSeek, Cursor, VSCode, dll.
Lihat dokumentasi MCP ServerRiwayat Versi
- Inisialisasi riwayatv5.5.1029/6/2025
Konten halaman ini diterjemahkan menggunakan AI.
Lihat versi terakhir dari konten aslinya dalam bahasa InggrisJika Anda memiliki ide untuk meningkatkan dokumentasi ini, silakan berkontribusi dengan mengajukan pull request di GitHub.
Tautan GitHub ke dokumentasiSalin Markdown dokumentasi ke clipboard
Integrasi React: Dokumentasi Hook useDictionary
Bagian ini memberikan panduan rinci tentang penggunaan hook useDictionary dalam aplikasi React, memungkinkan penanganan konten yang dilokalisasi secara efisien tanpa editor visual.
Mengimpor useDictionary di React
Hook useDictionary dapat diintegrasikan ke dalam aplikasi React dengan mengimpornya berdasarkan konteks:
Komponen Klien:
import { useDictionary } from "next-intlayer"; // Digunakan dalam komponen React sisi klienKomponen Server:
import { useDictionary } from "next-intlayer/server"; // Digunakan dalam komponen React sisi server
Parameter
Hook ini menerima dua parameter:
- dictionary: Objek kamus yang dideklarasikan berisi konten terlokalisasi untuk kunci tertentu.
- locale (opsional): Locale yang diinginkan. Defaultnya adalah locale dari konteks saat ini jika tidak ditentukan.
Kamus
Semua objek kamus harus dideklarasikan dalam file konten terstruktur untuk memastikan keamanan tipe dan mencegah kesalahan saat runtime. Anda dapat menemukan instruksi pengaturan di sini. Berikut adalah contoh deklarasi konten:
Salin kode ke clipboard
import { t, type Dictionary } from "intlayer";const exampleContent = { key: "component-example", content: { title: t({ en: "Client Component Example", fr: "Exemple de composant client", es: "Ejemplo de componente cliente", }), content: t({ en: "This is the content of a client component example", fr: "Ceci est le contenu d'un exemple de composant client", es: "Este es el contenido de un ejemplo de componente cliente", }), },} satisfies Dictionary;export default exampleContent;Contoh Penggunaan di Komponen Client React
Di bawah ini adalah contoh cara menggunakan hook useDictionary dalam sebuah komponen React:
Salin kode ke clipboard
"use client";import type { FC } from "react";import { useDictionary } from "next-intlayer";import clientComponentExampleContent from "./component.content";const ClientComponentExample: FC = () => { const { title, content } = useDictionary(clientComponentExampleContent); return ( <div> <h1>{title}</h1> <p>{content}</p> </div> );};Contoh Penggunaan di React Server Component
Jika Anda menggunakan hook useDictionary di luar IntlayerServerProvider, locale harus secara eksplisit diberikan sebagai parameter saat merender komponen:
Salin kode ke clipboard
import type { FC } from "react";import { useDictionary } from "next-intlayer/server";import clientComponentExampleContent from "./component.content";const ServerComponentExample: FC = () => { const { content } = useDictionary(clientComponentExampleContent); return ( <div> <h1>{content.title}</h1> <p>{content.content}</p> </div> );};Catatan tentang Atribut
Berbeda dengan integrasi yang menggunakan editor visual, atribut seperti buttonTitle.value tidak berlaku di sini. Sebagai gantinya, akses langsung string yang sudah dilokalisasi seperti yang dideklarasikan dalam konten Anda.
<button title={content.title}>{content.content}</button>Tips Tambahan
- Keamanan Tipe: Selalu gunakan Dictionary untuk mendefinisikan kamus Anda agar memastikan keamanan tipe.
- Pembaruan Lokalisasi: Saat memperbarui konten, pastikan semua locale konsisten untuk menghindari terjemahan yang hilang.
Dokumentasi ini berfokus pada integrasi hook useDictionary, menyediakan pendekatan yang efisien untuk mengelola konten yang dilokalisasi tanpa bergantung pada fungsi editor visual.