@jjlmoya/utils-motor 1.2.0 → 1.3.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 (66) hide show
  1. package/package.json +1 -1
  2. package/src/category/index.ts +3 -1
  3. package/src/entries.ts +7 -1
  4. package/src/index.ts +10 -0
  5. package/src/tests/locale_completeness.test.ts +1 -1
  6. package/src/tests/seo_translation_completeness.test.ts +69 -0
  7. package/src/tests/tool_validation.test.ts +1 -1
  8. package/src/tool/carMotorcycleGearRatioCalculator/bibliography.astro +6 -0
  9. package/src/tool/carMotorcycleGearRatioCalculator/bibliography.ts +12 -0
  10. package/src/tool/carMotorcycleGearRatioCalculator/car-motorcycle-gear-ratio-rpm-speed-calculator.css +668 -0
  11. package/src/tool/carMotorcycleGearRatioCalculator/component.astro +137 -0
  12. package/src/tool/carMotorcycleGearRatioCalculator/controller.ts +209 -0
  13. package/src/tool/carMotorcycleGearRatioCalculator/dom-views.ts +121 -0
  14. package/src/tool/carMotorcycleGearRatioCalculator/entry.ts +30 -0
  15. package/src/tool/carMotorcycleGearRatioCalculator/evaluator.ts +28 -0
  16. package/src/tool/carMotorcycleGearRatioCalculator/i18n/de.ts +162 -0
  17. package/src/tool/carMotorcycleGearRatioCalculator/i18n/en.ts +162 -0
  18. package/src/tool/carMotorcycleGearRatioCalculator/i18n/es.ts +162 -0
  19. package/src/tool/carMotorcycleGearRatioCalculator/i18n/fr.ts +162 -0
  20. package/src/tool/carMotorcycleGearRatioCalculator/i18n/id.ts +162 -0
  21. package/src/tool/carMotorcycleGearRatioCalculator/i18n/it.ts +162 -0
  22. package/src/tool/carMotorcycleGearRatioCalculator/i18n/ja.ts +162 -0
  23. package/src/tool/carMotorcycleGearRatioCalculator/i18n/ko.ts +162 -0
  24. package/src/tool/carMotorcycleGearRatioCalculator/i18n/nl.ts +162 -0
  25. package/src/tool/carMotorcycleGearRatioCalculator/i18n/pl.ts +162 -0
  26. package/src/tool/carMotorcycleGearRatioCalculator/i18n/pt.ts +162 -0
  27. package/src/tool/carMotorcycleGearRatioCalculator/i18n/ru.ts +162 -0
  28. package/src/tool/carMotorcycleGearRatioCalculator/i18n/sv.ts +162 -0
  29. package/src/tool/carMotorcycleGearRatioCalculator/i18n/tr.ts +162 -0
  30. package/src/tool/carMotorcycleGearRatioCalculator/i18n/zh.ts +162 -0
  31. package/src/tool/carMotorcycleGearRatioCalculator/index.ts +10 -0
  32. package/src/tool/carMotorcycleGearRatioCalculator/logic.test.ts +51 -0
  33. package/src/tool/carMotorcycleGearRatioCalculator/logic.ts +91 -0
  34. package/src/tool/carMotorcycleGearRatioCalculator/seo.astro +15 -0
  35. package/src/tool/carMotorcycleGearRatioCalculator/storage.ts +46 -0
  36. package/src/tool/carMotorcycleGearRatioCalculator/ui.ts +50 -0
  37. package/src/tool/tirePressureConverter/bibliography.astro +6 -0
  38. package/src/tool/tirePressureConverter/bibliography.ts +12 -0
  39. package/src/tool/tirePressureConverter/component.astro +82 -0
  40. package/src/tool/tirePressureConverter/controller.ts +120 -0
  41. package/src/tool/tirePressureConverter/dom-views.ts +31 -0
  42. package/src/tool/tirePressureConverter/entry.ts +30 -0
  43. package/src/tool/tirePressureConverter/evaluator.ts +8 -0
  44. package/src/tool/tirePressureConverter/i18n/de.ts +96 -0
  45. package/src/tool/tirePressureConverter/i18n/en.ts +96 -0
  46. package/src/tool/tirePressureConverter/i18n/es.ts +96 -0
  47. package/src/tool/tirePressureConverter/i18n/fr.ts +96 -0
  48. package/src/tool/tirePressureConverter/i18n/id.ts +95 -0
  49. package/src/tool/tirePressureConverter/i18n/it.ts +95 -0
  50. package/src/tool/tirePressureConverter/i18n/ja.ts +95 -0
  51. package/src/tool/tirePressureConverter/i18n/ko.ts +95 -0
  52. package/src/tool/tirePressureConverter/i18n/nl.ts +95 -0
  53. package/src/tool/tirePressureConverter/i18n/pl.ts +95 -0
  54. package/src/tool/tirePressureConverter/i18n/pt.ts +95 -0
  55. package/src/tool/tirePressureConverter/i18n/ru.ts +95 -0
  56. package/src/tool/tirePressureConverter/i18n/sv.ts +95 -0
  57. package/src/tool/tirePressureConverter/i18n/tr.ts +95 -0
  58. package/src/tool/tirePressureConverter/i18n/zh.ts +95 -0
  59. package/src/tool/tirePressureConverter/index.ts +10 -0
  60. package/src/tool/tirePressureConverter/logic.test.ts +37 -0
  61. package/src/tool/tirePressureConverter/logic.ts +47 -0
  62. package/src/tool/tirePressureConverter/seo.astro +15 -0
  63. package/src/tool/tirePressureConverter/storage.ts +27 -0
  64. package/src/tool/tirePressureConverter/tire-pressure-converter-psi-bar-kpa-kgf-cm2.css +293 -0
  65. package/src/tool/tirePressureConverter/ui.ts +20 -0
  66. package/src/tools.ts +3 -1
@@ -0,0 +1,162 @@
1
+ import type { FAQPage, HowTo, SoftwareApplication, WithContext } from 'schema-dts';
2
+ import type { ToolLocaleContent } from '../../../types';
3
+ import { bibliographyEntries } from '../bibliography';
4
+ import type { CarMotorcycleGearRatioCalculatorUI } from '../ui';
5
+
6
+ const slug = 'overbrengingsverhouding-toerental-snelheid-rekenmachine-auto-motor';
7
+ const title = 'Overbrengingsverhouding Toerental en Snelheid Rekenmachine Auto en Motor';
8
+ const description = 'Bereken de theoretische snelheid per versnelling op basis van motortoerental, primaire reductie, eindreductie en wielomtrek.';
9
+
10
+ const faqData = [
11
+ {
12
+ question: 'Hoe wordt de snelheid berekend uit een overbrengingsverhouding?',
13
+ answer: 'De rekenmachine deelt het motortoerental (RPM) door de primaire reductie, de geselecteerde versnellingsverhouding en de eindreductie om het wieltoerental te bepalen. Dit wordt vermenigvuldigd met de wielomtrek.',
14
+ },
15
+ {
16
+ question: 'Wat is het verschil tussen een versnellingsverhouding en de totale verhouding?',
17
+ answer: 'Een versnellingsverhouding beschrijft een enkele versnelling. De totale verhouding (overall ratio) combineert primaire reductie, versnelling en eindreductie.',
18
+ },
19
+ {
20
+ question: 'Waarom leidt een numeriek lagere verhouding tot meer snelheid?',
21
+ answer: 'Een numeriek lagere verhouding vereist minder krukasomwentelingen per wielomwenteling. Bij hetzelfde motortoerental draait het wiel sneller.',
22
+ },
23
+ {
24
+ question: 'Geeft deze rekenmachine de exacte werkelijke snelheid op de weg?',
25
+ answer: 'Nee. Het is een theoretische berekening. Bandenvervorming, koppelingsslip, luchtweerstand en snelheidsmeterafwijkingen beïnvloeden de echte snelheid.',
26
+ },
27
+ ];
28
+
29
+ const howToData = [
30
+ {
31
+ name: 'Kies het voertuigprofiel',
32
+ text: 'Kies de voorinstelling voor auto of motorfiets en pas de waarden aan.',
33
+ },
34
+ {
35
+ name: 'Stel de aandrijflijn in',
36
+ text: 'Voer het motortoerental, het maximale toerental (redline), de primaire verhouding, eindreductie en wieldiameter in.',
37
+ },
38
+ {
39
+ name: 'Voer de versnellingsverhoudingen in',
40
+ text: 'Vul de numerieke verhouding in voor de eerste tot en met de hoogste versnelling.',
41
+ },
42
+ {
43
+ name: 'Lees de snelheidstabel af',
44
+ text: 'Vergelijk de theoretische snelheid en het motortoerental bij uw doelsnelheid per versnelling.',
45
+ },
46
+ ];
47
+
48
+ const faqSchema: WithContext<FAQPage> = {
49
+ '@context': 'https://schema.org',
50
+ '@type': 'FAQPage',
51
+ mainEntity: faqData.map((item) => ({
52
+ '@type': 'Question',
53
+ name: item.question,
54
+ acceptedAnswer: { '@type': 'Answer', text: item.answer },
55
+ })),
56
+ };
57
+
58
+ const howToSchema: WithContext<HowTo> = {
59
+ '@context': 'https://schema.org',
60
+ '@type': 'HowTo',
61
+ name: title,
62
+ description,
63
+ step: howToData.map((step, index) => ({
64
+ '@type': 'HowToStep',
65
+ position: index + 1,
66
+ name: step.name,
67
+ text: step.text,
68
+ })),
69
+ };
70
+
71
+ const appSchema: WithContext<SoftwareApplication> = {
72
+ '@context': 'https://schema.org',
73
+ '@type': 'SoftwareApplication',
74
+ name: title,
75
+ description,
76
+ applicationCategory: 'UtilitiesApplication',
77
+ operatingSystem: 'All',
78
+ offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
79
+ inLanguage: 'nl',
80
+ };
81
+
82
+ export const content: ToolLocaleContent<CarMotorcycleGearRatioCalculatorUI> = {
83
+ slug,
84
+ title,
85
+ description,
86
+ ui: {
87
+ unitsLabel: 'Eenheden',
88
+ metricLabel: 'Metrisch',
89
+ imperialLabel: 'Imperiaal',
90
+ vehicleProfileLabel: 'Voertuigprofiel',
91
+ carLabel: 'Auto',
92
+ motorcycleLabel: 'Motorfiets',
93
+ carPresetLabel: 'Auto profiel',
94
+ motorcyclePresetLabel: 'Motor profiel',
95
+ engineRpmLabel: 'Motortoerental (RPM)',
96
+ redlineLabel: 'Max. toerental (Redline)',
97
+ primaryRatioLabel: 'Primaire reductie',
98
+ finalDriveLabel: 'Eindreductie',
99
+ wheelDiameterLabel: 'Wieldiameter',
100
+ targetSpeedLabel: 'Doelsnelheid',
101
+ gearStackLabel: 'Versnellingsverhoudingen',
102
+ gearRatioHint: 'Voer waarden in zoals 3.20:1',
103
+ gearLabel: 'Versnelling',
104
+ transmissionSceneLabel: 'Aandrijflijn snelheidsweergave',
105
+ motionHintLabel: 'Dynamisch aandrijfmodel',
106
+ motionHintText: 'Live: wijzig het toerental of de verhoudingen om het effect direct te zien.',
107
+ engineLabel: 'Motor',
108
+ gearboxLabel: 'Versnellingsbak',
109
+ finalDriveShortLabel: 'Eindreductie',
110
+ wheelLabel: 'Wiel',
111
+ speedAtRpmLabel: 'Snelheid bij ingevoerd toerental',
112
+ rpmAtTargetLabel: 'bij doelsnelheid',
113
+ overallRatioLabel: 'totale verhouding',
114
+ wheelRpmLabel: 'wiel RPM',
115
+ targetSpeedMarkerLabel: 'doel',
116
+ selectedGearLabel: 'Aanbevolen versnelling',
117
+ decisionLabel: 'Interpretatie van het resultaat',
118
+ decisionSpeedLabel: 'Theoretische snelheid bij ingevoerd toerental',
119
+ decisionCruiseLabel: 'Motortoerental bij doelsnelheid',
120
+ decisionHelper: 'Vergelijk het kruistoerental voordat u een overbrenging aanpast.',
121
+ chooseGearHint: 'De gemarkeerde rij haalt de doelsnelheid zonder het maximale toerental te overschrijden.',
122
+ editInputsHint: 'Bekijk de snelheid in elke versnelling en vergelijk verschillende configuraties.',
123
+ calculationStatusLabel: 'Berekeningsstatus',
124
+ readyMessage: 'Geschikte verhouding',
125
+ highRpmMessage: 'Boven maximaal toerental',
126
+ lowRpmMessage: 'Lage toeren',
127
+ invalidMessage: 'Controleer de invoer',
128
+ resetLabel: 'Auto profiel herstellen',
129
+ educationalNotice: 'Theoretische schatting. Raadpleeg fabrieksgegevens voor aanpassingen aan een echt voertuig.',
130
+ ratioUnit: ':1',
131
+ speedUnitMetric: 'km/h',
132
+ speedUnitImperial: 'mph',
133
+ wheelUnitMetric: 'mm',
134
+ wheelUnitImperial: 'in',
135
+ },
136
+ faq: faqData,
137
+ howTo: howToData,
138
+ schemas: [faqSchema, howToSchema, appSchema],
139
+ bibliography: bibliographyEntries,
140
+ seo: [
141
+ { type: 'title', text: 'Hoe de aandrijflijn toerental omzet in snelheid', level: 2 },
142
+ { type: 'paragraph', html: 'De motor draagt zijn toerental niet rechtstreeks over op het wegdek. De primaire reductie, de geselecteerde versnelling in de versnellingsbak en de eindreductie verminderen de rotatiesnelheid voordat de wielen worden aangedreven. De effectieve rolomtrek van de band zet deze rotatie vervolgens om in een theoretische voertuigsnelheid op de weg.' },
143
+ { type: 'stats', columns: 3, items: [
144
+ { value: '3 reducties', label: 'Primaire, versnelling en eindreductie' },
145
+ { value: '6 versnellingen', label: 'Aanpasbare snelheidstabel' },
146
+ { value: '2 systemen', label: 'Metrisch en Imperiaal' },
147
+ ] },
148
+ { type: 'title', text: 'De wiskundige formule achter de berekening', level: 2 },
149
+ { type: 'paragraph', html: 'De totale overbrengingsverhouding is het product van de primaire verhouding, de gekozen versnellingsverhouding en de eindreductie. Het wieltoerental in omwentelingen per minuut wordt berekend door het motortoerental te delen door deze totale verhouding. Ten slotte is de theoretische snelheid gelijk aan het wieltoerental vermenigvuldigd met de wielomtrek.' },
150
+ { type: 'table', headers: ['Invoerparameter', 'Effect op de berekening', 'Interpretatie'], rows: [
151
+ ['Motortoerental (RPM)', 'Beïnvloedt alle versnellingen', 'Een hoger motortoerental levert een hogere theoretische snelheid op'],
152
+ ['Versnellingsverhouding', 'Beïnvloedt een enkele versnelling', 'Een hoger getal betekent een kortere overbrenging en lagere snelheid per toerental'],
153
+ ['Eindreductie (Achsantrieb)', 'Beïnvloedt de gehele transmissie', 'Een kortere eindreductie verlaagt de topsnelheid in alle versnellingen'],
154
+ ['Wieldiameter', 'Beïnvloedt de gehele transmissie', 'Een grotere wielomtrek legt meer afstand af per omwenteling van het wiel'],
155
+ ] },
156
+ { type: 'title', text: 'De snelheidstabel aflezen en analyseren', level: 2 },
157
+ { type: 'paragraph', html: 'De kolom met snelheden toont de theoretische waarde in kilometers per uur bij het ingevoerde motortoerental. De kolom met RPM toont het benodigde motortoerental om een specifieke doelsnelheid te handhaven. Gebruik beide weergaven om de overgang tussen versnellingen te controleren.' },
158
+ { type: 'tip', title: 'Gebruik de werkelijke rolomtrek van de band', html: 'De nominale bandenmaat volgens de fabrikant is slechts een benadering. Bandenspanning, voertuigbelasting en vervorming bij hoge snelheid veranderen de effectieve rolomtrek. Meet de werkelijke rolomtrek voor de meest nauwkeurige berekening.' },
159
+ { type: 'title', text: 'Zelfde natuurkunde voor auto en motorfiets', level: 2 },
160
+ { type: 'paragraph', html: "De relatie tussen overbrengingsverhoudingen, motortoerental en wielomtrek geldt voor alle wielvoertuigen, inclusief personenauto's en motorfietsen. De vooraf ingestelde profielen bieden een betrouwbaar uitgangspunt voor het vergelijken van verschillende transmissie-instellingen." },
161
+ ],
162
+ };
@@ -0,0 +1,162 @@
1
+ import type { FAQPage, HowTo, SoftwareApplication, WithContext } from 'schema-dts';
2
+ import type { ToolLocaleContent } from '../../../types';
3
+ import { bibliographyEntries } from '../bibliography';
4
+ import type { CarMotorcycleGearRatioCalculatorUI } from '../ui';
5
+
6
+ const slug = 'kalkulator-przelozen-skrzyni-biegow-rpm-predkosc-samochod-motocykl';
7
+ const title = 'Kalkulator Przełożeń Skrzyni Biegów RPM i Prędkości Samochód i Motocykl';
8
+ const description = 'Oblicz teoretyczną prędkość dla każdego biegu na podstawie obrotów silnika, przełożenia głównego, przekładni i średnicy koła.';
9
+
10
+ const faqData = [
11
+ {
12
+ question: 'Jak oblicza się prędkość z przełożenia skrzyni biegów?',
13
+ answer: 'Kalkulator dzieli obroty silnika (RPM) przez przełożenie wstępne, przełożenie wybranego biegu i przełożenie główne, uzyskując obroty koła. Wynik mnoży przez obwód koła.',
14
+ },
15
+ {
16
+ question: 'Czym różni się przełożenie biegu od przełożenia całkowitego?',
17
+ answer: 'Przełożenie biegu dotyczy pojedynczego stopnia w skrzyni. Przełożenie całkowite (overall ratio) uwzględnia całą redukcję między silnikiem a kołem.',
18
+ },
19
+ {
20
+ question: 'Dlaczego niższa wartość numeryczna przełożenia daje wyższą prędkość?',
21
+ answer: 'Niższa wartość liczebowa wymaga mniejszej liczby obrotów silnika na jeden obrót koła. Przy tych samych obrotach silnika koło obraca się szybciej.',
22
+ },
23
+ {
24
+ question: 'Czy kalkulator podaje dokładną prędkość rzeczywistą na drodze?',
25
+ answer: 'Nie. Jest to wyliczenie teoretyczne. Odkształcenie opony przy dużej prędkości, uślizg sprzęgła i opór powietrza wpływają na prędkość rzeczywistą.',
26
+ },
27
+ ];
28
+
29
+ const howToData = [
30
+ {
31
+ name: 'Wybierz profil pojazdu',
32
+ text: 'Wybierz ustawienie dla samochodu lub motocykla i dostosuj wartości do swojego pojazdu.',
33
+ },
34
+ {
35
+ name: 'Skonfiguruj układ napędowy',
36
+ text: 'Wprowadź obroty silnika, maksymalne obroty (redline), przełożenie wstępne, przełożenie główne i średnicę koła.',
37
+ },
38
+ {
39
+ name: 'Wpisz przełożenia biegów',
40
+ text: 'Podaj wartości numeryczne dla poszczególnych biegów.',
41
+ },
42
+ {
43
+ name: 'Przeanalizuj drabinę prędkości',
44
+ text: 'Porównaj prędkość teoretyczną i obroty silnika dla każdego biegu przy prędkości docelowej.',
45
+ },
46
+ ];
47
+
48
+ const faqSchema: WithContext<FAQPage> = {
49
+ '@context': 'https://schema.org',
50
+ '@type': 'FAQPage',
51
+ mainEntity: faqData.map((item) => ({
52
+ '@type': 'Question',
53
+ name: item.question,
54
+ acceptedAnswer: { '@type': 'Answer', text: item.answer },
55
+ })),
56
+ };
57
+
58
+ const howToSchema: WithContext<HowTo> = {
59
+ '@context': 'https://schema.org',
60
+ '@type': 'HowTo',
61
+ name: title,
62
+ description,
63
+ step: howToData.map((step, index) => ({
64
+ '@type': 'HowToStep',
65
+ position: index + 1,
66
+ name: step.name,
67
+ text: step.text,
68
+ })),
69
+ };
70
+
71
+ const appSchema: WithContext<SoftwareApplication> = {
72
+ '@context': 'https://schema.org',
73
+ '@type': 'SoftwareApplication',
74
+ name: title,
75
+ description,
76
+ applicationCategory: 'UtilitiesApplication',
77
+ operatingSystem: 'All',
78
+ offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
79
+ inLanguage: 'pl',
80
+ };
81
+
82
+ export const content: ToolLocaleContent<CarMotorcycleGearRatioCalculatorUI> = {
83
+ slug,
84
+ title,
85
+ description,
86
+ ui: {
87
+ unitsLabel: 'Jednostki',
88
+ metricLabel: 'Metryczne',
89
+ imperialLabel: 'Imperialne',
90
+ vehicleProfileLabel: 'Profil pojazdu',
91
+ carLabel: 'Samochód',
92
+ motorcycleLabel: 'Motocykl',
93
+ carPresetLabel: 'Profil samochód',
94
+ motorcyclePresetLabel: 'Profil motocykl',
95
+ engineRpmLabel: 'Obroty silnika (RPM)',
96
+ redlineLabel: 'Maksymalne obroty (Redline)',
97
+ primaryRatioLabel: 'Przełożenie wstępne',
98
+ finalDriveLabel: 'Przełożenie główne',
99
+ wheelDiameterLabel: 'Średnica koła',
100
+ targetSpeedLabel: 'Prędkość docelowa',
101
+ gearStackLabel: 'Przełożenia biegów',
102
+ gearRatioHint: 'Wprowadź wartości np. 3.20:1',
103
+ gearLabel: 'Bieg',
104
+ transmissionSceneLabel: 'Wizualizacja przełożeń',
105
+ motionHintLabel: 'Dynamiczny model napędu',
106
+ motionHintText: 'Na żywo: zmień obroty lub przełożenia, aby zobaczyć reakcję układu.',
107
+ engineLabel: 'Silnik',
108
+ gearboxLabel: 'Skrzynia biegów',
109
+ finalDriveShortLabel: 'Przekładnia główna',
110
+ wheelLabel: 'Koło',
111
+ speedAtRpmLabel: 'Prędkość przy podanych RPM',
112
+ rpmAtTargetLabel: 'przy prędkości docelowej',
113
+ overallRatioLabel: 'przełożenie całkowite',
114
+ wheelRpmLabel: 'RPM koła',
115
+ targetSpeedMarkerLabel: 'cel',
116
+ selectedGearLabel: 'Rekomendowany bieg',
117
+ decisionLabel: 'Interpretacja wyników',
118
+ decisionSpeedLabel: 'Prędkość teoretyczna przy danych obrotach',
119
+ decisionCruiseLabel: 'Obroty silnika przy prędkości docelowej',
120
+ decisionHelper: 'Porównaj obroty przelotowe przed zmianą przełożenia.',
121
+ chooseGearHint: 'Wyróżniony wiersz pozwala osiągnąć prędkość docelową bez przekraczania maksymalnych obrotów.',
122
+ editInputsHint: 'Sprawdź prędkość na każdym biegu i porównaj różne konfiguracje.',
123
+ calculationStatusLabel: 'Stan obliczeń',
124
+ readyMessage: 'Odpowiednie przełożenie',
125
+ highRpmMessage: 'Powyżej maksymalnych obrotów',
126
+ lowRpmMessage: 'Niskie obroty',
127
+ invalidMessage: 'Sprawdź wprowadzone dane',
128
+ resetLabel: 'Przywróć profil samochód',
129
+ educationalNotice: 'Szacunek teoretyczny. Przed modyfikacją pojazdu sprawdź dane producenta.',
130
+ ratioUnit: ':1',
131
+ speedUnitMetric: 'km/h',
132
+ speedUnitImperial: 'mph',
133
+ wheelUnitMetric: 'mm',
134
+ wheelUnitImperial: 'in',
135
+ },
136
+ faq: faqData,
137
+ howTo: howToData,
138
+ schemas: [faqSchema, howToSchema, appSchema],
139
+ bibliography: bibliographyEntries,
140
+ seo: [
141
+ { type: 'title', text: 'Jak układ napędowy zamienia obroty silnika na prędkość jazdy', level: 2 },
142
+ { type: 'paragraph', html: 'Układ napędowy pojazdu nie przekazuje prędkości obrotowej silnika bezpośrednio na nawierzchnię drogi. Przełożenie wstępne, wybrany bieg w skrzyni biegów oraz przekładnia główna (diferencjał) redukują prędkość obrotową przed przekazaniem napędu na koła. Rzeczywisty obwód toczny opony przelicza następnie tę rotację na teoretyczną prędkość pojazdu.' },
143
+ { type: 'stats', columns: 3, items: [
144
+ { value: '3 redukcje', label: 'Wstępna, bieg i przekładnia główna' },
145
+ { value: '6 biegów', label: 'Edytowalna drabina przełożeń' },
146
+ { value: '2 układy', label: 'Metryczny i Imperialny' },
147
+ ] },
148
+ { type: 'title', text: 'Matematyczna formuła obliczeń prędkości', level: 2 },
149
+ { type: 'paragraph', html: 'Przełożenie całkowite (overall ratio) stanowi iloczyn przełożenia wstępnego, przełożenia wybranego biegu oraz przekładni głównej. Obroty koła na minutę wylicza się poprzez podzielenie obrotów silnika przez to przełożenie całkowite. Na koniec prędkość teoretyczna jest mnożona przez obwód koła i przeliczana na kilometry na godzinę.' },
150
+ { type: 'table', headers: ['Parametr wejściowy', 'Wpływ na obliczenia', 'Interpretacja praktyczna'], rows: [
151
+ ['Obroty silnika (RPM)', 'Wpływa na wszystkie biegi', 'Wyższe obroty silnika dają proporcjonalnie wyższą prędkość teoretyczną'],
152
+ ['Przełożenie biegu', 'Wpływa na konkretny bieg', 'Wyższa wartość numeryczna oznacza większą redukcję i niższą prędkość'],
153
+ ['Przełożenie główne', 'Cały układ napędowy', 'Krótsze przełożenie główne zmniejsza prędkość maksymalną na wszystkich biegach'],
154
+ ['Średnica koła', 'Cały układ napędowy', 'Większy obwód toczny pokonuje większy dystans przy każdym obrocie koła'],
155
+ ] },
156
+ { type: 'title', text: 'Jak odczytywać i analizować drabinę prędkości', level: 2 },
157
+ { type: 'paragraph', html: 'Kolumna prędkości wskazuje teoretyczną prędkość w kilometrach na godzinę przy wprowadzonych obrotach silnika. Kolumna obrotów pokazuje prędkość obrotową silnika wymaganą do utrzymania zadanej prędkości docelowej. Oba ujęcia pozwalają ocenić odstępy między biegami.' },
158
+ { type: 'tip', title: 'Używaj rzeczywistego obwodu tocznego opony', html: 'Nominalny rozmiar podawany przez producenta opony jest jedynie wartością przybliżoną. Ciśnienie w oponie, obciążenie pojazdu oraz odkształcenie przy wysokich prędkościach zmieniają promień toczny. Zmierz rzeczywisty obwód dla uzyskania precyzyjnych wyników.' },
159
+ { type: 'title', text: 'Ta sama fizyka dla samochodów i motocykli', level: 2 },
160
+ { type: 'paragraph', html: 'Zależność między przełożeniami napędu, obrotami silnika i średnicą koła opiera się na tych samych prawach fizyki zarówno w samochodach osobowych, jak i motocyklach. Domyślne profile stanowią doskonały punkt wyjścia do porównywania modyfikacji skrzyni.' },
161
+ ],
162
+ };
@@ -0,0 +1,162 @@
1
+ import type { FAQPage, HowTo, SoftwareApplication, WithContext } from 'schema-dts';
2
+ import type { ToolLocaleContent } from '../../../types';
3
+ import { bibliographyEntries } from '../bibliography';
4
+ import type { CarMotorcycleGearRatioCalculatorUI } from '../ui';
5
+
6
+ const slug = 'calculadora-relacao-caixa-velocidades-rpm-velocidade-carro-moto';
7
+ const title = 'Calculadora de Relação da Caixa de Velocidades RPM e Velocidade Carro e Moto';
8
+ const description = 'Calcule a velocidade teórica por mudança a partir das RPM do motor, relação primária, transmissão final e diâmetro da roda.';
9
+
10
+ const faqData = [
11
+ {
12
+ question: 'Como se calcula a velocidade a partir de uma relação de transmissão?',
13
+ answer: 'A calculadora divide as rotações por minuto (RPM) do motor pela relação primária, a mudança selecionada e a transmissão final para obter as RPM da roda, multiplicando o resultado pela circunferência do pneu.',
14
+ },
15
+ {
16
+ question: 'Qual é a diferença entre a relação de uma mudança e a relação total?',
17
+ answer: 'A relação de mudança descreve apenas uma mudança da caixa. A relação total (overall ratio) combina a redução primária, a mudança engrenada e o diferencial final.',
18
+ },
19
+ {
20
+ question: 'Por que razão uma relação numericamente mais baixa produz mais velocidade?',
21
+ answer: 'Uma relação numericamente menor exige menos voltas de motor por cada volta de roda. Para as mesmas RPM de motor, a roda gira mais rápido.',
22
+ },
23
+ {
24
+ question: 'Esta calculadora prevê a velocidade real exata na estrada?',
25
+ answer: 'Não. É uma estimativa cinemática teórica. A deformação do pneu em alta velocidade, a derrapagem da embraiagem e a resistência do ar alteram a velocidade real.',
26
+ },
27
+ ];
28
+
29
+ const howToData = [
30
+ {
31
+ name: 'Selecione o perfil do veículo',
32
+ text: 'Escolha a predefinição de carro ou moto e personalize os parâmetros conforme o seu veículo.',
33
+ },
34
+ {
35
+ name: 'Configure a transmissão e a roda',
36
+ text: 'Introduza as RPM do motor, o limite de rotação (redline), a relação primária, a transmissão final e o diâmetro da roda.',
37
+ },
38
+ {
39
+ name: 'Introduza as relações de mudança',
40
+ text: 'Escreva o valor numérico para cada mudança da caixa.',
41
+ },
42
+ {
43
+ name: 'Analise a escala de velocidades',
44
+ text: 'Compare a velocidade teórica e as RPM necessárias para a velocidade alvo em cada mudança.',
45
+ },
46
+ ];
47
+
48
+ const faqSchema: WithContext<FAQPage> = {
49
+ '@context': 'https://schema.org',
50
+ '@type': 'FAQPage',
51
+ mainEntity: faqData.map((item) => ({
52
+ '@type': 'Question',
53
+ name: item.question,
54
+ acceptedAnswer: { '@type': 'Answer', text: item.answer },
55
+ })),
56
+ };
57
+
58
+ const howToSchema: WithContext<HowTo> = {
59
+ '@context': 'https://schema.org',
60
+ '@type': 'HowTo',
61
+ name: title,
62
+ description,
63
+ step: howToData.map((step, index) => ({
64
+ '@type': 'HowToStep',
65
+ position: index + 1,
66
+ name: step.name,
67
+ text: step.text,
68
+ })),
69
+ };
70
+
71
+ const appSchema: WithContext<SoftwareApplication> = {
72
+ '@context': 'https://schema.org',
73
+ '@type': 'SoftwareApplication',
74
+ name: title,
75
+ description,
76
+ applicationCategory: 'UtilitiesApplication',
77
+ operatingSystem: 'All',
78
+ offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
79
+ inLanguage: 'pt',
80
+ };
81
+
82
+ export const content: ToolLocaleContent<CarMotorcycleGearRatioCalculatorUI> = {
83
+ slug,
84
+ title,
85
+ description,
86
+ ui: {
87
+ unitsLabel: 'Unidades',
88
+ metricLabel: 'Métrico',
89
+ imperialLabel: 'Imperial',
90
+ vehicleProfileLabel: 'Perfil do veículo',
91
+ carLabel: 'Carro',
92
+ motorcycleLabel: 'Moto',
93
+ carPresetLabel: 'Perfil carro',
94
+ motorcyclePresetLabel: 'Perfil moto',
95
+ engineRpmLabel: 'Regime do motor (RPM)',
96
+ redlineLabel: 'Corte de rotação (Redline)',
97
+ primaryRatioLabel: 'Relação primária',
98
+ finalDriveLabel: 'Transmissão final',
99
+ wheelDiameterLabel: 'Diâmetro da roda',
100
+ targetSpeedLabel: 'Velocidade alvo',
101
+ gearStackLabel: 'Relações da caixa de velocidades',
102
+ gearRatioHint: 'Introduza valores numéricos como 3.20:1',
103
+ gearLabel: 'Mudança',
104
+ transmissionSceneLabel: 'Escala de velocidades',
105
+ motionHintLabel: 'Modelo cinemático dinâmico',
106
+ motionHintText: 'Em direto: altere as RPM ou relações para observar a resposta do sistema.',
107
+ engineLabel: 'Motor',
108
+ gearboxLabel: 'Caixa de velocidades',
109
+ finalDriveShortLabel: 'Diferencial final',
110
+ wheelLabel: 'Roda',
111
+ speedAtRpmLabel: 'Velocidade às RPM indicadas',
112
+ rpmAtTargetLabel: 'à velocidade alvo',
113
+ overallRatioLabel: 'relação total',
114
+ wheelRpmLabel: 'RPM da roda',
115
+ targetSpeedMarkerLabel: 'alvo',
116
+ selectedGearLabel: 'Mudança recomendada',
117
+ decisionLabel: 'Interpretação dos resultados',
118
+ decisionSpeedLabel: 'Velocidade teórica às RPM indicadas',
119
+ decisionCruiseLabel: 'RPM do motor à velocidade alvo',
120
+ decisionHelper: 'Compare o regime de cruzeiro antes de alterar uma mudança ou a transmissão final.',
121
+ chooseGearHint: 'A linha destacada atinge a velocidade alvo sem ultrapassar o limite de rotação.',
122
+ editInputsHint: 'Veja a velocidade teórica em cada mudança e verifique as RPM necessárias.',
123
+ calculationStatusLabel: 'Estado do cálculo',
124
+ readyMessage: 'Relação adequada',
125
+ highRpmMessage: 'Acima do corte',
126
+ lowRpmMessage: 'Regime baixo',
127
+ invalidMessage: 'Verifique os dados',
128
+ resetLabel: 'Restaurar perfil carro',
129
+ educationalNotice: 'Estimativa teórica. Consulte dados oficiais do fabricante antes de modificar um veículo real.',
130
+ ratioUnit: ':1',
131
+ speedUnitMetric: 'km/h',
132
+ speedUnitImperial: 'mph',
133
+ wheelUnitMetric: 'mm',
134
+ wheelUnitImperial: 'in',
135
+ },
136
+ faq: faqData,
137
+ howTo: howToData,
138
+ schemas: [faqSchema, howToSchema, appSchema],
139
+ bibliography: bibliographyEntries,
140
+ seo: [
141
+ { type: 'title', text: 'Como a transmissão transforma o regime em velocidade', level: 2 },
142
+ { type: 'paragraph', html: 'A transmissão não transmite as voltas do motor diretamente à estrada. A redução primária, a mudança selecionada e a transmissão final reduzem a rotação antes de chegar às rodas. A circunferência do pneu converte essa rotação em velocidade.' },
143
+ { type: 'stats', columns: 3, items: [
144
+ { value: '3 reduções', label: 'Primária, mudança e diferencial' },
145
+ { value: '6 mudanças', label: 'Escala editável de velocidades' },
146
+ { value: '2 sistemas', label: 'Métrico e Imperial' },
147
+ ] },
148
+ { type: 'title', text: 'A fórmula matemática do cálculo', level: 2 },
149
+ { type: 'paragraph', html: 'A relação total é igual ao produto da relação primária, relação de mudança e transmissão final. As RPM da roda resultam da divisão das RPM do motor pela relação total.' },
150
+ { type: 'table', headers: ['Parâmetro', 'Efeito no cálculo', 'Interpretação'], rows: [
151
+ ['RPM do motor', 'Todas as mudanças', 'Maior regime gera maior velocidade teórica'],
152
+ ['Relação de mudança', 'Uma mudança específica', 'Número mais alto significa maior redução e menor velocidade'],
153
+ ['Transmissão final', 'Todo o conjunto', 'Diferencial mais curto reduz a velocidade em todas as mudanças'],
154
+ ['Diâmetro da roda', 'Todo o conjunto', 'Roda maior percorre mais distância por volta'],
155
+ ] },
156
+ { type: 'title', text: 'Como interpretar a escala de velocidades', level: 2 },
157
+ { type: 'paragraph', html: 'A coluna velocidade indica a velocidade teórica às RPM introduzidas. A coluna RPM mostra o regime do motor necessário para circular à velocidade alvo.' },
158
+ { type: 'tip', title: 'Utilize a circunferência de rolamento real', html: 'As medidas nominais do pneu são aproximadas. A pressão e a carga alteram o raio de rolamento efetivo.' },
159
+ { type: 'title', text: 'Mesma física para carros e motos', level: 2 },
160
+ { type: 'paragraph', html: 'A relação entre desmultiplicações e diâmetro da roda funciona exatamente da mesma forma para automóveis e motociclos.' },
161
+ ],
162
+ };
@@ -0,0 +1,162 @@
1
+ import type { FAQPage, HowTo, SoftwareApplication, WithContext } from 'schema-dts';
2
+ import type { ToolLocaleContent } from '../../../types';
3
+ import { bibliographyEntries } from '../bibliography';
4
+ import type { CarMotorcycleGearRatioCalculatorUI } from '../ui';
5
+
6
+ const slug = 'kalkulyator-peredatochnyh-chisel-oborotov-skorosti-avto-moto';
7
+ const title = 'Калькулятор Передаточных Чисел Оборотов и Скорости Авто и Мото';
8
+ const description = 'Рассчитайте теоретическую скорость по передачам на основе оборотов двигателя, первичной передачи, главной пары и диаметра колеса.';
9
+
10
+ const faqData = [
11
+ {
12
+ question: 'Как рассчитывается скорость по передаточному числу?',
13
+ answer: 'Калькулятор делит обороты двигателя (RPM) на коэффициент первичной передачи, выбранную передачу и главную пару, получая обороты колеса. Затем они умножаются на длину окружности шины.',
14
+ },
15
+ {
16
+ question: 'Чем отличается передаточное число ступени от общего число передачи?',
17
+ answer: 'Передаточное число ступени описывает одну передачу в КПП. Общее передаточное число (overall ratio) объединяет первичную передачу, выбранную ступень и главную пару.',
18
+ },
19
+ {
20
+ question: 'Почему меньшее числовое значение передачи дает большую скорость?',
21
+ answer: 'Меньшее передаточное число требует меньшего количества оборотов двигателя на один оборот колеса. При тех же оборотах двигателя колесо вращается быстрее.',
22
+ },
23
+ {
24
+ question: 'Показывает ли калькулятор точную реальную скорость на дороге?',
25
+ answer: 'Нет. Это теоретический кинематический расчет. Деформация шин на высокой скорости, пробуксовка сцепления и сопротивление воздуха меняют реальную скорость.',
26
+ },
27
+ ];
28
+
29
+ const howToData = [
30
+ {
31
+ name: 'Выберите профиль транспортного средства',
32
+ text: 'Выберите пресет для автомобиля или мотоцикла и измените значения под параметры вашего транспорта.',
33
+ },
34
+ {
35
+ name: 'Настройте параметры трансмиссии',
36
+ text: 'Введите обороты двигателя, отсечку (redline), первичную передачу, главную пару и диаметр колеса.',
37
+ },
38
+ {
39
+ name: 'Введите передаточные числа КПП',
40
+ text: 'Укажите значения для каждой передачи от первой до высшей.',
41
+ },
42
+ {
43
+ name: 'Изучите таблицу скоростей',
44
+ text: 'Сравните теоретическую скорость и обороты двигателя для каждой передачи при целевой скорости.',
45
+ },
46
+ ];
47
+
48
+ const faqSchema: WithContext<FAQPage> = {
49
+ '@context': 'https://schema.org',
50
+ '@type': 'FAQPage',
51
+ mainEntity: faqData.map((item) => ({
52
+ '@type': 'Question',
53
+ name: item.question,
54
+ acceptedAnswer: { '@type': 'Answer', text: item.answer },
55
+ })),
56
+ };
57
+
58
+ const howToSchema: WithContext<HowTo> = {
59
+ '@context': 'https://schema.org',
60
+ '@type': 'HowTo',
61
+ name: title,
62
+ description,
63
+ step: howToData.map((step, index) => ({
64
+ '@type': 'HowToStep',
65
+ position: index + 1,
66
+ name: step.name,
67
+ text: step.text,
68
+ })),
69
+ };
70
+
71
+ const appSchema: WithContext<SoftwareApplication> = {
72
+ '@context': 'https://schema.org',
73
+ '@type': 'SoftwareApplication',
74
+ name: title,
75
+ description,
76
+ applicationCategory: 'UtilitiesApplication',
77
+ operatingSystem: 'All',
78
+ offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
79
+ inLanguage: 'ru',
80
+ };
81
+
82
+ export const content: ToolLocaleContent<CarMotorcycleGearRatioCalculatorUI> = {
83
+ slug,
84
+ title,
85
+ description,
86
+ ui: {
87
+ unitsLabel: 'Единицы',
88
+ metricLabel: 'Метрические',
89
+ imperialLabel: 'Имперские',
90
+ vehicleProfileLabel: 'Профиль транспорта',
91
+ carLabel: 'Автомобиль',
92
+ motorcycleLabel: 'Мотоцикл',
93
+ carPresetLabel: 'Пресет авто',
94
+ motorcyclePresetLabel: 'Пресет мото',
95
+ engineRpmLabel: 'Обороты двигателя (RPM)',
96
+ redlineLabel: 'Отсечка оборотов (Redline)',
97
+ primaryRatioLabel: 'Первичная передача',
98
+ finalDriveLabel: 'Главная пара (Главная передача)',
99
+ wheelDiameterLabel: 'Диаметр колеса',
100
+ targetSpeedLabel: 'Целевая скорость',
101
+ gearStackLabel: 'Передаточные числа КПП',
102
+ gearRatioHint: 'Введите числовые значения, например 3.20:1',
103
+ gearLabel: 'Передача',
104
+ transmissionSceneLabel: 'Шкала скоростей трансмиссии',
105
+ motionHintLabel: 'Динамическая модель трансмиссии',
106
+ motionHintText: 'В реальном времени: меняйте обороты или передачи и смотрите на реакцию системы.',
107
+ engineLabel: 'Двигатель',
108
+ gearboxLabel: 'Коробка передач',
109
+ finalDriveShortLabel: 'Главная пара',
110
+ wheelLabel: 'Колесо',
111
+ speedAtRpmLabel: 'Скорость при введенных оборотах',
112
+ rpmAtTargetLabel: 'при целевой скорости',
113
+ overallRatioLabel: 'общее передаточное число',
114
+ wheelRpmLabel: 'обороты колеса (RPM)',
115
+ targetSpeedMarkerLabel: 'цель',
116
+ selectedGearLabel: 'Рекомендуемая передача',
117
+ decisionLabel: 'Интерпретация результатов',
118
+ decisionSpeedLabel: 'Теоретическая скорость при введенных оборотах',
119
+ decisionCruiseLabel: 'Обороты двигателя при целевой скорости',
120
+ decisionHelper: 'Сравните крейсерские обороты перед заменой главной пары или передачи.',
121
+ chooseGearHint: 'Выделенная строка соответствует целевой скорости без превышения отсечки.',
122
+ editInputsHint: 'Оцените скорость на каждой передаче и проверьте требуемые обороты.',
123
+ calculationStatusLabel: 'Статус расчета',
124
+ readyMessage: 'Подходящая передача',
125
+ highRpmMessage: 'Превышение отсечки',
126
+ lowRpmMessage: 'Низкие обороты',
127
+ invalidMessage: 'Проверьте данные',
128
+ resetLabel: 'Сбросить пресет авто',
129
+ educationalNotice: 'Теоретический расчет. Сверяйтесь с технической документацией производителя перед модификацией транспорта.',
130
+ ratioUnit: ':1',
131
+ speedUnitMetric: 'км/ч',
132
+ speedUnitImperial: 'миль/ч',
133
+ wheelUnitMetric: 'мм',
134
+ wheelUnitImperial: 'дюйм',
135
+ },
136
+ faq: faqData,
137
+ howTo: howToData,
138
+ schemas: [faqSchema, howToSchema, appSchema],
139
+ bibliography: bibliographyEntries,
140
+ seo: [
141
+ { type: 'title', text: 'Как трансмиссия преобразует обороты в скорость', level: 2 },
142
+ { type: 'paragraph', html: 'Трансмиссия не передает обороты двигателя на дорогу напрямую. Первичная передача, выбранная ступень КПП и главная пара понижают скорость вращения. Длина окружности шины превращает вращение колеса в скорость движения.' },
143
+ { type: 'stats', columns: 3, items: [
144
+ { value: '3 ступени', label: 'Первичная, КПП и главная пара' },
145
+ { value: '6 передач', label: 'Настраиваемая шкала скоростей' },
146
+ { value: '2 системы', label: 'Метрическая и имперская' },
147
+ ] },
148
+ { type: 'title', text: 'Математическая формула расчета', level: 2 },
149
+ { type: 'paragraph', html: 'Общее передаточное число равно произведению первичной передачи, выбранной ступени и главной пары. Обороты колеса равны оборотам двигателя, деленным на общее передаточное число.' },
150
+ { type: 'table', headers: ['Параметр', 'Влияние на расчет', 'Интерпретация'], rows: [
151
+ ['Обороты двигателя', 'Все передачи', 'Более высокие обороты дают большую теоретическую скорость'],
152
+ ['Передаточное число КПП', 'Отдельная передача', 'Большее число означает более короткую передачу и меньшую скорость'],
153
+ ['Главная пара', 'Вся трансмиссия', 'Более короткая главная пара снижает скорость на всех передачах'],
154
+ ['Диаметр колеса', 'Вся трансмиссия', 'Больший диаметр проходит большее расстояние за один оборот'],
155
+ ] },
156
+ { type: 'title', text: 'Как пользоваться таблицей скоростей', level: 2 },
157
+ { type: 'paragraph', html: 'Столбец скорости показывает теоретическое значение при заданных оборотах. Столбец RPM показывает обороты двигателя, необходимые для движения с целевой скоростью.' },
158
+ { type: 'tip', title: 'Учитывайте реальный радиус качения', html: 'Маркировочный размер шины является приблизительным. Давление и нагрузка меняют фактический радиус качения.' },
159
+ { type: 'title', text: 'Единая физика для авто и мото', level: 2 },
160
+ { type: 'paragraph', html: 'Соотношение между передаточными числами и диаметром колеса работает одинаково для автомобилей и мотоциклов.' },
161
+ ],
162
+ };