@intlayer/docs 8.5.0 → 8.5.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.
Files changed (109) hide show
  1. package/docs/ar/dictionary/html.md +10 -3
  2. package/docs/ar/dictionary/markdown.md +15 -17
  3. package/docs/ar/intlayer_with_analog.md +8 -14
  4. package/docs/ar/intlayer_with_vite+lit.md +8 -57
  5. package/docs/ar/intlayer_with_vite+vue.md +3 -3
  6. package/docs/bn/intlayer_with_vite+lit.md +8 -57
  7. package/docs/cs/intlayer_with_vite+lit.md +8 -57
  8. package/docs/de/compiler.md +6 -1
  9. package/docs/de/configuration.md +12 -9
  10. package/docs/de/dictionary/html.md +11 -8
  11. package/docs/de/dictionary/markdown.md +17 -23
  12. package/docs/de/intlayer_with_analog.md +8 -14
  13. package/docs/de/intlayer_with_vite+lit.md +8 -57
  14. package/docs/de/intlayer_with_vite+vue.md +3 -3
  15. package/docs/en/compiler.md +2 -0
  16. package/docs/en/configuration.md +8 -8
  17. package/docs/en/dictionary/html.md +12 -9
  18. package/docs/en/dictionary/markdown.md +18 -24
  19. package/docs/en/intlayer_with_analog.md +8 -14
  20. package/docs/en/intlayer_with_vite+lit.md +10 -57
  21. package/docs/en/intlayer_with_vite+vue.md +13 -3
  22. package/docs/en-GB/dictionary/html.md +10 -3
  23. package/docs/en-GB/dictionary/markdown.md +16 -18
  24. package/docs/en-GB/intlayer_with_analog.md +8 -14
  25. package/docs/en-GB/intlayer_with_vite+lit.md +10 -57
  26. package/docs/en-GB/intlayer_with_vite+vue.md +3 -3
  27. package/docs/es/compiler.md +6 -1
  28. package/docs/es/configuration.md +12 -9
  29. package/docs/es/dictionary/html.md +11 -8
  30. package/docs/es/dictionary/markdown.md +18 -24
  31. package/docs/es/intlayer_with_analog.md +8 -14
  32. package/docs/es/intlayer_with_vite+lit.md +8 -57
  33. package/docs/es/intlayer_with_vite+vue.md +3 -3
  34. package/docs/fr/compiler.md +8 -3
  35. package/docs/fr/configuration.md +12 -9
  36. package/docs/fr/dictionary/html.md +11 -8
  37. package/docs/fr/dictionary/markdown.md +18 -24
  38. package/docs/fr/intlayer_with_analog.md +8 -14
  39. package/docs/fr/intlayer_with_vite+lit.md +8 -57
  40. package/docs/fr/intlayer_with_vite+vue.md +3 -3
  41. package/docs/hi/dictionary/html.md +10 -3
  42. package/docs/hi/dictionary/markdown.md +17 -19
  43. package/docs/hi/intlayer_with_analog.md +8 -14
  44. package/docs/hi/intlayer_with_vite+lit.md +8 -57
  45. package/docs/hi/intlayer_with_vite+vue.md +3 -3
  46. package/docs/id/dictionary/html.md +10 -3
  47. package/docs/id/dictionary/markdown.md +17 -19
  48. package/docs/id/intlayer_with_analog.md +8 -14
  49. package/docs/id/intlayer_with_vite+lit.md +8 -57
  50. package/docs/id/intlayer_with_vite+vue.md +3 -3
  51. package/docs/it/compiler.md +8 -3
  52. package/docs/it/configuration.md +12 -9
  53. package/docs/it/dictionary/html.md +11 -8
  54. package/docs/it/dictionary/markdown.md +18 -24
  55. package/docs/it/intlayer_with_analog.md +8 -14
  56. package/docs/it/intlayer_with_vite+lit.md +8 -57
  57. package/docs/it/intlayer_with_vite+vue.md +3 -3
  58. package/docs/ja/dictionary/html.md +11 -8
  59. package/docs/ja/dictionary/markdown.md +21 -24
  60. package/docs/ja/intlayer_with_analog.md +8 -14
  61. package/docs/ja/intlayer_with_vite+lit.md +8 -57
  62. package/docs/ja/intlayer_with_vite+vue.md +3 -3
  63. package/docs/ko/dictionary/html.md +11 -8
  64. package/docs/ko/dictionary/markdown.md +18 -24
  65. package/docs/ko/intlayer_with_analog.md +8 -14
  66. package/docs/ko/intlayer_with_vite+lit.md +8 -57
  67. package/docs/ko/intlayer_with_vite+vue.md +3 -3
  68. package/docs/nl/intlayer_with_vite+lit.md +8 -57
  69. package/docs/pl/dictionary/html.md +11 -8
  70. package/docs/pl/dictionary/markdown.md +18 -24
  71. package/docs/pl/intlayer_with_analog.md +8 -14
  72. package/docs/pl/intlayer_with_vite+lit.md +8 -57
  73. package/docs/pl/intlayer_with_vite+vue.md +3 -3
  74. package/docs/pt/compiler.md +7 -2
  75. package/docs/pt/configuration.md +11 -9
  76. package/docs/pt/dictionary/html.md +11 -8
  77. package/docs/pt/dictionary/markdown.md +18 -24
  78. package/docs/pt/intlayer_with_analog.md +8 -14
  79. package/docs/pt/intlayer_with_vite+lit.md +8 -57
  80. package/docs/pt/intlayer_with_vite+vue.md +3 -3
  81. package/docs/ru/dictionary/html.md +11 -8
  82. package/docs/ru/dictionary/markdown.md +18 -24
  83. package/docs/ru/intlayer_with_analog.md +8 -14
  84. package/docs/ru/intlayer_with_vite+lit.md +8 -57
  85. package/docs/ru/intlayer_with_vite+vue.md +3 -3
  86. package/docs/tr/dictionary/html.md +11 -8
  87. package/docs/tr/dictionary/markdown.md +18 -24
  88. package/docs/tr/intlayer_with_analog.md +8 -14
  89. package/docs/tr/intlayer_with_vite+lit.md +8 -57
  90. package/docs/tr/intlayer_with_vite+vue.md +3 -3
  91. package/docs/uk/dictionary/html.md +10 -3
  92. package/docs/uk/dictionary/markdown.md +17 -19
  93. package/docs/uk/intlayer_with_analog.md +8 -14
  94. package/docs/uk/intlayer_with_vite+lit.md +8 -57
  95. package/docs/uk/intlayer_with_vite+vue.md +3 -3
  96. package/docs/ur/intlayer_with_vite+lit.md +8 -57
  97. package/docs/vi/dictionary/html.md +10 -3
  98. package/docs/vi/dictionary/markdown.md +17 -19
  99. package/docs/vi/intlayer_with_analog.md +8 -14
  100. package/docs/vi/intlayer_with_vite+lit.md +8 -57
  101. package/docs/vi/intlayer_with_vite+vue.md +3 -3
  102. package/docs/zh/compiler.md +8 -3
  103. package/docs/zh/configuration.md +4 -1
  104. package/docs/zh/dictionary/html.md +11 -8
  105. package/docs/zh/dictionary/markdown.md +18 -24
  106. package/docs/zh/intlayer_with_analog.md +8 -14
  107. package/docs/zh/intlayer_with_vite+lit.md +8 -57
  108. package/docs/zh/intlayer_with_vite+vue.md +3 -3
  109. package/package.json +6 -6
@@ -17,6 +17,12 @@ slugs:
17
17
  - content
18
18
  - markdown
19
19
  history:
20
+ - version: 8.5.0
21
+ date: 2026-03-24
22
+ changes: "Add `intlayerMarkdown` plugin object; use `app.use(intlayerMarkdown)` instead of `app.use(installIntlayerMarkdown)`"
23
+ - version: 8.5.0
24
+ date: 2026-03-24
25
+ changes: "move import from `{{framework}}-intlayer` to `{{framework}}-intlayer/markdown`"
20
26
  - version: 8.0.0
21
27
  date: 2026-01-22
22
28
  changes: "Додано MarkdownRenderer / useMarkdownRenderer / утиліту renderMarkdown та опцію forceInline"
@@ -32,7 +38,7 @@ history:
32
38
 
33
39
  Intlayer підтримує контент rich text, визначений за допомогою синтаксису Markdown. Це дозволяє легко писати та підтримувати контент із багатим форматуванням, таким як блоги, статті та інше.
34
40
 
35
- ## Частина 1: Оголошення контенту Markdown
41
+ ## Оголошення контенту Markdown
36
42
 
37
43
  Ви можете оголосити контент Markdown за допомогою функції `md` або просто як рядок (якщо він містить синтаксис Markdown).
38
44
 
@@ -90,7 +96,7 @@ Intlayer підтримує контент rich text, визначений за
90
96
 
91
97
  ---
92
98
 
93
- ## Частина 2: Відтворення Markdown
99
+ ## Відтворення Markdown
94
100
 
95
101
  Відтворення може виконуватися автоматично системою контенту Intlayer або вручну за допомогою спеціалізованих інструментів.
96
102
 
@@ -387,8 +393,6 @@ Intlayer підтримує контент rich text, визначений за
387
393
 
388
394
  export const AppProvider = ({ children }) => (
389
395
  <MarkdownProvider
390
- forceBlock={true}
391
- tagfilter={true}
392
396
  components={{
393
397
  h1: ({ children }) => <h1 className="text-2xl font-bold">{children}</h1>,
394
398
  a: ({ href, children }) => <Link to={href}>{children}</Link>,
@@ -404,20 +408,20 @@ Intlayer підтримує контент rich text, визначений за
404
408
 
405
409
  ```typescript fileName="main.ts"
406
410
  import { createApp } from "vue";
407
- import { installIntlayer, installIntlayerMarkdown } from "vue-intlayer";
411
+ import { intlayer } from "vue-intlayer";
412
+ import { intlayerMarkdown } from "vue-intlayer/markdown";
408
413
  import App from "./App.vue";
409
414
 
410
415
  const app = createApp(App);
411
416
 
412
- app.use(installIntlayer);
413
- app.use(installIntlayerMarkdown, {
414
- forceBlock: true,
415
- tagfilter: true,
417
+ app.use(intlayer);
418
+ app.use(intlayerMarkdown, {
416
419
  components: {
417
- h1: {
418
- component: "h1",
419
- props: { class: "text-2xl font-bold" },
420
- },
420
+ h1: (props) =>
421
+ h('h1', { style: { color: 'orange' }, ...props }, props.children),
422
+ ComponentDemo: () => h('div', { style: { background: 'grey' } }, 'DEMO'),
423
+ bold: (props) => h('strong', props),
424
+ code: (props) => h('code', props),
421
425
  },
422
426
  });
423
427
 
@@ -434,8 +438,6 @@ Intlayer підтримує контент rich text, визначений за
434
438
  </script>
435
439
 
436
440
  <MarkdownProvider
437
- forceBlock={true}
438
- tagfilter={true}
439
441
  components={{
440
442
  h1: MyHeading,
441
443
  }}
@@ -452,8 +454,6 @@ Intlayer підтримує контент rich text, визначений за
452
454
 
453
455
  export const AppProvider = ({ children }) => (
454
456
  <MarkdownProvider
455
- forceBlock={true}
456
- tagfilter={true}
457
457
  components={{
458
458
  h1: ({ children }) => <h1 className="text-2xl font-bold">{children}</h1>,
459
459
  }}
@@ -471,8 +471,6 @@ Intlayer підтримує контент rich text, визначений за
471
471
 
472
472
  export const AppProvider = (props) => (
473
473
  <MarkdownProvider
474
- forceBlock={true}
475
- tagfilter={true}
476
474
  components={{
477
475
  h1: (props) => <h1 className="text-2xl font-bold">{props.children}</h1>,
478
476
  }}
@@ -23,6 +23,14 @@ history:
23
23
 
24
24
  # Перекладіть свій додаток Analog (Angular) за допомогою Intlayer | Інтернаціоналізація (i18n)
25
25
 
26
+ <iframe
27
+ src="https://stackblitz.com/github/aymericzip/intlayer-analog-template?embed=1&ctl=1&file=intlayer.config.ts"
28
+ className="m-auto overflow-hidden rounded-lg border-0 max-md:size-full max-md:h-[700px] md:aspect-16/9 md:w-full"
29
+ title="Demo CodeSandbox - How to Internationalize your application using Intlayer"
30
+ sandbox="allow-forms allow-modals allow-popups allow-presentation allow-same-origin allow-scripts"
31
+ loading="lazy"
32
+ />
33
+
26
34
  ## Зміст
27
35
 
28
36
  <TOC/>
@@ -42,20 +50,6 @@ history:
42
50
 
43
51
  ## Покроковий посібник з налаштування Intlayer у додатку Analog
44
52
 
45
- <Tabs defaultTab="code">
46
- <Tab label="Код" value="code">
47
-
48
- <iframe
49
- src="https://stackblitz.com/github/aymericzip/intlayer/tree/main/examples/vite-analog-app?embed=1&ctl=1&file=intlayer.config.ts"
50
- className="m-auto overflow-hidden rounded-lg border-0 max-md:size-full max-md:h-[700px] md:aspect-16/9 md:w-full"
51
- title="Демо CodeSandbox - Як інтернаціоналізувати ваш додаток за допомогою Intlayer"
52
- sandbox="allow-forms allow-modals allow-popups allow-presentation allow-same-origin allow-scripts"
53
- loading="lazy"
54
- />
55
-
56
- </Tab>
57
- </Tabs>
58
-
59
53
  Дивіться [Шаблон додатка](https://github.com/aymericzip/intlayer-analog-template) на GitHub.
60
54
 
61
55
  ### Крок 1: Встановлення залежностей
@@ -24,6 +24,14 @@ history:
24
24
 
25
25
  # Перекладіть свій веб-сайт на Vite та Lit за допомогою Intlayer | Інтернаціоналізація (i18n)
26
26
 
27
+ <iframe
28
+ src="https://stackblitz.com/github/aymericzip/intlayer-vite-lit-template?embed=1&ctl=1&file=intlayer.config.ts"
29
+ className="m-auto overflow-hidden rounded-lg border-0 max-md:size-full max-md:h-[700px] md:aspect-16/9 md:w-full"
30
+ title="Demo CodeSandbox - How to Internationalize your application using Intlayer"
31
+ sandbox="allow-forms allow-modals allow-popups allow-presentation allow-same-origin allow-scripts"
32
+ loading="lazy"
33
+ />
34
+
27
35
  ## Зміст
28
36
 
29
37
  <TOC/>
@@ -631,63 +639,6 @@ const config: IntlayerConfig = {
631
639
  export default config;
632
640
  ```
633
641
 
634
- <Tabs>
635
- <Tab value='Команда Extract'>
636
-
637
- Запустіть екстрактор, щоб трансформувати ваші компоненти та витягнути контент
638
-
639
- ```bash packageManager="npm"
640
- npx intlayer extract
641
- ```
642
-
643
- ```bash packageManager="pnpm"
644
- pnpm intlayer extract
645
- ```
646
-
647
- ```bash packageManager="yarn"
648
- yarn intlayer extract
649
- ```
650
-
651
- ```bash packageManager="bun"
652
- bunx intlayer extract
653
- ```
654
-
655
- </Tab>
656
- <Tab value='Компілятор Babel'>
657
-
658
- Оновіть ваш `vite.config.ts`, щоб включити плагін `intlayerCompiler`:
659
-
660
- ```ts fileName="vite.config.ts"
661
- import { defineConfig } from "vite";
662
- import { intlayer, intlayerCompiler } from "vite-intlayer";
663
-
664
- export default defineConfig({
665
- plugins: [
666
- intlayer(),
667
- intlayerCompiler(), // Додає плагін компілятора
668
- ],
669
- });
670
- ```
671
-
672
- ```bash packageManager="npm"
673
- npm run build # Або npm run dev
674
- ```
675
-
676
- ```bash packageManager="pnpm"
677
- pnpm run build # Або pnpm run dev
678
- ```
679
-
680
- ```bash packageManager="yarn"
681
- yarn build # Або yarn dev
682
- ```
683
-
684
- ```bash packageManager="bun"
685
- bun run build # Або bun run dev
686
- ```
687
-
688
- </Tab>
689
- </Tabs>
690
-
691
642
  ### Конфігурація TypeScript
692
643
 
693
644
  Переконайтеся, що ваша конфігурація TypeScript включає автоматично згенеровані типи.
@@ -459,14 +459,14 @@ module.exports = appContent;
459
459
 
460
460
  ```javascript fileName=main.js
461
461
  import { createApp } from "vue";
462
- import { installIntlayer } from "vue-intlayer";
462
+ import { intlayer } from "vue-intlayer";
463
463
  import App from "./App.vue";
464
464
  import "./style.css";
465
465
 
466
466
  const app = createApp(App);
467
467
 
468
468
  // Зареєструвати провайдера на верхньому рівні
469
- installIntlayer(app);
469
+ app.use(intlayer);
470
470
 
471
471
  // Змонтувати застосунок
472
472
  app.mount("#app");
@@ -1041,7 +1041,7 @@ import { installIntlayer, installIntlayerMarkdown } from "vue-intlayer";
1041
1041
 
1042
1042
  const app = createApp(App);
1043
1043
 
1044
- installIntlayer(app);
1044
+ app.use(intlayer);
1045
1045
 
1046
1046
  const md = new MarkdownIt({
1047
1047
  html: true, // дозволити HTML-теги
@@ -24,6 +24,14 @@ history:
24
24
 
25
25
  # Intlayer کا استعمال کرتے ہوئے اپنی Vite اور Lit ویب سائٹ کا ترجمہ کریں | بین الاقوامی کاری (i18n)
26
26
 
27
+ <iframe
28
+ src="https://stackblitz.com/github/aymericzip/intlayer-vite-lit-template?embed=1&ctl=1&file=intlayer.config.ts"
29
+ className="m-auto overflow-hidden rounded-lg border-0 max-md:size-full max-md:h-[700px] md:aspect-16/9 md:w-full"
30
+ title="Demo CodeSandbox - How to Internationalize your application using Intlayer"
31
+ sandbox="allow-forms allow-modals allow-popups allow-presentation allow-same-origin allow-scripts"
32
+ loading="lazy"
33
+ />
34
+
27
35
  ## فہرستِ مواد
28
36
 
29
37
  <TOC/>
@@ -631,63 +639,6 @@ const config: IntlayerConfig = {
631
639
  export default config;
632
640
  ```
633
641
 
634
- <Tabs>
635
- <Tab value='ایکسٹریکٹ کمانڈ'>
636
-
637
- اپنے اجزاء کو تبدیل کرنے اور مواد نکالنے کے لیے ایکسٹریکٹر چلائیں
638
-
639
- ```bash packageManager="npm"
640
- npx intlayer extract
641
- ```
642
-
643
- ```bash packageManager="pnpm"
644
- pnpm intlayer extract
645
- ```
646
-
647
- ```bash packageManager="yarn"
648
- yarn intlayer extract
649
- ```
650
-
651
- ```bash packageManager="bun"
652
- bunx intlayer extract
653
- ```
654
-
655
- </Tab>
656
- <Tab value='بیبل کمپائلر'>
657
-
658
- `intlayerCompiler` پلگ ان شامل کرنے کے لیے اپنا `vite.config.ts` اپ ڈیٹ کریں:
659
-
660
- ```ts fileName="vite.config.ts"
661
- import { defineConfig } from "vite";
662
- import { intlayer, intlayerCompiler } from "vite-intlayer";
663
-
664
- export default defineConfig({
665
- plugins: [
666
- intlayer(),
667
- intlayerCompiler(), // کمپائلر پلگ ان شامل کرتا ہے
668
- ],
669
- });
670
- ```
671
-
672
- ```bash packageManager="npm"
673
- npm run build # یا npm run dev
674
- ```
675
-
676
- ```bash packageManager="pnpm"
677
- pnpm run build # یا pnpm run dev
678
- ```
679
-
680
- ```bash packageManager="yarn"
681
- yarn build # یا yarn dev
682
- ```
683
-
684
- ```bash packageManager="bun"
685
- bun run build # یا bun run dev
686
- ```
687
-
688
- </Tab>
689
- </Tabs>
690
-
691
642
  ### TypeScript کنفیگر کریں
692
643
 
693
644
  یقینی بنائیں کہ آپ کی TypeScript کنفیگریشن میں خودکار طور پر تیار کردہ اقسام شامل ہیں۔
@@ -19,6 +19,12 @@ slugs:
19
19
  - content
20
20
  - html
21
21
  history:
22
+ - version: 8.5.0
23
+ date: 2026-03-24
24
+ changes: "Add `intlayerHTML` plugin object; use `app.use(intlayerHTML)` instead of `app.use(installIntlayerHTML)`"
25
+ - version: 8.5.0
26
+ date: 2026-03-24
27
+ changes: "move import from `{{framework}}-intlayer` to `{{framework}}-intlayer/html`"
22
28
  - version: 8.0.0
23
29
  date: 2026-01-22
24
30
  changes: "Thêm HTMLRenderer / useHTMLRenderer / tiện ích renderHTML"
@@ -259,13 +265,14 @@ Bạn có thể cấu hình cách render HTML ở mức toàn cục cho toàn b
259
265
 
260
266
  ```typescript fileName="main.ts"
261
267
  import { createApp, h } from "vue";
262
- import { installIntlayer, installIntlayerHTML } from "vue-intlayer";
268
+ import { intlayer } from "vue-intlayer";
269
+ import { intlayerHTML } from "vue-intlayer/html";
263
270
  import App from "./App.vue";
264
271
 
265
272
  const app = createApp(App);
266
273
 
267
- app.use(installIntlayer);
268
- app.use(installIntlayerHTML, {
274
+ app.use(intlayer);
275
+ app.use(intlayerHTML, {
269
276
  components: {
270
277
  p: (props, { slots }) => h("p", { class: "prose", ...props }, slots.default?.()),
271
278
  CustomLink: (props, { slots }) => h("a", { href: "/details", ...props }, slots.default?.()),
@@ -17,6 +17,12 @@ slugs:
17
17
  - content
18
18
  - markdown
19
19
  history:
20
+ - version: 8.5.0
21
+ date: 2026-03-24
22
+ changes: "Add `intlayerMarkdown` plugin object; use `app.use(intlayerMarkdown)` instead of `app.use(installIntlayerMarkdown)`"
23
+ - version: 8.5.0
24
+ date: 2026-03-24
25
+ changes: "move import from `{{framework}}-intlayer` to `{{framework}}-intlayer/markdown`"
20
26
  - version: 8.0.0
21
27
  date: 2026-01-22
22
28
  changes: "Thêm MarkdownRenderer / useMarkdownRenderer / tiện ích renderMarkdown và tùy chọn forceInline"
@@ -32,7 +38,7 @@ history:
32
38
 
33
39
  Intlayer hỗ trợ nội dung văn bản đa dạng được định nghĩa bằng cú pháp Markdown. Điều này cho phép bạn dễ dàng viết và duy trì nội dung với định dạng phong phú, chẳng hạn như blog, bài viết, và nhiều hơn nữa.
34
40
 
35
- ## Phần 1: Khai báo nội dung Markdown
41
+ ## Khai báo nội dung Markdown
36
42
 
37
43
  Bạn có thể khai báo nội dung Markdown bằng hàm `md` hoặc đơn giản là một chuỗi (nếu nó chứa cú pháp Markdown).
38
44
 
@@ -90,7 +96,7 @@ Bạn có thể khai báo nội dung Markdown bằng hàm `md` hoặc đơn gi
90
96
 
91
97
  ---
92
98
 
93
- ## Phần 2: Render Markdown
99
+ ## Render Markdown
94
100
 
95
101
  Việc kết xuất có thể được xử lý tự động bởi hệ thống nội dung của Intlayer hoặc thực hiện thủ công bằng các công cụ chuyên dụng.
96
102
 
@@ -387,8 +393,6 @@ Bạn có thể cấu hình cách render Markdown ở mức toàn cục cho toà
387
393
 
388
394
  export const AppProvider = ({ children }) => (
389
395
  <MarkdownProvider
390
- forceBlock={true}
391
- tagfilter={true}
392
396
  components={{
393
397
  h1: ({ children }) => <h1 className="text-2xl font-bold">{children}</h1>,
394
398
  a: ({ href, children }) => <Link to={href}>{children}</Link>,
@@ -404,20 +408,20 @@ Bạn có thể cấu hình cách render Markdown ở mức toàn cục cho toà
404
408
 
405
409
  ```typescript fileName="main.ts"
406
410
  import { createApp } from "vue";
407
- import { installIntlayer, installIntlayerMarkdown } from "vue-intlayer";
411
+ import { intlayer } from "vue-intlayer";
412
+ import { intlayerMarkdown } from "vue-intlayer/markdown";
408
413
  import App from "./App.vue";
409
414
 
410
415
  const app = createApp(App);
411
416
 
412
- app.use(installIntlayer);
413
- app.use(installIntlayerMarkdown, {
414
- forceBlock: true,
415
- tagfilter: true,
417
+ app.use(intlayer);
418
+ app.use(intlayerMarkdown, {
416
419
  components: {
417
- h1: {
418
- component: "h1",
419
- props: { class: "text-2xl font-bold" },
420
- },
420
+ h1: (props) =>
421
+ h('h1', { style: { color: 'orange' }, ...props }, props.children),
422
+ ComponentDemo: () => h('div', { style: { background: 'grey' } }, 'DEMO'),
423
+ bold: (props) => h('strong', props),
424
+ code: (props) => h('code', props),
421
425
  },
422
426
  });
423
427
 
@@ -434,8 +438,6 @@ Bạn có thể cấu hình cách render Markdown ở mức toàn cục cho toà
434
438
  </script>
435
439
 
436
440
  <MarkdownProvider
437
- forceBlock={true}
438
- tagfilter={true}
439
441
  components={{
440
442
  h1: MyHeading,
441
443
  }}
@@ -452,8 +454,6 @@ Bạn có thể cấu hình cách render Markdown ở mức toàn cục cho toà
452
454
 
453
455
  export const AppProvider = ({ children }) => (
454
456
  <MarkdownProvider
455
- forceBlock={true}
456
- tagfilter={true}
457
457
  components={{
458
458
  h1: ({ children }) => <h1 className="text-2xl font-bold">{children}</h1>,
459
459
  }}
@@ -471,8 +471,6 @@ Bạn có thể cấu hình cách render Markdown ở mức toàn cục cho toà
471
471
 
472
472
  export const AppProvider = (props) => (
473
473
  <MarkdownProvider
474
- forceBlock={true}
475
- tagfilter={true}
476
474
  components={{
477
475
  h1: (props) => <h1 className="text-2xl font-bold">{props.children}</h1>,
478
476
  }}
@@ -23,6 +23,14 @@ history:
23
23
 
24
24
  # Dịch ứng dụng Analog (Angular) của bạn bằng Intlayer | Quốc tế hóa (i18n)
25
25
 
26
+ <iframe
27
+ src="https://stackblitz.com/github/aymericzip/intlayer-analog-template?embed=1&ctl=1&file=intlayer.config.ts"
28
+ className="m-auto overflow-hidden rounded-lg border-0 max-md:size-full max-md:h-[700px] md:aspect-16/9 md:w-full"
29
+ title="Demo CodeSandbox - How to Internationalize your application using Intlayer"
30
+ sandbox="allow-forms allow-modals allow-popups allow-presentation allow-same-origin allow-scripts"
31
+ loading="lazy"
32
+ />
33
+
26
34
  ## Mục lục
27
35
 
28
36
  <TOC/>
@@ -42,20 +50,6 @@ Với Intlayer, bạn có thể:
42
50
 
43
51
  ## Hướng dẫn từng bước để thiết lập Intlayer trong ứng dụng Analog
44
52
 
45
- <Tabs defaultTab="code">
46
- <Tab label="Mã nguồn" value="code">
47
-
48
- <iframe
49
- src="https://stackblitz.com/github/aymericzip/intlayer/tree/main/examples/vite-analog-app?embed=1&ctl=1&file=intlayer.config.ts"
50
- className="m-auto overflow-hidden rounded-lg border-0 max-md:size-full max-md:h-[700px] md:aspect-16/9 md:w-full"
51
- title="Demo CodeSandbox - Cách quốc tế hóa ứng dụng của bạn bằng Intlayer"
52
- sandbox="allow-forms allow-modals allow-popups allow-presentation allow-same-origin allow-scripts"
53
- loading="lazy"
54
- />
55
-
56
- </Tab>
57
- </Tabs>
58
-
59
53
  Xem [Mẫu ứng dụng](https://github.com/aymericzip/intlayer-analog-template) trên GitHub.
60
54
 
61
55
  ### Bước 1: Cài đặt các phụ thuộc
@@ -24,6 +24,14 @@ history:
24
24
 
25
25
  # Dịch trang web Vite và Lit của bạn bằng Intlayer | Quốc tế hóa (i18n)
26
26
 
27
+ <iframe
28
+ src="https://stackblitz.com/github/aymericzip/intlayer-vite-lit-template?embed=1&ctl=1&file=intlayer.config.ts"
29
+ className="m-auto overflow-hidden rounded-lg border-0 max-md:size-full max-md:h-[700px] md:aspect-16/9 md:w-full"
30
+ title="Demo CodeSandbox - How to Internationalize your application using Intlayer"
31
+ sandbox="allow-forms allow-modals allow-popups allow-presentation allow-same-origin allow-scripts"
32
+ loading="lazy"
33
+ />
34
+
27
35
  ## Mục lục
28
36
 
29
37
  <TOC/>
@@ -631,63 +639,6 @@ const config: IntlayerConfig = {
631
639
  export default config;
632
640
  ```
633
641
 
634
- <Tabs>
635
- <Tab value='Lệnh Extract'>
636
-
637
- Chạy trình trích xuất để chuyển đổi các component của bạn và trích xuất nội dung
638
-
639
- ```bash packageManager="npm"
640
- npx intlayer extract
641
- ```
642
-
643
- ```bash packageManager="pnpm"
644
- pnpm intlayer extract
645
- ```
646
-
647
- ```bash packageManager="yarn"
648
- yarn intlayer extract
649
- ```
650
-
651
- ```bash packageManager="bun"
652
- bunx intlayer extract
653
- ```
654
-
655
- </Tab>
656
- <Tab value='Trình biên dịch Babel'>
657
-
658
- Cập nhật `vite.config.ts` của bạn để bao gồm plugin `intlayerCompiler`:
659
-
660
- ```ts fileName="vite.config.ts"
661
- import { defineConfig } from "vite";
662
- import { intlayer, intlayerCompiler } from "vite-intlayer";
663
-
664
- export default defineConfig({
665
- plugins: [
666
- intlayer(),
667
- intlayerCompiler(), // Thêm plugin trình biên dịch
668
- ],
669
- });
670
- ```
671
-
672
- ```bash packageManager="npm"
673
- npm run build # Hoặc npm run dev
674
- ```
675
-
676
- ```bash packageManager="pnpm"
677
- pnpm run build # Hoặc pnpm run dev
678
- ```
679
-
680
- ```bash packageManager="yarn"
681
- yarn build # Hoặc yarn dev
682
- ```
683
-
684
- ```bash packageManager="bun"
685
- bun run build # Hoặc bun run dev
686
- ```
687
-
688
- </Tab>
689
- </Tabs>
690
-
691
642
  ### Cấu hình TypeScript
692
643
 
693
644
  Đảm bảo rằng cấu hình TypeScript của bạn bao gồm các kiểu được tạo tự động.
@@ -431,14 +431,14 @@ module.exports = appContent;
431
431
 
432
432
  ```javascript fileName=main.js
433
433
  import { createApp } from "vue";
434
- import { installIntlayer } from "vue-intlayer";
434
+ import { intlayer } from "vue-intlayer";
435
435
  import App from "./App.vue";
436
436
  import "./style.css";
437
437
 
438
438
  const app = createApp(App);
439
439
 
440
440
  // Tiêm provider ở cấp cao nhất
441
- installIntlayer(app);
441
+ app.use(intlayer);
442
442
 
443
443
  // Gắn ứng dụng
444
444
  app.mount("#app");
@@ -1013,7 +1013,7 @@ import { installIntlayer, installIntlayerMarkdown } from "vue-intlayer";
1013
1013
 
1014
1014
  const app = createApp(App);
1015
1015
 
1016
- installIntlayer(app);
1016
+ app.use(intlayer);
1017
1017
 
1018
1018
  const md = new MarkdownIt({
1019
1019
  html: true, // cho phép thẻ HTML
@@ -207,8 +207,11 @@ const config: IntlayerConfig = {
207
207
  output: ({ fileName, extension }) => `./${fileName}${extension}`,
208
208
 
209
209
  /**
210
- * 指示转换后是否应保存组件。
211
- * 这样,编译器只需运行一次即可转换应用程序,然后即可将其删除。
210
+ * 指示在转换后是否应保存组件。
211
+ *
212
+ * - 如果为 `true`,编译器将重写磁盘中的组件文件。因此转换将是永久性的,编译器将跳过下一次进程的转换。这样,编译器可以在转换应用后被移除。
213
+ *
214
+ * - 如果为 `false`,编译器仅在构建输出中将 `useIntlayer()` 函数调用注入代码中,并保持基础代码库不变。转换将仅在内存中进行。
212
215
  */
213
216
  saveComponents: false,
214
217
 
@@ -286,7 +289,9 @@ export default config;
286
289
  - **saveComponents**:
287
290
  - _类型_: `boolean`
288
291
  - _默认值_: `false`
289
- - _描述_: 指示转换后是否应保存组件。
292
+ - _描述_: 指示在转换后是否应保存组件。
293
+ - 如果为 `true`,编译器将重写磁盘中的组件文件。转换将是永久性的,编译器随后可以被移除。
294
+ - 如果为 `false`,编译器仅在构建输出中将 `useIntlayer()` 函数调用注入代码中,并保持基础代码库不变。转换将仅在内存中进行。
290
295
 
291
296
  ### 填充缺失的翻译
292
297
 
@@ -518,7 +518,10 @@ const config: IntlayerConfig = {
518
518
 
519
519
  /**
520
520
  * 转换组件后是否保存它们。
521
- * 这样,可以运行一次编译器来转换应用程序,然后将其删除。
521
+ *
522
+ * - 如果为 `true`,编译器将重写磁盘中的组件文件。因此转换将是永久性的,编译器将跳过下一次进程的转换。这样,编译器可以在转换应用后被移除。
523
+ *
524
+ * - 如果为 `false`,编译器仅在构建输出中将 `useIntlayer()` 函数调用注入代码中,并保持基础代码库不变。转换将仅在内存中进行。
522
525
  */
523
526
  saveComponents: false,
524
527
 
@@ -19,6 +19,9 @@ slugs:
19
19
  - content
20
20
  - html
21
21
  history:
22
+ - version: 8.5.0
23
+ date: 2026-03-24
24
+ changes: "Add `intlayerHTML` plugin object; use `app.use(intlayerHTML)` instead of `app.use(installIntlayerHTML)`"
22
25
  - version: 8.5.0
23
26
  date: 2026-03-24
24
27
  changes: "将导入从 {{framework}}-intlayer 移动到 {{framework}}-intlayer/html"
@@ -281,14 +284,14 @@ const myContent = html(
281
284
 
282
285
  ```typescript fileName="main.ts"
283
286
  import { createApp, h } from "vue";
284
- import { installIntlayer } from "vue-intlayer";
285
- import { installIntlayerHTML } from "vue-intlayer/html";
287
+ import { intlayer } from "vue-intlayer";
288
+ import { intlayerHTML } from "vue-intlayer/html";
286
289
  import App from "./App.vue";
287
290
 
288
291
  const app = createApp(App);
289
292
 
290
- app.use(installIntlayer);
291
- app.use(installIntlayerHTML, {
293
+ app.use(intlayer);
294
+ app.use(intlayerHTML, {
292
295
  components: {
293
296
  p: (props, { slots }) => h("p", { class: "prose", ...props }, slots.default?.()),
294
297
  CustomLink: (props, { slots }) => h("a", { href: "/details", ...props }, slots.default?.()),
@@ -302,14 +305,14 @@ const myContent = html(
302
305
 
303
306
  ```typescript fileName="main.ts"
304
307
  import { createApp, h } from "vue";
305
- import { installIntlayer } from "vue-intlayer";
306
- import { installIntlayerHTML } from "vue-intlayer/html";
308
+ import { intlayer } from "vue-intlayer";
309
+ import { intlayerHTML } from "vue-intlayer/html";
307
310
  import App from "./App.vue";
308
311
 
309
312
  const app = createApp(App);
310
313
 
311
- app.use(installIntlayer);
312
- app.use(installIntlayerHTML, {
314
+ app.use(intlayer);
315
+ app.use(intlayerHTML, {
313
316
  renderHTML: async (html) => {
314
317
  const { renderHTML } = await import('vue-intlayer/html');
315
318
  return renderHTML(html);