@intlayer/docs 8.3.0-canary.4 → 8.3.1
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/docs/ar/compiler.md +84 -49
- package/docs/ar/configuration.md +80 -37
- package/docs/ar/intlayer_with_nextjs_16.md +174 -1
- package/docs/ar/intlayer_with_nextjs_compiler.md +174 -1
- package/docs/ar/intlayer_with_react_router_v7.md +224 -1
- package/docs/ar/intlayer_with_react_router_v7_fs_routes.md +225 -1
- package/docs/ar/intlayer_with_svelte_kit.md +175 -2
- package/docs/ar/intlayer_with_tanstack.md +176 -1
- package/docs/ar/intlayer_with_vite+preact.md +174 -1
- package/docs/ar/intlayer_with_vite+react.md +174 -1
- package/docs/ar/intlayer_with_vite+solid.md +174 -1
- package/docs/ar/intlayer_with_vite+svelte.md +174 -1
- package/docs/ar/intlayer_with_vite+vue.md +174 -1
- package/docs/de/compiler.md +83 -48
- package/docs/de/configuration.md +434 -212
- package/docs/de/intlayer_with_nextjs_16.md +176 -1
- package/docs/de/intlayer_with_nextjs_compiler.md +106 -349
- package/docs/de/intlayer_with_react_router_v7.md +225 -2
- package/docs/de/intlayer_with_react_router_v7_fs_routes.md +221 -79
- package/docs/de/intlayer_with_svelte_kit.md +158 -2
- package/docs/de/intlayer_with_tanstack.md +159 -1
- package/docs/de/intlayer_with_vite+preact.md +157 -1
- package/docs/de/intlayer_with_vite+react.md +157 -1
- package/docs/de/intlayer_with_vite+solid.md +159 -3
- package/docs/de/intlayer_with_vite+svelte.md +157 -1
- package/docs/de/intlayer_with_vite+vue.md +157 -1
- package/docs/en/compiler.md +60 -33
- package/docs/en/configuration.md +80 -57
- package/docs/en/intlayer_with_nextjs_16.md +176 -0
- package/docs/en/intlayer_with_nextjs_compiler.md +179 -1
- package/docs/en/intlayer_with_react_router_v7.md +159 -0
- package/docs/en/intlayer_with_react_router_v7_fs_routes.md +159 -0
- package/docs/en/intlayer_with_svelte_kit.md +159 -0
- package/docs/en/intlayer_with_tanstack.md +160 -1
- package/docs/en/intlayer_with_vite+preact.md +159 -0
- package/docs/en/intlayer_with_vite+react.md +159 -0
- package/docs/en/intlayer_with_vite+solid.md +148 -27
- package/docs/en/intlayer_with_vite+svelte.md +159 -0
- package/docs/en/intlayer_with_vite+vue.md +142 -41
- package/docs/en-GB/compiler.md +66 -34
- package/docs/en-GB/configuration.md +78 -36
- package/docs/es/compiler.md +83 -48
- package/docs/es/configuration.md +429 -206
- package/docs/es/intlayer_with_adonisjs.md +1 -1
- package/docs/es/intlayer_with_express.md +1 -1
- package/docs/es/intlayer_with_fastify.md +1 -1
- package/docs/es/intlayer_with_hono.md +1 -1
- package/docs/es/intlayer_with_nestjs.md +1 -1
- package/docs/es/intlayer_with_nextjs_16.md +176 -3
- package/docs/es/intlayer_with_nextjs_compiler.md +175 -2
- package/docs/es/intlayer_with_nuxt.md +1 -1
- package/docs/es/intlayer_with_react_router_v7.md +227 -4
- package/docs/es/intlayer_with_react_router_v7_fs_routes.md +162 -4
- package/docs/es/intlayer_with_svelte_kit.md +158 -2
- package/docs/es/intlayer_with_tanstack.md +160 -2
- package/docs/es/intlayer_with_vite+preact.md +162 -6
- package/docs/es/intlayer_with_vite+react.md +160 -4
- package/docs/es/intlayer_with_vite+solid.md +163 -7
- package/docs/es/intlayer_with_vite+svelte.md +157 -1
- package/docs/es/intlayer_with_vite+vue.md +165 -9
- package/docs/fr/compiler.md +81 -46
- package/docs/fr/configuration.md +355 -134
- package/docs/fr/intlayer_with_adonisjs.md +1 -1
- package/docs/fr/intlayer_with_express.md +1 -1
- package/docs/fr/intlayer_with_fastify.md +1 -1
- package/docs/fr/intlayer_with_hono.md +1 -1
- package/docs/fr/intlayer_with_nestjs.md +1 -1
- package/docs/fr/intlayer_with_nextjs_16.md +183 -7
- package/docs/fr/intlayer_with_nextjs_compiler.md +179 -3
- package/docs/fr/intlayer_with_react_router_v7.md +229 -3
- package/docs/fr/intlayer_with_react_router_v7_fs_routes.md +237 -6
- package/docs/fr/intlayer_with_svelte_kit.md +158 -2
- package/docs/fr/intlayer_with_tanstack.md +159 -1
- package/docs/fr/intlayer_with_vite+preact.md +164 -8
- package/docs/fr/intlayer_with_vite+react.md +162 -6
- package/docs/fr/intlayer_with_vite+solid.md +163 -7
- package/docs/fr/intlayer_with_vite+svelte.md +157 -1
- package/docs/fr/intlayer_with_vite+vue.md +164 -8
- package/docs/hi/compiler.md +81 -46
- package/docs/hi/configuration.md +87 -44
- package/docs/hi/intlayer_with_nextjs_16.md +174 -1
- package/docs/hi/intlayer_with_nextjs_compiler.md +174 -1
- package/docs/hi/intlayer_with_react_router_v7.md +224 -1
- package/docs/hi/intlayer_with_react_router_v7_fs_routes.md +225 -1
- package/docs/hi/intlayer_with_svelte_kit.md +158 -2
- package/docs/hi/intlayer_with_tanstack.md +159 -1
- package/docs/hi/intlayer_with_vite+preact.md +157 -1
- package/docs/hi/intlayer_with_vite+react.md +157 -1
- package/docs/hi/intlayer_with_vite+solid.md +157 -1
- package/docs/hi/intlayer_with_vite+svelte.md +157 -1
- package/docs/hi/intlayer_with_vite+vue.md +157 -1
- package/docs/id/compiler.md +84 -51
- package/docs/id/configuration.md +83 -45
- package/docs/id/intlayer_with_nextjs_16.md +174 -1
- package/docs/id/intlayer_with_nextjs_compiler.md +174 -1
- package/docs/id/intlayer_with_react_router_v7.md +224 -1
- package/docs/id/intlayer_with_react_router_v7_fs_routes.md +225 -1
- package/docs/id/intlayer_with_svelte_kit.md +158 -2
- package/docs/id/intlayer_with_tanstack.md +159 -1
- package/docs/id/intlayer_with_vite+preact.md +157 -1
- package/docs/id/intlayer_with_vite+react.md +157 -1
- package/docs/id/intlayer_with_vite+solid.md +157 -1
- package/docs/id/intlayer_with_vite+svelte.md +157 -1
- package/docs/id/intlayer_with_vite+vue.md +157 -1
- package/docs/it/compiler.md +81 -46
- package/docs/it/configuration.md +426 -204
- package/docs/it/intlayer_with_nextjs_16.md +174 -1
- package/docs/it/intlayer_with_nextjs_compiler.md +174 -1
- package/docs/it/intlayer_with_react_router_v7.md +225 -2
- package/docs/it/intlayer_with_react_router_v7_fs_routes.md +226 -2
- package/docs/it/intlayer_with_svelte_kit.md +158 -2
- package/docs/it/intlayer_with_tanstack.md +159 -1
- package/docs/it/intlayer_with_vite+preact.md +157 -1
- package/docs/it/intlayer_with_vite+react.md +157 -1
- package/docs/it/intlayer_with_vite+solid.md +159 -3
- package/docs/it/intlayer_with_vite+svelte.md +157 -1
- package/docs/it/intlayer_with_vite+vue.md +157 -1
- package/docs/ja/compiler.md +94 -58
- package/docs/ja/configuration.md +88 -45
- package/docs/ja/intlayer_with_nextjs_16.md +174 -1
- package/docs/ja/intlayer_with_nextjs_compiler.md +174 -1
- package/docs/ja/intlayer_with_react_router_v7.md +184 -394
- package/docs/ja/intlayer_with_react_router_v7_fs_routes.md +226 -2
- package/docs/ja/intlayer_with_svelte_kit.md +119 -595
- package/docs/ja/intlayer_with_tanstack.md +131 -642
- package/docs/ja/intlayer_with_vite+preact.md +111 -1231
- package/docs/ja/intlayer_with_vite+react.md +129 -1304
- package/docs/ja/intlayer_with_vite+solid.md +159 -3
- package/docs/ja/intlayer_with_vite+svelte.md +157 -1
- package/docs/ja/intlayer_with_vite+vue.md +157 -1
- package/docs/ko/compiler.md +88 -52
- package/docs/ko/configuration.md +87 -44
- package/docs/ko/intlayer_with_nextjs_16.md +174 -1
- package/docs/ko/intlayer_with_nextjs_compiler.md +174 -1
- package/docs/ko/intlayer_with_react_router_v7.md +225 -2
- package/docs/ko/intlayer_with_react_router_v7_fs_routes.md +226 -2
- package/docs/ko/intlayer_with_svelte_kit.md +158 -2
- package/docs/ko/intlayer_with_tanstack.md +159 -1
- package/docs/ko/intlayer_with_vite+preact.md +157 -1
- package/docs/ko/intlayer_with_vite+react.md +157 -1
- package/docs/ko/intlayer_with_vite+solid.md +159 -3
- package/docs/ko/intlayer_with_vite+svelte.md +157 -1
- package/docs/ko/intlayer_with_vite+vue.md +157 -1
- package/docs/pl/compiler.md +84 -51
- package/docs/pl/configuration.md +83 -37
- package/docs/pl/intlayer_with_nextjs_16.md +174 -1
- package/docs/pl/intlayer_with_nextjs_compiler.md +174 -1
- package/docs/pl/intlayer_with_react_router_v7.md +224 -1
- package/docs/pl/intlayer_with_react_router_v7_fs_routes.md +225 -1
- package/docs/pl/intlayer_with_svelte_kit.md +158 -2
- package/docs/pl/intlayer_with_tanstack.md +159 -1
- package/docs/pl/intlayer_with_vite+preact.md +157 -1
- package/docs/pl/intlayer_with_vite+react.md +157 -1
- package/docs/pl/intlayer_with_vite+solid.md +157 -1
- package/docs/pl/intlayer_with_vite+svelte.md +157 -1
- package/docs/pl/intlayer_with_vite+vue.md +157 -1
- package/docs/pt/compiler.md +81 -46
- package/docs/pt/configuration.md +404 -194
- package/docs/pt/intlayer_with_nextjs_16.md +174 -1
- package/docs/pt/intlayer_with_nextjs_compiler.md +174 -1
- package/docs/pt/intlayer_with_react_router_v7.md +224 -1
- package/docs/pt/intlayer_with_react_router_v7_fs_routes.md +225 -1
- package/docs/pt/intlayer_with_svelte_kit.md +158 -2
- package/docs/pt/intlayer_with_tanstack.md +159 -1
- package/docs/pt/intlayer_with_vite+preact.md +157 -1
- package/docs/pt/intlayer_with_vite+react.md +157 -1
- package/docs/pt/intlayer_with_vite+solid.md +157 -1
- package/docs/pt/intlayer_with_vite+svelte.md +157 -1
- package/docs/pt/intlayer_with_vite+vue.md +157 -1
- package/docs/ru/compiler.md +90 -57
- package/docs/ru/configuration.md +76 -46
- package/docs/ru/intlayer_with_nextjs_16.md +174 -1
- package/docs/ru/intlayer_with_nextjs_compiler.md +174 -1
- package/docs/ru/intlayer_with_react_router_v7.md +224 -1
- package/docs/ru/intlayer_with_react_router_v7_fs_routes.md +225 -1
- package/docs/ru/intlayer_with_svelte_kit.md +158 -2
- package/docs/ru/intlayer_with_tanstack.md +159 -1
- package/docs/ru/intlayer_with_vite+preact.md +157 -1
- package/docs/ru/intlayer_with_vite+react.md +157 -1
- package/docs/ru/intlayer_with_vite+solid.md +157 -1
- package/docs/ru/intlayer_with_vite+svelte.md +157 -1
- package/docs/ru/intlayer_with_vite+vue.md +157 -1
- package/docs/tr/compiler.md +85 -52
- package/docs/tr/configuration.md +83 -40
- package/docs/tr/intlayer_with_nextjs_16.md +174 -1
- package/docs/tr/intlayer_with_nextjs_compiler.md +174 -1
- package/docs/tr/intlayer_with_react_router_v7.md +224 -1
- package/docs/tr/intlayer_with_react_router_v7_fs_routes.md +225 -1
- package/docs/tr/intlayer_with_svelte_kit.md +158 -2
- package/docs/tr/intlayer_with_tanstack.md +159 -1
- package/docs/tr/intlayer_with_vite+preact.md +157 -1
- package/docs/tr/intlayer_with_vite+react.md +157 -1
- package/docs/tr/intlayer_with_vite+solid.md +157 -1
- package/docs/tr/intlayer_with_vite+svelte.md +157 -1
- package/docs/tr/intlayer_with_vite+vue.md +157 -1
- package/docs/uk/compiler.md +96 -61
- package/docs/uk/configuration.md +83 -37
- package/docs/uk/intlayer_with_nextjs_16.md +174 -1
- package/docs/uk/intlayer_with_nextjs_compiler.md +174 -1
- package/docs/uk/intlayer_with_react_router_v7.md +224 -1
- package/docs/uk/intlayer_with_react_router_v7_fs_routes.md +225 -1
- package/docs/uk/intlayer_with_svelte_kit.md +157 -1
- package/docs/uk/intlayer_with_tanstack.md +159 -1
- package/docs/uk/intlayer_with_vite+preact.md +157 -1
- package/docs/uk/intlayer_with_vite+react.md +157 -1
- package/docs/uk/intlayer_with_vite+solid.md +157 -1
- package/docs/uk/intlayer_with_vite+svelte.md +157 -1
- package/docs/uk/intlayer_with_vite+vue.md +157 -1
- package/docs/vi/compiler.md +85 -50
- package/docs/vi/configuration.md +85 -39
- package/docs/vi/intlayer_with_nextjs_16.md +174 -1
- package/docs/vi/intlayer_with_nextjs_compiler.md +174 -1
- package/docs/vi/intlayer_with_react_router_v7.md +224 -1
- package/docs/vi/intlayer_with_react_router_v7_fs_routes.md +225 -1
- package/docs/vi/intlayer_with_svelte_kit.md +158 -2
- package/docs/vi/intlayer_with_tanstack.md +159 -1
- package/docs/vi/intlayer_with_vite+preact.md +157 -1
- package/docs/vi/intlayer_with_vite+react.md +157 -1
- package/docs/vi/intlayer_with_vite+solid.md +157 -1
- package/docs/vi/intlayer_with_vite+svelte.md +157 -1
- package/docs/vi/intlayer_with_vite+vue.md +157 -1
- package/docs/zh/compiler.md +84 -49
- package/docs/zh/configuration.md +80 -37
- package/docs/zh/intlayer_with_adonisjs.md +1 -1
- package/docs/zh/intlayer_with_express.md +1 -1
- package/docs/zh/intlayer_with_fastify.md +1 -1
- package/docs/zh/intlayer_with_hono.md +1 -1
- package/docs/zh/intlayer_with_nestjs.md +1 -1
- package/docs/zh/intlayer_with_nextjs_16.md +174 -1
- package/docs/zh/intlayer_with_nextjs_compiler.md +174 -1
- package/docs/zh/intlayer_with_react_router_v7.md +227 -4
- package/docs/zh/intlayer_with_react_router_v7_fs_routes.md +228 -4
- package/docs/zh/intlayer_with_svelte_kit.md +158 -2
- package/docs/zh/intlayer_with_tanstack.md +159 -1
- package/docs/zh/intlayer_with_vite+preact.md +159 -3
- package/docs/zh/intlayer_with_vite+react.md +157 -1
- package/docs/zh/intlayer_with_vite+solid.md +161 -5
- package/docs/zh/intlayer_with_vite+svelte.md +157 -1
- package/docs/zh/intlayer_with_vite+vue.md +158 -2
- package/package.json +6 -6
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
createdAt: 2025-09-09
|
|
3
|
-
updatedAt:
|
|
3
|
+
updatedAt: 2026-03-12
|
|
4
4
|
title: Tanstack Start i18n - Cara menerjemahkan aplikasi Tanstack Start di 2026
|
|
5
5
|
description: Pelajari cara menambahkan internasionalisasi (i18n) ke aplikasi TanStack Start Anda menggunakan Intlayer. Ikuti panduan komprehensif ini untuk membuat aplikasi Anda multibahasa dengan routing yang mendukung locale.
|
|
6
6
|
keywords:
|
|
@@ -773,6 +773,164 @@ Pastikan konfigurasi TypeScript Anda menyertakan tipe yang dihasilkan secara oto
|
|
|
773
773
|
|
|
774
774
|
---
|
|
775
775
|
|
|
776
|
+
### (Opsional) Langkah 1 : Ekstrak konten komponen Anda
|
|
777
|
+
|
|
778
|
+
Jika Anda memiliki basis kode yang ada, mengubah ribuan file bisa memakan waktu lama.
|
|
779
|
+
|
|
780
|
+
Untuk memudahkan proses ini, Intlayer mengusulkan [compiler](https://github.com/aymericzip/intlayer/blob/main/docs/docs/id/compiler.md) / [extractor](https://github.com/aymericzip/intlayer/blob/main/docs/docs/id/cli/extract.md) untuk mengubah komponen Anda dan mengekstrak kontennya.
|
|
781
|
+
|
|
782
|
+
Untuk mengaturnya, Anda dapat menambahkan bagian `compiler` di file `intlayer.config.ts` Anda:
|
|
783
|
+
|
|
784
|
+
```typescript fileName="intlayer.config.ts" codeFormat="typescript"
|
|
785
|
+
import { type IntlayerConfig } from "intlayer";
|
|
786
|
+
|
|
787
|
+
const config: IntlayerConfig = {
|
|
788
|
+
// ... Sisa konfigurasi Anda
|
|
789
|
+
compiler: {
|
|
790
|
+
/**
|
|
791
|
+
* Menunjukkan apakah compiler harus diaktifkan.
|
|
792
|
+
*/
|
|
793
|
+
enabled: true,
|
|
794
|
+
|
|
795
|
+
/**
|
|
796
|
+
* Menentukan jalur file output
|
|
797
|
+
*/
|
|
798
|
+
output: ({ fileName, extension }) => `./${fileName}${extension}`,
|
|
799
|
+
|
|
800
|
+
/**
|
|
801
|
+
* Menunjukkan apakah komponen harus disimpan setelah diubah. Dengan begitu, compiler dapat dijalankan satu kali saja untuk mengubah aplikasi, lalu dapat dihapus.
|
|
802
|
+
*/
|
|
803
|
+
saveComponents: false,
|
|
804
|
+
|
|
805
|
+
/**
|
|
806
|
+
* Prefiks kunci kamus
|
|
807
|
+
*/
|
|
808
|
+
dictionaryKeyPrefix: "",
|
|
809
|
+
},
|
|
810
|
+
};
|
|
811
|
+
|
|
812
|
+
export default config;
|
|
813
|
+
```
|
|
814
|
+
|
|
815
|
+
```javascript fileName="intlayer.config.mjs" codeFormat="esm"
|
|
816
|
+
/** @type {import('intlayer').IntlayerConfig} */
|
|
817
|
+
const config = {
|
|
818
|
+
// ... Sisa konfigurasi Anda
|
|
819
|
+
compiler: {
|
|
820
|
+
/**
|
|
821
|
+
* Menunjukkan apakah compiler harus diaktifkan.
|
|
822
|
+
*/
|
|
823
|
+
enabled: true,
|
|
824
|
+
|
|
825
|
+
/**
|
|
826
|
+
* Menentukan jalur file output
|
|
827
|
+
*/
|
|
828
|
+
output: ({ fileName, extension }) => `./${fileName}${extension}`,
|
|
829
|
+
|
|
830
|
+
/**
|
|
831
|
+
* Menunjukkan apakah komponen harus disimpan setelah diubah. Dengan begitu, compiler dapat dijalankan satu kali saja untuk mengubah aplikasi, lalu dapat dihapus.
|
|
832
|
+
*/
|
|
833
|
+
saveComponents: false,
|
|
834
|
+
|
|
835
|
+
/**
|
|
836
|
+
* Prefiks kunci kamus
|
|
837
|
+
*/
|
|
838
|
+
dictionaryKeyPrefix: "",
|
|
839
|
+
},
|
|
840
|
+
};
|
|
841
|
+
|
|
842
|
+
export default config;
|
|
843
|
+
```
|
|
844
|
+
|
|
845
|
+
```javascript fileName="intlayer.config.cjs" codeFormat="commonjs"
|
|
846
|
+
/** @type {import('intlayer').IntlayerConfig} */
|
|
847
|
+
const config = {
|
|
848
|
+
// ... Sisa konfigurasi Anda
|
|
849
|
+
compiler: {
|
|
850
|
+
/**
|
|
851
|
+
* Menunjukkan apakah compiler harus diaktifkan.
|
|
852
|
+
*/
|
|
853
|
+
enabled: true,
|
|
854
|
+
|
|
855
|
+
/**
|
|
856
|
+
* Menentukan jalur file output
|
|
857
|
+
*/
|
|
858
|
+
output: ({ fileName, extension }) => `./${fileName}${extension}`,
|
|
859
|
+
|
|
860
|
+
/**
|
|
861
|
+
* Menunjukkan apakah komponen harus disimpan setelah diubah. Dengan begitu, compiler dapat dijalankan satu kali saja untuk mengubah aplikasi, lalu dapat dihapus.
|
|
862
|
+
*/
|
|
863
|
+
saveComponents: false,
|
|
864
|
+
|
|
865
|
+
/**
|
|
866
|
+
* Prefiks kunci kamus
|
|
867
|
+
*/
|
|
868
|
+
dictionaryKeyPrefix: "",
|
|
869
|
+
},
|
|
870
|
+
};
|
|
871
|
+
|
|
872
|
+
module.exports = config;
|
|
873
|
+
```
|
|
874
|
+
|
|
875
|
+
<Tabs>
|
|
876
|
+
<Tab value='Perintah ekstrak'>
|
|
877
|
+
|
|
878
|
+
Jalankan extractor untuk mengubah komponen Anda dan mengekstrak kontennya
|
|
879
|
+
|
|
880
|
+
```bash packageManager="npm"
|
|
881
|
+
npx intlayer extract
|
|
882
|
+
```
|
|
883
|
+
|
|
884
|
+
```bash packageManager="pnpm"
|
|
885
|
+
pnpm intlayer extract
|
|
886
|
+
```
|
|
887
|
+
|
|
888
|
+
```bash packageManager="yarn"
|
|
889
|
+
yarn intlayer extract
|
|
890
|
+
```
|
|
891
|
+
|
|
892
|
+
```bash packageManager="bun"
|
|
893
|
+
bunx intlayer extract
|
|
894
|
+
```
|
|
895
|
+
|
|
896
|
+
</Tab>
|
|
897
|
+
<Tab value='Compiler Babel'>
|
|
898
|
+
|
|
899
|
+
Perbarui `vite.config.ts` Anda untuk menyertakan plugin `intlayerCompiler`:
|
|
900
|
+
|
|
901
|
+
```ts fileName="vite.config.ts"
|
|
902
|
+
import { defineConfig } from "vite";
|
|
903
|
+
import { intlayer, intlayerCompiler } from "vite-intlayer";
|
|
904
|
+
|
|
905
|
+
export default defineConfig({
|
|
906
|
+
plugins: [
|
|
907
|
+
intlayer(),
|
|
908
|
+
intlayerCompiler(), // Menambahkan plugin compiler
|
|
909
|
+
],
|
|
910
|
+
});
|
|
911
|
+
```
|
|
912
|
+
|
|
913
|
+
```bash packageManager="npm"
|
|
914
|
+
npm run build # Atau npm run dev
|
|
915
|
+
```
|
|
916
|
+
|
|
917
|
+
```bash packageManager="pnpm"
|
|
918
|
+
pnpm run build # Or pnpm run dev
|
|
919
|
+
```
|
|
920
|
+
|
|
921
|
+
```bash packageManager="yarn"
|
|
922
|
+
yarn build # Or yarn dev
|
|
923
|
+
```
|
|
924
|
+
|
|
925
|
+
```bash packageManager="bun"
|
|
926
|
+
bun run build # Or bun run dev
|
|
927
|
+
```
|
|
928
|
+
|
|
929
|
+
</Tab>
|
|
930
|
+
</Tabs>
|
|
931
|
+
|
|
932
|
+
---
|
|
933
|
+
|
|
776
934
|
### Konfigurasi Git
|
|
777
935
|
|
|
778
936
|
Disarankan untuk mengabaikan file yang dihasilkan oleh Intlayer. Ini memungkinkan Anda menghindari melakukan commit ke repositori Git Anda.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
createdAt: 2025-04-18
|
|
3
|
-
updatedAt:
|
|
3
|
+
updatedAt: 2026-03-12
|
|
4
4
|
title: Vite + Preact i18n - Cara menerjemahkan aplikasi Preact di 2026
|
|
5
5
|
description: Temukan cara membuat situs web Vite dan Preact Anda menjadi multibahasa. Ikuti dokumentasi untuk melakukan internasionalisasi (i18n) dan menerjemahkannya.
|
|
6
6
|
keywords:
|
|
@@ -1364,6 +1364,162 @@ Ekstensi ini menyediakan:
|
|
|
1364
1364
|
|
|
1365
1365
|
---
|
|
1366
1366
|
|
|
1367
|
+
### (Opsional) Langkah 1 : Ekstrak konten komponen Anda
|
|
1368
|
+
|
|
1369
|
+
Jika Anda memiliki basis kode yang ada, mengubah ribuan file bisa memakan waktu lama.
|
|
1370
|
+
|
|
1371
|
+
Untuk memudahkan proses ini, Intlayer mengusulkan [compiler](https://github.com/aymericzip/intlayer/blob/main/docs/docs/id/compiler.md) / [extractor](https://github.com/aymericzip/intlayer/blob/main/docs/docs/id/cli/extract.md) untuk mengubah komponen Anda dan mengekstrak kontennya.
|
|
1372
|
+
|
|
1373
|
+
Untuk mengaturnya, Anda dapat menambahkan bagian `compiler` di file `intlayer.config.ts` Anda:
|
|
1374
|
+
|
|
1375
|
+
```typescript fileName="intlayer.config.ts" codeFormat="typescript"
|
|
1376
|
+
import { type IntlayerConfig } from "intlayer";
|
|
1377
|
+
|
|
1378
|
+
const config: IntlayerConfig = {
|
|
1379
|
+
// ... Sisa konfigurasi Anda
|
|
1380
|
+
compiler: {
|
|
1381
|
+
/**
|
|
1382
|
+
* Menunjukkan apakah compiler harus diaktifkan.
|
|
1383
|
+
*/
|
|
1384
|
+
enabled: true,
|
|
1385
|
+
|
|
1386
|
+
/**
|
|
1387
|
+
* Menentukan jalur file output
|
|
1388
|
+
*/
|
|
1389
|
+
output: ({ fileName, extension }) => `./${fileName}${extension}`,
|
|
1390
|
+
|
|
1391
|
+
/**
|
|
1392
|
+
* Menunjukkan apakah komponen harus disimpan setelah diubah. Dengan begitu, compiler dapat dijalankan satu kali saja untuk mengubah aplikasi, lalu dapat dihapus.
|
|
1393
|
+
*/
|
|
1394
|
+
saveComponents: false,
|
|
1395
|
+
|
|
1396
|
+
/**
|
|
1397
|
+
* Prefiks kunci kamus
|
|
1398
|
+
*/
|
|
1399
|
+
dictionaryKeyPrefix: "",
|
|
1400
|
+
},
|
|
1401
|
+
};
|
|
1402
|
+
|
|
1403
|
+
export default config;
|
|
1404
|
+
```
|
|
1405
|
+
|
|
1406
|
+
```javascript fileName="intlayer.config.mjs" codeFormat="esm"
|
|
1407
|
+
/** @type {import('intlayer').IntlayerConfig} */
|
|
1408
|
+
const config = {
|
|
1409
|
+
// ... Sisa konfigurasi Anda
|
|
1410
|
+
compiler: {
|
|
1411
|
+
/**
|
|
1412
|
+
* Menunjukkan apakah compiler harus diaktifkan.
|
|
1413
|
+
*/
|
|
1414
|
+
enabled: true,
|
|
1415
|
+
|
|
1416
|
+
/**
|
|
1417
|
+
* Menentukan jalur file output
|
|
1418
|
+
*/
|
|
1419
|
+
output: ({ fileName, extension }) => `./${fileName}${extension}`,
|
|
1420
|
+
|
|
1421
|
+
/**
|
|
1422
|
+
* Menunjukkan apakah komponen harus disimpan setelah diubah. Dengan begitu, compiler dapat dijalankan satu kali saja untuk mengubah aplikasi, lalu dapat dihapus.
|
|
1423
|
+
*/
|
|
1424
|
+
saveComponents: false,
|
|
1425
|
+
|
|
1426
|
+
/**
|
|
1427
|
+
* Prefiks kunci kamus
|
|
1428
|
+
*/
|
|
1429
|
+
dictionaryKeyPrefix: "",
|
|
1430
|
+
},
|
|
1431
|
+
};
|
|
1432
|
+
|
|
1433
|
+
export default config;
|
|
1434
|
+
```
|
|
1435
|
+
|
|
1436
|
+
```javascript fileName="intlayer.config.cjs" codeFormat="commonjs"
|
|
1437
|
+
/** @type {import('intlayer').IntlayerConfig} */
|
|
1438
|
+
const config = {
|
|
1439
|
+
// ... Sisa konfigurasi Anda
|
|
1440
|
+
compiler: {
|
|
1441
|
+
/**
|
|
1442
|
+
* Menunjukkan apakah compiler harus diaktifkan.
|
|
1443
|
+
*/
|
|
1444
|
+
enabled: true,
|
|
1445
|
+
|
|
1446
|
+
/**
|
|
1447
|
+
* Menentukan jalur file output
|
|
1448
|
+
*/
|
|
1449
|
+
output: ({ fileName, extension }) => `./${fileName}${extension}`,
|
|
1450
|
+
|
|
1451
|
+
/**
|
|
1452
|
+
* Menunjukkan apakah komponen harus disimpan setelah diubah. Dengan begitu, compiler dapat dijalankan satu kali saja untuk mengubah aplikasi, lalu dapat dihapus.
|
|
1453
|
+
*/
|
|
1454
|
+
saveComponents: false,
|
|
1455
|
+
|
|
1456
|
+
/**
|
|
1457
|
+
* Prefiks kunci kamus
|
|
1458
|
+
*/
|
|
1459
|
+
dictionaryKeyPrefix: "",
|
|
1460
|
+
},
|
|
1461
|
+
};
|
|
1462
|
+
|
|
1463
|
+
module.exports = config;
|
|
1464
|
+
```
|
|
1465
|
+
|
|
1466
|
+
<Tabs>
|
|
1467
|
+
<Tab value='Perintah ekstrak'>
|
|
1468
|
+
|
|
1469
|
+
Jalankan extractor untuk mengubah komponen Anda dan mengekstrak kontennya
|
|
1470
|
+
|
|
1471
|
+
```bash packageManager="npm"
|
|
1472
|
+
npx intlayer extract
|
|
1473
|
+
```
|
|
1474
|
+
|
|
1475
|
+
```bash packageManager="pnpm"
|
|
1476
|
+
pnpm intlayer extract
|
|
1477
|
+
```
|
|
1478
|
+
|
|
1479
|
+
```bash packageManager="yarn"
|
|
1480
|
+
yarn intlayer extract
|
|
1481
|
+
```
|
|
1482
|
+
|
|
1483
|
+
```bash packageManager="bun"
|
|
1484
|
+
bunx intlayer extract
|
|
1485
|
+
```
|
|
1486
|
+
|
|
1487
|
+
</Tab>
|
|
1488
|
+
<Tab value='Compiler Babel'>
|
|
1489
|
+
|
|
1490
|
+
Perbarui `vite.config.ts` Anda untuk menyertakan plugin `intlayerCompiler`:
|
|
1491
|
+
|
|
1492
|
+
```ts fileName="vite.config.ts"
|
|
1493
|
+
import { defineConfig } from "vite";
|
|
1494
|
+
import { intlayer, intlayerCompiler } from "vite-intlayer";
|
|
1495
|
+
|
|
1496
|
+
export default defineConfig({
|
|
1497
|
+
plugins: [
|
|
1498
|
+
intlayer(),
|
|
1499
|
+
intlayerCompiler(), // Menambahkan plugin compiler
|
|
1500
|
+
],
|
|
1501
|
+
});
|
|
1502
|
+
```
|
|
1503
|
+
|
|
1504
|
+
```bash packageManager="npm"
|
|
1505
|
+
npm run build # Atau npm run dev
|
|
1506
|
+
```
|
|
1507
|
+
|
|
1508
|
+
```bash packageManager="pnpm"
|
|
1509
|
+
pnpm run build # Or pnpm run dev
|
|
1510
|
+
```
|
|
1511
|
+
|
|
1512
|
+
```bash packageManager="yarn"
|
|
1513
|
+
yarn build # Or yarn dev
|
|
1514
|
+
```
|
|
1515
|
+
|
|
1516
|
+
```bash packageManager="bun"
|
|
1517
|
+
bun run build # Or bun run dev
|
|
1518
|
+
```
|
|
1519
|
+
|
|
1520
|
+
</Tab>
|
|
1521
|
+
</Tabs>
|
|
1522
|
+
|
|
1367
1523
|
### Melangkah Lebih Jauh
|
|
1368
1524
|
|
|
1369
1525
|
Để đi xa hơn, bạn có thể triển khai [trình soạn thảo trực quan](https://github.com/aymericzip/intlayer/blob/main/docs/docs/id/intlayer_visual_editor.md) hoặc mengeksternalisasi konten Anda menggunakan [CMS](https://github.com/aymericzip/intlayer/blob/main/docs/docs/id/intlayer_CMS.md).
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
createdAt: 2024-03-07
|
|
3
|
-
updatedAt:
|
|
3
|
+
updatedAt: 2026-03-12
|
|
4
4
|
title: Vite + React i18n - Cara menerjemahkan aplikasi React di 2026
|
|
5
5
|
description: Pelajari cara menambahkan internasionalisasi (i18n) ke aplikasi Vite dan React Anda menggunakan Intlayer. Ikuti panduan ini untuk membuat aplikasi Anda multibahasa.
|
|
6
6
|
keywords:
|
|
@@ -1416,6 +1416,162 @@ Untuk detail lebih lanjut tentang cara menggunakan ekstensi ini, lihat [dokument
|
|
|
1416
1416
|
|
|
1417
1417
|
---
|
|
1418
1418
|
|
|
1419
|
+
### (Opsional) Langkah 1 : Ekstrak konten komponen Anda
|
|
1420
|
+
|
|
1421
|
+
Jika Anda memiliki basis kode yang ada, mengubah ribuan file bisa memakan waktu lama.
|
|
1422
|
+
|
|
1423
|
+
Untuk memudahkan proses ini, Intlayer mengusulkan [compiler](https://github.com/aymericzip/intlayer/blob/main/docs/docs/id/compiler.md) / [extractor](https://github.com/aymericzip/intlayer/blob/main/docs/docs/id/cli/extract.md) untuk mengubah komponen Anda dan mengekstrak kontennya.
|
|
1424
|
+
|
|
1425
|
+
Untuk mengaturnya, Anda dapat menambahkan bagian `compiler` di file `intlayer.config.ts` Anda:
|
|
1426
|
+
|
|
1427
|
+
```typescript fileName="intlayer.config.ts" codeFormat="typescript"
|
|
1428
|
+
import { type IntlayerConfig } from "intlayer";
|
|
1429
|
+
|
|
1430
|
+
const config: IntlayerConfig = {
|
|
1431
|
+
// ... Sisa konfigurasi Anda
|
|
1432
|
+
compiler: {
|
|
1433
|
+
/**
|
|
1434
|
+
* Menunjukkan apakah compiler harus diaktifkan.
|
|
1435
|
+
*/
|
|
1436
|
+
enabled: true,
|
|
1437
|
+
|
|
1438
|
+
/**
|
|
1439
|
+
* Menentukan jalur file output
|
|
1440
|
+
*/
|
|
1441
|
+
output: ({ fileName, extension }) => `./${fileName}${extension}`,
|
|
1442
|
+
|
|
1443
|
+
/**
|
|
1444
|
+
* Menunjukkan apakah komponen harus disimpan setelah diubah. Dengan begitu, compiler dapat dijalankan satu kali saja untuk mengubah aplikasi, lalu dapat dihapus.
|
|
1445
|
+
*/
|
|
1446
|
+
saveComponents: false,
|
|
1447
|
+
|
|
1448
|
+
/**
|
|
1449
|
+
* Prefiks kunci kamus
|
|
1450
|
+
*/
|
|
1451
|
+
dictionaryKeyPrefix: "",
|
|
1452
|
+
},
|
|
1453
|
+
};
|
|
1454
|
+
|
|
1455
|
+
export default config;
|
|
1456
|
+
```
|
|
1457
|
+
|
|
1458
|
+
```javascript fileName="intlayer.config.mjs" codeFormat="esm"
|
|
1459
|
+
/** @type {import('intlayer').IntlayerConfig} */
|
|
1460
|
+
const config = {
|
|
1461
|
+
// ... Sisa konfigurasi Anda
|
|
1462
|
+
compiler: {
|
|
1463
|
+
/**
|
|
1464
|
+
* Menunjukkan apakah compiler harus diaktifkan.
|
|
1465
|
+
*/
|
|
1466
|
+
enabled: true,
|
|
1467
|
+
|
|
1468
|
+
/**
|
|
1469
|
+
* Menentukan jalur file output
|
|
1470
|
+
*/
|
|
1471
|
+
output: ({ fileName, extension }) => `./${fileName}${extension}`,
|
|
1472
|
+
|
|
1473
|
+
/**
|
|
1474
|
+
* Menunjukkan apakah komponen harus disimpan setelah diubah. Dengan begitu, compiler dapat dijalankan satu kali saja untuk mengubah aplikasi, lalu dapat dihapus.
|
|
1475
|
+
*/
|
|
1476
|
+
saveComponents: false,
|
|
1477
|
+
|
|
1478
|
+
/**
|
|
1479
|
+
* Prefiks kunci kamus
|
|
1480
|
+
*/
|
|
1481
|
+
dictionaryKeyPrefix: "",
|
|
1482
|
+
},
|
|
1483
|
+
};
|
|
1484
|
+
|
|
1485
|
+
export default config;
|
|
1486
|
+
```
|
|
1487
|
+
|
|
1488
|
+
```javascript fileName="intlayer.config.cjs" codeFormat="commonjs"
|
|
1489
|
+
/** @type {import('intlayer').IntlayerConfig} */
|
|
1490
|
+
const config = {
|
|
1491
|
+
// ... Sisa konfigurasi Anda
|
|
1492
|
+
compiler: {
|
|
1493
|
+
/**
|
|
1494
|
+
* Menunjukkan apakah compiler harus diaktifkan.
|
|
1495
|
+
*/
|
|
1496
|
+
enabled: true,
|
|
1497
|
+
|
|
1498
|
+
/**
|
|
1499
|
+
* Menentukan jalur file output
|
|
1500
|
+
*/
|
|
1501
|
+
output: ({ fileName, extension }) => `./${fileName}${extension}`,
|
|
1502
|
+
|
|
1503
|
+
/**
|
|
1504
|
+
* Menunjukkan apakah komponen harus disimpan setelah diubah. Dengan begitu, compiler dapat dijalankan satu kali saja untuk mengubah aplikasi, lalu dapat dihapus.
|
|
1505
|
+
*/
|
|
1506
|
+
saveComponents: false,
|
|
1507
|
+
|
|
1508
|
+
/**
|
|
1509
|
+
* Prefiks kunci kamus
|
|
1510
|
+
*/
|
|
1511
|
+
dictionaryKeyPrefix: "",
|
|
1512
|
+
},
|
|
1513
|
+
};
|
|
1514
|
+
|
|
1515
|
+
module.exports = config;
|
|
1516
|
+
```
|
|
1517
|
+
|
|
1518
|
+
<Tabs>
|
|
1519
|
+
<Tab value='Perintah ekstrak'>
|
|
1520
|
+
|
|
1521
|
+
Jalankan extractor untuk mengubah komponen Anda dan mengekstrak kontennya
|
|
1522
|
+
|
|
1523
|
+
```bash packageManager="npm"
|
|
1524
|
+
npx intlayer extract
|
|
1525
|
+
```
|
|
1526
|
+
|
|
1527
|
+
```bash packageManager="pnpm"
|
|
1528
|
+
pnpm intlayer extract
|
|
1529
|
+
```
|
|
1530
|
+
|
|
1531
|
+
```bash packageManager="yarn"
|
|
1532
|
+
yarn intlayer extract
|
|
1533
|
+
```
|
|
1534
|
+
|
|
1535
|
+
```bash packageManager="bun"
|
|
1536
|
+
bunx intlayer extract
|
|
1537
|
+
```
|
|
1538
|
+
|
|
1539
|
+
</Tab>
|
|
1540
|
+
<Tab value='Compiler Babel'>
|
|
1541
|
+
|
|
1542
|
+
Perbarui `vite.config.ts` Anda untuk menyertakan plugin `intlayerCompiler`:
|
|
1543
|
+
|
|
1544
|
+
```ts fileName="vite.config.ts"
|
|
1545
|
+
import { defineConfig } from "vite";
|
|
1546
|
+
import { intlayer, intlayerCompiler } from "vite-intlayer";
|
|
1547
|
+
|
|
1548
|
+
export default defineConfig({
|
|
1549
|
+
plugins: [
|
|
1550
|
+
intlayer(),
|
|
1551
|
+
intlayerCompiler(), // Menambahkan plugin compiler
|
|
1552
|
+
],
|
|
1553
|
+
});
|
|
1554
|
+
```
|
|
1555
|
+
|
|
1556
|
+
```bash packageManager="npm"
|
|
1557
|
+
npm run build # Atau npm run dev
|
|
1558
|
+
```
|
|
1559
|
+
|
|
1560
|
+
```bash packageManager="pnpm"
|
|
1561
|
+
pnpm run build # Or pnpm run dev
|
|
1562
|
+
```
|
|
1563
|
+
|
|
1564
|
+
```bash packageManager="yarn"
|
|
1565
|
+
yarn build # Or yarn dev
|
|
1566
|
+
```
|
|
1567
|
+
|
|
1568
|
+
```bash packageManager="bun"
|
|
1569
|
+
bun run build # Or bun run dev
|
|
1570
|
+
```
|
|
1571
|
+
|
|
1572
|
+
</Tab>
|
|
1573
|
+
</Tabs>
|
|
1574
|
+
|
|
1419
1575
|
### Melangkah Lebih Jauh
|
|
1420
1576
|
|
|
1421
1577
|
Untuk melangkah lebih jauh, Anda dapat mengimplementasikan [editor visual](https://github.com/aymericzip/intlayer/blob/main/docs/docs/id/intlayer_visual_editor.md) atau mengeksternalisasi konten Anda menggunakan [CMS](https://github.com/aymericzip/intlayer/blob/main/docs/docs/id/intlayer_CMS.md).
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
createdAt: 2025-04-18
|
|
3
|
-
updatedAt:
|
|
3
|
+
updatedAt: 2026-03-12
|
|
4
4
|
title: Vite + Solid i18n - Cara menerjemahkan aplikasi Solid di 2026
|
|
5
5
|
description: Temukan cara membuat situs web Vite dan Solid Anda menjadi multibahasa. Ikuti dokumentasi untuk melakukan internasionalisasi (i18n) dan menerjemahkannya.
|
|
6
6
|
keywords:
|
|
@@ -576,6 +576,162 @@ Untuk detail lebih lanjut tentang cara menggunakan ekstensi ini, lihat [dokument
|
|
|
576
576
|
|
|
577
577
|
---
|
|
578
578
|
|
|
579
|
+
### (Opsional) Langkah 1 : Ekstrak konten komponen Anda
|
|
580
|
+
|
|
581
|
+
Jika Anda memiliki basis kode yang ada, mengubah ribuan file bisa memakan waktu lama.
|
|
582
|
+
|
|
583
|
+
Untuk memudahkan proses ini, Intlayer mengusulkan [compiler](https://github.com/aymericzip/intlayer/blob/main/docs/docs/id/compiler.md) / [extractor](https://github.com/aymericzip/intlayer/blob/main/docs/docs/id/cli/extract.md) untuk mengubah komponen Anda dan mengekstrak kontennya.
|
|
584
|
+
|
|
585
|
+
Untuk mengaturnya, Anda dapat menambahkan bagian `compiler` di file `intlayer.config.ts` Anda:
|
|
586
|
+
|
|
587
|
+
```typescript fileName="intlayer.config.ts" codeFormat="typescript"
|
|
588
|
+
import { type IntlayerConfig } from "intlayer";
|
|
589
|
+
|
|
590
|
+
const config: IntlayerConfig = {
|
|
591
|
+
// ... Sisa konfigurasi Anda
|
|
592
|
+
compiler: {
|
|
593
|
+
/**
|
|
594
|
+
* Menunjukkan apakah compiler harus diaktifkan.
|
|
595
|
+
*/
|
|
596
|
+
enabled: true,
|
|
597
|
+
|
|
598
|
+
/**
|
|
599
|
+
* Menentukan jalur file output
|
|
600
|
+
*/
|
|
601
|
+
output: ({ fileName, extension }) => `./${fileName}${extension}`,
|
|
602
|
+
|
|
603
|
+
/**
|
|
604
|
+
* Menunjukkan apakah komponen harus disimpan setelah diubah. Dengan begitu, compiler dapat dijalankan satu kali saja untuk mengubah aplikasi, lalu dapat dihapus.
|
|
605
|
+
*/
|
|
606
|
+
saveComponents: false,
|
|
607
|
+
|
|
608
|
+
/**
|
|
609
|
+
* Prefiks kunci kamus
|
|
610
|
+
*/
|
|
611
|
+
dictionaryKeyPrefix: "",
|
|
612
|
+
},
|
|
613
|
+
};
|
|
614
|
+
|
|
615
|
+
export default config;
|
|
616
|
+
```
|
|
617
|
+
|
|
618
|
+
```javascript fileName="intlayer.config.mjs" codeFormat="esm"
|
|
619
|
+
/** @type {import('intlayer').IntlayerConfig} */
|
|
620
|
+
const config = {
|
|
621
|
+
// ... Sisa konfigurasi Anda
|
|
622
|
+
compiler: {
|
|
623
|
+
/**
|
|
624
|
+
* Menunjukkan apakah compiler harus diaktifkan.
|
|
625
|
+
*/
|
|
626
|
+
enabled: true,
|
|
627
|
+
|
|
628
|
+
/**
|
|
629
|
+
* Menentukan jalur file output
|
|
630
|
+
*/
|
|
631
|
+
output: ({ fileName, extension }) => `./${fileName}${extension}`,
|
|
632
|
+
|
|
633
|
+
/**
|
|
634
|
+
* Menunjukkan apakah komponen harus disimpan setelah diubah. Dengan begitu, compiler dapat dijalankan satu kali saja untuk mengubah aplikasi, lalu dapat dihapus.
|
|
635
|
+
*/
|
|
636
|
+
saveComponents: false,
|
|
637
|
+
|
|
638
|
+
/**
|
|
639
|
+
* Prefiks kunci kamus
|
|
640
|
+
*/
|
|
641
|
+
dictionaryKeyPrefix: "",
|
|
642
|
+
},
|
|
643
|
+
};
|
|
644
|
+
|
|
645
|
+
export default config;
|
|
646
|
+
```
|
|
647
|
+
|
|
648
|
+
```javascript fileName="intlayer.config.cjs" codeFormat="commonjs"
|
|
649
|
+
/** @type {import('intlayer').IntlayerConfig} */
|
|
650
|
+
const config = {
|
|
651
|
+
// ... Sisa konfigurasi Anda
|
|
652
|
+
compiler: {
|
|
653
|
+
/**
|
|
654
|
+
* Menunjukkan apakah compiler harus diaktifkan.
|
|
655
|
+
*/
|
|
656
|
+
enabled: true,
|
|
657
|
+
|
|
658
|
+
/**
|
|
659
|
+
* Menentukan jalur file output
|
|
660
|
+
*/
|
|
661
|
+
output: ({ fileName, extension }) => `./${fileName}${extension}`,
|
|
662
|
+
|
|
663
|
+
/**
|
|
664
|
+
* Menunjukkan apakah komponen harus disimpan setelah diubah. Dengan begitu, compiler dapat dijalankan satu kali saja untuk mengubah aplikasi, lalu dapat dihapus.
|
|
665
|
+
*/
|
|
666
|
+
saveComponents: false,
|
|
667
|
+
|
|
668
|
+
/**
|
|
669
|
+
* Prefiks kunci kamus
|
|
670
|
+
*/
|
|
671
|
+
dictionaryKeyPrefix: "",
|
|
672
|
+
},
|
|
673
|
+
};
|
|
674
|
+
|
|
675
|
+
module.exports = config;
|
|
676
|
+
```
|
|
677
|
+
|
|
678
|
+
<Tabs>
|
|
679
|
+
<Tab value='Perintah ekstrak'>
|
|
680
|
+
|
|
681
|
+
Jalankan extractor untuk mengubah komponen Anda dan mengekstrak kontennya
|
|
682
|
+
|
|
683
|
+
```bash packageManager="npm"
|
|
684
|
+
npx intlayer extract
|
|
685
|
+
```
|
|
686
|
+
|
|
687
|
+
```bash packageManager="pnpm"
|
|
688
|
+
pnpm intlayer extract
|
|
689
|
+
```
|
|
690
|
+
|
|
691
|
+
```bash packageManager="yarn"
|
|
692
|
+
yarn intlayer extract
|
|
693
|
+
```
|
|
694
|
+
|
|
695
|
+
```bash packageManager="bun"
|
|
696
|
+
bunx intlayer extract
|
|
697
|
+
```
|
|
698
|
+
|
|
699
|
+
</Tab>
|
|
700
|
+
<Tab value='Compiler Babel'>
|
|
701
|
+
|
|
702
|
+
Perbarui `vite.config.ts` Anda untuk menyertakan plugin `intlayerCompiler`:
|
|
703
|
+
|
|
704
|
+
```ts fileName="vite.config.ts"
|
|
705
|
+
import { defineConfig } from "vite";
|
|
706
|
+
import { intlayer, intlayerCompiler } from "vite-intlayer";
|
|
707
|
+
|
|
708
|
+
export default defineConfig({
|
|
709
|
+
plugins: [
|
|
710
|
+
intlayer(),
|
|
711
|
+
intlayerCompiler(), // Menambahkan plugin compiler
|
|
712
|
+
],
|
|
713
|
+
});
|
|
714
|
+
```
|
|
715
|
+
|
|
716
|
+
```bash packageManager="npm"
|
|
717
|
+
npm run build # Atau npm run dev
|
|
718
|
+
```
|
|
719
|
+
|
|
720
|
+
```bash packageManager="pnpm"
|
|
721
|
+
pnpm run build # Or pnpm run dev
|
|
722
|
+
```
|
|
723
|
+
|
|
724
|
+
```bash packageManager="yarn"
|
|
725
|
+
yarn build # Or yarn dev
|
|
726
|
+
```
|
|
727
|
+
|
|
728
|
+
```bash packageManager="bun"
|
|
729
|
+
bun run build # Or bun run dev
|
|
730
|
+
```
|
|
731
|
+
|
|
732
|
+
</Tab>
|
|
733
|
+
</Tabs>
|
|
734
|
+
|
|
579
735
|
### Melangkah Lebih Jauh
|
|
580
736
|
|
|
581
737
|
Untuk melangkah lebih jauh, Anda dapat mengimplementasikan [editor visual](https://github.com/aymericzip/intlayer/blob/main/docs/docs/id/intlayer_visual_editor.md) atau mengeksternalisasi konten Anda menggunakan [CMS](https://github.com/aymericzip/intlayer/blob/main/docs/docs/id/intlayer_CMS.md).
|