@intlayer/docs 7.3.11 → 7.3.13

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 (90) hide show
  1. package/dist/cjs/generated/docs.entry.cjs +19 -0
  2. package/dist/cjs/generated/docs.entry.cjs.map +1 -1
  3. package/dist/esm/generated/docs.entry.mjs +19 -0
  4. package/dist/esm/generated/docs.entry.mjs.map +1 -1
  5. package/dist/types/generated/docs.entry.d.ts +1 -0
  6. package/dist/types/generated/docs.entry.d.ts.map +1 -1
  7. package/docs/ar/intlayer_with_nuxt.md +294 -438
  8. package/docs/ar/intlayer_with_react_router_v7.md +33 -4
  9. package/docs/ar/intlayer_with_react_router_v7_fs_routes.md +516 -0
  10. package/docs/ar/intlayer_with_tanstack.md +2 -12
  11. package/docs/ar/intlayer_with_vite+vue.md +1 -0
  12. package/docs/de/intlayer_with_nuxt.md +284 -410
  13. package/docs/de/intlayer_with_react_router_v7.md +33 -4
  14. package/docs/de/intlayer_with_react_router_v7_fs_routes.md +573 -0
  15. package/docs/de/intlayer_with_tanstack.md +1 -0
  16. package/docs/de/intlayer_with_vite+vue.md +1 -0
  17. package/docs/en/intlayer_with_nuxt.md +237 -341
  18. package/docs/en/intlayer_with_react_router_v7.md +24 -0
  19. package/docs/en/intlayer_with_react_router_v7_fs_routes.md +570 -0
  20. package/docs/en/intlayer_with_tanstack.md +2 -12
  21. package/docs/en/intlayer_with_vite+vue.md +49 -48
  22. package/docs/en-GB/intlayer_with_nuxt.md +254 -378
  23. package/docs/en-GB/intlayer_with_react_router_v7.md +33 -4
  24. package/docs/en-GB/intlayer_with_react_router_v7_fs_routes.md +513 -0
  25. package/docs/en-GB/intlayer_with_tanstack.md +2 -12
  26. package/docs/en-GB/intlayer_with_vite+vue.md +1 -0
  27. package/docs/es/intlayer_with_nuxt.md +271 -390
  28. package/docs/es/intlayer_with_react_router_v7.md +33 -4
  29. package/docs/es/intlayer_with_react_router_v7_fs_routes.md +575 -0
  30. package/docs/es/intlayer_with_tanstack.md +1 -0
  31. package/docs/es/intlayer_with_vite+vue.md +1 -2
  32. package/docs/fr/intlayer_with_nuxt.md +278 -405
  33. package/docs/fr/intlayer_with_react_router_v7.md +34 -5
  34. package/docs/fr/intlayer_with_react_router_v7_fs_routes.md +574 -0
  35. package/docs/fr/intlayer_with_tanstack.md +1 -0
  36. package/docs/fr/intlayer_with_vite+vue.md +1 -0
  37. package/docs/hi/intlayer_with_nuxt.md +303 -447
  38. package/docs/hi/intlayer_with_react_router_v7.md +33 -4
  39. package/docs/hi/intlayer_with_react_router_v7_fs_routes.md +518 -0
  40. package/docs/hi/intlayer_with_tanstack.md +2 -12
  41. package/docs/hi/intlayer_with_vite+vue.md +1 -0
  42. package/docs/id/intlayer_with_nuxt.md +266 -395
  43. package/docs/id/intlayer_with_react_router_v7.md +29 -4
  44. package/docs/id/intlayer_with_react_router_v7_fs_routes.md +521 -0
  45. package/docs/id/intlayer_with_tanstack.md +2 -12
  46. package/docs/id/intlayer_with_vite+vue.md +1 -0
  47. package/docs/it/intlayer_with_nuxt.md +299 -423
  48. package/docs/it/intlayer_with_react_router_v7.md +33 -4
  49. package/docs/it/intlayer_with_react_router_v7_fs_routes.md +574 -0
  50. package/docs/it/intlayer_with_tanstack.md +1 -0
  51. package/docs/ja/intlayer_with_nuxt.md +309 -432
  52. package/docs/ja/intlayer_with_react_router_v7.md +33 -4
  53. package/docs/ja/intlayer_with_react_router_v7_fs_routes.md +574 -0
  54. package/docs/ja/intlayer_with_tanstack.md +2 -12
  55. package/docs/ja/intlayer_with_vite+vue.md +1 -0
  56. package/docs/ko/intlayer_with_nuxt.md +295 -422
  57. package/docs/ko/intlayer_with_react_router_v7.md +33 -4
  58. package/docs/ko/intlayer_with_react_router_v7_fs_routes.md +515 -0
  59. package/docs/ko/intlayer_with_tanstack.md +2 -12
  60. package/docs/ko/intlayer_with_vite+vue.md +1 -0
  61. package/docs/pl/intlayer_with_nuxt.md +273 -476
  62. package/docs/pl/intlayer_with_react_router_v7.md +32 -5
  63. package/docs/pl/intlayer_with_react_router_v7_fs_routes.md +615 -0
  64. package/docs/pl/intlayer_with_tanstack.md +2 -12
  65. package/docs/pl/intlayer_with_vite+vue.md +1 -0
  66. package/docs/pt/intlayer_with_nuxt.md +277 -420
  67. package/docs/pt/intlayer_with_react_router_v7.md +28 -0
  68. package/docs/pt/intlayer_with_tanstack.md +1 -0
  69. package/docs/ru/intlayer_with_nuxt.md +287 -425
  70. package/docs/ru/intlayer_with_react_router_v7.md +33 -4
  71. package/docs/ru/intlayer_with_react_router_v7_fs_routes.md +574 -0
  72. package/docs/ru/intlayer_with_tanstack.md +1 -0
  73. package/docs/ru/intlayer_with_vite+vue.md +1 -0
  74. package/docs/tr/intlayer_with_nuxt.md +313 -406
  75. package/docs/tr/intlayer_with_react_router_v7.md +33 -4
  76. package/docs/tr/intlayer_with_react_router_v7_fs_routes.md +572 -0
  77. package/docs/tr/intlayer_with_tanstack.md +2 -12
  78. package/docs/tr/intlayer_with_vite+vue.md +1 -0
  79. package/docs/vi/intlayer_with_nuxt.md +273 -418
  80. package/docs/vi/intlayer_with_react_router_v7.md +29 -4
  81. package/docs/vi/intlayer_with_react_router_v7_fs_routes.md +523 -0
  82. package/docs/vi/intlayer_with_tanstack.md +2 -12
  83. package/docs/vi/intlayer_with_vite+vue.md +1 -0
  84. package/docs/zh/intlayer_with_nuxt.md +300 -461
  85. package/docs/zh/intlayer_with_react_router_v7.md +33 -4
  86. package/docs/zh/intlayer_with_react_router_v7_fs_routes.md +516 -0
  87. package/docs/zh/intlayer_with_tanstack.md +2 -12
  88. package/docs/zh/intlayer_with_vite+vue.md +1 -0
  89. package/package.json +10 -11
  90. package/src/generated/docs.entry.ts +19 -0
@@ -1,8 +1,8 @@
1
1
  ---
2
- createdAt: 2025-09-07
3
- updatedAt: 2025-09-07
4
- title: Nuxt and Vue uygulamanızı nasıl çevirirsiniz – i18n rehberi 2025
5
- description: Nuxt ve Vue web sitenizi çok dilli hale getirmeyi öğrenin. Uluslararasılaştırma (i18n) ve çeviri yapmak için dokümantasyonu takip edin.
2
+ createdAt: 2025-06-18
3
+ updatedAt: 2025-12-07
4
+ title: Nuxt ve Vue uygulamanızı nasıl çevirirsiniz – i18n rehberi 2025
5
+ description: Nuxt ve Vue web sitenizi çok dilli hale nasıl getireceğinizi keşfedin. Uluslararasılaştırma (i18n) ve çeviri için dokümantasyonu takip edin.
6
6
  keywords:
7
7
  - Uluslararasılaştırma
8
8
  - Dokümantasyon
@@ -14,16 +14,22 @@ slugs:
14
14
  - doc
15
15
  - environment
16
16
  - nuxt-and-vue
17
- applicationTemplate: https://github.com/aymericzip/intlayer-nuxt-template
17
+ applicationTemplate: https://github.com/aymericzip/intlayer-nuxt-4-template
18
+ youtubeVideo: https://www.youtube.com/watch?v=nhUcUAVQ6eQ
18
19
  history:
20
+ - version: 7.3.11
21
+ date: 2025-12-07
22
+ changes: LocaleSwitcher, SEO, metadata güncellendi
19
23
  - version: 5.5.10
20
24
  date: 2025-06-29
21
- changes: Geçmişi başlat
25
+ changes: Geçmiş başlatıldı
22
26
  ---
23
27
 
24
- # Intlayer ile Nuxt and Vue çevirin | Uluslararasılaştırma (i18n)
28
+ # Intlayer kullanarak Nuxt ve Vue web sitenizi çevirin | Uluslararasılaştırma (i18n)
25
29
 
26
- GitHub'da [Uygulama Şablonu](https://github.com/aymericzip/intlayer-nuxt-template)na bakın.
30
+ ## İçindekiler
31
+
32
+ <TOC/>
27
33
 
28
34
  ## Intlayer Nedir?
29
35
 
@@ -31,18 +37,39 @@ GitHub'da [Uygulama Şablonu](https://github.com/aymericzip/intlayer-nuxt-templa
31
37
 
32
38
  Intlayer ile şunları yapabilirsiniz:
33
39
 
34
- - **Bileşen düzeyinde bildirimsel sözlükler kullanarak çevirileri kolayca yönetin**.
35
- - **Meta verileri, rotaları ve içeriği dinamik olarak yerelleştirin**.
36
- - **Otomatik tamamlama ve hata algılama ile TypeScript desteği sağlayın**.
37
- - **Dinamik yerel algılama ve anahtarlama gibi gelişmiş özelliklerden yararlanın**.
40
+ - **Bileşen seviyesinde deklaratif sözlükler kullanarak çevirileri kolayca yönetin.**
41
+ - **Meta verileri, rotaları ve içeriği dinamik olarak yerelleştirin.**
42
+ - **Otomatik oluşturulan tiplerle TypeScript desteğini sağlayarak otomatik tamamlama ve hata tespitini geliştirin.**
43
+ - **Dinamik dil algılama ve değiştirme gibi gelişmiş özelliklerden faydalanın.**
38
44
 
39
45
  ---
40
46
 
41
- ## Nuxt Uygulamasında Intlayer Kurulumu Adım Adım Kılavuzu
47
+ ## Nuxt Uygulamasında Intlayer Kurulumu Adım Adım Rehber
48
+
49
+ <Tab defaultTab="video">
50
+ <TabItem label="Video" value="video">
51
+
52
+ <iframe title="Nuxt ve Vue uygulamanızı Intlayer kullanarak nasıl çevirirsiniz? Intlayer'ı keşfedin" class="m-auto aspect-[16/9] w-full overflow-hidden rounded-lg border-0" allow="autoplay; gyroscope;" loading="lazy" width="1080" height="auto" src="https://www.youtube.com/embed/nhUcUAVQ6eQ?autoplay=0&amp;origin=http://intlayer.org&amp;controls=0&amp;rel=1"/>
53
+
54
+ </TabItem>
55
+ <TabItem label="Kod" value="code">
56
+
57
+ <iframe
58
+ src="https://stackblitz.com/github/aymericzip/intlayer-nuxt-4-template?embed=1&ctl=1&file=intlayer.config.ts"
59
+ className="m-auto overflow-hidden rounded-lg border-0 max-md:size-full max-md:h-[700px] md:aspect-16/9 md:w-full"
60
+ title="Demo CodeSandbox - Intlayer kullanarak uygulamanızı nasıl uluslararasılaştırırsınız"
61
+ sandbox="allow-forms allow-modals allow-popups allow-presentation allow-same-origin allow-scripts"
62
+ loading="lazy"
63
+ />
42
64
 
43
- ### Adım 1: Bağımlılıkları Kurma
65
+ </TabItem>
66
+ </Tab>
44
67
 
45
- Gerekli paketleri npm kullanarak kurun:
68
+ GitHub'da [Uygulama Şablonunu](https://github.com/aymericzip/intlayer-nuxt-4-template) inceleyin.
69
+
70
+ ### Adım 1: Bağımlılıkları Yükleyin
71
+
72
+ Gerekli paketleri npm kullanarak yükleyin:
46
73
 
47
74
  ```bash packageManager="npm"
48
75
  npm install intlayer vue-intlayer
@@ -61,17 +88,17 @@ yarn add --save-dev nuxt-intlayer
61
88
 
62
89
  - **intlayer**
63
90
 
64
- Yapılandırma yönetimi, çeviri, [içerik bildirimi](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/dictionary/content_file.md), derleme ve [CLI komutları](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/cli/index.md) için uluslararasılaştırma araçları sağlayan çekirdek paket.
91
+ Konfigürasyon yönetimi, çeviri, [içerik beyanı](https://github.com/aymericzip/intlayer/blob/main/docs/docs/tr/dictionary/content_file.md), transpile etme ve [CLI komutları](https://github.com/aymericzip/intlayer/blob/main/docs/docs/tr/cli/index.md) için uluslararasılaştırma araçları sağlayan temel paket.
65
92
 
66
93
  - **vue-intlayer**
67
- Intlayer'ı Vue uygulaması ile entegre eden paket. Vue bileşenleri için composable'ları sağlar.
94
+ Intlayer'ı Vue uygulamasıyla entegre eden paket. Vue bileşenleri için composables sağlar.
68
95
 
69
96
  - **nuxt-intlayer**
70
- Intlayer'ı Nuxt uygulamaları ile entegre eden Nuxt modülü. Otomatik kurulum, yerel algılama için middleware, çerez yönetimi ve URL yönlendirmesi sağlar.
97
+ Nuxt uygulamalarıyla Intlayer'ı entegre eden Nuxt modülü. Otomatik kurulum, yerel algılama için middleware, çerez yönetimi ve URL yönlendirmesi sağlar.
71
98
 
72
- ### Adım 2: Projenizi Yapılandırma
99
+ ### Adım 2: Projenizin yapılandırması
73
100
 
74
- Uygulamanızın dillerini yapılandırmak için bir yapılandırma dosyası oluşturun:
101
+ Uygulamanızın dillerini yapılandırmak için bir konfigürasyon dosyası oluşturun:
75
102
 
76
103
  ```typescript fileName="intlayer.config.ts" codeFormat="typescript"
77
104
  import { Locales, type IntlayerConfig } from "intlayer";
@@ -82,13 +109,10 @@ const config: IntlayerConfig = {
82
109
  Locales.ENGLISH,
83
110
  Locales.FRENCH,
84
111
  Locales.SPANISH,
85
- // Diğer yerel ayarlarınız
112
+ // Diğer dilleriniz
86
113
  ],
87
114
  defaultLocale: Locales.ENGLISH,
88
115
  },
89
- content: {
90
- contentDir: ["."], // Çünkü varsayılan olarak Intayer, içerik bildirim dosyalarını `./src` dizininden izleyecek
91
- },
92
116
  };
93
117
 
94
118
  export default config;
@@ -104,13 +128,10 @@ const config = {
104
128
  Locales.ENGLISH,
105
129
  Locales.FRENCH,
106
130
  Locales.SPANISH,
107
- // Diğer yerel ayarlarınız
131
+ // Diğer dilleriniz
108
132
  ],
109
133
  defaultLocale: Locales.ENGLISH,
110
134
  },
111
- content: {
112
- contentDir: ["."],
113
- },
114
135
  };
115
136
 
116
137
  export default config;
@@ -126,21 +147,18 @@ const config = {
126
147
  Locales.ENGLISH,
127
148
  Locales.FRENCH,
128
149
  Locales.SPANISH,
129
- // Diğer yerel ayarlarınız
150
+ // Diğer dilleriniz
130
151
  ],
131
152
  defaultLocale: Locales.ENGLISH,
132
153
  },
133
- content: {
134
- contentDir: ["."],
135
- },
136
154
  };
137
155
 
138
156
  module.exports = config;
139
157
  ```
140
158
 
141
- > Bu yapılandırma dosyası aracılığıyla, yerelleştirilmiş URL'ler, middleware yönlendirmesi, çerez adları, içerik bildirimlerinizin konumu ve uzantısı, konsolda Intlayer günlüklerinin devre dışı bırakılması ve daha fazlasını ayarlayabilirsiniz. Kullanılabilir parametrelerin tam listesi için [yapılandırma dokümantasyonuna](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/configuration.md) bakın.
159
+ > Bu yapılandırma dosyası aracılığıyla, yerelleştirilmiş URL'leri, middleware yönlendirmesini, çerez isimlerini, içerik bildirimlerinizin konumunu ve uzantısını ayarlayabilir, Intlayer loglarını konsolda devre dışı bırakabilir ve daha fazlasını yapabilirsiniz. Mevcut parametrelerin tam listesi için [yapılandırma dokümantasyonuna](https://github.com/aymericzip/intlayer/blob/main/docs/docs/tr/configuration.md) bakınız.
142
160
 
143
- ### Adım 3: Nuxt Yapılandırmanızda Intlayer'ı Entegre Etme
161
+ ### Adım 3: Intlayer'ı Nuxt Yapılandırmanıza Entegre Edin
144
162
 
145
163
  Intlayer modülünü Nuxt yapılandırmanıza ekleyin:
146
164
 
@@ -153,203 +171,46 @@ export default defineNuxtConfig({
153
171
  });
154
172
  ```
155
173
 
156
- > `nuxt-intlayer` modülü, Intlayer'ın Nuxt ile entegrasyonunu otomatik olarak yönetir. İçerik bildirim oluşturmasını ayarlar, geliştirme modunda dosyaları izler, yerel algılama için middleware sağlar ve yerelleştirilmiş yönlendirmeyi yönetir.
174
+ > `nuxt-intlayer` modülü, Intlayer'ın Nuxt ile entegrasyonunu otomatik olarak yönetir. İçerik bildirimlerinin oluşturulmasını ayarlar, geliştirme modunda dosyaları izler, yerel tespit için middleware sağlar ve yerelleştirilmiş yönlendirmeyi yönetir.
157
175
 
158
176
  ### Adım 4: İçeriğinizi Bildirin
159
177
 
160
178
  Çevirileri depolamak için içerik bildirimlerinizi oluşturun ve yönetin:
161
179
 
162
- ```tsx fileName="components/helloWorld.content.ts" contentDeclarationFormat="typescript"
163
- import { t, type Dictionary } from "intlayer";
180
+ ```tsx fileName="content/home-page.content.ts" contentDeclarationFormat="typescript"
181
+ import { type Dictionary, t } from "intlayer";
164
182
 
165
- const helloWorldContent = {
166
- key: "helloworld",
183
+ const content = {
184
+ key: "home-page",
167
185
  content: {
168
- count: t({ en: "count is ", fr: "le compte est ", es: "el recuento es " }),
169
- edit: t({
170
- en: "Edit <code>components/HelloWorld.vue</code> and save to test HMR",
171
- fr: "Éditez <code>components/HelloWorld.vue</code> et enregistrez pour tester HMR",
172
- es: "Edita <code>components/HelloWorld.vue</code> y guarda para probar HMR",
173
- }),
174
- checkOut: t({ en: "Check out ", fr: "Vérifiez ", es: "Compruebe " }),
175
- nuxtIntlayer: t({
176
- en: "Nuxt Intlayer documentation",
177
- fr: "Documentation de Nuxt Intlayer",
178
- es: "Documentación de Nuxt Intlayer",
179
- }),
180
- learnMore: t({
181
- en: "Learn more about Nuxt in the ",
182
- fr: "En savoir plus sur Nuxt dans la ",
183
- es: "Aprenda más sobre Nuxt en la ",
186
+ title: t({
187
+ en: "Hello world",
188
+ fr: "Bonjour le monde",
189
+ es: "Hola mundo",
184
190
  }),
185
- nuxtDocs: t({
186
- en: "Nuxt Documentation",
187
- fr: "Documentation Nuxt",
188
- es: "Documentación de Nuxt",
191
+ metaTitle: t({
192
+ en: "Welcome | My Application",
193
+ fr: "Bienvenue | Mon Application",
194
+ es: "Bienvenido | Mi Aplicación",
189
195
  }),
190
- readTheDocs: t({
191
- en: "Click on the Nuxt logo to learn more",
192
- fr: "Cliquez sur le logo Nuxt pour en savoir plus",
193
- es: "Haga clic en el logotipo de Nuxt para obtener más información",
196
+ metaDescription: t({
197
+ en: "Discover your multilingual Nuxt app homepage powered by Intlayer.",
198
+ fr: "Découvrez la page d'accueil multilingue de votre application Nuxt propulsée par Intlayer.",
199
+ es: "Descubre la página de inicio multilingüe de tu aplicación Nuxt impulsada por Intlayer.",
194
200
  }),
195
201
  },
196
202
  } satisfies Dictionary;
197
203
 
198
- export default helloWorldContent;
199
- ```
200
-
201
- ```javascript fileName="components/helloWorld.content.mjs" contentDeclarationFormat="esm"
202
- import { t } from "intlayer";
203
-
204
- /** @type {import('intlayer').Dictionary} */
205
- const helloWorldContent = {
206
- key: "helloworld",
207
- content: {
208
- count: t({ en: "count is ", fr: "le compte est ", es: "el recuento es " }),
209
- edit: t({
210
- en: "Edit <code>components/HelloWorld.vue</code> and save to test HMR",
211
- fr: "Éditez <code>components/HelloWorld.vue</code> et enregistrez pour tester HMR",
212
- es: "Edita <code>components/HelloWorld.vue</code> y guarda para probar HMR",
213
- }),
214
- checkOut: t({ en: "Check out ", fr: "Vérifiez ", es: "Compruebe " }),
215
- nuxtIntlayer: t({
216
- en: "Nuxt Intlayer documentation",
217
- fr: "Documentation de Nuxt Intlayer",
218
- es: "Documentación de Nuxt Intlayer",
219
- }),
220
- learnMore: t({
221
- en: "Learn more about Nuxt in the ",
222
- fr: "En savoir plus sur Nuxt dans la ",
223
- es: "Aprenda más sobre Nuxt en la ",
224
- }),
225
- nuxtDocs: t({
226
- en: "Nuxt Documentation",
227
- fr: "Documentation Nuxt",
228
- es: "Documentación de Nuxt",
229
- }),
230
- readTheDocs: t({
231
- en: "Click on the Nuxt logo to learn more",
232
- fr: "Cliquez sur le logo Nuxt pour en savoir plus",
233
- es: "Haga clic en el logotipo de Nuxt para obtener más información",
234
- }),
235
- },
236
- };
237
-
238
- export default helloWorldContent;
239
- ```
240
-
241
- ```javascript fileName="components/helloWorld.content.cjs" codeFormat="commonjs"
242
- const { t } = require("intlayer");
243
-
244
- /** @type {import('intlayer').Dictionary} */
245
- const helloWorldContent = {
246
- key: "helloworld",
247
- content: {
248
- count: t({ en: "count is ", fr: "le compte est ", es: "el recuento es " }),
249
- edit: t({
250
- en: "Edit <code>components/HelloWorld.vue</code> and save to test HMR",
251
- fr: "Éditez <code>components/HelloWorld.vue</code> et enregistrez pour tester HMR",
252
- es: "Edita <code>components/HelloWorld.vue</code> y guarda para probar HMR",
253
- }),
254
- checkOut: t({ en: "Check out ", fr: "Vérifiez ", es: "Compruebe " }),
255
- nuxtIntlayer: t({
256
- en: "Nuxt Intlayer documentation",
257
- fr: "Documentation de Nuxt Intlayer",
258
- es: "Documentación de Nuxt Intlayer",
259
- }),
260
- learnMore: t({
261
- en: "Learn more about Nuxt in the ",
262
- fr: "En savoir plus sur Nuxt dans la ",
263
- es: "Aprenda más sobre Nuxt en la ",
264
- }),
265
- nuxtDocs: t({
266
- en: "Nuxt Documentation",
267
- fr: "Documentation Nuxt",
268
- es: "Documentación de Nuxt",
269
- }),
270
- readTheDocs: t({
271
- en: "Click on the Nuxt logo to learn more",
272
- fr: "Cliquez sur le logo Nuxt pour en savoir plus",
273
- es: "Haga clic en el logotipo de Nuxt para obtener más información",
274
- }),
275
- },
276
- };
277
-
278
- module.exports = helloWorldContent;
279
- ```
280
-
281
- ```json fileName="components/helloWorld.content.json" contentDeclarationFormat="json"
282
- {
283
- "$schema": "https://intlayer.org/schema.json",
284
- "key": "helloworld",
285
- "content": {
286
- "count": {
287
- "nodeType": "translation",
288
- "translation": {
289
- "en": "count is ",
290
- "fr": "le compte est ",
291
- "es": "el recuento es "
292
- }
293
- },
294
- "edit": {
295
- "nodeType": "translation",
296
- "translation": {
297
- "en": "Edit <code>components/HelloWorld.vue</code> and save to test HMR",
298
- "fr": "Éditez <code>components/HelloWorld.vue</code> et enregistrez pour tester HMR",
299
- "es": "Edita <code>components/HelloWorld.vue</code> y guarda para probar HMR"
300
- }
301
- },
302
- "checkOut": {
303
- "nodeType": "translation",
304
- "translation": {
305
- "en": "Check out ",
306
- "fr": "Vérifiez ",
307
- "es": "Compruebe "
308
- }
309
- },
310
- "nuxtIntlayer": {
311
- "nodeType": "translation",
312
- "translation": {
313
- "en": "Nuxt Intlayer documentation",
314
- "fr": "Documentation de Nuxt Intlayer",
315
- "es": "Documentación de Nuxt Intlayer"
316
- }
317
- },
318
- "learnMore": {
319
- "nodeType": "translation",
320
- "translation": {
321
- "en": "Learn more about Nuxt in the ",
322
- "fr": "En savoir plus sur Nuxt dans la ",
323
- "es": "Aprenda más sobre Nuxt en la "
324
- }
325
- },
326
- "nuxtDocs": {
327
- "nodeType": "translation",
328
- "translation": {
329
- "en": "Nuxt Documentation",
330
- "fr": "Documentation Nuxt",
331
- "es": "Documentación de Nuxt"
332
- }
333
- },
334
- "readTheDocs": {
335
- "nodeType": "translation",
336
- "translation": {
337
- "en": "Click on the Nuxt logo to learn more",
338
- "fr": "Cliquez sur le logo Nuxt pour en savoir plus",
339
- "es": "Haga clic en el logotipo de Nuxt para obtener más información"
340
- }
341
- }
342
- }
343
- }
204
+ export default content;
344
205
  ```
345
206
 
346
- > İçerik bildirimleriniz, `contentDir` dizinine dahil edildiği sürece uygulamanızın herhangi bir yerinde tanımlanabilir (varsayılan olarak, `./src`). Ve içerik bildirim dosyası uzantısıyla eşleşmelidir (varsayılan olarak, `.content.{json,ts,tsx,js,jsx,mjs,mjx,cjs,cjx}`).
207
+ > İçerik bildirimleriniz, uygulamanızın herhangi bir yerinde tanımlanabilir, yeter ki `contentDir` dizini içinde yer alsın (varsayılan olarak `./src`). Ve içerik bildirim dosya uzantısıyla eşleşsin (varsayılan olarak `.content.{json,ts,tsx,js,jsx,mjs,mjx,cjs,cjx}`).
347
208
 
348
- > Daha fazla detay için [içerik bildirim dokümantasyonuna](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/dictionary/content_file.md) bakın.
209
+ > Daha fazla detay için [içerik bildirim dokümantasyonuna](https://github.com/aymericzip/intlayer/blob/main/docs/docs/tr/dictionary/content_file.md) bakınız.
349
210
 
350
- ### Adım 5: Kodunuzda Intlayer'ı Kullanın
211
+ ### Adım 5: Intlayer'ı Kodunuzda Kullanın
351
212
 
352
- `useIntlayer` composable'ını kullanarak Nuxt uygulamanız boyunca içerik sözlüklerinize erişin:
213
+ Nuxt uygulamanızın her yerinde içerik sözlüklerinize `useIntlayer` composable'ı ile erişin:
353
214
 
354
215
  ```vue fileName="components/HelloWorld.vue"
355
216
  <script setup lang="ts">
@@ -403,81 +264,71 @@ const countRef = ref(0);
403
264
  Intlayer, içeriğinize erişmek için farklı API'ler sunar:
404
265
 
405
266
  - **Bileşen tabanlı sözdizimi** (önerilen):
406
- İçeriği Intlayer Düğümü olarak işlemek için `<myContent />` veya `<Component :is="myContent" />` sözdizimini kullanın. Bu, [Görsel Düzenleyici](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/intlayer_visual_editor.md) ve [CMS](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/intlayer_CMS.md) ile sorunsuz bir şekilde entegre olur.
267
+ `<myContent />` veya `<Component :is="myContent" />` sözdizimini kullanarak içeriği bir Intlayer Node olarak render edin. Bu, [Visual Editor](https://github.com/aymericzip/intlayer/blob/main/docs/docs/tr/intlayer_visual_editor.md) ve [CMS](https://github.com/aymericzip/intlayer/blob/main/docs/docs/tr/intlayer_CMS.md) ile sorunsuz bir şekilde entegre olur.
407
268
 
408
- - **Dize tabanlı sözdizimi**:
409
- Görsel Düzenleyici desteği olmadan içeriği düz metin olarak işlemek için `{{ myContent }}` kullanın.
269
+ - **Metin tabanlı sözdizimi**:
270
+ İçeriği Visual Editor desteği olmadan düz metin olarak render etmek için `{{ myContent }}` kullanın.
410
271
 
411
- - **Ham HTML sözdizimi**:
412
- Görsel Düzenleyici desteği olmadan içeriği ham HTML olarak işlemek için `<div v-html="myContent" />` kullanın.
272
+ - **Ham HTML sözdizimi**:
273
+ İçeriği Visual Editor desteği olmadan ham HTML olarak render etmek için `<div v-html="myContent" />` kullanın.
413
274
 
414
- - **Yapılandırma sözdizimi**:
415
- `useIntlayer` composable'ı, içeriği döndüren bir Proxy döndürür. Bu proxy, reaktiviteyi korurken içeriğe erişmek için yapılandırılabilir.
416
- - `const content = useIntlayer("myContent");` Ve `{{ content.myContent }}` / `<content.myContent />` kullanın.
417
- - Veya `const { myContent } = useIntlayer("myContent");` Ve `{{ myContent}}` / `<myContent/>` kullanarak içeriği yapılandırın.
275
+ - **Yapı bozma (Destructuration) sözdizimi**:
276
+ `useIntlayer` composable, içerikle birlikte bir Proxy döner. Bu proxy, reaktiviteyi koruyarak içeriğe erişmek için yapı bozma yöntemiyle ayrıştırılabilir.
277
+ - `const content = useIntlayer("myContent");` kullanın ve `{{ content.myContent }}` / `<content.myContent />` şeklinde render edin.
278
+ - Ya da içeriği yapı bozma ile almak için `const { myContent } = useIntlayer("myContent");` kullanın ve `{{ myContent}}` / `<myContent/>` şeklinde render edin.
418
279
 
419
- ### (İsteğe Bağlı) Adım 6: İçeriğinizin dilini değiştirme
280
+ ### (İsteğe Bağlı) Adım 6: İçeriğinizin dilini değiştirin
420
281
 
421
- İçeriğinizin dilini değiştirmek için, `useLocale` composable tarafından sağlanan `setLocale` fonksiyonunu kullanabilirsiniz. Bu fonksiyon, uygulamanın yerel ayarını ayarlamanıza ve içeriği buna göre güncellemenize olanak tanır.
282
+ İçeriğinizin dilini değiştirmek için `useLocale` composable tarafından sağlanan `setLocale` fonksiyonunu kullanabilirsiniz. Bu fonksiyon, uygulamanın yerel ayarını belirlemenize ve içeriği buna göre güncellemenize olanak tanır.
422
283
 
423
- Diller arasında geçiş yapmak için bir bileşen oluşturun:
284
+ `NuxtLink` kullanarak diller arasında geçiş yapmak için bir bileşen oluşturun. **Dil değiştirme için butonlar yerine link kullanmak, SEO ve sayfa keşfedilebilirliği açısından en iyi uygulamadır**, çünkü bu sayede arama motorları sayfalarınızın tüm yerelleştirilmiş versiyonlarını tarayabilir ve indeksleyebilir.
424
285
 
425
286
  ```vue fileName="components/LocaleSwitcher.vue"
426
- <template>
427
- <div class="locale-switcher">
428
- <select v-model="selectedLocale" @change="changeLocale">
429
- <option v-for="loc in availableLocales" :key="loc" :value="loc">
430
- {{ getLocaleName(loc) }}
431
- </option>
432
- </select>
433
- </div>
434
- </template>
435
-
436
287
  <script setup lang="ts">
437
- import { ref, watch } from "vue";
438
- import { getLocaleName } from "intlayer";
288
+ import { getLocaleName, getLocalizedUrl } from "intlayer";
439
289
  import { useLocale } from "vue-intlayer";
440
290
 
441
- // Yerel ayar bilgilerini ve setLocale fonksiyonunu alın
291
+ // Nuxt useRoute'u otomatik olarak import eder
292
+ const route = useRoute();
442
293
  const { locale, availableLocales, setLocale } = useLocale();
443
-
444
- // Seçilen yerel ayarı bir ref ile takip edin
445
- const selectedLocale = ref(locale.value);
446
-
447
- // Seçim değiştiğinde yerel ayarı güncelleyin
448
- const changeLocale = () => setLocale(selectedLocale.value);
449
-
450
- // Seçilen yerel ayarı küresel yerel ayar ile senkronize tutun
451
- watch(
452
- () => locale.value,
453
- (newLocale) => {
454
- selectedLocale.value = newLocale;
455
- }
456
- );
457
294
  </script>
295
+
296
+ <template>
297
+ <nav class="locale-switcher">
298
+ <NuxtLink
299
+ v-for="localeEl in availableLocales"
300
+ :key="localeEl"
301
+ :to="getLocalizedUrl(route.fullPath, localeEl)"
302
+ class="locale-link"
303
+ :class="{ 'active-locale': localeEl === locale }"
304
+ @click="setLocale(localeEl)"
305
+ >
306
+ {{ getLocaleName(localeEl) }}
307
+ </NuxtLink>
308
+ </nav>
458
309
  </template>
310
+ ```
459
311
 
460
- <style scoped>
461
- .locale-switcher {
462
- margin: 1rem 0;
463
- }
312
+ > `NuxtLink`'i uygun `href` öznitelikleriyle ( `getLocalizedUrl` aracılığıyla) kullanmak, arama motorlarının sayfalarınızın tüm dil varyantlarını keşfetmesini sağlar. Bu, arama motoru tarayıcılarının takip etmeyebileceği yalnızca JavaScript ile yapılan dil değiştirmeye tercih edilir.
464
313
 
465
- select {
466
- padding: 0.5rem;
467
- border-radius: 0.25rem;
468
- border: 1px solid #ccc;
469
- }
470
- </style>
314
+ Sonra, `app.vue` dosyanızı layout kullanacak şekilde ayarlayın:
315
+
316
+ ```vue fileName="app.vue"
317
+ <template>
318
+ <NuxtLayout>
319
+ <NuxtPage />
320
+ </NuxtLayout>
321
+ </template>
471
322
  ```
472
323
 
473
- Ardından, bu bileşeni sayfalarınızda veya düzeninizde kullanın:
324
+ ### (İsteğe Bağlı) Adım 6b: Navigasyonlu Bir Layout Oluşturun
474
325
 
475
- ```vue fileName="app.vue"
326
+ Nuxt layout'ları, sayfalarınız için ortak bir yapı tanımlamanıza olanak tanır. Dil değiştirici ve navigasyonu içeren varsayılan bir layout oluşturun:
327
+
328
+ ```vue fileName="layouts/default.vue"
476
329
  <script setup lang="ts">
477
- import { useIntlayer } from "vue-intlayer";
330
+ import Links from "~/components/Links.vue";
478
331
  import LocaleSwitcher from "~/components/LocaleSwitcher.vue";
479
-
480
- const content = useIntlayer("app"); // İlgili intlayer bildirim dosyası oluşturun
481
332
  </script>
482
333
 
483
334
  <template>
@@ -486,15 +337,20 @@ const content = useIntlayer("app"); // İlgili intlayer bildirim dosyası oluşt
486
337
  <LocaleSwitcher />
487
338
  </header>
488
339
  <main>
489
- <NuxtPage />
340
+ <slot />
490
341
  </main>
342
+
343
+ <Links href="/">Ana Sayfa</Links>
344
+ <Links href="/about">Hakkında</Links>
491
345
  </div>
492
346
  </template>
493
347
  ```
494
348
 
495
- ### (İsteğe Bağlı) Adım 7: Uygulamanıza yerelleştirilmiş yönlendirme ekleme
349
+ `Links` bileşeni (aşağıda gösterilmiştir), dahili navigasyon bağlantılarının otomatik olarak yerelleştirilmesini sağlar.
350
+
351
+ ### (İsteğe Bağlı) Adım 7: Uygulamanıza yerelleştirilmiş Yönlendirme ekleyin
496
352
 
497
- `nuxt-intlayer` modülünü kullanırken Nuxt, yerelleştirilmiş yönlendirmeyi otomatik olarak yönetir. Bu, sayfalar dizin yapınıza göre her dil için rotaları otomatik olarak oluşturur.
353
+ Nuxt, `nuxt-intlayer` modülünü kullandığınızda yerelleştirilmiş yönlendirmeyi otomatik olarak yönetir. Bu, sayfalar dizin yapınıza dayanarak her dil için otomatik olarak rotalar oluşturur.
498
354
 
499
355
  Örnek:
500
356
 
@@ -506,266 +362,317 @@ pages/
506
362
  └── index.vue → /contact, /fr/contact, /es/contact
507
363
  ```
508
364
 
509
- Yerelleştirilmiş bir sayfa oluşturmak için, `pages/` dizininde Vue dosyalarınızı oluşturun:
365
+ Yerelleştirilmiş sayfalar oluşturmak için, `pages/` dizininde Vue dosyalarınızı oluşturmanız yeterlidir. İşte iki örnek sayfa:
510
366
 
511
- ```vue fileName="pages/about.vue"
367
+ **Ana Sayfa (`pages/index.vue`):**
368
+
369
+ ```vue fileName="pages/index.vue"
512
370
  <script setup lang="ts">
513
371
  import { useIntlayer } from "vue-intlayer";
514
372
 
515
- const content = useIntlayer("about");
373
+ const content = useIntlayer("home-page");
374
+
375
+ useHead({
376
+ title: content.metaTitle.value,
377
+ meta: [
378
+ {
379
+ name: "description",
380
+ content: content.metaDescription.value,
381
+ },
382
+ ],
383
+ });
516
384
  </script>
517
385
 
518
386
  <template>
519
- <div>
520
- <h1>{{ content.title }}</h1>
521
- <p>{{ content.description }}</p>
522
- </div>
387
+ <h1><content.title /></h1>
523
388
  </template>
524
389
  ```
525
390
 
526
- `nuxt-intlayer` modülü otomatik olarak:
391
+ **Hakkında Sayfası (`pages/about.vue`):**
527
392
 
528
- - Kullanıcının tercih ettiği yerel ayarı algılar
529
- - URL aracılığıyla yerel ayar anahtarlamayı yönetir
530
- - Uygun `<html lang="">` özelliğini ayarlar
531
- - Yerel ayar çerezlerini yönetir
532
- - Kullanıcıları uygun yerelleştirilmiş URL'ye yönlendirir
393
+ ```vue fileName="pages/about.vue"
394
+ <script setup lang="ts">
395
+ import { useIntlayer } from "vue-intlayer";
533
396
 
534
- ### (İsteğe Bağlı) Adım 8: Yerelleştirilmiş Bağlantı Bileşeni Oluşturma
397
+ const content = useIntlayer("about-page");
535
398
 
536
- Uygulamanızın navigasyonunun mevcut yerel ayarı saygı göstermesini sağlamak için, özel bir `LocalizedLink` bileşeni oluşturabilirsiniz. Bu bileşen, dahili URL'leri otomatik olarak mevcut dille önekler.
399
+ useHead({
400
+ title: content.metaTitle.raw, // Primitif string erişimi için .raw kullanın
401
+ meta: [
402
+ {
403
+ name: "description",
404
+ content: content.metaDescription.raw, // Primitif string erişimi için .raw kullanın
405
+ },
406
+ ],
407
+ });
408
+ </script>
537
409
 
538
- ```vue fileName="components/LocalizedLink.vue"
539
410
  <template>
540
- <NuxtLink :to="localizedHref" v-bind="$attrs">
541
- <slot />
542
- </NuxtLink>
411
+ <h1><content.title /></h1>
543
412
  </template>
413
+ ```
414
+
415
+ > Not: `useHead` Nuxt'ta otomatik olarak içe aktarılır. İçerik değerlerine ihtiyaçlarınıza bağlı olarak `.value` (reaktif) veya `.raw` (primitif string) ile erişebilirsiniz.
416
+
417
+ `nuxt-intlayer` modülü otomatik olarak:
418
+
419
+ - Kullanıcının tercih ettiği yerel dili algılar
420
+ - URL üzerinden yerel dil değişimini yönetir
421
+ - Uygun `<html lang="">` özniteliğini ayarlar
422
+ - Yerel dil çerezlerini yönetir
423
+ - Kullanıcıları uygun yerelleştirilmiş URL'ye yönlendirir
424
+
425
+ ### (İsteğe Bağlı) Adım 8: Yerelleştirilmiş Bir Link Bileşeni Oluşturma
544
426
 
427
+ Uygulamanızın navigasyonunun mevcut locale'a uygun olmasını sağlamak için özel bir `Links` bileşeni oluşturabilirsiniz. Bu bileşen, dahili URL'lerin önüne otomatik olarak mevcut dili ekler; bu, **SEO ve sayfa keşfedilebilirliği** için çok önemlidir.
428
+
429
+ ```vue fileName="components/Links.vue"
545
430
  <script setup lang="ts">
546
- import { computed } from "vue";
547
431
  import { getLocalizedUrl } from "intlayer";
548
432
  import { useLocale } from "vue-intlayer";
549
433
 
550
- const props = defineProps({
551
- to: {
552
- type: String,
553
- required: true,
554
- },
555
- });
434
+ interface Props {
435
+ href: string;
436
+ locale?: string;
437
+ }
438
+
439
+ const props = defineProps<Props>();
440
+
441
+ const { locale: currentLocale } = useLocale();
556
442
 
557
- const { locale } = useLocale();
443
+ // Son yolu hesapla
444
+ const finalPath = computed(() => {
445
+ // 1. Linkin harici olup olmadığını kontrol et
446
+ const isExternal = /^https?:\/\//.test(props.href || "");
558
447
 
559
- // Bağlantının harici olup olmadığını kontrol edin
560
- const isExternalLink = computed(() => /^https?:\/\//.test(props.to || ""));
448
+ // 2. Eğer harici ise, olduğu gibi döndür (NuxtLink <a> etiketi oluşturmayı yönetir)
449
+ if (isExternal) return props.href;
561
450
 
562
- // Dahili bağlantılar için yerelleştirilmiş bir href oluşturun
563
- const localizedHref = computed(() =>
564
- isExternalLink.value ? props.to : getLocalizedUrl(props.to, locale.value)
565
- );
451
+ // 3. Eğer dahili ise, URL'yi yerelleştir
452
+ const targetLocale = props.locale || currentLocale.value;
453
+ return getLocalizedUrl(props.href, targetLocale);
454
+ });
566
455
  </script>
456
+
457
+ <template>
458
+ <NuxtLink :to="finalPath" v-bind="$attrs">
459
+ <slot />
460
+ </NuxtLink>
461
+ </template>
567
462
  ```
568
463
 
569
- Ardından, bu bileşeni uygulamanız boyunca kullanın:
464
+ Sonra bu bileşeni uygulamanızın her yerinde kullanabilirsiniz:
465
+
466
+ ```vue fileName="layouts/default.vue"
467
+ <script setup lang="ts">
468
+ import Links from "~/components/Links.vue";
469
+ import LocaleSwitcher from "~/components/LocaleSwitcher.vue";
470
+ </script>
570
471
 
571
- ```vue fileName="pages/index.vue"
572
472
  <template>
573
473
  <div>
574
- <LocalizedLink to="/about">
575
- {{ content.aboutLink }}
576
- </LocalizedLink>
577
- <LocalizedLink to="/contact">
578
- {{ content.contactLink }}
579
- </LocalizedLink>
474
+ <header>
475
+ <LocaleSwitcher />
476
+ </header>
477
+ <main>
478
+ <slot />
479
+ </main>
480
+
481
+ <Links href="/">Anasayfa</Links>
482
+ <Links href="/about">Hakkında</Links>
580
483
  </div>
581
484
  </template>
582
-
583
- <script setup lang="ts">
584
- import { useIntlayer } from "vue-intlayer";
585
- import LocalizedLink from "~/components/LocalizedLink.vue";
586
-
587
- const content = useIntlayer("home");
588
- </script>
589
485
  ```
590
486
 
487
+ > `NuxtLink`'i yerelleştirilmiş yollarla kullanarak şunları sağlarsınız:
488
+ >
489
+ > - Arama motorları sayfalarınızın tüm dil versiyonlarını tarayabilir ve dizine ekleyebilir
490
+ > - Kullanıcılar yerelleştirilmiş URL'leri doğrudan paylaşabilir
491
+ > - Tarayıcı geçmişi, dil önekli URL'lerle doğru şekilde çalışır
492
+
591
493
  ### (İsteğe Bağlı) Adım 9: Meta Verileri ve SEO'yu Yönetme
592
494
 
593
- Nuxt, mükemmel SEO yetenekleri sağlar. Yerelleştirilmiş meta verileri yönetmek için Intlayer'ı kullanabilirsiniz:
495
+ Nuxt, `useHead` composable (otomatik olarak içe aktarılır) aracılığıyla mükemmel SEO yetenekleri sunar. Intlayer'ı, yerelleştirilmiş meta verileri yönetmek için `.raw` veya `.value` erişicisini kullanarak temel string değerini almak için kullanabilirsiniz:
594
496
 
595
497
  ```vue fileName="pages/about.vue"
596
498
  <script setup lang="ts">
597
- import { useSeoMeta } from "nuxt/app";
598
- import { getIntlayer } from "intlayer";
599
- import { useLocale } from "vue-intlayer";
499
+ import { useIntlayer } from "vue-intlayer";
600
500
 
601
- const { locale } = useLocale();
602
- const content = getIntlayer("about-meta", locale.value);
501
+ // useHead Nuxt'ta otomatik olarak içe aktarılır
502
+ const content = useIntlayer("about-page");
603
503
 
604
- useSeoMeta({
605
- title: content.title,
606
- description: content.description,
504
+ useHead({
505
+ title: content.metaTitle.raw, // Temel string erişimi için .raw kullanın
506
+ meta: [
507
+ {
508
+ name: "description",
509
+ content: content.metaDescription.raw, // İlkel string erişimi için .raw kullanın
510
+ },
511
+ ],
607
512
  });
608
513
  </script>
609
514
 
610
515
  <template>
611
- <div>
612
- <h1>{{ content.pageTitle }}</h1>
613
- <p>{{ content.pageContent }}</p>
614
- </div>
516
+ <h1><content.title /></h1>
615
517
  </template>
616
518
  ```
617
519
 
618
- Karşılık gelen içerik bildirimini oluşturun:
520
+ > Alternatif olarak, Vue reaktivitesi olmadan içeriği almak için `import { getIntlayer } from "intlayer"` fonksiyonunu kullanabilirsiniz.
521
+
522
+ > **İçerik değerlerine erişim:**
523
+ >
524
+ > - İlkel string değeri almak için `.raw` kullanın (reaktif değil)
525
+ > - Reaktif değeri almak için `.value` kullanın
526
+ > - Görsel Editör desteği için `<content.key />` bileşen sözdizimini kullanın
527
+
528
+ İlgili içerik bildirimi oluşturun:
619
529
 
620
- ```ts fileName="pages/about-meta.content.ts"
530
+ ```ts fileName="pages/about-page.content.ts" contentDeclarationFormat="typescript"
621
531
  import { t, type Dictionary } from "intlayer";
622
- import type { useSeoMeta } from "nuxt/app";
623
532
 
624
- const aboutMetaContent = {
625
- key: "about-meta",
533
+ const aboutPageContent = {
534
+ key: "about-page",
626
535
  content: {
627
- title: t({
628
- en: "About Us - My Company",
536
+ metaTitle: t({
537
+ en: "Hakkımızda - Şirketim",
629
538
  fr: "À Propos - Ma Société",
630
539
  es: "Acerca de Nosotros - Mi Empresa",
631
540
  }),
632
- description: t({
633
- en: "Learn more about our company and our mission",
541
+ metaDescription: t({
542
+ en: "Şirketimiz ve misyonumuz hakkında daha fazla bilgi edinin",
634
543
  fr: "En savoir plus sur notre société et notre mission",
635
544
  es: "Conozca más sobre nuestra empresa y nuestra misión",
636
545
  }),
546
+ title: t({
547
+ en: "Hakkımızda",
548
+ fr: "À Propos",
549
+ es: "Acerca de Nosotros",
550
+ }),
637
551
  },
638
- } satisfies Dictionary<Parameters<typeof useSeoMeta>[0]>;
552
+ } satisfies Dictionary;
639
553
 
640
- export default aboutMetaContent;
554
+ export default aboutPageContent;
641
555
  ```
642
556
 
643
- ```typescript fileName="pages/about-meta.content.mjs" contentDeclarationFormat="esm"
557
+ ```javascript fileName="pages/about-page.content.mjs" contentDeclarationFormat="esm"
644
558
  import { t } from "intlayer";
645
559
 
646
560
  /** @type {import('intlayer').Dictionary} */
647
- const aboutMetaContent = {
648
- key: "about-meta",
561
+ const aboutPageContent = {
562
+ key: "about-page",
649
563
  content: {
650
- title: t({
651
- zh: "关于我们 - 我的公司",
652
- en: "About Us - My Company",
564
+ metaTitle: t({
565
+ en: "Hakkımızda - Şirketim",
653
566
  fr: "À Propos - Ma Société",
654
567
  es: "Acerca de Nosotros - Mi Empresa",
655
568
  }),
656
- description: t({
657
- zh: "了解更多关于我们公司和我们的使命",
658
- en: "Learn more about our company and our mission",
569
+ metaDescription: t({
570
+ en: "Şirketimiz ve misyonumuz hakkında daha fazla bilgi edinin",
659
571
  fr: "En savoir plus sur notre société et notre mission",
660
572
  es: "Conozca más sobre nuestra empresa y nuestra misión",
661
573
  }),
574
+ title: t({
575
+ en: "Hakkımızda",
576
+ fr: "À Propos",
577
+ es: "Acerca de Nosotros",
578
+ }),
662
579
  },
663
580
  };
664
581
 
665
- export default aboutMetaContent;
582
+ export default aboutPageContent;
666
583
  ```
667
584
 
668
- ```typescript fileName="pages/about-meta.content.js" contentDeclarationFormat="cjs"
585
+ ```javascript fileName="pages/about-page.content.cjs" contentDeclarationFormat="commonjs"
669
586
  const { t } = require("intlayer");
670
587
 
671
588
  /** @type {import('intlayer').Dictionary} */
672
- const aboutMetaContent = {
673
- key: "about-meta",
589
+ const aboutPageContent = {
590
+ key: "about-page",
674
591
  content: {
675
- title: t({
676
- zh: "关于我们 - 我的公司",
677
- en: "About Us - My Company",
592
+ metaTitle: t({
593
+ en: "Hakkımızda - Şirketim",
678
594
  fr: "À Propos - Ma Société",
679
595
  es: "Acerca de Nosotros - Mi Empresa",
680
596
  }),
681
- description: t({
682
- zh: "了解更多关于我们公司和我们的使命",
597
+ metaDescription: t({
683
598
  en: "Learn more about our company and our mission",
684
599
  fr: "En savoir plus sur notre société et notre mission",
685
600
  es: "Conozca más sobre nuestra empresa y nuestra misión",
686
601
  }),
602
+ title: t({
603
+ en: "About Us",
604
+ fr: "À Propos",
605
+ es: "Acerca de Nosotros",
606
+ }),
687
607
  },
688
608
  };
689
609
 
690
- module.exports = aboutMetaContent;
610
+ module.exports = aboutPageContent;
691
611
  ```
692
612
 
693
- ```json fileName="pages/about-meta.content.json" contentDeclarationFormat="json"
613
+ ```json fileName="pages/about-page.content.json" contentDeclarationFormat="json"
694
614
  {
695
- "key": "about-meta",
615
+ "$schema": "https://intlayer.org/schema.json",
616
+ "key": "about-page",
696
617
  "content": {
697
- "title": {
618
+ "metaTitle": {
698
619
  "nodeType": "translation",
699
- "translations": {
700
- "zh": "关于我们 - 我的公司",
620
+ "translation": {
701
621
  "en": "About Us - My Company",
702
622
  "fr": "À Propos - Ma Société",
703
623
  "es": "Acerca de Nosotros - Mi Empresa"
704
624
  }
705
625
  },
706
- "description": {
626
+ "metaDescription": {
707
627
  "nodeType": "translation",
708
- "translations": {
709
- "zh": "了解更多关于我们公司和我们的使命",
628
+ "translation": {
710
629
  "en": "Learn more about our company and our mission",
711
630
  "fr": "En savoir plus sur notre société et notre mission",
712
- "es": "Conozca más sobre nuestra empresa y nuestra misión"
631
+ "es": "Conozca más sobre nuestra empresa y nuestra misión",
632
+ "tr": "Şirketimiz ve misyonumuz hakkında daha fazla bilgi edinin"
633
+ }
634
+ },
635
+ "title": {
636
+ "nodeType": "translation",
637
+ "translation": {
638
+ "en": "About Us",
639
+ "fr": "À Propos",
640
+ "es": "Acerca de Nosotros",
641
+ "tr": "Hakkımızda"
713
642
  }
714
643
  }
715
644
  }
716
645
  }
717
646
  ```
718
647
 
719
- ### TypeScript Yapılandırma
648
+ ### Git Yapılandırması
720
649
 
721
- Intlayer, TypeScript'ten faydalanmak ve kod tabanınızı daha güçlü hale getirmek için modül genişletmesi kullanır.
650
+ Intlayer tarafından oluşturulan dosyaların göz ardı edilmesi önerilir. Bu, bu dosyaların Git deposuna commit edilmesini önler.
722
651
 
723
- ![Autocompletion](https://github.com/aymericzip/intlayer/blob/main/docs/assets/autocompletion.png?raw=true)
724
-
725
- ![Translation error](https://github.com/aymericzip/intlayer/blob/main/docs/assets/translation_error.png?raw=true)
726
-
727
- TypeScript yapılandırmanızın otomatik olarak oluşturulan türleri içerdiğinden emin olun.
728
-
729
- ```json5 fileName="tsconfig.json"
730
- {
731
- // ... Mevcut TypeScript yapılandırmalarınız
732
- "include": [
733
- // ... Mevcut TypeScript yapılandırmalarınız
734
- ".intlayer/**/*.ts", // Otomatik olarak oluşturulan türleri dahil edin
735
- ],
736
- }
737
- ```
738
-
739
- ### Git Yapılandırma
740
-
741
- Intlayer tarafından oluşturulan dosyaları yok saymanız önerilir. Bu, onları Git deponuza göndermekten kaçınmanıza olanak tanır.
742
-
743
- Bunu yapmak için, `.gitignore` dosyanıza aşağıdaki talimatları ekleyin:
652
+ Bunu yapmak için `.gitignore` dosyanıza aşağıdaki talimatları ekleyebilirsiniz:
744
653
 
745
654
  ```plaintext fileName=".gitignore"
746
- # Intlayer tarafından oluşturulan dosyaları yok say
655
+ # Intlayer tarafından oluşturulan dosyaları göz ardı et
747
656
  .intlayer
748
657
  ```
749
658
 
750
- ### VS Code Uzantısı
659
+ ### VS Code Eklentisi
751
660
 
752
- Intlayer ile geliştirme deneyiminizi geliştirmek için, resmi **Intlayer VS Code Uzantısı**'kurabilirsiniz.
661
+ Intlayer ile geliştirme deneyiminizi iyileştirmek için resmi **Intlayer VS Code Uzantısı**nı yükleyebilirsiniz.
753
662
 
754
- [VS Code Marketplace'ten Kurun](https://marketplace.visualstudio.com/items?itemName=intlayer.intlayer-vs-code-extension)
663
+ [VS Code Marketplace'ten Yükleyin](https://marketplace.visualstudio.com/items?itemName=intlayer.intlayer-vs-code-extension)
755
664
 
756
665
  Bu uzantı şunları sağlar:
757
666
 
758
- - **Çeviri anahtarları için otomatik tamamlama**.
759
- - **Eksik çeviriler için gerçek zamanlı hata algılama**.
760
- - **Çevrilmiş içeriğin satır içi önizlemeleri**.
761
- - **Çevirileri kolayca oluşturmak ve güncellemek için hızlı eylemler**.
667
+ - Çeviri anahtarları için **Otomatik tamamlama**.
668
+ - Eksik çeviriler için **Gerçek zamanlı hata tespiti**.
669
+ - Çevrilmiş içeriğin **Satır içi önizlemeleri**.
670
+ - Çevirileri kolayca oluşturup güncellemek için **Hızlı işlemler**.
762
671
 
763
- Uzantının nasıl kullanılacağı hakkında daha fazla detay için, [Intlayer VS Code Uzantısı dokümantasyonuna](https://intlayer.org/doc/vs-code-extension) bakın.
672
+ Uzantının nasıl kullanılacağı hakkında daha fazla bilgi için [Intlayer VS Code Uzantısı dokümantasyonuna](https://intlayer.org/doc/vs-code-extension) bakabilirsiniz.
764
673
 
765
674
  ---
766
675
 
767
- ### Daha Fazla İlerleyin
768
-
769
- Daha fazla ilerlemek için, [görsel düzenleyiciyi](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/intlayer_visual_editor.md) uygulayabilir veya içeriğinizi [CMS](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/intlayer_CMS.md) kullanarak harici hale getirebilirsiniz.
676
+ ### Daha İleri Gitmek
770
677
 
771
- ---
678
+ Daha ileri gitmek için, [görsel editörü](https://github.com/aymericzip/intlayer/blob/main/docs/docs/tr/intlayer_visual_editor.md) uygulayabilir veya içeriğinizi [CMS](https://github.com/aymericzip/intlayer/blob/main/docs/docs/tr/intlayer_CMS.md) kullanarak dışa aktarabilirsiniz.