@intlayer/docs 8.9.6 → 8.9.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/blog/ar/next-i18next_vs_next-intl_vs_intlayer.md +1 -1
- package/blog/de/next-i18next_vs_next-intl_vs_intlayer.md +1 -1
- package/blog/en/next-i18next_vs_next-intl_vs_intlayer.md +1 -1
- package/blog/en/react-i18next_vs_react-intl_vs_intlayer.md +1 -1
- package/blog/en-GB/next-i18next_vs_next-intl_vs_intlayer.md +1 -1
- package/blog/es/next-i18next_vs_next-intl_vs_intlayer.md +1 -1
- package/blog/fr/next-i18next_vs_next-intl_vs_intlayer.md +1 -1
- package/blog/id/next-i18next_vs_next-intl_vs_intlayer.md +1 -1
- package/blog/id/react-i18next_vs_react-intl_vs_intlayer.md +1 -1
- package/blog/it/next-i18next_vs_next-intl_vs_intlayer.md +1 -1
- package/blog/ja/next-i18next_vs_next-intl_vs_intlayer.md +1 -1
- package/blog/ko/next-i18next_vs_next-intl_vs_intlayer.md +1 -1
- package/blog/pl/next-i18next_vs_next-intl_vs_intlayer.md +1 -1
- package/blog/pl/react-i18next_vs_react-intl_vs_intlayer.md +1 -1
- package/blog/pt/next-i18next_vs_next-intl_vs_intlayer.md +1 -1
- package/blog/ru/next-i18next_vs_next-intl_vs_intlayer.md +1 -1
- package/blog/tr/next-i18next_vs_next-intl_vs_intlayer.md +1 -1
- package/blog/tr/react-i18next_vs_react-intl_vs_intlayer.md +1 -1
- package/blog/uk/next-i18next_vs_next-intl_vs_intlayer.md +1 -1
- package/blog/uk/react-i18next_vs_react-intl_vs_intlayer.md +1 -1
- package/blog/vi/next-i18next_vs_next-intl_vs_intlayer.md +1 -1
- package/blog/vi/react-i18next_vs_react-intl_vs_intlayer.md +1 -1
- package/blog/zh/next-i18next_vs_next-intl_vs_intlayer.md +1 -1
- package/docs/ar/interest_of_intlayer.md +107 -80
- package/docs/bn/interest_of_intlayer.md +237 -0
- package/docs/cs/interest_of_intlayer.md +237 -0
- package/docs/de/interest_of_intlayer.md +98 -74
- package/docs/en/configuration.md +2 -1
- package/docs/en/interest_of_intlayer.md +1 -1
- package/docs/en-GB/configuration.md +2 -1
- package/docs/en-GB/interest_of_intlayer.md +59 -33
- package/docs/es/interest_of_intlayer.md +28 -2
- package/docs/fr/interest_of_intlayer.md +47 -21
- package/docs/hi/interest_of_intlayer.md +114 -88
- package/docs/id/interest_of_intlayer.md +81 -81
- package/docs/it/interest_of_intlayer.md +96 -69
- package/docs/ja/interest_of_intlayer.md +108 -81
- package/docs/ko/interest_of_intlayer.md +101 -74
- package/docs/nl/interest_of_intlayer.md +237 -0
- package/docs/pl/interest_of_intlayer.md +85 -83
- package/docs/pt/interest_of_intlayer.md +91 -67
- package/docs/ru/interest_of_intlayer.md +95 -69
- package/docs/tr/interest_of_intlayer.md +94 -89
- package/docs/uk/interest_of_intlayer.md +94 -96
- package/docs/ur/interest_of_intlayer.md +237 -0
- package/docs/vi/interest_of_intlayer.md +82 -79
- package/docs/zh/interest_of_intlayer.md +99 -72
- package/docs/zh-TW/interest_of_intlayer.md +237 -0
- package/package.json +6 -6
|
@@ -1,37 +1,40 @@
|
|
|
1
1
|
---
|
|
2
2
|
createdAt: 2024-08-14
|
|
3
3
|
updatedAt: 2025-09-27
|
|
4
|
-
title:
|
|
5
|
-
description: Temukan manfaat dan
|
|
4
|
+
title: Ketertarikan pada Intlayer
|
|
5
|
+
description: Temukan manfaat dan keuntungan menggunakan Intlayer dalam proyek Anda. Pahami mengapa Intlayer menonjol di antara kerangka kerja lainnya.
|
|
6
6
|
keywords:
|
|
7
7
|
- Manfaat
|
|
8
|
-
-
|
|
8
|
+
- Keuntungan
|
|
9
9
|
- Intlayer
|
|
10
|
-
-
|
|
10
|
+
- Kerangka Kerja
|
|
11
11
|
- Perbandingan
|
|
12
12
|
slugs:
|
|
13
13
|
- doc
|
|
14
14
|
- why
|
|
15
15
|
history:
|
|
16
|
+
- version: 7.3.1
|
|
17
|
+
date: 2025-11-27
|
|
18
|
+
changes: "Rilis Kompiler"
|
|
16
19
|
- version: 5.8.0
|
|
17
20
|
date: 2025-08-19
|
|
18
|
-
changes: "
|
|
21
|
+
changes: "Pembaruan tabel komparatif"
|
|
19
22
|
- version: 5.5.10
|
|
20
23
|
date: 2025-06-29
|
|
21
|
-
changes: "
|
|
24
|
+
changes: "Riwayat awal"
|
|
22
25
|
---
|
|
23
26
|
|
|
24
27
|
# Mengapa Anda harus mempertimbangkan Intlayer?
|
|
25
28
|
|
|
26
29
|
## Apa itu Intlayer?
|
|
27
30
|
|
|
28
|
-
**Intlayer** adalah
|
|
31
|
+
**Intlayer** adalah pustaka internasionalisasi yang dirancang khusus untuk pengembang JavaScript. Ini memungkinkan deklarasi konten Anda di mana saja dalam kode Anda. Ini mengubah deklarasi konten multibahasa menjadi kamus terstruktur untuk diintegrasikan dengan mudah dalam kode Anda. Menggunakan TypeScript, **Intlayer** membuat pengembangan Anda lebih kuat dan efisien.
|
|
29
32
|
|
|
30
33
|
## Mengapa Intlayer dibuat?
|
|
31
34
|
|
|
32
|
-
Intlayer dibuat untuk
|
|
35
|
+
Intlayer dibuat untuk memecahkan masalah umum yang memengaruhi semua pustaka i18n umum seperti `next-intl`, `react-i18next`, `react-intl`, `next-i18next`, `react-intl`, dan `vue-i18n`.
|
|
33
36
|
|
|
34
|
-
Semua solusi ini mengadopsi pendekatan terpusat untuk
|
|
37
|
+
Semua solusi ini mengadopsi pendekatan terpusat untuk mendaftarkan dan mengelola konten Anda. Misalnya:
|
|
35
38
|
|
|
36
39
|
```bash
|
|
37
40
|
.
|
|
@@ -67,23 +70,23 @@ Atau di sini menggunakan namespace:
|
|
|
67
70
|
└── index.tsx
|
|
68
71
|
```
|
|
69
72
|
|
|
70
|
-
Jenis arsitektur ini memperlambat proses pengembangan dan membuat
|
|
73
|
+
Jenis arsitektur ini memperlambat proses pengembangan dan membuat basis kode lebih kompleks untuk dipelihara karena beberapa alasan:
|
|
71
74
|
|
|
72
75
|
1. **Untuk setiap komponen baru yang dibuat, Anda harus:**
|
|
73
|
-
- Membuat
|
|
76
|
+
- Membuat sumber daya/namespace baru di folder `locales`
|
|
74
77
|
- Ingat untuk mengimpor namespace baru di halaman Anda
|
|
75
|
-
- Menerjemahkan konten Anda (
|
|
78
|
+
- Menerjemahkan konten Anda (seringkali dilakukan secara manual dengan salin/tempel dari penyedia AI)
|
|
76
79
|
|
|
77
80
|
2. **Untuk setiap perubahan yang dilakukan pada komponen Anda, Anda harus:**
|
|
78
|
-
- Mencari
|
|
81
|
+
- Mencari sumber daya/namespace terkait (jauh dari komponen)
|
|
79
82
|
- Menerjemahkan konten Anda
|
|
80
|
-
- Memastikan konten Anda
|
|
81
|
-
- Memverifikasi
|
|
82
|
-
- Memastikan struktur file JSON Anda sama untuk semua
|
|
83
|
+
- Memastikan konten Anda mutakhir untuk setiap lokal
|
|
84
|
+
- Memverifikasi namespace Anda tidak menyertakan kunci/nilai yang tidak digunakan
|
|
85
|
+
- Memastikan struktur file JSON Anda sama untuk semua lokal
|
|
83
86
|
|
|
84
87
|
Pada proyek profesional yang menggunakan solusi ini, platform lokalisasi sering digunakan untuk membantu mengelola terjemahan konten Anda. Namun, ini dapat dengan cepat menjadi mahal untuk proyek besar.
|
|
85
88
|
|
|
86
|
-
Untuk
|
|
89
|
+
Untuk memecahkan masalah ini, Intlayer mengadopsi pendekatan yang melingkupi konten Anda per komponen dan menjaga konten Anda tetap dekat dengan komponen Anda, seperti yang sering kita lakukan dengan CSS (`styled-components`), tipe, dokumentasi (`storybook`), atau pengujian unit (`jest`).
|
|
87
90
|
|
|
88
91
|
```bash codeFormat="typescript"
|
|
89
92
|
.
|
|
@@ -146,81 +149,82 @@ Pendekatan ini memungkinkan Anda untuk:
|
|
|
146
149
|
|
|
147
150
|
1. **Meningkatkan kecepatan pengembangan**
|
|
148
151
|
- File `.content.{{ts|mjs|cjs|json}}` dapat dibuat menggunakan ekstensi VSCode
|
|
149
|
-
- Alat AI
|
|
152
|
+
- Alat AI penyelesaian otomatis di IDE Anda (seperti GitHub Copilot) dapat membantu Anda mendeklarasikan konten Anda, mengurangi salin/tempel
|
|
150
153
|
|
|
151
|
-
2. **Membersihkan
|
|
154
|
+
2. **Membersihkan basis kode Anda**
|
|
152
155
|
- Mengurangi kompleksitas
|
|
153
|
-
- Meningkatkan
|
|
156
|
+
- Meningkatkan pemeliharaan
|
|
154
157
|
|
|
155
|
-
3. **
|
|
158
|
+
3. **Menduplikasi komponen Anda dan konten terkaitnya dengan lebih mudah (Contoh: komponen login/register, dll.)**
|
|
156
159
|
- Dengan membatasi risiko memengaruhi konten komponen lain
|
|
157
|
-
- Dengan menyalin/
|
|
160
|
+
- Dengan menyalin/menempel konten Anda dari satu aplikasi ke aplikasi lain tanpa dependensi eksternal
|
|
158
161
|
|
|
159
|
-
4. **
|
|
160
|
-
- Jika Anda tidak menggunakan
|
|
161
|
-
- Jika Anda menghapus
|
|
162
|
+
4. **Menghindari pengotoran basis kode Anda dengan kunci/nilai yang tidak digunakan untuk komponen yang tidak digunakan**
|
|
163
|
+
- Jika Anda tidak menggunakan komponen, Intlayer tidak akan mengimpor konten terkaitnya
|
|
164
|
+
- Jika Anda menghapus komponen, Anda akan lebih mudah mengingat untuk menghapus konten terkaitnya karena akan ada di folder yang sama
|
|
162
165
|
|
|
163
|
-
5. **Mengurangi biaya penalaran
|
|
164
|
-
- Agen AI tidak perlu memindai seluruh
|
|
165
|
-
- Terjemahan dapat dengan mudah dilakukan oleh alat AI
|
|
166
|
+
5. **Mengurangi biaya penalaran bagi agen AI untuk mendeklarasikan konten multibahasa Anda**
|
|
167
|
+
- Agen AI tidak perlu memindai seluruh basis kode Anda untuk mengetahui di mana harus mengimplementasikan konten Anda
|
|
168
|
+
- Terjemahan dapat dengan mudah dilakukan oleh alat AI penyelesaian otomatis di IDE Anda (seperti GitHub Copilot)
|
|
166
169
|
|
|
167
170
|
6. **Mengoptimalkan performa pemuatan**
|
|
168
|
-
- Jika sebuah komponen dimuat secara lazy, konten terkaitnya akan dimuat
|
|
169
|
-
|
|
170
|
-
## Fitur tambahan
|
|
171
|
-
|
|
172
|
-
| Fitur
|
|
173
|
-
|
|
|
174
|
-
| 
|
|
175
|
-
| 
|
|
176
|
-
|
|
|
177
|
-
| , konten terkaitnya akan dimuat pada saat yang sama
|
|
172
|
+
|
|
173
|
+
## Fitur tambahan Intlayer
|
|
174
|
+
|
|
175
|
+
| Fitur | Deskripsi |
|
|
176
|
+
| ------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
177
|
+
|  | **Dukungan Lintas-Kerangka Kerja**<br><br>Intlayer kompatibel dengan semua kerangka kerja dan pustaka utama, termasuk Next.js, React, Vite, Vue.js, Nuxt, Preact, Express, dan banyak lagi. |
|
|
178
|
+
|  | **Manajemen Konten Berbasis JavaScript**<br><br>Manfaatkan fleksibilitas JavaScript untuk mendefinisikan dan mengelola konten Anda secara efisien. <br><br> - [Deklarasi konten](https://intlayer.org/doc/concept/content) |
|
|
179
|
+
| <img src="https://github.com/aymericzip/intlayer/blob/main/docs/assets/compiler.jpg?raw=true" alt="Fitur" width="700"> | **Kompiler**<br><br>Kompiler Intlayer mengekstrak konten secara otomatis dari komponen dan menghasilkan file kamus.<br><br> - [Kompiler](https://intlayer.org/doc/compiler) |
|
|
180
|
+
|  | **File Deklarasi Konten Per-Lokal**<br><br>Percepat pengembangan Anda dengan mendeklarasikan konten Anda sekali, sebelum pembuatan otomatis.<br><br> - [File Deklarasi Konten Per-Lokal](https://intlayer.org/doc/concept/per-locale-file) |
|
|
181
|
+
|  | **Lingkungan Type-Safe**<br><br>Manfaatkan TypeScript untuk memastikan definisi konten dan kode Anda bebas dari kesalahan, sambil juga mendapatkan keuntungan dari penyelesaian otomatis IDE.<br><br> - [Konfigurasi TypeScript](https://intlayer.org/doc/environment/vite-and-react#configure-typescript) |
|
|
182
|
+
|  | **Setup yang Disederhanakan**<br><br>Mulai dan jalankan dengan cepat dengan konfigurasi minimal. Sesuaikan pengaturan untuk internasionalisasi, perutean, AI, build, dan penanganan konten dengan mudah. <br><br> - [Jelajahi integrasi Next.js](https://intlayer.org/doc/environment/nextjs) |
|
|
183
|
+
|  | **Pengambilan Konten yang Disederhanakan**<br><br>Tidak perlu memanggil fungsi `t` Anda untuk setiap bagian konten. Ambil semua konten Anda secara langsung menggunakan satu hook.<br><br> - [Integrasi React](https://intlayer.org/doc/environment/create-react-app) |
|
|
184
|
+
|  | **Implementasi Komponen Server yang Konsisten**<br><br>Sangat cocok untuk komponen server Next.js, gunakan implementasi yang sama untuk komponen klien dan server, tidak perlu meneruskan fungsi `t` Anda melalui setiap komponen server. <br><br> - [Komponen Server](https://intlayer.org/doc/environment/nextjs#step-7-utilize-content-in-your-code) |
|
|
185
|
+
|  | **Basis Kode yang Terorganisir**<br><br>Jaga basis kode Anda lebih terorganisir: 1 komponen = 1 kamus di folder yang sama. Terjemahan yang dekat dengan komponen masing-masing meningkatkan pemeliharaan dan kejelasan. <br><br> - [Cara kerja Intlayer](https://intlayer.org/doc/concept/how-works-intlayer) |
|
|
186
|
+
|  | **Perutean yang Ditingkatkan**<br><br>Dukungan penuh perutean aplikasi, beradaptasi dengan mulus ke struktur aplikasi yang kompleks, untuk Next.js, React, Vite, Vue.js, dll.<br><br> - [Jelajahi integrasi Next.js](https://intlayer.org/doc/environment/nextjs) |
|
|
187
|
+
|  | **Dukungan Markdown**<br><br>Impor dan interpretasikan file lokal dan Markdown jarak jauh untuk konten multibahasa seperti kebijakan privasi, dokumentasi, dll. Interpretasikan dan buat metadata Markdown dapat diakses dalam kode Anda.<br><br> - [File konten](https://intlayer.org/doc/concept/content/file) |
|
|
188
|
+
|  | **Editor Visual & CMS Gratis**<br><br>Editor visual dan CMS gratis tersedia untuk penulis konten, menghilangkan kebutuhan akan platform lokalisasi. Jaga konten Anda tetap sinkron menggunakan Git, atau eksternalisasikan secara total atau sebagian dengan CMS.<br><br> - [Editor Intlayer](https://intlayer.org/doc/concept/editor) <br> - [CMS Intlayer](https://intlayer.org/doc/concept/cms) |
|
|
189
|
+
|  | **Konten Tree-shakable**<br><br>Konten tree-shakable, mengurangi ukuran bundel akhir. Memuat konten per komponen, tidak termasuk konten yang tidak digunakan dari bundel Anda. Mendukung pemuatan malas (lazy loading) untuk meningkatkan efisiensi pemuatan aplikasi. <br><br> - [Optimasi build aplikasi](https://intlayer.org/doc/concept/how-works-intlayer#app-build-optimization) |
|
|
190
|
+
|  | **Rendering Statis**<br><br>Tidak memblokir Rendering Statis. <br><br> - [Integrasi Next.js](https://intlayer.org/doc/environment/nextjs) |
|
|
191
|
+
|  | **Terjemahan Berbasis AI**<br><br>Ubah situs web Anda ke dalam 231 bahasa hanya dengan satu klik menggunakan alat terjemahan bertenaga AI canggih dari Intlayer dengan penyedia AI/kunci API Anda sendiri. <br><br> - [Integrasi CI/CD](https://intlayer.org/doc/concept/ci-cd) <br> - [CLI Intlayer](https://intlayer.org/doc/concept/cli) <br> - [Isi otomatis](https://intlayer.org/doc/concept/auto-fill) |
|
|
192
|
+
|  | **Integrasi Server MCP**<br><br>Menyediakan server MCP (Model Context Protocol) untuk otomatisasi IDE, memungkinkan manajemen konten dan alur kerja i18n yang lancar langsung di dalam lingkungan pengembangan Anda. <br><br> - [Server MCP](https://github.com/aymericzip/intlayer/blob/main/docs/id/mcp_server.md) |
|
|
193
|
+
|  | **Ekstensi VSCode**<br><br>Intlayer menyediakan ekstensi VSCode untuk membantu Anda mengelola konten dan terjemahan, membangun kamus, menerjemahkan konten, dan banyak lagi. <br><br> - [Ekstensi VSCode](https://intlayer.org/doc/vs-code-extension) |
|
|
194
|
+
|  | **Interoperabilitas**<br><br>Memungkinkan interoperabilitas dengan react-i18next, next-i18next, next-intl, dan react-intl. <br><br> - [Intlayer dan react-intl](https://intlayer.org/blog/intlayer-with-react-intl) <br> - [Intlayer dan next-intl](https://intlayer.org/blog/intlayer-with-next-intl) <br> - [Intlayer dan next-i18next](https://intlayer.org/blog/intlayer-with-next-i18next) |
|
|
195
|
+
| Menguji Terjemahan yang Hilang (CLI/CI) | ✅ CLI: npx intlayer content test (audit ramah CI) |
|
|
192
196
|
|
|
193
197
|
## Perbandingan Intlayer dengan solusi lain
|
|
194
198
|
|
|
195
|
-
| Fitur
|
|
196
|
-
|
|
|
197
|
-
| **Terjemahan Dekat Komponen**
|
|
198
|
-
| **Integrasi TypeScript**
|
|
199
|
-
| **Deteksi Terjemahan yang Hilang**
|
|
200
|
-
| **Konten Kaya (JSX/Markdown/komponen)**
|
|
201
|
-
| **Terjemahan Berbasis AI**
|
|
202
|
-
| **Editor Visual**
|
|
203
|
-
| **
|
|
204
|
-
| **
|
|
205
|
-
| **Pluralisasi**
|
|
206
|
-
| **
|
|
207
|
-
| **Format Konten**
|
|
208
|
-
| **Dukungan ICU**
|
|
209
|
-
| **
|
|
210
|
-
| **Ekosistem / Komunitas**
|
|
211
|
-
| **Rendering
|
|
212
|
-
| **Tree-shaking (
|
|
213
|
-
| **Lazy loading**
|
|
214
|
-
| **
|
|
215
|
-
| **Manajemen Proyek Besar**
|
|
199
|
+
| Fitur | `intlayer` | `react-i18next` | `react-intl` (FormatJS) | `lingui` | `next-intl` | `next-i18next` | `vue-i18n` |
|
|
200
|
+
| --------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------ | -------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------ | ----------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------ |
|
|
201
|
+
| **Terjemahan Dekat Komponen** | ✅ Ya, konten diletakkan bersama dengan setiap komponen | ❌ Tidak | ❌ Tidak | ❌ Tidak | ❌ Tidak | ❌ Tidak | ✅ Ya - menggunakan `Single File Components` (SFCs) |
|
|
202
|
+
| **Integrasi TypeScript** | ✅ Lanjutan, tipe ketat yang dihasilkan secara otomatis | ⚠️ Dasar; perlu konfigurasi ekstra untuk keamanan | ✅ Bagus, tapi kurang ketat | ⚠️ Tipifikasi, perlu konfigurasi | ✅ Bagus | ⚠️ Dasar | ✅ Bagus (tipe tersedia; keamanan kunci perlu pengaturan) |
|
|
203
|
+
| **Deteksi Terjemahan yang Hilang** | ✅ Penyorotan kesalahan TypeScript dan kesalahan/peringatan waktu build | ⚠️ Sebagian besar string fallback saat runtime | ⚠️ String fallback | ⚠️ Perlu konfigurasi ekstra | ⚠️ Runtime fallback | ⚠️ Runtime fallback | ⚠️ Runtime fallback/peringatan (dapat dikonfigurasi) |
|
|
204
|
+
| **Konten Kaya (JSX/Markdown/komponen)** | ✅ Dukungan langsung | ⚠️ Terbatas / hanya interpolasi | ⚠️ Sintaks ICU, bukan JSX asli | ⚠️ Terbatas | ❌ Tidak dirancang untuk node kaya | ⚠️ Terbatas | ⚠️ Terbatas (komponen melalui `<i18n-t>`, Markdown melalui plugin) |
|
|
205
|
+
| **Terjemahan Berbasis AI** | ✅ Ya, mendukung beberapa penyedia AI. Dapat digunakan dengan kunci API Anda sendiri. Mempertimbangkan konteks aplikasi dan cakupan konten | ❌ Tidak | ❌ Tidak | ❌ Tidak | ❌ Tidak | ❌ Tidak | ❌ Tidak |
|
|
206
|
+
| **Editor Visual** | ✅ Ya, Editor Visual lokal + CMS opsional; dapat mengeksternalisasi konten basis kode; dapat disematkan | ❌ Tidak / tersedia melalui platform lokalisasi eksternal | ❌ Tidak / tersedia melalui platform lokalisasi eksternal | ❌ Tidak / tersedia melalui platform lokalisasi eksternal | ❌ Tidak / tersedia melalui platform lokalisasi eksternal | ❌ Tidak / tersedia melalui platform lokalisasi eksternal | ❌ Tidak / tersedia melalui platform lokalisasi eksternal |
|
|
207
|
+
| **Perutean Terlokalisasi** | ✅ Ya, mendukung jalur terlokalisasi secara langsung (berfungsi dengan Next.js & Vite) | ⚠️ Tidak bawaan, memerlukan plugin (misal: `next-i18next`) atau konfigurasi router kustom | ❌ Tidak, hanya pemformatan pesan, perutean harus manual | ⚠️ Tidak bawaan, memerlukan plugin atau konfigurasi manual | ✅ Bawaan, App Router mendukung segmen `[locale]` | ✅ Bawaan | ✅ Bawaan |
|
|
208
|
+
| **Pembuatan Rute Dinamis** | ✅ Ya | ⚠️ Plugin/ekosistem atau pengaturan manual | ❌ Tidak disediakan | ⚠️ Plugin/manual | ✅ Ya | ✅ Ya | ❌ Tidak disediakan (Nuxt i18n menyediakan) |
|
|
209
|
+
| **Pluralisasi** | ✅ Pola berbasis enumerasi | ✅ Dapat dikonfigurasi (plugin seperti i18next-icu) | ✅ (ICU) | ✅ (ICU/messageformat) | ✅ Bagus | ✅ Bagus | ✅ Aturan plural bawaan |
|
|
210
|
+
| **Pemformatan (tanggal, angka, mata uang)** | ✅ Pemformat yang dioptimalkan (Intl di balik layar) | ⚠️ Melalui plugin atau penggunaan Intl kustom | ✅ Pemformat ICU | ✅ Helper ICU/CLI | ✅ Bagus (Intl helper) | ✅ Bagus (Intl helper) | ✅ Pemformat tanggal/angka bawaan (Intl) |
|
|
211
|
+
| **Format Konten** | ✅ .tsx, .ts, .js, .json, .md, .txt, (.yaml sedang dikerjakan) | ⚠️ .json | ✅ .json, .js | ⚠️ .po, .json | ✅ .json, .js, .ts | ⚠️ .json | ✅ .json, .js |
|
|
212
|
+
| **Dukungan ICU** | ⚠️ Sedang dikerjakan | ⚠️ Melalui plugin (i18next-icu) | ✅ Ya | ✅ Ya | ✅ Ya | ⚠️ Melalui plugin (`i18next-icu`) | ⚠️ Melalui pemformat/kompiler kustom |
|
|
213
|
+
| **SEO Helper (hreflang, sitemap)** | ✅ Alat bawaan: helper untuk sitemap, robots.txt, metadata | ⚠️ Plugin komunitas/manual | ❌ Bukan inti | ❌ Bukan inti | ✅ Bagus | ✅ Bagus | ❌ Bukan inti (Nuxt i18n menyediakan helper) |
|
|
214
|
+
| **Ekosistem / Komunitas** | ⚠️ Lebih kecil tetapi tumbuh cepat dan reaktif | ✅ Terbesar dan matang | ✅ Besar | ⚠️ Lebih kecil | ✅ Ukuran menengah, fokus pada Next.js | ✅ Ukuran menengah, fokus pada Next.js | ✅ Besar dalam ekosistem Vue |
|
|
215
|
+
| **Server-side Rendering & Server Components** | ✅ Ya, disederhanakan untuk SSR / React Server Components | ⚠️ Didukung di tingkat halaman tetapi perlu meneruskan fungsi-t pada pohon komponen untuk komponen server anak | ⚠️ Didukung di tingkat halaman dengan pengaturan tambahan, tetapi perlu meneruskan fungsi-t pada pohon komponen untuk komponen server anak | ✅ Didukung, perlu pengaturan | ⚠️ Didukung di tingkat halaman tetapi perlu meneruskan fungsi-t pada pohon komponen untuk komponen server anak | ⚠️ Didukung di tingkat halaman tetapi perlu meneruskan fungsi-t pada pohon komponen untuk komponen server anak | ✅ SSR melalui Nuxt/Vue SSR (tanpa RSC) |
|
|
216
|
+
| **Tree-shaking (hanya muat konten yang digunakan)** | ✅ Ya, per komponen pada waktu build melalui plugin Babel/SWC | ⚠️ Biasanya memuat semua (dapat ditingkatkan dengan namespace/pemecahan kode) | ⚠️ Biasanya memuat semua | ❌ Bukan default | ⚠️ Parsial | ⚠️ Parsial | ⚠️ Parsial (dengan pemecahan kode/pengaturan manual) |
|
|
217
|
+
| **Lazy loading** | ✅ Ya, per lokal / per kamus | ✅ Ya (misal: backend/namespace sesuai permintaan) | ✅ Ya (pemisahan bundel lokal) | ✅ Ya (impor katalog dinamis) | ✅ Ya (per rute/per lokal), perlu manajemen namespace | ✅ Ya (per rute/per lokal), perlu manajemen namespace | ✅ Ya (pesan lokal asinkron) |
|
|
218
|
+
| **Bersihkan konten yang tidak digunakan** | ✅ Ya, per kamus pada waktu build | ❌ Tidak, hanya melalui segmentasi namespace manual | ❌ Tidak, semua pesan yang dideklarasikan dibundel | ✅ Ya, kunci yang tidak digunakan terdeteksi & dihapus saat build | ❌ Tidak, dapat dikelola secara manual dengan manajemen namespace | ❌ Tidak, dapat dikelola secara manual dengan manajemen namespace | ❌ Tidak, hanya mungkin melalui lazy-loading manual |
|
|
219
|
+
| **Manajemen Proyek Besar** | ✅ Mendorong modularitas, cocok untuk sistem desain | ⚠️ Perlu disiplin file yang baik | ⚠️ Katalog pusat bisa menjadi besar | ⚠️ Bisa menjadi kompleks | ✅ Modular dengan pengaturan | ✅ Modular dengan pengaturan | ✅ Modular dengan pengaturan Vue Router/Nuxt i18n |
|
|
216
220
|
|
|
217
221
|
---
|
|
218
222
|
|
|
219
223
|
## Bintang GitHub
|
|
220
224
|
|
|
221
|
-
Bintang GitHub adalah indikator kuat dari popularitas proyek, kepercayaan komunitas, dan relevansi jangka panjang. Meskipun bukan ukuran langsung dari kualitas teknis, bintang tersebut mencerminkan berapa banyak pengembang yang menganggap proyek
|
|
225
|
+
Bintang GitHub adalah indikator kuat dari popularitas proyek, kepercayaan komunitas, dan relevansi jangka panjang. Meskipun bukan ukuran langsung dari kualitas teknis, bintang-bintang tersebut mencerminkan berapa banyak pengembang yang menganggap proyek tersebut berguna, mengikuti kemajuannya, dan kemungkinan akan mengadopsinya. Untuk memperkirakan nilai suatu proyek, bintang membantu membandingkan daya tarik di berbagai alternatif dan memberikan wawasan tentang pertumbuhan ekosistem.
|
|
222
226
|
|
|
223
|
-
[](https://www.star-history.com/#formatjs/formatjs&i18next/react-i18next&i18next/i18next&i18next/next-i18next&lingui/js-lingui&amannn/next-intl&intlify/vue-i18n&opral/paraglide-js&aymericzip/intlayer)
|
|
224
228
|
|
|
225
229
|
---
|
|
226
230
|
|
|
@@ -228,10 +232,6 @@ Bintang GitHub adalah indikator kuat dari popularitas proyek, kepercayaan komuni
|
|
|
228
232
|
|
|
229
233
|
`intlayer` juga dapat membantu mengelola namespace `react-intl`, `react-i18next`, `next-intl`, `next-i18next`, dan `vue-i18n` Anda.
|
|
230
234
|
|
|
231
|
-
Menggunakan `intlayer`, Anda dapat mendeklarasikan konten
|
|
235
|
+
Menggunakan `intlayer`, Anda dapat mendeklarasikan konten dalam format pustaka i18n favorit Anda, dan intlayer akan menghasilkan namespace Anda di lokasi pilihan Anda (contoh: `/messages/{{locale}}/{{namespace}}.json`).
|
|
232
236
|
|
|
233
|
-
Lihat opsi
|
|
234
|
-
|
|
235
|
-
```
|
|
236
|
-
|
|
237
|
-
```
|
|
237
|
+
Lihat [opsi dictionaryOutput dan i18nextResourcesDir](https://intlayer.org/doc/concept/configuration#content-configuration) untuk detail lebih lanjut.
|