@jjlmoya/utils-finance 1.4.0 → 1.7.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.
- package/package.json +2 -1
- package/src/category/i18n/de.ts +158 -0
- package/src/category/i18n/id.ts +158 -0
- package/src/category/i18n/it.ts +158 -0
- package/src/category/i18n/ja.ts +158 -0
- package/src/category/i18n/ko.ts +158 -0
- package/src/category/i18n/nl.ts +158 -0
- package/src/category/i18n/pl.ts +158 -0
- package/src/category/i18n/pt.ts +158 -0
- package/src/category/i18n/ru.ts +158 -0
- package/src/category/i18n/sv.ts +158 -0
- package/src/category/i18n/tr.ts +158 -0
- package/src/category/i18n/zh.ts +158 -0
- package/src/category/index.ts +13 -1
- package/src/tests/category_validation.test.ts +73 -0
- package/src/tests/faq_count.test.ts +1 -1
- package/src/tests/i18n_coverage.test.ts +36 -0
- package/src/tests/locale_completeness.test.ts +3 -0
- package/src/tests/slug_language_code_format.test.ts +23 -0
- package/src/tests/slug_uniqueness.test.ts +81 -0
- package/src/tests/title_quality.test.ts +1 -1
- package/src/tool/compoundInterest/i18n/de.ts +208 -0
- package/src/tool/compoundInterest/i18n/id.ts +208 -0
- package/src/tool/compoundInterest/i18n/it.ts +208 -0
- package/src/tool/compoundInterest/i18n/ja.ts +207 -0
- package/src/tool/compoundInterest/i18n/ko.ts +207 -0
- package/src/tool/compoundInterest/i18n/nl.ts +208 -0
- package/src/tool/compoundInterest/i18n/pl.ts +208 -0
- package/src/tool/compoundInterest/i18n/pt.ts +208 -0
- package/src/tool/compoundInterest/i18n/ru.ts +208 -0
- package/src/tool/compoundInterest/i18n/sv.ts +208 -0
- package/src/tool/compoundInterest/i18n/tr.ts +208 -0
- package/src/tool/compoundInterest/i18n/zh.ts +202 -0
- package/src/tool/compoundInterest/index.ts +15 -7
- package/src/tool/courtFeeCalculator/i18n/de.ts +152 -0
- package/src/tool/courtFeeCalculator/i18n/fr.ts +1 -1
- package/src/tool/courtFeeCalculator/i18n/id.ts +152 -0
- package/src/tool/courtFeeCalculator/i18n/it.ts +152 -0
- package/src/tool/courtFeeCalculator/i18n/ja.ts +152 -0
- package/src/tool/courtFeeCalculator/i18n/ko.ts +152 -0
- package/src/tool/courtFeeCalculator/i18n/nl.ts +152 -0
- package/src/tool/courtFeeCalculator/i18n/pl.ts +152 -0
- package/src/tool/courtFeeCalculator/i18n/pt.ts +152 -0
- package/src/tool/courtFeeCalculator/i18n/ru.ts +152 -0
- package/src/tool/courtFeeCalculator/i18n/sv.ts +152 -0
- package/src/tool/courtFeeCalculator/i18n/tr.ts +152 -0
- package/src/tool/courtFeeCalculator/i18n/zh.ts +152 -0
- package/src/tool/courtFeeCalculator/index.ts +16 -8
- package/src/tool/debtSnowball/i18n/de.ts +160 -0
- package/src/tool/debtSnowball/i18n/id.ts +160 -0
- package/src/tool/debtSnowball/i18n/it.ts +160 -0
- package/src/tool/debtSnowball/i18n/ja.ts +157 -0
- package/src/tool/debtSnowball/i18n/ko.ts +160 -0
- package/src/tool/debtSnowball/i18n/nl.ts +160 -0
- package/src/tool/debtSnowball/i18n/pl.ts +160 -0
- package/src/tool/debtSnowball/i18n/pt.ts +160 -0
- package/src/tool/debtSnowball/i18n/ru.ts +160 -0
- package/src/tool/debtSnowball/i18n/sv.ts +160 -0
- package/src/tool/debtSnowball/i18n/tr.ts +160 -0
- package/src/tool/debtSnowball/i18n/zh.ts +160 -0
- package/src/tool/debtSnowball/index.ts +17 -9
- package/src/tool/fireCalculator/i18n/de.ts +261 -0
- package/src/tool/fireCalculator/i18n/id.ts +261 -0
- package/src/tool/fireCalculator/i18n/it.ts +261 -0
- package/src/tool/fireCalculator/i18n/ja.ts +261 -0
- package/src/tool/fireCalculator/i18n/ko.ts +261 -0
- package/src/tool/fireCalculator/i18n/nl.ts +261 -0
- package/src/tool/fireCalculator/i18n/pl.ts +261 -0
- package/src/tool/fireCalculator/i18n/pt.ts +261 -0
- package/src/tool/fireCalculator/i18n/ru.ts +261 -0
- package/src/tool/fireCalculator/i18n/sv.ts +261 -0
- package/src/tool/fireCalculator/i18n/tr.ts +261 -0
- package/src/tool/fireCalculator/i18n/zh.ts +261 -0
- package/src/tool/fireCalculator/index.ts +15 -7
- package/src/tool/ibanBicSwiftConverter/i18n/de.ts +128 -0
- package/src/tool/ibanBicSwiftConverter/i18n/id.ts +128 -0
- package/src/tool/ibanBicSwiftConverter/i18n/it.ts +128 -0
- package/src/tool/ibanBicSwiftConverter/i18n/ja.ts +128 -0
- package/src/tool/ibanBicSwiftConverter/i18n/ko.ts +128 -0
- package/src/tool/ibanBicSwiftConverter/i18n/nl.ts +128 -0
- package/src/tool/ibanBicSwiftConverter/i18n/pl.ts +128 -0
- package/src/tool/ibanBicSwiftConverter/i18n/pt.ts +128 -0
- package/src/tool/ibanBicSwiftConverter/i18n/ru.ts +128 -0
- package/src/tool/ibanBicSwiftConverter/i18n/sv.ts +128 -0
- package/src/tool/ibanBicSwiftConverter/i18n/tr.ts +128 -0
- package/src/tool/ibanBicSwiftConverter/i18n/zh.ts +128 -0
- package/src/tool/ibanBicSwiftConverter/index.ts +15 -7
- package/src/tool/inflation/i18n/de.ts +297 -0
- package/src/tool/inflation/i18n/id.ts +297 -0
- package/src/tool/inflation/i18n/it.ts +297 -0
- package/src/tool/inflation/i18n/ja.ts +297 -0
- package/src/tool/inflation/i18n/ko.ts +297 -0
- package/src/tool/inflation/i18n/nl.ts +297 -0
- package/src/tool/inflation/i18n/pl.ts +297 -0
- package/src/tool/inflation/i18n/pt.ts +297 -0
- package/src/tool/inflation/i18n/ru.ts +297 -0
- package/src/tool/inflation/i18n/sv.ts +297 -0
- package/src/tool/inflation/i18n/tr.ts +297 -0
- package/src/tool/inflation/i18n/zh.ts +297 -0
- package/src/tool/inflation/index.ts +17 -9
- package/src/tool/lateInterest/i18n/de.ts +224 -0
- package/src/tool/lateInterest/i18n/id.ts +224 -0
- package/src/tool/lateInterest/i18n/it.ts +224 -0
- package/src/tool/lateInterest/i18n/ja.ts +224 -0
- package/src/tool/lateInterest/i18n/ko.ts +224 -0
- package/src/tool/lateInterest/i18n/nl.ts +224 -0
- package/src/tool/lateInterest/i18n/pl.ts +224 -0
- package/src/tool/lateInterest/i18n/pt.ts +224 -0
- package/src/tool/lateInterest/i18n/ru.ts +224 -0
- package/src/tool/lateInterest/i18n/sv.ts +224 -0
- package/src/tool/lateInterest/i18n/tr.ts +224 -0
- package/src/tool/lateInterest/i18n/zh.ts +224 -0
- package/src/tool/lateInterest/index.ts +17 -9
- package/src/tool/legalInterestRate/i18n/de.ts +143 -0
- package/src/tool/legalInterestRate/i18n/id.ts +143 -0
- package/src/tool/legalInterestRate/i18n/it.ts +143 -0
- package/src/tool/legalInterestRate/i18n/ja.ts +143 -0
- package/src/tool/legalInterestRate/i18n/ko.ts +143 -0
- package/src/tool/legalInterestRate/i18n/nl.ts +143 -0
- package/src/tool/legalInterestRate/i18n/pl.ts +143 -0
- package/src/tool/legalInterestRate/i18n/pt.ts +143 -0
- package/src/tool/legalInterestRate/i18n/ru.ts +143 -0
- package/src/tool/legalInterestRate/i18n/sv.ts +143 -0
- package/src/tool/legalInterestRate/i18n/tr.ts +143 -0
- package/src/tool/legalInterestRate/i18n/zh.ts +143 -0
- package/src/tool/legalInterestRate/index.ts +17 -9
- package/src/tool/lotteryOptimizer/i18n/de.ts +177 -0
- package/src/tool/lotteryOptimizer/i18n/id.ts +177 -0
- package/src/tool/lotteryOptimizer/i18n/it.ts +177 -0
- package/src/tool/lotteryOptimizer/i18n/ja.ts +177 -0
- package/src/tool/lotteryOptimizer/i18n/ko.ts +177 -0
- package/src/tool/lotteryOptimizer/i18n/nl.ts +177 -0
- package/src/tool/lotteryOptimizer/i18n/pl.ts +177 -0
- package/src/tool/lotteryOptimizer/i18n/pt.ts +177 -0
- package/src/tool/lotteryOptimizer/i18n/ru.ts +177 -0
- package/src/tool/lotteryOptimizer/i18n/sv.ts +177 -0
- package/src/tool/lotteryOptimizer/i18n/tr.ts +177 -0
- package/src/tool/lotteryOptimizer/i18n/zh.ts +177 -0
- package/src/tool/lotteryOptimizer/index.ts +17 -9
- package/src/tool/mortgage/i18n/de.ts +223 -0
- package/src/tool/mortgage/i18n/id.ts +219 -0
- package/src/tool/mortgage/i18n/it.ts +223 -0
- package/src/tool/mortgage/i18n/ja.ts +219 -0
- package/src/tool/mortgage/i18n/ko.ts +219 -0
- package/src/tool/mortgage/i18n/nl.ts +219 -0
- package/src/tool/mortgage/i18n/pl.ts +219 -0
- package/src/tool/mortgage/i18n/pt.ts +219 -0
- package/src/tool/mortgage/i18n/ru.ts +219 -0
- package/src/tool/mortgage/i18n/sv.ts +219 -0
- package/src/tool/mortgage/i18n/tr.ts +219 -0
- package/src/tool/mortgage/i18n/zh.ts +219 -0
- package/src/tool/mortgage/index.ts +15 -7
- package/src/tool/percentageCalculator/i18n/de.ts +229 -0
- package/src/tool/percentageCalculator/i18n/id.ts +229 -0
- package/src/tool/percentageCalculator/i18n/it.ts +229 -0
- package/src/tool/percentageCalculator/i18n/ja.ts +229 -0
- package/src/tool/percentageCalculator/i18n/ko.ts +229 -0
- package/src/tool/percentageCalculator/i18n/nl.ts +229 -0
- package/src/tool/percentageCalculator/i18n/pl.ts +229 -0
- package/src/tool/percentageCalculator/i18n/pt.ts +229 -0
- package/src/tool/percentageCalculator/i18n/ru.ts +229 -0
- package/src/tool/percentageCalculator/i18n/sv.ts +229 -0
- package/src/tool/percentageCalculator/i18n/tr.ts +229 -0
- package/src/tool/percentageCalculator/i18n/zh.ts +229 -0
- package/src/tool/percentageCalculator/index.ts +15 -7
- package/src/tool/rentIncreaseCalculator/i18n/de.ts +136 -0
- package/src/tool/rentIncreaseCalculator/i18n/id.ts +136 -0
- package/src/tool/rentIncreaseCalculator/i18n/it.ts +136 -0
- package/src/tool/rentIncreaseCalculator/i18n/ja.ts +136 -0
- package/src/tool/rentIncreaseCalculator/i18n/ko.ts +136 -0
- package/src/tool/rentIncreaseCalculator/i18n/nl.ts +136 -0
- package/src/tool/rentIncreaseCalculator/i18n/pl.ts +136 -0
- package/src/tool/rentIncreaseCalculator/i18n/pt.ts +136 -0
- package/src/tool/rentIncreaseCalculator/i18n/ru.ts +136 -0
- package/src/tool/rentIncreaseCalculator/i18n/sv.ts +136 -0
- package/src/tool/rentIncreaseCalculator/i18n/tr.ts +136 -0
- package/src/tool/rentIncreaseCalculator/i18n/zh.ts +136 -0
- package/src/tool/rentIncreaseCalculator/index.ts +17 -9
- package/src/types.ts +1 -1
|
@@ -0,0 +1,177 @@
|
|
|
1
|
+
import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
|
|
2
|
+
import type { ToolLocaleContent } from '../../../types';
|
|
3
|
+
import type { LotteryOptimizerUI } from '../ui';
|
|
4
|
+
|
|
5
|
+
const slug = 'spain-lottery-optimizer';
|
|
6
|
+
const title = '복권 최적화 및 확률 계산기';
|
|
7
|
+
const description = '스페인 크리스마스 복권, 유로밀리언즈, 보놀로토의 당첨 확률을 분석합니다. 최적의 구매 수량과 베팅의 기대 가치를 계산해 보세요.';
|
|
8
|
+
|
|
9
|
+
const faqData = [
|
|
10
|
+
{
|
|
11
|
+
question: '복권에서 말하는 수학적 기대치란 무엇인가요?',
|
|
12
|
+
answer: '베팅한 1유로당 평균적으로 돌려받을 것으로 예상되는 금액입니다. 거의 모든 복권에서 수학적 기대치는 음수(보통 1유로당 0.50유로 손실)이며, 이는 장기적으로 운영 주체가 항상 승리함을 의미합니다.',
|
|
13
|
+
},
|
|
14
|
+
{
|
|
15
|
+
question: '여러 번호를 사는 것과 같은 번호의 복권을 여러 장 사는 것 중 무엇이 더 좋나요?',
|
|
16
|
+
answer: '「무엇이든」 당첨되기를 원한다면 번호를 다양화하는 것이 소액 당첨 확률을 높입니다. 1등 당첨(잭팟)을 목표로 한다면 한 번호만 사는 것과 확률은 같지만, 당첨 시 수령액은 더 커집니다.',
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
question: '스페인 크리스마스 복권(El Gordo)은 정말 할 만한가요?',
|
|
20
|
+
answer: '순수하게 수학적인 관점에서는 아닙니다. 총 수입의 70%만 당첨금으로 환원됩니다. 하지만 1등 당첨 확률(10만분의 1)은 유로밀리언즈(1억 4천만분의 1)보다 훨씬 높습니다.',
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
question: '통계를 통해 당첨 확률을 높일 수 있나요?',
|
|
24
|
+
answer: '아니요. 복권 추첨은 각각 독립적인 무작위 프로세스입니다. 어제 특정 번호가 나왔다고 해서 오늘 그 번호가 나올 확률에 조금이라도 영향을 주지 않습니다.',
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
question: '비교표의 「난이도」는 무엇을 의미하나요?',
|
|
28
|
+
answer: '1등 당첨이 얼마나 어려운지를 보여주는 상대적 척도입니다. 접근 가능(20만분의 1 미만), 어려움(2000만분의 1 미만), 매우 어려움(2000만분의 1 이상).',
|
|
29
|
+
},
|
|
30
|
+
];
|
|
31
|
+
|
|
32
|
+
const howToData = [
|
|
33
|
+
{
|
|
34
|
+
name: '추첨 유형 선택',
|
|
35
|
+
text: '크리스마스 복권, 프리미티바, 유로밀리언즈 또는 보놀로토 중 분석할 복권을 선택합니다.',
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
name: '투자금 정의',
|
|
39
|
+
text: '구매하려는 복권 수량이나 베팅 횟수를 입력합니다.',
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
name: '핵심 확률 분석',
|
|
43
|
+
text: '1등 당첨 확률을 소액 당첨 또는 원금 회수 확률과 비교하여 확인합니다.',
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
name: '위험/수익 평가',
|
|
47
|
+
text: '수학적 기대치를 검토하여 투자한 1유로당 통계적으로 얼마를 「기부」하고 있는지 이해합니다.',
|
|
48
|
+
},
|
|
49
|
+
];
|
|
50
|
+
|
|
51
|
+
const bibliographyData = [
|
|
52
|
+
{
|
|
53
|
+
name: '스페인 국립 복권 위원회 (SELAE) - 투명성 포털',
|
|
54
|
+
url: 'https://www.selae.es/',
|
|
55
|
+
},
|
|
56
|
+
{
|
|
57
|
+
name: '크리스마스 복권의 수학 - 스페인 왕립 수학회 (RSME)',
|
|
58
|
+
url: 'https://rsme.es/',
|
|
59
|
+
},
|
|
60
|
+
{
|
|
61
|
+
name: '켈리 기준과 리스크 관리 - Investopedia',
|
|
62
|
+
url: 'https://www.investopedia.com/',
|
|
63
|
+
},
|
|
64
|
+
];
|
|
65
|
+
|
|
66
|
+
const seoData = [
|
|
67
|
+
{
|
|
68
|
+
type: 'title',
|
|
69
|
+
text: '희망의 수학',
|
|
70
|
+
level: 2,
|
|
71
|
+
},
|
|
72
|
+
{
|
|
73
|
+
type: 'paragraph',
|
|
74
|
+
html: '많은 사람에게 복권을 사는 것은 몇 유로로 「희망」을 사는 행위입니다. 하지만 추첨기와 크리스털 공 뒤에는 수학의 가장 매혹적인 분야 중 하나인 「극단적 확률의 통계학」이 자리 잡고 있습니다.',
|
|
75
|
+
},
|
|
76
|
+
];
|
|
77
|
+
|
|
78
|
+
const gameTranslations = {
|
|
79
|
+
gordo: {
|
|
80
|
+
name: '크리스마스 복권 (El Gordo)',
|
|
81
|
+
description: '세계 최대 규모의 상금 분배. 무언가 당첨될 확률이 높음.',
|
|
82
|
+
},
|
|
83
|
+
nino: {
|
|
84
|
+
name: '어린이 복권 (El Niño)',
|
|
85
|
+
description: '크리스마스 복권 대비 원금 회수 확률이 3배 높음.',
|
|
86
|
+
},
|
|
87
|
+
euromillones: {
|
|
88
|
+
name: '유로밀리언즈',
|
|
89
|
+
description: '천문학적인 상금이지만 당첨 확률은 거의 불가능에 가까움.',
|
|
90
|
+
},
|
|
91
|
+
primitiva: {
|
|
92
|
+
name: '라 프리미티바',
|
|
93
|
+
description: '스페인에서 가장 오래된 복권. 어렵지만 가격이 저렴함.',
|
|
94
|
+
},
|
|
95
|
+
bonoloto: {
|
|
96
|
+
name: '보놀로토',
|
|
97
|
+
description: '가장 경제적인 복권. 소액 예산으로 매일 즐기기에 적합함.',
|
|
98
|
+
},
|
|
99
|
+
};
|
|
100
|
+
|
|
101
|
+
const faqSchema: WithContext<FAQPage> = {
|
|
102
|
+
'@context': 'https://schema.org',
|
|
103
|
+
'@type': 'FAQPage',
|
|
104
|
+
mainEntity: faqData.map((item) => ({
|
|
105
|
+
'@type': 'Question',
|
|
106
|
+
name: item.question,
|
|
107
|
+
acceptedAnswer: { '@type': 'Answer', text: item.answer },
|
|
108
|
+
})),
|
|
109
|
+
};
|
|
110
|
+
|
|
111
|
+
const howToSchema: WithContext<HowTo> = {
|
|
112
|
+
'@context': 'https://schema.org',
|
|
113
|
+
'@type': 'HowTo',
|
|
114
|
+
name: title,
|
|
115
|
+
description,
|
|
116
|
+
step: howToData.map((step, i) => ({
|
|
117
|
+
'@type': 'HowToStep',
|
|
118
|
+
position: i + 1,
|
|
119
|
+
name: step.name,
|
|
120
|
+
text: step.text,
|
|
121
|
+
})),
|
|
122
|
+
};
|
|
123
|
+
|
|
124
|
+
const appSchema: WithContext<SoftwareApplication> = {
|
|
125
|
+
'@context': 'https://schema.org',
|
|
126
|
+
'@type': 'SoftwareApplication',
|
|
127
|
+
name: title,
|
|
128
|
+
description,
|
|
129
|
+
applicationCategory: 'FinanceApplication',
|
|
130
|
+
offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
|
|
131
|
+
};
|
|
132
|
+
|
|
133
|
+
export const content: ToolLocaleContent<LotteryOptimizerUI> = {
|
|
134
|
+
slug,
|
|
135
|
+
title,
|
|
136
|
+
description,
|
|
137
|
+
faqTitle: '자주 묻는 질문',
|
|
138
|
+
bibliographyTitle: '출처 및 참고 자료',
|
|
139
|
+
ui: {
|
|
140
|
+
gameTranslations,
|
|
141
|
+
labelTitle: '복권 최적화 도구',
|
|
142
|
+
labelDescription: '추첨 유형을 비교하고 수학적 기대치를 계산하여 논리적으로 복권을 즐기세요.',
|
|
143
|
+
labelSelectGame: '복권 선택',
|
|
144
|
+
labelConfigurePlay: '게임 설정',
|
|
145
|
+
labelAdjustQuantity: '구매 수량을 조정하여 실제 당첨 확률을 확인하세요.',
|
|
146
|
+
labelTotalInvestment: '총 투자금',
|
|
147
|
+
labelTickets: '복권 수량 / 베팅 횟수',
|
|
148
|
+
labelUnits: '개',
|
|
149
|
+
labelExposureAnalysis: '리스크 분석',
|
|
150
|
+
labelSelectLottery: '리스크 분석을 보려면 복권을 선택하세요.',
|
|
151
|
+
labelOptimalCutoff: '추천 컷오프 지점',
|
|
152
|
+
labelProbabilitySuccess: '성공 확률',
|
|
153
|
+
labelExpectedValue: '기대 가치 (EV)',
|
|
154
|
+
labelReturnTheoretical: '베팅 1회당 이론적 환급액.',
|
|
155
|
+
labelSocialReturnIndex: '사회적 환원 지수',
|
|
156
|
+
labelLow: '낮음',
|
|
157
|
+
labelMedium: '보통',
|
|
158
|
+
labelHigh: '높음',
|
|
159
|
+
labelComparison: '당첨금 비교',
|
|
160
|
+
labelLottery: '복권',
|
|
161
|
+
labelCost: '비용',
|
|
162
|
+
labelTypicalPrize: '일반적 당첨금',
|
|
163
|
+
labelDifficulty: '난이도',
|
|
164
|
+
labelAccessible: '접근 가능',
|
|
165
|
+
labelDifficult: '어려움',
|
|
166
|
+
labelExtreme: '매우 어려움',
|
|
167
|
+
labelNote: '참고: 크리스마스 복권 및 엘 니뇨 상금은 1장(20유로) 기준입니다. 유로밀리언즈 등은 일반적인 잭팟 금액입니다.',
|
|
168
|
+
currencySymbol: '€',
|
|
169
|
+
currencyCode: 'EUR',
|
|
170
|
+
currencyLocale: 'ko-KR',
|
|
171
|
+
},
|
|
172
|
+
faq: faqData,
|
|
173
|
+
howTo: howToData,
|
|
174
|
+
bibliography: bibliographyData,
|
|
175
|
+
seo: seoData,
|
|
176
|
+
schemas: [faqSchema, howToSchema, appSchema],
|
|
177
|
+
};
|
|
@@ -0,0 +1,177 @@
|
|
|
1
|
+
import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
|
|
2
|
+
import type { ToolLocaleContent } from '../../../types';
|
|
3
|
+
import type { LotteryOptimizerUI } from '../ui';
|
|
4
|
+
|
|
5
|
+
const slug = 'loterij-optimizer-kansberekenaar';
|
|
6
|
+
const title = 'Loterij Optimizer en Kansberekenaar';
|
|
7
|
+
const description = 'Analyseer uw kansen in de Kerstloterij, EuroMillions en meer. Bereken het optimale aantal loten en de verwachte waarde van uw inzet.';
|
|
8
|
+
|
|
9
|
+
const faqData = [
|
|
10
|
+
{
|
|
11
|
+
question: 'Wat is de wiskundige verwachting bij de loterij?',
|
|
12
|
+
answer: 'Het is de gemiddelde waarde die u verwacht te winnen voor elke ingezette euro. Bij bijna alle loterijen is de wiskundige verwachting negatief (u verliest meestal €0,50 per elke ingezette €1), wat betekent dat op de lange termijn het huis altijd wint.',
|
|
13
|
+
},
|
|
14
|
+
{
|
|
15
|
+
question: 'Is het beter om veel verschillende nummers te spelen of veel loten van hetzelfde nummer?',
|
|
16
|
+
answer: 'Als u "iets" wilt winnen, verhoogt het diversifiëren van nummers uw kans op kleinere prijzen. Als u voor de jackpot gaat, geeft het spelen van één enkel nummer u dezelfde kans, maar een grotere prijs als u wint.',
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
question: 'Is het echt de moeite waard om mee te doen aan de Spaanse Kerstloterij?',
|
|
20
|
+
answer: 'Vanuit een puur wiskundig oogpunt, nee. Er wordt slechts 70% van de inleg uitgekeerd. Het heeft echter een veel hogere kans op de hoofdprijs (1 op 100.000) dan EuroMillions (1 op 140 miljoen).',
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
question: 'Kan ik mijn kansen verbeteren met statistieken?',
|
|
24
|
+
answer: 'Nee. Loterijtrekkingen zijn onafhankelijke willekeurige processen. Dat een nummer gisteren is gevallen, heeft geen enkele invloed op de trekking van vandaag.',
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
question: 'Wat betekent "moeilijkheidsgraad" in de vergelijkingstabel?',
|
|
28
|
+
answer: 'Het is een relatieve maatstaf voor hoe moeilijk het is om de hoofdprijs te winnen. Toegankelijk (minder dan 200k), Moeilijk (minder dan 20M), Extreem (meer dan 20M).',
|
|
29
|
+
},
|
|
30
|
+
];
|
|
31
|
+
|
|
32
|
+
const howToData = [
|
|
33
|
+
{
|
|
34
|
+
name: 'Selecteer het type trekking',
|
|
35
|
+
text: 'Kies tussen de Kerstloterij, Primitiva, EuroMillions of Bonoloto om de specifieke regels te analyseren.',
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
name: 'Bepaal uw investering',
|
|
39
|
+
text: 'Geef aan hoeveel loten of weddenschappen u van plan bent te kopen.',
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
name: 'Analyseer kritieke kansen',
|
|
43
|
+
text: 'Bekijk de reële kansen op het winnen van de hoofdprijs versus kleinere prijzen of de inlegteruggaaf.',
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
name: 'Evalueer risico/opbrengst',
|
|
47
|
+
text: 'Controleer de wiskundige verwachting om te begrijpen hoeveel geld u statistisch gezien "weggeeft" per geïnvesteerde euro.',
|
|
48
|
+
},
|
|
49
|
+
];
|
|
50
|
+
|
|
51
|
+
const bibliographyData = [
|
|
52
|
+
{
|
|
53
|
+
name: 'Loterías y Apuestas del Estado (SELAE) - Transparantieportaal',
|
|
54
|
+
url: 'https://www.selae.es/',
|
|
55
|
+
},
|
|
56
|
+
{
|
|
57
|
+
name: 'Wiskunde van de Kerstloterij - RSME',
|
|
58
|
+
url: 'https://rsme.es/',
|
|
59
|
+
},
|
|
60
|
+
{
|
|
61
|
+
name: 'Het Kelly Criterium en Risicomanagement',
|
|
62
|
+
url: 'https://www.investopedia.com/',
|
|
63
|
+
},
|
|
64
|
+
];
|
|
65
|
+
|
|
66
|
+
const seoData = [
|
|
67
|
+
{
|
|
68
|
+
type: 'title',
|
|
69
|
+
text: 'De Wiskunde van de Hoop',
|
|
70
|
+
level: 2,
|
|
71
|
+
},
|
|
72
|
+
{
|
|
73
|
+
type: 'paragraph',
|
|
74
|
+
html: 'Loten kopen is voor velen het kopen van een illusie voor een paar euro. Achter de schermen schuilt echter een van de meest fascinerende takken van de wiskunde: de statistiek van extreme kansen.',
|
|
75
|
+
},
|
|
76
|
+
];
|
|
77
|
+
|
|
78
|
+
const gameTranslations = {
|
|
79
|
+
gordo: {
|
|
80
|
+
name: 'Kerstloterij (El Gordo)',
|
|
81
|
+
description: 'De grootste prijzenpot ter wereld. Hoge kans om iets te winnen.',
|
|
82
|
+
},
|
|
83
|
+
nino: {
|
|
84
|
+
name: 'Loterij van het Kind (El Niño)',
|
|
85
|
+
description: 'Drie keer meer kans op inlegteruggaaf vergeleken met de Kerstloterij.',
|
|
86
|
+
},
|
|
87
|
+
euromillones: {
|
|
88
|
+
name: 'EuroMillions',
|
|
89
|
+
description: 'Astronomische prijzen, bijna onmogelijke kansen.',
|
|
90
|
+
},
|
|
91
|
+
primitiva: {
|
|
92
|
+
name: 'La Primitiva',
|
|
93
|
+
description: 'De oudste loterij van Spanje. Moeilijk maar goedkoper.',
|
|
94
|
+
},
|
|
95
|
+
bonoloto: {
|
|
96
|
+
name: 'Bonoloto',
|
|
97
|
+
description: 'De meest voordelige. Ideaal om dagelijks te spelen met een klein budget.',
|
|
98
|
+
},
|
|
99
|
+
};
|
|
100
|
+
|
|
101
|
+
const faqSchema: WithContext<FAQPage> = {
|
|
102
|
+
'@context': 'https://schema.org',
|
|
103
|
+
'@type': 'FAQPage',
|
|
104
|
+
mainEntity: faqData.map((item) => ({
|
|
105
|
+
'@type': 'Question',
|
|
106
|
+
name: item.question,
|
|
107
|
+
acceptedAnswer: { '@type': 'Answer', text: item.answer },
|
|
108
|
+
})),
|
|
109
|
+
};
|
|
110
|
+
|
|
111
|
+
const howToSchema: WithContext<HowTo> = {
|
|
112
|
+
'@context': 'https://schema.org',
|
|
113
|
+
'@type': 'HowTo',
|
|
114
|
+
name: title,
|
|
115
|
+
description,
|
|
116
|
+
step: howToData.map((step, i) => ({
|
|
117
|
+
'@type': 'HowToStep',
|
|
118
|
+
position: i + 1,
|
|
119
|
+
name: step.name,
|
|
120
|
+
text: step.text,
|
|
121
|
+
})),
|
|
122
|
+
};
|
|
123
|
+
|
|
124
|
+
const appSchema: WithContext<SoftwareApplication> = {
|
|
125
|
+
'@context': 'https://schema.org',
|
|
126
|
+
'@type': 'SoftwareApplication',
|
|
127
|
+
name: title,
|
|
128
|
+
description,
|
|
129
|
+
applicationCategory: 'FinanceApplication',
|
|
130
|
+
offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
|
|
131
|
+
};
|
|
132
|
+
|
|
133
|
+
export const content: ToolLocaleContent<LotteryOptimizerUI> = {
|
|
134
|
+
slug,
|
|
135
|
+
title,
|
|
136
|
+
description,
|
|
137
|
+
faqTitle: 'Veelgestelde Vragen',
|
|
138
|
+
bibliographyTitle: 'Bronnen en Referenties',
|
|
139
|
+
ui: {
|
|
140
|
+
gameTranslations,
|
|
141
|
+
labelTitle: 'Loterij Optimizer',
|
|
142
|
+
labelDescription: 'Vergelijk trekkingen, bereken uw wiskundige verwachting en speel met verstand.',
|
|
143
|
+
labelSelectGame: 'Selecteer een loterij',
|
|
144
|
+
labelConfigurePlay: 'Stel uw inzet samen',
|
|
145
|
+
labelAdjustQuantity: 'Pas het aantal loten aan om uw reële kans te zien.',
|
|
146
|
+
labelTotalInvestment: 'Totale Investering',
|
|
147
|
+
labelTickets: 'Aantal Loten / Weddenschappen',
|
|
148
|
+
labelUnits: 'stuks',
|
|
149
|
+
labelExposureAnalysis: 'Blootstellingsanalyse',
|
|
150
|
+
labelSelectLottery: 'Selecteer een loterij om de risicoanalyse te zien.',
|
|
151
|
+
labelOptimalCutoff: 'Aanbevolen Grenswaarde',
|
|
152
|
+
labelProbabilitySuccess: 'Slagingskans',
|
|
153
|
+
labelExpectedValue: 'Verwachte Waarde (EV)',
|
|
154
|
+
labelReturnTheoretical: 'Theoretische terugbetaling per gespeelde inzet.',
|
|
155
|
+
labelSocialReturnIndex: 'Sociale Rendementsindex',
|
|
156
|
+
labelLow: 'Laag',
|
|
157
|
+
labelMedium: 'Gemiddeld',
|
|
158
|
+
labelHigh: 'Hoog',
|
|
159
|
+
labelComparison: 'Prijsvergelijking',
|
|
160
|
+
labelLottery: 'Loterij',
|
|
161
|
+
labelCost: 'Kosten',
|
|
162
|
+
labelTypicalPrize: 'Typische Prijs',
|
|
163
|
+
labelDifficulty: 'Moeilijkheidsgraad',
|
|
164
|
+
labelAccessible: 'Toegankelijk',
|
|
165
|
+
labelDifficult: 'Moeilijk',
|
|
166
|
+
labelExtreme: 'Extreem',
|
|
167
|
+
labelNote: 'Opmerking: De prijzen van Kerst en El Niño zijn per lot (20€). EuroMillions enz. zijn typische jackpots.',
|
|
168
|
+
currencySymbol: '€',
|
|
169
|
+
currencyCode: 'EUR',
|
|
170
|
+
currencyLocale: 'nl-NL',
|
|
171
|
+
},
|
|
172
|
+
faq: faqData,
|
|
173
|
+
howTo: howToData,
|
|
174
|
+
bibliography: bibliographyData,
|
|
175
|
+
seo: seoData,
|
|
176
|
+
schemas: [faqSchema, howToSchema, appSchema],
|
|
177
|
+
};
|
|
@@ -0,0 +1,177 @@
|
|
|
1
|
+
import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
|
|
2
|
+
import type { ToolLocaleContent } from '../../../types';
|
|
3
|
+
import type { LotteryOptimizerUI } from '../ui';
|
|
4
|
+
|
|
5
|
+
const slug = 'optymalizator-loterii-kalkulator-prawdopodobienstwa';
|
|
6
|
+
const title = 'Optymalizator Loterii i Kalkulator Prawdopodobieństwa';
|
|
7
|
+
const description = 'Przeanalizuj swoje szanse w hiszpańskiej Loterii Bożonarodzeniowej, Euromillions i Bonoloto. Oblicz optymalną liczbę kuponów i wartość oczekiwaną zakładu.';
|
|
8
|
+
|
|
9
|
+
const faqData = [
|
|
10
|
+
{
|
|
11
|
+
question: 'Co to jest nadzieja matematyczna w loterii?',
|
|
12
|
+
answer: 'Jest to średnia wartość, jaką spodziewasz się wygrać za każde postawione euro. W prawie wszystkich loteriach nadzieja matematyczna jest ujemna (zazwyczaj tracisz 0,50€ na każde postawione 1€), co oznacza, że w dłuższej perspektywie kasyno zawsze wygrywa.',
|
|
13
|
+
},
|
|
14
|
+
{
|
|
15
|
+
question: 'Czy lepiej grać wiele różnych numerów, czy wiele kuponów z tym samym numerem?',
|
|
16
|
+
answer: 'Jeśli chcesz wygrać "cokolwiek", dywersyfikacja numerów zwiększa Twoje prawdopodobieństwo uzyskania mniejszych nagród. Jeśli celujesz w główną wygraną, granie jednym numerem daje takie samo prawdopodobieństwo, ale wyższą wygraną, jeśli trafisz.',
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
question: 'Czy naprawdę opłaca się grać w hiszpańską Loterię Bożonarodzeniową (El Gordo)?',
|
|
20
|
+
answer: 'Z czysto matematycznego punktu widzenia – nie. Zwracane jest tylko 70% zebranych środków. Ma ona jednak znacznie wyższe prawdopodobieństwo wygrania nagrody głównej (1 na 100 000) niż Euromillions (1 na 140 milionów).',
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
question: 'Czy mogę poprawić swoje szanse za pomocą statystyk?',
|
|
24
|
+
answer: 'Nie. Losowania loterii to niezależne procesy losowe. To, że dany numer wypadł wczoraj, nie ma absolutnie żadnego wpływu na to, że wypadnie dzisiaj.',
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
question: 'Co oznacza "trudność" w tabeli porównawczej?',
|
|
28
|
+
answer: 'Jest to miara tego, jak trudno jest wygrać pierwszą nagrodę. Dostępna (poniżej 200 tys.), Trudna (poniżej 20 mln), Ekstremalna (powyżej 20 mln).',
|
|
29
|
+
},
|
|
30
|
+
];
|
|
31
|
+
|
|
32
|
+
const howToData = [
|
|
33
|
+
{
|
|
34
|
+
name: 'Wybierz rodzaj losowania',
|
|
35
|
+
text: 'Wybierz spośród Loterii Bożonarodzeniowej, Primitiva, Euromillions lub Bonoloto.',
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
name: 'Zdefiniuj swoją inwestycję',
|
|
39
|
+
text: 'Wskaż, ile kuponów lub zakładów planujesz kupić na to losowanie.',
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
name: 'Przeanalizuj krytyczne prawdopodobieństwa',
|
|
43
|
+
text: 'Zobacz realne szanse na wygranie nagrody głównej w porównaniu z mniejszymi nagrodami.',
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
name: 'Oceń ryzyko/zysk',
|
|
47
|
+
text: 'Sprawdź nadzieję matematyczną, aby zrozumieć, ile pieniędzy statystycznie "oddajesz" za każde zainwestowane euro.',
|
|
48
|
+
},
|
|
49
|
+
];
|
|
50
|
+
|
|
51
|
+
const bibliographyData = [
|
|
52
|
+
{
|
|
53
|
+
name: 'Loterías y Apuestas del Estado (SELAE) - Portal Transparentności',
|
|
54
|
+
url: 'https://www.selae.es/',
|
|
55
|
+
},
|
|
56
|
+
{
|
|
57
|
+
name: 'Matematyka Loterii Bożonarodzeniowej - RSME',
|
|
58
|
+
url: 'https://rsme.es/',
|
|
59
|
+
},
|
|
60
|
+
{
|
|
61
|
+
name: 'Kryterium Kelly’ego i zarządzanie ryzykiem',
|
|
62
|
+
url: 'https://www.investopedia.com/',
|
|
63
|
+
},
|
|
64
|
+
];
|
|
65
|
+
|
|
66
|
+
const seoData = [
|
|
67
|
+
{
|
|
68
|
+
type: 'title',
|
|
69
|
+
text: 'Matematyka Nadziei',
|
|
70
|
+
level: 2,
|
|
71
|
+
},
|
|
72
|
+
{
|
|
73
|
+
type: 'paragraph',
|
|
74
|
+
html: 'Granie w loterię to dla wielu zakup iluzji za kilka euro. Jednak za kulisami kryje się jedna z najbardziej fascynujących dziedzin matematyki: statystyka ekstremalnych prawdopodobieństw.',
|
|
75
|
+
},
|
|
76
|
+
];
|
|
77
|
+
|
|
78
|
+
const gameTranslations = {
|
|
79
|
+
gordo: {
|
|
80
|
+
name: 'Loteria Bożonarodzeniowa (El Gordo)',
|
|
81
|
+
description: 'Największa pula nagród na świecie. Wysokie prawdopodobieństwo wygrania czegokolwiek.',
|
|
82
|
+
},
|
|
83
|
+
nino: {
|
|
84
|
+
name: 'Loteria Dziecięca (El Niño)',
|
|
85
|
+
description: 'Trzykrotnie wyższe szanse na zwrot stawki w porównaniu z Loterią Bożonarodzeniową.',
|
|
86
|
+
},
|
|
87
|
+
euromillones: {
|
|
88
|
+
name: 'Euromillions',
|
|
89
|
+
description: 'Astronomiczne wygrane, prawie niemożliwe prawdopodobieństwo.',
|
|
90
|
+
},
|
|
91
|
+
primitiva: {
|
|
92
|
+
name: 'La Primitiva',
|
|
93
|
+
description: 'Najstarsza loteria w Hiszpanii. Trudna, ale tańsza.',
|
|
94
|
+
},
|
|
95
|
+
bonoloto: {
|
|
96
|
+
name: 'Bonoloto',
|
|
97
|
+
description: 'Najbardziej ekonomiczna. Idealna do codziennej gry przy małym budżecie.',
|
|
98
|
+
},
|
|
99
|
+
};
|
|
100
|
+
|
|
101
|
+
const faqSchema: WithContext<FAQPage> = {
|
|
102
|
+
'@context': 'https://schema.org',
|
|
103
|
+
'@type': 'FAQPage',
|
|
104
|
+
mainEntity: faqData.map((item) => ({
|
|
105
|
+
'@type': 'Question',
|
|
106
|
+
name: item.question,
|
|
107
|
+
acceptedAnswer: { '@type': 'Answer', text: item.answer },
|
|
108
|
+
})),
|
|
109
|
+
};
|
|
110
|
+
|
|
111
|
+
const howToSchema: WithContext<HowTo> = {
|
|
112
|
+
'@context': 'https://schema.org',
|
|
113
|
+
'@type': 'HowTo',
|
|
114
|
+
name: title,
|
|
115
|
+
description,
|
|
116
|
+
step: howToData.map((step, i) => ({
|
|
117
|
+
'@type': 'HowToStep',
|
|
118
|
+
position: i + 1,
|
|
119
|
+
name: step.name,
|
|
120
|
+
text: step.text,
|
|
121
|
+
})),
|
|
122
|
+
};
|
|
123
|
+
|
|
124
|
+
const appSchema: WithContext<SoftwareApplication> = {
|
|
125
|
+
'@context': 'https://schema.org',
|
|
126
|
+
'@type': 'SoftwareApplication',
|
|
127
|
+
name: title,
|
|
128
|
+
description,
|
|
129
|
+
applicationCategory: 'FinanceApplication',
|
|
130
|
+
offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
|
|
131
|
+
};
|
|
132
|
+
|
|
133
|
+
export const content: ToolLocaleContent<LotteryOptimizerUI> = {
|
|
134
|
+
slug,
|
|
135
|
+
title,
|
|
136
|
+
description,
|
|
137
|
+
faqTitle: 'Często zadawane pytania',
|
|
138
|
+
bibliographyTitle: 'Źródła i odniesienia',
|
|
139
|
+
ui: {
|
|
140
|
+
gameTranslations,
|
|
141
|
+
labelTitle: 'Optymalizator Loterii',
|
|
142
|
+
labelDescription: 'Porównuj losowania, obliczaj nadzieję matematyczną i graj z głową.',
|
|
143
|
+
labelSelectGame: 'Wybierz loterię',
|
|
144
|
+
labelConfigurePlay: 'Skonfiguruj swoje zagranie',
|
|
145
|
+
labelAdjustQuantity: 'Dostosuj liczbę kuponów, aby zobaczyć swoje realne prawdopodobieństwo.',
|
|
146
|
+
labelTotalInvestment: 'Całkowita Inwestycja',
|
|
147
|
+
labelTickets: 'Liczba Kuponów / Zakładów',
|
|
148
|
+
labelUnits: 'szt.',
|
|
149
|
+
labelExposureAnalysis: 'Analiza Ekspozycji',
|
|
150
|
+
labelSelectLottery: 'Wybierz loterię, aby zobaczyć analizę ryzyka.',
|
|
151
|
+
labelOptimalCutoff: 'Sugerowany Punkt Odcięcia',
|
|
152
|
+
labelProbabilitySuccess: 'Prawdopodobieństwo Sukcesu',
|
|
153
|
+
labelExpectedValue: 'Wartość Oczekiwana (EV)',
|
|
154
|
+
labelReturnTheoretical: 'Teoretyczny zwrot za każde wykonane zagranie.',
|
|
155
|
+
labelSocialReturnIndex: 'Indeks Rentowności Społecznej',
|
|
156
|
+
labelLow: 'Niska',
|
|
157
|
+
labelMedium: 'Średnia',
|
|
158
|
+
labelHigh: 'Wysoka',
|
|
159
|
+
labelComparison: 'Porównanie Nagród',
|
|
160
|
+
labelLottery: 'Loteria',
|
|
161
|
+
labelCost: 'Koszt',
|
|
162
|
+
labelTypicalPrize: 'Typowa Nagroda',
|
|
163
|
+
labelDifficulty: 'Trudność',
|
|
164
|
+
labelAccessible: 'Dostępna',
|
|
165
|
+
labelDifficult: 'Trudna',
|
|
166
|
+
labelExtreme: 'Ekstremalna',
|
|
167
|
+
labelNote: 'Uwaga: Nagrody w loteriach Navidad i El Niño są podawane za kupon (20€). Euromillions itp. to typowe kumulacje.',
|
|
168
|
+
currencySymbol: '€',
|
|
169
|
+
currencyCode: 'EUR',
|
|
170
|
+
currencyLocale: 'pl-PL',
|
|
171
|
+
},
|
|
172
|
+
faq: faqData,
|
|
173
|
+
howTo: howToData,
|
|
174
|
+
bibliography: bibliographyData,
|
|
175
|
+
seo: seoData,
|
|
176
|
+
schemas: [faqSchema, howToSchema, appSchema],
|
|
177
|
+
};
|