@intlayer/docs 5.6.0 → 5.7.0

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.
@@ -59,7 +59,7 @@ const config: IntlayerConfig = {
59
59
  applicationContext: "This is a test application",
60
60
  },
61
61
  build: {
62
- activateDynamicImport: true,
62
+ importMode: "dynamic",
63
63
  },
64
64
  };
65
65
 
@@ -88,7 +88,7 @@ const config = {
88
88
  applicationContext: "यह एक परीक्षण एप्लिकेशन है",
89
89
  },
90
90
  build: {
91
- activateDynamicImport: true,
91
+ importMode: "dynamic",
92
92
  },
93
93
  };
94
94
 
@@ -483,11 +483,9 @@ Intlayer बेहतर लचीलापन और विकल्प के
483
483
 
484
484
  बिल्ड विकल्प `@intlayer/babel` और `@intlayer/swc` प्लगइन्स पर लागू होते हैं।
485
485
 
486
- > विकास मोड में, Intlayer विकास अनुभव को सरल बनाने के लिए शब्दकोशों के लिए एक केंद्रीकृत स्थैतिक आयात का उपयोग करता है।
486
+ > विकास मोड में, Intlayer विकास अनुभव को सरल बनाने के लिए शब्दकोशों के लिए स्थैतिक आयात का उपयोग करता है।
487
487
 
488
- > बिल्ड को अनुकूलित करके, Intlayer चंकिंग को अनुकूलित करने के लिए शब्दकोशों के सभी कॉल को बदल देगा। इस तरह अंतिम बंडल केवल उन शब्दकोशों को आयात करेगा जो उपयोग में हैं।
489
-
490
- - **नोट**: `@intlayer/babel` डिफ़ॉल्ट रूप से `vite-intlayer` पैकेज पर उपलब्ध है, लेकिन `@intlayer/swc` डिफ़ॉल्ट रूप से `next-intlayer` पैकेज पर स्थापित नहीं है क्योंकि SWC प्लगइन्स Next.js पर अभी भी प्रयोगात्मक हैं।
488
+ > अनुकूलन के दौरान, Intlayer चंकिंग को अनुकूलित करने के लिए शब्दकोशों के कॉल को बदल देगा, ताकि अंतिम बंडल केवल वास्तव में उपयोग किए गए शब्दकोशों को आयात करे।
491
489
 
492
490
  #### गुण
493
491
 
@@ -497,21 +495,28 @@ Intlayer बेहतर लचीलापन और विकल्प के
497
495
  - _डिफ़ॉल्ट_: `process.env.NODE_ENV === 'production'`
498
496
  - _विवरण_: नियंत्रित करता है कि बिल्ड को अनुकूलित किया जाना चाहिए या नहीं।
499
497
  - _उदाहरण_: `true`
500
- - _नोट_: यह केवल उपयोग किए गए शब्दकोशों को बंडल में आयात करने की अनुमति देगा। लेकिन सभी आयात स्थैतिक आयात के रूप में रहेंगे ताकि शब्दकोशों को लोड करते समय अतुल्यकालिक प्रसंस्करण से बचा जा सके।
501
- - _नोट_: जब सक्षम किया जाता है, तो Intlayer सभी `useIntlayer` कॉल को `useDictionary` और `getIntlayer` को `getDictionary` से बदलकर शब्दकोश चंकिंग को अनुकूलित करेगा।
498
+ - _नोट_: जब सक्षम किया जाता है, तो Intlayer चंकिंग को अनुकूलित करने के लिए शब्दकोशों के सभी कॉल को बदल देगा। इस तरह अंतिम बंडल केवल उपयोग किए गए शब्दकोशों को आयात करेगा। सभी आयात स्थैतिक आयात के रूप में रहेंगे ताकि शब्दकोशों को लोड करते समय अतुल्यकालिक प्रसंस्करण से बचा जा सके।
499
+ - _नोट_: Intlayer `importMode` विकल्प द्वारा परिभाषित मोड के साथ सभी `useIntlayer` कॉल को बदल देगा और `getIntlayer` को `getDictionary` से बदल देगा।
500
+ - _नोट_: यह विकल्प `@intlayer/babel` और `@intlayer/swc` प्लगइन्स पर निर्भर करता है।
502
501
  - _नोट_: सुनिश्चित करें कि सभी कुंजियाँ `useIntlayer` कॉल में स्थैतिक रूप से घोषित की गई हैं। उदाहरण: `useIntlayer('navbar')`।
503
502
 
504
- - **activateDynamicImport**:
505
-
506
- - _प्रकार_: `boolean`
507
- - _डिफ़ॉल्ट_: `false`
508
- - _विवरण_: नियंत्रित करता है कि शब्दकोश सामग्री को प्रति भाषा डायनामिक रूप से आयात किया जाना चाहिए या नहीं।
509
- - _उदाहरण_: `true`
510
- - _नोट_: यह केवल वर्तमान भाषा के लिए शब्दकोश सामग्री को डायनामिक रूप से आयात करने की अनुमति देगा।
511
- - _नोट_: डायनामिक आयात React Suspense पर निर्भर करते हैं और रेंडरिंग प्रदर्शन को थोड़ा प्रभावित कर सकते हैं। लेकिन यदि अक्षम है तो सभी भाषाएँ एक साथ लोड की जाएंगी, भले ही वे उपयोग में न हों।
512
- - _नोट_: जब सक्षम किया जाता है, तो Intlayer सभी `useIntlayer` कॉल को `useDynamicDictionary` से बदलकर शब्दकोश चंकिंग को अनुकूलित करेगा।
513
- - _नोट_: यह विकल्प अनदेखा कर दिया जाएगा यदि `optimize` अक्षम है।
503
+ - **importMode**:
504
+
505
+ - _प्रकार_: `'static' | 'dynamic' | 'async'`
506
+ - _डिफ़ॉल्ट_: `'static'`
507
+ - _विवरण_: नियंत्रित करता है कि शब्दकोश कैसे आयात किए जाते हैं।
508
+ - _उदाहरण_: `'dynamic'`
509
+ - _नोट_: उपलब्ध मोड:
510
+ - "static": शब्दकोश स्थैतिक रूप से आयात किए जाते हैं। `useIntlayer` को `useDictionary` से बदलता है।
511
+ - "dynamic": शब्दकोश Suspense का उपयोग करके डायनामिक रूप से आयात किए जाते हैं। `useIntlayer` को `useDictionaryDynamic` से बदलता है।
512
+ - "async": शब्दकोश अतुल्यकालिक रूप से डायनामिक रूप से आयात किए जाते हैं। `useIntlayer` को `await useDictionaryAsync` से बदलता है।
513
+ - _नोट_: डायनामिक आयात Suspense पर निर्भर करते हैं और रेंडरिंग प्रदर्शन को थोड़ा प्रभावित कर सकते हैं।
514
+ - _नोट_: यदि अक्षम है तो सभी भाषाएँ एक साथ लोड की जाएंगी, भले ही वे उपयोग में न हों।
515
+ - _नोट_: यह विकल्प `@intlayer/babel` और `@intlayer/swc` प्लगइन्स पर निर्भर करता है।
514
516
  - _नोट_: सुनिश्चित करें कि सभी कुंजियाँ `useIntlayer` कॉल में स्थैतिक रूप से घोषित की गई हैं। उदाहरण: `useIntlayer('navbar')`।
517
+ - _नोट_: यह विकल्प अनदेखा कर दिया जाएगा यदि `optimize` अक्षम है।
518
+ - _नोट_: अधिकांश मामलों में, React एप्लिकेशन के लिए `"dynamic"` का उपयोग किया जाएगा, Vue.js एप्लिकेशन के लिए `"async"` का उपयोग किया जाएगा।
519
+ - _नोट_: यह विकल्प `getIntlayer`, `getDictionary`, `useDictionary`, `useDictionaryAsync` और `useDictionaryDynamic` फ़ंक्शन को प्रभावित नहीं करेगा।
515
520
 
516
521
  - **traversePattern**:
517
522
  - _प्रकार_: `string[]`
@@ -103,7 +103,7 @@ Babel और SWC प्लगइन्स आपके एप्लिकेश
103
103
 
104
104
  डेवलपमेंट मोड में, Intlayer डिक्शनरीज़ के लिए केंद्रीकृत स्थिर आयात का उपयोग करता है ताकि विकास अनुभव को सरल बनाया जा सके।
105
105
 
106
- [कॉन्फ़िगरेशन](https://github.com/aymericzip/intlayer/blob/main/docs/docs/hi/configuration.md) में `activateDynamicImport` विकल्प को सक्रिय करके, Intlayer डिक्शनरीज़ को लोड करने के लिए डायनेमिक आयात का उपयोग करेगा। यह विकल्प डिफ़ॉल्ट रूप से अक्षम है ताकि एप्लिकेशन को रेंडर करते समय असिंक्रोनस प्रोसेसिंग से बचा जा सके।
106
+ [कॉन्फ़िगरेशन](https://github.com/aymericzip/intlayer/blob/main/docs/docs/hi/configuration.md) में `importMode = "dynamic"` विकल्प को सक्रिय करके, Intlayer डिक्शनरीज़ को लोड करने के लिए डायनेमिक आयात का उपयोग करेगा। यह विकल्प डिफ़ॉल्ट रूप से अक्षम है ताकि एप्लिकेशन को रेंडर करते समय असिंक्रोनस प्रोसेसिंग से बचा जा सके।
107
107
 
108
108
  > `@intlayer/babel` डिफ़ॉल्ट रूप से `vite-intlayer` पैकेज पर उपलब्ध है,
109
109
 
@@ -59,7 +59,7 @@ const config: IntlayerConfig = {
59
59
  applicationContext: "This is a test application",
60
60
  },
61
61
  build: {
62
- activateDynamicImport: true,
62
+ importMode: "dynamic",
63
63
  },
64
64
  };
65
65
 
@@ -88,7 +88,7 @@ const config = {
88
88
  applicationContext: "This is a test application",
89
89
  },
90
90
  build: {
91
- activateDynamicImport: true,
91
+ importMode: "dynamic",
92
92
  },
93
93
  };
94
94
 
@@ -480,11 +480,9 @@ Impostazioni che controllano come Intlayer ottimizza e compila l'internazionaliz
480
480
 
481
481
  Le opzioni di build si applicano ai plugin `@intlayer/babel` e `@intlayer/swc`.
482
482
 
483
- > In modalità sviluppo, Intlayer utilizza un'importazione statica centralizzata per i dizionari per semplificare l'esperienza di sviluppo.
483
+ > In modalità sviluppo, Intlayer utilizza importazioni statiche per i dizionari per semplificare l'esperienza di sviluppo.
484
484
 
485
- > Ottimizzando il build, Intlayer sostituirà tutte le chiamate dei dizionari per ottimizzare il chunking. In questo modo il bundle finale importerà solo i dizionari che vengono utilizzati.
486
-
487
- - **Nota**: `@intlayer/babel` è disponibile per impostazione predefinita nel pacchetto `vite-intlayer`, ma `@intlayer/swc` non è installato per impostazione predefinita nel pacchetto `next-intlayer` poiché i plugin SWC sono ancora sperimentali su Next.js.
485
+ > Durante l'ottimizzazione, Intlayer sostituirà le chiamate ai dizionari per ottimizzare il chunking, in modo che il bundle finale importi solo i dizionari che vengono effettivamente utilizzati.
488
486
 
489
487
  #### Proprietà
490
488
 
@@ -494,21 +492,28 @@ Le opzioni di build si applicano ai plugin `@intlayer/babel` e `@intlayer/swc`.
494
492
  - _Predefinito_: `process.env.NODE_ENV === 'production'`
495
493
  - _Descrizione_: Controlla se il build deve essere ottimizzato.
496
494
  - _Esempio_: `true`
497
- - _Nota_: Permetterà di importare solo i dizionari utilizzati nel bundle. Ma tutte le importazioni rimarranno come importazione statica per evitare l'elaborazione asincrona durante il caricamento dei dizionari.
498
- - _Nota_: Quando abilitato, Intlayer ottimizzerà il chunking del dizionario sostituendo tutte le chiamate di `useIntlayer` con `useDictionary` e `getIntlayer` con `getDictionary`.
495
+ - _Nota_: Quando abilitato, Intlayer sostituirà tutte le chiamate dei dizionari per ottimizzare il chunking. In questo modo il bundle finale importerà solo i dizionari utilizzati. Tutte le importazioni rimarranno come importazioni statiche per evitare l'elaborazione asincrona durante il caricamento dei dizionari.
496
+ - _Nota_: Intlayer sostituirà tutte le chiamate di `useIntlayer` con la modalità definita dall'opzione `importMode` e `getIntlayer` con `getDictionary`.
497
+ - _Nota_: Questa opzione si basa sui plugin `@intlayer/babel` e `@intlayer/swc`.
499
498
  - _Nota_: Assicurati che tutte le chiavi siano dichiarate staticamente nelle chiamate `useIntlayer`. ad esempio: `useIntlayer('navbar')`.
500
499
 
501
- - **activateDynamicImport**:
502
-
503
- - _Tipo_: `boolean`
504
- - _Predefinito_: `false`
505
- - _Descrizione_: Controlla se il contenuto del dizionario deve essere importato dinamicamente per lingua.
506
- - _Esempio_: `true`
507
- - _Nota_: Permetterà di importare dinamicamente il contenuto del dizionario solo per la lingua corrente.
508
- - _Nota_: Le importazioni dinamiche si basano su React Suspense e possono influire leggermente sulle prestazioni di rendering. Ma se disabilitato tutte le lingue verranno caricate contemporaneamente, anche se non vengono utilizzate.
509
- - _Nota_: Quando abilitato, Intlayer ottimizzerà il chunking del dizionario sostituendo tutte le chiamate di `useIntlayer` con `useDynamicDictionary`.
510
- - _Nota_: Questa opzione verrà ignorata se `optimize` è disabilitato.
500
+ - **importMode**:
501
+
502
+ - _Tipo_: `'static' | 'dynamic' | 'async'`
503
+ - _Predefinito_: `'static'`
504
+ - _Descrizione_: Controlla come vengono importati i dizionari.
505
+ - _Esempio_: `'dynamic'`
506
+ - _Nota_: Modalità disponibili:
507
+ - "static": I dizionari vengono importati staticamente. Sostituisce `useIntlayer` con `useDictionary`.
508
+ - "dynamic": I dizionari vengono importati dinamicamente utilizzando Suspense. Sostituisce `useIntlayer` con `useDictionaryDynamic`.
509
+ - "async": I dizionari vengono importati dinamicamente in modo asincrono. Sostituisce `useIntlayer` con `await useDictionaryAsync`.
510
+ - _Nota_: Le importazioni dinamiche si basano su Suspense e possono influire leggermente sulle prestazioni di rendering.
511
+ - _Nota_: Se disabilitato, tutte le lingue verranno caricate contemporaneamente, anche se non vengono utilizzate.
512
+ - _Nota_: Questa opzione si basa sui plugin `@intlayer/babel` e `@intlayer/swc`.
511
513
  - _Nota_: Assicurati che tutte le chiavi siano dichiarate staticamente nelle chiamate `useIntlayer`. ad esempio: `useIntlayer('navbar')`.
514
+ - _Nota_: Questa opzione verrà ignorata se `optimize` è disabilitato.
515
+ - _Nota_: Nella maggior parte dei casi, `"dynamic"` verrà utilizzato per le applicazioni React, `"async"` per le applicazioni Vue.js.
516
+ - _Nota_: Questa opzione non influenzerà le funzioni `getIntlayer`, `getDictionary`, `useDictionary`, `useDictionaryAsync` e `useDictionaryDynamic`.
512
517
 
513
518
  - **traversePattern**:
514
519
  - _Tipo_: `string[]`
@@ -103,7 +103,7 @@ I plugin Babel e SWC funzionano analizzando l'Abstract Syntax Tree (AST) della t
103
103
 
104
104
  In modalità sviluppo, Intlayer utilizza un'importazione statica centralizzata per i dizionari per semplificare l'esperienza di sviluppo.
105
105
 
106
- Attivando l'opzione `activateDynamicImport` nella [configurazione](https://github.com/aymericzip/intlayer/blob/main/docs/docs/it/configuration.md), Intlayer utilizzerà l'importazione dinamica per caricare i dizionari. Questa opzione è disattivata di default per evitare processi asincroni durante il rendering dell'applicazione.
106
+ Attivando l'opzione `importMode = "dynamic"` nella [configurazione](https://github.com/aymericzip/intlayer/blob/main/docs/docs/it/configuration.md), Intlayer utilizzerà l'importazione dinamica per caricare i dizionari. Questa opzione è disattivata di default per evitare processi asincroni durante il rendering dell'applicazione.
107
107
 
108
108
  > `@intlayer/babel` è disponibile di default nel pacchetto `vite-intlayer`,
109
109
 
@@ -59,7 +59,7 @@ const config: IntlayerConfig = {
59
59
  applicationContext: "This is a test application",
60
60
  },
61
61
  build: {
62
- activateDynamicImport: true,
62
+ importMode: "dynamic",
63
63
  },
64
64
  };
65
65
 
@@ -88,7 +88,7 @@ const config = {
88
88
  applicationContext: "This is a test application",
89
89
  },
90
90
  build: {
91
- activateDynamicImport: true,
91
+ importMode: "dynamic",
92
92
  },
93
93
  };
94
94
 
@@ -481,11 +481,9 @@ Intlayerがアプリケーションの国際化をどのように最適化しビ
481
481
 
482
482
  ビルドオプションは`@intlayer/babel`および`@intlayer/swc`プラグインに適用されます。
483
483
 
484
- > 開発モードでは、Intlayerは開発体験を簡素化するために辞書の一元化された静的インポートを使用します。
484
+ > 開発モードでは、Intlayerは開発体験を簡素化するために辞書の静的インポートを使用します。
485
485
 
486
- > ビルドを最適化することで、Intlayerはチャンキングを最適化するためにすべての辞書の呼び出しを置き換えます。これにより、最終的なバンドルは使用される辞書のみをインポートします。
487
-
488
- - **注意**: `@intlayer/babel`は`vite-intlayer`パッケージでデフォルトで利用可能ですが、`@intlayer/swc`はNext.jsでのSWCプラグインがまだ実験的であるため、`next-intlayer`パッケージではデフォルトでインストールされていません。
486
+ > 最適化時、Intlayerはチャンキングを最適化するために辞書の呼び出しを置き換え、最終的なバンドルが実際に使用される辞書のみをインポートするようにします。
489
487
 
490
488
  #### プロパティ
491
489
 
@@ -495,21 +493,28 @@ Intlayerがアプリケーションの国際化をどのように最適化しビ
495
493
  - _デフォルト_: `process.env.NODE_ENV === 'production'`
496
494
  - _説明_: ビルドを最適化するかどうかを制御します。
497
495
  - _例_: `true`
498
- - _注意_: 使用される辞書のみをバンドルにインポートすることを可能にします。ただし、すべてのインポートは辞書の読み込み時の非同期処理を避けるために静的インポートのままとなります。
499
- - _注意_: 有効にすると、Intlayerはすべての`useIntlayer`呼び出しを`useDictionary`に、`getIntlayer`を`getDictionary`に置き換えることで辞書のチャンキングを最適化します。
496
+ - _注意_: 有効にすると、Intlayerはチャンキングを最適化するためにすべての辞書の呼び出しを置き換えます。これにより、最終的なバンドルは使用される辞書のみをインポートします。すべてのインポートは辞書の読み込み時の非同期処理を避けるために静的インポートのままとなります。
497
+ - _注意_: Intlayerは`importMode`オプションによって定義されたモードですべての`useIntlayer`呼び出しを置き換え、`getIntlayer`を`getDictionary`に置き換えます。
498
+ - _注意_: このオプションは`@intlayer/babel`および`@intlayer/swc`プラグインに依存します。
500
499
  - _注意_: すべてのキーが`useIntlayer`呼び出しで静的に宣言されていることを確認してください。例:`useIntlayer('navbar')`。
501
500
 
502
- - **activateDynamicImport**:
503
-
504
- - _型_: `boolean`
505
- - _デフォルト_: `false`
506
- - _説明_: 辞書コンテンツをロケールごとに動的にインポートするかどうかを制御します。
507
- - _例_: `true`
508
- - _注意_: 現在のロケールの辞書コンテンツのみを動的にインポートすることを可能にします。
509
- - _注意_: 動的インポートはReact Suspenseに依存し、レンダリングパフォーマンスに若干の影響を与える可能性があります。ただし、無効にすると、使用されていない場合でもすべてのロケールが一度に読み込まれます。
510
- - _注意_: 有効にすると、Intlayerはすべての`useIntlayer`呼び出しを`useDynamicDictionary`に置き換えることで辞書のチャンキングを最適化します。
511
- - _注意_: このオプションは`optimize`が無効の場合は無視されます。
501
+ - **importMode**:
502
+
503
+ - _型_: `'static' | 'dynamic' | 'async'`
504
+ - _デフォルト_: `'static'`
505
+ - _説明_: 辞書がどのようにインポートされるかを制御します。
506
+ - _例_: `'dynamic'`
507
+ - _注意_: 利用可能なモード:
508
+ - "static": 辞書が静的にインポートされます。`useIntlayer`を`useDictionary`に置き換えます。
509
+ - "dynamic": 辞書がSuspenseを使用して動的にインポートされます。`useIntlayer`を`useDictionaryDynamic`に置き換えます。
510
+ - "async": 辞書が非同期で動的にインポートされます。`useIntlayer`を`await useDictionaryAsync`に置き換えます。
511
+ - _注意_: 動的インポートはSuspenseに依存し、レンダリングパフォーマンスに若干の影響を与える可能性があります。
512
+ - _注意_: 無効にすると、使用されていない場合でもすべてのロケールが一度に読み込まれます。
513
+ - _注意_: このオプションは`@intlayer/babel`および`@intlayer/swc`プラグインに依存します。
512
514
  - _注意_: すべてのキーが`useIntlayer`呼び出しで静的に宣言されていることを確認してください。例:`useIntlayer('navbar')`。
515
+ - _注意_: このオプションは`optimize`が無効の場合は無視されます。
516
+ - _注意_: ほとんどの場合、Reactアプリケーションには`"dynamic"`が、Vue.jsアプリケーションには`"async"`が使用されます。
517
+ - _注意_: このオプションは`getIntlayer`、`getDictionary`、`useDictionary`、`useDictionaryAsync`、`useDictionaryDynamic`関数に影響しません。
513
518
 
514
519
  - **traversePattern**:
515
520
  - _型_: `string[]`
@@ -103,7 +103,7 @@ BabelおよびSWCプラグインは、アプリケーションの抽象構文木
103
103
 
104
104
  開発モードでは、Intlayerは辞書の集中型静的インポートを使用して開発体験を簡素化します。
105
105
 
106
- [設定](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ja/configuration.md)で`activateDynamicImport`オプションを有効にすると、Intlayerは動的インポートを使用して辞書をロードします。このオプションは、アプリケーションのレンダリング時に非同期処理を回避するためにデフォルトで無効になっています。
106
+ [設定](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ja/configuration.md)で`importMode = "dynamic"`オプションを有効にすると、Intlayerは動的インポートを使用して辞書をロードします。このオプションは、アプリケーションのレンダリング時に非同期処理を回避するためにデフォルトで無効になっています。
107
107
 
108
108
  > `@intlayer/babel`は`vite-intlayer`パッケージでデフォルトで利用可能です。
109
109
 
@@ -59,7 +59,7 @@ const config: IntlayerConfig = {
59
59
  applicationContext: "This is a test application",
60
60
  },
61
61
  build: {
62
- activateDynamicImport: true,
62
+ importMode: "dynamic",
63
63
  },
64
64
  };
65
65
 
@@ -88,7 +88,7 @@ const config = {
88
88
  applicationContext: "This is a test application",
89
89
  },
90
90
  build: {
91
- activateDynamicImport: true,
91
+ importMode: "dynamic",
92
92
  },
93
93
  };
94
94
 
@@ -480,11 +480,9 @@ Intlayer가 애플리케이션의 국제화를 최적화하고 빌드하는 방
480
480
 
481
481
  빌드 옵션은 `@intlayer/babel` 및 `@intlayer/swc` 플러그인에 적용됩니다.
482
482
 
483
- > 개발 모드에서 Intlayer는 개발 경험을 단순화하기 위해 사전에 대해 중앙 집중식 정적 가져오기를 사용합니다.
483
+ > 개발 모드에서 Intlayer는 개발 경험을 단순화하기 위해 사전에 대해 정적 가져오기를 사용합니다.
484
484
 
485
- > 빌드를 최적화함으로써 Intlayer는 청킹을 최적화하기 위해 모든 사전 호출을 대체합니다. 이렇게 하면 최종 번들은 사용되는 사전만 가져옵니다.
486
-
487
- - **참고**: `@intlayer/babel`은 `vite-intlayer` 패키지에서 기본적으로 사용할 수 있지만, `@intlayer/swc`는 SWC 플러그인이 Next.js에서 아직 실험적이기 때문에 `next-intlayer` 패키지에서 기본적으로 설치되지 않습니다.
485
+ > 최적화 Intlayer는 청킹을 최적화하기 위해 사전 호출을 대체하여 최종 번들이 실제로 사용되는 사전만 가져오도록 합니다.
488
486
 
489
487
  #### 속성
490
488
 
@@ -494,21 +492,28 @@ Intlayer가 애플리케이션의 국제화를 최적화하고 빌드하는 방
494
492
  - _기본값_: `process.env.NODE_ENV === 'production'`
495
493
  - _설명_: 빌드를 최적화해야 하는지 여부를 제어합니다.
496
494
  - _예시_: `true`
497
- - _참고_: 번들에 사용되는 사전만 가져올 있습니다. 하지만 모든 가져오기는 사전을 로드할 때 비동기 처리를 피하기 위해 정적 가져오기로 유지됩니다.
498
- - _참고_: 활성화되면 Intlayer는 모든 `useIntlayer` 호출을 `useDictionary`로, `getIntlayer`를 `getDictionary`로 대체하여 사전 청킹을 최적화합니다.
495
+ - _참고_: 활성화되면 Intlayer는 청킹을 최적화하기 위해 모든 사전 호출을 대체합니다. 이렇게 하면 최종 번들이 사용되는 사전만 가져옵니다. 모든 가져오기는 사전을 로드할 때 비동기 처리를 피하기 위해 정적 가져오기로 유지됩니다.
496
+ - _참고_: Intlayer는 `importMode` 옵션에 의해 정의된 모드로 모든 `useIntlayer` 호출을 대체하고 `getIntlayer`를 `getDictionary`로 대체합니다.
497
+ - _참고_: 이 옵션은 `@intlayer/babel` 및 `@intlayer/swc` 플러그인에 의존합니다.
499
498
  - _참고_: 모든 키가 `useIntlayer` 호출에서 정적으로 선언되어 있는지 확인하세요. 예: `useIntlayer('navbar')`.
500
499
 
501
- - **activateDynamicImport**:
502
-
503
- - _유형_: `boolean`
504
- - _기본값_: `false`
505
- - _설명_: 사전 콘텐츠를 로케일별로 동적으로 가져와야 하는지 여부를 제어합니다.
506
- - _예시_: `true`
507
- - _참고_: 현재 로케일의 사전 콘텐츠만 동적으로 가져올 수 있습니다.
508
- - _참고_: 동적 가져오기는 React Suspense에 의존하며 렌더링 성능에 약간의 영향을 미칠 수 있습니다. 하지만 비활성화되면 사용되지 않더라도 모든 로케일이 한 번에 로드됩니다.
509
- - _참고_: 활성화되면 Intlayer는 모든 `useIntlayer` 호출을 `useDynamicDictionary`로 대체하여 사전 청킹을 최적화합니다.
510
- - _참고_: 옵션은 `optimize`가 비활성화된 경우 무시됩니다.
500
+ - **importMode**:
501
+
502
+ - _유형_: `'static' | 'dynamic' | 'async'`
503
+ - _기본값_: `'static'`
504
+ - _설명_: 사전이 어떻게 가져오는지 제어합니다.
505
+ - _예시_: `'dynamic'`
506
+ - _참고_: 사용 가능한 모드:
507
+ - "static": 사전이 정적으로 가져옵니다. `useIntlayer`를 `useDictionary`로 대체합니다.
508
+ - "dynamic": 사전이 Suspense를 사용하여 동적으로 가져옵니다. `useIntlayer`를 `useDictionaryDynamic`으로 대체합니다.
509
+ - "async": 사전이 비동기적으로 동적으로 가져옵니다. `useIntlayer`를 `await useDictionaryAsync`로 대체합니다.
510
+ - _참고_: 동적 가져오기는 Suspense에 의존하며 렌더링 성능에 약간의 영향을 미칠 수 있습니다.
511
+ - _참고_: 비활성화되면 사용되지 않더라도 모든 로케일이 한 번에 로드됩니다.
512
+ - _참고_: 이 옵션은 `@intlayer/babel` 및 `@intlayer/swc` 플러그인에 의존합니다.
511
513
  - _참고_: 모든 키가 `useIntlayer` 호출에서 정적으로 선언되어 있는지 확인하세요. 예: `useIntlayer('navbar')`.
514
+ - _참고_: 이 옵션은 `optimize`가 비활성화된 경우 무시됩니다.
515
+ - _참고_: 대부분의 경우 React 애플리케이션에는 `"dynamic"`이, Vue.js 애플리케이션에는 `"async"`가 사용됩니다.
516
+ - _참고_: 이 옵션은 `getIntlayer`, `getDictionary`, `useDictionary`, `useDictionaryAsync` 및 `useDictionaryDynamic` 함수에 영향을 미치지 않습니다.
512
517
 
513
518
  - **traversePattern**:
514
519
  - _유형_: `string[]`
@@ -103,7 +103,7 @@ Babel 및 SWC 플러그인은 애플리케이션의 추상 구문 트리(Abstrac
103
103
 
104
104
  개발 모드에서는 Intlayer가 사전을 중앙 집중식 정적 가져오기로 사용하여 개발 경험을 단순화합니다.
105
105
 
106
- [설정](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ko/configuration.md)에서 `activateDynamicImport` 옵션을 활성화하면 Intlayer는 동적 가져오기를 사용하여 사전을 로드합니다. 이 옵션은 애플리케이션 렌더링 시 비동기 처리를 방지하기 위해 기본적으로 비활성화되어 있습니다.
106
+ [설정](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ko/configuration.md)에서 `importMode = "dynamic"` 옵션을 활성화하면 Intlayer는 동적 가져오기를 사용하여 사전을 로드합니다. 이 옵션은 애플리케이션 렌더링 시 비동기 처리를 방지하기 위해 기본적으로 비활성화되어 있습니다.
107
107
 
108
108
  > `@intlayer/babel`는 `vite-intlayer` 패키지에 기본으로 포함되어 있습니다.
109
109
 
@@ -59,7 +59,7 @@ const config: IntlayerConfig = {
59
59
  applicationContext: "This is a test application",
60
60
  },
61
61
  build: {
62
- activateDynamicImport: true,
62
+ importMode: "dynamic",
63
63
  },
64
64
  };
65
65
 
@@ -88,7 +88,7 @@ const config = {
88
88
  applicationContext: "This is a test application",
89
89
  },
90
90
  build: {
91
- activateDynamicImport: true,
91
+ importMode: "dynamic",
92
92
  },
93
93
  };
94
94
 
@@ -482,11 +482,9 @@ Configurações que controlam como o Intlayer otimiza e compila a internacionali
482
482
 
483
483
  As opções de build se aplicam aos plugins `@intlayer/babel` e `@intlayer/swc`.
484
484
 
485
- > No modo de desenvolvimento, o Intlayer usa uma importação estática centralizada para dicionários para simplificar a experiência de desenvolvimento.
485
+ > No modo de desenvolvimento, o Intlayer usa importações estáticas para dicionários para simplificar a experiência de desenvolvimento.
486
486
 
487
- > Ao otimizar o build, o Intlayer substituirá todas as chamadas de dicionários para otimizar o chunking. Dessa forma, o bundle final importará apenas os dicionários que são utilizados.
488
-
489
- - **Nota**: `@intlayer/babel` está disponível por padrão no pacote `vite-intlayer`, mas `@intlayer/swc` não está instalado por padrão no pacote `next-intlayer`, pois os plugins SWC ainda são experimentais no Next.js.
487
+ > Durante a otimização, o Intlayer substituirá as chamadas aos dicionários para otimizar o chunking, de modo que o bundle final importe apenas os dicionários que são realmente utilizados.
490
488
 
491
489
  #### Propriedades
492
490
 
@@ -496,21 +494,28 @@ As opções de build se aplicam aos plugins `@intlayer/babel` e `@intlayer/swc`.
496
494
  - _Padrão_: `process.env.NODE_ENV === 'production'`
497
495
  - _Descrição_: Controla se o build deve ser otimizado.
498
496
  - _Exemplo_: `true`
499
- - _Nota_: Permitirá importar apenas os dicionários que são utilizados no bundle. Mas todas as importações permanecerão como importação estática para evitar processamento assíncrono ao carregar os dicionários.
500
- - _Nota_: Quando ativado, o Intlayer otimizará o chunking do dicionário substituindo todas as chamadas de `useIntlayer` por `useDictionary` e `getIntlayer` por `getDictionary`.
497
+ - _Nota_: Quando ativado, o Intlayer substituirá todas as chamadas de dicionários para otimizar o chunking. Dessa forma, o bundle final importará apenas os dicionários que são utilizados. Todas as importações permanecerão como importações estáticas para evitar processamento assíncrono ao carregar os dicionários.
498
+ - _Nota_: O Intlayer substituirá todas as chamadas de `useIntlayer` com o modo definido pela opção `importMode` e `getIntlayer` por `getDictionary`.
499
+ - _Nota_: Esta opção depende dos plugins `@intlayer/babel` e `@intlayer/swc`.
501
500
  - _Nota_: Certifique-se de que todas as chaves sejam declaradas estaticamente nas chamadas `useIntlayer`. por exemplo: `useIntlayer('navbar')`.
502
501
 
503
- - **activateDynamicImport**:
504
-
505
- - _Tipo_: `boolean`
506
- - _Padrão_: `false`
507
- - _Descrição_: Controla se o conteúdo do dicionário deve ser importado dinamicamente por idioma.
508
- - _Exemplo_: `true`
509
- - _Nota_: Permitirá importar dinamicamente o conteúdo do dicionário apenas para o idioma atual.
510
- - _Nota_: Importações dinâmicas dependem do React Suspense e podem impactar levemente o desempenho de renderização. Mas se desativado todos os idiomas serão carregados de uma vez, mesmo que não sejam utilizados.
511
- - _Nota_: Quando ativado, o Intlayer otimizará o chunking do dicionário substituindo todas as chamadas de `useIntlayer` por `useDynamicDictionary`.
512
- - _Nota_: Esta opção será ignorada se `optimize` estiver desativado.
502
+ - **importMode**:
503
+
504
+ - _Tipo_: `'static' | 'dynamic' | 'async'`
505
+ - _Padrão_: `'static'`
506
+ - _Descrição_: Controla como os dicionários são importados.
507
+ - _Exemplo_: `'dynamic'`
508
+ - _Nota_: Modos disponíveis:
509
+ - "static": Os dicionários são importados estaticamente. Substitui `useIntlayer` por `useDictionary`.
510
+ - "dynamic": Os dicionários são importados dinamicamente usando Suspense. Substitui `useIntlayer` por `useDictionaryDynamic`.
511
+ - "async": Os dicionários são importados dinamicamente de forma assíncrona. Substitui `useIntlayer` por `await useDictionaryAsync`.
512
+ - _Nota_: Importações dinâmicas dependem do Suspense e podem impactar levemente o desempenho de renderização.
513
+ - _Nota_: Se desativado, todos os idiomas serão carregados de uma vez, mesmo que não sejam utilizados.
514
+ - _Nota_: Esta opção depende dos plugins `@intlayer/babel` e `@intlayer/swc`.
513
515
  - _Nota_: Certifique-se de que todas as chaves sejam declaradas estaticamente nas chamadas `useIntlayer`. por exemplo: `useIntlayer('navbar')`.
516
+ - _Nota_: Esta opção será ignorada se `optimize` estiver desativado.
517
+ - _Nota_: Na maioria dos casos, `"dynamic"` será usado para aplicações React, `"async"` para aplicações Vue.js.
518
+ - _Nota_: Esta opção não afetará as funções `getIntlayer`, `getDictionary`, `useDictionary`, `useDictionaryAsync` e `useDictionaryDynamic`.
514
519
 
515
520
  - **traversePattern**:
516
521
  - _Tipo_: `string[]`
@@ -104,7 +104,7 @@ Os plugins Babel e SWC funcionam analisando a Árvore de Sintaxe Abstrata (AST)
104
104
 
105
105
  No modo de desenvolvimento, o Intlayer usa uma importação estática centralizada para os dicionários, simplificando a experiência de desenvolvimento.
106
106
 
107
- Ao ativar a opção `activateDynamicImport` na [configuração](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pt/configuration.md), o Intlayer usará a importação dinâmica para carregar os dicionários. Essa opção está desativada por padrão para evitar processamento assíncrono ao renderizar a aplicação.
107
+ Ao ativar a opção `importMode = "dynamic"` na [configuração](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pt/configuration.md), o Intlayer usará a importação dinâmica para carregar os dicionários. Essa opção está desativada por padrão para evitar processamento assíncrono ao renderizar a aplicação.
108
108
 
109
109
  > `@intlayer/babel` está disponível por padrão no pacote `vite-intlayer`,
110
110
 
@@ -59,7 +59,7 @@ const config: IntlayerConfig = {
59
59
  applicationContext: "Это тестовое приложение",
60
60
  },
61
61
  build: {
62
- activateDynamicImport: true,
62
+ importMode: "dynamic",
63
63
  },
64
64
  };
65
65
 
@@ -88,7 +88,7 @@ const config = {
88
88
  applicationContext: "Это тестовое приложение", // This is a test application
89
89
  },
90
90
  build: {
91
- activateDynamicImport: true,
91
+ importMode: "dynamic",
92
92
  },
93
93
  };
94
94
 
@@ -480,11 +480,9 @@ Intlayer поддерживает нескольких провайдеров AI
480
480
 
481
481
  Параметры сборки применяются к плагинам `@intlayer/babel` и `@intlayer/swc`.
482
482
 
483
- > В режиме разработки Intlayer использует централизованный статический импорт для словарей, чтобы упростить процесс разработки.
483
+ > В режиме разработки Intlayer использует статические импорты для словарей, чтобы упростить процесс разработки.
484
484
 
485
- > При оптимизации сборки Intlayer заменит все вызовы словарей для оптимизации разделения на чанки. Таким образом, финальный бандл будет импортировать только используемые словари.
486
-
487
- - **Примечание**: `@intlayer/babel` доступен по умолчанию в пакете `vite-intlayer`, но `@intlayer/swc` не установлен по умолчанию в пакете `next-intlayer`, так как плагины SWC все еще экспериментальны в Next.js.
485
+ > При оптимизации Intlayer заменит вызовы словарей для оптимизации разделения на чанки, чтобы финальный бандл импортировал только действительно используемые словари.
488
486
 
489
487
  #### Свойства
490
488
 
@@ -494,21 +492,28 @@ Intlayer поддерживает нескольких провайдеров AI
494
492
  - _По умолчанию_: `process.env.NODE_ENV === 'production'`
495
493
  - _Описание_: Контролирует, должна ли быть оптимизирована сборка.
496
494
  - _Пример_: `true`
497
- - _Примечание_: Позволит импортировать в бандл только используемые словари. Но все импорты останутся статическими, чтобы избежать асинхронной обработки при загрузке словарей.
498
- - _Примечание_: При включении Intlayer оптимизирует разделение словарей на чанки, заменяя все вызовы `useIntlayer` на `useDictionary` и `getIntlayer` на `getDictionary`.
495
+ - _Примечание_: При включении Intlayer заменит все вызовы словарей для оптимизации разделения на чанки. Таким образом, финальный бандл будет импортировать только используемые словари. Все импорты останутся статическими, чтобы избежать асинхронной обработки при загрузке словарей.
496
+ - _Примечание_: Intlayer заменит все вызовы `useIntlayer` на режим, определенный опцией `importMode`, и `getIntlayer` на `getDictionary`.
497
+ - _Примечание_: Эта опция зависит от плагинов `@intlayer/babel` и `@intlayer/swc`.
499
498
  - _Примечание_: Убедитесь, что все ключи объявлены статически в вызовах `useIntlayer`. например: `useIntlayer('navbar')`.
500
499
 
501
- - **activateDynamicImport**:
502
-
503
- - _Тип_: `boolean`
504
- - _По умолчанию_: `false`
505
- - _Описание_: Контролирует, должно ли содержимое словаря импортироваться динамически для каждой локали.
506
- - _Пример_: `true`
507
- - _Примечание_: Позволит динамически импортировать содержимое словаря только для текущей локали.
508
- - _Примечание_: Динамические импорты зависят от React Suspense и могут немного влиять на производительность рендеринга. Но если отключено, все локали будут загружены одновременно, даже если они не используются.
509
- - _Примечание_: При включении Intlayer оптимизирует разделение словарей на чанки, заменяя все вызовы `useIntlayer` на `useDynamicDictionary`.
510
- - _Примечание_: Эта опция будет проигнорирована, если `optimize` отключен.
500
+ - **importMode**:
501
+
502
+ - _Тип_: `'static' | 'dynamic' | 'async'`
503
+ - _По умолчанию_: `'static'`
504
+ - _Описание_: Контролирует, как импортируются словари.
505
+ - _Пример_: `'dynamic'`
506
+ - _Примечание_: Доступные режимы:
507
+ - "static": Словари импортируются статически. Заменяет `useIntlayer` на `useDictionary`.
508
+ - "dynamic": Словари импортируются динамически с использованием Suspense. Заменяет `useIntlayer` на `useDictionaryDynamic`.
509
+ - "async": Словари импортируются динамически асинхронно. Заменяет `useIntlayer` на `await useDictionaryAsync`.
510
+ - _Примечание_: Динамические импорты зависят от Suspense и могут немного влиять на производительность рендеринга.
511
+ - _Примечание_: Если отключено, все локали будут загружены одновременно, даже если они не используются.
512
+ - _Примечание_: Эта опция зависит от плагинов `@intlayer/babel` и `@intlayer/swc`.
511
513
  - _Примечание_: Убедитесь, что все ключи объявлены статически в вызовах `useIntlayer`. например: `useIntlayer('navbar')`.
514
+ - _Примечание_: Эта опция будет проигнорирована, если `optimize` отключен.
515
+ - _Примечание_: В большинстве случаев `"dynamic"` будет использоваться для React-приложений, `"async"` для Vue.js-приложений.
516
+ - _Примечание_: Эта опция не повлияет на функции `getIntlayer`, `getDictionary`, `useDictionary`, `useDictionaryAsync` и `useDictionaryDynamic`.
512
517
 
513
518
  - **traversePattern**:
514
519
  - _Тип_: `string[]`
@@ -103,7 +103,7 @@ Intlayer также предоставляет визуальный редакт
103
103
 
104
104
  В режиме разработки Intlayer использует централизованный статический импорт для словарей, чтобы упростить процесс разработки.
105
105
 
106
- Активировав опцию `activateDynamicImport` в [конфигурации](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ru/configuration.md), Intlayer будет использовать динамический импорт для загрузки словарей. Эта опция отключена по умолчанию, чтобы избежать асинхронной обработки при рендеринге приложения.
106
+ Активировав опцию `importMode = "dynamic"` в [конфигурации](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ru/configuration.md), Intlayer будет использовать динамический импорт для загрузки словарей. Эта опция отключена по умолчанию, чтобы избежать асинхронной обработки при рендеринге приложения.
107
107
 
108
108
  > `@intlayer/babel` доступен по умолчанию в пакете `vite-intlayer`,
109
109
 
@@ -59,7 +59,7 @@ const config: IntlayerConfig = {
59
59
  applicationContext: "This is a test application",
60
60
  },
61
61
  build: {
62
- activateDynamicImport: true,
62
+ importMode: "dynamic",
63
63
  },
64
64
  };
65
65
 
@@ -88,7 +88,7 @@ const config = {
88
88
  applicationContext: "This is a test application", // 应用程序上下文
89
89
  },
90
90
  build: {
91
- activateDynamicImport: true, // 启用动态导入
91
+ importMode: "dynamic", // 启用动态导入
92
92
  },
93
93
  };
94
94
 
@@ -482,11 +482,9 @@ Intlayer 支持多个 AI 提供商,以增强灵活性和选择性。目前支
482
482
 
483
483
  构建选项适用于 `@intlayer/babel` 和 `@intlayer/swc` 插件。
484
484
 
485
- > 在开发模式下,Intlayer 使用集中式静态导入字典以简化开发体验。
485
+ > 在开发模式下,Intlayer 使用静态导入字典以简化开发体验。
486
486
 
487
- > 通过优化构建,Intlayer 将替换所有字典调用以优化分块。这样,最终的包只会导入使用到的字典。
488
-
489
- - **注意**:`@intlayer/babel` 在 `vite-intlayer` 包中默认可用,但由于 SWC 插件在 Next.js 中仍处于实验阶段,`@intlayer/swc` 在 `next-intlayer` 包中默认未安装。
487
+ > 优化时,Intlayer 将替换字典调用以优化分块,以便最终包只导入实际使用的字典。
490
488
 
491
489
  #### 属性
492
490
 
@@ -496,21 +494,28 @@ Intlayer 支持多个 AI 提供商,以增强灵活性和选择性。目前支
496
494
  - _默认值_:`process.env.NODE_ENV === 'production'`
497
495
  - _描述_:控制构建是否应被优化。
498
496
  - _示例_:`true`
499
- - _注意_:这将允许只导入包中使用的字典。但所有导入都将保持为静态导入,以避免加载字典时的异步处理。
500
- - _注意_:启用时,Intlayer 将通过将所有 `useIntlayer` 调用替换为 `useDictionary` `getIntlayer` 替换为 `getDictionary` 来优化字典分块。
497
+ - _注意_:启用时,Intlayer 将替换所有字典调用以优化分块。这样,最终包将只导入使用的字典。所有导入都将保持为静态导入,以避免加载字典时的异步处理。
498
+ - _注意_Intlayer 将用 `importMode` 选项定义的模式替换所有 `useIntlayer` 调用,并将 `getIntlayer` 替换为 `getDictionary`。
499
+ - _注意_:此选项依赖于 `@intlayer/babel` 和 `@intlayer/swc` 插件。
501
500
  - _注意_:确保所有键都在 `useIntlayer` 调用中静态声明。例如:`useIntlayer('navbar')`。
502
501
 
503
- - **activateDynamicImport**:
504
-
505
- - _类型_:`boolean`
506
- - _默认值_:`false`
507
- - _描述_:控制是否应按语言环境动态导入字典内容。
508
- - _示例_:`true`
509
- - _注意_:它允许仅动态导入当前语言环境的字典内容。
510
- - _注意_:动态导入依赖于 React Suspense,可能会略微影响渲染性能。但如果禁用,所有语言环境将一次性加载,即使未被使用。
511
- - _注意_:启用时,Intlayer 将通过将所有 `useIntlayer` 调用替换为 `useDynamicDictionary` 来优化字典分块。
502
+ - **importMode**:
503
+
504
+ - _类型_:`'static' | 'dynamic' | 'async'`
505
+ - _默认值_:`'static'`
506
+ - _描述_:控制字典的导入方式。
507
+ - _示例_:`'dynamic'`
508
+ - _注意_:可用模式:
509
+ - "static":字典静态导入。将 `useIntlayer` 替换为 `useDictionary`。
510
+ - "dynamic":字典使用 Suspense 动态导入。将 `useIntlayer` 替换为 `useDictionaryDynamic`。
511
+ - "async":字典异步动态导入。将 `useIntlayer` 替换为 `await useDictionaryAsync`。
512
+ - _注意_:动态导入依赖于 Suspense,可能会略微影响渲染性能。
513
+ - _注意_:如果禁用,所有语言环境将一次性加载,即使未被使用。
514
+ - _注意_:此选项依赖于 `@intlayer/babel` 和 `@intlayer/swc` 插件。
515
+ - _注意_:确保所有键在 `useIntlayer` 调用中静态声明。例如:`useIntlayer('navbar')`。
512
516
  - _注意_:如果 `optimize` 被禁用,此选项将被忽略。
513
- - _注意_:确保所有键在 `useIntlayer` 调用中静态声明。例如 `useIntlayer('navbar')`。
517
+ - _注意_:在大多数情况下,React 应用程序将使用 `"dynamic"`,Vue.js 应用程序将使用 `"async"`。
518
+ - _注意_:此选项不会影响 `getIntlayer`、`getDictionary`、`useDictionary`、`useDictionaryAsync` 和 `useDictionaryDynamic` 函数。
514
519
 
515
520
  - **traversePattern**:
516
521
  - _类型_:`string[]`