@jjlmoya/utils-finance 1.30.0 → 1.32.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (215) hide show
  1. package/package.json +1 -1
  2. package/src/category/i18n/en.ts +1 -1
  3. package/src/category/i18n/es.ts +4 -4
  4. package/src/category/i18n/fr.ts +159 -159
  5. package/src/category/i18n/pl.ts +1 -1
  6. package/src/category/i18n/ru.ts +158 -158
  7. package/src/category/index.ts +39 -38
  8. package/src/category/seo.astro +1 -1
  9. package/src/components/PreviewNavSidebar.astro +1 -1
  10. package/src/components/PreviewToolbar.astro +1 -1
  11. package/src/data.ts +1 -1
  12. package/src/entries.ts +4 -1
  13. package/src/env.d.ts +1 -1
  14. package/src/index.ts +1 -0
  15. package/src/layouts/PreviewLayout.astro +113 -113
  16. package/src/pages/index.astro +1 -1
  17. package/src/tests/bibliography_wellformed_export.test.ts +46 -0
  18. package/src/tests/category_seo_quality.test.ts +76 -0
  19. package/src/tests/faq_count.test.ts +1 -1
  20. package/src/tests/locale_completeness.test.ts +2 -2
  21. package/src/tests/mocks/astro_mock.js +1 -1
  22. package/src/tests/no_h1_in_components.test.ts +1 -1
  23. package/src/tests/script_density.test.ts +94 -94
  24. package/src/tests/seo_length.test.ts +23 -23
  25. package/src/tests/seo_translation_completeness.test.ts +69 -0
  26. package/src/tests/seo_wellformed_export.test.ts +65 -0
  27. package/src/tests/tool_validation.test.ts +17 -17
  28. package/src/tool/compoundInterest/compound-interest-calculator.css +236 -236
  29. package/src/tool/compoundInterest/entry.ts +32 -32
  30. package/src/tool/compoundInterest/i18n/de.ts +195 -195
  31. package/src/tool/compoundInterest/i18n/fr.ts +195 -195
  32. package/src/tool/compoundInterest/i18n/it.ts +195 -195
  33. package/src/tool/compoundInterest/i18n/pl.ts +194 -194
  34. package/src/tool/compoundInterest/i18n/ru.ts +195 -195
  35. package/src/tool/compoundInterest/i18n/tr.ts +195 -195
  36. package/src/tool/compoundInterest/i18n/zh.ts +189 -189
  37. package/src/tool/compoundInterest/seo.astro +15 -15
  38. package/src/tool/courtFeeCalculator/i18n/it.ts +158 -158
  39. package/src/tool/courtFeeCalculator/i18n/ru.ts +158 -158
  40. package/src/tool/courtFeeCalculator/i18n/tr.ts +158 -158
  41. package/src/tool/courtFeeCalculator/seo.astro +15 -15
  42. package/src/tool/courtFeeCalculator/spanish-court-fees-calculator.css +197 -197
  43. package/src/tool/debtSnowball/bibliography.ts +12 -12
  44. package/src/tool/debtSnowball/i18n/de.ts +16 -16
  45. package/src/tool/debtSnowball/i18n/id.ts +16 -16
  46. package/src/tool/debtSnowball/i18n/it.ts +168 -168
  47. package/src/tool/debtSnowball/i18n/nl.ts +16 -16
  48. package/src/tool/debtSnowball/i18n/pl.ts +168 -168
  49. package/src/tool/debtSnowball/i18n/pt.ts +1 -1
  50. package/src/tool/debtSnowball/i18n/ru.ts +1 -1
  51. package/src/tool/debtSnowball/i18n/sv.ts +22 -29
  52. package/src/tool/debtSnowball/i18n/tr.ts +168 -168
  53. package/src/tool/debtSnowball/i18n/zh.ts +168 -168
  54. package/src/tool/debtSnowball/seo.astro +15 -15
  55. package/src/tool/dividendYield/bibliography.astro +14 -0
  56. package/src/tool/dividendYield/bibliography.ts +12 -0
  57. package/src/tool/dividendYield/component.astro +83 -0
  58. package/src/tool/dividendYield/controller.ts +85 -0
  59. package/src/tool/dividendYield/dividend-yield-calculator.css +352 -0
  60. package/src/tool/dividendYield/dom-views.ts +58 -0
  61. package/src/tool/dividendYield/entry.ts +29 -0
  62. package/src/tool/dividendYield/evaluator.ts +16 -0
  63. package/src/tool/dividendYield/i18n/de.ts +53 -0
  64. package/src/tool/dividendYield/i18n/en.ts +138 -0
  65. package/src/tool/dividendYield/i18n/es.ts +49 -0
  66. package/src/tool/dividendYield/i18n/fr.ts +49 -0
  67. package/src/tool/dividendYield/i18n/id.ts +49 -0
  68. package/src/tool/dividendYield/i18n/it.ts +49 -0
  69. package/src/tool/dividendYield/i18n/ja.ts +49 -0
  70. package/src/tool/dividendYield/i18n/ko.ts +25 -0
  71. package/src/tool/dividendYield/i18n/nl.ts +25 -0
  72. package/src/tool/dividendYield/i18n/pl.ts +25 -0
  73. package/src/tool/dividendYield/i18n/pt.ts +25 -0
  74. package/src/tool/dividendYield/i18n/ru.ts +25 -0
  75. package/src/tool/dividendYield/i18n/sv.ts +25 -0
  76. package/src/tool/dividendYield/i18n/tr.ts +25 -0
  77. package/src/tool/dividendYield/i18n/zh.ts +25 -0
  78. package/src/tool/dividendYield/index.ts +11 -0
  79. package/src/tool/dividendYield/logic.test.ts +73 -0
  80. package/src/tool/dividendYield/logic.ts +55 -0
  81. package/src/tool/dividendYield/seo.astro +14 -0
  82. package/src/tool/dividendYield/storage.ts +24 -0
  83. package/src/tool/dividendYield/ui.ts +33 -0
  84. package/src/tool/financialFreedom/financial-freedom-calculator.css +311 -311
  85. package/src/tool/financialFreedom/i18n/en.ts +182 -182
  86. package/src/tool/financialFreedom/i18n/fr.ts +128 -128
  87. package/src/tool/financialFreedom/i18n/id.ts +24 -7
  88. package/src/tool/financialFreedom/i18n/it.ts +24 -7
  89. package/src/tool/financialFreedom/i18n/ja.ts +1 -1
  90. package/src/tool/financialFreedom/i18n/nl.ts +24 -7
  91. package/src/tool/financialFreedom/i18n/pl.ts +24 -7
  92. package/src/tool/financialFreedom/i18n/pt.ts +24 -7
  93. package/src/tool/financialFreedom/i18n/ru.ts +128 -128
  94. package/src/tool/financialFreedom/i18n/sv.ts +1 -1
  95. package/src/tool/financialFreedom/i18n/tr.ts +2 -2
  96. package/src/tool/financialFreedom/i18n/zh.ts +128 -128
  97. package/src/tool/fireCalculator/i18n/it.ts +241 -241
  98. package/src/tool/fireCalculator/i18n/ru.ts +241 -241
  99. package/src/tool/fireCalculator/i18n/tr.ts +241 -241
  100. package/src/tool/fireCalculator/i18n/zh.ts +241 -241
  101. package/src/tool/fireCalculator/seo.astro +15 -15
  102. package/src/tool/ibanBicSwiftConverter/i18n/fr.ts +151 -151
  103. package/src/tool/ibanBicSwiftConverter/i18n/it.ts +118 -118
  104. package/src/tool/ibanBicSwiftConverter/i18n/ru.ts +118 -118
  105. package/src/tool/ibanBicSwiftConverter/i18n/tr.ts +118 -118
  106. package/src/tool/ibanBicSwiftConverter/iban-to-bic-swift-converter.css +366 -366
  107. package/src/tool/ibanBicSwiftConverter/seo.astro +15 -15
  108. package/src/tool/inflation/bibliography.ts +20 -20
  109. package/src/tool/inflation/entry.ts +32 -32
  110. package/src/tool/inflation/i18n/de.ts +284 -284
  111. package/src/tool/inflation/i18n/fr.ts +284 -284
  112. package/src/tool/inflation/i18n/it.ts +284 -284
  113. package/src/tool/inflation/i18n/nl.ts +284 -284
  114. package/src/tool/inflation/i18n/pl.ts +284 -284
  115. package/src/tool/inflation/i18n/pt.ts +284 -284
  116. package/src/tool/inflation/i18n/ru.ts +284 -284
  117. package/src/tool/inflation/i18n/sv.ts +284 -284
  118. package/src/tool/inflation/i18n/tr.ts +284 -284
  119. package/src/tool/inflation/i18n/zh.ts +284 -284
  120. package/src/tool/inflation/seo.astro +15 -15
  121. package/src/tool/lateInterest/bibliography.ts +16 -16
  122. package/src/tool/lateInterest/entry.ts +32 -32
  123. package/src/tool/lateInterest/i18n/de.ts +213 -213
  124. package/src/tool/lateInterest/i18n/es.ts +213 -213
  125. package/src/tool/lateInterest/i18n/it.ts +213 -213
  126. package/src/tool/lateInterest/i18n/nl.ts +213 -213
  127. package/src/tool/lateInterest/i18n/pl.ts +213 -213
  128. package/src/tool/lateInterest/i18n/pt.ts +213 -213
  129. package/src/tool/lateInterest/i18n/ru.ts +213 -213
  130. package/src/tool/lateInterest/i18n/sv.ts +213 -213
  131. package/src/tool/lateInterest/i18n/tr.ts +213 -213
  132. package/src/tool/lateInterest/i18n/zh.ts +213 -213
  133. package/src/tool/lateInterest/seo.astro +15 -15
  134. package/src/tool/legalInterestRate/i18n/it.ts +129 -129
  135. package/src/tool/legalInterestRate/i18n/ru.ts +129 -129
  136. package/src/tool/legalInterestRate/i18n/tr.ts +128 -121
  137. package/src/tool/legalInterestRate/i18n/zh.ts +11 -4
  138. package/src/tool/legalInterestRate/seo.astro +15 -15
  139. package/src/tool/lotteryOptimizer/i18n/it.ts +163 -163
  140. package/src/tool/lotteryOptimizer/i18n/pl.ts +163 -163
  141. package/src/tool/lotteryOptimizer/i18n/ru.ts +163 -163
  142. package/src/tool/lotteryOptimizer/i18n/tr.ts +163 -163
  143. package/src/tool/lotteryOptimizer/i18n/zh.ts +162 -155
  144. package/src/tool/lotteryOptimizer/seo.astro +15 -15
  145. package/src/tool/mortgage/bibliography.ts +20 -20
  146. package/src/tool/mortgage/entry.ts +32 -32
  147. package/src/tool/mortgage/i18n/de.ts +210 -210
  148. package/src/tool/mortgage/i18n/es.ts +210 -210
  149. package/src/tool/mortgage/i18n/fr.ts +210 -210
  150. package/src/tool/mortgage/i18n/id.ts +210 -210
  151. package/src/tool/mortgage/i18n/it.ts +210 -210
  152. package/src/tool/mortgage/i18n/nl.ts +210 -210
  153. package/src/tool/mortgage/i18n/pl.ts +210 -210
  154. package/src/tool/mortgage/i18n/ru.ts +210 -210
  155. package/src/tool/mortgage/i18n/tr.ts +210 -210
  156. package/src/tool/mortgage/i18n/zh.ts +210 -210
  157. package/src/tool/mortgage/mortgage-calculator.css +595 -595
  158. package/src/tool/mortgage/seo.astro +15 -15
  159. package/src/tool/percentageCalculator/bibliography.ts +16 -16
  160. package/src/tool/percentageCalculator/entry.ts +32 -32
  161. package/src/tool/percentageCalculator/i18n/de.ts +220 -220
  162. package/src/tool/percentageCalculator/i18n/en.ts +220 -220
  163. package/src/tool/percentageCalculator/i18n/es.ts +220 -220
  164. package/src/tool/percentageCalculator/i18n/fr.ts +220 -220
  165. package/src/tool/percentageCalculator/i18n/it.ts +220 -220
  166. package/src/tool/percentageCalculator/i18n/pl.ts +220 -220
  167. package/src/tool/percentageCalculator/i18n/ru.ts +220 -220
  168. package/src/tool/percentageCalculator/i18n/tr.ts +220 -220
  169. package/src/tool/percentageCalculator/i18n/zh.ts +220 -220
  170. package/src/tool/percentageCalculator/seo.astro +15 -15
  171. package/src/tool/profitability/i18n/de.ts +24 -7
  172. package/src/tool/profitability/i18n/fr.ts +121 -104
  173. package/src/tool/profitability/i18n/id.ts +2 -2
  174. package/src/tool/profitability/i18n/it.ts +24 -7
  175. package/src/tool/profitability/i18n/ja.ts +1 -1
  176. package/src/tool/profitability/i18n/nl.ts +24 -7
  177. package/src/tool/profitability/i18n/pl.ts +1 -1
  178. package/src/tool/profitability/i18n/pt.ts +24 -7
  179. package/src/tool/profitability/i18n/ru.ts +118 -118
  180. package/src/tool/profitability/i18n/sv.ts +1 -1
  181. package/src/tool/profitability/i18n/tr.ts +1 -1
  182. package/src/tool/profitability/i18n/zh.ts +118 -118
  183. package/src/tool/profitability/profitability-calculator.css +229 -229
  184. package/src/tool/rentIncreaseCalculator/i18n/it.ts +125 -125
  185. package/src/tool/rentIncreaseCalculator/i18n/tr.ts +125 -125
  186. package/src/tool/rentIncreaseCalculator/rent-increase-calculator.css +326 -326
  187. package/src/tool/rentIncreaseCalculator/seo.astro +15 -15
  188. package/src/tool/revolvingCardCalculator/i18n/de.ts +38 -20
  189. package/src/tool/revolvingCardCalculator/i18n/es.ts +19 -18
  190. package/src/tool/revolvingCardCalculator/i18n/fr.ts +32 -28
  191. package/src/tool/revolvingCardCalculator/i18n/id.ts +18 -18
  192. package/src/tool/revolvingCardCalculator/i18n/it.ts +18 -18
  193. package/src/tool/revolvingCardCalculator/i18n/ja.ts +2 -2
  194. package/src/tool/revolvingCardCalculator/i18n/ko.ts +2 -2
  195. package/src/tool/revolvingCardCalculator/i18n/nl.ts +22 -19
  196. package/src/tool/revolvingCardCalculator/i18n/pl.ts +2 -2
  197. package/src/tool/revolvingCardCalculator/i18n/pt.ts +2 -2
  198. package/src/tool/revolvingCardCalculator/i18n/ru.ts +2 -2
  199. package/src/tool/revolvingCardCalculator/i18n/sv.ts +2 -2
  200. package/src/tool/revolvingCardCalculator/i18n/tr.ts +2 -2
  201. package/src/tool/revolvingCardCalculator/i18n/zh.ts +6 -6
  202. package/src/tool/salaryEmployerCost/i18n/de.ts +10 -10
  203. package/src/tool/salaryEmployerCost/i18n/fr.ts +9 -9
  204. package/src/tool/salaryEmployerCost/i18n/id.ts +9 -9
  205. package/src/tool/salaryEmployerCost/i18n/it.ts +9 -9
  206. package/src/tool/salaryEmployerCost/i18n/ja.ts +1 -1
  207. package/src/tool/salaryEmployerCost/i18n/ko.ts +1 -1
  208. package/src/tool/salaryEmployerCost/i18n/nl.ts +2 -2
  209. package/src/tool/salaryEmployerCost/i18n/pl.ts +2 -2
  210. package/src/tool/salaryEmployerCost/i18n/pt.ts +2 -2
  211. package/src/tool/salaryEmployerCost/i18n/ru.ts +2 -2
  212. package/src/tool/salaryEmployerCost/i18n/sv.ts +2 -2
  213. package/src/tool/salaryEmployerCost/i18n/tr.ts +2 -2
  214. package/src/tool/salaryEmployerCost/i18n/zh.ts +2 -2
  215. package/src/tools.ts +2 -1
@@ -1,210 +1,210 @@
1
- import { bibliography } from '../bibliography'
2
- import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
3
- import type { ToolLocaleContent } from '../../../types';
4
- import type { MortgageUI } from '../ui';
5
-
6
- const slug = 'konut-kredisi-hesaplama';
7
- const title = 'Konut Kredisi Simülatörü ve Fransız Amortisman Tablosu';
8
- const description =
9
- 'Aylık kredi taksitinizi hesaplayın, ne kadar faiz ödeyeceğinizi öğrenin ve tüm ödeme planınızı anında görüntüleyin.';
10
-
11
- const faqData = [
12
- {
13
- question: 'Fransız amortisman sistemi nedir?',
14
- answer:
15
- 'En yaygın kullanılan sistemdir. Aylık taksit her zaman aynıdır, ancak başlangıçta ödemenizin neredeyse tamamı faize, çok azı ise ana paraya gider. Sonunda ise durum tam tersidir. Bu nedenle erken ödeme yapmak ilk yıllarda daha karlıdır.',
16
- },
17
- {
18
- question: '2026\'da sabit mi yoksa değişken faiz mi tercih edilmeli?',
19
- answer:
20
- 'Sabit faiz: Şimdi biraz daha fazla ödersiniz ama 30 yıl boyunca huzurla uyursunuz. Değişken faiz: Bugün daha ucuz olabilir, ancak faizler yükselirse taksitleriniz fırlayabilir. Bu, risk toleransınıza bağlıdır.',
21
- },
22
- {
23
- question: '10.000 TL erken ödeme yaparsam ne kadar tasarruf ederim?',
24
- answer:
25
- 'Zamana göre değişir. 200.000 TL\'lik %3 faizli bir kredinin 1. yılında ödeme yaparsanız 15.000 TL\'den fazla faiz tasarrufu sağlayabilirsiniz. 20. yılda yaparsanız tasarruf 2.000 TL\'yi zor bulur. Zamanlama kritiktir.',
26
- },
27
- {
28
- question: 'Maaşımın yüzde kaçını krediye ayırmalıyım?',
29
- answer:
30
- 'Genel tavsiye, aylık net gelirinizin %30-35\'ini (diğer borçlar dahil) geçmemesidir. Bu eşiğin aşılması, beklenmedik durumlarda temerrüt riskini önemli ölçüde artırır.',
31
- },
32
- ];
33
-
34
- const howToData = [
35
- {
36
- name: 'Kredi tutarını girin',
37
- text: 'Bankadan talep etmeniz gereken toplam tutarı yazın (peşinatınızı düştükten sonra).',
38
- },
39
- {
40
- name: 'Faiz oranını ayarlayın',
41
- text: 'Bankanın sunduğu yıllık faiz oranını girin. Sabit veya değişken faiz arasında karşılaştırma yapabilirsiniz.',
42
- },
43
- {
44
- name: 'Vade süresini seçin',
45
- text: 'Krediyi kaç yılda geri ödemek istediğinizi belirleyin. Yıl arttıkça taksit düşer ama toplamda daha fazla faiz ödersiniz.',
46
- },
47
- {
48
- name: 'Amortisman tablosunu inceleyin',
49
- text: 'Borcunuzun ay ay nasıl değiştiğini ve taksitinizin ne kadarının faiz, ne kadarının ana para ödemesine gittiğini kontrol edin.',
50
- },
51
- ];
52
-
53
- const faqSchema: WithContext<FAQPage> = {
54
- '@context': 'https://schema.org',
55
- '@type': 'FAQPage',
56
- mainEntity: faqData.map((item) => ({
57
- '@type': 'Question',
58
- name: item.question,
59
- acceptedAnswer: { '@type': 'Answer', text: item.answer },
60
- })),
61
- };
62
-
63
- const howToSchema: WithContext<HowTo> = {
64
- '@context': 'https://schema.org',
65
- '@type': 'HowTo',
66
- name: title,
67
- description,
68
- step: howToData.map((step, i) => ({
69
- '@type': 'HowToStep',
70
- position: i + 1,
71
- name: step.name,
72
- text: step.text,
73
- })),
74
- };
75
-
76
- const appSchema: WithContext<SoftwareApplication> = {
77
- '@context': 'https://schema.org',
78
- '@type': 'SoftwareApplication',
79
- name: title,
80
- description,
81
- applicationCategory: 'FinanceApplication',
82
- operatingSystem: 'All',
83
- offers: { '@type': 'Offer', price: '0', priceCurrency: 'TRY' },
84
- inLanguage: 'tr',
85
- };
86
-
87
- export const content: ToolLocaleContent<MortgageUI> = {
88
- slug,
89
- title,
90
- description,
91
- faq: faqData,
92
- bibliography,
93
-
94
- howTo: howToData,
95
- schemas: [faqSchema, howToSchema, appSchema],
96
- seo: [
97
- {
98
- type: 'title',
99
- text: 'Konut Kredisi Kapsamlı Rehberi: Fransız Sistemi ve Ödeme Planı',
100
- level: 2,
101
- },
102
- {
103
- type: 'paragraph',
104
- html: 'Konut kredisi muhtemelen hayatınızda alacağınız en büyük borçtur. Fransız amortisman sisteminin nasıl çalıştığını anlamak, size on binlerce lira tasarruf ettirebilecek akıllı kararlar vermeniz için çok önemlidir.',
105
- },
106
- {
107
- type: 'title',
108
- text: 'Fransız Sisteminin "Tuzağı": Taksit Kompozisyonunu Anlamak',
109
- level: 3,
110
- },
111
- {
112
- type: 'paragraph',
113
- html: 'Türkiye\'deki çoğu kredi <strong>Fransız Amortisman Sistemi</strong> (eşit taksitli) kullanır. Ana özelliği, aylık taksitin her zaman aynı olmasıdır (sabit faiz durumunda), ancak içindeki ana para ve faiz oranları zamanla köklü bir şekilde değişir.',
114
- },
115
- {
116
- type: 'tip',
117
- title: 'Taksitleriniz Nasıl Evrilir?',
118
- html: '<p><strong>Başlangıçta (1-10. Yıllar):</strong> Taksitin neredeyse tamamını FAİZ olarak ödersiniz ve çok az ana para eksilir. Örneğin %1 faizli bir kredide ilk ödemenizin büyük çoğunluğu faiz olabilir.</p><p><strong>Ortada (11-20. Yıllar):</strong> Oran kademeli olarak dengelenir.</p><p><strong>Sonda (21-30. Yıllar):</strong> Neredeyse tamamı ANA PARA ödemesine gider ve çok az faiz kalır.</p>',
119
- },
120
- {
121
- type: 'paragraph',
122
- html: 'Bu nedenle, <strong>kredi erken ödemesi</strong> yapacaksanız, bunu kredinin ilk yıllarında yapmak çok daha karlıdır. 1. yılda yapacağınız bir erken ödeme, 20. yılda yapacağınızdan çok daha fazla faiz yükünden kurtarır.',
123
- },
124
- {
125
- type: 'title',
126
- text: 'Krediye Ne Kadar Para Ayırmalıyım?',
127
- level: 3,
128
- },
129
- {
130
- type: 'paragraph',
131
- html: 'Genel tavsiye, kredi taksitlerinizin <strong>aylık net gelirinizin %30-35\'ini geçmemesidir</strong>. Bu eşiğin aşılması, iş kaybı, hastalık gibi durumlarda ödeme zorluğu riskini ciddi şekilde artırır.',
132
- },
133
- {
134
- type: 'title',
135
- text: '2026 Bağlamı: Sabit vs Değişken Faiz',
136
- level: 3,
137
- },
138
- {
139
- type: 'paragraph',
140
- html: 'Dalgalı faiz ortamında, <strong>Sabit Faiz</strong> veya <strong>Değişken Faiz</strong> arasında seçim yapmak, yıllık binlerce lira fark yaratabilecek stratejik bir karardır.',
141
- },
142
- {
143
- type: 'comparative',
144
- columns: 2,
145
- items: [
146
- {
147
- title: 'Sabit Faiz',
148
- description: 'Şimdi biraz daha fazla ödersiniz ama taksitinizin asla artmayacağını bilerek huzurla uyursunuz.',
149
- points: [
150
- '30 yıl boyunca öngörülebilir taksit',
151
- 'Faiz artışlarına karşı tam koruma',
152
- 'Belirsiz ekonomide iç huzuru',
153
- 'Dar bütçeler için ideal',
154
- ],
155
- },
156
- {
157
- title: 'Değişken Faiz',
158
- description: 'Bugün daha ucuz olabilir ancak ekonominizi piyasa dalgalanmalarına açık hale getirir.',
159
- highlight: true,
160
- points: [
161
- 'Daha düşük başlangıç taksiti',
162
- 'Faiz artış riski',
163
- 'Bütçe üzerinde ciddi olası etki',
164
- 'Sadece yüksek risk toleransı olanlar için',
165
- ],
166
- },
167
- ],
168
- },
169
- {
170
- type: 'tip',
171
- title: 'Sabit vs Değişken Kararı Profilinize Bağlıdır',
172
- html: '<p><strong>Sabit Faizi Seçin:</strong> Bütçeniz darsa, kesinlik arıyorsanız ve sürprizlerden hoşlanmıyorsanız.</p><p><strong>Değişken Faizi Seçin:</strong> Finansal tamponunuz varsa, faizlerin düşeceğine inanıyorsanız veya krediniz küçükse.',
173
- },
174
- ],
175
- ui: {
176
- labelTitle: 'Kredi Hesaplayıcı',
177
- labelLoanAmount: 'Kredi Tutarı',
178
- labelInterestRate: 'Faiz Oranı (%)',
179
- labelYears: 'Vade (Yıl)',
180
- labelMonthlyExtra: 'Aylık Ek Ödeme',
181
- labelMonthlyPayment: 'Aylık Taksit',
182
- labelMonthCount: 'ay',
183
- labelSavingsCard: 'Potansiyel Tasarrufunuz',
184
- labelSavingsInterest: 'Faiz Tasarrufu',
185
- labelSavingsTime: 'Zaman Kazancı',
186
- labelTimelineComparison: 'Zaman Karşılaştırması',
187
- labelTimelineOriginal: 'Orijinal Vade',
188
- labelTimelineOptimized: 'Erken Ödeme ile Vade',
189
- labelCostBreakdown: 'Toplam Maliyet Dağılımı',
190
- labelBorrowed: 'Ana Para',
191
- labelTotalBorrowed: 'Toplam Kredi',
192
- labelTotalInterest: 'Toplam Faiz',
193
- labelAmortizationTable: 'Ödeme Planı',
194
- labelTableHeader: 'Tüm tabloyu gör',
195
- labelViewAll: 'Hepsini gör',
196
- labelPaid: 'Kredi Ödendi',
197
- labelTableMonth: 'Ay',
198
- labelTableInterest: 'Faiz',
199
- labelTablePrincipal: 'Ana Para',
200
- labelTableExtra: 'Ekstra',
201
- labelTableBalance: 'Kalan Borç',
202
- labelMoreMonths: 'ay daha',
203
- labelMonth: 'Ay',
204
- currencySymbol: '₺',
205
- currencyCode: 'TRY',
206
- currencyLocale: 'tr-TR',
207
- monthPlural: 'ay',
208
- yearPlural: 'yıl',
209
- },
210
- };
1
+ import { bibliography } from '../bibliography'
2
+ import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
3
+ import type { ToolLocaleContent } from '../../../types';
4
+ import type { MortgageUI } from '../ui';
5
+
6
+ const slug = 'konut-kredisi-hesaplama';
7
+ const title = 'Konut Kredisi Simülatörü ve Fransız Amortisman Tablosu';
8
+ const description =
9
+ 'Aylık kredi taksitinizi hesaplayın, ne kadar faiz ödeyeceğinizi öğrenin ve tüm ödeme planınızı anında görüntüleyin.';
10
+
11
+ const faqData = [
12
+ {
13
+ question: 'Fransız amortisman sistemi nedir?',
14
+ answer:
15
+ 'En yaygın kullanılan sistemdir. Aylık taksit her zaman aynıdır, ancak başlangıçta ödemenizin neredeyse tamamı faize, çok azı ise ana paraya gider. Sonunda ise durum tam tersidir. Bu nedenle erken ödeme yapmak ilk yıllarda daha karlıdır.',
16
+ },
17
+ {
18
+ question: '2026\'da sabit mi yoksa değişken faiz mi tercih edilmeli?',
19
+ answer:
20
+ 'Sabit faiz: Şimdi biraz daha fazla ödersiniz ama 30 yıl boyunca huzurla uyursunuz. Değişken faiz: Bugün daha ucuz olabilir, ancak faizler yükselirse taksitleriniz fırlayabilir. Bu, risk toleransınıza bağlıdır.',
21
+ },
22
+ {
23
+ question: '10.000 TL erken ödeme yaparsam ne kadar tasarruf ederim?',
24
+ answer:
25
+ 'Zamana göre değişir. 200.000 TL\'lik %3 faizli bir kredinin 1. yılında ödeme yaparsanız 15.000 TL\'den fazla faiz tasarrufu sağlayabilirsiniz. 20. yılda yaparsanız tasarruf 2.000 TL\'yi zor bulur. Zamanlama kritiktir.',
26
+ },
27
+ {
28
+ question: 'Maaşımın yüzde kaçını krediye ayırmalıyım?',
29
+ answer:
30
+ 'Genel tavsiye, aylık net gelirinizin %30-35\'ini (diğer borçlar dahil) geçmemesidir. Bu eşiğin aşılması, beklenmedik durumlarda temerrüt riskini önemli ölçüde artırır.',
31
+ },
32
+ ];
33
+
34
+ const howToData = [
35
+ {
36
+ name: 'Kredi tutarını girin',
37
+ text: 'Bankadan talep etmeniz gereken toplam tutarı yazın (peşinatınızı düştükten sonra).',
38
+ },
39
+ {
40
+ name: 'Faiz oranını ayarlayın',
41
+ text: 'Bankanın sunduğu yıllık faiz oranını girin. Sabit veya değişken faiz arasında karşılaştırma yapabilirsiniz.',
42
+ },
43
+ {
44
+ name: 'Vade süresini seçin',
45
+ text: 'Krediyi kaç yılda geri ödemek istediğinizi belirleyin. Yıl arttıkça taksit düşer ama toplamda daha fazla faiz ödersiniz.',
46
+ },
47
+ {
48
+ name: 'Amortisman tablosunu inceleyin',
49
+ text: 'Borcunuzun ay ay nasıl değiştiğini ve taksitinizin ne kadarının faiz, ne kadarının ana para ödemesine gittiğini kontrol edin.',
50
+ },
51
+ ];
52
+
53
+ const faqSchema: WithContext<FAQPage> = {
54
+ '@context': 'https://schema.org',
55
+ '@type': 'FAQPage',
56
+ mainEntity: faqData.map((item) => ({
57
+ '@type': 'Question',
58
+ name: item.question,
59
+ acceptedAnswer: { '@type': 'Answer', text: item.answer },
60
+ })),
61
+ };
62
+
63
+ const howToSchema: WithContext<HowTo> = {
64
+ '@context': 'https://schema.org',
65
+ '@type': 'HowTo',
66
+ name: title,
67
+ description,
68
+ step: howToData.map((step, i) => ({
69
+ '@type': 'HowToStep',
70
+ position: i + 1,
71
+ name: step.name,
72
+ text: step.text,
73
+ })),
74
+ };
75
+
76
+ const appSchema: WithContext<SoftwareApplication> = {
77
+ '@context': 'https://schema.org',
78
+ '@type': 'SoftwareApplication',
79
+ name: title,
80
+ description,
81
+ applicationCategory: 'FinanceApplication',
82
+ operatingSystem: 'All',
83
+ offers: { '@type': 'Offer', price: '0', priceCurrency: 'TRY' },
84
+ inLanguage: 'tr',
85
+ };
86
+
87
+ export const content: ToolLocaleContent<MortgageUI> = {
88
+ slug,
89
+ title,
90
+ description,
91
+ faq: faqData,
92
+ bibliography,
93
+
94
+ howTo: howToData,
95
+ schemas: [faqSchema, howToSchema, appSchema],
96
+ seo: [
97
+ {
98
+ type: 'title',
99
+ text: 'Konut Kredisi Kapsamlı Rehberi: Fransız Sistemi ve Ödeme Planı',
100
+ level: 2,
101
+ },
102
+ {
103
+ type: 'paragraph',
104
+ html: 'Konut kredisi muhtemelen hayatınızda alacağınız en büyük borçtur. Fransız amortisman sisteminin nasıl çalıştığını anlamak, size on binlerce lira tasarruf ettirebilecek akıllı kararlar vermeniz için çok önemlidir.',
105
+ },
106
+ {
107
+ type: 'title',
108
+ text: 'Fransız Sisteminin "Tuzağı": Taksit Kompozisyonunu Anlamak',
109
+ level: 3,
110
+ },
111
+ {
112
+ type: 'paragraph',
113
+ html: 'Türkiye\'deki çoğu kredi <strong>Fransız Amortisman Sistemi</strong> (eşit taksitli) kullanır. Ana özelliği, aylık taksitin her zaman aynı olmasıdır (sabit faiz durumunda), ancak içindeki ana para ve faiz oranları zamanla köklü bir şekilde değişir.',
114
+ },
115
+ {
116
+ type: 'tip',
117
+ title: 'Taksitleriniz Nasıl Evrilir?',
118
+ html: '<p><strong>Başlangıçta (1-10. Yıllar):</strong> Taksitin neredeyse tamamını FAİZ olarak ödersiniz ve çok az ana para eksilir. Örneğin %1 faizli bir kredide ilk ödemenizin büyük çoğunluğu faiz olabilir.</p><p><strong>Ortada (11-20. Yıllar):</strong> Oran kademeli olarak dengelenir.</p><p><strong>Sonda (21-30. Yıllar):</strong> Neredeyse tamamı ANA PARA ödemesine gider ve çok az faiz kalır.</p>',
119
+ },
120
+ {
121
+ type: 'paragraph',
122
+ html: 'Bu nedenle, <strong>kredi erken ödemesi</strong> yapacaksanız, bunu kredinin ilk yıllarında yapmak çok daha karlıdır. 1. yılda yapacağınız bir erken ödeme, 20. yılda yapacağınızdan çok daha fazla faiz yükünden kurtarır.',
123
+ },
124
+ {
125
+ type: 'title',
126
+ text: 'Krediye Ne Kadar Para Ayırmalıyım?',
127
+ level: 3,
128
+ },
129
+ {
130
+ type: 'paragraph',
131
+ html: 'Genel tavsiye, kredi taksitlerinizin <strong>aylık net gelirinizin %30-35\'ini geçmemesidir</strong>. Bu eşiğin aşılması, iş kaybı, hastalık gibi durumlarda ödeme zorluğu riskini ciddi şekilde artırır.',
132
+ },
133
+ {
134
+ type: 'title',
135
+ text: '2026 Bağlamı: Sabit vs Değişken Faiz',
136
+ level: 3,
137
+ },
138
+ {
139
+ type: 'paragraph',
140
+ html: 'Dalgalı faiz ortamında, <strong>Sabit Faiz</strong> veya <strong>Değişken Faiz</strong> arasında seçim yapmak, yıllık binlerce lira fark yaratabilecek stratejik bir karardır.',
141
+ },
142
+ {
143
+ type: 'comparative',
144
+ columns: 2,
145
+ items: [
146
+ {
147
+ title: 'Sabit Faiz',
148
+ description: 'Şimdi biraz daha fazla ödersiniz ama taksitinizin asla artmayacağını bilerek huzurla uyursunuz.',
149
+ points: [
150
+ '30 yıl boyunca öngörülebilir taksit',
151
+ 'Faiz artışlarına karşı tam koruma',
152
+ 'Belirsiz ekonomide iç huzuru',
153
+ 'Dar bütçeler için ideal',
154
+ ],
155
+ },
156
+ {
157
+ title: 'Değişken Faiz',
158
+ description: 'Bugün daha ucuz olabilir ancak ekonominizi piyasa dalgalanmalarına açık hale getirir.',
159
+ highlight: true,
160
+ points: [
161
+ 'Daha düşük başlangıç taksiti',
162
+ 'Faiz artış riski',
163
+ 'Bütçe üzerinde ciddi olası etki',
164
+ 'Sadece yüksek risk toleransı olanlar için',
165
+ ],
166
+ },
167
+ ],
168
+ },
169
+ {
170
+ type: 'tip',
171
+ title: 'Sabit vs Değişken Kararı Profilinize Bağlıdır',
172
+ html: '<p><strong>Sabit Faizi Seçin:</strong> Bütçeniz darsa, kesinlik arıyorsanız ve sürprizlerden hoşlanmıyorsanız.</p><p><strong>Değişken Faizi Seçin:</strong> Finansal tamponunuz varsa, faizlerin düşeceğine inanıyorsanız veya krediniz küçükse.',
173
+ },
174
+ ],
175
+ ui: {
176
+ labelTitle: 'Kredi Hesaplayıcı',
177
+ labelLoanAmount: 'Kredi Tutarı',
178
+ labelInterestRate: 'Faiz Oranı (%)',
179
+ labelYears: 'Vade (Yıl)',
180
+ labelMonthlyExtra: 'Aylık Ek Ödeme',
181
+ labelMonthlyPayment: 'Aylık Taksit',
182
+ labelMonthCount: 'ay',
183
+ labelSavingsCard: 'Potansiyel Tasarrufunuz',
184
+ labelSavingsInterest: 'Faiz Tasarrufu',
185
+ labelSavingsTime: 'Zaman Kazancı',
186
+ labelTimelineComparison: 'Zaman Karşılaştırması',
187
+ labelTimelineOriginal: 'Orijinal Vade',
188
+ labelTimelineOptimized: 'Erken Ödeme ile Vade',
189
+ labelCostBreakdown: 'Toplam Maliyet Dağılımı',
190
+ labelBorrowed: 'Ana Para',
191
+ labelTotalBorrowed: 'Toplam Kredi',
192
+ labelTotalInterest: 'Toplam Faiz',
193
+ labelAmortizationTable: 'Ödeme Planı',
194
+ labelTableHeader: 'Tüm tabloyu gör',
195
+ labelViewAll: 'Hepsini gör',
196
+ labelPaid: 'Kredi Ödendi',
197
+ labelTableMonth: 'Ay',
198
+ labelTableInterest: 'Faiz',
199
+ labelTablePrincipal: 'Ana Para',
200
+ labelTableExtra: 'Ekstra',
201
+ labelTableBalance: 'Kalan Borç',
202
+ labelMoreMonths: 'ay daha',
203
+ labelMonth: 'Ay',
204
+ currencySymbol: '₺',
205
+ currencyCode: 'TRY',
206
+ currencyLocale: 'tr-TR',
207
+ monthPlural: 'ay',
208
+ yearPlural: 'yıl',
209
+ },
210
+ };