@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.
- package/docs/ar/dictionary/html.md +10 -3
- package/docs/ar/dictionary/markdown.md +15 -17
- package/docs/ar/intlayer_with_analog.md +8 -14
- package/docs/ar/intlayer_with_vite+lit.md +8 -57
- package/docs/ar/intlayer_with_vite+vue.md +3 -3
- package/docs/bn/intlayer_with_vite+lit.md +8 -57
- package/docs/cs/intlayer_with_vite+lit.md +8 -57
- package/docs/de/compiler.md +6 -1
- package/docs/de/configuration.md +12 -9
- package/docs/de/dictionary/html.md +11 -8
- package/docs/de/dictionary/markdown.md +17 -23
- package/docs/de/intlayer_with_analog.md +8 -14
- package/docs/de/intlayer_with_vite+lit.md +8 -57
- package/docs/de/intlayer_with_vite+vue.md +3 -3
- package/docs/en/compiler.md +2 -0
- package/docs/en/configuration.md +8 -8
- package/docs/en/dictionary/html.md +12 -9
- package/docs/en/dictionary/markdown.md +18 -24
- package/docs/en/intlayer_with_analog.md +8 -14
- package/docs/en/intlayer_with_vite+lit.md +10 -57
- package/docs/en/intlayer_with_vite+vue.md +13 -3
- package/docs/en-GB/dictionary/html.md +10 -3
- package/docs/en-GB/dictionary/markdown.md +16 -18
- package/docs/en-GB/intlayer_with_analog.md +8 -14
- package/docs/en-GB/intlayer_with_vite+lit.md +10 -57
- package/docs/en-GB/intlayer_with_vite+vue.md +3 -3
- package/docs/es/compiler.md +6 -1
- package/docs/es/configuration.md +12 -9
- package/docs/es/dictionary/html.md +11 -8
- package/docs/es/dictionary/markdown.md +18 -24
- package/docs/es/intlayer_with_analog.md +8 -14
- package/docs/es/intlayer_with_vite+lit.md +8 -57
- package/docs/es/intlayer_with_vite+vue.md +3 -3
- package/docs/fr/compiler.md +8 -3
- package/docs/fr/configuration.md +12 -9
- package/docs/fr/dictionary/html.md +11 -8
- package/docs/fr/dictionary/markdown.md +18 -24
- package/docs/fr/intlayer_with_analog.md +8 -14
- package/docs/fr/intlayer_with_vite+lit.md +8 -57
- package/docs/fr/intlayer_with_vite+vue.md +3 -3
- package/docs/hi/dictionary/html.md +10 -3
- package/docs/hi/dictionary/markdown.md +17 -19
- package/docs/hi/intlayer_with_analog.md +8 -14
- package/docs/hi/intlayer_with_vite+lit.md +8 -57
- package/docs/hi/intlayer_with_vite+vue.md +3 -3
- package/docs/id/dictionary/html.md +10 -3
- package/docs/id/dictionary/markdown.md +17 -19
- package/docs/id/intlayer_with_analog.md +8 -14
- package/docs/id/intlayer_with_vite+lit.md +8 -57
- package/docs/id/intlayer_with_vite+vue.md +3 -3
- package/docs/it/compiler.md +8 -3
- package/docs/it/configuration.md +12 -9
- package/docs/it/dictionary/html.md +11 -8
- package/docs/it/dictionary/markdown.md +18 -24
- package/docs/it/intlayer_with_analog.md +8 -14
- package/docs/it/intlayer_with_vite+lit.md +8 -57
- package/docs/it/intlayer_with_vite+vue.md +3 -3
- package/docs/ja/dictionary/html.md +11 -8
- package/docs/ja/dictionary/markdown.md +21 -24
- package/docs/ja/intlayer_with_analog.md +8 -14
- package/docs/ja/intlayer_with_vite+lit.md +8 -57
- package/docs/ja/intlayer_with_vite+vue.md +3 -3
- package/docs/ko/dictionary/html.md +11 -8
- package/docs/ko/dictionary/markdown.md +18 -24
- package/docs/ko/intlayer_with_analog.md +8 -14
- package/docs/ko/intlayer_with_vite+lit.md +8 -57
- package/docs/ko/intlayer_with_vite+vue.md +3 -3
- package/docs/nl/intlayer_with_vite+lit.md +8 -57
- package/docs/pl/dictionary/html.md +11 -8
- package/docs/pl/dictionary/markdown.md +18 -24
- package/docs/pl/intlayer_with_analog.md +8 -14
- package/docs/pl/intlayer_with_vite+lit.md +8 -57
- package/docs/pl/intlayer_with_vite+vue.md +3 -3
- package/docs/pt/compiler.md +7 -2
- package/docs/pt/configuration.md +11 -9
- package/docs/pt/dictionary/html.md +11 -8
- package/docs/pt/dictionary/markdown.md +18 -24
- package/docs/pt/intlayer_with_analog.md +8 -14
- package/docs/pt/intlayer_with_vite+lit.md +8 -57
- package/docs/pt/intlayer_with_vite+vue.md +3 -3
- package/docs/ru/dictionary/html.md +11 -8
- package/docs/ru/dictionary/markdown.md +18 -24
- package/docs/ru/intlayer_with_analog.md +8 -14
- package/docs/ru/intlayer_with_vite+lit.md +8 -57
- package/docs/ru/intlayer_with_vite+vue.md +3 -3
- package/docs/tr/dictionary/html.md +11 -8
- package/docs/tr/dictionary/markdown.md +18 -24
- package/docs/tr/intlayer_with_analog.md +8 -14
- package/docs/tr/intlayer_with_vite+lit.md +8 -57
- package/docs/tr/intlayer_with_vite+vue.md +3 -3
- package/docs/uk/dictionary/html.md +10 -3
- package/docs/uk/dictionary/markdown.md +17 -19
- package/docs/uk/intlayer_with_analog.md +8 -14
- package/docs/uk/intlayer_with_vite+lit.md +8 -57
- package/docs/uk/intlayer_with_vite+vue.md +3 -3
- package/docs/ur/intlayer_with_vite+lit.md +8 -57
- package/docs/vi/dictionary/html.md +10 -3
- package/docs/vi/dictionary/markdown.md +17 -19
- package/docs/vi/intlayer_with_analog.md +8 -14
- package/docs/vi/intlayer_with_vite+lit.md +8 -57
- package/docs/vi/intlayer_with_vite+vue.md +3 -3
- package/docs/zh/compiler.md +8 -3
- package/docs/zh/configuration.md +4 -1
- package/docs/zh/dictionary/html.md +11 -8
- package/docs/zh/dictionary/markdown.md +18 -24
- package/docs/zh/intlayer_with_analog.md +8 -14
- package/docs/zh/intlayer_with_vite+lit.md +8 -57
- package/docs/zh/intlayer_with_vite+vue.md +3 -3
- package/package.json +6 -6
|
@@ -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 @@ HTML ノードで `.use()` メソッドを使用する場合、提供された
|
|
|
281
284
|
|
|
282
285
|
```typescript fileName="main.ts"
|
|
283
286
|
import { createApp, h } from "vue";
|
|
284
|
-
import {
|
|
285
|
-
import {
|
|
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(
|
|
291
|
-
app.use(
|
|
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 @@ HTML ノードで `.use()` メソッドを使用する場合、提供された
|
|
|
302
305
|
|
|
303
306
|
```typescript fileName="main.ts"
|
|
304
307
|
import { createApp, h } from "vue";
|
|
305
|
-
import {
|
|
306
|
-
import {
|
|
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(
|
|
312
|
-
app.use(
|
|
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);
|
|
@@ -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は、マークダウン構文を使用して定義されたリッチテキストコンテンツをサポートします。これにより、ブログや記事などのリッチなフォーマットを簡単に作成および管理できます。
|
|
34
40
|
|
|
35
|
-
##
|
|
41
|
+
## マークダウンコンテンツの宣言
|
|
36
42
|
|
|
37
43
|
マークダウンコンテンツは `md` 関数を使って宣言するか、単に文字列として(マークダウン構文が含まれている場合)定義できます。
|
|
38
44
|
|
|
@@ -90,7 +96,7 @@ Intlayerは、マークダウン構文を使用して定義されたリッチテ
|
|
|
90
96
|
|
|
91
97
|
---
|
|
92
98
|
|
|
93
|
-
##
|
|
99
|
+
## マークダウンのレンダリング
|
|
94
100
|
|
|
95
101
|
レンダリングは Intlayer のコンテンツシステムで自動的に処理することも、専用のツールを使って手動で処理することもできます。
|
|
96
102
|
|
|
@@ -383,8 +389,6 @@ Intlayerは、マークダウン構文を使用して定義されたリッチテ
|
|
|
383
389
|
|
|
384
390
|
export const AppProvider = ({ children }) => (
|
|
385
391
|
<MarkdownProvider
|
|
386
|
-
forceBlock={true}
|
|
387
|
-
tagfilter={true}
|
|
388
392
|
components={{
|
|
389
393
|
h1: ({ children }) => <h1 className="text-2xl font-bold">{children}</h1>,
|
|
390
394
|
a: ({ href, children }) => <Link to={href}>{children}</Link>,
|
|
@@ -419,21 +423,20 @@ Intlayerは、マークダウン構文を使用して定義されたリッチテ
|
|
|
419
423
|
|
|
420
424
|
```typescript fileName="main.ts"
|
|
421
425
|
import { createApp } from "vue";
|
|
422
|
-
import {
|
|
423
|
-
import {
|
|
426
|
+
import { intlayer } from "vue-intlayer";
|
|
427
|
+
import { intlayerMarkdown } from "vue-intlayer/markdown";
|
|
424
428
|
import App from "./App.vue";
|
|
425
429
|
|
|
426
430
|
const app = createApp(App);
|
|
427
431
|
|
|
428
|
-
app.use(
|
|
429
|
-
app.use(
|
|
430
|
-
forceBlock: true,
|
|
431
|
-
tagfilter: true,
|
|
432
|
+
app.use(intlayer);
|
|
433
|
+
app.use(intlayerMarkdown, {
|
|
432
434
|
components: {
|
|
433
|
-
h1:
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
435
|
+
h1: (props) =>
|
|
436
|
+
h('h1', { style: { color: 'orange' }, ...props }, props.children),
|
|
437
|
+
ComponentDemo: () => h('div', { style: { background: 'grey' } }, 'DEMO'),
|
|
438
|
+
bold: (props) => h('strong', props),
|
|
439
|
+
code: (props) => h('code', props),
|
|
437
440
|
},
|
|
438
441
|
});
|
|
439
442
|
|
|
@@ -444,14 +447,14 @@ Intlayerは、マークダウン構文を使用して定義されたリッチテ
|
|
|
444
447
|
|
|
445
448
|
```typescript fileName="main.ts"
|
|
446
449
|
import { createApp } from "vue";
|
|
447
|
-
import {
|
|
448
|
-
import {
|
|
450
|
+
import { intlayer } from "vue-intlayer";
|
|
451
|
+
import { intlayerMarkdown } from "vue-intlayer/markdown";
|
|
449
452
|
import App from "./App.vue";
|
|
450
453
|
|
|
451
454
|
const app = createApp(App);
|
|
452
455
|
|
|
453
|
-
app.use(
|
|
454
|
-
app.use(
|
|
456
|
+
app.use(intlayer);
|
|
457
|
+
app.use(intlayerMarkdown, {
|
|
455
458
|
renderMarkdown: async (md) => {
|
|
456
459
|
const { compileMarkdown } = await import('vue-intlayer/markdown');
|
|
457
460
|
return compileMarkdown(md);
|
|
@@ -473,8 +476,6 @@ Intlayerは、マークダウン構文を使用して定義されたリッチテ
|
|
|
473
476
|
</script>
|
|
474
477
|
|
|
475
478
|
<MarkdownProvider
|
|
476
|
-
forceBlock={true}
|
|
477
|
-
tagfilter={true}
|
|
478
479
|
components={{
|
|
479
480
|
h1: MyHeading,
|
|
480
481
|
}}
|
|
@@ -510,8 +511,6 @@ Intlayerは、マークダウン構文を使用して定義されたリッチテ
|
|
|
510
511
|
|
|
511
512
|
export const AppProvider = ({ children }) => (
|
|
512
513
|
<MarkdownProvider
|
|
513
|
-
forceBlock={true}
|
|
514
|
-
tagfilter={true}
|
|
515
514
|
components={{
|
|
516
515
|
h1: ({ children }) => <h1 className="text-2xl font-bold">{children}</h1>,
|
|
517
516
|
}}
|
|
@@ -548,8 +547,6 @@ Intlayerは、マークダウン構文を使用して定義されたリッチテ
|
|
|
548
547
|
|
|
549
548
|
export const AppProvider = (props) => (
|
|
550
549
|
<MarkdownProvider
|
|
551
|
-
forceBlock={true}
|
|
552
|
-
tagfilter={true}
|
|
553
550
|
components={{
|
|
554
551
|
h1: (props) => <h1 className="text-2xl font-bold">{props.children}</h1>,
|
|
555
552
|
}}
|
|
@@ -23,6 +23,14 @@ history:
|
|
|
23
23
|
|
|
24
24
|
# Intlayerを使用したAnalog (Angular) アプリの翻訳 | 国際化 (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 @@ With Intlayer, you can:
|
|
|
42
50
|
|
|
43
51
|
## AnalogアプリケーションへのIntlayerセットアップ手順
|
|
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="Demo CodeSandbox - How to Internationalize your application using 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
|
GitHubで[アプリケーションテンプレート](https://github.com/aymericzip/intlayer-analog-template)を確認する。
|
|
60
54
|
|
|
61
55
|
### ステップ1: 依存関係のインストール
|
|
@@ -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/>
|
|
@@ -640,63 +648,6 @@ const config: IntlayerConfig = {
|
|
|
640
648
|
export default config;
|
|
641
649
|
```
|
|
642
650
|
|
|
643
|
-
<Tabs>
|
|
644
|
-
<Tab value='抽出コマンド'>
|
|
645
|
-
|
|
646
|
-
抽出器を実行してコンポーネントを変換し、コンテンツを抽出します
|
|
647
|
-
|
|
648
|
-
```bash packageManager="npm"
|
|
649
|
-
npx intlayer extract
|
|
650
|
-
```
|
|
651
|
-
|
|
652
|
-
```bash packageManager="pnpm"
|
|
653
|
-
pnpm intlayer extract
|
|
654
|
-
```
|
|
655
|
-
|
|
656
|
-
```bash packageManager="yarn"
|
|
657
|
-
yarn intlayer extract
|
|
658
|
-
```
|
|
659
|
-
|
|
660
|
-
```bash packageManager="bun"
|
|
661
|
-
bunx intlayer extract
|
|
662
|
-
```
|
|
663
|
-
|
|
664
|
-
</Tab>
|
|
665
|
-
<Tab value='Babelコンパイラ'>
|
|
666
|
-
|
|
667
|
-
`vite.config.ts` を更新して `intlayerCompiler` プラグインを含めます:
|
|
668
|
-
|
|
669
|
-
```ts fileName="vite.config.ts"
|
|
670
|
-
import { defineConfig } from "vite";
|
|
671
|
-
import { intlayer, intlayerCompiler } from "vite-intlayer";
|
|
672
|
-
|
|
673
|
-
export default defineConfig({
|
|
674
|
-
plugins: [
|
|
675
|
-
intlayer(),
|
|
676
|
-
intlayerCompiler(), // コンパイラプラグインを追加
|
|
677
|
-
],
|
|
678
|
-
});
|
|
679
|
-
```
|
|
680
|
-
|
|
681
|
-
```bash packageManager="npm"
|
|
682
|
-
npm run build # または npm run dev
|
|
683
|
-
```
|
|
684
|
-
|
|
685
|
-
```bash packageManager="pnpm"
|
|
686
|
-
pnpm run build # または pnpm run dev
|
|
687
|
-
```
|
|
688
|
-
|
|
689
|
-
```bash packageManager="yarn"
|
|
690
|
-
yarn build # または yarn dev
|
|
691
|
-
```
|
|
692
|
-
|
|
693
|
-
```bash packageManager="bun"
|
|
694
|
-
bun run build # または bun run dev
|
|
695
|
-
```
|
|
696
|
-
|
|
697
|
-
</Tab>
|
|
698
|
-
</Tabs>
|
|
699
|
-
|
|
700
651
|
### TypeScriptの設定
|
|
701
652
|
|
|
702
653
|
TypeScriptの設定に自動生成された型が含まれていることを確認してください。
|
|
@@ -438,14 +438,14 @@ Vueアプリケーション全体でIntlayerの国際化機能を利用するに
|
|
|
438
438
|
|
|
439
439
|
```javascript fileName=main.js
|
|
440
440
|
import { createApp } from "vue";
|
|
441
|
-
import {
|
|
441
|
+
import { intlayer } from "vue-intlayer";
|
|
442
442
|
import App from "./App.vue";
|
|
443
443
|
import "./style.css";
|
|
444
444
|
|
|
445
445
|
const app = createApp(App);
|
|
446
446
|
|
|
447
447
|
// 最上位でプロバイダーを注入
|
|
448
|
-
|
|
448
|
+
app.use(intlayer);
|
|
449
449
|
|
|
450
450
|
// アプリをマウント
|
|
451
451
|
app.mount("#app");
|
|
@@ -1029,7 +1029,7 @@ import { installIntlayer, installIntlayerMarkdown } from "vue-intlayer";
|
|
|
1029
1029
|
|
|
1030
1030
|
const app = createApp(App);
|
|
1031
1031
|
|
|
1032
|
-
|
|
1032
|
+
app.use(intlayer);
|
|
1033
1033
|
|
|
1034
1034
|
const md = new MarkdownIt({
|
|
1035
1035
|
html: true, // HTMLタグを許可
|
|
@@ -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 @@ HTML 노드에서 `.use()` 메서드를 사용할 때, 제공하는 컴포넌트
|
|
|
281
284
|
|
|
282
285
|
```typescript fileName="main.ts"
|
|
283
286
|
import { createApp, h } from "vue";
|
|
284
|
-
import {
|
|
285
|
-
import {
|
|
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(
|
|
291
|
-
app.use(
|
|
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 @@ HTML 노드에서 `.use()` 메서드를 사용할 때, 제공하는 컴포넌트
|
|
|
302
305
|
|
|
303
306
|
```typescript fileName="main.ts"
|
|
304
307
|
import { createApp, h } from "vue";
|
|
305
|
-
import {
|
|
306
|
-
import {
|
|
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(
|
|
312
|
-
app.use(
|
|
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);
|
|
@@ -17,6 +17,9 @@ 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)`"
|
|
20
23
|
- version: 8.5.0
|
|
21
24
|
date: 2026-03-24
|
|
22
25
|
changes: "{{framework}}-intlayer에서 {{framework}}-intlayer/markdown으로 임포트 이동"
|
|
@@ -35,7 +38,7 @@ history:
|
|
|
35
38
|
|
|
36
39
|
Intlayer는 마크다운 문법을 사용하여 정의된 리치 텍스트 콘텐츠를 지원합니다. 이를 통해 블로그, 기사 등과 같은 리치 포맷의 콘텐츠를 쉽게 작성하고 관리할 수 있습니다.
|
|
37
40
|
|
|
38
|
-
##
|
|
41
|
+
## 마크다운 콘텐츠 선언
|
|
39
42
|
|
|
40
43
|
마크다운 콘텐츠는 `md` 함수를 사용하거나 (마크다운 문법을 포함하는 경우) 단순히 문자열로 선언할 수 있습니다.
|
|
41
44
|
|
|
@@ -93,7 +96,7 @@ Intlayer는 마크다운 문법을 사용하여 정의된 리치 텍스트 콘
|
|
|
93
96
|
|
|
94
97
|
---
|
|
95
98
|
|
|
96
|
-
##
|
|
99
|
+
## 마크다운 렌더링
|
|
97
100
|
|
|
98
101
|
렌더링은 Intlayer의 콘텐츠 시스템을 통해 자동으로 처리하거나, 전문 도구를 사용해 수동으로 처리할 수 있습니다.
|
|
99
102
|
|
|
@@ -386,8 +389,6 @@ Intlayer는 마크다운 문법을 사용하여 정의된 리치 텍스트 콘
|
|
|
386
389
|
|
|
387
390
|
export const AppProvider = ({ children }) => (
|
|
388
391
|
<MarkdownProvider
|
|
389
|
-
forceBlock={true}
|
|
390
|
-
tagfilter={true}
|
|
391
392
|
components={{
|
|
392
393
|
h1: ({ children }) => <h1 className="text-2xl font-bold">{children}</h1>,
|
|
393
394
|
a: ({ href, children }) => <Link to={href}>{children}</Link>,
|
|
@@ -422,21 +423,20 @@ Intlayer는 마크다운 문법을 사용하여 정의된 리치 텍스트 콘
|
|
|
422
423
|
|
|
423
424
|
```typescript fileName="main.ts"
|
|
424
425
|
import { createApp } from "vue";
|
|
425
|
-
import {
|
|
426
|
-
import {
|
|
426
|
+
import { intlayer } from "vue-intlayer";
|
|
427
|
+
import { intlayerMarkdown } from "vue-intlayer/markdown";
|
|
427
428
|
import App from "./App.vue";
|
|
428
429
|
|
|
429
430
|
const app = createApp(App);
|
|
430
431
|
|
|
431
|
-
app.use(
|
|
432
|
-
app.use(
|
|
433
|
-
forceBlock: true,
|
|
434
|
-
tagfilter: true,
|
|
432
|
+
app.use(intlayer);
|
|
433
|
+
app.use(intlayerMarkdown, {
|
|
435
434
|
components: {
|
|
436
|
-
h1:
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
435
|
+
h1: (props) =>
|
|
436
|
+
h('h1', { style: { color: 'orange' }, ...props }, props.children),
|
|
437
|
+
ComponentDemo: () => h('div', { style: { background: 'grey' } }, 'DEMO'),
|
|
438
|
+
bold: (props) => h('strong', props),
|
|
439
|
+
code: (props) => h('code', props),
|
|
440
440
|
},
|
|
441
441
|
});
|
|
442
442
|
|
|
@@ -447,14 +447,14 @@ Intlayer는 마크다운 문법을 사용하여 정의된 리치 텍스트 콘
|
|
|
447
447
|
|
|
448
448
|
```typescript fileName="main.ts"
|
|
449
449
|
import { createApp } from "vue";
|
|
450
|
-
import {
|
|
451
|
-
import {
|
|
450
|
+
import { intlayer } from "vue-intlayer";
|
|
451
|
+
import { intlayerMarkdown } from "vue-intlayer/markdown";
|
|
452
452
|
import App from "./App.vue";
|
|
453
453
|
|
|
454
454
|
const app = createApp(App);
|
|
455
455
|
|
|
456
|
-
app.use(
|
|
457
|
-
app.use(
|
|
456
|
+
app.use(intlayer);
|
|
457
|
+
app.use(intlayerMarkdown, {
|
|
458
458
|
renderMarkdown: async (md) => {
|
|
459
459
|
const { compileMarkdown } = await import('vue-intlayer/markdown');
|
|
460
460
|
return compileMarkdown(md);
|
|
@@ -476,8 +476,6 @@ Intlayer는 마크다운 문법을 사용하여 정의된 리치 텍스트 콘
|
|
|
476
476
|
</script>
|
|
477
477
|
|
|
478
478
|
<MarkdownProvider
|
|
479
|
-
forceBlock={true}
|
|
480
|
-
tagfilter={true}
|
|
481
479
|
components={{
|
|
482
480
|
h1: MyHeading,
|
|
483
481
|
}}
|
|
@@ -513,8 +511,6 @@ Intlayer는 마크다운 문법을 사용하여 정의된 리치 텍스트 콘
|
|
|
513
511
|
|
|
514
512
|
export const AppProvider = ({ children }) => (
|
|
515
513
|
<MarkdownProvider
|
|
516
|
-
forceBlock={true}
|
|
517
|
-
tagfilter={true}
|
|
518
514
|
components={{
|
|
519
515
|
h1: ({ children }) => <h1 className="text-2xl font-bold">{children}</h1>,
|
|
520
516
|
}}
|
|
@@ -551,8 +547,6 @@ Intlayer는 마크다운 문법을 사용하여 정의된 리치 텍스트 콘
|
|
|
551
547
|
|
|
552
548
|
export const AppProvider = (props) => (
|
|
553
549
|
<MarkdownProvider
|
|
554
|
-
forceBlock={true}
|
|
555
|
-
tagfilter={true}
|
|
556
550
|
components={{
|
|
557
551
|
h1: (props) => <h1 className="text-2xl font-bold">{props.children}</h1>,
|
|
558
552
|
}}
|
|
@@ -23,6 +23,14 @@ history:
|
|
|
23
23
|
|
|
24
24
|
# Intlayer를 사용하여 Analog (Angular) 앱 번역하기 | 국제화 (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 @@ Intlayer를 사용하면 다음을 할 수 있습니다:
|
|
|
42
50
|
|
|
43
51
|
## Analog 애플리케이션에 Intlayer를 설정하는 단계별 가이드
|
|
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="Demo CodeSandbox - How to Internationalize your application using 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
|
GitHub에서 [애플리케이션 템플릿](https://github.com/aymericzip/intlayer-analog-template)을 확인하세요.
|
|
60
54
|
|
|
61
55
|
### 1단계: 종속성 설치
|
|
@@ -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/>
|
|
@@ -640,63 +648,6 @@ const config: IntlayerConfig = {
|
|
|
640
648
|
export default config;
|
|
641
649
|
```
|
|
642
650
|
|
|
643
|
-
<Tabs>
|
|
644
|
-
<Tab value='Extract 명령'>
|
|
645
|
-
|
|
646
|
-
추출기를 실행하여 컴포넌트를 변환하고 콘텐츠를 추출합니다.
|
|
647
|
-
|
|
648
|
-
```bash packageManager="npm"
|
|
649
|
-
npx intlayer extract
|
|
650
|
-
```
|
|
651
|
-
|
|
652
|
-
```bash packageManager="pnpm"
|
|
653
|
-
pnpm intlayer extract
|
|
654
|
-
```
|
|
655
|
-
|
|
656
|
-
```bash packageManager="yarn"
|
|
657
|
-
yarn intlayer extract
|
|
658
|
-
```
|
|
659
|
-
|
|
660
|
-
```bash packageManager="bun"
|
|
661
|
-
bunx intlayer extract
|
|
662
|
-
```
|
|
663
|
-
|
|
664
|
-
</Tab>
|
|
665
|
-
<Tab value='Babel 컴파일러'>
|
|
666
|
-
|
|
667
|
-
`vite.config.ts`를 업데이트하여 `intlayerCompiler` 플러그인을 포함합니다:
|
|
668
|
-
|
|
669
|
-
```ts fileName="vite.config.ts"
|
|
670
|
-
import { defineConfig } from "vite";
|
|
671
|
-
import { intlayer, intlayerCompiler } from "vite-intlayer";
|
|
672
|
-
|
|
673
|
-
export default defineConfig({
|
|
674
|
-
plugins: [
|
|
675
|
-
intlayer(),
|
|
676
|
-
intlayerCompiler(), // 컴파일러 플러그인 추가
|
|
677
|
-
],
|
|
678
|
-
});
|
|
679
|
-
```
|
|
680
|
-
|
|
681
|
-
```bash packageManager="npm"
|
|
682
|
-
npm run build # 또는 npm run dev
|
|
683
|
-
```
|
|
684
|
-
|
|
685
|
-
```bash packageManager="pnpm"
|
|
686
|
-
pnpm run build # 또는 pnpm run dev
|
|
687
|
-
```
|
|
688
|
-
|
|
689
|
-
```bash packageManager="yarn"
|
|
690
|
-
yarn build # 또는 yarn dev
|
|
691
|
-
```
|
|
692
|
-
|
|
693
|
-
```bash packageManager="bun"
|
|
694
|
-
bun run build # 또는 bun run dev
|
|
695
|
-
```
|
|
696
|
-
|
|
697
|
-
</Tab>
|
|
698
|
-
</Tabs>
|
|
699
|
-
|
|
700
651
|
### TypeScript 구성
|
|
701
652
|
|
|
702
653
|
TypeScript 구성에 자동 생성된 타입이 포함되어 있는지 확인하세요.
|
|
@@ -442,14 +442,14 @@ Intlayer의 국제화 기능을 Vue 애플리케이션 전반에서 활용하려
|
|
|
442
442
|
|
|
443
443
|
```javascript fileName=main.js
|
|
444
444
|
import { createApp } from "vue";
|
|
445
|
-
import {
|
|
445
|
+
import { intlayer } from "vue-intlayer";
|
|
446
446
|
import App from "./App.vue";
|
|
447
447
|
import "./style.css";
|
|
448
448
|
|
|
449
449
|
const app = createApp(App);
|
|
450
450
|
|
|
451
451
|
// 최상위에 프로바이더를 주입합니다
|
|
452
|
-
|
|
452
|
+
app.use(intlayer);
|
|
453
453
|
|
|
454
454
|
// 앱을 마운트합니다
|
|
455
455
|
app.mount("#app");
|
|
@@ -1031,7 +1031,7 @@ import { installIntlayer, installIntlayerMarkdown } from "vue-intlayer";
|
|
|
1031
1031
|
|
|
1032
1032
|
const app = createApp(App);
|
|
1033
1033
|
|
|
1034
|
-
|
|
1034
|
+
app.use(intlayer);
|
|
1035
1035
|
|
|
1036
1036
|
const md = new MarkdownIt({
|
|
1037
1037
|
html: true, // HTML 태그 허용
|
|
@@ -24,6 +24,14 @@ history:
|
|
|
24
24
|
|
|
25
25
|
# Vertaal je Vite- en Lit-website met Intlayer | Internationalisering (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
|
## Inhoudsopgave
|
|
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 commando'>
|
|
636
|
-
|
|
637
|
-
Voer de extractor uit om je componenten te transformeren en de inhoud te extraheren
|
|
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 compiler'>
|
|
657
|
-
|
|
658
|
-
Werk je `vite.config.ts` bij om de `intlayerCompiler`-plugin op te nemen:
|
|
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(), // Voegt de compiler-plugin toe
|
|
668
|
-
],
|
|
669
|
-
});
|
|
670
|
-
```
|
|
671
|
-
|
|
672
|
-
```bash packageManager="npm"
|
|
673
|
-
npm run build # Of npm run dev
|
|
674
|
-
```
|
|
675
|
-
|
|
676
|
-
```bash packageManager="pnpm"
|
|
677
|
-
pnpm run build # Of pnpm run dev
|
|
678
|
-
```
|
|
679
|
-
|
|
680
|
-
```bash packageManager="yarn"
|
|
681
|
-
yarn build # Of yarn dev
|
|
682
|
-
```
|
|
683
|
-
|
|
684
|
-
```bash packageManager="bun"
|
|
685
|
-
bun run build # Of bun run dev
|
|
686
|
-
```
|
|
687
|
-
|
|
688
|
-
</Tab>
|
|
689
|
-
</Tabs>
|
|
690
|
-
|
|
691
642
|
### TypeScript configureren
|
|
692
643
|
|
|
693
644
|
Zorg ervoor dat je TypeScript-configuratie de automatisch gegenereerde typen bevat.
|