@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 = 'drone-power-analyzer';
6
+ const title = 'ドローンパワーアナライザー:FPV用推力重量比計算機';
7
+ const description = 'FPVドローンビルドの重要な推力重量比を計算します。即時のフライトプロファイル推奨、ビジュアルパワーゲージを取得し、シネマティック、フリースタイル、またはレース用に最適化します。';
8
+
9
+ const faqItems = [
10
+ {
11
+ question: '推力重量比とは何ですか?なぜ重要なのですか?',
12
+ answer: '推力重量比は、ドローンが発生できる総推力をその総離陸重量(AUW)で割ったものです。これは、ドローンの飛行感覚を決定する最も重要な指標であり、ゆっくりと安定したもの(空撮)から超反応的なもの(レース)まで左右します。',
13
+ },
14
+ {
15
+ question: 'フリースタイル飛行の「スイートスポット」となる比率は?',
16
+ answer: 'スムーズなフリースタイル飛行の場合、スイートスポットは4:1から6:1の間です。4:1の比率は優れた機敏性と良好な安定性を提供し、6:1は非常に反応が良いですが、狭いスペースでのスロットル操作に繊細さが求められます。',
17
+ },
18
+ {
19
+ question: '空撮用ビルドに使用できますか?',
20
+ answer: 'はい。スムーズでゆっくりとした空撮ショットの場合、2:1から3:1の比率を目指してください。これによりドローンが安定し、予測しやすくなります。これより低いと制御が難しくなり、高いとゆっくりとした動きには過敏すぎると感じられます。',
21
+ },
22
+ {
23
+ question: '比率が8:1を超えるとどうなりますか?',
24
+ answer: '8:1を超えると、ドローンは実質的にレーシングマシンとなります。非常に反応が良く、操縦には高い技術が要求されます。経験豊富なパイロットのみがこれらのビルドを試みるべきです。レースゲートやスピードランには最適ですが、屋内では危険です。',
25
+ },
26
+ {
27
+ question: 'AUWにバッテリーの重量を含める必要がありますか?',
28
+ answer: 'はい。AUW(All-Up Weight:総離陸重量)は、フレーム、モーター、ESC、フライトコントローラー、カメラ、バッテリー、プロペラなど、すべてのコンポーネントを取り付けたドローンの総重量です。バッテリープリセットボタンを使用して、即座に重量を追加できます。',
29
+ },
30
+ ];
31
+
32
+ const howToSteps = [
33
+ {
34
+ name: 'モーター構成を選択',
35
+ text: 'ビルドがクアッド(4)、ヘキサ(6)、またはオクト(8)モーター構成のどれであるかを選択します。この乗数は総推力にとって重要です。',
36
+ },
37
+ {
38
+ name: 'モーター推力を入力',
39
+ text: '各モーターが発生できる最大推力(グラム単位)を入力します。モーターの仕様を確認するか、クイックプリセットを使用してください。',
40
+ },
41
+ {
42
+ name: '総重量を設定',
43
+ text: 'ドローンの総離陸重量(AUW)を入力します(フレーム、モーター、バッテリー、カメラなどすべて)。バッテリープリセットを使用して即座に重量を調整できます。',
44
+ },
45
+ {
46
+ name: '結果を確認',
47
+ text: '計算機は即座に推力重量比、フライトプロファイルの適合性(シネマティック、フリースタイル、レース)、およびビルドに対するパーソナライズされた推奨事項を表示します。',
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: 'モーター構成',
90
+ motorCount: 'モーター数',
91
+ thrustPerMotor: 'モーター単体推力 (最大)',
92
+ thrustUnit: 'g',
93
+ quad: 'クアッド (4)',
94
+ hexa: 'ヘキサ (6)',
95
+ octo: 'オクト (8)',
96
+ motorPresets: 'クイックモータープリセット',
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: '重量構成',
102
+ auwLabel: '総離陸重量 (AUW)',
103
+ weightUnit: 'g',
104
+ switchToLbs: 'ポンドに切り替え',
105
+ switchToGrams: 'グラムに切り替え',
106
+ batteryPresets: 'バッテリー重量を追加',
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: '総推力',
112
+ twRatio: '推力重量比',
113
+ powerMeter: 'パワーメーター',
114
+ flightProfiles: 'フライトプロファイル評価',
115
+ cinematicLabel: 'シネマティック',
116
+ freestyleLabel: 'フリースタイル',
117
+ racingLabel: 'レース',
118
+ proRacingLabel: 'プロレース',
119
+ suitable: '適正',
120
+ notSuitable: '不適正',
121
+ recommendationLabel: '飛行スタイルの推奨',
122
+ recommendation_low: '2:1未満の比率では、ドローンの安定性に問題が生じます。パフォーマンス向上のために、軽量化またはモーターのアップグレードを検討してください。',
123
+ recommendation_cinematic: '{ratio}:1の比率は、スムーズで制御された動きを伴う重量級の空撮に理想的です。ゆっくりとした意図的なカメラワークに最適です。',
124
+ recommendation_freestyle: '{ratio}:1の比率は、フリースタイル飛行のスイートスポットです。トリックのための安定性を維持しながら、優れた機敏性を発揮します。',
125
+ recommendation_racing: '{ratio}:1の比率は、パフォーマンスフリースタイルの領域です。狭いスペースや高速操縦では、スロットル管理が非常に重要になります。',
126
+ recommendation_extreme: '{ratio}:1の比率は、レーシングマシンです。非常に反応が良く、オープンエリアでの経験豊富なパイロット専用です。',
127
+ compareMode: 'ビルドを比較',
128
+ scenario1: 'ビルド A',
129
+ scenario2: 'ビルド B',
130
+ addComparison: '比較を追加',
131
+ tooltipTWRatio: '推力重量比は、総推力をドローンの重量で割ったものです。比率が高いほど、加速が速くなり、コントロールの反応が良くなります。',
132
+ tooltipFreestyle: 'フリースタイル飛行の「スイートスポット」は4:1から6:1の比率であり、機敏性とコントロールの最高のバランスを提供します。',
133
+ badge_unstable: '不安定',
134
+ badge_cinematic: 'シネマティック',
135
+ badge_sweetSpot: 'スイートスポット',
136
+ badge_racing: 'レース',
137
+ badge_extreme: 'エクストリーム',
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: 'FPVドローンの推力重量比を理解する',
147
+ level: 2,
148
+ },
149
+ {
150
+ type: 'paragraph',
151
+ html: '<strong>推力重量比</strong>は、FPVドローン製作においておそらく最も重要な指標です。しかし、多くのパイロットが見落としてしまい、期待通りの挙動をしないビルドになってしまうことがあります。この計算機は計算を明確にし、あなたのビルドが実際にどのような飛行感覚になるかを正確に示します。',
152
+ },
153
+ {
154
+ type: 'title',
155
+ text: 'なぜ推力重量比が重要なのか',
156
+ level: 3,
157
+ },
158
+ {
159
+ type: 'paragraph',
160
+ html: 'ドローンの比率は、<strong>安定性</strong>、<strong>反応性</strong>、<strong>速度</strong>という3つの基本的な要素を決定します。2:1の比率は鈍重で安定した感覚になります。6:1の比率は機敏で過敏な感覚になります。10:1の比率は純粋なレーシングマシンです。自分のビルドがこのスペクトルのどこに位置するかを理解することで、適切な飛行スタイルを選択し、現実的な期待を持つことができます。',
161
+ },
162
+ {
163
+ type: 'title',
164
+ text: 'フライトプロファイルの解説',
165
+ level: 3,
166
+ },
167
+ {
168
+ type: 'list',
169
+ items: [
170
+ '<strong>シネマティック (2:1 – 4:1)</strong>: 重く、安定し、ゆっくり。スムーズなカメラの動きやペイロードを運ぶビルドに最適。',
171
+ '<strong>フリースタイル (3.5:1 – 6.5:1)</strong>: バランスの取れたスイートスポット。トリックには十分な反応性があり、コントロールには十分な安定性がある。',
172
+ '<strong>レース (5:1 – 8:1)</strong>: 高速で機敏。レースゲートやアグレッシブな操縦のために設計。',
173
+ '<strong>プロレース (7:1+)</strong>: 極限のパフォーマンス。オープンエリアでのエキスパートパイロット専用。',
174
+ ],
175
+ },
176
+ {
177
+ type: 'title',
178
+ text: '推力重量比の計算方法',
179
+ level: 3,
180
+ },
181
+ {
182
+ type: 'paragraph',
183
+ html: '計算式は単純です:<strong>比率 = (モーター単体推力 × モーター数) / 総離陸重量</strong>。例えば、800gの重量で600gの推力を持つモーターを使用したクアッド(総推力2,400g)は、3:1の比率になります。これはフリースタイルの領域です。',
184
+ },
185
+ {
186
+ type: 'title',
187
+ text: 'ビルドに最適な比率の選択',
188
+ level: 3,
189
+ },
190
+ {
191
+ type: 'paragraph',
192
+ html: '自問してみてください:<em>どのように飛ばしたいですか?</em> ゆっくりとした空撮? アグレッシブなフリースタイルのトリック? 高速レース? その答えが理想的な比率を決定します。ほとんどのFPVパイロットは、コントロールと興奮の最高の妥協点である4:1から6:1の間に落ち着きます。',
193
+ },
194
+ {
195
+ type: 'paragraph',
196
+ html: '注意:高い比率が必ずしも「より良い」わけではありません。「より反応が良い」ことを意味します。レース用クアッドでは不可欠ですが、空撮用ビルドではむしろ足かせになることもあります。目的に合わせて意図的に選択してください。',
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 = 'drone-power-analyzer';
6
+ const title = '드론 파워 분석기: FPV용 추력 대비 중량비 계산기';
7
+ const description = 'FPV 드론 빌드의 핵심인 추력 대비 중량비를 계산하세요. 즉각적인 비행 프로필 추천, 시각적 파워 게이지를 확인하고 시네마틱, 프리스타일 또는 레이싱에 최적화하세요.';
8
+
9
+ const faqItems = [
10
+ {
11
+ question: '추력 대비 중량비란 무엇이며 왜 중요한가요?',
12
+ answer: '추력 대비 중량비는 드론이 낼 수 있는 총 추력을 이륙 총 중량(AUW)으로 나눈 값입니다. 이는 드론의 비행 느낌을 결정하는 가장 중요한 지표로, 느리고 안정적인 비행(시네마토그래피)부터 초민감한 비행(레이싱)까지 결정합니다.',
13
+ },
14
+ {
15
+ question: '프리스타일 비행을 위한 가장 이상적인 비율(스윗 스팟)은 얼마인가요?',
16
+ answer: '부드러운 프리스타일 비행의 경우 4:1에서 6:1 사이가 가장 좋습니다. 4:1 비율은 좋은 안정성과 함께 우수한 민첩성을 제공하며, 6:1은 매우 민감하게 반응하지만 좁은 공간에서 정교한 스로틀 조절이 필요합니다.',
17
+ },
18
+ {
19
+ question: '시네마틱 빌드에도 이 계산기를 사용할 수 있나요?',
20
+ answer: '네. 부드럽고 느린 시네마틱 촬영을 위해서는 2:1에서 3:1 비율을 목표로 하세요. 이 비율은 드론을 안정적이고 예측 가능하게 유지해줍니다. 이보다 낮으면 제어가 어려워지고, 높으면 느린 움직임에 너무 예민하게 반응합니다.',
21
+ },
22
+ {
23
+ question: '비율이 8:1을 넘으면 어떻게 되나요?',
24
+ answer: '8:1 이상의 비율에서 드론은 사실상 레이싱 머신입니다. 매우 반응이 빠르고 조종하기 까다롭습니다. 숙련된 파일럿만 이러한 빌드를 시도해야 합니다. 레이싱 게이트 통과나 스피드 런에는 훌륭하지만, 실내에서는 위험합니다.',
25
+ },
26
+ {
27
+ question: '배터리 무게도 AUW에 포함해야 하나요?',
28
+ answer: '네. AUW(All-Up Weight: 이륙 총 중량)는 프레임, 모터, ESC, FC, 카메라, 배터리, 프롭 등 모든 부품이 장착된 드론의 총 무게입니다. 배터리 프리셋 버튼을 사용해 즉시 무게를 추가할 수 있습니다.',
29
+ },
30
+ ];
31
+
32
+ const howToSteps = [
33
+ {
34
+ name: '모터 구성 선택',
35
+ text: '빌드가 쿼드(4), 헥사(6) 또는 옥토(8) 모터 구성인지 선택하세요. 이 배수는 총 추력 계산에 결정적입니다.',
36
+ },
37
+ {
38
+ name: '모터 추력 입력',
39
+ text: '각 모터가 낼 수 있는 최대 추력(그램 단위)을 입력하세요. 모터 사양서에서 확인하거나 퀵 프리셋을 사용하세요.',
40
+ },
41
+ {
42
+ name: '총 무게 설정',
43
+ text: '프레임, 모터, 배터리, 카메라를 포함한 드론의 이륙 총 중량(AUW)을 입력하세요. 배터리 프리셋으로 즉시 무게를 조절할 수 있습니다.',
44
+ },
45
+ {
46
+ name: '결과 확인',
47
+ text: '계산기가 즉시 추력 대비 중량비, 비행 프로필 적합성(시네마틱, 프리스타일, 레이싱) 및 빌드에 대한 맞춤형 추천을 보여줍니다.',
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: '모터 구성',
90
+ motorCount: '모터 개수',
91
+ thrustPerMotor: '모터당 추력 (최대)',
92
+ thrustUnit: 'g',
93
+ quad: '쿼드 (4)',
94
+ hexa: '헥사 (6)',
95
+ octo: '옥토 (8)',
96
+ motorPresets: '빠른 모터 프리셋',
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: '무게 설정',
102
+ auwLabel: '이륙 총 중량 (AUW)',
103
+ weightUnit: 'g',
104
+ switchToLbs: 'lbs로 전환',
105
+ switchToGrams: 'g으로 전환',
106
+ batteryPresets: '배터리 무게 추가',
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: '총 추력',
112
+ twRatio: '추력 대비 중량비',
113
+ powerMeter: '파워 게이지',
114
+ flightProfiles: '비행 프로필 평가',
115
+ cinematicLabel: '시네마틱',
116
+ freestyleLabel: '프리스타일',
117
+ racingLabel: '레이싱',
118
+ proRacingLabel: '프로 레이싱',
119
+ suitable: '적합',
120
+ notSuitable: '부적합',
121
+ recommendationLabel: '비행 스타일 추천',
122
+ recommendation_low: '비율이 2:1 미만이면 드론의 안정성이 떨어집니다. 더 나은 성능을 위해 무게를 줄이거나 모터를 업그레이드하는 것을 고려하세요.',
123
+ recommendation_cinematic: '{ratio}:1 비율은 부드럽고 제어된 움직임이 필요한 고중량 시네마틱 비행에 이상적입니다. 느리고 정교한 카메라 워크에 완벽합니다.',
124
+ recommendation_freestyle: '{ratio}:1 비율은 프리스타일 비행의 스윗 스팟입니다. 트릭을 위한 안정성을 유지하면서도 우수한 민첩성을 발휘합니다.',
125
+ recommendation_racing: '{ratio}:1 비율은 퍼포먼스 프리스타일 영역입니다. 좁은 공간과 고속 기동에서 스로틀 관리가 매우 중요합니다.',
126
+ recommendation_extreme: '{ratio}:1 비율은 레이싱 머신입니다. 매우 반응이 빠르며 탁 트인 공간에서 숙련된 파일럿에게만 권장됩니다.',
127
+ compareMode: '빌드 비교',
128
+ scenario1: '빌드 A',
129
+ scenario2: '빌드 B',
130
+ addComparison: '비교 추가',
131
+ tooltipTWRatio: '추력 대비 중량비는 총 추력을 드론의 무게로 나눈 값입니다. 비율이 높을수록 가속이 빨라지고 제어 반응이 민감해집니다.',
132
+ tooltipFreestyle: '프리스타일 비행의 "스윗 스팟"은 4:1에서 6:1 비율이며, 민첩성과 제어력 사이의 최상의 균형을 제공합니다.',
133
+ badge_unstable: '불안정',
134
+ badge_cinematic: '시네마틱',
135
+ badge_sweetSpot: '스윗 스팟',
136
+ badge_racing: '레이싱',
137
+ badge_extreme: '익스트림',
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: 'FPV 드론의 추력 대비 중량비 이해하기',
147
+ level: 2,
148
+ },
149
+ {
150
+ type: 'paragraph',
151
+ html: '<strong>추력 대비 중량비</strong>는 FPV 드론 제작에서 가장 중요한 지표 중 하나입니다. 하지만 많은 파일럿들이 이를 간과하여 기대와 다르게 움직이는 드론을 만들곤 합니다. 이 계산기는 계산 과정을 명확히 보여주고 당신의 빌드가 비행 시 어떤 느낌일지 정확히 알려줍니다.',
152
+ },
153
+ {
154
+ type: 'title',
155
+ text: '추력 대비 중량비가 중요한 이유',
156
+ level: 3,
157
+ },
158
+ {
159
+ type: 'paragraph',
160
+ html: '드론의 비율은 <strong>안정성</strong>, <strong>반응성</strong>, <strong>속도</strong>라는 세 가지 기본 요소를 결정합니다. 2:1 비율은 둔하고 안정적인 느낌입니다. 6:1 비율은 민첩하고 예민한 느낌입니다. 10:1 비율은 순수한 레이싱 머신입니다. 당신의 빌드가 이 스펙트럼의 어디에 위치하는지 이해하면 적절한 비행 스타일을 선택할 수 있습니다.',
161
+ },
162
+ {
163
+ type: 'title',
164
+ text: '비행 프로필 설명',
165
+ level: 3,
166
+ },
167
+ {
168
+ type: 'list',
169
+ items: [
170
+ '<strong>시네마틱 (2:1 – 4:1)</strong>: 무겁고 안정적이며 느림. 부드러운 카메라 움직임과 페이로드를 운반하는 빌드에 적합.',
171
+ '<strong>프리스타일 (3.5:1 – 6.5:1)</strong>: 균형 잡힌 스윗 스팟. 트릭에는 충분히 반응하고 제어하기에는 충분히 안정적.',
172
+ '<strong>레이싱 (5:1 – 8:1)</strong>: 빠르고 민첩함. 레이싱 게이트 통과와 공격적인 기동을 위해 설계.',
173
+ '<strong>프로 레이싱 (7:1+)</strong>: 극한의 성능. 탁 트인 공간에서 전문가 파일럿 전용.',
174
+ ],
175
+ },
176
+ {
177
+ type: 'title',
178
+ text: '추력 대비 중량비 계산 방법',
179
+ level: 3,
180
+ },
181
+ {
182
+ type: 'paragraph',
183
+ html: '계산식은 간단합니다: <strong>비율 = (모터당 추력 × 모터 개수) / 이륙 총 중량</strong>. 예를 들어, 800g 무게에 600g 추력의 모터를 사용하는 쿼드(총 추력 2,400g)는 3:1 비율이 됩니다. 이는 프리스타일 영역입니다.',
184
+ },
185
+ {
186
+ type: 'title',
187
+ text: '빌드에 맞는 적절한 비율 선택하기',
188
+ level: 3,
189
+ },
190
+ {
191
+ type: 'paragraph',
192
+ html: '스스로에게 물어보세요: <em>어떻게 비행할 것인가?</em> 느린 시네마틱 샷? 공격적인 프리스타일 트릭? 고속 레이싱? 그 답이 당신의 이상적인 비율을 결정합니다. 대부분의 FPV 파일럿은 제어와 스릴 사이의 가장 좋은 타협점인 4:1에서 6:1 사이를 선택합니다.',
193
+ },
194
+ {
195
+ type: 'paragraph',
196
+ html: '기억하세요: 높은 비율이 항상 "더 좋은" 것은 아닙니다. "더 반응이 빠르다"는 것을 의미합니다. 레이싱 쿼드에서는 필수적이지만, 시네마틱 빌드에서는 오히려 방해가 될 수 있습니다. 목적에 따라 신중하게 선택하세요.',
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 = 'drone-vermogen-analysator';
6
+ const title = 'Drone Power Analyzer: Stuwkracht en Gewichtsverhouding Calculator voor FPV';
7
+ const description = 'Bereken de cruciale stuwkracht-gewichtsverhouding voor je FPV-drone build. Ontvang direct aanbevelingen voor vluchtprofielen, een visuele powermeter en optimaliseer voor cinematic, freestyle of racing.';
8
+
9
+ const faqItems = [
10
+ {
11
+ question: 'Wat is de stuwkracht-gewichtsverhouding en waarom is het belangrijk?',
12
+ answer: 'De stuwkracht-gewichtsverhouding is de totale stuwkracht die je drone kan produceren gedeeld door het totale startgewicht (AUW). Het is de belangrijkste metriek die bepaalt hoe je drone aanvoelt tijdens het vliegen — van traag en stabiel (cinematografie) tot ultra-reactief (racing).',
13
+ },
14
+ {
15
+ question: 'Wat is de ideale verhouding ("sweet spot") voor freestyle vliegen?',
16
+ answer: 'Voor vloeiend freestyle vliegen ligt de sweet spot tussen 4:1 en 6:1. Een verhouding van 4:1 biedt uitstekende wendbaarheid met goede stabiliteit, terwijl 6:1 extreem reactief is maar meer precisie vereist met het gas in krappe ruimtes.',
17
+ },
18
+ {
19
+ question: 'Kan ik dit gebruiken voor cinematic builds?',
20
+ answer: 'Ja. Voor vloeiende, trage cinematic beelden moet je mikken op een verhouding van 2:1 tot 3:1. Dit houdt de drone stabiel en voorspelbaar. Alles lager wordt moeilijk te besturen; alles hoger zal te nerveus aanvoelen voor trage bewegingen.',
21
+ },
22
+ {
23
+ question: 'Wat gebeurt er als mijn verhouding boven de 8:1 ligt?',
24
+ answer: 'Boven de 8:1 is je drone effectief een racemachine — extreem reactief en veeleisend om mee te vliegen. Alleen ervaren piloten zouden deze builds moeten proberen. Geweldig voor race-gates en speedruns, maar gevaarlijk binnenshuis.',
25
+ },
26
+ {
27
+ question: 'Moet ik het batterijgewicht meerekenen in het AUW?',
28
+ answer: 'Ja. AUW (All-Up Weight) is het totale gewicht van je drone met alle componenten geïnstalleerd: frame, motoren, ESC\'s, flight controller, camera, batterij, props — alles. Gebruik de batterij-presets voor directe gewichtstoevoeging.',
29
+ },
30
+ ];
31
+
32
+ const howToSteps = [
33
+ {
34
+ name: 'Selecteer Motornconfiguratie',
35
+ text: 'Kies of je build een Quad (4), Hexa (6) of Octo (8) motorconfiguratie heeft. Deze vermenigvuldiger is cruciaal voor de totale stuwkracht.',
36
+ },
37
+ {
38
+ name: 'Voer Motorstuwkracht in',
39
+ text: 'Voer de maximale stuwkracht in die elke motor kan produceren (in grammen). Je kunt dit vinden in de motorspecificaties of gebruik de snelle presets.',
40
+ },
41
+ {
42
+ name: 'Stel Totaal Gewicht in',
43
+ text: 'Voer het totale startgewicht (AUW) van je drone in — frame, motoren, batterij, camera, alles. Gebruik de batterij-presets voor directe gewichtsaanpassing.',
44
+ },
45
+ {
46
+ name: 'Lees je Resultaten',
47
+ text: 'De calculator toont direct je stuwkracht-gewichtsverhouding, geschiktheid voor vluchtprofielen (Cinematic, Freestyle, Racing) en een persoonlijk advies voor je build.',
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: 'Motorconfiguratie',
90
+ motorCount: 'Aantal Motoren',
91
+ thrustPerMotor: 'Stuwkracht per Motor (max)',
92
+ thrustUnit: 'g',
93
+ quad: 'Quad (4)',
94
+ hexa: 'Hexa (6)',
95
+ octo: 'Octo (8)',
96
+ motorPresets: 'Snelle Motor-presets',
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: 'Gewichtsconfiguratie',
102
+ auwLabel: 'Totaal Startgewicht (AUW)',
103
+ weightUnit: 'g',
104
+ switchToLbs: 'Wissel naar lbs',
105
+ switchToGrams: 'Wissel naar g',
106
+ batteryPresets: 'Batterijgewicht Toevoegen',
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: 'Totale Stuwkracht',
112
+ twRatio: 'Stuwkracht-Gewichtsverhouding',
113
+ powerMeter: 'Powermeter',
114
+ flightProfiles: 'Beoordeling Vluchtprofiel',
115
+ cinematicLabel: 'Cinematic',
116
+ freestyleLabel: 'Freestyle',
117
+ racingLabel: 'Racing',
118
+ proRacingLabel: 'Pro Racing',
119
+ suitable: 'Geschikt',
120
+ notSuitable: 'Niet Geschikt',
121
+ recommendationLabel: 'Advies Vliegstijl',
122
+ recommendation_low: 'Met een verhouding onder 2:1 zal je drone moeite hebben met stabiliteit. Overweeg gewicht te verminderen of motoren te upgraden voor betere prestaties.',
123
+ recommendation_cinematic: 'Met een verhouding van {ratio}:1 is dit ideaal voor heavy-lift cinematografie met vloeiende, gecontroleerde bewegingen. Perfect voor traag, bewust camerawerk.',
124
+ recommendation_freestyle: 'Met een verhouding van {ratio}:1 is dit de sweet spot voor freestyle vliegen. Uitstekende wendbaarheid met behoud van stabiliteit voor tricks.',
125
+ recommendation_racing: 'Met een verhouding van {ratio}:1 bevinden we ons op het terrein van performance freestyle. Gasbeheersing is cruciaal in krappe ruimtes en bij manoeuvres op hoge snelheid.',
126
+ recommendation_extreme: 'Met een verhouding van {ratio}:1 is dit een racemachine. Extreem reactief — alleen voor ervaren piloten in open gebieden.',
127
+ compareMode: 'Builds Vergelijken',
128
+ scenario1: 'Build A',
129
+ scenario2: 'Build B',
130
+ addComparison: 'Vergelijking Toevoegen',
131
+ tooltipTWRatio: 'Stuwkracht-gewichtsverhouding is de totale stuwkracht gedeeld door het gewicht van de drone. Een hogere verhouding betekent snellere acceleratie en reactievere besturing.',
132
+ tooltipFreestyle: 'De "sweet spot" voor freestyle vliegen is een verhouding van 4:1 tot 6:1, wat de beste balans biedt tussen wendbaarheid en controle.',
133
+ badge_unstable: 'Onstabiel',
134
+ badge_cinematic: 'Cinematic',
135
+ badge_sweetSpot: 'Sweet Spot',
136
+ badge_racing: 'Racing',
137
+ badge_extreme: 'Extreem',
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: 'Stuwkracht-Gewichtsverhouding voor FPV-drones Begrijpen',
147
+ level: 2,
148
+ },
149
+ {
150
+ type: 'paragraph',
151
+ html: 'De <strong>stuwkracht-gewichtsverhouding</strong> is misschien wel de meest kritische metriek bij het bouwen van FPV-drones. Toch zien veel piloten dit over het hoofd, wat leidt tot builds die zich niet gedragen zoals verwacht. Deze calculator demystificeert de berekening en laat je precies zien hoe je build zal aanvoelen tijdens het vliegen.',
152
+ },
153
+ {
154
+ type: 'title',
155
+ text: 'Waarom Stuwkracht-Gewichtsverhouding Belangrijk is',
156
+ level: 3,
157
+ },
158
+ {
159
+ type: 'paragraph',
160
+ html: 'De verhouding van je drone bepaalt drie fundamentele dingen: <strong>stabiliteit</strong>, <strong>reactievermogen</strong> en <strong>snelheid</strong>. Een 2:1 verhouding voelt traag en stabiel aan. Een 6:1 verhouding voelt nerveus en wendbaar aan. Een 10:1 verhouding is een racemachine. Begrijpen waar jouw build in dit spectrum valt, helpt je de juiste vliegstijl te kiezen.',
161
+ },
162
+ {
163
+ type: 'title',
164
+ text: 'Vluchtprofielen Uitgelegd',
165
+ level: 3,
166
+ },
167
+ {
168
+ type: 'list',
169
+ items: [
170
+ '<strong>Cinematic (2:1 – 4:1)</strong>: Zwaar, stabiel, traag. Ideaal voor vloeiende camerabewegingen en builds die een payload dragen.',
171
+ '<strong>Freestyle (3.5:1 – 6.5:1)</strong>: De gebalanceerde sweet spot. Reactief genoeg voor tricks, stabiel genoeg voor controle.',
172
+ '<strong>Racing (5:1 – 8:1)</strong>: Snel en wendbaar. Ontworpen voor race-gates en agressieve manoeuvres.',
173
+ '<strong>Pro Racing (7:1+)</strong>: Extreme prestaties. Alleen voor expert-piloten in open gebieden.',
174
+ ],
175
+ },
176
+ {
177
+ type: 'title',
178
+ text: 'Hoe de Stuwkracht-Gewichtsverhouding te Berekenen',
179
+ level: 3,
180
+ },
181
+ {
182
+ type: 'paragraph',
183
+ html: 'De formule is simpel: <strong>verhouding = (Stuwkracht per Motor × Aantal Motoren) / Totaal Startgewicht</strong>. Bijvoorbeeld, een Quad met 600g motoren (2.400g totale stuwkracht) die 800g weegt, produceert een 3:1 verhouding. Dit is freestyle-terrein.',
184
+ },
185
+ {
186
+ type: 'title',
187
+ text: 'De Juiste Verhouding Kiezen voor Jouw Build',
188
+ level: 3,
189
+ },
190
+ {
191
+ type: 'paragraph',
192
+ html: 'Vraag jezelf af: <em>Wat ga ik vliegen?</em> Trage cinematic shots? Agressieve freestyle tricks? High-speed racing? Jouw antwoord bepaalt je ideale verhouding. De meeste FPV-piloten komen uit tussen 4:1 en 6:1 omdat het de beste balans biedt tussen controle en spanning.',
193
+ },
194
+ {
195
+ type: 'paragraph',
196
+ html: 'Onthoud: een hogere verhouding betekent niet "beter". Het betekent "reactiever". Op een racing quad is dat essentieel. Op een cinematic build is het een belemmering. Kies bewust.',
197
+ },
198
+ ],
199
+ faq: faqItems,
200
+ bibliography,
201
+ howTo: howToSteps,
202
+ schemas,
203
+ };