@jjlmoya/utils-drones 1.14.0 → 1.16.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 (93) hide show
  1. package/package.json +1 -1
  2. package/src/category/index.ts +2 -1
  3. package/src/entries.ts +4 -1
  4. package/src/index.ts +1 -0
  5. package/src/pages/[locale]/[slug].astro +30 -14
  6. package/src/tests/locale_completeness.test.ts +4 -22
  7. package/src/tests/shared-test-helpers.ts +56 -0
  8. package/src/tests/tool_exports.test.ts +34 -0
  9. package/src/tests/tool_validation.test.ts +2 -2
  10. package/src/tool/antenna-length-calculator/bibliography.astro +3 -11
  11. package/src/tool/antenna-length-calculator/bibliography.ts +6 -0
  12. package/src/tool/antenna-length-calculator/i18n/de.ts +2 -8
  13. package/src/tool/antenna-length-calculator/i18n/en.ts +2 -8
  14. package/src/tool/antenna-length-calculator/i18n/es.ts +2 -8
  15. package/src/tool/antenna-length-calculator/i18n/fr.ts +2 -8
  16. package/src/tool/antenna-length-calculator/i18n/id.ts +2 -8
  17. package/src/tool/antenna-length-calculator/i18n/it.ts +2 -8
  18. package/src/tool/antenna-length-calculator/i18n/ja.ts +2 -8
  19. package/src/tool/antenna-length-calculator/i18n/ko.ts +2 -8
  20. package/src/tool/antenna-length-calculator/i18n/nl.ts +2 -8
  21. package/src/tool/antenna-length-calculator/i18n/pl.ts +2 -8
  22. package/src/tool/antenna-length-calculator/i18n/pt.ts +2 -8
  23. package/src/tool/antenna-length-calculator/i18n/ru.ts +2 -8
  24. package/src/tool/antenna-length-calculator/i18n/sv.ts +2 -8
  25. package/src/tool/antenna-length-calculator/i18n/tr.ts +2 -8
  26. package/src/tool/antenna-length-calculator/i18n/zh.ts +2 -8
  27. package/src/tool/antenna-length-calculator/seo.astro +2 -26
  28. package/src/tool/drone-flight-time/bibliography.astro +3 -11
  29. package/src/tool/drone-flight-time/bibliography.ts +7 -0
  30. package/src/tool/drone-flight-time/i18n/de.ts +2 -9
  31. package/src/tool/drone-flight-time/i18n/en.ts +2 -9
  32. package/src/tool/drone-flight-time/i18n/es.ts +2 -9
  33. package/src/tool/drone-flight-time/i18n/fr.ts +2 -9
  34. package/src/tool/drone-flight-time/i18n/id.ts +2 -9
  35. package/src/tool/drone-flight-time/i18n/it.ts +2 -9
  36. package/src/tool/drone-flight-time/i18n/ja.ts +2 -9
  37. package/src/tool/drone-flight-time/i18n/ko.ts +2 -9
  38. package/src/tool/drone-flight-time/i18n/nl.ts +2 -9
  39. package/src/tool/drone-flight-time/i18n/pl.ts +2 -9
  40. package/src/tool/drone-flight-time/i18n/pt.ts +2 -9
  41. package/src/tool/drone-flight-time/i18n/ru.ts +2 -9
  42. package/src/tool/drone-flight-time/i18n/sv.ts +2 -9
  43. package/src/tool/drone-flight-time/i18n/tr.ts +2 -9
  44. package/src/tool/drone-flight-time/i18n/zh.ts +2 -9
  45. package/src/tool/drone-flight-time/seo.astro +2 -18
  46. package/src/tool/drone-power-analyzer/bibliography.astro +6 -0
  47. package/src/tool/drone-power-analyzer/bibliography.ts +7 -0
  48. package/src/tool/drone-power-analyzer/component.astro +210 -0
  49. package/src/tool/drone-power-analyzer/components/FlightProfile.astro +37 -0
  50. package/src/tool/drone-power-analyzer/components/MotorConfig.astro +46 -0
  51. package/src/tool/drone-power-analyzer/components/PowerGauge.astro +48 -0
  52. package/src/tool/drone-power-analyzer/components/WeightConfig.astro +49 -0
  53. package/src/tool/drone-power-analyzer/drone-power-analyzer.css +535 -0
  54. package/src/tool/drone-power-analyzer/entry.ts +29 -0
  55. package/src/tool/drone-power-analyzer/i18n/de.ts +203 -0
  56. package/src/tool/drone-power-analyzer/i18n/en.ts +203 -0
  57. package/src/tool/drone-power-analyzer/i18n/es.ts +203 -0
  58. package/src/tool/drone-power-analyzer/i18n/fr.ts +203 -0
  59. package/src/tool/drone-power-analyzer/i18n/id.ts +203 -0
  60. package/src/tool/drone-power-analyzer/i18n/it.ts +203 -0
  61. package/src/tool/drone-power-analyzer/i18n/ja.ts +203 -0
  62. package/src/tool/drone-power-analyzer/i18n/ko.ts +203 -0
  63. package/src/tool/drone-power-analyzer/i18n/nl.ts +203 -0
  64. package/src/tool/drone-power-analyzer/i18n/pl.ts +203 -0
  65. package/src/tool/drone-power-analyzer/i18n/pt.ts +203 -0
  66. package/src/tool/drone-power-analyzer/i18n/ru.ts +203 -0
  67. package/src/tool/drone-power-analyzer/i18n/sv.ts +203 -0
  68. package/src/tool/drone-power-analyzer/i18n/tr.ts +203 -0
  69. package/src/tool/drone-power-analyzer/i18n/zh.ts +203 -0
  70. package/src/tool/drone-power-analyzer/index.ts +8 -0
  71. package/src/tool/drone-power-analyzer/seo.astro +15 -0
  72. package/src/tool/gps-coordinates-converter/bibliography.astro +3 -11
  73. package/src/tool/gps-coordinates-converter/bibliography.ts +12 -0
  74. package/src/tool/gps-coordinates-converter/components/GpsMap.astro +3 -2
  75. package/src/tool/gps-coordinates-converter/gps-coordinates-converter.css +196 -188
  76. package/src/tool/gps-coordinates-converter/i18n/de.ts +35 -36
  77. package/src/tool/gps-coordinates-converter/i18n/en.ts +4 -14
  78. package/src/tool/gps-coordinates-converter/i18n/es.ts +4 -14
  79. package/src/tool/gps-coordinates-converter/i18n/fr.ts +4 -14
  80. package/src/tool/gps-coordinates-converter/i18n/id.ts +36 -37
  81. package/src/tool/gps-coordinates-converter/i18n/it.ts +35 -36
  82. package/src/tool/gps-coordinates-converter/i18n/ja.ts +19 -20
  83. package/src/tool/gps-coordinates-converter/i18n/ko.ts +20 -21
  84. package/src/tool/gps-coordinates-converter/i18n/nl.ts +33 -36
  85. package/src/tool/gps-coordinates-converter/i18n/pl.ts +19 -20
  86. package/src/tool/gps-coordinates-converter/i18n/pt.ts +19 -20
  87. package/src/tool/gps-coordinates-converter/i18n/ru.ts +19 -20
  88. package/src/tool/gps-coordinates-converter/i18n/sv.ts +19 -20
  89. package/src/tool/gps-coordinates-converter/i18n/tr.ts +19 -20
  90. package/src/tool/gps-coordinates-converter/i18n/zh.ts +20 -21
  91. package/src/tool/gps-coordinates-converter/seo.astro +2 -26
  92. package/src/tools.ts +3 -0
  93. package/src/types.ts +1 -3
@@ -0,0 +1,203 @@
1
+ import type { DronePowerAnalyzerLocaleContent } from '../index';
2
+ import type { WithContext, SoftwareApplication, FAQPage, HowTo } from 'schema-dts';
3
+ import { bibliography } from '../bibliography';
4
+
5
+ const slug = 'analyseur-puissance-dron';
6
+ const title = 'Analyseur de Puissance de Drone : Calculateur de Rapport Poussée/Poids pour FPV';
7
+ const description = 'Calculez le rapport poussée/poids critique pour votre drone FPV. Obtenez des recommandations de profil de vol instantanées, une jauge de puissance visuelle et optimisez pour le cinématique, le freestyle ou la course.';
8
+
9
+ const faqItems = [
10
+ {
11
+ question: 'Qu\'est-ce que le rapport poussée/poids et pourquoi est-ce important ?',
12
+ answer: 'Le rapport poussée/poids est la poussée totale que votre drone peut produire divisée par son poids total au décollage (AUW). C\'est l\'indicateur le plus important qui détermine comment votre drone se comportera en vol — de lent et stable (cinématographique) à ultra-réactif (course).',
13
+ },
14
+ {
15
+ question: 'Quel est le rapport idéal ("sweet spot") pour le vol freestyle ?',
16
+ answer: 'Pour un vol freestyle fluide, le point idéal se situe entre 4:1 et 6:1. Un rapport de 4:1 offre une excellente agilité avec une bonne stabilité, tandis que 6:1 est extrêmement réactif mais nécessite plus de finesse dans la gestion des gaz dans les espaces restreints.',
17
+ },
18
+ {
19
+ question: 'Puis-je utiliser cela pour des configurations cinématographiques ?',
20
+ answer: 'Oui. Pour des prises de vue cinématographiques fluides et lentes, visez un rapport de 2:1 à 3:1. Cela maintient le drone stable et prévisible. Tout ce qui est inférieur devient difficile à contrôler ; tout ce qui est supérieur sera trop nerveux pour des mouvements lents.',
21
+ },
22
+ {
23
+ question: 'Que se passe-t-il si mon rapport est supérieur à 8:1 ?',
24
+ answer: 'Au-dessus de 8:1, votre drone est effectivement une machine de course — extrêmement réactif et exigeant à piloter. Seuls les pilotes expérimentés devraient tenter ces configurations. Idéal pour les portes de course et la vitesse, mais dangereux en intérieur.',
25
+ },
26
+ {
27
+ question: 'Dois-je inclure le poids de la batterie dans l\'AUW ?',
28
+ answer: 'Oui. L\'AUW (All-Up Weight) est le poids total de votre drone avec tous les composants installés : châssis, moteurs, ESC, contrôleur de vol, caméra, batterie, hélices — tout. Utilisez les boutons de préréglage de batterie pour un ajout de poids instantané.',
29
+ },
30
+ ];
31
+
32
+ const howToSteps = [
33
+ {
34
+ name: 'Sélectionner la configuration moteur',
35
+ text: 'Choisissez si votre montage est une configuration à 4 (Quad), 6 (Hexa) ou 8 (Octo) moteurs. Ce multiplicateur est crucial pour la poussée totale.',
36
+ },
37
+ {
38
+ name: 'Saisir la poussée moteur',
39
+ text: 'Entrez la poussée maximale que chaque moteur peut produire (en grammes). Vous pouvez trouver cela dans les spécifications du moteur ou utiliser les préréglages rapides.',
40
+ },
41
+ {
42
+ name: 'Définir le poids total',
43
+ text: 'Saisissez le poids total au décollage (AUW) de votre drone — châssis, moteurs, batterie, caméra, tout. Utilisez les préréglages de batterie pour un ajustement instantané.',
44
+ },
45
+ {
46
+ name: 'Lire vos résultats',
47
+ text: 'Le calculateur affiche instantanément votre rapport poussée/poids, l\'adéquation du profil de vol (Ciné, Freestyle, Course) et une recommandation personnalisée pour votre montage.',
48
+ },
49
+ ];
50
+
51
+ const schemas: DronePowerAnalyzerLocaleContent['schemas'] = [
52
+ {
53
+ '@context': 'https://schema.org',
54
+ '@type': 'FAQPage',
55
+ mainEntity: faqItems.map((item) => ({
56
+ '@type': 'Question',
57
+ name: item.question,
58
+ acceptedAnswer: { '@type': 'Answer', text: item.answer },
59
+ })),
60
+ } as WithContext<FAQPage>,
61
+ {
62
+ '@context': 'https://schema.org',
63
+ '@type': 'HowTo',
64
+ name: title,
65
+ description: description,
66
+ step: howToSteps.map((step, i) => ({
67
+ '@type': 'HowToStep',
68
+ position: i + 1,
69
+ name: step.name,
70
+ text: step.text,
71
+ })),
72
+ } as WithContext<HowTo>,
73
+ {
74
+ '@context': 'https://schema.org',
75
+ '@type': 'SoftwareApplication',
76
+ name: title,
77
+ description: description,
78
+ applicationCategory: 'OtherApplication',
79
+ operatingSystem: 'Web',
80
+ offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
81
+ } as WithContext<SoftwareApplication>,
82
+ ];
83
+
84
+ export const content: DronePowerAnalyzerLocaleContent = {
85
+ slug,
86
+ title,
87
+ description,
88
+ ui: {
89
+ motorConfiguration: 'Configuration Moteur',
90
+ motorCount: 'Nombre de Moteurs',
91
+ thrustPerMotor: 'Poussée par Moteur (max)',
92
+ thrustUnit: 'g',
93
+ quad: 'Quad (4)',
94
+ hexa: 'Hexa (6)',
95
+ octo: 'Octo (8)',
96
+ motorPresets: 'Préréglages Moteurs Rapides',
97
+ presetMotor450: '2204 2300kv (4S) ~450g',
98
+ presetMotor600: '2306 2450kv (4S) ~600g',
99
+ presetMotor850: '2306 2450kv (6S) ~850g',
100
+ presetMotor1000: '2507 1850kv (6S) ~1000g',
101
+ weightConfiguration: 'Configuration du Poids',
102
+ auwLabel: 'Poids Total au Décollage (AUW)',
103
+ weightUnit: 'g',
104
+ switchToLbs: 'Passer en lbs',
105
+ switchToGrams: 'Passer en g',
106
+ batteryPresets: 'Ajouter le Poids de la Batterie',
107
+ presetTattu4s: 'Tattu 4S 1550mAh (+182g)',
108
+ presetTattu6s: 'Tattu 6S 1100mAh (+231g)',
109
+ presetGnb4s: 'GNB 4S 850mAh (+118g)',
110
+ presetGnb6s: 'GNB 6S 1100mAh (+205g)',
111
+ totalThrust: 'Poussée Totale',
112
+ twRatio: 'Rapport Poussée/Poids',
113
+ powerMeter: 'Jauge de Puissance',
114
+ flightProfiles: 'Évaluation du Profil de Vol',
115
+ cinematicLabel: 'Cinématique',
116
+ freestyleLabel: 'Freestyle',
117
+ racingLabel: 'Course',
118
+ proRacingLabel: 'Course Pro',
119
+ suitable: 'Adapté',
120
+ notSuitable: 'Non Adapté',
121
+ recommendationLabel: 'Recommandation de Style de Vol',
122
+ recommendation_low: 'Avec un rapport inférieur à 2:1, votre drone aura des problèmes de stabilité. Envisagez de réduire le poids ou d\'améliorer les moteurs pour de meilleures performances.',
123
+ recommendation_cinematic: 'Avec un rapport de {ratio}:1, c\'est idéal pour la cinématographie lourde avec des mouvements fluides et contrôlés. Parfait pour un travail de caméra lent et délibéré.',
124
+ recommendation_freestyle: 'Avec un rapport de {ratio}:1, c\'est le point idéal pour le vol freestyle. Excellente agilité tout en maintenant la stabilité pour les figures.',
125
+ recommendation_racing: 'Avec un rapport de {ratio}:1, nous sommes dans le domaine du freestyle de performance. La gestion des gaz est critique dans les espaces restreints et les manœuvres à haute vitesse.',
126
+ recommendation_extreme: 'Avec un rapport de {ratio}:1, c\'est une machine de course. Extrêmement réactif — uniquement pour les pilotes expérimentés dans des zones ouvertes.',
127
+ compareMode: 'Comparer les Montages',
128
+ scenario1: 'Montage A',
129
+ scenario2: 'Montage B',
130
+ addComparison: 'Ajouter une Comparaison',
131
+ tooltipTWRatio: 'Le rapport poussée/poids est la poussée totale divisée par le poids du drone. Un rapport plus élevé signifie une accélération plus rapide et un contrôle plus réactif.',
132
+ tooltipFreestyle: 'Le "point idéal" pour le vol freestyle est un rapport de 4:1 à 6:1, offrant le meilleur équilibre entre agilité et contrôle.',
133
+ badge_unstable: 'Instable',
134
+ badge_cinematic: 'Cinématique',
135
+ badge_sweetSpot: 'Point Idéal',
136
+ badge_racing: 'Course',
137
+ badge_extreme: 'Extrême',
138
+ batteryName_tattu4s: 'Tattu 4S',
139
+ batteryName_tattu6s: 'Tattu 6S',
140
+ batteryName_gnb4s: 'GNB 4S',
141
+ batteryName_gnb6s: 'GNB 6S',
142
+ },
143
+ seo: [
144
+ {
145
+ type: 'title',
146
+ text: 'Comprendre le Rapport Poussée/Poids pour les Drones FPV',
147
+ level: 2,
148
+ },
149
+ {
150
+ type: 'paragraph',
151
+ html: 'Le <strong>rapport poussée/poids</strong> est peut-être l\'indicateur le plus critique dans la construction de drones FPV. Pourtant, de nombreux pilotes le négligent, ce qui conduit à des montages qui ne se comportent pas comme prévu. Ce calculateur démystifie le calcul et vous montre exactement comment votre drone se sentira en vol.',
152
+ },
153
+ {
154
+ type: 'title',
155
+ text: 'Pourquoi le rapport poussée/poids est important',
156
+ level: 3,
157
+ },
158
+ {
159
+ type: 'paragraph',
160
+ html: 'Le rapport de votre drone détermine trois choses fondamentales : la <strong>stabilité</strong>, la <strong>réactivité</strong> et la <strong>vitesse</strong>. Un rapport de 2:1 semble lent et stable. Un rapport de 6:1 semble nerveux et agile. Un rapport de 10:1 est une machine de course. Comprendre où se situe votre montage sur ce spectre vous aide à choisir le bon style de vol et à fixer des attentes réalistes.',
161
+ },
162
+ {
163
+ type: 'title',
164
+ text: 'Explication des profils de vol',
165
+ level: 3,
166
+ },
167
+ {
168
+ type: 'list',
169
+ items: [
170
+ '<strong>Cinématique (2:1 – 4:1)</strong> : Lourd, stable, lent. Idéal pour des mouvements de caméra fluides et des configurations transportant une charge utile.',
171
+ '<strong>Freestyle (3,5:1 – 6,5:1)</strong> : Le point d\'équilibre idéal. Suffisamment réactif pour les figures, suffisamment stable pour le contrôle.',
172
+ '<strong>Course (5:1 – 8:1)</strong> : Rapide et agile. Conçu pour les portes de vitesse et les manœuvres agressives.',
173
+ '<strong>Course Pro (7:1+)</strong> : Performances extrêmes. Uniquement pour les pilotes experts dans des zones ouvertes.',
174
+ ],
175
+ },
176
+ {
177
+ type: 'title',
178
+ text: 'Comment calculer le rapport poussée/poids',
179
+ level: 3,
180
+ },
181
+ {
182
+ type: 'paragraph',
183
+ html: 'La formule est simple : <strong>rapport = (Poussée par Moteur × Nombre de Moteurs) / Poids Total au Décollage</strong>. Par exemple, un Quad avec des moteurs de 600g (2 400g de poussée totale) pesant 800g produit un rapport de 3:1. C\'est le territoire du freestyle.',
184
+ },
185
+ {
186
+ type: 'title',
187
+ text: 'Choisir le bon rapport pour votre montage',
188
+ level: 3,
189
+ },
190
+ {
191
+ type: 'paragraph',
192
+ html: 'Posez-vous la question : <em>Que vais-je piloter ?</em> Des prises de vue cinématographiques lentes ? Des figures freestyle agressives ? Des courses à haute vitesse ? Votre réponse détermine votre rapport idéal. La plupart des pilotes FPV finissent entre 4:1 et 6:1 car cela offre le meilleur compromis entre contrôle et sensations.',
193
+ },
194
+ {
195
+ type: 'paragraph',
196
+ html: 'Rappelez-vous : un rapport plus élevé ne signifie pas "meilleur". Cela signifie "plus réactif". Sur un quad de course, c\'est essentiel. Sur un montage cinématographique, c\'est un inconvénient. Choisissez délibérément.',
197
+ },
198
+ ],
199
+ faq: faqItems,
200
+ bibliography,
201
+ howTo: howToSteps,
202
+ schemas,
203
+ };
@@ -0,0 +1,203 @@
1
+ import type { DronePowerAnalyzerLocaleContent } from '../index';
2
+ import type { WithContext, SoftwareApplication, FAQPage, HowTo } from 'schema-dts';
3
+ import { bibliography } from '../bibliography';
4
+
5
+ const slug = 'penganalisis-daya-drone';
6
+ const title = 'Penganalisis Daya Drone: Kalkulator Rasio Dorong terhadap Berat untuk FPV';
7
+ const description = 'Hitung rasio dorong terhadap berat yang kritis untuk rakitan drone FPV Anda. Dapatkan rekomendasi profil penerbangan instan, pengukur daya visual, dan optimalkan untuk cinematic, freestyle, atau balapan.';
8
+
9
+ const faqItems = [
10
+ {
11
+ question: 'Apa itu rasio dorong terhadap berat dan mengapa itu penting?',
12
+ answer: 'Rasio dorong terhadap berat (thrust-to-weight ratio) adalah total gaya dorong yang dapat dihasilkan drone Anda dibagi dengan berat total saat lepas landas (AUW). Ini adalah metrik terpenting yang menentukan bagaimana drone Anda akan terasa saat diterbangkan — dari lambat dan stabil (sinematografi) hingga ultra-responsif (balapan).',
13
+ },
14
+ {
15
+ question: 'Berapa rasio "titik ideal" (sweet spot) untuk terbang freestyle?',
16
+ answer: 'Untuk terbang freestyle yang mulus, titik idealnya adalah antara 4:1 dan 6:1. Rasio 4:1 memberikan kelincahan yang sangat baik dengan stabilitas yang baik, sementara 6:1 sangat responsif tetapi membutuhkan kemahiran throttle lebih di ruang sempit.',
17
+ },
18
+ {
19
+ question: 'Dapatkah saya menggunakan ini untuk rakitan sinematografi?',
20
+ answer: 'Ya. Untuk pengambilan gambar sinematografi yang mulus dan lambat, targetkan rasio 2:1 hingga 3:1. Ini menjaga drone tetap stabil dan dapat diprediksi. Rasio yang lebih rendah akan sulit dikendalikan; rasio yang lebih tinggi akan terasa terlalu sensitif untuk gerakan lambat.',
21
+ },
22
+ {
23
+ question: 'Apa yang terjadi jika rasio saya di atas 8:1?',
24
+ answer: 'Di atas 8:1, drone Anda secara efektif adalah mesin balap — sangat reaktif dan menuntut keahlian terbang tinggi. Hanya pilot berpengalaman yang boleh mencoba rakitan ini. Sangat bagus untuk gate balapan dan adu kecepatan, tetapi berbahaya di dalam ruangan.',
25
+ },
26
+ {
27
+ question: 'Apakah saya harus menyertakan berat baterai dalam AUW?',
28
+ answer: 'Ya. AUW (All-Up Weight) adalah berat total drone Anda dengan semua komponen terpasang: rangka, motor, ESC, flight controller, kamera, baterai, baling-baling — semuanya. Gunakan tombol preset baterai untuk penambahan berat secara instan.',
29
+ },
30
+ ];
31
+
32
+ const howToSteps = [
33
+ {
34
+ name: 'Pilih Konfigurasi Motor',
35
+ text: 'Pilih apakah rakitan Anda adalah konfigurasi motor Quad (4), Hexa (6), atau Octo (8). Pengganda ini sangat penting untuk total gaya dorong.',
36
+ },
37
+ {
38
+ name: 'Input Gaya Dorong Motor',
39
+ text: 'Masukkan gaya dorong maksimum yang dapat dihasilkan setiap motor (dalam gram). Anda dapat menemukannya di spesifikasi motor atau gunakan preset cepat.',
40
+ },
41
+ {
42
+ name: 'Atur Berat Total',
43
+ text: 'Masukkan berat total lepas landas (AUW) drone Anda — rangka, motor, baterai, kamera, semuanya. Gunakan preset baterai untuk penyesuaian berat instan.',
44
+ },
45
+ {
46
+ name: 'Baca Hasil Anda',
47
+ text: 'Kalkulator akan langsung menunjukkan rasio dorong terhadap berat Anda, kesesuaian profil penerbangan (Cinematic, Freestyle, Racing), dan rekomendasi pribadi untuk rakitan Anda.',
48
+ },
49
+ ];
50
+
51
+ const schemas: DronePowerAnalyzerLocaleContent['schemas'] = [
52
+ {
53
+ '@context': 'https://schema.org',
54
+ '@type': 'FAQPage',
55
+ mainEntity: faqItems.map((item) => ({
56
+ '@type': 'Question',
57
+ name: item.question,
58
+ acceptedAnswer: { '@type': 'Answer', text: item.answer },
59
+ })),
60
+ } as WithContext<FAQPage>,
61
+ {
62
+ '@context': 'https://schema.org',
63
+ '@type': 'HowTo',
64
+ name: title,
65
+ description: description,
66
+ step: howToSteps.map((step, i) => ({
67
+ '@type': 'HowToStep',
68
+ position: i + 1,
69
+ name: step.name,
70
+ text: step.text,
71
+ })),
72
+ } as WithContext<HowTo>,
73
+ {
74
+ '@context': 'https://schema.org',
75
+ '@type': 'SoftwareApplication',
76
+ name: title,
77
+ description: description,
78
+ applicationCategory: 'OtherApplication',
79
+ operatingSystem: 'Web',
80
+ offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
81
+ } as WithContext<SoftwareApplication>,
82
+ ];
83
+
84
+ export const content: DronePowerAnalyzerLocaleContent = {
85
+ slug,
86
+ title,
87
+ description,
88
+ ui: {
89
+ motorConfiguration: 'Konfigurasi Motor',
90
+ motorCount: 'Jumlah Motor',
91
+ thrustPerMotor: 'Dorongan per Motor (maks)',
92
+ thrustUnit: 'g',
93
+ quad: 'Quad (4)',
94
+ hexa: 'Hexa (6)',
95
+ octo: 'Octo (8)',
96
+ motorPresets: 'Preset Motor Cepat',
97
+ presetMotor450: '2204 2300kv (4S) ~450g',
98
+ presetMotor600: '2306 2450kv (4S) ~600g',
99
+ presetMotor850: '2306 2450kv (6S) ~850g',
100
+ presetMotor1000: '2507 1850kv (6S) ~1000g',
101
+ weightConfiguration: 'Konfigurasi Berat',
102
+ auwLabel: 'Berat Total Lepas Landas (AUW)',
103
+ weightUnit: 'g',
104
+ switchToLbs: 'Ganti ke lbs',
105
+ switchToGrams: 'Ganti ke g',
106
+ batteryPresets: 'Tambah Berat Baterai',
107
+ presetTattu4s: 'Tattu 4S 1550mAh (+182g)',
108
+ presetTattu6s: 'Tattu 6S 1100mAh (+231g)',
109
+ presetGnb4s: 'GNB 4S 850mAh (+118g)',
110
+ presetGnb6s: 'GNB 6S 1100mAh (+205g)',
111
+ totalThrust: 'Total Gaya Dorong',
112
+ twRatio: 'Rasio Dorong terhadap Berat',
113
+ powerMeter: 'Pengukur Daya',
114
+ flightProfiles: 'Penilaian Profil Penerbangan',
115
+ cinematicLabel: 'Sinematik',
116
+ freestyleLabel: 'Freestyle',
117
+ racingLabel: 'Balapan',
118
+ proRacingLabel: 'Balapan Pro',
119
+ suitable: 'Cocok',
120
+ notSuitable: 'Tidak Cocok',
121
+ recommendationLabel: 'Rekomendasi Gaya Terbang',
122
+ recommendation_low: 'Dengan rasio di bawah 2:1, drone Anda akan kesulitan dengan stabilitas. Pertimbangkan untuk mengurangi berat atau meningkatkan motor untuk performa yang lebih baik.',
123
+ recommendation_cinematic: 'Dengan rasio {ratio}:1, ini ideal untuk sinematografi beban berat dengan gerakan yang mulus dan terkendali. Sempurna untuk kerja kamera yang lambat dan terencana.',
124
+ recommendation_freestyle: 'Dengan rasio {ratio}:1, ini adalah titik ideal untuk terbang freestyle. Kelincahan yang sangat baik dengan stabilitas yang tetap terjaga untuk trik.',
125
+ recommendation_racing: 'Dengan rasio {ratio}:1, ini masuk wilayah performa freestyle. Manajemen throttle sangat kritis di ruang sempit dan manuver kecepatan tinggi.',
126
+ recommendation_extreme: 'Dengan rasio {ratio}:1, ini adalah mesin balap. Sangat reaktif — hanya untuk pilot berpengalaman di area terbuka.',
127
+ compareMode: 'Bandingkan Rakitan',
128
+ scenario1: 'Rakitan A',
129
+ scenario2: 'Rakitan B',
130
+ addComparison: 'Tambah Perbandingan',
131
+ tooltipTWRatio: 'Rasio dorong terhadap berat adalah total gaya dorong dibagi dengan berat drone. Rasio yang lebih tinggi berarti akselerasi lebih cepat dan kontrol lebih responsif.',
132
+ tooltipFreestyle: '"Titik ideal" untuk terbang freestyle adalah rasio 4:1 hingga 6:1, memberikan keseimbangan terbaik antara kelincahan dan kontrol.',
133
+ badge_unstable: 'Tidak Stabil',
134
+ badge_cinematic: 'Sinematik',
135
+ badge_sweetSpot: 'Titik Ideal',
136
+ badge_racing: 'Balapan',
137
+ badge_extreme: 'Ekstrem',
138
+ batteryName_tattu4s: 'Tattu 4S',
139
+ batteryName_tattu6s: 'Tattu 6S',
140
+ batteryName_gnb4s: 'GNB 4S',
141
+ batteryName_gnb6s: 'GNB 6S',
142
+ },
143
+ seo: [
144
+ {
145
+ type: 'title',
146
+ text: 'Memahami Rasio Dorong terhadap Berat untuk Drone FPV',
147
+ level: 2,
148
+ },
149
+ {
150
+ type: 'paragraph',
151
+ html: '<strong>Rasio dorong terhadap berat</strong> mungkin adalah metrik paling kritis dalam perakitan drone FPV. Namun banyak pilot yang mengabaikannya, sehingga menghasilkan rakitan yang tidak berperilaku sesuai harapan. Kalkulator ini membantu memperjelas perhitungan dan menunjukkan dengan tepat bagaimana rakitan Anda akan terasa saat diterbangkan.',
152
+ },
153
+ {
154
+ type: 'title',
155
+ text: 'Mengapa Rasio Dorong terhadap Berat itu Penting',
156
+ level: 3,
157
+ },
158
+ {
159
+ type: 'paragraph',
160
+ html: 'Rasio drone Anda menentukan tiga hal mendasar: <strong>stabilitas</strong>, <strong>responsivitas</strong>, dan <strong>kecepatan</strong>. Rasio 2:1 terasa lamban dan stabil. Rasio 6:1 terasa lincah dan sensitif. Rasio 10:1 adalah mesin balap. Memahami di mana rakitan Anda berada dalam spektrum ini membantu Anda memilih gaya terbang yang tepat.',
161
+ },
162
+ {
163
+ type: 'title',
164
+ text: 'Profil Penerbangan Dijelaskan',
165
+ level: 3,
166
+ },
167
+ {
168
+ type: 'list',
169
+ items: [
170
+ '<strong>Sinematik (2:1 – 4:1)</strong>: Berat, stabil, lambat. Ideal untuk gerakan kamera yang mulus dan rakitan yang membawa beban.',
171
+ '<strong>Freestyle (3.5:1 – 6.5:1)</strong>: Titik ideal yang seimbang. Cukup responsif untuk trik, cukup stabil untuk kontrol.',
172
+ '<strong>Balapan (5:1 – 8:1)</strong>: Cepat dan lincah. Dirancang untuk gate balapan dan manuver agresif.',
173
+ '<strong>Balapan Pro (7:1+)</strong>: Performa ekstrem. Hanya untuk pilot ahli di area terbuka.',
174
+ ],
175
+ },
176
+ {
177
+ type: 'title',
178
+ text: 'Cara Menghitung Rasio Dorong terhadap Berat',
179
+ level: 3,
180
+ },
181
+ {
182
+ type: 'paragraph',
183
+ html: 'Rumusnya sederhana: <strong>rasio = (Gaya Dorong per Motor × Jumlah Motor) / Berat Total Lepas Landas</strong>. Sebagai contoh, sebuah Quad dengan motor 600g (total dorong 2.400g) dengan berat 800g menghasilkan rasio 3:1. Ini adalah wilayah freestyle.',
184
+ },
185
+ {
186
+ type: 'title',
187
+ text: 'Memilih Rasio yang Tepat untuk Rakitan Anda',
188
+ level: 3,
189
+ },
190
+ {
191
+ type: 'paragraph',
192
+ html: 'Tanyakan pada diri Anda: <em>Bagaimana saya akan terbang?</em> Pengambilan gambar sinematik yang lambat? Trik freestyle agresif? Balapan kecepatan tinggi? Jawaban Anda menentukan rasio ideal Anda. Kebanyakan pilot FPV berakhir di antara 4:1 dan 6:1 karena menawarkan kompromi terbaik antara kontrol dan keseruan.',
193
+ },
194
+ {
195
+ type: 'paragraph',
196
+ html: 'Ingat: rasio yang lebih tinggi bukan berarti "lebih baik". Itu berarti "lebih responsif". Pada quad balap, itu esensial. Pada rakitan sinematik, itu bisa menjadi hambatan. Pilih dengan sengaja.',
197
+ },
198
+ ],
199
+ faq: faqItems,
200
+ bibliography,
201
+ howTo: howToSteps,
202
+ schemas,
203
+ };
@@ -0,0 +1,203 @@
1
+ import type { DronePowerAnalyzerLocaleContent } from '../index';
2
+ import type { WithContext, SoftwareApplication, FAQPage, HowTo } from 'schema-dts';
3
+ import { bibliography } from '../bibliography';
4
+
5
+ const slug = 'analizzatore-potenza-drone';
6
+ const title = 'Analizzatore di Potenza Drone: Calcolatore Rapporto Spinta e Peso per FPV';
7
+ const description = 'Calcola il rapporto spinta-peso critico per il tuo drone FPV. Ottieni raccomandazioni istantanee sul profilo di volo, un indicatore di potenza visivo e ottimizza per cinematic, freestyle o racing.';
8
+
9
+ const faqItems = [
10
+ {
11
+ question: 'Cos\'è il rapporto spinta-peso e perché è importante?',
12
+ answer: 'Il rapporto spinta-peso è la spinta totale che il tuo drone può produrre divisa per il suo peso totale al decollo (AUW). È la metrica più importante che determina come si sentirà il drone in volo: da lento e stabile (cinematografia) a ultra-reattivo (racing).',
13
+ },
14
+ {
15
+ question: 'Qual è il punto ideale ("sweet spot") per il volo freestyle?',
16
+ answer: 'Per un volo freestyle fluido, il punto ideale è tra 4:1 e 6:1. Un rapporto di 4:1 offre un\'eccellente agilità con una buona stabilità, mentre 6:1 è estremamente reattivo ma richiede più precisione con il gas negli spazi stretti.',
17
+ },
18
+ {
19
+ question: 'Posso usarlo per build cinematografiche?',
20
+ answer: 'Sì. Per riprese cinematografiche fluide e lente, punta a un rapporto da 2:1 a 3:1. Questo mantiene il drone stabile e prevedibile. Qualsiasi valore inferiore diventa difficile da controllare; qualsiasi valore superiore risulterà troppo nervoso per movimenti lenti.',
21
+ },
22
+ {
23
+ question: 'Cosa succede se il mio rapporto è superiore a 8:1?',
24
+ answer: 'Sopra 8:1, il tuo drone è a tutti gli effetti una macchina da corsa: estremamente reattivo e impegnativo da pilotare. Solo i piloti esperti dovrebbero tentare queste build. Ottimo per gare di velocità e gate, ma pericoloso al chiuso.',
25
+ },
26
+ {
27
+ question: 'Devo includere il peso della batteria nell\'AUW?',
28
+ answer: 'Sì. L\'AUW (All-Up Weight) è il peso totale del tuo drone con tutti i componenti installati: telaio, motori, ESC, controller di volo, fotocamera, batteria, eliche — tutto. Usa i pulsanti predefiniti della batteria per un calcolo istantaneo.',
29
+ },
30
+ ];
31
+
32
+ const howToSteps = [
33
+ {
34
+ name: 'Seleziona la Configurazione Motori',
35
+ text: 'Scegli se la tua build è una configurazione a 4 (Quad), 6 (Hexa) o 8 (Octo) motori. Questo moltiplicatore è fondamentale per la spinta totale.',
36
+ },
37
+ {
38
+ name: 'Inserisci la Spinta del Motore',
39
+ text: 'Inserisci la spinta massima che ogni motore può produrre (in grammi). Puoi trovarla nelle specifiche del motore o usare i preset rapidi.',
40
+ },
41
+ {
42
+ name: 'Imposta il Peso Totale',
43
+ text: 'Inserisci il peso totale al decollo (AUW) del tuo drone: telaio, motori, batteria, fotocamera, tutto. Usa i preset della batteria per una regolazione istantanea del peso.',
44
+ },
45
+ {
46
+ name: 'Leggi i Risultati',
47
+ text: 'Il calcolatore mostra istantaneamente il tuo rapporto spinta-peso, l\'idoneità del profilo di volo (Cinematic, Freestyle, Racing) e una raccomandazione personalizzata.',
48
+ },
49
+ ];
50
+
51
+ const schemas: DronePowerAnalyzerLocaleContent['schemas'] = [
52
+ {
53
+ '@context': 'https://schema.org',
54
+ '@type': 'FAQPage',
55
+ mainEntity: faqItems.map((item) => ({
56
+ '@type': 'Question',
57
+ name: item.question,
58
+ acceptedAnswer: { '@type': 'Answer', text: item.answer },
59
+ })),
60
+ } as WithContext<FAQPage>,
61
+ {
62
+ '@context': 'https://schema.org',
63
+ '@type': 'HowTo',
64
+ name: title,
65
+ description: description,
66
+ step: howToSteps.map((step, i) => ({
67
+ '@type': 'HowToStep',
68
+ position: i + 1,
69
+ name: step.name,
70
+ text: step.text,
71
+ })),
72
+ } as WithContext<HowTo>,
73
+ {
74
+ '@context': 'https://schema.org',
75
+ '@type': 'SoftwareApplication',
76
+ name: title,
77
+ description: description,
78
+ applicationCategory: 'OtherApplication',
79
+ operatingSystem: 'Web',
80
+ offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
81
+ } as WithContext<SoftwareApplication>,
82
+ ];
83
+
84
+ export const content: DronePowerAnalyzerLocaleContent = {
85
+ slug,
86
+ title,
87
+ description,
88
+ ui: {
89
+ motorConfiguration: 'Configurazione Motori',
90
+ motorCount: 'Numero Motori',
91
+ thrustPerMotor: 'Spinta per Motore (max)',
92
+ thrustUnit: 'g',
93
+ quad: 'Quad (4)',
94
+ hexa: 'Hexa (6)',
95
+ octo: 'Octo (8)',
96
+ motorPresets: 'Preset Motori Rapidi',
97
+ presetMotor450: '2204 2300kv (4S) ~450g',
98
+ presetMotor600: '2306 2450kv (4S) ~600g',
99
+ presetMotor850: '2306 2450kv (6S) ~850g',
100
+ presetMotor1000: '2507 1850kv (6S) ~1000g',
101
+ weightConfiguration: 'Configurazione Peso',
102
+ auwLabel: 'Peso Totale al Decollo (AUW)',
103
+ weightUnit: 'g',
104
+ switchToLbs: 'Passa a lbs',
105
+ switchToGrams: 'Passa a g',
106
+ batteryPresets: 'Aggiungi Peso Batteria',
107
+ presetTattu4s: 'Tattu 4S 1550mAh (+182g)',
108
+ presetTattu6s: 'Tattu 6S 1100mAh (+231g)',
109
+ presetGnb4s: 'GNB 4S 850mAh (+118g)',
110
+ presetGnb6s: 'GNB 6S 1100mAh (+205g)',
111
+ totalThrust: 'Spinta Totale',
112
+ twRatio: 'Rapporto Spinta-Peso',
113
+ powerMeter: 'Indicatore Potenza',
114
+ flightProfiles: 'Valutazione Profilo di Volo',
115
+ cinematicLabel: 'Cinematic',
116
+ freestyleLabel: 'Freestyle',
117
+ racingLabel: 'Racing',
118
+ proRacingLabel: 'Pro Racing',
119
+ suitable: 'Adatto',
120
+ notSuitable: 'Non Adatto',
121
+ recommendationLabel: 'Raccomandazione Stile di Volo',
122
+ recommendation_low: 'Con un rapporto inferiore a 2:1, il tuo drone avrà problemi di stabilità. Considera di ridurre il peso o potenziare i motori.',
123
+ recommendation_cinematic: 'Con un rapporto di {ratio}:1, questo è ideale per cinematografia heavy-lift con movimenti fluidi e controllati. Perfetto per lavori video lenti e precisi.',
124
+ recommendation_freestyle: 'Con un rapporto di {ratio}:1, questo è il punto ideale per il volo freestyle. Eccellente agilità mantenendo la stabilità per i trick.',
125
+ recommendation_racing: 'Con un rapporto di {ratio}:1, siamo in territorio performance freestyle. La gestione del gas è critica in spazi stretti e manovre ad alta velocità.',
126
+ recommendation_extreme: 'Con un rapporto di {ratio}:1, questa è una macchina da corsa. Estremamente reattiva — solo per piloti esperti in aree aperte.',
127
+ compareMode: 'Confronta Build',
128
+ scenario1: 'Build A',
129
+ scenario2: 'Build B',
130
+ addComparison: 'Aggiungi Confronto',
131
+ tooltipTWRatio: 'Il rapporto spinta-peso è la spinta totale divisa per il peso del drone. Un rapporto più alto significa accelerazione più rapida e controllo più reattivo.',
132
+ tooltipFreestyle: 'Il "punto ideale" per il volo freestyle è un rapporto da 4:1 a 6:1, che offre il miglior equilibrio tra agilità e controllo.',
133
+ badge_unstable: 'Instabile',
134
+ badge_cinematic: 'Cinematic',
135
+ badge_sweetSpot: 'Punto Ideale',
136
+ badge_racing: 'Racing',
137
+ badge_extreme: 'Estremo',
138
+ batteryName_tattu4s: 'Tattu 4S',
139
+ batteryName_tattu6s: 'Tattu 6S',
140
+ batteryName_gnb4s: 'GNB 4S',
141
+ batteryName_gnb6s: 'GNB 6S',
142
+ },
143
+ seo: [
144
+ {
145
+ type: 'title',
146
+ text: 'Capire il Rapporto Spinta-Peso per i Droni FPV',
147
+ level: 2,
148
+ },
149
+ {
150
+ type: 'paragraph',
151
+ html: 'Il <strong>rapporto spinta-peso</strong> è forse la metrica più critica nella costruzione di droni FPV. Eppure molti piloti la trascurano, portando a build che non si comportano come previsto. Questo calcolatore demistifica il calcolo e ti mostra esattamente come si sentirà la tua build in volo.',
152
+ },
153
+ {
154
+ type: 'title',
155
+ text: 'Perché il Rapporto Spinta-Peso è Importante',
156
+ level: 3,
157
+ },
158
+ {
159
+ type: 'paragraph',
160
+ html: 'Il rapporto del tuo drone determina tre cose fondamentali: <strong>stabilità</strong>, <strong>reattività</strong> e <strong>velocità</strong>. Un rapporto 2:1 sembra pigro e stabile. Un rapporto 6:1 sembra nervoso e agile. Un rapporto 10:1 è una macchina da corsa. Capire dove si posiziona la tua build in questo spettro ti aiuta a scegliere il giusto stile di volo.',
161
+ },
162
+ {
163
+ type: 'title',
164
+ text: 'Profili di Volo Spiegati',
165
+ level: 3,
166
+ },
167
+ {
168
+ type: 'list',
169
+ items: [
170
+ '<strong>Cinematic (2:1 – 4:1)</strong>: Pesante, stabile, lento. Ideale per movimenti fluidi della fotocamera e build con carichi elevati.',
171
+ '<strong>Freestyle (3.5:1 – 6.5:1)</strong>: Il punto di equilibrio ideale. Abbastanza reattivo per i trick, abbastanza stabile per il controllo.',
172
+ '<strong>Racing (5:1 – 8:1)</strong>: Veloce e agile. Progettato per gate di velocità e manovre aggressive.',
173
+ '<strong>Pro Racing (7:1+)</strong>: Prestazioni estreme. Solo per piloti esperti in aree aperte.',
174
+ ],
175
+ },
176
+ {
177
+ type: 'title',
178
+ text: 'Come Calcolare il Rapporto Spinta-Peso',
179
+ level: 3,
180
+ },
181
+ {
182
+ type: 'paragraph',
183
+ html: 'La formula è semplice: <strong>rapporto = (Spinta per Motore × Numero Motori) / Peso Totale al Decollo</strong>. Ad esempio, un Quad con motori da 600g (2.400g di spinta totale) che pesa 800g produce un rapporto 3:1. Questo è territorio freestyle.',
184
+ },
185
+ {
186
+ type: 'title',
187
+ text: 'Scegliere il Rapporto Giusto per la Tua Build',
188
+ level: 3,
189
+ },
190
+ {
191
+ type: 'paragraph',
192
+ html: 'Chiediti: <em>Cosa volerò?</em> Riprese cinematografiche lente? Trick freestyle aggressivi? Gare ad alta velocità? La tua risposta determina il rapporto ideale. La maggior parte dei piloti FPV finisce tra 4:1 e 6:1 perché offre il miglior compromesso tra controllo ed emozione.',
193
+ },
194
+ {
195
+ type: 'paragraph',
196
+ html: 'Ricorda: un rapporto più alto non significa "migliore". Significa "più reattivo". Su un quad da gara, è essenziale. Su una build cinematografica, è un limite. Scegli con consapevolezza.',
197
+ },
198
+ ],
199
+ faq: faqItems,
200
+ bibliography,
201
+ howTo: howToSteps,
202
+ schemas,
203
+ };