@jjlmoya/utils-finance 1.3.0 → 1.6.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/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_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/component.astro +12 -3
- package/src/tool/fireCalculator/i18n/de.ts +261 -0
- package/src/tool/fireCalculator/i18n/en.ts +5 -5
- package/src/tool/fireCalculator/i18n/es.ts +2 -2
- package/src/tool/fireCalculator/i18n/fr.ts +5 -5
- 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 = '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
|
+
};
|
|
@@ -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 = 'otimizador-loterias-calculadora-probabilidades';
|
|
6
|
+
const title = 'Otimizador de Loterias e Calculadora de Probabilidades';
|
|
7
|
+
const description = 'Analise as suas probabilidades na Lotaria de Natal, Euromilhões e Bonoloto. Calcule o número ideal de décimos e o valor esperado da sua aposta.';
|
|
8
|
+
|
|
9
|
+
const faqData = [
|
|
10
|
+
{
|
|
11
|
+
question: 'O que é a esperança matemática na lotaria?',
|
|
12
|
+
answer: 'É o valor médio que espera ganhar por cada euro apostado. Em quase todas as lotarias, a esperança matemática é negativa (normalmente perde 0,50€ por cada 1€ jogado), o que significa que, a longo prazo, o sistema ganha sempre.',
|
|
13
|
+
},
|
|
14
|
+
{
|
|
15
|
+
question: 'É melhor jogar muitos números ou muitos décimos do mesmo?',
|
|
16
|
+
answer: 'Se procura ganhar "algo", diversificar números aumenta a sua probabilidade de obter prémios menores. Se procura o prémio gordo, jogar um só número dá-lhe a mesma probabilidade, mas maior prémio se ganhar.',
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
question: 'Vale mesmo a pena jogar na Lotaria de Natal espanhola?',
|
|
20
|
+
answer: 'De um ponto de vista puramente matemático, não. É devolvido apenas 70% do arrecadado. No entanto, tem uma probabilidade de prémio gordo (1 em 100.000) muito mais alta do que o Euromilhões (1 em 140 milhões).',
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
question: 'Posso melhorar as minhas chances com estatísticas?',
|
|
24
|
+
answer: 'Não. Os sorteios de lotaria são processos aleatórios independentes. O facto de um número ter saído ontem não influencia em nada a sua saída hoje.',
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
question: 'O que significa a "dificuldade" na tabela comparativa?',
|
|
28
|
+
answer: 'É uma medida relativa de quão difícil é ganhar o primeiro prémio. Acessível (menos de 200k), Difícil (menos de 20M), Extrema (mais de 20M).',
|
|
29
|
+
},
|
|
30
|
+
];
|
|
31
|
+
|
|
32
|
+
const howToData = [
|
|
33
|
+
{
|
|
34
|
+
name: 'Selecionar o tipo de sorteio',
|
|
35
|
+
text: 'Escolha entre a Lotaria de Natal, Primitiva, Euromilhões ou Bonoloto para analisar as suas regras específicas.',
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
name: 'Definir o seu investimento',
|
|
39
|
+
text: 'Indique quantos décimos ou apostas planeia comprar para este sorteo.',
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
name: 'Analisar probabilidades críticas',
|
|
43
|
+
text: 'Observe as possibilidades reais de ganhar o primeiro prémio frente a prémios menores ou o reembolso.',
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
name: 'Avaliar o risco/benefício',
|
|
47
|
+
text: 'Reveja a esperança matemática para entender quanto dinheiro está estatisticamente a "dar" por cada euro investido.',
|
|
48
|
+
},
|
|
49
|
+
];
|
|
50
|
+
|
|
51
|
+
const bibliographyData = [
|
|
52
|
+
{
|
|
53
|
+
name: 'Loterías y Apuestas del Estado (SELAE) - Portal da Transparência',
|
|
54
|
+
url: 'https://www.selae.es/',
|
|
55
|
+
},
|
|
56
|
+
{
|
|
57
|
+
name: 'Matemática da Lotaria de Natal - RSME',
|
|
58
|
+
url: 'https://rsme.es/',
|
|
59
|
+
},
|
|
60
|
+
{
|
|
61
|
+
name: 'O Critério de Kelly e a Gestão de Riscos',
|
|
62
|
+
url: 'https://www.investopedia.com/',
|
|
63
|
+
},
|
|
64
|
+
];
|
|
65
|
+
|
|
66
|
+
const seoData = [
|
|
67
|
+
{
|
|
68
|
+
type: 'title',
|
|
69
|
+
text: 'A Matemática da Esperança',
|
|
70
|
+
level: 2,
|
|
71
|
+
},
|
|
72
|
+
{
|
|
73
|
+
type: 'paragraph',
|
|
74
|
+
html: 'Jogar na lotaria é, para muitos, a compra de uma ilusão por alguns euros. No entanto, por trás dos sorteios reside uma das áreas mais fascinantes da matemática: a estatística de probabilidades extremas.',
|
|
75
|
+
},
|
|
76
|
+
];
|
|
77
|
+
|
|
78
|
+
const gameTranslations = {
|
|
79
|
+
gordo: {
|
|
80
|
+
name: 'Lotaria de Natal (El Gordo)',
|
|
81
|
+
description: 'A maior distribuição de prémios do mundo. Probabilidade alta de ganhar algo.',
|
|
82
|
+
},
|
|
83
|
+
nino: {
|
|
84
|
+
name: 'Lotaria do Menino (El Niño)',
|
|
85
|
+
description: 'Triplica as possibilidades de reembolso em relação ao Natal.',
|
|
86
|
+
},
|
|
87
|
+
euromillones: {
|
|
88
|
+
name: 'Euromilhões',
|
|
89
|
+
description: 'Prémios astronómicos, probabilidades quase impossíveis.',
|
|
90
|
+
},
|
|
91
|
+
primitiva: {
|
|
92
|
+
name: 'A Primitiva',
|
|
93
|
+
description: 'A lotaria mais antiga de Espanha. Difícil mas mais barata.',
|
|
94
|
+
},
|
|
95
|
+
bonoloto: {
|
|
96
|
+
name: 'Bonoloto',
|
|
97
|
+
description: 'A mais económica. Ideal para jogar diariamente com pouco orçamento.',
|
|
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: 'Perguntas Frequentes',
|
|
138
|
+
bibliographyTitle: 'Fontes e Referências',
|
|
139
|
+
ui: {
|
|
140
|
+
gameTranslations,
|
|
141
|
+
labelTitle: 'Otimizador de Loterias',
|
|
142
|
+
labelDescription: 'Compare sorteios, calcule a sua esperança matemática e jogue com cabeça.',
|
|
143
|
+
labelSelectGame: 'Selecione uma lotaria',
|
|
144
|
+
labelConfigurePlay: 'Configure a sua jogada',
|
|
145
|
+
labelAdjustQuantity: 'Ajuste a quantidade de participações para ver a sua probabilidade real.',
|
|
146
|
+
labelTotalInvestment: 'Investimento Total',
|
|
147
|
+
labelTickets: 'Quantidade de Décimos / Apostas',
|
|
148
|
+
labelUnits: 'unidades',
|
|
149
|
+
labelExposureAnalysis: 'Análise de Exposição',
|
|
150
|
+
labelSelectLottery: 'Selecione uma lotaria para ver a análise de risco.',
|
|
151
|
+
labelOptimalCutoff: 'Ponto de Corte Sugerido',
|
|
152
|
+
labelProbabilitySuccess: 'Probabilidade de Sucesso',
|
|
153
|
+
labelExpectedValue: 'Valor Esperado (EV)',
|
|
154
|
+
labelReturnTheoretical: 'Retorno teórico por cada jogada realizada.',
|
|
155
|
+
labelSocialReturnIndex: 'Índice de Rentabilidade Social',
|
|
156
|
+
labelLow: 'Baixa',
|
|
157
|
+
labelMedium: 'Média',
|
|
158
|
+
labelHigh: 'Alta',
|
|
159
|
+
labelComparison: 'Comparação de Prémios',
|
|
160
|
+
labelLottery: 'Lotaria',
|
|
161
|
+
labelCost: 'Custo',
|
|
162
|
+
labelTypicalPrize: 'Prémio Típico',
|
|
163
|
+
labelDifficulty: 'Dificuldade',
|
|
164
|
+
labelAccessible: 'Acessível',
|
|
165
|
+
labelDifficult: 'Difícil',
|
|
166
|
+
labelExtreme: 'Extrema',
|
|
167
|
+
labelNote: 'Nota: Os prémios de Natal e El Niño são por décimo (20€). Euromilhões, etc. são jackpots típicos.',
|
|
168
|
+
currencySymbol: '€',
|
|
169
|
+
currencyCode: 'EUR',
|
|
170
|
+
currencyLocale: 'pt-PT',
|
|
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 = 'optimizator-loterei-kalkulyator-veroyatnosti';
|
|
6
|
+
const title = 'Оптимизатор лотерей и калькулятор вероятности';
|
|
7
|
+
const description = 'Проанализируйте свои шансы в рождественской лотерее Испании, Euromillions и Bonoloto. Рассчитайте оптимальное количество билетов и ожидаемую стоимость ставки.';
|
|
8
|
+
|
|
9
|
+
const faqData = [
|
|
10
|
+
{
|
|
11
|
+
question: 'Что такое математическое ожидание в лотерее?',
|
|
12
|
+
answer: 'Это среднее значение, которое вы ожидаете выиграть на каждый поставленный евро. Почти во всех лотереях математическое ожидание отрицательное (обычно вы теряете 0,50€ на каждый 1€), что означает, что в долгосрочной перспективе заведение всегда выигрывает.',
|
|
13
|
+
},
|
|
14
|
+
{
|
|
15
|
+
question: 'Что лучше: играть на много разных номеров или купить много билетов с одним и тем же номером?',
|
|
16
|
+
answer: 'Если вы хотите выиграть "хоть что-то", диверсификация номеров увеличивает вероятность получения мелких призов. Если вы нацелены на джекпот, игра на один номер дает ту же вероятность, но больший выигрыш в случае успеха.',
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
question: 'Действительно ли стоит играть в рождественскую лотерею Испании (El Gordo)?',
|
|
20
|
+
answer: 'С чисто математической точки зрения — нет. Возвращается только 70% от собранных средств. Тем не Aires, вероятность выигрыша главного приза (1 к 100 000) намного выше, чем в Euromillions (1 к 140 миллионам).',
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
question: 'Могу ли я улучшить свои шансы с помощью статистики?',
|
|
24
|
+
answer: 'Нет. Розыгрыши лотереи — это независимые случайные процессы. То, что номер выпал вчера, абсолютно никак не влияет на то, выпадет ли он сегодня.',
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
question: 'Что означает "сложность" в сравнительной таблице?',
|
|
28
|
+
answer: 'Это относительная мера того, насколько трудно выиграть первый приз. Доступно (менее 200 тыс.), Трудно (менее 20 млн), Экстремально (более 20 млн).',
|
|
29
|
+
},
|
|
30
|
+
];
|
|
31
|
+
|
|
32
|
+
const howToData = [
|
|
33
|
+
{
|
|
34
|
+
name: 'Выберите тип розыгрыша',
|
|
35
|
+
text: 'Выберите рождественскую лотерею, Primitiva, Euromillions или Bonoloto.',
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
name: 'Определите сумму инвестиций',
|
|
39
|
+
text: 'Укажите, сколько билетов или ставок вы планируете купить для этого розыгрыша.',
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
name: 'Проанализируйте критические вероятности',
|
|
43
|
+
text: 'Посмотрите реальные шансы на выигрыш первого приза по сравнению с мелкими призами или возвратом ставки.',
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
name: 'Оцените риск/выгоду',
|
|
47
|
+
text: 'Проверьте математическое ожидание, чтобы понять, сколько денег вы статистически "дарите" за каждый вложенный евро.',
|
|
48
|
+
},
|
|
49
|
+
];
|
|
50
|
+
|
|
51
|
+
const bibliographyData = [
|
|
52
|
+
{
|
|
53
|
+
name: 'Loterías y Apuestas del Estado (SELAE) - Портал прозрачности',
|
|
54
|
+
url: 'https://www.selae.es/',
|
|
55
|
+
},
|
|
56
|
+
{
|
|
57
|
+
name: 'Математика рождественской лотереи - RSME',
|
|
58
|
+
url: 'https://rsme.es/',
|
|
59
|
+
},
|
|
60
|
+
{
|
|
61
|
+
name: 'Критерий Келли и управление рисками',
|
|
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: 'В три раза больше шансов на возврат ставки по сравнению с Рождеством.',
|
|
86
|
+
},
|
|
87
|
+
euromillones: {
|
|
88
|
+
name: 'Euromillions',
|
|
89
|
+
description: 'Астрономические призы, почти невозможные вероятности.',
|
|
90
|
+
},
|
|
91
|
+
primitiva: {
|
|
92
|
+
name: 'La Primitiva',
|
|
93
|
+
description: 'Старейшая лотерея в Испании. Трудно, но дешевле.',
|
|
94
|
+
},
|
|
95
|
+
bonoloto: {
|
|
96
|
+
name: 'Bonoloto',
|
|
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: 'Теоретический возврат за каждую сделанную ставку.',
|
|
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: 'Примечание: Призы Navidad и El Niño указаны за "десимо" (20€). Euromillions и др. — типичные джекпоты.',
|
|
168
|
+
currencySymbol: '€',
|
|
169
|
+
currencyCode: 'EUR',
|
|
170
|
+
currencyLocale: 'ru-RU',
|
|
171
|
+
},
|
|
172
|
+
faq: faqData,
|
|
173
|
+
howTo: howToData,
|
|
174
|
+
bibliography: bibliographyData,
|
|
175
|
+
seo: seoData,
|
|
176
|
+
schemas: [faqSchema, howToSchema, appSchema],
|
|
177
|
+
};
|