@intlayer/docs 7.3.13 → 7.3.15

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 (159) hide show
  1. package/blog/ar/intlayer_with_i18next.md +3 -0
  2. package/blog/ar/intlayer_with_next-i18next.md +3 -0
  3. package/blog/ar/intlayer_with_next-intl.md +3 -0
  4. package/blog/ar/intlayer_with_react-i18next.md +3 -0
  5. package/blog/ar/intlayer_with_react-intl.md +3 -0
  6. package/blog/ar/intlayer_with_vue-i18n.md +3 -0
  7. package/blog/de/intlayer_with_i18next.md +3 -0
  8. package/blog/de/intlayer_with_next-i18next.md +3 -0
  9. package/blog/de/intlayer_with_next-intl.md +3 -0
  10. package/blog/de/intlayer_with_react-i18next.md +3 -0
  11. package/blog/de/intlayer_with_react-intl.md +3 -0
  12. package/blog/de/intlayer_with_vue-i18n.md +3 -0
  13. package/blog/en/intlayer_with_i18next.md +7 -0
  14. package/blog/en/intlayer_with_next-i18next.md +3 -0
  15. package/blog/en/intlayer_with_next-intl.md +7 -0
  16. package/blog/en/intlayer_with_react-i18next.md +3 -0
  17. package/blog/en/intlayer_with_react-intl.md +3 -0
  18. package/blog/en/intlayer_with_vue-i18n.md +3 -0
  19. package/blog/en-GB/intlayer_with_i18next.md +3 -0
  20. package/blog/en-GB/intlayer_with_next-i18next.md +3 -0
  21. package/blog/en-GB/intlayer_with_next-intl.md +3 -0
  22. package/blog/en-GB/intlayer_with_react-i18next.md +3 -0
  23. package/blog/en-GB/intlayer_with_react-intl.md +3 -0
  24. package/blog/en-GB/intlayer_with_vue-i18n.md +3 -0
  25. package/blog/es/intlayer_with_i18next.md +3 -0
  26. package/blog/es/intlayer_with_next-i18next.md +3 -0
  27. package/blog/es/intlayer_with_next-intl.md +3 -0
  28. package/blog/es/intlayer_with_react-i18next.md +3 -0
  29. package/blog/es/intlayer_with_react-intl.md +3 -0
  30. package/blog/es/intlayer_with_vue-i18n.md +3 -0
  31. package/blog/fr/intlayer_with_i18next.md +3 -0
  32. package/blog/fr/intlayer_with_next-i18next.md +3 -0
  33. package/blog/fr/intlayer_with_next-intl.md +3 -0
  34. package/blog/fr/intlayer_with_react-i18next.md +3 -0
  35. package/blog/fr/intlayer_with_react-intl.md +3 -0
  36. package/blog/fr/intlayer_with_vue-i18n.md +3 -0
  37. package/blog/hi/intlayer_with_i18next.md +3 -0
  38. package/blog/hi/intlayer_with_next-i18next.md +3 -0
  39. package/blog/hi/intlayer_with_next-intl.md +3 -0
  40. package/blog/hi/intlayer_with_react-i18next.md +3 -0
  41. package/blog/hi/intlayer_with_react-intl.md +3 -0
  42. package/blog/hi/intlayer_with_vue-i18n.md +3 -0
  43. package/blog/id/intlayer_with_i18next.md +3 -0
  44. package/blog/id/intlayer_with_next-i18next.md +3 -0
  45. package/blog/id/intlayer_with_next-intl.md +3 -0
  46. package/blog/id/intlayer_with_react-i18next.md +3 -0
  47. package/blog/id/intlayer_with_react-intl.md +3 -0
  48. package/blog/id/intlayer_with_vue-i18n.md +3 -0
  49. package/blog/it/intlayer_with_i18next.md +3 -0
  50. package/blog/it/intlayer_with_next-i18next.md +3 -0
  51. package/blog/it/intlayer_with_next-intl.md +3 -0
  52. package/blog/it/intlayer_with_react-i18next.md +3 -0
  53. package/blog/it/intlayer_with_react-intl.md +3 -0
  54. package/blog/it/intlayer_with_vue-i18n.md +3 -0
  55. package/blog/ja/intlayer_with_i18next.md +3 -0
  56. package/blog/ja/intlayer_with_next-i18next.md +3 -0
  57. package/blog/ja/intlayer_with_next-intl.md +3 -0
  58. package/blog/ja/intlayer_with_react-i18next.md +3 -0
  59. package/blog/ja/intlayer_with_react-intl.md +3 -0
  60. package/blog/ja/intlayer_with_vue-i18n.md +3 -0
  61. package/blog/ko/intlayer_with_i18next.md +3 -0
  62. package/blog/ko/intlayer_with_next-i18next.md +3 -0
  63. package/blog/ko/intlayer_with_next-intl.md +3 -0
  64. package/blog/ko/intlayer_with_react-i18next.md +3 -0
  65. package/blog/ko/intlayer_with_react-intl.md +3 -0
  66. package/blog/ko/intlayer_with_vue-i18n.md +3 -0
  67. package/blog/pl/intlayer_with_i18next.md +3 -0
  68. package/blog/pl/intlayer_with_next-i18next.md +3 -0
  69. package/blog/pl/intlayer_with_next-intl.md +3 -0
  70. package/blog/pl/intlayer_with_react-i18next.md +3 -0
  71. package/blog/pl/intlayer_with_react-intl.md +3 -0
  72. package/blog/pl/intlayer_with_vue-i18n.md +3 -0
  73. package/blog/pt/intlayer_with_i18next.md +3 -0
  74. package/blog/pt/intlayer_with_next-i18next.md +3 -0
  75. package/blog/pt/intlayer_with_next-intl.md +3 -0
  76. package/blog/pt/intlayer_with_react-i18next.md +3 -0
  77. package/blog/pt/intlayer_with_react-intl.md +3 -0
  78. package/blog/pt/intlayer_with_vue-i18n.md +3 -0
  79. package/blog/ru/intlayer_with_i18next.md +3 -0
  80. package/blog/ru/intlayer_with_next-i18next.md +3 -0
  81. package/blog/ru/intlayer_with_next-intl.md +3 -0
  82. package/blog/ru/intlayer_with_react-i18next.md +3 -0
  83. package/blog/ru/intlayer_with_react-intl.md +3 -0
  84. package/blog/ru/intlayer_with_vue-i18n.md +3 -0
  85. package/blog/tr/intlayer_with_i18next.md +3 -0
  86. package/blog/tr/intlayer_with_next-i18next.md +3 -0
  87. package/blog/tr/intlayer_with_next-intl.md +3 -0
  88. package/blog/tr/intlayer_with_react-i18next.md +3 -0
  89. package/blog/tr/intlayer_with_vue-i18n.md +3 -0
  90. package/blog/vi/intlayer_with_i18next.md +3 -0
  91. package/blog/vi/intlayer_with_next-i18next.md +3 -0
  92. package/blog/vi/intlayer_with_next-intl.md +3 -0
  93. package/blog/vi/intlayer_with_react-i18next.md +3 -0
  94. package/blog/vi/intlayer_with_react-intl.md +3 -0
  95. package/blog/vi/intlayer_with_vue-i18n.md +3 -0
  96. package/blog/zh/intlayer_with_i18next.md +3 -0
  97. package/blog/zh/intlayer_with_next-i18next.md +3 -0
  98. package/blog/zh/intlayer_with_next-intl.md +3 -0
  99. package/blog/zh/intlayer_with_react-i18next.md +3 -0
  100. package/blog/zh/intlayer_with_react-intl.md +3 -0
  101. package/blog/zh/intlayer_with_vue-i18n.md +3 -0
  102. package/docs/ar/intlayer_with_lynx+react.md +1 -1
  103. package/docs/ar/intlayer_with_vite+react.md +99 -331
  104. package/docs/ar/plugins/sync-json.md +3 -0
  105. package/docs/de/intlayer_with_lynx+react.md +1 -1
  106. package/docs/de/intlayer_with_vite+react.md +116 -380
  107. package/docs/de/plugins/sync-json.md +3 -0
  108. package/docs/en/intlayer_with_vite+react.md +6 -10
  109. package/docs/en/plugins/sync-json.md +3 -0
  110. package/docs/en-GB/intlayer_with_vite+react.md +62 -74
  111. package/docs/en-GB/plugins/sync-json.md +3 -0
  112. package/docs/es/intlayer_with_vite+react.md +101 -333
  113. package/docs/es/plugins/sync-json.md +3 -0
  114. package/docs/fr/intlayer_with_vite+react.md +101 -357
  115. package/docs/fr/plugins/sync-json.md +3 -0
  116. package/docs/hi/intlayer_with_vite+react.md +120 -333
  117. package/docs/hi/plugins/sync-json.md +3 -0
  118. package/docs/id/intlayer_with_vite+react.md +7 -13
  119. package/docs/id/plugins/sync-json.md +3 -0
  120. package/docs/it/intlayer_with_lynx+react.md +1 -1
  121. package/docs/it/intlayer_with_vite+react.md +121 -393
  122. package/docs/it/plugins/sync-json.md +3 -0
  123. package/docs/ja/intlayer_with_vite+react.md +106 -378
  124. package/docs/ja/plugins/sync-json.md +3 -0
  125. package/docs/ko/intlayer_with_lynx+react.md +1 -1
  126. package/docs/ko/intlayer_with_vite+react.md +90 -322
  127. package/docs/ko/plugins/sync-json.md +3 -0
  128. package/docs/pl/intlayer_with_vite+react.md +25 -21
  129. package/docs/pl/plugins/sync-json.md +3 -0
  130. package/docs/pt/intlayer_with_vite+react.md +96 -328
  131. package/docs/pt/plugins/sync-json.md +3 -0
  132. package/docs/ru/intlayer_with_lynx+react.md +1 -1
  133. package/docs/ru/intlayer_with_vite+react.md +109 -362
  134. package/docs/ru/plugins/sync-json.md +3 -0
  135. package/docs/tr/intlayer_with_vite+react.md +132 -366
  136. package/docs/tr/plugins/sync-json.md +3 -0
  137. package/docs/vi/intlayer_with_vite+react.md +16 -19
  138. package/docs/vi/plugins/sync-json.md +3 -0
  139. package/docs/zh/intlayer_with_tanstack.md +1 -1
  140. package/docs/zh/intlayer_with_vite+react.md +91 -374
  141. package/docs/zh/plugins/sync-json.md +3 -0
  142. package/frequent_questions/ar/customized_locale_list.md +1 -1
  143. package/frequent_questions/de/customized_locale_list.md +1 -1
  144. package/frequent_questions/en/customized_locale_list.md +1 -1
  145. package/frequent_questions/en-GB/customized_locale_list.md +1 -1
  146. package/frequent_questions/es/customized_locale_list.md +1 -1
  147. package/frequent_questions/fr/customized_locale_list.md +1 -1
  148. package/frequent_questions/hi/customized_locale_list.md +1 -1
  149. package/frequent_questions/id/customized_locale_list.md +1 -1
  150. package/frequent_questions/it/customized_locale_list.md +1 -1
  151. package/frequent_questions/ja/customized_locale_list.md +1 -1
  152. package/frequent_questions/ko/customized_locale_list.md +1 -1
  153. package/frequent_questions/pl/customized_locale_list.md +1 -1
  154. package/frequent_questions/pt/customized_locale_list.md +1 -1
  155. package/frequent_questions/ru/customized_locale_list.md +1 -1
  156. package/frequent_questions/tr/customized_locale_list.md +1 -1
  157. package/frequent_questions/vi/customized_locale_list.md +1 -1
  158. package/frequent_questions/zh/customized_locale_list.md +1 -1
  159. package/package.json +10 -9
@@ -1,8 +1,8 @@
1
1
  ---
2
- createdAt: 2025-09-07
3
- updatedAt: 2025-09-07
4
- title: Vite and React uygulamanızı nasıl çevirirsiniz – i18n rehberi 2025
5
- description: Intlayer kullanarak Vite ve React uygulamanıza i18n eklemeyi öğrenin. Bu kılavuzu takip ederek uygulamanızı çok dilli hale getirin.
2
+ createdAt: 2024-03-07
3
+ updatedAt: 2025-12-10
4
+ title: Vite ve React uygulamanızı nasıl çevirirsiniz – i18n rehberi 2025
5
+ description: Intlayer kullanarak Vite ve React uygulamanıza uluslararasılaştırma (i18n) eklemeyi öğrenin. Bu kılavuzu takip ederek uygulamanızı çok dilli hale getirin.
6
6
  keywords:
7
7
  - Uluslararasılaştırma
8
8
  - Dokümantasyon
@@ -23,16 +23,12 @@ history:
23
23
  changes: Geçmiş başlatıldı
24
24
  ---
25
25
 
26
- # Intlayer ile Vite and React çevirin | Uluslararasılaştırma (i18n)
26
+ # Intlayer ile Vite ve React sitenizi çevirin | Uluslararasılaştırma (i18n)
27
27
 
28
28
  ## İçindekiler
29
29
 
30
30
  <TOC/>
31
31
 
32
- <iframe title="Vite ve React için en iyi i18n çözümü? 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/dS9L7uJeak4?si=VaKmrYMmXjo3xpk2"/>
33
-
34
- GitHub'da [Uygulama Şablonu](https://github.com/aymericzip/intlayer-vite-react-template)'na bakın.
35
-
36
32
  ## Intlayer Nedir?
37
33
 
38
34
  **Intlayer**, modern web uygulamalarında çok dilli desteği basitleştirmek için tasarlanmış yenilikçi, açık kaynaklı bir uluslararasılaştırma (i18n) kütüphanesidir.
@@ -48,6 +44,27 @@ Intlayer ile şunları yapabilirsiniz:
48
44
 
49
45
  ## Vite ve React Uygulamasında Intlayer Kurulumu İçin Adım Adım Kılavuz
50
46
 
47
+ <Tab defaultTab="video">
48
+ <TabItem label="Video" value="video">
49
+
50
+ <iframe title="Vite ve React için en iyi i18n çözümü? 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/dS9L7uJeak4?si=VaKmrYMmXjo3xpk2"/>
51
+
52
+ </TabItem>
53
+ <TabItem label="Code" value="code">
54
+
55
+ <iframe
56
+ src="https://stackblitz.com/github/aymericzip/intlayer-vite-react-template?embed=1&ctl=1&file=intlayer.config.ts"
57
+ className="m-auto overflow-hidden rounded-lg border-0 max-md:size-full max-md:h-[700px] md:aspect-16/9 md:w-full"
58
+ title="Demo CodeSandbox - How to Internationalize your application using Intlayer"
59
+ sandbox="allow-forms allow-modals allow-popups allow-presentation allow-same-origin allow-scripts"
60
+ loading="lazy"
61
+ />
62
+
63
+ </TabItem>
64
+ </Tab>
65
+
66
+ GitHub'da [Uygulama Şablonu](https://github.com/aymericzip/intlayer-vite-react-template)'na bakın.
67
+
51
68
  ### Adım 1: Bağımlılıkları Kurma
52
69
 
53
70
  Gerekli paketleri npm kullanarak kurun:
@@ -68,14 +85,13 @@ yarn add vite-intlayer --save-dev
68
85
  ```
69
86
 
70
87
  - **intlayer**
71
-
72
- Yapılandırma yönetimi, çeviri, [içerik bildirimi](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/dictionary/content_file.md), dönüştürme 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.
88
+ Yapılandırma 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.
73
89
 
74
90
  - **react-intlayer**
75
- React uygulamasıyla Intlayer'ı entegre eden paket. React uluslararasılaştırması için bağlam sağlayıcıları ve kancalar sağlar.
91
+ React uygulamasıyla Intlayer'ı entegre eden paket. React uluslararasılaştırması için bağlam sağlayıcıları ve hook'lar sağlar.
76
92
 
77
93
  - **vite-intlayer**
78
- [Vite bundler](https://vite.dev/guide/why.html#why-bundle-for-production) ile Intlayer'ı entegre etmek için Vite eklentisini ve kullanıcının tercih ettiği yerel ayarı algılamak, çerezleri yönetmek ve URL yönlendirmesi yapmak için middleware'i içerir.
94
+ [Vite bundler](https://vite.dev/guide/why.html#why-bundle-for-production) ile Intlayer'ı entegre etmek için Vite eklentisini ve kullanıcının tercih ettiği yerel ayarı algılamak, çerezleri yönetmek ve URL yönlendirmesini işlemek için middleware'i içerir.
79
95
 
80
96
  ### Adım 2: Projenizi Yapılandırma
81
97
 
@@ -137,7 +153,7 @@ const config = {
137
153
  module.exports = config;
138
154
  ```
139
155
 
140
- > Bu yapılandırma dosyası aracılığıyla, yerelleştirilmiş URL'leri, middleware yönlendirmesini, çerez adlarını, içerik bildiriminizin konumunu ve uzantısını, Intlayer günlüklerini konsolda devre dışı bırakmayı 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.
156
+ > Bu yapılandırma dosyası aracılığıyla, yerelleştirilmiş URL'leri, middleware yönlendirmesini, çerez adlarını, içerik bildirimlerinizin konumunu ve uzantısını, Intlayer günlüklerini konsolda devre dışı bırakmayı 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/tr/configuration.md) bakın.
141
157
 
142
158
  ### Adım 3: Intlayer'ı Vite Yapılandırmanıza Entegre Etme
143
159
 
@@ -176,7 +192,7 @@ module.exports = defineConfig({
176
192
  });
177
193
  ```
178
194
 
179
- > `intlayer()` Vite eklentisi, Vite ile Intlayer'ı entegre etmek için kullanılır. İçerik bildirimi dosyalarının oluşturulmasını sağlar ve bunları geliştirme modunda izler. Ayrıca Intlayer ortam değişkenlerini Vite uygulaması içinde tanımlar. Ek olarak, performansı optimize etmek için takma adlar sağlar.
195
+ > `intlayer()` Vite eklentisi, Intlayer'ı Vite ile entegre etmek için kullanılır. İçerik bildirim dosyalarının oluşturulmasını sağlar ve geliştirme modunda bunları izler. Vite uygulaması içinde Intlayer ortam değişkenlerini tanımlar. Ayrıca, performansı optimize etmek için takma adlar sağlar.
180
196
 
181
197
  ### Adım 4: İçeriğinizi Bildirin
182
198
 
@@ -412,11 +428,11 @@ module.exports = appContent;
412
428
  }
413
429
  ```
414
430
 
415
- > İçerik bildiriminiz uygulamanızın herhangi bir yerine yerleştirilebilir, yeter ki `contentDir` dizinine dahil edilsin (varsayılan olarak `./src`). Ve içerik bildirimi dosya uzantısı ile eşleşsin (varsayılan olarak `.content.{json,ts,tsx,js,jsx,mjs,mjx,cjs,cjx}`).
431
+ > İçerik bildiriminiz, uygulamanızın herhangi bir yerinde tanımlanabilir; yeter ki `contentDir` dizinine dahil edilsin (varsayılan olarak `./src`). Ayrıca içerik bildirimi dosya uzantısı ile eşleşmelidir (varsayılan olarak `.content.{json,ts,tsx,js,jsx,mjs,mjx,cjs,cjx}`).
416
432
 
417
- > Daha fazla ayrıntı için [içerik bildirimi dokümantasyonuna](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/dictionary/content_file.md) bakın.
433
+ > Daha fazla ayrıntı için [içerik bildirimi dokümantasyonuna](https://github.com/aymericzip/intlayer/blob/main/docs/docs/tr/dictionary/content_file.md) bakın.
418
434
 
419
- > İçerik dosyanız TSX kodu içeriyorsa, `import React from "react";` içerik dosyanıza dahil etmeyi düşünün.
435
+ > İçerik dosyanız TSX kodu içeriyorsa, `import React from "react";` ifadesini içerik dosyanıza dahil etmeyi düşünmelisiniz.
420
436
 
421
437
  ### Adım 5: Kodunuzda Intlayer'ı Kullanın
422
438
 
@@ -563,17 +579,17 @@ const App = () => (
563
579
  module.exports = App;
564
580
  ```
565
581
 
566
- > İçeriğinizi bir `string` niteliğinde kullanmak istediğinizde, `alt`, `title`, `href`, `aria-label` vb. gibi, işlevin değerini çağırmanız gerekir:
582
+ > İçeriğinizi `alt`, `title`, `href`, `aria-label` gibi bir `string` özniteliğinde kullanmak istiyorsanız, fonksiyonun değerini çağırmanız gerekir, örneğin:
567
583
 
568
584
  > ```jsx
569
585
  > <img src={content.image.src.value} alt={content.image.value} />
570
586
  > ```
571
587
 
572
- > `useIntlayer` kancası hakkında daha fazla bilgi edinmek için [dokümantasyona](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/packages/react-intlayer/useIntlayer.md) bakın.
588
+ > `useIntlayer` kancası hakkında daha fazla bilgi edinmek için [dokümantasyona](https://github.com/aymericzip/intlayer/blob/main/docs/docs/tr/packages/react-intlayer/useIntlayer.md) bakın.
573
589
 
574
590
  ### (İsteğe Bağlı) Adım 6: İçeriğinizin Dilini Değiştirin
575
591
 
576
- İçeriğinizin dilini değiştirmek için `useLocale` kancasından sağlanan `setLocale` işlevini kullanabilirsiniz. Bu işlev uygulamanın yerel ayarını ayarlamanıza ve içeriği buna göre güncellemenize olanak tanır.
592
+ İçeriğinizin dilini değiştirmek için `useLocale` kancası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.
577
593
 
578
594
  ```tsx fileName="src/components/LocaleSwitcher.tsx" codeFormat="typescript"
579
595
  import type { FC } from "react";
@@ -621,11 +637,11 @@ const LocaleSwitcher = () => {
621
637
  };
622
638
  ```
623
639
 
624
- > `useLocale` kancası hakkında daha fazla bilgi edinmek için [dokümantasyona](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/packages/react-intlayer/useLocale.md) bakın.
640
+ > `useLocale` kancası hakkında daha fazla bilgi edinmek için [dokümantasyona](https://github.com/aymericzip/intlayer/blob/main/docs/docs/tr/packages/react-intlayer/useLocale.md) bakın.
625
641
 
626
642
  ### (İsteğe Bağlı) Adım 7: Uygulamanıza Yerelleştirilmiş Yönlendirme Ekleyin
627
643
 
628
- Bu adımın amacı, her dil için benzersiz rotalar oluşturmaktır. Bu, SEO ve SEO dostu URL'ler için kullanışlıdır.
644
+ Bu adımın amacı, her dil için benzersiz rotalar oluşturmaktır. Bu, SEO ve SEO dostu URL'ler için faydalıdır.
629
645
  Örnek:
630
646
 
631
647
  ```plaintext
@@ -639,82 +655,10 @@ Bu adımın amacı, her dil için benzersiz rotalar oluşturmaktır. Bu, SEO ve
639
655
  Uygulamanıza yerelleştirilmiş yönlendirme eklemek için, uygulamanızın rotalarını saran ve yerel ayar tabanlı yönlendirmeyi yöneten bir `LocaleRouter` bileşeni oluşturabilirsiniz. [React Router](https://reactrouter.com/home) kullanarak bir örnek aşağıda verilmiştir:
640
656
 
641
657
  ```tsx fileName="src/components/LocaleRouter.tsx" codeFormat="typescript"
642
- // Gerekli bağımlılıkları ve işlevleri içe aktar
643
- import { type Locales, configuration, getPathWithoutLocale } from "intlayer"; // Intlayer'dan yardımcı işlevler ve türler
658
+ import { localeMap } from "intlayer"; // Intlayer'dan yardımcı işlevler ve türler
644
659
  import type { FC, PropsWithChildren } from "react"; // React türleri işlevsel bileşenler ve props için
645
660
  import { IntlayerProvider } from "react-intlayer"; // Uluslararasılaştırma bağlam sağlayıcısı
646
- import {
647
- BrowserRouter,
648
- Routes,
649
- Route,
650
- Navigate,
651
- useLocation,
652
- } from "react-router-dom"; // Navigasyonu yönetmek için yönlendirici bileşenleri
653
-
654
- // Intlayer'dan yapılandırmayı çıkar
655
- const { internationalization, middleware } = configuration;
656
- const { locales, defaultLocale } = internationalization;
657
-
658
- /**
659
- * Yerelleştirme ve uygun yerel ayar bağlamıyla çocukları saran bir bileşen.
660
- * URL tabanlı yerel ayar algılama ve doğrulama yönetir.
661
- */
662
- const AppLocalized: FC<PropsWithChildren<{ locale: Locales }>> = ({
663
- children,
664
- locale,
665
- }) => {
666
- const { pathname, search } = useLocation(); // Geçerli URL yolunu al
667
-
668
- // Sağlanmadıysa varsayılan yerel ayara geri dön
669
- const currentLocale = locale ?? defaultLocale;
670
-
671
- // Temel bir yol oluşturmak için yoldan yerel ayar önekini kaldır
672
- const pathWithoutLocale = getPathWithoutLocale(
673
- pathname // Geçerli URL yolu
674
- );
675
-
676
- /**
677
- * middleware.prefixDefault true ise, varsayılan yerel ayar her zaman öneklenmelidir.
678
- */
679
- if (middleware.prefixDefault) {
680
- // Yerel ayarı doğrula
681
- if (!locale || !locales.includes(locale)) {
682
- // Güncellenmiş yol ile varsayılan yerel ayara yönlendir
683
- return (
684
- <Navigate
685
- to={`/${defaultLocale}/${pathWithoutLocale}${search}`}
686
- replace // Geçerli geçmiş girişini yenisiyle değiştir
687
- />
688
- );
689
- }
690
-
691
- // Geçerli yerel ayarı ayarlayarak çocukları IntlayerProvider ile sar
692
- return (
693
- <IntlayerProvider locale={currentLocale}>{children}</IntlayerProvider>
694
- );
695
- } else {
696
- /**
697
- * middleware.prefixDefault false olduğunda, varsayılan yerel ayar öneklenmez.
698
- * Geçerli yerel ayar geçerli olduğundan ve varsayılan yerel ayar olmadığından emin ol.
699
- */
700
- if (
701
- currentLocale.toString() !== defaultLocale.toString() &&
702
- !locales
703
- .filter(
704
- (locale) => locale.toString() !== defaultLocale.toString() // Varsayılan yerel ayarı hariç tut
705
- )
706
- .includes(currentLocale) // Geçerli yerel ayar geçerli yerel ayarlar listesinde mi kontrol et
707
- ) {
708
- // Yerel ayar öneki olmadan yola yönlendir
709
- return <Navigate to={`${pathWithoutLocale}${search}`} replace />;
710
- }
711
-
712
- // Geçerli yerel ayarı ayarlayarak çocukları IntlayerProvider ile sar
713
- return (
714
- <IntlayerProvider locale={currentLocale}>{children}</IntlayerProvider>
715
- );
716
- }
717
- };
661
+ import { BrowserRouter, Route, Routes } from "react-router-dom"; // Navigasyonu yönetmek için yönlendirici bileşenleri
718
662
 
719
663
  /**
720
664
  * Yerel ayar özel rotaları ayarlayan bir yönlendirici bileşen.
@@ -723,256 +667,81 @@ const AppLocalized: FC<PropsWithChildren<{ locale: Locales }>> = ({
723
667
  export const LocaleRouter: FC<PropsWithChildren> = ({ children }) => (
724
668
  <BrowserRouter>
725
669
  <Routes>
726
- {locales
727
- .filter(
728
- (locale) => middleware.prefixDefault || locale !== defaultLocale
729
- )
730
- .map((locale) => (
731
- <Route
732
- // Yerel ayarı yakalayan rota deseni (örneğin, /en/, /fr/) ve sonraki tüm yolları eşleştir
733
- path={`/${locale}/*`}
734
- key={locale}
735
- element={<AppLocalized locale={locale}>{children}</AppLocalized>} // Yerel ayar yönetimiyle çocukları sar
736
- />
737
- ))}
738
-
739
- {
740
- // Varsayılan yerel ayar öneki devre dışı bırakılmışsa, kök yolda çocukları doğrudan işle
741
- !middleware.prefixDefault && (
742
- <Route
743
- path="*"
744
- element={
745
- <AppLocalized locale={defaultLocale}>{children}</AppLocalized>
746
- } // Yerel ayar yönetimiyle çocukları sar
747
- />
748
- )
749
- }
670
+ {localeMap(({ locale, urlPrefix }) => (
671
+ <Route
672
+ // Yerel ayarı yakalayan rota deseni (örneğin, /en/, /fr/) ve sonraki tüm yolları eşleştir
673
+ path={`${urlPrefix}/*`}
674
+ key={locale}
675
+ element={
676
+ <IntlayerProvider locale={locale}>{children}</IntlayerProvider>
677
+ } // Yerel ayar yönetimiyle çocukları sar
678
+ />
679
+ ))}
750
680
  </Routes>
751
681
  </BrowserRouter>
752
682
  );
753
683
  ```
754
684
 
755
685
  ```jsx fileName="src/components/LocaleRouter.mjx" codeFormat="esm"
756
- // Gerekli bağımlılıkları ve işlevleri içe aktar
757
- import { configuration, getPathWithoutLocale } from "intlayer"; // Intlayer'dan yardımcı işlevler ve türler
758
- // Intlayer'dan yardımcı işlevler ve türler
759
- import { IntlayerProvider } from "react-intlayer"; // Uluslararasılaştırma bağlam sağlayıcısı
760
- import {
761
- BrowserRouter,
762
- Routes,
763
- Route,
764
- Navigate,
765
- useLocation,
766
- } from "react-router-dom"; // Navigasyonu yönetmek için yönlendirici bileşenleri
767
-
768
- // Intlayer'dan yapılandırmayı çıkar
769
- const { internationalization, middleware } = configuration;
770
- const { locales, defaultLocale } = internationalization;
771
-
772
- /**
773
- * Yerelleştirme ve uygun yerel ayar bağlamıyla çocukları saran bir bileşen.
774
- * URL tabanlı yerel ayar algılama ve doğrulama yönetir.
775
- */
776
- const AppLocalized = ({ children, locale }) => {
777
- const { pathname, search } = useLocation(); // Geçerli URL yolunu al
778
-
779
- // Sağlanmadıysa varsayılan yerel ayara geri dön
780
- const currentLocale = locale ?? defaultLocale;
781
-
782
- // Temel bir yol oluşturmak için yoldan yerel ayar önekini kaldır
783
- const pathWithoutLocale = getPathWithoutLocale(
784
- pathname // Geçerli URL yolu
785
- );
786
-
787
- /**
788
- * middleware.prefixDefault true ise, varsayılan yerel ayar her zaman öneklenmelidir.
789
- */
790
- if (middleware.prefixDefault) {
791
- // Yerel ayarı doğrula
792
- if (!locale || !locales.includes(locale)) {
793
- // Güncellenmiş yol ile varsayılan yerel ayara yönlendir
794
- return (
795
- <Navigate
796
- to={`/${defaultLocale}/${pathWithoutLocale}${search}`}
797
- replace // Geçerli geçmiş girişini yenisiyle değiştir
798
- />
799
- );
800
- }
801
-
802
- // Geçerli yerel ayarı ayarlayarak çocukları IntlayerProvider ile sar
803
- return (
804
- <IntlayerProvider locale={currentLocale}>{children}</IntlayerProvider>
805
- );
806
- } else {
807
- /**
808
- * middleware.prefixDefault false olduğunda, varsayılan yerel ayar öneklenmez.
809
- * Geçerli yerel ayar geçerli olduğundan ve varsayılan yerel ayar olmadığından emin ol.
810
- */
811
- if (
812
- currentLocale.toString() !== defaultLocale.toString() &&
813
- !locales
814
- .filter(
815
- (locale) => locale.toString() !== defaultLocale.toString() // Varsayılan yerel ayarı hariç tut
816
- )
817
- .includes(currentLocale) // Geçerli yerel ayar geçerli yerel ayarlar listesinde mi kontrol et
818
- ) {
819
- // Yerel ayar öneki olmadan yola yönlendir
820
- return <Navigate to={`${pathWithoutLocale}${search}`} replace />;
821
- }
822
-
823
- // Geçerli yerel ayarı ayarlayarak çocukları IntlayerProvider ile sar
824
- return (
825
- <IntlayerProvider locale={currentLocale}>{children}</IntlayerProvider>
826
- );
827
- }
828
- };
686
+ import { localeMap } from 'intlayer'; // Intlayer'dan yardımcı işlevler ve türler
687
+ import type { FC, PropsWithChildren } from 'react'; // React türleri işlevsel bileşenler ve props için
688
+ import { IntlayerProvider } from 'react-intlayer'; // Uluslararasılaştırma bağlam sağlayıcısı
689
+ import { BrowserRouter, Route, Routes } from 'react-router-dom'; // Navigasyonu yönetmek için yönlendirici bileşenleri
829
690
 
830
691
  /**
831
692
  * Yerel ayar özel rotaları ayarlayan bir yönlendirici bileşen.
832
693
  * React Router kullanarak navigasyonu yönetir ve yerelleştirilmiş bileşenleri işler.
833
694
  */
834
- export const LocaleRouter = ({ children }) => (
695
+ export const LocaleRouter: FC<PropsWithChildren> = ({ children }) => (
835
696
  <BrowserRouter>
836
697
  <Routes>
837
- {locales
838
- .filter(
839
- (locale) => middleware.prefixDefault || locale !== defaultLocale
840
- )
841
- .map((locale) => (
842
- <Route
843
- // Yerel ayarı yakalayan rota deseni (örneğin, /en/, /fr/) ve sonraki tüm yolları eşleştir
844
- path={`/${locale}/*`}
845
- key={locale}
846
- element={<AppLocalized locale={locale}>{children}</AppLocalized>} // Yerel ayar yönetimiyle çocukları sar
847
- />
848
- ))}
849
-
850
- {
851
- // Varsayılan yerel ayar öneki devre dışı bırakılmışsa, kök yolda çocukları doğrudan işle
852
- !middleware.prefixDefault && (
853
- <Route
854
- path="*"
855
- element={
856
- <AppLocalized locale={defaultLocale}>{children}</AppLocalized>
857
- } // Yerel ayar yönetimiyle çocukları sar
858
- />
859
- )
860
- }
698
+ {localeMap(({ locale, urlPrefix }) => (
699
+ <Route
700
+ // Yerel ayarı yakalayan rota deseni (örneğin, /en/, /fr/) ve sonraki tüm yolları eşleştir
701
+ path={`${urlPrefix}/*`}
702
+ key={locale}
703
+ element={
704
+ <IntlayerProvider locale={locale}>{children}</IntlayerProvider>
705
+ } // Yerel ayar yönetimiyle çocukları sar
706
+ />
707
+ ))}
861
708
  </Routes>
862
709
  </BrowserRouter>
863
710
  );
864
711
  ```
865
712
 
866
713
  ```jsx fileName="src/components/LocaleRouter.cjx" codeFormat="commonjs"
867
- // Gerekli bağımlılıkları ve işlevleri içe aktar
868
- const { configuration, getPathWithoutLocale } = require("intlayer"); // Intlayer'dan yardımcı işlevler ve türler
869
- const { IntlayerProvider, useLocale } = require("react-intlayer"); // Uluslararasılaştırma bağlam sağlayıcısı
870
- const {
871
- BrowserRouter,
872
- Routes,
873
- Route,
874
- Navigate,
875
- useLocation,
876
- } = require("react-router-dom"); // Navigasyonu yönetmek için yönlendirici bileşenleri
877
-
878
- // Intlayer'dan yapılandırmayı çıkar
879
- const { internationalization, middleware } = configuration;
880
- const { locales, defaultLocale } = internationalization;
881
-
882
- /**
883
- * Yerelleştirme ve uygun yerel ayar bağlamıyla çocukları saran bir bileşen.
884
- * URL tabanlı yerel ayar algılama ve doğrulama yönetir.
885
- */
886
- const AppLocalized = ({ children, locale }) => {
887
- const { pathname, search } = useLocation(); // Geçerli URL yolunu al
888
-
889
- // Sağlanmadıysa varsayılan yerel ayara geri dön
890
- const currentLocale = locale ?? defaultLocale;
891
-
892
- // Temel bir yol oluşturmak için yoldan yerel ayar önekini kaldır
893
- const pathWithoutLocale = getPathWithoutLocale(
894
- pathname // Geçerli URL yolu
895
- );
896
-
897
- /**
898
- * middleware.prefixDefault true ise, varsayılan yerel ayar her zaman öneklenmelidir.
899
- */
900
- if (middleware.prefixDefault) {
901
- // Yerel ayarı doğrula
902
- if (!locale || !locales.includes(locale)) {
903
- // Güncellenmiş yol ile varsayılan yerel ayara yönlendir
904
- return (
905
- <Navigate
906
- to={`/${defaultLocale}/${pathWithoutLocale}${search}`}
907
- replace // Geçerli geçmiş girişini yenisiyle değiştir
908
- />
909
- );
910
- }
911
-
912
- // Geçerli yerel ayarı ayarlayarak çocukları IntlayerProvider ile sar
913
- return (
914
- <IntlayerProvider locale={currentLocale}>{children}</IntlayerProvider>
915
- );
916
- } else {
917
- /**
918
- * middleware.prefixDefault false olduğunda, varsayılan yerel ayar öneklenmez.
919
- * Geçerli yerel ayar geçerli olduğundan ve varsayılan yerel ayar olmadığından emin ol.
920
- */
921
- if (
922
- currentLocale.toString() !== defaultLocale.toString() &&
923
- !locales
924
- .filter(
925
- (locale) => locale.toString() !== defaultLocale.toString() // Varsayılan yerel ayarı hariç tut
926
- )
927
- .includes(currentLocale) // Geçerli yerel ayar geçerli yerel ayarlar listesinde mi kontrol et
928
- ) {
929
- // Yerel ayar öneki olmadan yola yönlendir
930
- return <Navigate to={`${pathWithoutLocale}${search}`} replace />;
931
- }
932
-
933
- // Geçerli yerel ayarı ayarlayarak çocukları IntlayerProvider ile sar
934
- return (
935
- <IntlayerProvider locale={currentLocale}>{children}</IntlayerProvider>
936
- );
937
- }
938
- };
714
+ const { localeMap } = require("intlayer"); // Intlayer'dan yardımcı işlevler ve türler
715
+ const React = require("react"); // React'i içe aktar
716
+ const { IntlayerProvider } = require("react-intlayer"); // Uluslararasılaştırma bağlam sağlayıcısı
717
+ const { BrowserRouter, Route, Routes } = require("react-router-dom"); // Navigasyonu yönetmek için yönlendirici bileşenleri
939
718
 
940
719
  /**
941
720
  * Yerel ayar özel rotaları ayarlayan bir yönlendirici bileşen.
942
721
  * React Router kullanarak navigasyonu yönetir ve yerelleştirilmiş bileşenleri işler.
943
722
  */
944
- const LocaleRouter = ({ children }) => (
945
- <BrowserRouter>
946
- <Routes>
947
- {locales
948
- .filter(
949
- (locale) => middleware.prefixDefault || locale !== defaultLocale
950
- )
951
- .map((locale) => (
952
- <Route
953
- // Yerel ayarı yakalayan rota deseni (örneğin, /en/, /fr/) ve sonraki tüm yolları eşleştir
954
- path={`/${locale}/*`}
955
- key={locale}
956
- element={<AppLocalized locale={locale}>{children}</AppLocalized>} // Yerel ayar yönetimiyle çocukları sar
957
- />
958
- ))}
723
+ const LocaleRouter = ({ children }) =>
724
+ React.createElement(
725
+ BrowserRouter,
726
+ {},
727
+ React.createElement(
728
+ Routes,
729
+ {},
730
+ localeMap(({ locale, urlPrefix }) =>
731
+ React.createElement(Route, {
732
+ path: `${urlPrefix}/*`,
733
+ key: locale,
734
+ element: React.createElement(IntlayerProvider, { locale }, children),
735
+ })
736
+ )
737
+ )
738
+ );
959
739
 
960
- {
961
- // Varsayılan yerel ayar öneki devre dışı bırakılmışsa, kök yolda çocukları doğrudan işle
962
- !middleware.prefixDefault && (
963
- <Route
964
- path="*"
965
- element={
966
- <AppLocalized locale={defaultLocale}>{children}</AppLocalized>
967
- } // Yerel ayar yönetimiyle çocukları sar
968
- />
969
- )
970
- }
971
- </Routes>
972
- </BrowserRouter>
973
- );
740
+ exports.LocaleRouter = LocaleRouter;
974
741
  ```
975
742
 
743
+ > Not: `routing.mode: 'no-prefix' | 'search-params'` kullanıyorsanız, muhtemelen `localeMap` fonksiyonunu kullanmanıza gerek yoktur.
744
+
976
745
  Ardından, `LocaleRouter` bileşenini uygulamanızda kullanabilirsiniz:
977
746
 
978
747
  ```tsx fileName="src/App.tsx" codeFormat="typescript"
@@ -1012,9 +781,9 @@ const App = () => (
1012
781
  );
1013
782
  ```
1014
783
 
1015
- Paralel olarak, uygulamanıza sunucu tarafı yönlendirme eklemek için `intlayerProxy`'i de kullanabilirsiniz. Bu eklenti, URL'ye göre geçerli yerel ayarı otomatik olarak algılar ve uygun yerel ayar çerezini ayarlar. Hiç yerel ayar belirtilmezse, eklenti kullanıcının tarayıcı dil tercihlerine göre en uygun yerel ayarı belirler. Hiç yerel ayar algılanmazsa, varsayılan yerel ayara yönlendirir.
784
+ Paralel olarak, uygulamanıza sunucu tarafı yönlendirme eklemek için `intlayerProxy`'yi de kullanabilirsiniz. Bu eklenti, URL'ye göre geçerli yerel ayarı otomatik olarak algılar ve uygun yerel ayar çerezini ayarlar. Hiç yerel ayar belirtilmezse, eklenti kullanıcının tarayıcı dil tercihlerine göre en uygun yerel ayarı belirler. Hiç yerel ayar algılanmazsa, varsayılan yerel ayara yönlendirir.
1016
785
 
1017
- > Not: Üretimde `intlayerProxy`'i kullanmak için `vite-intlayer` paketini `devDependencies`'den `dependencies`'e taşımalısınız.
786
+ > Not: Üretimde `intlayerProxy`'i kullanmak için `vite-intlayer` paketini `devDependencies`'den `dependencies`'e taşımanız gerekir.
1018
787
 
1019
788
  ```typescript {3,7} fileName="vite.config.ts" codeFormat="typescript"
1020
789
  import { defineConfig } from "vite";
@@ -1051,7 +820,7 @@ module.exports = defineConfig({
1051
820
 
1052
821
  ### (İsteğe Bağlı) Adım 8: Yerel ayar değiştiğinde URL'yi değiştirin
1053
822
 
1054
- Yerel ayar değiştiğinde URL'yi değiştirmek için `useLocale` kancasından sağlanan `onLocaleChange` prop'unu kullanabilirsiniz. Paralel olarak, URL yolunu güncellemek için `useLocation` ve `useNavigate` kancalarını `react-router-dom`'dan kullanabilirsiniz.
823
+ Yerel ayar değiştiğinde URL'yi değiştirmek için `useLocale` kancasından sağlanan `onLocaleChange` prop'unu kullanabilirsiniz. Paralel olarak, URL yolunu güncellemek için `react-router-dom`'dan `useLocation` ve `useNavigate` kancalarını kullanabilirsiniz.
1055
824
 
1056
825
  ```tsx fileName="src/components/LocaleSwitcher.tsx" codeFormat="typescript"
1057
826
  import { useLocation, useNavigate } from "react-router-dom";
@@ -1263,7 +1032,7 @@ Aşağıda **güncellenmiş Adım 9** açıklamalar ve iyileştirilmiş kod örn
1263
1032
 
1264
1033
  ### (İsteğe Bağlı) Adım 9: HTML Dil ve Yön Niteliklerini Değiştirin
1265
1034
 
1266
- Uygulamanız birden fazla dili desteklediğinde, geçerli yerel ayar ile eşleşmesi için `<html>` etiketinin `lang` ve `dir` niteliklerini güncellemek önemlidir. Bunu yapmak şunları sağlar:
1035
+ Uygulamanız birden fazla dili desteklediğinde, geçerli yerel ayar ile eşleşmesi için `<html>` etiketinin `lang` ve `dir` niteliklerini güncellemek çok önemlidir. Bunu yapmak şunları sağlar:
1267
1036
 
1268
1037
  - **Erişilebilirlik**: Ekran okuyucular ve yardımcı teknolojiler, içeriği doğru şekilde telaffuz etmek ve yorumlamak için doğru `lang` niteliğine güvenir.
1269
1038
  - **Metin İşleme**: `dir` (yön) niteliği, metnin doğru sırada işlenmesini sağlar (örneğin, İngilizce için soldan sağa, Arapça veya İbranice için sağdan sola), okunabilirlik için gereklidir.
@@ -1277,13 +1046,13 @@ Geçerli yerel ayara göre HTML niteliklerini yöneten özel bir kanca oluşturu
1277
1046
 
1278
1047
  ```tsx fileName="src/hooks/useI18nHTMLAttributes.tsx" codeFormat="typescript"
1279
1048
  import { useEffect } from "react";
1280
- import { useLocale } from "react-intlayer";
1049
+ import { useLocale } from "intlayer";
1281
1050
  import { getHTMLTextDir } from "intlayer";
1282
1051
 
1283
1052
  /**
1284
1053
  * Geçerli yerel ayara göre HTML <html> etiketinin `lang` ve `dir` niteliklerini günceller.
1285
1054
  * - `lang`: Tarayıcılara ve arama motorlarına sayfanın dilini bildirir.
1286
- * - `dir`: Geçerli yerel ayara göre doğru okuma sırasını (örneğin, İngilizce için 'ltr', Arapça için 'rtl') sağlar.
1055
+ * - `dir`: Doğru okuma sırasını sağlar (örneğin, İngilizce için 'ltr', Arapça için 'rtl').
1287
1056
  *
1288
1057
  * Bu dinamik güncelleme, uygun metin işleme, erişilebilirlik ve SEO için gereklidir.
1289
1058
  */
@@ -1291,7 +1060,7 @@ export const useI18nHTMLAttributes = () => {
1291
1060
  const { locale } = useLocale();
1292
1061
 
1293
1062
  useEffect(() => {
1294
- // Geçerli yerel ayara dil niteliğini ayarla
1063
+ // Geçerli yerel ayara dil niteliğini güncelle
1295
1064
  document.documentElement.lang = locale;
1296
1065
 
1297
1066
  // Geçerli yerel ayara göre metin yönünü ayarla
@@ -1308,7 +1077,7 @@ import { getHTMLTextDir } from "intlayer";
1308
1077
  /**
1309
1078
  * Geçerli yerel ayara göre HTML <html> etiketinin `lang` ve `dir` niteliklerini günceller.
1310
1079
  * - `lang`: Tarayıcılara ve arama motorlarına sayfanın dilini bildirir.
1311
- * - `dir`: Geçerli yerel ayara göre doğru okuma sırasını (örneğin, İngilizce için 'ltr', Arapça için 'rtl') sağlar.
1080
+ * - `dir`: Doğru okuma sırasını sağlar (örneğin, İngilizce için 'ltr', Arapça için 'rtl').
1312
1081
  *
1313
1082
  * Bu dinamik güncelleme, uygun metin işleme, erişilebilirlik ve SEO için gereklidir.
1314
1083
  */
@@ -1316,10 +1085,10 @@ export const useI18nHTMLAttributes = () => {
1316
1085
  const { locale } = useLocale();
1317
1086
 
1318
1087
  useEffect(() => {
1319
- // Geçerli yerel ayara dil niteliğini ayarla
1088
+ // Dil niteliğini geçerli yerel ayara güncelle
1320
1089
  document.documentElement.lang = locale;
1321
1090
 
1322
- // Geçerli yerel ayara göre metin yönünü ayarla
1091
+ // Metin yönünü geçerli yerel ayara göre ayarla
1323
1092
  document.documentElement.dir = getHTMLTextDir(locale);
1324
1093
  }, [locale]);
1325
1094
  };
@@ -1327,13 +1096,13 @@ export const useI18nHTMLAttributes = () => {
1327
1096
 
1328
1097
  ```jsx fileName="src/hooks/useI18nHTMLAttributes.csx" codeFormat="commonjs"
1329
1098
  const { useEffect } = require("react");
1330
- const { useLocale } = require("react-intlayer";
1099
+ const { useLocale } = require("react-intlayer");
1331
1100
  const { getHTMLTextDir } = require("intlayer");
1332
1101
 
1333
1102
  /**
1334
1103
  * Geçerli yerel ayara göre HTML <html> etiketinin `lang` ve `dir` niteliklerini günceller.
1335
1104
  * - `lang`: Tarayıcılara ve arama motorlarına sayfanın dilini bildirir.
1336
- * - `dir`: Geçerli yerel ayara göre doğru okuma sırasını (örneğin, İngilizce için 'ltr', Arapça için 'rtl') sağlar.
1105
+ * - `dir`: Doğru okuma sırasını sağlar (örneğin, İngilizce için 'ltr', Arapça için 'rtl').
1337
1106
  *
1338
1107
  * Bu dinamik güncelleme, uygun metin işleme, erişilebilirlik ve SEO için gereklidir.
1339
1108
  */
@@ -1341,10 +1110,10 @@ const useI18nHTMLAttributes = () => {
1341
1110
  const { locale } = useLocale();
1342
1111
 
1343
1112
  useEffect(() => {
1344
- // Geçerli yerel ayara dil niteliğini ayarla
1113
+ // Dil niteliğini geçerli yerel ayara güncelle
1345
1114
  document.documentElement.lang = locale;
1346
1115
 
1347
- // Geçerli yerel ayara göre metin yönünü ayarla
1116
+ // Metin yönünü geçerli yerel ayara göre ayarla
1348
1117
  document.documentElement.dir = getHTMLTextDir(locale);
1349
1118
  }, [locale]);
1350
1119
  };
@@ -1427,15 +1196,15 @@ Bu değişiklikleri uygulayarak uygulamanız şunları sağlayacak:
1427
1196
  - **Metin yönü** (`dir`) niteliği, farklı okuma sıralarına sahip diller için okunabilirliği ve kullanılabilirliği geliştirecek.
1428
1197
  - Daha **erişilebilir** bir deneyim sağlayacak, çünkü yardımcı teknolojiler bu niteliklere optimum şekilde çalışmak için güvenir.
1429
1198
 
1430
- ### (İsteğe Bağlı) Adım 10: Yerelleştirilmiş Bağlantı Bileşeni Oluşturun
1199
+ ### (İsteğe Bağlı) Adım 10: Yerelleştirilmiş Bağlantı Bileşeni Oluşturma
1431
1200
 
1432
- Uygulamanızın navigasyonu geçerli yerel ayarı saygı gösterdiğinden emin olmak için özel bir `Link` bileşeni oluşturabilirsiniz. Bu bileşen dahili URL'leri otomatik olarak geçerli dille önekler, böylece. Örneğin, bir Fransızca konuşan kullanıcı "Hakkında" sayfasına giden bir bağlantıya tıkladığında, `/about` yerine `/fr/about`'a yönlendirilir.
1201
+ Uygulamanızın navigasyonunun geçerli yerel ayara uygun olmasını sağlamak için özel bir `Link` bileşeni oluşturabilirsiniz. Bu bileşen, dahili URL'lerin önüne otomatik olarak geçerli dili ekler. Örneğin, Fransızca konuşan bir kullanıcı "Hakkında" sayfasına giden bir bağlantıya tıkladığında, `/about` yerine `/fr/about` adresine yönlendirilir.
1433
1202
 
1434
1203
  Bu davranış çeşitli nedenlerle kullanışlıdır:
1435
1204
 
1436
- - **SEO ve Kullanıcı Deneyimi**: Yerelleştirilmiş URL'ler, arama motorlarının dil özel sayfalarını doğru şekilde indekslemesine yardımcı olur ve kullanıcılara tercih ettikleri dilde içerik sunar.
1437
- - **Tutarlılık**: Uygulamanız boyunca yerelleştirilmiş bir bağlantı kullanarak, navigasyonun aynı yerel ayar bağlamında kalmasını garanti edersiniz, beklenmedik dil anahtarlarını önlersiniz.
1438
- - **Bakım Kolaylığı**: URL mantığını tek bir bileşende merkezileştirmek, yönetimini basitleştirir, uygulamanız büyüdükçe kod tabanınızı daha kolay yönetilebilir hale getirir.
1205
+ - **SEO ve Kullanıcı Deneyimi**: Yerelleştirilmiş URL'ler, arama motorlarının dil özelindeki sayfaları doğru şekilde indekslemesine yardımcı olur ve kullanıcılara tercih ettikleri dilde içerik sunar.
1206
+ - **Tutarlılık**: Uygulamanız boyunca yerelleştirilmiş bir bağlantı kullanarak, gezinmenin mevcut yerel ayar içinde kalmasını garanti eder, beklenmedik dil değişimlerini önlersiniz.
1207
+ - **Bakım Kolaylığı**: Yerelleştirme mantığını tek bir bileşende merkezileştirmek, URL yönetimini basitleştirir ve uygulamanız büyüdükçe kod tabanınızı daha kolay yönetilebilir ve genişletilebilir hale getirir.
1439
1208
 
1440
1209
  Aşağıda TypeScript'te yerelleştirilmiş bir `Link` bileşeninin uygulanması verilmiştir:
1441
1210
 
@@ -1448,30 +1217,29 @@ import {
1448
1217
  } from "react";
1449
1218
  import { useLocale } from "react-intlayer";
1450
1219
 
1451
- export interface LinkProps
1452
- extends DetailedHTMLProps<
1453
- AnchorHTMLAttributes<HTMLAnchorElement>,
1454
- HTMLAnchorElement
1455
- > {}
1220
+ export interface LinkProps extends DetailedHTMLProps<
1221
+ AnchorHTMLAttributes<HTMLAnchorElement>,
1222
+ HTMLAnchorElement
1223
+ > {}
1456
1224
 
1457
1225
  /**
1458
- * Verilen URL'nin harici olup olmadığını belirleyen yardımcı işlev.
1459
- * URL http:// veya https:// ile başlıyorsa harici olarak kabul edilir.
1226
+ * Verilen URL'nin harici olup olmadığını kontrol eden yardımcı işlev.
1227
+ * URL http:// veya https:// ile başlıyorsa, harici olarak kabul edilir.
1460
1228
  */
1461
1229
  export const checkIsExternalLink = (href?: string): boolean =>
1462
1230
  /^https?:\/\//.test(href ?? "");
1463
1231
 
1464
1232
  /**
1465
- * Geçerli yerel ayara göre href niteliğini uyarlayan özel bir Link bileşeni.
1466
- * Dahili bağlantılar için `getLocalizedUrl` kullanarak URL'yi yerel ayar ile önekler (örneğin, /fr/about).
1467
- * Bu, navigasyonun aynı yerel ayar bağlamında kalmasını sağlar.
1233
+ * Geçerli yerel ayara göre href özniteliğini uyarlayan özel bir Link bileşeni.
1234
+ * Dahili bağlantılar için, URL'yi yerel ayar ile öneklemek üzere `getLocalizedUrl` kullanır (örneğin, /fr/about).
1235
+ * Bu, gezinmenin aynı yerel bağlamda kalmasını sağlar.
1468
1236
  */
1469
1237
  export const Link = forwardRef<HTMLAnchorElement, LinkProps>(
1470
1238
  ({ href, children, ...props }, ref) => {
1471
1239
  const { locale } = useLocale();
1472
1240
  const isExternalLink = checkIsExternalLink(href);
1473
1241
 
1474
- // Dahili bağlantıysa ve geçerli bir href sağlanmışsa, yerelleştirilmiş URL'yi al.
1242
+ // Bağlantı dahiliyse ve geçerli bir href sağlanmışsa, yerelleştirilmiş URL'yi al.
1475
1243
  const hrefI18n =
1476
1244
  href && !isExternalLink ? getLocalizedUrl(href, locale) : href;
1477
1245
 
@@ -1561,23 +1329,23 @@ Link.displayName = "Link";
1561
1329
 
1562
1330
  #### Nasıl Çalışır
1563
1331
 
1564
- - **Harici Bağlantıları Algılama**:
1332
+ - **Harici Bağlantıları Algılama**:
1565
1333
  Yardımcı işlev `checkIsExternalLink`, bir URL'nin harici olup olmadığını belirler. Harici bağlantılar değişmeden bırakılır çünkü yerelleştirmeye ihtiyaçları yoktur.
1566
1334
 
1567
- - **Geçerli Yerel Ayarı Alma**:
1335
+ - **Geçerli Yerel Ayarı Alma**:
1568
1336
  `useLocale` kancası geçerli yerel ayarı sağlar (örneğin, `fr` Fransızca için).
1569
1337
 
1570
- - **URL'yi Yerelleştirme**:
1571
- Dahili bağlantılar için (yani harici olmayan), `getLocalizedUrl`, URL'yi geçerli yerel ayar ile otomatik olarak önekler. Bu, `href` olarak `/about` geçildiğinde, kullanıcının Fransızca'da olduğu durumda `/fr/about`'a dönüştürülmesi anlamına gelir.
1338
+ - **URL'yi Yerelleştirme**:
1339
+ Dahili bağlantılar için (yani harici olmayan), `getLocalizedUrl` URL'yi geçerli yerel ayar ile otomatik olarak önekler. Bu, kullanıcınız Fransızca ise, `href` olarak `/about` geçildiğinde bunun `/fr/about`'a dönüşeceği anlamına gelir.
1572
1340
 
1573
- - **Bağlantıyı Döndürme**:
1341
+ - **Bağlantıyı Döndürme**:
1574
1342
  Bileşen, yerelleştirilmiş URL ile bir `<a>` etiketi döndürür, böylece navigasyon yerel ayar ile tutarlı kalır.
1575
1343
 
1576
- Bu `Link` bileşenini uygulamanız boyunca entegre ederek, dil farkındalığı olan tutarlı bir kullanıcı deneyimi sağlar ve aynı zamanda iyileştirilmiş SEO ve kullanılabilirlik avantajlarından yararlanırsınız.
1344
+ Bu `Link` bileşenini uygulamanız boyunca entegre ederek, dil farkındalığı olan tutarlı bir kullanıcı deneyimi sağlarsınız ve aynı zamanda iyileştirilmiş SEO ve kullanılabilirlik avantajlarından yararlanırsınız.
1577
1345
 
1578
1346
  ### TypeScript Yapılandırın
1579
1347
 
1580
- Intlayer, modül genişletmesi kullanarak TypeScript avantajlarından yararlanır.
1348
+ Intlayer, modül genişletmesi kullanarak TypeScript avantajlarından yararlanır ve kod tabanınızı daha güçlü hale getirir.
1581
1349
 
1582
1350
  ![Autocompletion](https://github.com/aymericzip/intlayer/blob/main/docs/assets/autocompletion.png?raw=true)
1583
1351
 
@@ -1597,9 +1365,9 @@ Otomatik oluşturulan türleri TypeScript yapılandırmanıza dahil edin.
1597
1365
 
1598
1366
  ### Git Yapılandırması
1599
1367
 
1600
- Intlayer tarafından oluşturulan dosyaları Git deponuza kaydetmekten kaçınmak için bunları yok saymanız önerilir. Bu, bunları Git deponuza kaydetmekten kaçınmanıza olanak tanır.
1368
+ Intlayer tarafından oluşturulan dosyaların yok sayılması önerilir. Bu, bu dosyaların Git deponuza işlenmesini önlemenize olanak tanır.
1601
1369
 
1602
- Bunu yapmak için `.gitignore` dosyanıza aşağıdaki talimatları ekleyin:
1370
+ Bunu yapmak için `.gitignore` dosyanıza aşağıdaki talimatları ekleyebilirsiniz:
1603
1371
 
1604
1372
  ```plaintext
1605
1373
  # Intlayer tarafından oluşturulan dosyaları yok say
@@ -1608,23 +1376,21 @@ Bunu yapmak için `.gitignore` dosyanıza aşağıdaki talimatları ekleyin:
1608
1376
 
1609
1377
  ### VS Code Uzantısı
1610
1378
 
1611
- Intlayer ile geliştirme deneyiminizi iyileştirmek için resmi **Intlayer VS Code Uzantısı**'nı kurun.
1379
+ Intlayer ile geliştirme deneyiminizi iyileştirmek için resmi **Intlayer VS Code Uzantısı**'nı kurabilirsiniz.
1612
1380
 
1613
1381
  [VS Code Marketplace'ten yükleyin](https://marketplace.visualstudio.com/items?itemName=intlayer.intlayer-vs-code-extension)
1614
1382
 
1615
1383
  Bu uzantı şunları sağlar:
1616
1384
 
1617
1385
  - **Çeviri anahtarları için otomatik tamamlama**.
1618
- - **Eksik çeviriler için gerçek zamanlı hata algılama**.
1386
+ - **Eksik çeviriler için gerçek zamanlı hata tespiti**.
1619
1387
  - **Çevrilmiş içeriğin satır içi önizlemeleri**.
1620
- - **Çevirileri kolayca oluşturmak ve güncellemek için hızlı eylemler**.
1388
+ - **Çevirileri kolayca oluşturmak ve güncellemek için hızlı işlemler**.
1621
1389
 
1622
- Uzantıyı kullanma hakkında daha fazla ayrıntı için [Intlayer VS Code Uzantısı dokümantasyonuna](https://intlayer.org/doc/vs-code-extension) bakın.
1390
+ Uzantının nasıl kullanılacağına dair daha fazla ayrıntı için [Intlayer VS Code Uzantısı dokümantasyonuna](https://intlayer.org/doc/vs-code-extension) bakın.
1623
1391
 
1624
1392
  ---
1625
1393
 
1626
1394
  ### Daha Fazla İlerle
1627
1395
 
1628
- Daha fazla ilerlemek için [görsel düzenleyici](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/intlayer_visual_editor.md) veya içeriğinizi [CMS](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/intlayer_CMS.md) kullanarak dışa aktarmayı uygulayabilirsiniz.
1629
-
1630
- ---
1396
+ Daha ileri gitmek için [görsel düzenleyiciyi](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.