@jjlmoya/utils-drones 1.16.0 → 1.18.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 (67) hide show
  1. package/package.json +1 -1
  2. package/src/category/i18n/fr.ts +9 -9
  3. package/src/category/i18n/ru.ts +5 -5
  4. package/src/entries.ts +4 -1
  5. package/src/index.ts +1 -0
  6. package/src/tests/diacritics_density.test.ts +118 -0
  7. package/src/tests/inverted_punctuation.test.ts +84 -0
  8. package/src/tests/locale_completeness.test.ts +2 -2
  9. package/src/tests/no_en_dash.test.ts +70 -0
  10. package/src/tests/script_density.test.ts +94 -0
  11. package/src/tests/tool_validation.test.ts +2 -2
  12. package/src/tool/antenna-length-calculator/i18n/de.ts +2 -2
  13. package/src/tool/antenna-length-calculator/i18n/fr.ts +12 -12
  14. package/src/tool/antenna-length-calculator/i18n/ru.ts +6 -6
  15. package/src/tool/antenna-length-calculator/i18n/tr.ts +3 -3
  16. package/src/tool/antenna-length-calculator/i18n/zh.ts +10 -10
  17. package/src/tool/drone-flight-time/drone-flight-time-calculator.css +65 -7
  18. package/src/tool/drone-flight-time/i18n/fr.ts +11 -11
  19. package/src/tool/drone-flight-time/i18n/ru.ts +9 -9
  20. package/src/tool/drone-flight-time/i18n/sv.ts +3 -3
  21. package/src/tool/drone-flight-time/i18n/zh.ts +2 -2
  22. package/src/tool/drone-power-analyzer/i18n/de.ts +10 -10
  23. package/src/tool/drone-power-analyzer/i18n/en.ts +9 -9
  24. package/src/tool/drone-power-analyzer/i18n/es.ts +6 -6
  25. package/src/tool/drone-power-analyzer/i18n/fr.ts +16 -16
  26. package/src/tool/drone-power-analyzer/i18n/id.ts +9 -9
  27. package/src/tool/drone-power-analyzer/i18n/it.ts +6 -6
  28. package/src/tool/drone-power-analyzer/i18n/ja.ts +4 -4
  29. package/src/tool/drone-power-analyzer/i18n/ko.ts +4 -4
  30. package/src/tool/drone-power-analyzer/i18n/nl.ts +9 -9
  31. package/src/tool/drone-power-analyzer/i18n/pl.ts +11 -11
  32. package/src/tool/drone-power-analyzer/i18n/pt.ts +9 -9
  33. package/src/tool/drone-power-analyzer/i18n/ru.ts +17 -17
  34. package/src/tool/drone-power-analyzer/i18n/sv.ts +9 -9
  35. package/src/tool/drone-power-analyzer/i18n/tr.ts +9 -9
  36. package/src/tool/drone-power-analyzer/i18n/zh.ts +13 -13
  37. package/src/tool/gps-coordinates-converter/i18n/fr.ts +10 -10
  38. package/src/tool/gps-coordinates-converter/i18n/it.ts +2 -2
  39. package/src/tool/gps-coordinates-converter/i18n/pt.ts +4 -4
  40. package/src/tool/gps-coordinates-converter/i18n/ru.ts +7 -7
  41. package/src/tool/gps-coordinates-converter/i18n/zh.ts +4 -4
  42. package/src/tool/gsd-flight-planner/InputsColumn.astro +108 -0
  43. package/src/tool/gsd-flight-planner/ResultsColumn.astro +90 -0
  44. package/src/tool/gsd-flight-planner/bibliography.astro +6 -0
  45. package/src/tool/gsd-flight-planner/bibliography.ts +7 -0
  46. package/src/tool/gsd-flight-planner/component.astro +22 -0
  47. package/src/tool/gsd-flight-planner/entry.ts +29 -0
  48. package/src/tool/gsd-flight-planner/gsd-flight-planner.css +515 -0
  49. package/src/tool/gsd-flight-planner/i18n/de.ts +214 -0
  50. package/src/tool/gsd-flight-planner/i18n/en.ts +214 -0
  51. package/src/tool/gsd-flight-planner/i18n/es.ts +221 -0
  52. package/src/tool/gsd-flight-planner/i18n/fr.ts +214 -0
  53. package/src/tool/gsd-flight-planner/i18n/id.ts +214 -0
  54. package/src/tool/gsd-flight-planner/i18n/it.ts +214 -0
  55. package/src/tool/gsd-flight-planner/i18n/ja.ts +214 -0
  56. package/src/tool/gsd-flight-planner/i18n/ko.ts +214 -0
  57. package/src/tool/gsd-flight-planner/i18n/nl.ts +214 -0
  58. package/src/tool/gsd-flight-planner/i18n/pl.ts +214 -0
  59. package/src/tool/gsd-flight-planner/i18n/pt.ts +214 -0
  60. package/src/tool/gsd-flight-planner/i18n/ru.ts +214 -0
  61. package/src/tool/gsd-flight-planner/i18n/sv.ts +214 -0
  62. package/src/tool/gsd-flight-planner/i18n/tr.ts +214 -0
  63. package/src/tool/gsd-flight-planner/i18n/zh.ts +214 -0
  64. package/src/tool/gsd-flight-planner/index.ts +8 -0
  65. package/src/tool/gsd-flight-planner/logic.js +326 -0
  66. package/src/tool/gsd-flight-planner/seo.astro +15 -0
  67. package/src/tools.ts +3 -0
@@ -1,4 +1,4 @@
1
- import type { AntennaLengthCalculatorLocaleContent } from '../index';
1
+ import type { AntennaLengthCalculatorLocaleContent } from '../index';
2
2
  import type { WithContext, SoftwareApplication, FAQPage, HowTo } from 'schema-dts';
3
3
  import { bibliography } from '../bibliography';
4
4
 
@@ -115,7 +115,7 @@ export const content: AntennaLengthCalculatorLocaleContent = {
115
115
  },
116
116
  {
117
117
  type: 'paragraph',
118
- html: 'Если вы когда-нибудь задавались вопросом, почему антенны гоночных квадрокоптеров (FPV), контроллеры дальнего действия (ELRS/Crossfire) или даже ваш Wi-Fi роутер имеют такие специфические длины, ответ кроется в физике резонанса. Антенна это не просто кусок проводящего провода; это компонент, который должен быть "настроен" на частоту электромагнитной волны, с которой он работает.',
118
+ html: 'Если вы когда-нибудь задавались вопросом, почему антенны гоночных квадрокоптеров (FPV), контроллеры дальнего действия (ELRS/Crossfire) или даже ваш Wi-Fi роутер имеют такие специфические длины, ответ кроется в физике резонанса. Антенна - это не просто кусок проводящего провода; это компонент, который должен быть "настроен" на частоту электромагнитной волны, с которой он работает.',
119
119
  },
120
120
  {
121
121
  type: 'paragraph',
@@ -132,7 +132,7 @@ export const content: AntennaLengthCalculatorLocaleContent = {
132
132
  },
133
133
  {
134
134
  type: 'paragraph',
135
- html: 'Основная формула для расчета длины волны λ = v / f, где «v» скорость распространения, а «f» частота. Однако в реальном мире электричество распространяется через металлы немного медленнее, чем в вакууме. Вот тут в игру вступает <strong>коэффициент укорочения (Vf)</strong>.',
135
+ html: 'Основная формула для расчета длины волны - λ = v / f, где "v" - скорость распространения, а "f" - частота. Однако в реальном мире электричество распространяется через металлы немного медленнее, чем в вакууме. Вот тут в игру вступает <strong>коэффициент укорочения (Vf)</strong>.',
136
136
  },
137
137
  {
138
138
  type: 'list',
@@ -209,11 +209,11 @@ export const content: AntennaLengthCalculatorLocaleContent = {
209
209
  },
210
210
  {
211
211
  type: 'paragraph',
212
- html: 'Почему мы так настаиваем на точности? Если антенна не имеет правильной длины, она не сможет излучать всю энергию, посылаемую видеопередатчиком (VTx). Эта энергия «отскакивает» обратно к передатчику в виде тепла.',
212
+ html: 'Почему мы так настаиваем на точности? Если антенна не имеет правильной длины, она не сможет излучать всю энергию, посылаемую видеопередатчиком (VTx). Эта энергия "отскакивает" обратно к передатчику в виде тепла.',
213
213
  },
214
214
  {
215
215
  type: 'paragraph',
216
- html: 'Высокий КСВ причина номер один сгоревших передатчиков. Если вы летите без антенны или с плохо обрезанной, внутренние компоненты перегреются за считанные секунды, что сделает ваше оборудование непригодным для использования. Использование этого инструмента для проверки ваших обрезок лучшая инвестиция в безопасность вашего дрона.',
216
+ html: 'Высокий КСВ - причина номер один сгоревших передатчиков. Если вы летите без антенны или с плохо обрезанной, внутренние компоненты перегреются за считанные секунды, что сделает ваше оборудование непригодным для использования. Использование этого инструмента для проверки ваших обрезок - лучшая инвестиция в безопасность вашего дрона.',
217
217
  },
218
218
  {
219
219
  type: 'title',
@@ -226,7 +226,7 @@ export const content: AntennaLengthCalculatorLocaleContent = {
226
226
  },
227
227
  {
228
228
  type: 'paragraph',
229
- html: 'Важно это знать, потому что даже если ваша антенна излучает на частоте 868 МГц, вы можете создавать «шум» или помехи на более высоких частотах, если передатчик плохо отфильтрован. Калькулятор гармоник поможет вам предсказать, где могут появиться эти фантомные сигналы.',
229
+ html: 'Важно это знать, потому что даже если ваша антенна излучает на частоте 868 МГц, вы можете создавать "шум" или помехи на более высоких частотах, если передатчик плохо отфильтрован. Калькулятор гармоник поможет вам предсказать, где могут появиться эти фантомные сигналы.',
230
230
  },
231
231
  ],
232
232
  faq: [
@@ -1,4 +1,4 @@
1
- import type { AntennaLengthCalculatorLocaleContent } from '../index';
1
+ import type { AntennaLengthCalculatorLocaleContent } from '../index';
2
2
  import type { WithContext, SoftwareApplication, FAQPage, HowTo } from 'schema-dts';
3
3
  import { bibliography } from '../bibliography';
4
4
 
@@ -32,7 +32,7 @@ const howToSteps = [
32
32
  },
33
33
  {
34
34
  name: 'Nasıl Kurulacağına Kararılma Tipi',
35
- text: 'Oluşturulacak türden seçeceğin için : Tam Takım ( ikiye oranlı dalgalık) 1 yada 2, mi Yoksam da sade basit Tek uç( çeyreklik yagıya denk gelen dikey düz) 1 veya 4 ü onayla.',
35
+ text: 'Oluşturulacak türden seçeceğin için: Tam Takım ( ikiye oranlı dalgalık) 1 yada 2, mi Yoksam da sade basit Tek uç( çeyreklik yagıya denk gelen dikey düz) 1 veya 4 ü onayla.',
36
36
  },
37
37
  {
38
38
  name: 'Kaplama Veya Kablonun Kendi Menşei Seçimi',
@@ -255,7 +255,7 @@ export const content: AntennaLengthCalculatorLocaleContent = {
255
255
  },
256
256
  {
257
257
  name: 'Nasıl Kurulacağına Kararılma Tipi',
258
- text: 'Oluşturulacak türden seçeceğin için : Tam Takım ( ikiye oranlı dalgalık) 1 yada 2, mi Yoksam da sade basit Tek uç( çeyreklik yagıya denk gelen dikey düz) 1 veya 4 ü onayla.',
258
+ text: 'Oluşturulacak türden seçeceğin için: Tam Takım ( ikiye oranlı dalgalık) 1 yada 2, mi Yoksam da sade basit Tek uç( çeyreklik yagıya denk gelen dikey düz) 1 veya 4 ü onayla.',
259
259
  },
260
260
  {
261
261
  name: 'Kaplama Veya Kablonun Kendi Menşei Seçimi',
@@ -1,4 +1,4 @@
1
- import type { AntennaLengthCalculatorLocaleContent } from '../index';
1
+ import type { AntennaLengthCalculatorLocaleContent } from '../index';
2
2
  import type { WithContext, SoftwareApplication, FAQPage, HowTo } from 'schema-dts';
3
3
  import { bibliography } from '../bibliography';
4
4
 
@@ -115,7 +115,7 @@ export const content: AntennaLengthCalculatorLocaleContent = {
115
115
  },
116
116
  {
117
117
  type: 'paragraph',
118
- html: '如果您曾经想知道为什么竞速无人机(FPV)、长距离遥控器(ELRS/Crossfire)甚至您的Wi-Fi路由器的天线都有如此具体的长度设计,答案就在于谐振的物理特性。天线不仅仅是一根传导线;它是一个必须要与正在处理的电磁波频率实现完美“同频共振”的核心组件。',
118
+ html: '如果您曾经想知道为什么竞速无人机(FPV)、长距离遥控器(ELRS/Crossfire)甚至您的Wi-Fi路由器的天线都有如此具体的长度设计,答案就在于谐振的物理特性。天线不仅仅是一根传导线;它是一个必须要与正在处理的电磁波频率实现完美"同频共振"的核心组件。',
119
119
  },
120
120
  {
121
121
  type: 'paragraph',
@@ -149,11 +149,11 @@ export const content: AntennaLengthCalculatorLocaleContent = {
149
149
  },
150
150
  {
151
151
  type: 'paragraph',
152
- html: '<strong>1. 半波偶极子天线 (1/2 λ):</strong> 这种可以说是目前许多应用的通行标准型。它的本体包含有两个对称的辐射馈电“臂”(即辐射元),合起来占据工作频率设定波长的一半距离。属于典型的平衡态天线款式可以发出状似“甜甜圈”一般周正全向包围辐射波图形轮廓,从一条同轴屏蔽信号馈线改造而成也异常简便。',
152
+ html: '<strong>1. 半波偶极子天线 (1/2 λ):</strong> 这种可以说是目前许多应用的通行标准型。它的本体包含有两个对称的辐射馈电"臂"(即辐射元),合起来占据工作频率设定波长的一半距离。属于典型的平衡态天线款式可以发出状似"甜甜圈"一般周正全向包围辐射波图形轮廓,从一条同轴屏蔽信号馈线改造而成也异常简便。',
153
153
  },
154
154
  {
155
155
  type: 'paragraph',
156
- html: '<strong>2. 四分之一波长单极鞭状形 (1/4 λ):</strong> 这种外观是我们平时往往会从各路无线电接收模组或小巧型室内穿越机体头上撞见的那个。之所以小乃因为其实它这设计砍去了大半只由单边构成的辐射单端体为主导然后极大的“白嫖”并且靠借助于设配骨架板本身地线覆铜作为反射地网的补充功能给虚构补偿倒映剩下另一半完整波源。因此既然体积长度缩减整整减去半截,顾名思义得号为四分之一波。',
156
+ html: '<strong>2. 四分之一波长单极鞭状形 (1/4 λ):</strong> 这种外观是我们平时往往会从各路无线电接收模组或小巧型室内穿越机体头上撞见的那个。之所以小乃因为其实它这设计砍去了大半只由单边构成的辐射单端体为主导然后极大的"白嫖"并且靠借助于设配骨架板本身地线覆铜作为反射地网的补充功能给虚构补偿倒映剩下另一半完整波源。因此既然体积长度缩减整整减去半截,顾名思义得号为四分之一波。',
157
157
  },
158
158
  {
159
159
  type: 'title',
@@ -168,7 +168,7 @@ export const content: AntennaLengthCalculatorLocaleContent = {
168
168
  type: 'list',
169
169
  items: [
170
170
  '5.8 GHz频段 (主流 FPV 图传专属):物理总长极短小精悍(大概光出离露出来的芯才 12 到 13个 mm)。在此微米级地带里哪怕你手抖多流了一大滴多余的一丢丢焊锡也会让你精心调试地数据废掉乃至一团糟破坏增益与性能。',
171
- '2.4 GHz频段 (遥控距离 & Wifi通讯):严重拥堵互相抢占抢频满地飞的频道所在因此这里面要求该频下接受设备天线自身要有极致转换效率是能够有效排挤那些让你突然失去连接出现“断线失控保护(Failsafe)”从而掉机的最根本保障点。',
171
+ '2.4 GHz频段 (遥控距离 & Wifi通讯):严重拥堵互相抢占抢频满地飞的频道所在因此这里面要求该频下接受设备天线自身要有极致转换效率是能够有效排挤那些让你突然失去连接出现"断线失控保护(Failsafe)"从而掉机的最根本保障点。',
172
172
  '868 MHz / 及同门的 915 MHz (强悍的长途跋涉特长区段):此舞台主要是被大名鼎鼎有着远飞信仰象征地位的黑羊 Team BlackSheep Crossfire 与开源界的明星 ExpressLRS (ELRS) 设备割据的领地范围 。在此环境里这儿装配的这类型发射棒都会体型较大较巨(摊开的两腿臂各需大约到八公分),优势换回那无可挑剔轻易切墙绕过丛林障碍物的恐怖超绝信道绕射穿透表现力上',
173
173
  '433 MHz 老怪级 (UHF波段):昔日辉煌曾经作为骨灰玩家探索飞得很远地里程王标准的超视距波系标配方案。其夸张长长大粗腿般的馈线十分的耀眼和吸睛,绝对的十几至上百公里飞行途中的巡航信道优良之选',
174
174
  ],
@@ -209,7 +209,7 @@ export const content: AntennaLengthCalculatorLocaleContent = {
209
209
  },
210
210
  {
211
211
  type: 'paragraph',
212
- html: '为啥我们要在这些细枝末节甚至到了一丢丢厘米这种毫厘偏差之上来来回回地苦口婆心去较劲?原因是当天边的发送端它的实体伸展范围无法做到与它的“身份波频率”相互认同达到合适地规格参数时,这些通过您那强力且消耗大的空中发射视频大户(图传 VTX)里面用力压送出去的电性能源根本寻觅不得通道去通通往外部辐射播散完毕。无处可奔的那么庞大的这股力量没得逃逸最后只能“重返回流”甚至倒卷向你宝贵的发送设备最终转作极大的内部内热废工耗回敬给发信者本体本身!',
212
+ html: '为啥我们要在这些细枝末节甚至到了一丢丢厘米这种毫厘偏差之上来来回回地苦口婆心去较劲?原因是当天边的发送端它的实体伸展范围无法做到与它的"身份波频率"相互认同达到合适地规格参数时,这些通过您那强力且消耗大的空中发射视频大户(图传 VTX)里面用力压送出去的电性能源根本寻觅不得通道去通通往外部辐射播散完毕。无处可奔的那么庞大的这股力量没得逃逸最后只能"重返回流"甚至倒卷向你宝贵的发送设备最终转作极大的内部内热废工耗回敬给发信者本体本身!',
213
213
  },
214
214
  {
215
215
  type: 'paragraph',
@@ -226,16 +226,16 @@ export const content: AntennaLengthCalculatorLocaleContent = {
226
226
  },
227
227
  {
228
228
  type: 'paragraph',
229
- html: '非常万分需深刻且认清了由于以上情况产生带有的这不可测变节影响的严重地位所在就在即便假若当下该发送主体是在全神贯注且完全尽责安分只在本身定好八六八主打波频道区作正规向外倾送发送出指令时,假使您的主机原端在内部硬件防漏隔断设计(也就是滤波屏蔽能力)有所残次或是很敷衍未去良好隔离保护好那么极有可能直接惹是生非顺势去那些跨度跑偏去得更高段去且被牵制诱发的别的段域引起极其惹人生气恶心破坏秩序的”窜信流杂音(干涉)污染影响了旁边他人的清净”。此这套附属高频次波模拟协助平台就正如神判未卜先知能助您防患未然并测查摸排出到哪里可能会衍生爆发出此等防不胜防游荡惹火这幽灵鬼影窜信现象,助你除却这不该有的后患',
229
+ html: '非常万分需深刻且认清了由于以上情况产生带有的这不可测变节影响的严重地位所在就在即便假若当下该发送主体是在全神贯注且完全尽责安分只在本身定好八六八主打波频道区作正规向外倾送发送出指令时,假使您的主机原端在内部硬件防漏隔断设计(也就是滤波屏蔽能力)有所残次或是很敷衍未去良好隔离保护好那么极有可能直接惹是生非顺势去那些跨度跑偏去得更高段去且被牵制诱发的别的段域引起极其惹人生气恶心破坏秩序的"窜信流杂音(干涉)污染影响了旁边他人的清净"。此这套附属高频次波模拟协助平台就正如神判未卜先知能助您防患未然并测查摸排出到哪里可能会衍生爆发出此等防不胜防游荡惹火这幽灵鬼影窜信现象,助你除却这不该有的后患',
230
230
  },
231
231
  ],
232
232
  faq: [
233
233
  {
234
234
  question: '何故我的馈线导体它非得强迫拘泥在某种极度具体的苛刻寸数下不可?',
235
- answer: '由于发送播散到大气的电子无线波存在这种特性,它非要与它是处于能形成它的总段落倍率之下才会显威起震发生最理想“共鸣”;若你的导介金属没有与这节律的吻合同频产生相应呼应,则力压全被无情堵死给全部如打太极悉数往您的发声主体里全反打内耗进去而非尽情喷涌去天际传播因而随时轻易可引燃内炉造成机器被热力攻陷暴卒。',
235
+ answer: '由于发送播散到大气的电子无线波存在这种特性,它非要与它是处于能形成它的总段落倍率之下才会显威起震发生最理想"共鸣";若你的导介金属没有与这节律的吻合同频产生相应呼应,则力压全被无情堵死给全部如打太极悉数往您的发声主体里全反打内耗进去而非尽情喷涌去天际传播因而随时轻易可引燃内炉造成机器被热力攻陷暴卒。',
236
236
  },
237
237
  {
238
- question: '人们口中经常提到的这“阻滞降速转化因子(Velocity Factor 简称 Vf)”它到底是什么?',
238
+ question: '人们口中经常提到的这"阻滞降速转化因子(Velocity Factor 简称 Vf)"它到底是什么?',
239
239
  answer: '它反映地是一份占比转换表就是指当一段数据讯号被迫在一个导体比如铜介质通过流走时它能走出的快慢程度跟无拘束的在真空状态这极限光子赛道下的最高界线来做的这个相互比例成绩的得数对比!例如你拿黄铜导线那结果就经常会掉落在 0.95 上下,其真实潜在含义揭露着这个传递流前行的腿比起那理论巅峰还要慢一小截大概折合 5% 之多,意味着这相应的要求您手里准备的天线亦要因此一并随着去作顺应性缩身剪去约计那 5% 的头儿才合适跟进其配套运转。',
240
240
  },
241
241
  {
@@ -244,7 +244,7 @@ export const content: AntennaLengthCalculatorLocaleContent = {
244
244
  },
245
245
  {
246
246
  question: '关于铜线主体的厚与薄这体量身板有在整体作用上到底有发挥能插手上事起到干扰的影响么?',
247
- answer: '还别说确确实实带有挺有说法的门道!如果用上了那些很“壮硕粗壮”线皮线板这就让这可通行宽大河床也就是拥有更好的抗敏感包容那游走微偏宽差额更放肆的大频段(就不太死抠那丁点小数字了)然而在此同时也偷偷稍微影响那我们讲到的减速因子的微妙结果;话虽如此但是通常在各道无人FPV载机大众玩家手里还是那个老规矩使用标准尺寸也就是拿捏那处于 20 以迄至22 AWG美标这一大规格口径便属大好良宵无可挑剔的不二通吃之极佳搭配!',
247
+ answer: '还别说确确实实带有挺有说法的门道!如果用上了那些很"壮硕粗壮"线皮线板这就让这可通行宽大河床也就是拥有更好的抗敏感包容那游走微偏宽差额更放肆的大频段(就不太死抠那丁点小数字了)然而在此同时也偷偷稍微影响那我们讲到的减速因子的微妙结果;话虽如此但是通常在各道无人FPV载机大众玩家手里还是那个老规矩使用标准尺寸也就是拿捏那处于 20 以迄至22 AWG美标这一大规格口径便属大好良宵无可挑剔的不二通吃之极佳搭配!',
248
248
  },
249
249
  ],
250
250
  bibliography,
@@ -122,6 +122,7 @@
122
122
  display: flex;
123
123
  justify-content: space-between;
124
124
  align-items: center;
125
+ gap: 0.75rem;
125
126
  }
126
127
 
127
128
  .flight-calculator-ui .input-group label {
@@ -138,6 +139,8 @@
138
139
  font-weight: 850;
139
140
  font-size: 0.85rem;
140
141
  box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.05);
142
+ max-width: 100%;
143
+ text-align: right;
141
144
  }
142
145
 
143
146
  .flight-calculator-ui .tech-slider {
@@ -291,6 +294,7 @@
291
294
  grid-template-columns: repeat(3, 1fr);
292
295
  gap: 2rem;
293
296
  width: 100%;
297
+ min-width: 0;
294
298
  }
295
299
 
296
300
  .flight-calculator-ui .stat-box {
@@ -323,6 +327,8 @@
323
327
  font-size: 1.75rem;
324
328
  font-weight: 950;
325
329
  color: var(--dft-text);
330
+ overflow-wrap: anywhere;
331
+ text-align: center;
326
332
  }
327
333
 
328
334
  .flight-calculator-ui .chart-header {
@@ -359,12 +365,64 @@
359
365
  }
360
366
 
361
367
  @media (max-width: 600px) {
362
- .flight-calculator-ui { padding: 0.5rem; }
363
- .flight-calculator-ui .secondary-stats { grid-template-columns: 1fr; }
368
+ .flight-calculator-ui {
369
+ margin: 1rem auto;
370
+ padding: 0 0.75rem;
371
+ }
372
+ .flight-calculator-ui .tech-mega-card {
373
+ border-radius: 24px;
374
+ }
375
+ .flight-calculator-ui .config-sidebar,
376
+ .flight-calculator-ui .main-display {
377
+ padding: 1.5rem 1rem;
378
+ gap: 2rem;
379
+ }
380
+ .flight-calculator-ui .label-row {
381
+ flex-direction: column;
382
+ align-items: flex-start;
383
+ }
384
+ .flight-calculator-ui .value-badge {
385
+ width: 100%;
386
+ text-align: left;
387
+ }
388
+ .flight-calculator-ui .chart-header {
389
+ flex-direction: column;
390
+ align-items: flex-start;
391
+ gap: 0.5rem;
392
+ margin-bottom: 1rem;
393
+ }
394
+ .flight-calculator-ui .chart-body {
395
+ height: 260px;
396
+ padding: 1rem;
397
+ border-radius: 20px;
398
+ }
399
+ .flight-calculator-ui .secondary-stats {
400
+ grid-template-columns: 1fr;
401
+ gap: 1rem;
402
+ }
364
403
  .flight-calculator-ui .radial-container {
365
- width: 240px;
366
- height: 240px;
404
+ width: min(240px, 100%);
405
+ height: min(240px, 100vw - 6rem);
406
+ }
407
+ .flight-calculator-ui .dashboard-section {
408
+ gap: 2rem;
409
+ }
410
+ .flight-calculator-ui .time-primary {
411
+ font-size: clamp(3rem, 18vw, 4.5rem);
412
+ }
413
+ .flight-calculator-ui .time-label {
414
+ font-size: 0.75rem;
415
+ letter-spacing: 0.12em;
367
416
  }
368
- .flight-calculator-ui .time-primary { font-size: 4.5rem; }
369
- .flight-calculator-ui .stat-box { padding: 1.5rem; }
370
- }
417
+ .flight-calculator-ui .stat-box {
418
+ padding: 1.25rem;
419
+ border-radius: 22px;
420
+ }
421
+ .flight-calculator-ui .stat-value {
422
+ font-size: 1.4rem;
423
+ }
424
+ .flight-calculator-ui .preset-btn {
425
+ flex: 1 1 4.5rem;
426
+ text-align: center;
427
+ }
428
+ }
@@ -1,4 +1,4 @@
1
- import type { DroneFlightTimeLocaleContent } from '../index';
1
+ import type { DroneFlightTimeLocaleContent } from '../index';
2
2
  import type { WithContext, SoftwareApplication, FAQPage, HowTo } from 'schema-dts';
3
3
  import { bibliography } from '../bibliography';
4
4
 
@@ -92,7 +92,7 @@ export const content: DroneFlightTimeLocaleContent = {
92
92
  powerWatts: 'Puissance (Watts)',
93
93
  efficiencyHint: 'En changeant les Ampères, les Watts sont recalculés selon la tension S.',
94
94
  estimatedEfficiency: 'Efficacité Estimée',
95
- typicalEfficiencyHint: 'Typique : 4-6 (Racing), 8-12 (Cinématique/Longue Portée).',
95
+ typicalEfficiencyHint: 'Typique: 4-6 (Racing), 8-12 (Cinématique/Longue Portée).',
96
96
  safeFlight: 'Vol Sécurisé',
97
97
  totalEnergy: 'Énergie Totale',
98
98
  theoreticalTime: 'Temps Théorique (0%)',
@@ -104,7 +104,7 @@ export const content: DroneFlightTimeLocaleContent = {
104
104
  seo: [
105
105
  {
106
106
  type: 'title',
107
- text: 'Calculateur de Temps de Vol pour Drones : Guide Complet de l\'Autonomie',
107
+ text: 'Calculateur de Temps de Vol pour Drones: Guide Complet de l\'Autonomie',
108
108
  level: 2,
109
109
  },
110
110
  {
@@ -113,7 +113,7 @@ export const content: DroneFlightTimeLocaleContent = {
113
113
  },
114
114
  {
115
115
  type: 'title',
116
- text: 'Capacité de la Batterie : Les mAh Expliqués',
116
+ text: 'Capacité de la Batterie: Les mAh Expliqués',
117
117
  level: 3,
118
118
  },
119
119
  {
@@ -126,7 +126,7 @@ export const content: DroneFlightTimeLocaleContent = {
126
126
  },
127
127
  {
128
128
  type: 'title',
129
- text: 'La Consommation de Courant : Ampérage en Vol',
129
+ text: 'La Consommation de Courant: Ampérage en Vol',
130
130
  level: 3,
131
131
  },
132
132
  {
@@ -136,15 +136,15 @@ export const content: DroneFlightTimeLocaleContent = {
136
136
  {
137
137
  type: 'list',
138
138
  items: [
139
- 'Vol Stationnaire : La consommation est minimale et constante, idéale pour la photographie.',
140
- 'Vol de Croisière : La consommation augmente légèrement en raison de la traînée aérodynamique.',
141
- 'Vol Agressif/FPV : Les pics de courant peuvent tripler la consommation moyenne en quelques secondes.',
142
- 'Poids du Drone : Chaque gramme supplémentaire nécessite plus de tours moteur pour générer de la poussée, augmentant l\'ampérage.',
139
+ 'Vol Stationnaire: La consommation est minimale et constante, idéale pour la photographie.',
140
+ 'Vol de Croisière: La consommation augmente légèrement en raison de la traînée aérodynamique.',
141
+ 'Vol Agressif/FPV: Les pics de courant peuvent tripler la consommation moyenne en quelques secondes.',
142
+ 'Poids du Drone: Chaque gramme supplémentaire nécessite plus de tours moteur pour générer de la poussée, augmentant l\'ampérage.',
143
143
  ],
144
144
  },
145
145
  {
146
146
  type: 'title',
147
- text: 'Règle de Sécurité des 80% : Protéger la Chimie LiPo',
147
+ text: 'Règle de Sécurité des 80%: Protéger la Chimie LiPo',
148
148
  level: 3,
149
149
  },
150
150
  {
@@ -174,7 +174,7 @@ export const content: DroneFlightTimeLocaleContent = {
174
174
  },
175
175
  {
176
176
  type: 'paragraph',
177
- html: 'Par exemple, si vous avez une batterie de 2200 mAh, que vous voulez atterrir à 20% (sécurité 0,8) et que votre drone consomme une moyenne de 15 Ampères, le calcul serait : (2,2 * 0,8) / 15 * 60 = 7,04 minutes de vol sûr.',
177
+ html: 'Par exemple, si vous avez une batterie de 2200 mAh, que vous voulez atterrir à 20% (sécurité 0,8) et que votre drone consomme une moyenne de 15 Ampères, le calcul serait: (2,2 * 0,8) / 15 * 60 = 7,04 minutes de vol sûr.',
178
178
  },
179
179
  {
180
180
  type: 'title',
@@ -1,4 +1,4 @@
1
- import type { DroneFlightTimeLocaleContent } from '../index';
1
+ import type { DroneFlightTimeLocaleContent } from '../index';
2
2
  import type { WithContext, SoftwareApplication, FAQPage, HowTo } from 'schema-dts';
3
3
  import { bibliography } from '../bibliography';
4
4
 
@@ -110,7 +110,7 @@ export const content: DroneFlightTimeLocaleContent = {
110
110
  },
111
111
  {
112
112
  type: 'paragraph',
113
- html: 'Автономность это, пожалуй, самый критический фактор в проектировании и эксплуатации любого беспилотного летательного аппарата. Будь вы гоночным пилотом FPV, профессиональным аэрофотографом или любителем дальних полетов, точное знание того, как долго ваше оборудование может находиться в воздухе, жизненно важно для безопасности и успеха миссии. Наш <strong>калькулятор времени полета</strong> использует основные переменные емкости аккумулятора и потребления тока для предоставления реалистичной и безопасной оценки.',
113
+ html: 'Автономность - это, пожалуй, самый критический фактор в проектировании и эксплуатации любого беспилотного летательного аппарата. Будь вы гоночным пилотом FPV, профессиональным аэрофотографом или любителем дальних полетов, точное знание того, как долго ваше оборудование может находиться в воздухе, жизненно важно для безопасности и успеха миссии. Наш <strong>калькулятор времени полета</strong> использует основные переменные емкости аккумулятора и потребления тока для предоставления реалистичной и безопасной оценки.',
114
114
  },
115
115
  {
116
116
  type: 'title',
@@ -119,11 +119,11 @@ export const content: DroneFlightTimeLocaleContent = {
119
119
  },
120
120
  {
121
121
  type: 'paragraph',
122
- html: 'Емкость аккумулятора обычно измеряется в миллиампер-часах (mAh). Это число указывает на то, какой электрический заряд может хранить аккумулятор. Например, аккумулятор емкостью 1500 mAh теоретически может выдавать 1500 миллиампер в течение одного полного часа. В мире дронов, где потребление тока чрезвычайно велико, мы обычно говорим в амперах (A). 1000 mAh это ровно 1 Ah (Ампер-час).',
122
+ html: 'Емкость аккумулятора обычно измеряется в миллиампер-часах (mAh). Это число указывает на то, какой электрический заряд может хранить аккумулятор. Например, аккумулятор емкостью 1500 mAh теоретически может выдавать 1500 миллиампер в течение одного полного часа. В мире дронов, где потребление тока чрезвычайно велико, мы обычно говорим в амперах (A). 1000 mAh - это ровно 1 Ah (Ампер-час).',
123
123
  },
124
124
  {
125
125
  type: 'paragraph',
126
- html: 'Однако чистая емкость не единственный фактор. Напряжение (определяемое количеством ячеек или \'S\') напрямую влияет на общую мощность (ватты), но для расчета времени на основе потребления двигателей отношение Ah/Ампер является наиболее прямым показателем, используемым полетными инженерами.',
126
+ html: 'Однако чистая емкость - не единственный фактор. Напряжение (определяемое количеством ячеек или \'S\') напрямую влияет на общую мощность (ватты), но для расчета времени на основе потребления двигателей отношение Ah/Ампер является наиболее прямым показателем, используемым полетными инженерами.',
127
127
  },
128
128
  {
129
129
  type: 'title',
@@ -132,7 +132,7 @@ export const content: DroneFlightTimeLocaleContent = {
132
132
  },
133
133
  {
134
134
  type: 'paragraph',
135
- html: 'Потребление двигателей самая изменчивая переменная во время полета. Удержание дрона в режиме висения (hover) это не то же самое, что выполнение агрессивных акробатических маневров. Каждая комбинация мотора и пропеллера имеет свою кривую эффективности. Когда вы даете полный газ, сила тока резко возрастает, что значительно сокращает срок службы аккумулятора.',
135
+ html: 'Потребление двигателей - самая изменчивая переменная во время полета. Удержание дрона в режиме висения (hover) - это не то же самое, что выполнение агрессивных акробатических маневров. Каждая комбинация мотора и пропеллера имеет свою кривую эффективности. Когда вы даете полный газ, сила тока резко возрастает, что значительно сокращает срок службы аккумулятора.',
136
136
  },
137
137
  {
138
138
  type: 'list',
@@ -150,7 +150,7 @@ export const content: DroneFlightTimeLocaleContent = {
150
150
  },
151
151
  {
152
152
  type: 'paragraph',
153
- html: 'Разрядка LiPo (литий-полимерного) аккумулятора до 0% емкости это кратчайший путь к его уничтожению и, что еще хуже, к аварии. С химической точки зрения ячейки получают необратимые повреждения, если их напряжение падает ниже критического порога (обычно 3,0V - 3,2V на ячейку).',
153
+ html: 'Разрядка LiPo (литий-полимерного) аккумулятора до 0% емкости - это кратчайший путь к его уничтожению и, что еще хуже, к аварии. С химической точки зрения ячейки получают необратимые повреждения, если их напряжение падает ниже критического порога (обычно 3,0V - 3,2V на ячейку).',
154
154
  },
155
155
  {
156
156
  type: 'paragraph',
@@ -188,7 +188,7 @@ export const content: DroneFlightTimeLocaleContent = {
188
188
  },
189
189
  {
190
190
  type: 'paragraph',
191
- html: 'Опытные пилоты ищут идеальный баланс между <em>Disc Loading</em> (соотношение веса и площади пропеллеров) и емкостью аккумулятора, чтобы максимизировать то, что мы называем «полезным временем миссии».',
191
+ html: 'Опытные пилоты ищут идеальный баланс между <em>Disc Loading</em> (соотношение веса и площади пропеллеров) и емкостью аккумулятора, чтобы максимизировать то, что мы называем "полезным временем миссии".',
192
192
  },
193
193
  {
194
194
  type: 'title',
@@ -218,11 +218,11 @@ export const content: DroneFlightTimeLocaleContent = {
218
218
  },
219
219
  {
220
220
  type: 'paragraph',
221
- html: 'Чтобы расчеты этого инструмента были точными, ваши аккумуляторы должны быть в хорошем состоянии. Аккумулятор с высоким внутренним сопротивлением будет перегреваться и «лгать» о своей реальной емкости. Всегда храните аккумуляторы при напряжении хранения (3.8V-3.85V на ячейку), если не собираетесь летать более 48 часов.',
221
+ html: 'Чтобы расчеты этого инструмента были точными, ваши аккумуляторы должны быть в хорошем состоянии. Аккумулятор с высоким внутренним сопротивлением будет перегреваться и "лгать" о своей реальной емкости. Всегда храните аккумуляторы при напряжении хранения (3.8V-3.85V на ячейку), если не собираетесь летать более 48 часов.',
222
222
  },
223
223
  {
224
224
  type: 'paragraph',
225
- html: 'В заключение, управление энергией это искусство баланса физики, химии и математики. Регулярно используйте наш калькулятор для планирования полетных сессий и никогда не забывайте, что в небе время ваш самый ценный ресурс. Удачных полетов и мягких посадок!',
225
+ html: 'В заключение, управление энергией - это искусство баланса физики, химии и математики. Регулярно используйте наш калькулятор для планирования полетных сессий и никогда не забывайте, что в небе время - ваш самый ценный ресурс. Удачных полетов и мягких посадок!',
226
226
  },
227
227
  ],
228
228
  faq: faqItems,
@@ -1,4 +1,4 @@
1
- import type { DroneFlightTimeLocaleContent } from '../index';
1
+ import type { DroneFlightTimeLocaleContent } from '../index';
2
2
  import type { WithContext, SoftwareApplication, FAQPage, HowTo } from 'schema-dts';
3
3
  import { bibliography } from '../bibliography';
4
4
 
@@ -175,7 +175,7 @@ export const content: DroneFlightTimeLocaleContent = {
175
175
  },
176
176
  {
177
177
  type: 'paragraph',
178
- html: 'För en flygning vars tank (accar) rymmer ungefärligen upp emot gräns för avsagt tal d.v.s. ett batteri med mätfaktor ca - 2200 mAh, varav nedslagning ställts när varning av 20 ggr i säkerhet drar ner kraft över snittet där summan är i grova dag ca 15 Amperes kraftigt driv => Räkneskapens (2.2 * 0.8) / 15 * 60 ger ett total om närmsta angiven av flygvärdig timlängd per total om ca exakta : 7 min 4 sekunder (7.04 m)! ',
178
+ html: 'För en flygning vars tank (accar) rymmer ungefärligen upp emot gräns för avsagt tal d.v.s. ett batteri med mätfaktor ca - 2200 mAh, varav nedslagning ställts när varning av 20 ggr i säkerhet drar ner kraft över snittet där summan är i grova dag ca 15 Amperes kraftigt driv => Räkneskapens (2.2 * 0.8) / 15 * 60 ger ett total om närmsta angiven av flygvärdig timlängd per total om ca exakta: 7 min 4 sekunder (7.04 m)! ',
179
179
  },
180
180
  {
181
181
  type: 'title',
@@ -197,7 +197,7 @@ export const content: DroneFlightTimeLocaleContent = {
197
197
  },
198
198
  {
199
199
  type: 'paragraph',
200
- html: '<strong>Dessa så kallade whoop flygare och en bit the micro ones:</strong> Agerar lågförbrukare de snurrar under knappa tak varpå amp om ca endast tre upptill 5 kan hittas dock ser du till dem en smal ram ur mAh om ca : 3 till 5hundra-där de sällan får flygdans runt en sträcka som är snarlik för dess liv och drar mer av den högre svinghastigheten (3-4 m snitt).',
200
+ html: '<strong>Dessa så kallade whoop flygare och en bit the micro ones:</strong> Agerar lågförbrukare de snurrar under knappa tak varpå amp om ca endast tre upptill 5 kan hittas dock ser du till dem en smal ram ur mAh om ca: 3 till 5hundra-där de sällan får flygdans runt en sträcka som är snarlik för dess liv och drar mer av den högre svinghastigheten (3-4 m snitt).',
201
201
  },
202
202
  {
203
203
  type: 'paragraph',
@@ -1,4 +1,4 @@
1
- import type { DroneFlightTimeLocaleContent } from '../index';
1
+ import type { DroneFlightTimeLocaleContent } from '../index';
2
2
  import type { WithContext, SoftwareApplication, FAQPage, HowTo } from 'schema-dts';
3
3
  import { bibliography } from '../bibliography';
4
4
 
@@ -184,7 +184,7 @@ export const content: DroneFlightTimeLocaleContent = {
184
184
  },
185
185
  {
186
186
  type: 'paragraph',
187
- html: '请不要盲从“电量永远也不嫌多”的想法。企图为获得更多时长盲目累积巨大基数的做法反而会有报应到来,这就是常提及的效力递减之说。单靠增大电池两倍的扩容就想要取得二倍对应留空时间的行为常常因多余多出的自重要拉动使得旋翼机必须要比正常更高速度地维持马达轮换速度进而是更多能耗产生的代价,在这场相互掣肘的较量中如果逾越一定的红线反而不是助力而是成为累赘并降低统合性效率的关键痛处。',
187
+ html: '请不要盲从"电量永远也不嫌多"的想法。企图为获得更多时长盲目累积巨大基数的做法反而会有报应到来,这就是常提及的效力递减之说。单靠增大电池两倍的扩容就想要取得二倍对应留空时间的行为常常因多余多出的自重要拉动使得旋翼机必须要比正常更高速度地维持马达轮换速度进而是更多能耗产生的代价,在这场相互掣肘的较量中如果逾越一定的红线反而不是助力而是成为累赘并降低统合性效率的关键痛处。',
188
188
  },
189
189
  {
190
190
  type: 'paragraph',
@@ -1,15 +1,15 @@
1
- import type { DronePowerAnalyzerLocaleContent } from '../index';
1
+ import type { DronePowerAnalyzerLocaleContent } from '../index';
2
2
  import type { WithContext, SoftwareApplication, FAQPage, HowTo } from 'schema-dts';
3
3
  import { bibliography } from '../bibliography';
4
4
 
5
- const slug = 'drohnen-leistungsanalyzer';
5
+ const slug = 'drohnen-leistungs-analysator';
6
6
  const title = 'Drohnen Leistungsanalysator: Schub und Gewichts Verhältnis Rechner für FPV';
7
7
  const description = 'Berechnen Sie das kritische Schub-Gewichts-Verhältnis für Ihren FPV-Drohnenbau. Erhalten Sie sofortige Flugprofil-Empfehlungen, eine visuelle Leistungsanzeige und optimieren Sie für Cinematic, Freestyle oder Racing.';
8
8
 
9
9
  const faqItems = [
10
10
  {
11
11
  question: 'Was ist das Schub-Gewichts-Verhältnis und warum ist es wichtig?',
12
- answer: 'Das Schub-Gewichts-Verhältnis ist der Gesamtschub, den Ihre Drohne erzeugen kann, geteilt durch ihr Abfluggewicht (AUW). Es ist die wichtigste Kennzahl, die bestimmt, wie sich Ihre Drohne beim Fliegen anfühlt von langsam und stabil (Cinematography) bis hin zu ultra-reaktiv (Racing).',
12
+ answer: 'Das Schub-Gewichts-Verhältnis ist der Gesamtschub, den Ihre Drohne erzeugen kann, geteilt durch ihr Abfluggewicht (AUW). Es ist die wichtigste Kennzahl, die bestimmt, wie sich Ihre Drohne beim Fliegen anfühlt - von langsam und stabil (Cinematography) bis hin zu ultra-reaktiv (Racing).',
13
13
  },
14
14
  {
15
15
  question: 'Was ist das ideale Verhältnis ("Sweet Spot") für Freestyle-Flüge?',
@@ -21,11 +21,11 @@ const faqItems = [
21
21
  },
22
22
  {
23
23
  question: 'Was passiert, wenn mein Verhältnis über 8:1 liegt?',
24
- answer: 'Über 8:1 ist Ihre Drohne faktisch eine Rennmaschine extrem reaktiv und anspruchsvoll zu fliegen. Nur erfahrene Piloten sollten solche Builds versuchen. Ideal für Renntore und Speed-Runs, aber gefährlich in Innenräumen.',
24
+ answer: 'Über 8:1 ist Ihre Drohne faktisch eine Rennmaschine - extrem reaktiv und anspruchsvoll zu fliegen. Nur erfahrene Piloten sollten solche Builds versuchen. Ideal für Renntore und Speed-Runs, aber gefährlich in Innenräumen.',
25
25
  },
26
26
  {
27
27
  question: 'Muss ich das Batteriegewicht in das AUW einbeziehen?',
28
- answer: 'Ja. Das AUW (All-Up Weight) ist das Gesamtgewicht Ihrer Drohne mit allen installierten Komponenten: Rahmen, Motoren, ESCs, Flugsteuerung, Kamera, Batterie, Propeller alles. Nutzen Sie die Batterie-Presets für eine sofortige Gewichtshinzufügung.',
28
+ answer: 'Ja. Das AUW (All-Up Weight) ist das Gesamtgewicht Ihrer Drohne mit allen installierten Komponenten: Rahmen, Motoren, ESCs, Flugsteuerung, Kamera, Batterie, Propeller - alles. Nutzen Sie die Batterie-Presets für eine sofortige Gewichtshinzufügung.',
29
29
  },
30
30
  ];
31
31
 
@@ -40,7 +40,7 @@ const howToSteps = [
40
40
  },
41
41
  {
42
42
  name: 'Gesamtgewicht festlegen',
43
- text: 'Geben Sie das Abfluggewicht (AUW) Ihrer Drohne ein Rahmen, Motoren, Batterie, Kamera, alles. Nutzen Sie die Batterie-Presets für eine sofortige Gewichtsanpassung.',
43
+ text: 'Geben Sie das Abfluggewicht (AUW) Ihrer Drohne ein - Rahmen, Motoren, Batterie, Kamera, alles. Nutzen Sie die Batterie-Presets für eine sofortige Gewichtsanpassung.',
44
44
  },
45
45
  {
46
46
  name: 'Ergebnisse ablesen',
@@ -123,7 +123,7 @@ export const content: DronePowerAnalyzerLocaleContent = {
123
123
  recommendation_cinematic: 'Mit einem Verhältnis von {ratio}:1 ist dies ideal für Heavy-Lift-Cinematography mit sanften, kontrollierten Bewegungen. Perfekt für langsame, bewusste Kameraarbeit.',
124
124
  recommendation_freestyle: 'Mit einem Verhältnis von {ratio}:1 ist dies der Sweet Spot für Freestyle-Flüge. Exzellente Agilität bei gleichbleibender Stabilität für Tricks und Manöver.',
125
125
  recommendation_racing: 'Mit einem Verhältnis von {ratio}:1 befinden wir uns im Bereich von Performance-Freestyle. Die Gaskontrolle ist in engen Räumen und bei Hochgeschwindigkeitsmanövern entscheidend.',
126
- recommendation_extreme: 'Mit einem Verhältnis von {ratio}:1 ist dies eine Rennmaschine. Extrem reaktiv nur für erfahrene Piloten in offenen Gebieten.',
126
+ recommendation_extreme: 'Mit einem Verhältnis von {ratio}:1 ist dies eine Rennmaschine. Extrem reaktiv - nur für erfahrene Piloten in offenen Gebieten.',
127
127
  compareMode: 'Builds vergleichen',
128
128
  scenario1: 'Build A',
129
129
  scenario2: 'Build B',
@@ -167,9 +167,9 @@ export const content: DronePowerAnalyzerLocaleContent = {
167
167
  {
168
168
  type: 'list',
169
169
  items: [
170
- '<strong>Cinematic (2:1 4:1)</strong>: Schwer, stabil, langsam. Ideal für sanfte Kamerabewegungen und Builds, die Lasten tragen.',
171
- '<strong>Freestyle (3,5:1 6,5:1)</strong>: Der ausgewogene Sweet Spot. Reaktionsschnell genug für Tricks, stabil genug für Kontrolle.',
172
- '<strong>Racing (5:1 8:1)</strong>: Schnell und agil. Entwickelt für Renntore und aggressive Manöver.',
170
+ '<strong>Cinematic (2:1 - 4:1)</strong>: Schwer, stabil, langsam. Ideal für sanfte Kamerabewegungen und Builds, die Lasten tragen.',
171
+ '<strong>Freestyle (3,5:1 - 6,5:1)</strong>: Der ausgewogene Sweet Spot. Reaktionsschnell genug für Tricks, stabil genug für Kontrolle.',
172
+ '<strong>Racing (5:1 - 8:1)</strong>: Schnell und agil. Entwickelt für Renntore und aggressive Manöver.',
173
173
  '<strong>Pro Racing (7:1+)</strong>: Extreme Leistung. Nur für Expertenpiloten in offenen Gebieten.',
174
174
  ],
175
175
  },
@@ -1,4 +1,4 @@
1
- import type { DronePowerAnalyzerLocaleContent } from '../index';
1
+ import type { DronePowerAnalyzerLocaleContent } from '../index';
2
2
  import type { WithContext, SoftwareApplication, FAQPage, HowTo } from 'schema-dts';
3
3
  import { bibliography } from '../bibliography';
4
4
 
@@ -9,7 +9,7 @@ const description = 'Calculate the critical thrust-to-weight ratio for your FPV
9
9
  const faqItems = [
10
10
  {
11
11
  question: 'What is the thrust-to-weight ratio and why does it matter?',
12
- answer: 'The thrust-to-weight ratio is the total thrust your drone can produce divided by its all-up weight (AUW). It\'s the single most important metric that determines how your drone will feel to fly from slow and stable (cinematography) to ultra-responsive (racing).',
12
+ answer: 'The thrust-to-weight ratio is the total thrust your drone can produce divided by its all-up weight (AUW). It\'s the single most important metric that determines how your drone will feel to fly - from slow and stable (cinematography) to ultra-responsive (racing).',
13
13
  },
14
14
  {
15
15
  question: 'What is the "sweet spot" ratio for freestyle flying?',
@@ -21,11 +21,11 @@ const faqItems = [
21
21
  },
22
22
  {
23
23
  question: 'What happens if my ratio is above 8:1?',
24
- answer: 'Above 8:1, your drone is effectively a racing machine extremely reactive and demanding to fly. Only experienced pilots should attempt these builds. Great for racing gates and speed runs, but dangerous indoors.',
24
+ answer: 'Above 8:1, your drone is effectively a racing machine - extremely reactive and demanding to fly. Only experienced pilots should attempt these builds. Great for racing gates and speed runs, but dangerous indoors.',
25
25
  },
26
26
  {
27
27
  question: 'Do I include the battery weight in AUW?',
28
- answer: 'Yes. AUW (All-Up Weight) is the total weight of your drone with all components installed: frame, motors, ESCs, flight controller, camera, battery, props everything. Use the battery preset buttons for instant weight addition.',
28
+ answer: 'Yes. AUW (All-Up Weight) is the total weight of your drone with all components installed: frame, motors, ESCs, flight controller, camera, battery, props - everything. Use the battery preset buttons for instant weight addition.',
29
29
  },
30
30
  ];
31
31
 
@@ -40,7 +40,7 @@ const howToSteps = [
40
40
  },
41
41
  {
42
42
  name: 'Set Total Weight',
43
- text: 'Input your drone\'s all-up weight (AUW) frame, motors, battery, camera, everything. Use battery presets for instant weight adjustment.',
43
+ text: 'Input your drone\'s all-up weight (AUW) - frame, motors, battery, camera, everything. Use battery presets for instant weight adjustment.',
44
44
  },
45
45
  {
46
46
  name: 'Read Your Results',
@@ -123,7 +123,7 @@ export const content: DronePowerAnalyzerLocaleContent = {
123
123
  recommendation_cinematic: 'With a {ratio}:1 ratio, this is ideal for heavy-lift cinematography with smooth, controlled movements. Perfect for slow, deliberate camera work.',
124
124
  recommendation_freestyle: 'With a {ratio}:1 ratio, this is the sweet spot for freestyle flying. Excellent agility with maintained stability for tricks and tricks.',
125
125
  recommendation_racing: 'With a {ratio}:1 ratio, this is performance freestyle territory. Throttle management is critical in tight spaces and high-speed maneuvers.',
126
- recommendation_extreme: 'With a {ratio}:1 ratio, this is a racing machine. Extremely reactive only for experienced pilots in open areas.',
126
+ recommendation_extreme: 'With a {ratio}:1 ratio, this is a racing machine. Extremely reactive - only for experienced pilots in open areas.',
127
127
  compareMode: 'Compare Builds',
128
128
  scenario1: 'Build A',
129
129
  scenario2: 'Build B',
@@ -167,9 +167,9 @@ export const content: DronePowerAnalyzerLocaleContent = {
167
167
  {
168
168
  type: 'list',
169
169
  items: [
170
- '<strong>Cinematic (2:1 4:1)</strong>: Heavy, stable, slow. Ideal for smooth camera movements and payload-carrying builds.',
171
- '<strong>Freestyle (3.5:1 6.5:1)</strong>: The balanced sweet spot. Responsive enough for tricks, stable enough for control.',
172
- '<strong>Racing (5:1 8:1)</strong>: Fast and agile. Designed for speed gates and aggressive maneuvers.',
170
+ '<strong>Cinematic (2:1 - 4:1)</strong>: Heavy, stable, slow. Ideal for smooth camera movements and payload-carrying builds.',
171
+ '<strong>Freestyle (3.5:1 - 6.5:1)</strong>: The balanced sweet spot. Responsive enough for tricks, stable enough for control.',
172
+ '<strong>Racing (5:1 - 8:1)</strong>: Fast and agile. Designed for speed gates and aggressive maneuvers.',
173
173
  '<strong>Pro Racing (7:1+)</strong>: Extreme performance. Only for expert pilots in open areas.',
174
174
  ],
175
175
  },
@@ -1,9 +1,9 @@
1
- import type { DronePowerAnalyzerLocaleContent } from '../index';
1
+ import type { DronePowerAnalyzerLocaleContent } from '../index';
2
2
  import type { WithContext, SoftwareApplication, FAQPage, HowTo } from 'schema-dts';
3
3
  import { bibliography } from '../bibliography';
4
4
 
5
5
  const slug = 'analizador-potencia-dron';
6
- const title = 'Analizador de Potencia de Drone: Calculadora de Relación Empuje y Peso para FPV';
6
+ const title = 'Analizador de Potencia de Dron: Calculadora de Relación Empuje y Peso para FPV';
7
7
  const description = 'Calcula la relación empuje-peso crítica para tu montaje de drone FPV. Obtén recomendaciones instantáneas de perfil de vuelo, medidor de potencia visual y optimiza para cine, freestyle o carreras.';
8
8
 
9
9
  const faqItems = [
@@ -20,7 +20,7 @@ const faqItems = [
20
20
  answer: 'Sí. Para tomas cinematográficas fluidas y lentas, busca una relación de 2:1 a 3:1. Esto mantiene el drone estable y predecible. Cualquier valor inferior se vuelve difícil de controlar; cualquier valor superior se sentirá demasiado nervioso para movimientos lentos.',
21
21
  },
22
22
  {
23
- question: '¿Qué pasa si mi relación es superior a 8:1?',
23
+ question: '¿Qué pasa si mi relación es superior a 8 a 1?',
24
24
  answer: 'Por encima de 8:1, tu drone es efectivamente una máquina de carreras: extremadamente reactivo y exigente de volar. Solo pilotos experimentados deberían intentar estos montajes. Es ideal para puertas de carrera y velocidad, pero peligroso en interiores.',
25
25
  },
26
26
  {
@@ -167,9 +167,9 @@ export const content: DronePowerAnalyzerLocaleContent = {
167
167
  {
168
168
  type: 'list',
169
169
  items: [
170
- '<strong>Cinemático (2:1 4:1)</strong>: Pesado, estable, lento. Ideal para movimientos de cámara suaves y montajes que transportan carga.',
171
- '<strong>Freestyle (3.5:1 6.5:1)</strong>: El punto de equilibrio ideal. Suficientemente reactivo para trucos, suficientemente estable para el control.',
172
- '<strong>Carreras (5:1 8:1)</strong>: Rápido y ágil. Diseñado para puertas de velocidad y maniobras agresivas.',
170
+ '<strong>Cinemático (2:1 - 4:1)</strong>: Pesado, estable, lento. Ideal para movimientos de cámara suaves y montajes que transportan carga.',
171
+ '<strong>Freestyle (3.5:1 - 6.5:1)</strong>: El punto de equilibrio ideal. Suficientemente reactivo para trucos, suficientemente estable para el control.',
172
+ '<strong>Carreras (5:1 - 8:1)</strong>: Rápido y ágil. Diseñado para puertas de velocidad y maniobras agresivas.',
173
173
  '<strong>Carreras Pro (7:1+)</strong>: Rendimiento extremo. Solo para pilotos expertos en áreas abiertas.',
174
174
  ],
175
175
  },