@jjlmoya/utils-motor 1.1.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 +68 -0
- package/scripts/postinstall.mjs +27 -0
- package/src/category/i18n/de.ts +17 -0
- package/src/category/i18n/en.ts +17 -0
- package/src/category/i18n/es.ts +17 -0
- package/src/category/i18n/fr.ts +17 -0
- package/src/category/i18n/id.ts +17 -0
- package/src/category/i18n/it.ts +17 -0
- package/src/category/i18n/ja.ts +17 -0
- package/src/category/i18n/ko.ts +17 -0
- package/src/category/i18n/nl.ts +17 -0
- package/src/category/i18n/pl.ts +17 -0
- package/src/category/i18n/pt.ts +17 -0
- package/src/category/i18n/ru.ts +17 -0
- package/src/category/i18n/sv.ts +17 -0
- package/src/category/i18n/tr.ts +17 -0
- package/src/category/i18n/zh.ts +17 -0
- package/src/category/index.ts +24 -0
- package/src/category/seo.astro +15 -0
- package/src/components/PreviewNavSidebar.astro +116 -0
- package/src/components/PreviewToolbar.astro +143 -0
- package/src/data.ts +11 -0
- package/src/entries.ts +7 -0
- package/src/env.d.ts +5 -0
- package/src/index.ts +23 -0
- package/src/layouts/PreviewLayout.astro +117 -0
- package/src/pages/[locale]/[slug].astro +153 -0
- package/src/pages/[locale].astro +251 -0
- package/src/pages/index.astro +4 -0
- package/src/tests/diacritics_density.test.ts +118 -0
- package/src/tests/faq_count.test.ts +19 -0
- package/src/tests/i18n_coverage.test.ts +36 -0
- package/src/tests/inverted_punctuation.test.ts +84 -0
- package/src/tests/locale_completeness.test.ts +29 -0
- package/src/tests/mocks/astro_mock.js +2 -0
- package/src/tests/no_en_dash.test.ts +70 -0
- package/src/tests/no_h1_in_components.test.ts +48 -0
- package/src/tests/pagespeed_best_practices.test.ts +198 -0
- package/src/tests/schemas_fulfillment.test.ts +23 -0
- package/src/tests/script_density.test.ts +94 -0
- package/src/tests/seo_length.test.ts +23 -0
- package/src/tests/seo_parity.test.ts +60 -0
- package/src/tests/shared-test-helpers.ts +56 -0
- package/src/tests/slug_language_code_format.test.ts +23 -0
- package/src/tests/slug_uniqueness.test.ts +81 -0
- package/src/tests/spanish_leakage.test.ts +177 -0
- package/src/tests/title_quality.test.ts +55 -0
- package/src/tests/tool_exports.test.ts +34 -0
- package/src/tests/tool_validation.test.ts +17 -0
- package/src/tests/translation_copy.test.ts +125 -0
- package/src/tool/brakingDistanceCalculator/bibliography.astro +6 -0
- package/src/tool/brakingDistanceCalculator/bibliography.ts +12 -0
- package/src/tool/brakingDistanceCalculator/braking-distance-calculator.css +601 -0
- package/src/tool/brakingDistanceCalculator/component.astro +117 -0
- package/src/tool/brakingDistanceCalculator/controller.ts +114 -0
- package/src/tool/brakingDistanceCalculator/dom-views.ts +58 -0
- package/src/tool/brakingDistanceCalculator/entry.ts +30 -0
- package/src/tool/brakingDistanceCalculator/evaluator.ts +45 -0
- package/src/tool/brakingDistanceCalculator/i18n/de.ts +45 -0
- package/src/tool/brakingDistanceCalculator/i18n/en.ts +208 -0
- package/src/tool/brakingDistanceCalculator/i18n/es.ts +46 -0
- package/src/tool/brakingDistanceCalculator/i18n/factory.ts +114 -0
- package/src/tool/brakingDistanceCalculator/i18n/fr.ts +40 -0
- package/src/tool/brakingDistanceCalculator/i18n/id.ts +38 -0
- package/src/tool/brakingDistanceCalculator/i18n/it.ts +39 -0
- package/src/tool/brakingDistanceCalculator/i18n/ja.ts +38 -0
- package/src/tool/brakingDistanceCalculator/i18n/ko.ts +38 -0
- package/src/tool/brakingDistanceCalculator/i18n/nl.ts +38 -0
- package/src/tool/brakingDistanceCalculator/i18n/pl.ts +38 -0
- package/src/tool/brakingDistanceCalculator/i18n/pt.ts +39 -0
- package/src/tool/brakingDistanceCalculator/i18n/ru.ts +38 -0
- package/src/tool/brakingDistanceCalculator/i18n/sv.ts +38 -0
- package/src/tool/brakingDistanceCalculator/i18n/tr.ts +38 -0
- package/src/tool/brakingDistanceCalculator/i18n/zh.ts +38 -0
- package/src/tool/brakingDistanceCalculator/index.ts +10 -0
- package/src/tool/brakingDistanceCalculator/logic.test.ts +84 -0
- package/src/tool/brakingDistanceCalculator/logic.ts +82 -0
- package/src/tool/brakingDistanceCalculator/seo.astro +15 -0
- package/src/tool/brakingDistanceCalculator/storage.ts +28 -0
- package/src/tool/brakingDistanceCalculator/ui.ts +42 -0
- package/src/tools.ts +4 -0
- package/src/types.ts +72 -0
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
import type { FAQPage, HowTo, SoftwareApplication, WithContext } from 'schema-dts';
|
|
2
|
+
import type { FAQItem, HowToStep, ToolLocaleContent } from '../../../types';
|
|
3
|
+
import { bibliographyEntries } from '../bibliography';
|
|
4
|
+
import type { BrakingDistanceCalculatorUI } from '../ui';
|
|
5
|
+
|
|
6
|
+
export interface LocalizedSEO {
|
|
7
|
+
constructionTitle: string;
|
|
8
|
+
constructionText: string;
|
|
9
|
+
partsValue: string;
|
|
10
|
+
partsLabel: string;
|
|
11
|
+
speedValue: string;
|
|
12
|
+
speedLabel: string;
|
|
13
|
+
localValue: string;
|
|
14
|
+
localLabel: string;
|
|
15
|
+
formulaTitle: string;
|
|
16
|
+
formulaText: string;
|
|
17
|
+
tableHeaders: [string, string, string];
|
|
18
|
+
tableRows: [string, string, string][];
|
|
19
|
+
presetsTitle: string;
|
|
20
|
+
tipTitle: string;
|
|
21
|
+
tipText: string;
|
|
22
|
+
experimentTitle: string;
|
|
23
|
+
experimentText: string;
|
|
24
|
+
marginTitle: string;
|
|
25
|
+
marginText: string;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
export interface LocalizedContent {
|
|
29
|
+
locale: string;
|
|
30
|
+
slug: string;
|
|
31
|
+
title: string;
|
|
32
|
+
description: string;
|
|
33
|
+
faqTitle: string;
|
|
34
|
+
bibliographyTitle: string;
|
|
35
|
+
ui: BrakingDistanceCalculatorUI;
|
|
36
|
+
faq: FAQItem[];
|
|
37
|
+
howTo: HowToStep[];
|
|
38
|
+
seo: LocalizedSEO;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
function createSchemas(data: LocalizedContent): ToolLocaleContent<BrakingDistanceCalculatorUI>['schemas'] {
|
|
42
|
+
const faqSchema: WithContext<FAQPage> = {
|
|
43
|
+
'@context': 'https://schema.org',
|
|
44
|
+
'@type': 'FAQPage',
|
|
45
|
+
mainEntity: data.faq.map((item) => ({
|
|
46
|
+
'@type': 'Question',
|
|
47
|
+
name: item.question,
|
|
48
|
+
acceptedAnswer: { '@type': 'Answer', text: item.answer },
|
|
49
|
+
})),
|
|
50
|
+
};
|
|
51
|
+
const howToSchema: WithContext<HowTo> = {
|
|
52
|
+
'@context': 'https://schema.org',
|
|
53
|
+
'@type': 'HowTo',
|
|
54
|
+
name: data.title,
|
|
55
|
+
description: data.description,
|
|
56
|
+
step: data.howTo.map((step, index) => ({
|
|
57
|
+
'@type': 'HowToStep',
|
|
58
|
+
position: index + 1,
|
|
59
|
+
name: step.name,
|
|
60
|
+
text: step.text,
|
|
61
|
+
})),
|
|
62
|
+
};
|
|
63
|
+
const appSchema: WithContext<SoftwareApplication> = {
|
|
64
|
+
'@context': 'https://schema.org',
|
|
65
|
+
'@type': 'SoftwareApplication',
|
|
66
|
+
name: data.title,
|
|
67
|
+
description: data.description,
|
|
68
|
+
applicationCategory: 'UtilitiesApplication',
|
|
69
|
+
operatingSystem: 'All',
|
|
70
|
+
offers: { '@type': 'Offer', price: '0', priceCurrency: 'USD' },
|
|
71
|
+
inLanguage: data.locale,
|
|
72
|
+
};
|
|
73
|
+
return [faqSchema, howToSchema, appSchema];
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
export function createLocalizedContent(
|
|
77
|
+
data: LocalizedContent,
|
|
78
|
+
): ToolLocaleContent<BrakingDistanceCalculatorUI> {
|
|
79
|
+
const seo = data.seo;
|
|
80
|
+
return {
|
|
81
|
+
slug: data.slug,
|
|
82
|
+
title: data.title,
|
|
83
|
+
description: data.description,
|
|
84
|
+
faqTitle: data.faqTitle,
|
|
85
|
+
bibliographyTitle: data.bibliographyTitle,
|
|
86
|
+
ui: data.ui,
|
|
87
|
+
faq: data.faq,
|
|
88
|
+
howTo: data.howTo,
|
|
89
|
+
schemas: createSchemas(data),
|
|
90
|
+
bibliography: bibliographyEntries,
|
|
91
|
+
seo: [
|
|
92
|
+
{ type: 'title', text: seo.constructionTitle, level: 2 },
|
|
93
|
+
{ type: 'paragraph', html: seo.constructionText },
|
|
94
|
+
{
|
|
95
|
+
type: 'stats',
|
|
96
|
+
columns: 3,
|
|
97
|
+
items: [
|
|
98
|
+
{ value: seo.partsValue, label: seo.partsLabel },
|
|
99
|
+
{ value: seo.speedValue, label: seo.speedLabel },
|
|
100
|
+
{ value: seo.localValue, label: seo.localLabel },
|
|
101
|
+
],
|
|
102
|
+
},
|
|
103
|
+
{ type: 'title', text: seo.formulaTitle, level: 2 },
|
|
104
|
+
{ type: 'paragraph', html: seo.formulaText },
|
|
105
|
+
{ type: 'table', headers: seo.tableHeaders, rows: seo.tableRows },
|
|
106
|
+
{ type: 'title', text: seo.presetsTitle, level: 2 },
|
|
107
|
+
{ type: 'tip', title: seo.tipTitle, html: seo.tipText },
|
|
108
|
+
{ type: 'title', text: seo.experimentTitle, level: 2 },
|
|
109
|
+
{ type: 'paragraph', html: seo.experimentText },
|
|
110
|
+
{ type: 'title', text: seo.marginTitle, level: 2 },
|
|
111
|
+
{ type: 'paragraph', html: seo.marginText },
|
|
112
|
+
],
|
|
113
|
+
};
|
|
114
|
+
}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { createLocalizedContent } from './factory';
|
|
2
|
+
|
|
3
|
+
export const content = createLocalizedContent({
|
|
4
|
+
locale: 'fr', slug: 'calculateur-distance-freinage', title: 'Calculateur de distance de freinage pour voitures et motos',
|
|
5
|
+
description: 'Estimez les distances de réaction, de freinage et d\'arrêt selon la vitesse, le temps de réaction, l\'adhérence et la pente.', faqTitle: 'Questions fréquentes', bibliographyTitle: 'Références bibliographiques',
|
|
6
|
+
ui: {
|
|
7
|
+
unitLabel: 'Unités', metricUnit: 'km/h', imperialUnit: 'mph', vehicleLabel: 'Véhicule', carLabel: 'Voiture', motorcycleLabel: 'Moto', speedLabel: 'Vitesse initiale',
|
|
8
|
+
reactionTimeLabel: 'Temps de réaction', gradeLabel: 'Pente de la route', roadConditionLabel: 'Adhérence de la route', dryRoadLabel: 'Sèche', wetRoadLabel: 'Mouillée', snowRoadLabel: 'Neige', iceRoadLabel: 'Verglas',
|
|
9
|
+
decelerationLabel: 'Décélération supposée', reactionDistanceLabel: 'Réaction', brakingDistanceLabel: 'Freinage', totalDistanceLabel: 'Distance totale d\'arrêt', totalTimeLabel: 'Temps total d\'arrêt',
|
|
10
|
+
roadStartLabel: 'Danger repéré', brakePointLabel: 'Freinage déclenché', stopPointLabel: 'Arrêt complet', safetyExperimentLabel: 'Test de distance de sécurité',
|
|
11
|
+
safetyExperimentHint: 'Scénario prudent: le trafic devant vous devient un obstacle fixe dès que vous le repérez.', gapTimeLabel: 'Intervalle de suivi', availableDistanceLabel: 'Espace disponible',
|
|
12
|
+
marginLabel: 'Marge de sécurité', shortfallLabel: 'Distance manquante', simulateLabel: 'Simuler l\'arrêt', leadVehicleLabel: 'Véhicule devant', enoughGapMessage: 'L\'arrêt calculé tient dans l\'espace disponible avec une certaine marge.',
|
|
13
|
+
tightGapMessage: 'L\'arrêt tient tout juste. Les conditions réelles exigent davantage de marge.', insufficientGapMessage: 'Le véhicule atteint le trafic devant lui avant la fin de l\'arrêt calculé.', advancedLabel: 'Hypothèse de freinage avancée',
|
|
14
|
+
normalMessage: 'La distance calculée reste contenue, mais les conditions réelles imposent une marge de sécurité.', warningMessage: 'La route nécessaire est plus longue qu\'elle ne paraît depuis le poste de conduite.',
|
|
15
|
+
criticalMessage: 'Une très faible adhérence ou une vitesse élevée produit une distance d\'arrêt extrême.', carNote: 'Le comportement d\'une voiture dépend des pneus, des freins, de la charge, de l\'ABS et de l\'état de la chaussée.',
|
|
16
|
+
motorcycleNote: 'Pour une moto, la technique, la répartition du freinage, l\'inclinaison, les pneus et la chaussée comptent également.', estimateNotice: 'Estimation à visée pédagogique uniquement. Ne l\'utilisez ni comme distance sûre garantie ni à la place du code de la route.',
|
|
17
|
+
},
|
|
18
|
+
faq: [
|
|
19
|
+
{ question: 'Quelle différence entre distance de réaction et distance de freinage ?', answer: 'La distance de réaction est parcourue avant le début du freinage. La distance de freinage commence lorsque les freins agissent et se termine à l\'arrêt. Leur somme constitue la distance totale d\'arrêt.' },
|
|
20
|
+
{ question: 'Pourquoi la distance d\'arrêt augmente-t-elle si vite avec la vitesse ?', answer: 'La distance de réaction augmente proportionnellement à la vitesse, tandis que la distance de freinage croît approximativement avec son carré. À conditions identiques, doubler la vitesse peut donc quadrupler la partie liée au freinage.' },
|
|
21
|
+
{ question: 'Comment la pente modifie-t-elle l\'estimation ?', answer: 'Une montée augmente la décélération effective et une descente la réduit. Le calculateur traite la pente comme une composante de la gravité, selon la structure du modèle FHWA de distance de visibilité d\'arrêt.' },
|
|
22
|
+
{ question: 'Le résultat garantit-il une distance de sécurité ?', answer: 'Non. Pneus, freins, attention, charge, météo, saletés, fonctionnement de l\'ABS et erreurs de mesure modifient la distance réelle. Respectez les règles officielles et conservez une marge supérieure.' },
|
|
23
|
+
],
|
|
24
|
+
howTo: [
|
|
25
|
+
{ name: 'Choisir l\'unité et le véhicule', text: 'Sélectionnez les kilomètres ou les miles par heure, puis la voiture ou la moto afin d\'afficher l\'avertissement adapté.' },
|
|
26
|
+
{ name: 'Régler la vitesse et le temps de réaction', text: 'Déplacez les curseurs pour reproduire le scénario que vous souhaitez étudier.' },
|
|
27
|
+
{ name: 'Décrire la chaussée', text: 'Choisissez une adhérence, affinez au besoin la décélération et indiquez une valeur positive en montée ou négative en descente.' },
|
|
28
|
+
{ name: 'Lire les phases de l\'arrêt', text: 'Comparez la zone bleue de réaction à la zone ambrée de freinage, puis consultez la distance et le temps totaux.' },
|
|
29
|
+
{ name: 'Tester l\'espacement', text: 'Définissez un intervalle de suivi et lancez la simulation pour vérifier si le véhicule s\'arrête avant celui qui le précède dans ce scénario prudent.' },
|
|
30
|
+
],
|
|
31
|
+
seo: {
|
|
32
|
+
constructionTitle: 'Comment se compose la distance totale d\'arrêt', constructionText: 'Un arrêt complet comporte deux phases. Pendant la <strong>perception et la réaction</strong>, le véhicule poursuit sa course presque à sa vitesse initiale. Une fois les freins actifs, les forces entre pneus et chaussée dissipent l\'énergie cinétique. Le calculateur sépare ces distances afin de ne pas confondre temps de réaction et efficacité du freinage.',
|
|
33
|
+
partsValue: '2 phases', partsLabel: 'Réaction et freinage', speedValue: 'Vitesse²', speedLabel: 'Progression du freinage', localValue: '100 % local', localLabel: 'Aucune donnée de trajet transmise', formulaTitle: 'La formule de l\'estimation',
|
|
34
|
+
formulaText: 'La distance de réaction correspond à la vitesse en mètres par seconde multipliée par le temps de réaction. La distance de freinage est le carré de la vitesse divisé par deux fois la décélération effective. Celle-ci associe l\'hypothèse de freinage à l\'effet gravitationnel de la pente.',
|
|
35
|
+
tableHeaders: ['Paramètre', 'Élément modifié', 'Pourquoi il compte'], tableRows: [['Vitesse', 'Les deux phases', 'La distance de freinage augmente approximativement avec son carré'], ['Temps de réaction', 'Phase de réaction', 'Distraction et fatigue ajoutent des mètres avant le freinage'], ['Décélération', 'Phase de freinage', 'Adhérence, pneus, freins et revêtement déterminent le ralentissement'], ['Pente', 'Phase de freinage', 'La gravité favorise la descente et s\'oppose à la montée']],
|
|
36
|
+
presetsTitle: 'Les états de chaussée sont des scénarios, pas des certifications', tipTitle: 'Privilégier une hypothèse prudente', tipText: 'Les réglages sec, mouillé, neige et verglas sont des hypothèses de calcul transparentes. Ils n\'analysent ni vos pneus ni la route. En cas de doute, essayez une décélération plus faible et une réaction plus longue, puis appliquez les règles officielles.',
|
|
37
|
+
experimentTitle: 'Expérimenter avec l\'espace disponible', experimentText: 'Le test transforme l\'intervalle temporel choisi en mètres à la vitesse indiquée, puis le compare à la distance totale d\'arrêt. L\'animation considère volontairement le trafic devant comme un obstacle fixe: il s\'agit d\'une illustration prudente, pas d\'une prédiction de deux véhicules en mouvement.',
|
|
38
|
+
marginTitle: 'Voitures et motos ont besoin d\'une marge réelle', marginText: 'Le même cadre physique illustre les deux catégories sans reproduire un véhicule précis. Température des freins, gomme des pneus, transfert de charge, réglage de l\'ABS, technique de conduite, contamination et météo peuvent éloigner la réalité du résultat idéal.',
|
|
39
|
+
},
|
|
40
|
+
});
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { createLocalizedContent } from './factory';
|
|
2
|
+
|
|
3
|
+
export const content = createLocalizedContent({
|
|
4
|
+
locale: 'id', slug: 'kalkulator-jarak-pengereman', title: 'Kalkulator jarak pengereman mobil dan sepeda motor',
|
|
5
|
+
description: 'Perkirakan jarak reaksi, pengereman, dan berhenti total berdasarkan kecepatan, waktu reaksi, daya cengkeram, dan kemiringan jalan.', faqTitle: 'Pertanyaan umum', bibliographyTitle: 'Referensi',
|
|
6
|
+
ui: {
|
|
7
|
+
unitLabel: 'Satuan', metricUnit: 'km/jam', imperialUnit: 'mph', vehicleLabel: 'Kendaraan', carLabel: 'Mobil', motorcycleLabel: 'Sepeda motor', speedLabel: 'Kecepatan awal', reactionTimeLabel: 'Waktu reaksi', gradeLabel: 'Kemiringan jalan',
|
|
8
|
+
roadConditionLabel: 'Daya cengkeram jalan', dryRoadLabel: 'Kering', wetRoadLabel: 'Basah', snowRoadLabel: 'Bersalju', iceRoadLabel: 'Ber-es', decelerationLabel: 'Perlambatan asumsi', reactionDistanceLabel: 'Reaksi', brakingDistanceLabel: 'Pengereman',
|
|
9
|
+
totalDistanceLabel: 'Jarak berhenti total', totalTimeLabel: 'Waktu berhenti total', roadStartLabel: 'Bahaya terlihat', brakePointLabel: 'Rem mulai bekerja', stopPointLabel: 'Berhenti penuh', safetyExperimentLabel: 'Eksperimen jarak aman',
|
|
10
|
+
safetyExperimentHint: 'Skenario konservatif: kendaraan di depan menjadi rintangan tetap saat Anda menyadarinya.', gapTimeLabel: 'Jeda waktu mengikuti', availableDistanceLabel: 'Ruang di depan', marginLabel: 'Margin keselamatan', shortfallLabel: 'Kekurangan jarak',
|
|
11
|
+
simulateLabel: 'Jalankan simulasi berhenti', leadVehicleLabel: 'Kendaraan di depan', enoughGapMessage: 'Jarak berhenti model masih muat dan menyisakan sedikit ruang.', tightGapMessage: 'Kendaraan hanya nyaris berhenti tepat waktu. Kondisi nyata membutuhkan margin lebih besar.',
|
|
12
|
+
insufficientGapMessage: 'Kendaraan mencapai lalu lintas di depan sebelum proses berhenti model selesai.', advancedLabel: 'Asumsi pengereman lanjutan', normalMessage: 'Jarak berhenti model relatif pendek, tetapi kondisi nyata tetap memerlukan margin keselamatan.',
|
|
13
|
+
warningMessage: 'Ruas jalan yang dibutuhkan lebih panjang daripada yang terasa dari kursi pengemudi.', criticalMessage: 'Cengkeraman sangat rendah atau kecepatan tinggi menghasilkan jarak berhenti ekstrem.', carNote: 'Perilaku mobil bergantung pada ban, kondisi rem, muatan, ABS, dan kualitas permukaan.',
|
|
14
|
+
motorcycleNote: 'Pengereman sepeda motor juga dipengaruhi teknik pengendara, pembagian rem, sudut kemiringan, ban, dan permukaan.', estimateNotice: 'Hanya perkiraan edukatif. Jangan gunakan hasil ini sebagai jarak aman yang dijamin atau pengganti peraturan lalu lintas.',
|
|
15
|
+
},
|
|
16
|
+
faq: [
|
|
17
|
+
{ question: 'Apa perbedaan jarak reaksi dan jarak pengereman?', answer: 'Jarak reaksi adalah jarak yang ditempuh sebelum pengereman dimulai. Jarak pengereman dimulai saat rem bekerja dan berakhir ketika kendaraan berhenti. Keduanya dijumlahkan menjadi jarak berhenti total.' },
|
|
18
|
+
{ question: 'Mengapa jarak berhenti meningkat begitu cepat saat kecepatan naik?', answer: 'Jarak reaksi bertambah sebanding dengan kecepatan, sedangkan jarak pengereman kira-kira bertambah mengikuti kuadrat kecepatan. Dalam kondisi sama, menggandakan kecepatan dapat membuat bagian pengereman sekitar empat kali lebih panjang.' },
|
|
19
|
+
{ question: 'Bagaimana kemiringan jalan memengaruhi perkiraan?', answer: 'Tanjakan meningkatkan perlambatan efektif, sedangkan turunan menguranginya. Kalkulator menerapkan kemiringan sebagai komponen gravitasi mengikuti struktur model jarak pandang henti FHWA.' },
|
|
20
|
+
{ question: 'Apakah hasil ini menjamin jarak mengikuti yang aman?', answer: 'Tidak. Ban, rem, perhatian, muatan, cuaca, kotoran permukaan, ABS, dan kesalahan pengukuran dapat mengubah jarak sebenarnya. Ikuti peraturan resmi dan berikan margin lebih besar.' },
|
|
21
|
+
],
|
|
22
|
+
howTo: [
|
|
23
|
+
{ name: 'Pilih satuan dan kendaraan', text: 'Pilih kilometer atau mil per jam, lalu mobil atau sepeda motor untuk menampilkan pengingat keselamatan yang sesuai.' },
|
|
24
|
+
{ name: 'Atur kecepatan dan waktu reaksi', text: 'Sesuaikan kedua penggeser dengan skenario yang ingin Anda pelajari.' },
|
|
25
|
+
{ name: 'Gambarkan kondisi jalan', text: 'Pilih daya cengkeram, sesuaikan perlambatan bila perlu, dan gunakan nilai positif untuk tanjakan atau negatif untuk turunan.' },
|
|
26
|
+
{ name: 'Baca urutan berhenti', text: 'Bandingkan bagian reaksi berwarna biru dengan bagian pengereman berwarna kuning, lalu tinjau jarak dan waktu total.' },
|
|
27
|
+
{ name: 'Uji jarak', text: 'Atur jeda waktu mengikuti dan jalankan simulasi untuk melihat apakah kendaraan berhenti sebelum lalu lintas di depan dalam skenario konservatif ini.' },
|
|
28
|
+
],
|
|
29
|
+
seo: {
|
|
30
|
+
constructionTitle: 'Cara terbentuknya jarak berhenti total', constructionText: 'Proses berhenti memiliki dua tahap. Selama <strong>persepsi dan reaksi</strong>, kendaraan terus melaju hampir pada kecepatan awal. Setelah rem bekerja, gaya antara ban dan jalan harus menghilangkan energi gerak. Kalkulator memisahkan kedua jarak agar waktu reaksi tidak disalahartikan sebagai kemampuan rem.',
|
|
31
|
+
partsValue: '2 tahap', partsLabel: 'Reaksi dan pengereman', speedValue: 'Kecepatan²', speedLabel: 'Pertumbuhan jarak rem', localValue: '100% lokal', localLabel: 'Data perjalanan tidak dikirim', formulaTitle: 'Rumus di balik perkiraan',
|
|
32
|
+
formulaText: 'Jarak reaksi adalah kecepatan dalam meter per detik dikalikan waktu reaksi. Jarak pengereman adalah kuadrat kecepatan dibagi dua kali perlambatan efektif. Perlambatan ini menggabungkan asumsi pengereman dengan pengaruh gravitasi dari kemiringan jalan.',
|
|
33
|
+
tableHeaders: ['Masukan', 'Bagian yang berubah', 'Mengapa penting'], tableRows: [['Kecepatan', 'Kedua tahap', 'Jarak pengereman meningkat kira-kira mengikuti kuadrat kecepatan'], ['Waktu reaksi', 'Tahap reaksi', 'Gangguan dan kelelahan menambah jarak sebelum mengerem'], ['Perlambatan', 'Tahap pengereman', 'Cengkeraman, ban, rem, dan permukaan menentukan perlambatan'], ['Kemiringan', 'Tahap pengereman', 'Gravitasi membantu saat menurun dan menahan saat menanjak']],
|
|
34
|
+
presetsTitle: 'Kondisi jalan adalah skenario, bukan sertifikasi', tipTitle: 'Gunakan asumsi yang konservatif', tipText: 'Pilihan kering, basah, salju, dan es adalah asumsi model yang transparan. Pilihan ini tidak memeriksa ban atau jalan Anda. Jika ragu, coba perlambatan lebih rendah dan waktu reaksi lebih panjang, lalu ikuti aturan resmi.',
|
|
35
|
+
experimentTitle: 'Bereksperimen dengan ruang di depan', experimentText: 'Eksperimen mengubah jeda waktu menjadi meter pada kecepatan pilihan dan membandingkannya dengan jarak berhenti total. Animasi sengaja memperlakukan lalu lintas di depan sebagai rintangan tetap. Ini ilustrasi konservatif, bukan prediksi dua kendaraan yang bergerak.',
|
|
36
|
+
marginTitle: 'Mobil dan sepeda motor membutuhkan margin nyata', marginText: 'Kerangka fisika yang sama dapat menggambarkan keduanya, tetapi tidak meniru kendaraan tertentu. Suhu rem, kompon ban, perpindahan beban, kalibrasi ABS, teknik berkendara, kontaminasi, dan cuaca dapat mengubah hasil nyata secara besar.',
|
|
37
|
+
},
|
|
38
|
+
});
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { createLocalizedContent } from './factory';
|
|
2
|
+
|
|
3
|
+
export const content = createLocalizedContent({
|
|
4
|
+
locale: 'it', slug: 'calcolatore-distanza-frenata', title: 'Calcolatore della distanza di frenata per auto e moto',
|
|
5
|
+
description: 'Stima le distanze di reazione, frenata e arresto in base a velocità, tempo di reazione, aderenza e pendenza.', faqTitle: 'Domande frequenti', bibliographyTitle: 'Riferimenti bibliografici',
|
|
6
|
+
ui: {
|
|
7
|
+
unitLabel: 'Unità', metricUnit: 'km/h', imperialUnit: 'mph', vehicleLabel: 'Veicolo', carLabel: 'Auto', motorcycleLabel: 'Moto', speedLabel: 'Velocità iniziale', reactionTimeLabel: 'Tempo di reazione',
|
|
8
|
+
gradeLabel: 'Pendenza stradale', roadConditionLabel: 'Aderenza stradale', dryRoadLabel: 'Asciutto', wetRoadLabel: 'Bagnato', snowRoadLabel: 'Neve', iceRoadLabel: 'Ghiaccio', decelerationLabel: 'Decelerazione ipotizzata',
|
|
9
|
+
reactionDistanceLabel: 'Reazione', brakingDistanceLabel: 'Frenata', totalDistanceLabel: 'Distanza totale di arresto', totalTimeLabel: 'Tempo totale di arresto', roadStartLabel: 'Pericolo rilevato',
|
|
10
|
+
brakePointLabel: 'Inizio frenata', stopPointLabel: 'Arresto completo', safetyExperimentLabel: 'Prova della distanza di sicurezza', safetyExperimentHint: 'Scenario prudenziale: il traffico davanti diventa un ostacolo fisso non appena lo noti.',
|
|
11
|
+
gapTimeLabel: 'Intervallo di sicurezza', availableDistanceLabel: 'Spazio disponibile', marginLabel: 'Margine di sicurezza', shortfallLabel: 'Distanza mancante', simulateLabel: 'Simula l\'arresto', leadVehicleLabel: 'Veicolo davanti',
|
|
12
|
+
enoughGapMessage: 'L\'arresto calcolato rientra nello spazio disponibile e lascia un certo margine.', tightGapMessage: 'L\'arresto rientra per poco. In condizioni reali serve più margine.', insufficientGapMessage: 'Il veicolo raggiunge il traffico davanti prima di completare l\'arresto calcolato.',
|
|
13
|
+
advancedLabel: 'Ipotesi di frenata avanzata', normalMessage: 'L\'arresto calcolato resta contenuto, ma le condizioni reali richiedono comunque un margine di sicurezza.', warningMessage: 'La strada necessaria è più lunga di quanto sembri dal posto di guida.',
|
|
14
|
+
criticalMessage: 'Aderenza molto bassa o velocità elevata producono una distanza di arresto estrema.', carNote: 'Il comportamento dell\'auto varia con pneumatici, freni, carico, ABS e qualità del fondo.', motorcycleNote: 'Per la moto contano anche tecnica del pilota, ripartizione della frenata, inclinazione, pneumatici e fondo.',
|
|
15
|
+
estimateNotice: 'Stima a solo scopo didattico. Non usarla come distanza sicura garantita né in sostituzione delle norme stradali.',
|
|
16
|
+
},
|
|
17
|
+
faq: [
|
|
18
|
+
{ question: 'Qual è la differenza tra distanza di reazione e distanza di frenata?', answer: 'La distanza di reazione è lo spazio percorso prima che inizi la frenata. La distanza di frenata va dall\'azione dei freni all\'arresto del veicolo. La loro somma è la distanza totale di arresto.' },
|
|
19
|
+
{ question: 'Perché la distanza di arresto cresce così rapidamente con la velocità?', answer: 'La distanza di reazione cresce in proporzione alla velocità, mentre quella di frenata aumenta all\'incirca con il quadrato della velocità. A parità di condizioni, raddoppiare la velocità può quadruplicare la parte di frenata.' },
|
|
20
|
+
{ question: 'In che modo la pendenza modifica la stima?', answer: 'Una salita aumenta la decelerazione effettiva, mentre una discesa la riduce. Il calcolatore applica la pendenza come componente gravitazionale secondo la struttura del modello FHWA per la distanza di visibilità di arresto.' },
|
|
21
|
+
{ question: 'Il risultato garantisce una distanza di sicurezza?', answer: 'No. Pneumatici, freni, attenzione, carico, meteo, contaminazione del fondo, ABS ed errori di misura possono cambiare la distanza reale. Rispetta le norme ufficiali e lascia un margine maggiore.' },
|
|
22
|
+
],
|
|
23
|
+
howTo: [
|
|
24
|
+
{ name: 'Scegli unità e veicolo', text: 'Seleziona chilometri o miglia orarie, quindi auto o moto per visualizzare l\'avvertenza pertinente.' },
|
|
25
|
+
{ name: 'Imposta velocità e reazione', text: 'Regola velocità e tempo di percezione-reazione per rappresentare lo scenario da esplorare.' },
|
|
26
|
+
{ name: 'Descrivi la strada', text: 'Scegli l\'aderenza, affina se necessario la decelerazione e indica un valore positivo in salita o negativo in discesa.' },
|
|
27
|
+
{ name: 'Leggi la sequenza di arresto', text: 'Confronta il tratto blu di reazione con quello ambrato di frenata, poi controlla distanza e tempo totali.' },
|
|
28
|
+
{ name: 'Sperimenta con la distanza', text: 'Imposta un intervallo di sicurezza e avvia la simulazione per verificare se il veicolo si ferma prima del traffico davanti nello scenario prudenziale.' },
|
|
29
|
+
],
|
|
30
|
+
seo: {
|
|
31
|
+
constructionTitle: 'Come si compone la distanza totale di arresto', constructionText: 'Un arresto completo comprende due fasi. Durante <strong>percezione e reazione</strong>, il veicolo continua quasi alla velocità iniziale. Quando agiscono i freni, le forze tra pneumatici e strada dissipano l\'energia cinetica. Il calcolatore separa le due distanze per non confondere il tempo di reazione con le prestazioni dei freni.',
|
|
32
|
+
partsValue: '2 fasi', partsLabel: 'Reazione più frenata', speedValue: 'Velocità²', speedLabel: 'Crescita della frenata', localValue: '100% locale', localLabel: 'Nessun dato di viaggio inviato', formulaTitle: 'La formula alla base della stima',
|
|
33
|
+
formulaText: 'La distanza di reazione è la velocità in metri al secondo moltiplicata per il tempo di reazione. La distanza di frenata è il quadrato della velocità diviso per due volte la decelerazione effettiva, che combina la frenata ipotizzata con l\'effetto gravitazionale della pendenza.',
|
|
34
|
+
tableHeaders: ['Dato', 'Cosa modifica', 'Perché conta'], tableRows: [['Velocità', 'Entrambe le fasi', 'La distanza di frenata cresce approssimativamente con il quadrato'], ['Tempo di reazione', 'Fase di reazione', 'Distrazione e stanchezza aggiungono metri prima della frenata'], ['Decelerazione', 'Fase di frenata', 'Aderenza, pneumatici, freni e fondo determinano il rallentamento'], ['Pendenza', 'Fase di frenata', 'La gravità favorisce la discesa e contrasta la salita']],
|
|
35
|
+
presetsTitle: 'Le condizioni stradali sono scenari, non certificazioni', tipTitle: 'Preferisci l\'ipotesi prudente', tipText: 'Asciutto, bagnato, neve e ghiaccio sono ipotesi di calcolo trasparenti. Non controllano pneumatici o strada. Nel dubbio prova una decelerazione minore e una reazione più lunga, poi segui le regole ufficiali.',
|
|
36
|
+
experimentTitle: 'Sperimenta con lo spazio davanti', experimentText: 'La prova converte l\'intervallo temporale in metri alla velocità selezionata e lo confronta con la distanza totale di arresto. L\'animazione tratta intenzionalmente il traffico davanti come un ostacolo fisso: è un\'illustrazione prudenziale, non una previsione di due veicoli in movimento.',
|
|
37
|
+
marginTitle: 'Auto e moto richiedono un margine reale', marginText: 'Lo stesso modello fisico illustra auto e moto, ma non riproduce un veicolo specifico. Temperatura dei freni, mescola degli pneumatici, trasferimento di carico, taratura dell\'ABS, tecnica di guida, contaminazione e meteo possono modificare notevolmente il risultato reale.',
|
|
38
|
+
},
|
|
39
|
+
});
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { createLocalizedContent } from './factory';
|
|
2
|
+
|
|
3
|
+
export const content = createLocalizedContent({
|
|
4
|
+
locale: 'ja', slug: 'braking-distance-calculator', title: '車・バイクの制動距離計算ツール',
|
|
5
|
+
description: '速度、反応時間、路面のグリップ、勾配から、空走距離・制動距離・停止距離を計算します。', faqTitle: 'よくある質問', bibliographyTitle: '参考文献',
|
|
6
|
+
ui: {
|
|
7
|
+
unitLabel: '単位', metricUnit: 'km/h', imperialUnit: 'mph', vehicleLabel: '車種', carLabel: '自動車', motorcycleLabel: 'バイク', speedLabel: '初速度', reactionTimeLabel: '反応時間', gradeLabel: '道路勾配',
|
|
8
|
+
roadConditionLabel: '路面グリップ', dryRoadLabel: '乾燥', wetRoadLabel: '濡れ', snowRoadLabel: '積雪', iceRoadLabel: '凍結', decelerationLabel: '想定減速度', reactionDistanceLabel: '空走', brakingDistanceLabel: '制動',
|
|
9
|
+
totalDistanceLabel: '停止距離', totalTimeLabel: '停止時間', roadStartLabel: '危険を認知', brakePointLabel: 'ブレーキ開始', stopPointLabel: '完全停止', safetyExperimentLabel: '車間距離シミュレーション',
|
|
10
|
+
safetyExperimentHint: '安全側の想定:前方車両は、危険を認知した瞬間から動かない障害物として扱います。', gapTimeLabel: '車間時間', availableDistanceLabel: '前方の距離', marginLabel: '安全余裕', shortfallLabel: '不足距離',
|
|
11
|
+
simulateLabel: '停止をシミュレーション', leadVehicleLabel: '前方車両', enoughGapMessage: '計算上は手前で停止し、一定の余裕が残ります。', tightGapMessage: '計算上はぎりぎり停止できます。実際の走行では、さらに余裕が必要です。',
|
|
12
|
+
insufficientGapMessage: '計算上の停止が完了する前に、前方車両へ到達します。', advancedLabel: '制動条件の詳細設定', normalMessage: '計算上の停止距離は比較的短いものの、実際の走行には安全余裕が必要です。',
|
|
13
|
+
warningMessage: '停止までに使う道路は、運転席から感じるよりも長くなります。', criticalMessage: 'グリップが極端に低い場合や高速時は、停止距離が非常に長くなります。', carNote: '自動車の挙動は、タイヤ、ブレーキの状態、積載量、ABS、路面状態によって変わります。',
|
|
14
|
+
motorcycleNote: 'バイクでは、ライダーの操作、前後ブレーキの配分、車体の傾き、タイヤ、路面状態も影響します。', estimateNotice: '学習用の概算です。安全な車間距離を保証するものではなく、交通法規の代わりにはなりません。',
|
|
15
|
+
},
|
|
16
|
+
faq: [
|
|
17
|
+
{ question: '空走距離と制動距離の違いは何ですか?', answer: '空走距離は危険を認知してからブレーキが効き始めるまでに進む距離です。制動距離はブレーキが効き始めてから停止するまでの距離です。両者を合わせたものが停止距離です。' },
|
|
18
|
+
{ question: '速度が上がると停止距離が急に伸びるのはなぜですか?', answer: '空走距離は速度に比例して伸び、制動距離はおおむね速度の二乗に比例します。同じ条件で速度を2倍にすると、制動距離は約4倍になる可能性があります。' },
|
|
19
|
+
{ question: '道路の勾配は計算結果にどう影響しますか?', answer: '上り坂では実効減速度が増え、下り坂では減ります。本ツールはFHWAの停止視距モデルの考え方に沿い、勾配を重力成分として計算に反映します。' },
|
|
20
|
+
{ question: '計算結果を安全な車間距離として使えますか?', answer: '保証値としては使えません。タイヤ、ブレーキ、注意力、積載量、天候、路面の汚れ、ABS、測定誤差により実際の距離は変わります。交通法規を守り、十分な余裕を取ってください。' },
|
|
21
|
+
],
|
|
22
|
+
howTo: [
|
|
23
|
+
{ name: '単位と車種を選ぶ', text: 'km/hまたはmphを選び、自動車かバイクを選択して車種に応じた注意事項を表示します。' },
|
|
24
|
+
{ name: '速度と反応時間を設定する', text: '確認したい状況に合わせて、初速度と知覚・反応時間を調整します。' },
|
|
25
|
+
{ name: '路面条件を設定する', text: '路面グリップを選び、必要に応じて減速度を調整します。上り坂は正、下り坂は負の勾配を指定します。' },
|
|
26
|
+
{ name: '停止の流れを確認する', text: '青い空走区間と黄色い制動区間を比較し、停止距離と停止時間を確認します。' },
|
|
27
|
+
{ name: '車間距離を試す', text: '車間時間を設定してシミュレーションを実行し、安全側の想定で前方車両より手前に停止できるかを確認します。' },
|
|
28
|
+
],
|
|
29
|
+
seo: {
|
|
30
|
+
constructionTitle: '停止距離を構成する2つの区間', constructionText: '完全に停止するまでには2つの段階があります。<strong>危険の認知と反応</strong>の間、車両は初速度に近いまま進み続けます。ブレーキが効き始めると、タイヤと路面の力で運動エネルギーを減らします。本ツールは空走距離と制動距離を分けて表示し、反応の遅れをブレーキ性能と混同しないようにしています。',
|
|
31
|
+
partsValue: '2区間', partsLabel: '空走+制動', speedValue: '速度²', speedLabel: '制動距離の伸び方', localValue: '端末内100%', localLabel: '走行データを送信しません', formulaTitle: '計算に使用する式',
|
|
32
|
+
formulaText: '空走距離は、秒速で表した速度に反応時間を掛けて求めます。制動距離は、速度の二乗を実効減速度の2倍で割って求めます。実効減速度には、想定した制動力と道路勾配による重力の影響が含まれます。',
|
|
33
|
+
tableHeaders: ['入力項目', '影響する区間', '重要な理由'], tableRows: [['速度', '両方', '制動距離はおおむね速度の二乗に比例して伸びます'], ['反応時間', '空走区間', '注意散漫や疲労はブレーキ前の距離を増やします'], ['減速度', '制動区間', 'グリップ、タイヤ、ブレーキ、路面が減速の強さを決めます'], ['道路勾配', '制動区間', '重力は下りで加速側、上りで減速側に働きます']],
|
|
34
|
+
presetsTitle: '路面設定はシナリオであり、性能保証ではありません', tipTitle: '安全側の条件で確認する', tipText: '乾燥、濡れ、積雪、凍結は計算用の明示的な仮定です。実際のタイヤや路面を検査するものではありません。不確かな場合は、減速度を小さく、反応時間を長くして試し、現地の法規に従ってください。',
|
|
35
|
+
experimentTitle: '前方の空間を変えて試す', experimentText: '車間距離シミュレーションは、設定した車間時間を現在の速度でメートルに換算し、停止距離と比較します。前方車両は意図的に固定障害物として扱います。2台の動きを予測するものではなく、安全側に寄せた可視化です。',
|
|
36
|
+
marginTitle: '自動車にもバイクにも現実の余裕が必要', marginText: '同じ物理モデルで両方を説明できますが、特定の車両を再現するものではありません。ブレーキ温度、タイヤの材質、荷重移動、ABSの設定、運転技術、路面の汚れ、天候により、実際の結果は大きく変化します。',
|
|
37
|
+
},
|
|
38
|
+
});
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { createLocalizedContent } from './factory';
|
|
2
|
+
|
|
3
|
+
export const content = createLocalizedContent({
|
|
4
|
+
locale: 'ko', slug: 'braking-distance-calculator', title: '자동차·오토바이 제동 거리 계산기',
|
|
5
|
+
description: '속도, 반응 시간, 노면 접지력, 경사를 바탕으로 반응 거리와 제동 거리, 총 정지 거리를 계산합니다.', faqTitle: '자주 묻는 질문', bibliographyTitle: '참고 자료',
|
|
6
|
+
ui: {
|
|
7
|
+
unitLabel: '단위', metricUnit: 'km/h', imperialUnit: 'mph', vehicleLabel: '차량', carLabel: '자동차', motorcycleLabel: '오토바이', speedLabel: '초기 속도', reactionTimeLabel: '반응 시간', gradeLabel: '도로 경사',
|
|
8
|
+
roadConditionLabel: '노면 접지력', dryRoadLabel: '건조', wetRoadLabel: '젖음', snowRoadLabel: '눈', iceRoadLabel: '빙판', decelerationLabel: '가정 감속도', reactionDistanceLabel: '반응', brakingDistanceLabel: '제동',
|
|
9
|
+
totalDistanceLabel: '총 정지 거리', totalTimeLabel: '총 정지 시간', roadStartLabel: '위험 인지', brakePointLabel: '제동 시작', stopPointLabel: '완전 정지', safetyExperimentLabel: '안전거리 실험',
|
|
10
|
+
safetyExperimentHint: '보수적 상황: 앞차를 인지하는 순간 고정 장애물로 간주합니다.', gapTimeLabel: '시간 간격', availableDistanceLabel: '전방 여유 거리', marginLabel: '안전 여유', shortfallLabel: '부족 거리',
|
|
11
|
+
simulateLabel: '정지 시뮬레이션', leadVehicleLabel: '앞차', enoughGapMessage: '계산된 정지 거리가 공간 안에 들어오며 약간의 여유가 남습니다.', tightGapMessage: '간신히 정지합니다. 실제 환경에서는 더 큰 여유가 필요합니다.',
|
|
12
|
+
insufficientGapMessage: '계산된 정지가 끝나기 전에 앞차 위치에 도달합니다.', advancedLabel: '고급 제동 가정', normalMessage: '계산된 정지 거리는 비교적 짧지만, 실제 주행에는 여전히 안전 여유가 필요합니다.',
|
|
13
|
+
warningMessage: '정지에 필요한 도로는 운전석에서 느끼는 것보다 깁니다.', criticalMessage: '접지력이 매우 낮거나 속도가 높으면 정지 거리가 극단적으로 길어집니다.', carNote: '자동차의 거동은 타이어, 브레이크 상태, 적재량, ABS, 노면 품질에 따라 달라집니다.',
|
|
14
|
+
motorcycleNote: '오토바이는 운전자 기술, 전후 제동 배분, 기울기, 타이어, 노면 상태에도 영향을 받습니다.', estimateNotice: '교육 목적의 추정치입니다. 안전거리를 보장하지 않으며 교통 법규를 대신할 수 없습니다.',
|
|
15
|
+
},
|
|
16
|
+
faq: [
|
|
17
|
+
{ question: '반응 거리와 제동 거리는 어떻게 다른가요?', answer: '반응 거리는 위험을 인지한 뒤 브레이크가 작동하기 전까지 이동한 거리입니다. 제동 거리는 브레이크가 작동한 순간부터 차량이 멈출 때까지의 거리입니다. 두 거리를 더하면 총 정지 거리가 됩니다.' },
|
|
18
|
+
{ question: '속도가 높아지면 정지 거리가 왜 급격히 늘어나나요?', answer: '반응 거리는 속도에 비례하지만 제동 거리는 대략 속도의 제곱에 비례합니다. 같은 조건에서 속도를 두 배로 높이면 제동 구간은 약 네 배까지 길어질 수 있습니다.' },
|
|
19
|
+
{ question: '도로 경사는 계산에 어떤 영향을 주나요?', answer: '오르막은 유효 감속도를 높이고 내리막은 낮춥니다. 이 계산기는 FHWA 정지 시거 모델의 구조에 따라 경사를 중력 성분으로 반영합니다.' },
|
|
20
|
+
{ question: '계산 결과를 보장된 안전거리로 사용해도 되나요?', answer: '안 됩니다. 타이어, 브레이크, 주의력, 적재량, 날씨, 노면 오염, ABS, 측정 오차에 따라 실제 거리가 달라집니다. 반드시 현지 교통 법규를 지키고 더 큰 여유를 두세요.' },
|
|
21
|
+
],
|
|
22
|
+
howTo: [
|
|
23
|
+
{ name: '단위와 차량 선택', text: '시속 킬로미터 또는 마일을 선택한 다음 자동차나 오토바이를 골라 알맞은 안전 안내를 확인합니다.' },
|
|
24
|
+
{ name: '속도와 반응 시간 설정', text: '살펴볼 상황에 맞게 초기 속도와 인지·반응 시간을 조절합니다.' },
|
|
25
|
+
{ name: '도로 상태 설정', text: '노면 접지력을 선택하고 필요하면 감속도를 조정합니다. 오르막은 양수, 내리막은 음수로 설정합니다.' },
|
|
26
|
+
{ name: '정지 과정 확인', text: '파란색 반응 구간과 노란색 제동 구간을 비교한 뒤 총 거리와 시간을 확인합니다.' },
|
|
27
|
+
{ name: '안전거리 실험', text: '시간 간격을 설정하고 시뮬레이션을 실행하여 보수적 상황에서 앞차보다 먼저 멈추는지 확인합니다.' },
|
|
28
|
+
],
|
|
29
|
+
seo: {
|
|
30
|
+
constructionTitle: '총 정지 거리가 만들어지는 과정', constructionText: '완전히 멈추기까지는 두 단계가 있습니다. <strong>위험 인지와 반응</strong> 중에는 차량이 초기 속도에 가깝게 계속 움직입니다. 브레이크가 작동하면 타이어와 노면 사이의 힘이 운동 에너지를 줄입니다. 계산기는 두 거리를 따로 보여 주어 반응 지연을 제동 성능으로 오해하지 않도록 합니다.',
|
|
31
|
+
partsValue: '2단계', partsLabel: '반응과 제동', speedValue: '속도²', speedLabel: '제동 거리 증가', localValue: '100% 로컬', localLabel: '주행 데이터를 전송하지 않음', formulaTitle: '계산에 사용되는 공식',
|
|
32
|
+
formulaText: '반응 거리는 초당 미터 단위 속도에 반응 시간을 곱한 값입니다. 제동 거리는 속도의 제곱을 유효 감속도의 두 배로 나눈 값입니다. 유효 감속도에는 가정한 제동력과 경사에 따른 중력 효과가 함께 반영됩니다.',
|
|
33
|
+
tableHeaders: ['입력값', '영향 구간', '중요한 이유'], tableRows: [['속도', '두 구간 모두', '제동 거리가 대략 속도의 제곱에 비례해 늘어납니다'], ['반응 시간', '반응 구간', '주의 분산과 피로가 제동 전 이동 거리를 늘립니다'], ['감속도', '제동 구간', '접지력, 타이어, 브레이크, 노면이 감속 성능을 결정합니다'], ['경사', '제동 구간', '중력은 내리막에서 진행을 돕고 오르막에서 방해합니다']],
|
|
34
|
+
presetsTitle: '노면 설정은 시나리오이며 성능 인증이 아닙니다', tipTitle: '보수적인 조건으로 확인하세요', tipText: '건조, 젖음, 눈, 빙판은 투명한 계산 가정입니다. 실제 타이어나 도로를 검사하지 않습니다. 상태가 불확실하면 감속도를 낮추고 반응 시간을 늘려 시험한 뒤 현지 규정을 따르세요.',
|
|
35
|
+
experimentTitle: '전방 공간을 바꿔 가며 실험하기', experimentText: '안전거리 실험은 선택한 시간 간격을 현재 속도의 미터 거리로 환산하고 총 정지 거리와 비교합니다. 애니메이션은 앞차를 의도적으로 고정 장애물로 취급합니다. 두 차량의 움직임을 예측하는 것이 아니라 안전 측의 시각화입니다.',
|
|
36
|
+
marginTitle: '자동차와 오토바이 모두 현실적인 여유가 필요합니다', marginText: '같은 물리 모델로 두 차량을 설명할 수 있지만 특정 차량을 그대로 재현하지는 못합니다. 브레이크 온도, 타이어 컴파운드, 하중 이동, ABS 설정, 운전 기술, 노면 오염, 날씨에 따라 실제 결과는 크게 달라질 수 있습니다.',
|
|
37
|
+
},
|
|
38
|
+
});
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { createLocalizedContent } from './factory';
|
|
2
|
+
|
|
3
|
+
export const content = createLocalizedContent({
|
|
4
|
+
locale: 'nl', slug: 'remweg-berekenen', title: 'Remweg berekenen voor auto\'s en motoren',
|
|
5
|
+
description: 'Bereken reactieafstand, remweg en totale stopafstand op basis van snelheid, reactietijd, grip en helling.', faqTitle: 'Veelgestelde vragen', bibliographyTitle: 'Bronnen',
|
|
6
|
+
ui: {
|
|
7
|
+
unitLabel: 'Eenheden', metricUnit: 'km/u', imperialUnit: 'mph', vehicleLabel: 'Voertuig', carLabel: 'Auto', motorcycleLabel: 'Motor', speedLabel: 'Beginsnelheid', reactionTimeLabel: 'Reactietijd', gradeLabel: 'Helling van de weg',
|
|
8
|
+
roadConditionLabel: 'Grip op de weg', dryRoadLabel: 'Droog', wetRoadLabel: 'Nat', snowRoadLabel: 'Sneeuw', iceRoadLabel: 'IJs', decelerationLabel: 'Aangenomen vertraging', reactionDistanceLabel: 'Reactie', brakingDistanceLabel: 'Remmen',
|
|
9
|
+
totalDistanceLabel: 'Totale stopafstand', totalTimeLabel: 'Totale stoptijd', roadStartLabel: 'Gevaar gezien', brakePointLabel: 'Remmen ingezet', stopPointLabel: 'Volledige stop', safetyExperimentLabel: 'Proef met veilige afstand',
|
|
10
|
+
safetyExperimentHint: 'Voorzichtig scenario: het verkeer voor je wordt een vast obstakel zodra je het opmerkt.', gapTimeLabel: 'Volgtijd', availableDistanceLabel: 'Beschikbare ruimte', marginLabel: 'Veiligheidsmarge', shortfallLabel: 'Ontbrekende afstand',
|
|
11
|
+
simulateLabel: 'Stop simuleren', leadVehicleLabel: 'Voorligger', enoughGapMessage: 'De berekende stop past binnen de beschikbare ruimte en laat enige marge over.', tightGapMessage: 'De stop past maar net. In de praktijk is meer marge nodig.',
|
|
12
|
+
insufficientGapMessage: 'Het voertuig bereikt de voorligger voordat de berekende stop is voltooid.', advancedLabel: 'Geavanceerde remaanname', normalMessage: 'De berekende stopafstand blijft beperkt, maar echte omstandigheden vereisen nog steeds een veiligheidsmarge.',
|
|
13
|
+
warningMessage: 'Je gebruikt meer weg dan het vanaf de bestuurdersplaats lijkt.', criticalMessage: 'Zeer weinig grip of een hoge snelheid leidt tot een extreme stopafstand.', carNote: 'Het gedrag van een auto hangt af van banden, remmen, belading, ABS en wegdek.',
|
|
14
|
+
motorcycleNote: 'Bij een motor spelen ook rijtechniek, remverdeling, hellingshoek, banden en wegdek mee.', estimateNotice: 'Alleen een educatieve schatting. Gebruik dit resultaat nooit als gegarandeerd veilige afstand of als vervanging van verkeersregels.',
|
|
15
|
+
},
|
|
16
|
+
faq: [
|
|
17
|
+
{ question: 'Wat is het verschil tussen reactieafstand en remweg?', answer: 'De reactieafstand leg je af voordat je begint te remmen. De remweg begint zodra de remmen werken en eindigt wanneer het voertuig stilstaat. Samen vormen ze de totale stopafstand.' },
|
|
18
|
+
{ question: 'Waarom neemt de stopafstand zo snel toe met de snelheid?', answer: 'De reactieafstand groeit recht evenredig met de snelheid, terwijl de remweg ongeveer met het kwadraat groeit. Bij gelijke omstandigheden kan een verdubbeling van de snelheid het remgedeelte ongeveer vier keer zo lang maken.' },
|
|
19
|
+
{ question: 'Welke invloed heeft een helling op de schatting?', answer: 'Bergop neemt de effectieve vertraging toe; bergaf neemt die af. De calculator verwerkt de helling als zwaartekrachtcomponent volgens de opbouw van het FHWA-model voor stopzichtafstand.' },
|
|
20
|
+
{ question: 'Is het resultaat een gegarandeerd veilige volgafstand?', answer: 'Nee. Banden, remmen, aandacht, belading, weer, vervuiling, ABS en meetfouten beïnvloeden de werkelijke afstand. Volg de officiële regels en houd extra marge.' },
|
|
21
|
+
],
|
|
22
|
+
howTo: [
|
|
23
|
+
{ name: 'Kies eenheid en voertuig', text: 'Selecteer kilometer of mijl per uur en kies daarna auto of motor voor de relevante veiligheidsmelding.' },
|
|
24
|
+
{ name: 'Stel snelheid en reactietijd in', text: 'Pas de schuifregelaars aan het scenario aan dat je wilt onderzoeken.' },
|
|
25
|
+
{ name: 'Beschrijf de weg', text: 'Kies de grip, verfijn zo nodig de vertraging en gebruik een positieve waarde bergop of een negatieve waarde bergaf.' },
|
|
26
|
+
{ name: 'Lees het stopverloop', text: 'Vergelijk het blauwe reactiedeel met het amberkleurige remdeel en bekijk de totale afstand en tijd.' },
|
|
27
|
+
{ name: 'Probeer de afstand uit', text: 'Stel een volgtijd in en start de simulatie om in dit voorzichtige scenario te zien of je vóór de voorligger stopt.' },
|
|
28
|
+
],
|
|
29
|
+
seo: {
|
|
30
|
+
constructionTitle: 'Zo is de totale stopafstand opgebouwd', constructionText: 'Een volledige stop bestaat uit twee fasen. Tijdens <strong>waarneming en reactie</strong> rijdt het voertuig vrijwel met de beginsnelheid door. Zodra de remmen werken, voeren band en wegdek de bewegingsenergie af. De calculator toont beide afstanden afzonderlijk, zodat reactietijd niet wordt verward met remvermogen.',
|
|
31
|
+
partsValue: '2 fasen', partsLabel: 'Reactie plus remmen', speedValue: 'Snelheid²', speedLabel: 'Groei van de remweg', localValue: '100% lokaal', localLabel: 'Geen ritgegevens verzonden', formulaTitle: 'De formule achter de schatting',
|
|
32
|
+
formulaText: 'De reactieafstand is de snelheid in meter per seconde maal de reactietijd. De remweg is het kwadraat van de snelheid gedeeld door tweemaal de effectieve vertraging. Die vertraging combineert de remaanname met het zwaartekrachteffect van de helling.',
|
|
33
|
+
tableHeaders: ['Invoer', 'Wat verandert', 'Waarom dit telt'], tableRows: [['Snelheid', 'Beide fasen', 'De remweg groeit ongeveer met het kwadraat'], ['Reactietijd', 'Reactiefase', 'Afleiding en vermoeidheid voegen meters toe vóór het remmen'], ['Vertraging', 'Remfase', 'Grip, banden, remmen en wegdek bepalen hoe snel je vertraagt'], ['Helling', 'Remfase', 'Zwaartekracht helpt bergaf en werkt bergop tegen']],
|
|
34
|
+
presetsTitle: 'Wegtoestanden zijn scenario\'s, geen keurmerken', tipTitle: 'Reken liever voorzichtig', tipText: 'Droog, nat, sneeuw en ijs zijn transparante modelaannames. Ze controleren je banden of weg niet. Probeer bij onzekerheid een lagere vertraging en langere reactietijd en volg de officiële afstandsregels.',
|
|
35
|
+
experimentTitle: 'Experimenteer met de ruimte voor je', experimentText: 'De proef zet de gekozen volgtijd bij de ingestelde snelheid om in meters en vergelijkt die met de totale stopafstand. De animatie behandelt de voorligger bewust als een vast obstakel. Het is een voorzichtige illustratie, geen voorspelling van twee bewegende voertuigen.',
|
|
36
|
+
marginTitle: 'Auto\'s en motoren hebben echte marge nodig', marginText: 'Hetzelfde natuurkundige model kan auto\'s en motoren illustreren, maar geen specifiek voertuig nabootsen. Remtemperatuur, bandenrubber, lastoverdracht, ABS-afstelling, rijtechniek, vervuiling en weer kunnen de echte uitkomst sterk beïnvloeden.',
|
|
37
|
+
},
|
|
38
|
+
});
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { createLocalizedContent } from './factory';
|
|
2
|
+
|
|
3
|
+
export const content = createLocalizedContent({
|
|
4
|
+
locale: 'pl', slug: 'kalkulator-drogi-hamowania', title: 'Kalkulator drogi hamowania samochodu i motocykla',
|
|
5
|
+
description: 'Oblicz drogę reakcji, hamowania i całkowitego zatrzymania na podstawie prędkości, czasu reakcji, przyczepności i nachylenia.', faqTitle: 'Najczęściej zadawane pytania', bibliographyTitle: 'Źródła',
|
|
6
|
+
ui: {
|
|
7
|
+
unitLabel: 'Jednostki', metricUnit: 'km/h', imperialUnit: 'mph', vehicleLabel: 'Pojazd', carLabel: 'Samochód', motorcycleLabel: 'Motocykl', speedLabel: 'Prędkość początkowa', reactionTimeLabel: 'Czas reakcji', gradeLabel: 'Nachylenie drogi',
|
|
8
|
+
roadConditionLabel: 'Przyczepność nawierzchni', dryRoadLabel: 'Sucha', wetRoadLabel: 'Mokra', snowRoadLabel: 'Śnieg', iceRoadLabel: 'Lód', decelerationLabel: 'Założone opóźnienie', reactionDistanceLabel: 'Reakcja', brakingDistanceLabel: 'Hamowanie',
|
|
9
|
+
totalDistanceLabel: 'Całkowita droga zatrzymania', totalTimeLabel: 'Całkowity czas zatrzymania', roadStartLabel: 'Dostrzeżenie zagrożenia', brakePointLabel: 'Początek hamowania', stopPointLabel: 'Pełne zatrzymanie', safetyExperimentLabel: 'Test bezpiecznego odstępu',
|
|
10
|
+
safetyExperimentHint: 'Scenariusz zachowawczy: pojazd z przodu staje się nieruchomą przeszkodą w chwili zauważenia.', gapTimeLabel: 'Odstęp czasowy', availableDistanceLabel: 'Dostępna przestrzeń', marginLabel: 'Margines bezpieczeństwa', shortfallLabel: 'Brakująca odległość',
|
|
11
|
+
simulateLabel: 'Uruchom symulację', leadVehicleLabel: 'Pojazd z przodu', enoughGapMessage: 'Obliczone zatrzymanie mieści się w dostępnej przestrzeni i pozostawia zapas.', tightGapMessage: 'Pojazd zatrzymuje się na granicy. W rzeczywistych warunkach potrzeba większego zapasu.',
|
|
12
|
+
insufficientGapMessage: 'Pojazd dociera do poprzedzającego ruchu przed zakończeniem obliczonego zatrzymania.', advancedLabel: 'Zaawansowane założenie hamowania', normalMessage: 'Obliczona droga zatrzymania jest umiarkowana, ale warunki rzeczywiste nadal wymagają zapasu.',
|
|
13
|
+
warningMessage: 'Potrzebny odcinek drogi jest dłuższy, niż wydaje się zza kierownicy.', criticalMessage: 'Bardzo mała przyczepność lub duża prędkość powodują skrajnie długą drogę zatrzymania.', carNote: 'Zachowanie samochodu zależy od opon, hamulców, obciążenia, ABS-u i jakości nawierzchni.',
|
|
14
|
+
motorcycleNote: 'W motocyklu znaczenie mają też technika kierowcy, rozkład siły hamowania, pochylenie, opony i nawierzchnia.', estimateNotice: 'Wyłącznie szacunek edukacyjny. Nie traktuj wyniku jako gwarantowanego bezpiecznego odstępu ani zamiennika przepisów ruchu drogowego.',
|
|
15
|
+
},
|
|
16
|
+
faq: [
|
|
17
|
+
{ question: 'Czym różni się droga reakcji od drogi hamowania?', answer: 'Droga reakcji to odcinek pokonany przed rozpoczęciem hamowania. Droga hamowania zaczyna się, gdy hamulce zaczynają działać, i kończy przy zatrzymaniu. Ich suma to całkowita droga zatrzymania.' },
|
|
18
|
+
{ question: 'Dlaczego droga zatrzymania tak szybko rośnie wraz z prędkością?', answer: 'Droga reakcji rośnie proporcjonalnie do prędkości, a droga hamowania w przybliżeniu do jej kwadratu. W tych samych warunkach dwukrotnie większa prędkość może oznaczać około czterokrotnie dłuższe hamowanie.' },
|
|
19
|
+
{ question: 'Jak nachylenie drogi wpływa na wynik?', answer: 'Podjazd zwiększa efektywne opóźnienie, a zjazd je zmniejsza. Kalkulator uwzględnia nachylenie jako składową grawitacji zgodnie ze strukturą modelu FHWA dla widoczności na zatrzymanie.' },
|
|
20
|
+
{ question: 'Czy wynik gwarantuje bezpieczny odstęp?', answer: 'Nie. Opony, hamulce, koncentracja, obciążenie, pogoda, zabrudzenie nawierzchni, ABS i błędy pomiaru zmieniają rzeczywistą drogę. Stosuj przepisy i zachowuj większy margines.' },
|
|
21
|
+
],
|
|
22
|
+
howTo: [
|
|
23
|
+
{ name: 'Wybierz jednostkę i pojazd', text: 'Wybierz kilometry lub mile na godzinę, a następnie samochód albo motocykl, aby zobaczyć właściwe ostrzeżenie.' },
|
|
24
|
+
{ name: 'Ustaw prędkość i czas reakcji', text: 'Dopasuj suwaki do scenariusza, który chcesz przeanalizować.' },
|
|
25
|
+
{ name: 'Opisz warunki na drodze', text: 'Wybierz przyczepność, w razie potrzeby zmień opóźnienie i ustaw wartość dodatnią dla podjazdu lub ujemną dla zjazdu.' },
|
|
26
|
+
{ name: 'Odczytaj przebieg zatrzymania', text: 'Porównaj niebieski odcinek reakcji z bursztynowym odcinkiem hamowania, a następnie sprawdź łączną drogę i czas.' },
|
|
27
|
+
{ name: 'Przetestuj odstęp', text: 'Ustaw odstęp czasowy i uruchom symulację, aby sprawdzić, czy w zachowawczym scenariuszu pojazd zatrzyma się przed poprzedzającym ruchem.' },
|
|
28
|
+
],
|
|
29
|
+
seo: {
|
|
30
|
+
constructionTitle: 'Z czego składa się całkowita droga zatrzymania', constructionText: 'Pełne zatrzymanie ma dwa etapy. Podczas <strong>spostrzegania i reakcji</strong> pojazd jedzie niemal z prędkością początkową. Po uruchomieniu hamulców siły między oponami a nawierzchnią rozpraszają energię kinetyczną. Kalkulator rozdziela obie drogi, aby nie mylić czasu reakcji ze skutecznością hamowania.',
|
|
31
|
+
partsValue: '2 etapy', partsLabel: 'Reakcja i hamowanie', speedValue: 'Prędkość²', speedLabel: 'Wzrost drogi hamowania', localValue: '100% lokalnie', localLabel: 'Bez wysyłania danych o trasie', formulaTitle: 'Wzór użyty w obliczeniach',
|
|
32
|
+
formulaText: 'Droga reakcji to prędkość w metrach na sekundę pomnożona przez czas reakcji. Droga hamowania to kwadrat prędkości podzielony przez dwukrotność efektywnego opóźnienia, które łączy przyjęte hamowanie z wpływem grawitacji na pochyłości.',
|
|
33
|
+
tableHeaders: ['Parametr', 'Co zmienia', 'Dlaczego jest ważny'], tableRows: [['Prędkość', 'Oba etapy', 'Droga hamowania rośnie w przybliżeniu do kwadratu prędkości'], ['Czas reakcji', 'Etap reakcji', 'Rozproszenie i zmęczenie wydłużają drogę przed hamowaniem'], ['Opóźnienie', 'Etap hamowania', 'Przyczepność, opony, hamulce i nawierzchnia decydują o zwalnianiu'], ['Nachylenie', 'Etap hamowania', 'Grawitacja pomaga na zjeździe i przeciwdziała na podjeździe']],
|
|
34
|
+
presetsTitle: 'Warunki nawierzchni to scenariusze, nie certyfikaty', tipTitle: 'Przyjmij wariant zachowawczy', tipText: 'Ustawienia suchej, mokrej, ośnieżonej i oblodzonej drogi są jawnymi założeniami modelu. Nie badają opon ani nawierzchni. W razie niepewności wybierz mniejsze opóźnienie i dłuższy czas reakcji oraz stosuj obowiązujące przepisy.',
|
|
35
|
+
experimentTitle: 'Eksperymentuj z przestrzenią przed pojazdem', experimentText: 'Test przelicza wybrany odstęp czasowy na metry przy ustawionej prędkości i porównuje go z całkowitą drogą zatrzymania. Animacja celowo traktuje poprzedzający ruch jako nieruchomą przeszkodę. To zachowawcza ilustracja, a nie prognoza ruchu dwóch pojazdów.',
|
|
36
|
+
marginTitle: 'Samochody i motocykle potrzebują rzeczywistego zapasu', marginText: 'Ten sam model fizyczny ilustruje oba rodzaje pojazdów, ale nie odtwarza konkretnej maszyny. Temperatura hamulców, mieszanka opon, transfer masy, kalibracja ABS-u, technika jazdy, zabrudzenia i pogoda mogą znacznie zmienić wynik rzeczywisty.',
|
|
37
|
+
},
|
|
38
|
+
});
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { createLocalizedContent } from './factory';
|
|
2
|
+
|
|
3
|
+
export const content = createLocalizedContent({
|
|
4
|
+
locale: 'pt', slug: 'calculadora-distancia-travagem', title: 'Calculadora de distância de travagem para carros e motos',
|
|
5
|
+
description: 'Estime as distâncias de reação, travagem e paragem total com base na velocidade, tempo de reação, aderência e inclinação.', faqTitle: 'Perguntas frequentes', bibliographyTitle: 'Referências bibliográficas',
|
|
6
|
+
ui: {
|
|
7
|
+
unitLabel: 'Unidades', metricUnit: 'km/h', imperialUnit: 'mph', vehicleLabel: 'Veículo', carLabel: 'Carro', motorcycleLabel: 'Moto', speedLabel: 'Velocidade inicial', reactionTimeLabel: 'Tempo de reação',
|
|
8
|
+
gradeLabel: 'Inclinação da via', roadConditionLabel: 'Aderência da via', dryRoadLabel: 'Seca', wetRoadLabel: 'Molhada', snowRoadLabel: 'Neve', iceRoadLabel: 'Gelo', decelerationLabel: 'Desaceleração estimada',
|
|
9
|
+
reactionDistanceLabel: 'Reação', brakingDistanceLabel: 'Travagem', totalDistanceLabel: 'Distância total de paragem', totalTimeLabel: 'Tempo total de paragem', roadStartLabel: 'Perigo detetado', brakePointLabel: 'Início da travagem', stopPointLabel: 'Paragem completa',
|
|
10
|
+
safetyExperimentLabel: 'Experiência de distância de segurança', safetyExperimentHint: 'Cenário conservador: o trânsito à frente torna-se um obstáculo fixo assim que é detetado.', gapTimeLabel: 'Intervalo de seguimento', availableDistanceLabel: 'Espaço disponível',
|
|
11
|
+
marginLabel: 'Margem de segurança', shortfallLabel: 'Distância em falta', simulateLabel: 'Simular a paragem', leadVehicleLabel: 'Veículo da frente', enoughGapMessage: 'A paragem calculada cabe no espaço disponível e ainda deixa alguma margem.',
|
|
12
|
+
tightGapMessage: 'A paragem cabe por muito pouco. Em condições reais é necessária uma margem maior.', insufficientGapMessage: 'O veículo alcança o trânsito à frente antes de concluir a paragem calculada.', advancedLabel: 'Hipótese avançada de travagem',
|
|
13
|
+
normalMessage: 'A paragem calculada mantém-se contida, mas as condições reais continuam a exigir margem de segurança.', warningMessage: 'A extensão de via necessária é maior do que parece ao volante.', criticalMessage: 'Aderência muito baixa ou velocidade elevada geram uma distância de paragem extrema.',
|
|
14
|
+
carNote: 'O comportamento do carro varia com os pneus, o estado dos travões, a carga, o ABS e a qualidade do piso.', motorcycleNote: 'Numa moto também influem a técnica do condutor, a distribuição da travagem, a inclinação, os pneus e o piso.',
|
|
15
|
+
estimateNotice: 'Estimativa exclusivamente educativa. Nunca use este resultado como distância segura garantida nem como substituto das regras de trânsito.',
|
|
16
|
+
},
|
|
17
|
+
faq: [
|
|
18
|
+
{ question: 'Qual é a diferença entre distância de reação e distância de travagem?', answer: 'A distância de reação é percorrida antes de começar a travar. A distância de travagem começa quando os travões atuam e termina com o veículo imobilizado. A distância total de paragem é a soma das duas.' },
|
|
19
|
+
{ question: 'Porque aumenta tão depressa a distância de paragem com a velocidade?', answer: 'A distância de reação cresce proporcionalmente à velocidade, enquanto a distância de travagem cresce aproximadamente com o quadrado da velocidade. Nas mesmas condições, duplicar a velocidade pode quadruplicar a componente de travagem.' },
|
|
20
|
+
{ question: 'Como afeta a inclinação da via a estimativa?', answer: 'Uma subida aumenta a desaceleração efetiva e uma descida reduz essa desaceleração. A calculadora aplica a inclinação como componente gravitacional, seguindo a estrutura do modelo FHWA de distância de visibilidade de paragem.' },
|
|
21
|
+
{ question: 'O resultado garante uma distância de segurança?', answer: 'Não. Pneus, travões, atenção, carga, meteorologia, contaminação do piso, ABS e erros de medição podem alterar a distância real. Cumpra as regras oficiais e deixe uma margem superior.' },
|
|
22
|
+
],
|
|
23
|
+
howTo: [
|
|
24
|
+
{ name: 'Escolher a unidade e o veículo', text: 'Selecione quilómetros ou milhas por hora e depois carro ou moto para ver o aviso correspondente.' },
|
|
25
|
+
{ name: 'Definir velocidade e reação', text: 'Ajuste os controlos de velocidade e tempo de perceção-reação ao cenário que pretende explorar.' },
|
|
26
|
+
{ name: 'Descrever a via', text: 'Escolha a aderência, refine a desaceleração se necessário e use um valor positivo em subida ou negativo em descida.' },
|
|
27
|
+
{ name: 'Ler a sequência de paragem', text: 'Compare o segmento azul de reação com o segmento âmbar de travagem e consulte a distância e o tempo totais.' },
|
|
28
|
+
{ name: 'Experimentar o intervalo', text: 'Defina um intervalo de seguimento e execute a simulação para verificar se o veículo para antes do trânsito à frente neste cenário conservador.' },
|
|
29
|
+
],
|
|
30
|
+
seo: {
|
|
31
|
+
constructionTitle: 'Como se forma a distância total de paragem', constructionText: 'Uma paragem completa tem duas fases. Durante a <strong>perceção e reação</strong>, o veículo continua quase à velocidade inicial. Quando os travões atuam, as forças entre pneus e piso dissipam a energia cinética. A calculadora apresenta as duas distâncias em separado para não confundir o tempo de reação com a capacidade de travagem.',
|
|
32
|
+
partsValue: '2 fases', partsLabel: 'Reação mais travagem', speedValue: 'Velocidade²', speedLabel: 'Crescimento da travagem', localValue: '100% local', localLabel: 'Nenhum dado da viagem é enviado', formulaTitle: 'A fórmula por trás da estimativa',
|
|
33
|
+
formulaText: 'A distância de reação é a velocidade em metros por segundo multiplicada pelo tempo de reação. A distância de travagem é o quadrado da velocidade dividido pelo dobro da desaceleração efetiva, que combina a travagem estimada com o efeito gravitacional da inclinação.',
|
|
34
|
+
tableHeaders: ['Entrada', 'O que altera', 'Porque importa'], tableRows: [['Velocidade', 'Ambas as fases', 'A distância de travagem cresce aproximadamente com o quadrado'], ['Tempo de reação', 'Fase de reação', 'Distração e fadiga acrescentam metros antes da travagem'], ['Desaceleração', 'Fase de travagem', 'Aderência, pneus, travões e piso determinam o abrandamento'], ['Inclinação', 'Fase de travagem', 'A gravidade favorece a descida e contraria a subida']],
|
|
35
|
+
presetsTitle: 'Os estados da via são cenários, não certificações', tipTitle: 'Prefira uma hipótese conservadora', tipText: 'Seco, molhado, neve e gelo são hipóteses transparentes de cálculo. Não inspecionam os pneus nem a estrada. Em caso de dúvida, teste uma desaceleração menor e uma reação mais longa e siga as regras oficiais.',
|
|
36
|
+
experimentTitle: 'Experimente o espaço à sua frente', experimentText: 'A experiência converte o intervalo temporal em metros à velocidade escolhida e compara-o com a distância total de paragem. A animação trata deliberadamente o trânsito à frente como obstáculo fixo: é uma ilustração conservadora, não uma previsão de dois veículos em movimento.',
|
|
37
|
+
marginTitle: 'Carros e motos precisam de margem real', marginText: 'O mesmo modelo físico ilustra carros e motos, mas não reproduz um veículo específico. Temperatura dos travões, composto dos pneus, transferência de carga, calibração do ABS, técnica de condução, sujidade e meteorologia podem alterar significativamente o resultado real.',
|
|
38
|
+
},
|
|
39
|
+
});
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { createLocalizedContent } from './factory';
|
|
2
|
+
|
|
3
|
+
export const content = createLocalizedContent({
|
|
4
|
+
locale: 'ru', slug: 'kalkulyator-tormoznogo-puti', title: 'Калькулятор тормозного пути автомобиля и мотоцикла',
|
|
5
|
+
description: 'Рассчитайте путь реакции, торможения и полной остановки с учетом скорости, времени реакции, сцепления и уклона.', faqTitle: 'Частые вопросы', bibliographyTitle: 'Источники',
|
|
6
|
+
ui: {
|
|
7
|
+
unitLabel: 'Единицы', metricUnit: 'км/ч', imperialUnit: 'миль/ч', vehicleLabel: 'Транспорт', carLabel: 'Автомобиль', motorcycleLabel: 'Мотоцикл', speedLabel: 'Начальная скорость', reactionTimeLabel: 'Время реакции', gradeLabel: 'Уклон дороги',
|
|
8
|
+
roadConditionLabel: 'Сцепление с дорогой', dryRoadLabel: 'Сухо', wetRoadLabel: 'Мокро', snowRoadLabel: 'Снег', iceRoadLabel: 'Лёд', decelerationLabel: 'Принятое замедление', reactionDistanceLabel: 'Реакция', brakingDistanceLabel: 'Торможение',
|
|
9
|
+
totalDistanceLabel: 'Полный остановочный путь', totalTimeLabel: 'Полное время остановки', roadStartLabel: 'Опасность замечена', brakePointLabel: 'Начало торможения', stopPointLabel: 'Полная остановка', safetyExperimentLabel: 'Проверка безопасной дистанции',
|
|
10
|
+
safetyExperimentHint: 'Консервативный сценарий: замеченный впереди транспорт становится неподвижным препятствием.', gapTimeLabel: 'Временной интервал', availableDistanceLabel: 'Свободное пространство', marginLabel: 'Запас безопасности', shortfallLabel: 'Нехватка дистанции',
|
|
11
|
+
simulateLabel: 'Запустить остановку', leadVehicleLabel: 'Машина впереди', enoughGapMessage: 'Расчётная остановка укладывается в свободное пространство и оставляет запас.', tightGapMessage: 'Автомобиль останавливается почти впритык. В реальности нужен больший запас.',
|
|
12
|
+
insufficientGapMessage: 'Автомобиль достигает транспорта впереди до завершения расчётной остановки.', advancedLabel: 'Расширенные параметры торможения', normalMessage: 'Расчётный путь умеренный, но реальные условия всё равно требуют запаса безопасности.',
|
|
13
|
+
warningMessage: 'Для остановки требуется больше дороги, чем кажется с места водителя.', criticalMessage: 'Очень слабое сцепление или высокая скорость приводят к экстремальному остановочному пути.', carNote: 'Поведение автомобиля зависит от шин, тормозов, загрузки, ABS и качества покрытия.',
|
|
14
|
+
motorcycleNote: 'Для мотоцикла также важны техника водителя, распределение торможения, наклон, шины и покрытие.', estimateNotice: 'Только учебная оценка. Не считайте результат гарантированно безопасной дистанцией и не заменяйте им правила дорожного движения.',
|
|
15
|
+
},
|
|
16
|
+
faq: [
|
|
17
|
+
{ question: 'Чем путь реакции отличается от тормозного пути?', answer: 'Путь реакции автомобиль проходит до начала торможения. Тормозной путь начинается с момента действия тормозов и заканчивается остановкой. Вместе они образуют полный остановочный путь.' },
|
|
18
|
+
{ question: 'Почему остановочный путь так быстро растёт со скоростью?', answer: 'Путь реакции увеличивается пропорционально скорости, а тормозной путь приблизительно пропорционален её квадрату. При одинаковых условиях удвоение скорости может увеличить тормозную часть примерно в четыре раза.' },
|
|
19
|
+
{ question: 'Как уклон дороги влияет на расчёт?', answer: 'Подъём увеличивает эффективное замедление, а спуск уменьшает его. Калькулятор учитывает уклон как составляющую силы тяжести по структуре модели FHWA для видимости на остановку.' },
|
|
20
|
+
{ question: 'Гарантирует ли результат безопасную дистанцию?', answer: 'Нет. Шины, тормоза, внимание, загрузка, погода, загрязнение покрытия, ABS и погрешности измерения меняют реальный путь. Соблюдайте официальные правила и оставляйте больший запас.' },
|
|
21
|
+
],
|
|
22
|
+
howTo: [
|
|
23
|
+
{ name: 'Выберите единицы и транспорт', text: 'Укажите километры или мили в час, затем автомобиль или мотоцикл для соответствующего предупреждения.' },
|
|
24
|
+
{ name: 'Задайте скорость и время реакции', text: 'Настройте ползунки под ситуацию, которую хотите исследовать.' },
|
|
25
|
+
{ name: 'Опишите дорогу', text: 'Выберите сцепление, при необходимости уточните замедление и задайте положительный уклон для подъёма или отрицательный для спуска.' },
|
|
26
|
+
{ name: 'Изучите процесс остановки', text: 'Сравните синий участок реакции с жёлтым участком торможения, затем проверьте общие расстояние и время.' },
|
|
27
|
+
{ name: 'Проверьте дистанцию', text: 'Задайте временной интервал и запустите анимацию, чтобы увидеть, успеет ли автомобиль остановиться перед транспортом впереди в консервативном сценарии.' },
|
|
28
|
+
],
|
|
29
|
+
seo: {
|
|
30
|
+
constructionTitle: 'Из чего складывается полный остановочный путь', constructionText: 'Полная остановка состоит из двух этапов. Во время <strong>восприятия и реакции</strong> автомобиль продолжает движение почти с начальной скоростью. После срабатывания тормозов силы между шинами и дорогой гасят кинетическую энергию. Калькулятор разделяет эти пути, чтобы время реакции не смешивалось с эффективностью тормозов.',
|
|
31
|
+
partsValue: '2 этапа', partsLabel: 'Реакция и торможение', speedValue: 'Скорость²', speedLabel: 'Рост тормозного пути', localValue: '100% локально', localLabel: 'Данные поездки не передаются', formulaTitle: 'Формула расчёта',
|
|
32
|
+
formulaText: 'Путь реакции равен скорости в метрах в секунду, умноженной на время реакции. Тормозной путь равен квадрату скорости, делённому на удвоенное эффективное замедление. Оно объединяет принятое торможение с гравитационным влиянием уклона.',
|
|
33
|
+
tableHeaders: ['Параметр', 'Что меняется', 'Почему это важно'], tableRows: [['Скорость', 'Оба этапа', 'Тормозной путь растёт приблизительно пропорционально квадрату скорости'], ['Время реакции', 'Этап реакции', 'Отвлечение и усталость добавляют метры до торможения'], ['Замедление', 'Этап торможения', 'Сцепление, шины, тормоза и покрытие определяют интенсивность замедления'], ['Уклон', 'Этап торможения', 'Сила тяжести помогает на спуске и противодействует на подъёме']],
|
|
34
|
+
presetsTitle: 'Типы покрытия представляют сценарии, а не сертификаты', tipTitle: 'Выбирайте консервативный вариант', tipText: 'Сухая, мокрая, снежная и обледенелая дорога представляют прозрачные допущения модели. Они не проверяют шины и покрытие. При неопределённости уменьшите замедление, увеличьте время реакции и соблюдайте официальные требования.',
|
|
35
|
+
experimentTitle: 'Экспериментируйте со свободным пространством', experimentText: 'Проверка переводит выбранный временной интервал в метры при заданной скорости и сравнивает его с полным остановочным путём. Анимация намеренно считает транспорт впереди неподвижным препятствием. Это консервативная иллюстрация, а не прогноз движения двух машин.',
|
|
36
|
+
marginTitle: 'Автомобилям и мотоциклам нужен реальный запас', marginText: 'Одна физическая модель подходит для наглядного сравнения, но не воспроизводит конкретную машину. Температура тормозов, состав шин, перенос нагрузки, настройка ABS, техника управления, загрязнение и погода способны заметно изменить реальный результат.',
|
|
37
|
+
},
|
|
38
|
+
});
|