@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
@@ -1,5 +1,6 @@
1
1
  import type { AntennaLengthCalculatorLocaleContent } from '../index';
2
2
  import type { WithContext, SoftwareApplication, FAQPage, HowTo } from 'schema-dts';
3
+ import { bibliography } from '../bibliography';
3
4
 
4
5
  const slug = 'kalkulyator-dliny-antenny';
5
6
  const title = 'Калькулятор длины антенны RF для диполей и штырей FPV';
@@ -80,11 +81,7 @@ export const content: AntennaLengthCalculatorLocaleContent = {
80
81
  slug,
81
82
  title,
82
83
  description,
83
- faqTitle: 'Часто задаваемые вопросы',
84
- bibliographyTitle: 'Библиографические ссылки',
85
84
  ui: {
86
- faqTitle: 'Часто задаваемые вопросы',
87
- bibliographyTitle: 'Библиографические ссылки',
88
85
  signalParameters: 'Параметры сигнала',
89
86
  antennaType: 'Тип антенны',
90
87
  dipole: 'Диполь (1/2 λ)',
@@ -250,10 +247,7 @@ export const content: AntennaLengthCalculatorLocaleContent = {
250
247
  answer: 'Более толстые провода имеют более широкую полосу пропускания (они менее критичны к точной частоте), но их коэффициент скорости немного меняется. Для большинства дронов FPV идеально подходит стандартный провод 20-22AWG.',
251
248
  },
252
249
  ],
253
- bibliography: [
254
- { name: 'Четвертьволновой монополь', url: 'https://www.antenna-theory.com/antennas/monopole.php' },
255
- { name: 'Коэффициент укорочения линий передачи', url: 'https://en.wikipedia.org/wiki/Velocity_factor' },
256
- ],
250
+ bibliography,
257
251
  howTo: [
258
252
  {
259
253
  name: 'Выберите частоту',
@@ -1,5 +1,6 @@
1
1
  import type { AntennaLengthCalculatorLocaleContent } from '../index';
2
2
  import type { WithContext, SoftwareApplication, FAQPage, HowTo } from 'schema-dts';
3
+ import { bibliography } from '../bibliography';
3
4
 
4
5
  const slug = 'rf-antennlangd-kalkylator';
5
6
  const title = 'RF Antennlangd Kalkylator for FPV Dipol och Piska';
@@ -80,11 +81,7 @@ export const content: AntennaLengthCalculatorLocaleContent = {
80
81
  slug,
81
82
  title,
82
83
  description,
83
- faqTitle: 'Vanliga Frågor',
84
- bibliographyTitle: 'Bibliografiska Referenser',
85
84
  ui: {
86
- faqTitle: 'Vanliga Frågor',
87
- bibliographyTitle: 'Bibliografiska Referenser',
88
85
  signalParameters: 'Signalparametrar',
89
86
  antennaType: 'Antenntyp',
90
87
  dipole: 'Dipol (1/2 λ)',
@@ -250,10 +247,7 @@ export const content: AntennaLengthCalculatorLocaleContent = {
250
247
  answer: 'Tjockare trådar har högre bandbredd (de är mindre känsliga för exakt frekvensavvikelse), men deras hastighetsfaktor förändras något. För de flesta FPV-drönare är standard 20-22AWG tråd perfekt.',
251
248
  },
252
249
  ],
253
- bibliography: [
254
- { name: 'Teorin om kvartsvågsmonopoler', url: 'https://www.antenna-theory.com/antennas/monopole.php' },
255
- { name: 'Hastighetsfaktor i transmissionsledningar', url: 'https://en.wikipedia.org/wiki/Velocity_factor' },
256
- ],
250
+ bibliography,
257
251
  howTo: [
258
252
  {
259
253
  name: 'Välj frekvens',
@@ -1,5 +1,6 @@
1
1
  import type { AntennaLengthCalculatorLocaleContent } from '../index';
2
2
  import type { WithContext, SoftwareApplication, FAQPage, HowTo } from 'schema-dts';
3
+ import { bibliography } from '../bibliography';
3
4
 
4
5
  const slug = 'rf-anten-uzunlugu-hesaplayici';
5
6
  const title = 'FPV Dipol ve Kamci Icin RF Anten Uzunlugu Hesaplayici';
@@ -80,11 +81,7 @@ export const content: AntennaLengthCalculatorLocaleContent = {
80
81
  slug,
81
82
  title,
82
83
  description,
83
- faqTitle: 'Sıkça Sorulan Sorular',
84
- bibliographyTitle: 'Bibliyografik Referanslar',
85
84
  ui: {
86
- faqTitle: 'Sıkça Sorulan Sorular',
87
- bibliographyTitle: 'Bibliyografik Referanslar',
88
85
  signalParameters: 'Sinyal Parametreleri',
89
86
  antennaType: 'Anten Tipi',
90
87
  dipole: 'Dipol (1/2 λ)',
@@ -250,10 +247,7 @@ export const content: AntennaLengthCalculatorLocaleContent = {
250
247
  answer: 'Tabiki daha tok, geniş ve kalın yapılı olması iletilen frekansı bir az da olsa esnetme yapar yani ufak milimetrelik traşlama hatanızı da o esneklikle telafisini yedirmeye de yardımcı olabildiği üzere hafifçenden o iletken yüzü Vf nize de dokunur oynatır. Çoğu amatör ve maker 20 ve 22 numara ( Awg çap türüyle) gayet stabil neticeler barındırırlar',
251
248
  },
252
249
  ],
253
- bibliography: [
254
- { name: 'Çeyrek Dalga Teorik Bakış Açısı', url: 'https://www.antenna-theory.com/antennas/monopole.php' },
255
- { name: 'Transmisyon hatları Hız Faktörü Wiki ', url: 'https://en.wikipedia.org/wiki/Velocity_factor' },
256
- ],
250
+ bibliography,
257
251
  howTo: [
258
252
  {
259
253
  name: 'Pek Tabi Önce Frekans',
@@ -1,5 +1,6 @@
1
1
  import type { AntennaLengthCalculatorLocaleContent } from '../index';
2
2
  import type { WithContext, SoftwareApplication, FAQPage, HowTo } from 'schema-dts';
3
+ import { bibliography } from '../bibliography';
3
4
 
4
5
  const slug = 'antenna-length-calculator';
5
6
  const title = 'FPV偶极子和鞭状射频天线长度计算器';
@@ -80,11 +81,7 @@ export const content: AntennaLengthCalculatorLocaleContent = {
80
81
  slug,
81
82
  title,
82
83
  description,
83
- faqTitle: '常见问题解答',
84
- bibliographyTitle: '参考文献',
85
84
  ui: {
86
- faqTitle: '常见问题解答',
87
- bibliographyTitle: '参考文献',
88
85
  signalParameters: '信号参数',
89
86
  antennaType: '天线类型',
90
87
  dipole: '偶极子天线 (1/2 λ)',
@@ -250,10 +247,7 @@ export const content: AntennaLengthCalculatorLocaleContent = {
250
247
  answer: '还别说确确实实带有挺有说法的门道!如果用上了那些很“壮硕粗壮”线皮线板这就让这可通行宽大河床也就是拥有更好的抗敏感包容那游走微偏宽差额更放肆的大频段(就不太死抠那丁点小数字了)然而在此同时也偷偷稍微影响那我们讲到的减速因子的微妙结果;话虽如此但是通常在各道无人FPV载机大众玩家手里还是那个老规矩使用标准尺寸也就是拿捏那处于 20 以迄至22 AWG美标这一大规格口径便属大好良宵无可挑剔的不二通吃之极佳搭配!',
251
248
  },
252
249
  ],
253
- bibliography: [
254
- { name: '关于这深居简出常闻那神秘(四分之一体形单极为王的知识理论基石)学术论库', url: 'https://www.antenna-theory.com/antennas/monopole.php' },
255
- { name: '对于传输线路导向当中这让人抓狂纠结头痛的波因速度阻隔削减数值因子的渊源探讨考据文(维基网文参考百科)', url: 'https://en.wikipedia.org/wiki/Velocity_factor' },
256
- ],
250
+ bibliography,
257
251
  howTo: [
258
252
  {
259
253
  name: '抉择并锁定使用频道层段',
@@ -1,5 +1,5 @@
1
1
  ---
2
- import { SEOArticle, SEOTitle, SEOList, SEOTable } from '@jjlmoya/utils-shared';
2
+ import { SEORenderer } from '@jjlmoya/utils-shared';
3
3
  import { antennaLengthCalculator } from './index';
4
4
  import type { KnownLocale } from '../../types';
5
5
 
@@ -12,28 +12,4 @@ const content = await antennaLengthCalculator.i18n[locale]?.();
12
12
  if (!content) return null;
13
13
  ---
14
14
 
15
- <SEOArticle>
16
- {content.seo.map((section: any) => {
17
- if (section.type === 'title') {
18
- return <SEOTitle title={section.text} level={section.level || 2} />;
19
- }
20
- if (section.type === 'paragraph') {
21
- return <p set:html={section.html} />;
22
- }
23
- if (section.type === 'list') {
24
- return <SEOList items={section.items} />;
25
- }
26
- if (section.type === 'table') {
27
- return (
28
- <SEOTable headers={section.headers}>
29
- {section.rows.map((row: string[]) => (
30
- <tr>
31
- {row.map((cell: string) => <td set:html={cell} />)}
32
- </tr>
33
- ))}
34
- </SEOTable>
35
- );
36
- }
37
- return null;
38
- })}
39
- </SEOArticle>
15
+ {content.seo?.length > 0 && <SEORenderer content={{ locale, sections: content.seo }} />}
@@ -1,14 +1,6 @@
1
1
  ---
2
- import { Bibliography } from '@jjlmoya/utils-shared';
3
- import { droneFlightTime } from './index';
4
- import type { KnownLocale } from '../../types';
5
-
6
- interface Props {
7
- locale?: KnownLocale;
8
- }
9
-
10
- const { locale = 'es' } = Astro.props;
11
- const content = await droneFlightTime.i18n[locale]?.();
2
+ import { Bibliography as BibliographyComponent } from '@jjlmoya/utils-shared';
3
+ import { bibliography } from './bibliography';
12
4
  ---
13
5
 
14
- {content && <Bibliography links={content.bibliography} />}
6
+ <BibliographyComponent links={bibliography} />
@@ -0,0 +1,7 @@
1
+ import type { BibliographyEntry } from '../../types';
2
+
3
+ export const bibliography: BibliographyEntry[] = [
4
+ { name: 'EASA - Drone Regulations', url: 'https://www.easa.europa.eu/en/domains/civil-drones' },
5
+ { name: 'ArduPilot Wiki', url: 'https://ardupilot.org/copter/' },
6
+ { name: 'Battery University', url: 'https://batteryuniversity.com/' },
7
+ ];
@@ -1,5 +1,6 @@
1
1
  import type { DroneFlightTimeLocaleContent } from '../index';
2
2
  import type { WithContext, SoftwareApplication, FAQPage, HowTo } from 'schema-dts';
3
+ import { bibliography } from '../bibliography';
3
4
 
4
5
  const slug = 'drohnen-flugzeit-rechner';
5
6
  const title = 'Drohnen Flugzeit Rechner zur Schätzung der LiPo LiIon Autonomie';
@@ -80,11 +81,7 @@ export const content: DroneFlightTimeLocaleContent = {
80
81
  slug,
81
82
  title,
82
83
  description,
83
- faqTitle: 'Häufig gestellte Fragen',
84
- bibliographyTitle: 'Literaturhinweise',
85
84
  ui: {
86
- faqTitle: 'Häufig gestellte Fragen',
87
- bibliographyTitle: 'Literaturhinweise',
88
85
  batterySpecs: 'Akku-Spezifikationen',
89
86
  capacity: 'Kapazität',
90
87
  voltage: 'Spannung (S-Zellen)',
@@ -228,11 +225,7 @@ export const content: DroneFlightTimeLocaleContent = {
228
225
  },
229
226
  ],
230
227
  faq: faqItems,
231
- bibliography: [
232
- { name: 'EASA - Drohnen-Regulierungen', url: 'https://www.easa.europa.eu/en/domains/civil-drones' },
233
- { name: 'ArduPilot Wiki', url: 'https://ardupilot.org/copter/' },
234
- { name: 'Battery University', url: 'https://batteryuniversity.com/' },
235
- ],
228
+ bibliography,
236
229
  howTo: howToSteps,
237
230
  schemas,
238
231
  };
@@ -1,5 +1,6 @@
1
1
  import type { DroneFlightTimeLocaleContent } from '../index';
2
2
  import type { WithContext, SoftwareApplication, FAQPage, HowTo } from 'schema-dts';
3
+ import { bibliography } from '../bibliography';
3
4
 
4
5
  const slug = 'drone-flight-time-calculator';
5
6
  const title = 'Drone Flight Time Calculator for LiPo LiIon Endurance Estimation';
@@ -80,11 +81,7 @@ export const content: DroneFlightTimeLocaleContent = {
80
81
  slug,
81
82
  title,
82
83
  description,
83
- faqTitle: 'Frequently Asked Questions',
84
- bibliographyTitle: 'Bibliographic References',
85
84
  ui: {
86
- faqTitle: 'Frequently Asked Questions',
87
- bibliographyTitle: 'Bibliographic References',
88
85
  batterySpecs: 'Battery Specifications',
89
86
  capacity: 'Capacity',
90
87
  voltage: 'Voltage (S Cells)',
@@ -228,11 +225,7 @@ export const content: DroneFlightTimeLocaleContent = {
228
225
  },
229
226
  ],
230
227
  faq: faqItems,
231
- bibliography: [
232
- { name: 'EASA - Drone Regulations', url: 'https://www.easa.europa.eu/en/domains/civil-drones' },
233
- { name: 'ArduPilot Wiki', url: 'https://ardupilot.org/copter/' },
234
- { name: 'Battery University', url: 'https://batteryuniversity.com/' },
235
- ],
228
+ bibliography,
236
229
  howTo: howToSteps,
237
230
  schemas,
238
231
  };
@@ -1,5 +1,6 @@
1
1
  import type { DroneFlightTimeLocaleContent } from '../index';
2
2
  import type { WithContext, SoftwareApplication, FAQPage, HowTo } from 'schema-dts';
3
+ import { bibliography } from '../bibliography';
3
4
 
4
5
  const slug = 'calculadora-tiempo-vuelo-dron';
5
6
  const title = 'Calculadora Tiempo de Vuelo Drones para Estimación de Autonomía LiPo LiIon';
@@ -80,11 +81,7 @@ export const content: DroneFlightTimeLocaleContent = {
80
81
  slug,
81
82
  title,
82
83
  description,
83
- faqTitle: 'Preguntas Frecuentes',
84
- bibliographyTitle: 'Referencias Bibliográficas',
85
84
  ui: {
86
- faqTitle: 'Preguntas Frecuentes',
87
- bibliographyTitle: 'Referencias Bibliográficas',
88
85
  batterySpecs: 'Especificaciones Batería',
89
86
  capacity: 'Capacidad',
90
87
  voltage: 'Voltaje (Celdas S)',
@@ -228,11 +225,7 @@ export const content: DroneFlightTimeLocaleContent = {
228
225
  },
229
226
  ],
230
227
  faq: faqItems,
231
- bibliography: [
232
- { name: 'EASA - Drone Regulations', url: 'https://www.easa.europa.eu/en/domains/civil-drones' },
233
- { name: 'ArduPilot Wiki', url: 'https://ardupilot.org/copter/' },
234
- { name: 'Battery University', url: 'https://batteryuniversity.com/' },
235
- ],
228
+ bibliography,
236
229
  howTo: howToSteps,
237
230
  schemas,
238
231
  };
@@ -1,5 +1,6 @@
1
1
  import type { DroneFlightTimeLocaleContent } from '../index';
2
2
  import type { WithContext, SoftwareApplication, FAQPage, HowTo } from 'schema-dts';
3
+ import { bibliography } from '../bibliography';
3
4
 
4
5
  const slug = 'calculateur-temps-vol-drone';
5
6
  const title = 'Calculateur de Temps de Vol Drone pour Estimation Autonomie LiPo LiIon';
@@ -80,11 +81,7 @@ export const content: DroneFlightTimeLocaleContent = {
80
81
  slug,
81
82
  title,
82
83
  description,
83
- faqTitle: 'Foire Aux Questions',
84
- bibliographyTitle: 'Références Bibliographiques',
85
84
  ui: {
86
- faqTitle: 'Foire Aux Questions',
87
- bibliographyTitle: 'Références Bibliographiques',
88
85
  batterySpecs: 'Spécifications de la Batterie',
89
86
  capacity: 'Capacité',
90
87
  voltage: 'Tension (Cellules S)',
@@ -228,11 +225,7 @@ export const content: DroneFlightTimeLocaleContent = {
228
225
  },
229
226
  ],
230
227
  faq: faqItems,
231
- bibliography: [
232
- { name: 'EASA - Réglementation des Drones', url: 'https://www.easa.europa.eu/en/domains/civil-drones' },
233
- { name: 'ArduPilot Wiki', url: 'https://ardupilot.org/copter/' },
234
- { name: 'Battery University', url: 'https://batteryuniversity.com/' },
235
- ],
228
+ bibliography,
236
229
  howTo: howToSteps,
237
230
  schemas,
238
231
  };
@@ -1,5 +1,6 @@
1
1
  import type { DroneFlightTimeLocaleContent } from '../index';
2
2
  import type { WithContext, SoftwareApplication, FAQPage, HowTo } from 'schema-dts';
3
+ import { bibliography } from '../bibliography';
3
4
 
4
5
  const slug = 'kalkulator-waktu-terbang-drone';
5
6
  const title = 'Kalkulator Waktu Terbang Drone untuk Estimasi Autonomi LiPo LiIon';
@@ -80,11 +81,7 @@ export const content: DroneFlightTimeLocaleContent = {
80
81
  slug,
81
82
  title,
82
83
  description,
83
- faqTitle: 'Pertanyaan yang Sering Diajukan',
84
- bibliographyTitle: 'Referensi Bibliografi',
85
84
  ui: {
86
- faqTitle: 'Pertanyaan yang Sering Diajukan',
87
- bibliographyTitle: 'Referensi Bibliografi',
88
85
  batterySpecs: 'Spesifikasi Baterai',
89
86
  capacity: 'Kapasitas',
90
87
  voltage: 'Tegangan (Sel S)',
@@ -228,11 +225,7 @@ export const content: DroneFlightTimeLocaleContent = {
228
225
  },
229
226
  ],
230
227
  faq: faqItems,
231
- bibliography: [
232
- { name: 'EASA - Regulasi Drone', url: 'https://www.easa.europa.eu/en/domains/civil-drones' },
233
- { name: 'ArduPilot Wiki', url: 'https://ardupilot.org/copter/' },
234
- { name: 'Battery University', url: 'https://batteryuniversity.com/' },
235
- ],
228
+ bibliography,
236
229
  howTo: howToSteps,
237
230
  schemas,
238
231
  };
@@ -1,5 +1,6 @@
1
1
  import type { DroneFlightTimeLocaleContent } from '../index';
2
2
  import type { WithContext, SoftwareApplication, FAQPage, HowTo } from 'schema-dts';
3
+ import { bibliography } from '../bibliography';
3
4
 
4
5
  const slug = 'calcolatore-tempo-volo-drone';
5
6
  const title = 'Calcolatore Tempo di Volo Drone per Stima Autonomia LiPo LiIon';
@@ -80,11 +81,7 @@ export const content: DroneFlightTimeLocaleContent = {
80
81
  slug,
81
82
  title,
82
83
  description,
83
- faqTitle: 'Domande Frequenti',
84
- bibliographyTitle: 'Riferimenti Bibliografici',
85
84
  ui: {
86
- faqTitle: 'Domande Frequenti',
87
- bibliographyTitle: 'Riferimenti Bibliografici',
88
85
  batterySpecs: 'Specifiche Batteria',
89
86
  capacity: 'Capacità',
90
87
  voltage: 'Voltaggio (Celle S)',
@@ -228,11 +225,7 @@ export const content: DroneFlightTimeLocaleContent = {
228
225
  },
229
226
  ],
230
227
  faq: faqItems,
231
- bibliography: [
232
- { name: 'EASA - Drone Regulations', url: 'https://www.easa.europa.eu/en/domains/civil-drones' },
233
- { name: 'ArduPilot Wiki', url: 'https://ardupilot.org/copter/' },
234
- { name: 'Battery University', url: 'https://batteryuniversity.com/' },
235
- ],
228
+ bibliography,
236
229
  howTo: howToSteps,
237
230
  schemas,
238
231
  };
@@ -1,5 +1,6 @@
1
1
  import type { DroneFlightTimeLocaleContent } from '../index';
2
2
  import type { WithContext, SoftwareApplication, FAQPage, HowTo } from 'schema-dts';
3
+ import { bibliography } from '../bibliography';
3
4
 
4
5
  const slug = 'drone-flight-time-calculator';
5
6
  const title = 'ドローン飛行時間計算機 LiPo LiIon航続距離推定用';
@@ -81,11 +82,7 @@ export const content: DroneFlightTimeLocaleContent = {
81
82
  slug,
82
83
  title,
83
84
  description,
84
- faqTitle: 'よくある質問',
85
- bibliographyTitle: '参考文献',
86
85
  ui: {
87
- faqTitle: 'よくある質問',
88
- bibliographyTitle: '参考文献',
89
86
  batterySpecs: 'バッテリー仕様',
90
87
  capacity: '容量',
91
88
  voltage: '電圧 (Sセル数)',
@@ -229,11 +226,7 @@ export const content: DroneFlightTimeLocaleContent = {
229
226
  },
230
227
  ],
231
228
  faq: faqItems,
232
- bibliography: [
233
- { name: 'EASA - Drone Regulations', url: 'https://www.easa.europa.eu/en/domains/civil-drones' },
234
- { name: 'ArduPilot Wiki', url: 'https://ardupilot.org/copter/' },
235
- { name: 'Battery University', url: 'https://batteryuniversity.com/' },
236
- ],
229
+ bibliography,
237
230
  howTo: howToSteps,
238
231
  schemas,
239
232
  };
@@ -1,5 +1,6 @@
1
1
  import type { DroneFlightTimeLocaleContent } from '../index';
2
2
  import type { WithContext, SoftwareApplication, FAQPage, HowTo } from 'schema-dts';
3
+ import { bibliography } from '../bibliography';
3
4
 
4
5
  const slug = 'drone-flight-time-calculator';
5
6
  const title = '드론 비행 시간 계산기로 LiPo LiIon 비행 시간 예측';
@@ -81,11 +82,7 @@ export const content: DroneFlightTimeLocaleContent = {
81
82
  slug,
82
83
  title,
83
84
  description,
84
- faqTitle: '자주 묻는 질문',
85
- bibliographyTitle: '참고 문헌',
86
85
  ui: {
87
- faqTitle: '자주 묻는 질문',
88
- bibliographyTitle: '참고 문헌',
89
86
  batterySpecs: '배터리 사양',
90
87
  capacity: '용량',
91
88
  voltage: '전압 (S 셀)',
@@ -229,11 +226,7 @@ export const content: DroneFlightTimeLocaleContent = {
229
226
  },
230
227
  ],
231
228
  faq: faqItems,
232
- bibliography: [
233
- { name: 'EASA - 무인 항공기 규정', url: 'https://www.easa.europa.eu/en/domains/civil-drones' },
234
- { name: 'ArduPilot 위키', url: 'https://ardupilot.org/copter/' },
235
- { name: '배터리 유니버시티', url: 'https://batteryuniversity.com/' },
236
- ],
229
+ bibliography,
237
230
  howTo: howToSteps,
238
231
  schemas,
239
232
  };
@@ -1,5 +1,6 @@
1
1
  import type { DroneFlightTimeLocaleContent } from '../index';
2
2
  import type { WithContext, SoftwareApplication, FAQPage, HowTo } from 'schema-dts';
3
+ import { bibliography } from '../bibliography';
3
4
 
4
5
  const slug = 'drone-vliegtijd-calculator';
5
6
  const title = 'Drone Vliegtijd Calculator voor LiPo LiIon Autonomie Schatting';
@@ -81,11 +82,7 @@ export const content: DroneFlightTimeLocaleContent = {
81
82
  slug,
82
83
  title,
83
84
  description,
84
- faqTitle: 'Veelgestelde Vragen',
85
- bibliographyTitle: 'Bibliografische Referenties',
86
85
  ui: {
87
- faqTitle: 'Veelgestelde Vragen',
88
- bibliographyTitle: 'Bibliografische Referenties',
89
86
  batterySpecs: 'Batterijspecificaties',
90
87
  capacity: 'Capaciteit',
91
88
  voltage: 'Voltage (S-cellen)',
@@ -229,11 +226,7 @@ export const content: DroneFlightTimeLocaleContent = {
229
226
  },
230
227
  ],
231
228
  faq: faqItems,
232
- bibliography: [
233
- { name: 'EASA - Drone Regulations', url: 'https://www.easa.europa.eu/en/domains/civil-drones' },
234
- { name: 'ArduPilot Wiki', url: 'https://ardupilot.org/copter/' },
235
- { name: 'Battery University', url: 'https://batteryuniversity.com/' },
236
- ],
229
+ bibliography,
237
230
  howTo: howToSteps,
238
231
  schemas,
239
232
  };
@@ -1,5 +1,6 @@
1
1
  import type { DroneFlightTimeLocaleContent } from '../index';
2
2
  import type { WithContext, SoftwareApplication, FAQPage, HowTo } from 'schema-dts';
3
+ import { bibliography } from '../bibliography';
3
4
 
4
5
  const slug = 'kalkulator-czasu-lotu-drona';
5
6
  const title = 'Kalkulator Czasu Lotu Drona do Szacowania Autonomii LiPo LiIon';
@@ -81,11 +82,7 @@ export const content: DroneFlightTimeLocaleContent = {
81
82
  slug,
82
83
  title,
83
84
  description,
84
- faqTitle: 'Często Zadawane Pytania',
85
- bibliographyTitle: 'Bibliografia',
86
85
  ui: {
87
- faqTitle: 'Często Zadawane Pytania',
88
- bibliographyTitle: 'Bibliografia',
89
86
  batterySpecs: 'Specyfikacja Akumulatora',
90
87
  capacity: 'Pojemność',
91
88
  voltage: 'Napięcie (Cele S)',
@@ -229,11 +226,7 @@ export const content: DroneFlightTimeLocaleContent = {
229
226
  },
230
227
  ],
231
228
  faq: faqItems,
232
- bibliography: [
233
- { name: 'EASA - Drone Regulations', url: 'https://www.easa.europa.eu/en/domains/civil-drones' },
234
- { name: 'ArduPilot Wiki', url: 'https://ardupilot.org/copter/' },
235
- { name: 'Battery University', url: 'https://batteryuniversity.com/' },
236
- ],
229
+ bibliography,
237
230
  howTo: howToSteps,
238
231
  schemas,
239
232
  };
@@ -1,5 +1,6 @@
1
1
  import type { DroneFlightTimeLocaleContent } from '../index';
2
2
  import type { WithContext, SoftwareApplication, FAQPage, HowTo } from 'schema-dts';
3
+ import { bibliography } from '../bibliography';
3
4
 
4
5
  const slug = 'calculadora-tempo-voo-drone';
5
6
  const title = 'Calculadora Tempo de Voo Drone para Estimativa Autonomia LiPo LiIon';
@@ -81,11 +82,7 @@ export const content: DroneFlightTimeLocaleContent = {
81
82
  slug,
82
83
  title,
83
84
  description,
84
- faqTitle: 'Perguntas Frequentes',
85
- bibliographyTitle: 'Referências Bibliográficas',
86
85
  ui: {
87
- faqTitle: 'Perguntas Frequentes',
88
- bibliographyTitle: 'Referências Bibliográficas',
89
86
  batterySpecs: 'Especificações da Bateria',
90
87
  capacity: 'Capacidade',
91
88
  voltage: 'Voltagem (Células S)',
@@ -229,11 +226,7 @@ export const content: DroneFlightTimeLocaleContent = {
229
226
  },
230
227
  ],
231
228
  faq: faqItems,
232
- bibliography: [
233
- { name: 'EASA - Drone Regulations', url: 'https://www.easa.europa.eu/en/domains/civil-drones' },
234
- { name: 'ArduPilot Wiki', url: 'https://ardupilot.org/copter/' },
235
- { name: 'Battery University', url: 'https://batteryuniversity.com/' },
236
- ],
229
+ bibliography,
237
230
  howTo: howToSteps,
238
231
  schemas,
239
232
  };
@@ -1,5 +1,6 @@
1
1
  import type { DroneFlightTimeLocaleContent } from '../index';
2
2
  import type { WithContext, SoftwareApplication, FAQPage, HowTo } from 'schema-dts';
3
+ import { bibliography } from '../bibliography';
3
4
 
4
5
  const slug = 'kalkulyator-vremeni-polyota-drona';
5
6
  const title = 'Калькулятор времени полета дрона для оценки автономности LiPo LiIon';
@@ -81,11 +82,7 @@ export const content: DroneFlightTimeLocaleContent = {
81
82
  slug,
82
83
  title,
83
84
  description,
84
- faqTitle: 'Часто задаваемые вопросы',
85
- bibliographyTitle: 'Библиографические ссылки',
86
85
  ui: {
87
- faqTitle: 'Часто задаваемые вопросы',
88
- bibliographyTitle: 'Библиографические ссылки',
89
86
  batterySpecs: 'Характеристики аккумулятора',
90
87
  capacity: 'Емкость',
91
88
  voltage: 'Напряжение (S ячеек)',
@@ -229,11 +226,7 @@ export const content: DroneFlightTimeLocaleContent = {
229
226
  },
230
227
  ],
231
228
  faq: faqItems,
232
- bibliography: [
233
- { name: 'EASA - Правила использования дронов', url: 'https://www.easa.europa.eu/en/domains/civil-drones' },
234
- { name: 'ArduPilot Wiki', url: 'https://ardupilot.org/copter/' },
235
- { name: 'Battery University', url: 'https://batteryuniversity.com/' },
236
- ],
229
+ bibliography,
237
230
  howTo: howToSteps,
238
231
  schemas,
239
232
  };
@@ -1,5 +1,6 @@
1
1
  import type { DroneFlightTimeLocaleContent } from '../index';
2
2
  import type { WithContext, SoftwareApplication, FAQPage, HowTo } from 'schema-dts';
3
+ import { bibliography } from '../bibliography';
3
4
 
4
5
  const slug = 'dronare-flygtid-kalkylator';
5
6
  const title = 'Dronare Flygtid Kalkylator for LiPo LiIon Autonomi Uppskattning';
@@ -81,11 +82,7 @@ export const content: DroneFlightTimeLocaleContent = {
81
82
  slug,
82
83
  title,
83
84
  description,
84
- faqTitle: 'Vanliga Frågor',
85
- bibliographyTitle: 'Bibliografiska Referenser',
86
85
  ui: {
87
- faqTitle: 'Vanliga Frågor',
88
- bibliographyTitle: 'Bibliografiska Referenser',
89
86
  batterySpecs: 'Batterispecifikationer',
90
87
  capacity: 'Kapacitet',
91
88
  voltage: 'Spänning (S-celler)',
@@ -229,11 +226,7 @@ export const content: DroneFlightTimeLocaleContent = {
229
226
  },
230
227
  ],
231
228
  faq: faqItems,
232
- bibliography: [
233
- { name: 'Drönar regelverket Europe (EASA)', url: 'https://www.easa.europa.eu/en/domains/civil-drones' },
234
- { name: 'Info system Ardupilot', url: 'https://ardupilot.org/copter/' },
235
- { name: 'Det grundligt tänkta ang. Batterierna i teori', url: 'https://batteryuniversity.com/' },
236
- ],
229
+ bibliography,
237
230
  howTo: howToSteps,
238
231
  schemas,
239
232
  };
@@ -1,5 +1,6 @@
1
1
  import type { DroneFlightTimeLocaleContent } from '../index';
2
2
  import type { WithContext, SoftwareApplication, FAQPage, HowTo } from 'schema-dts';
3
+ import { bibliography } from '../bibliography';
3
4
 
4
5
  const slug = 'drone-ucus-suresi-hesaplayici';
5
6
  const title = 'LiPo LiIon Otonomisi Tahmini icin Drone Ucus Suresi Hesaplayici';
@@ -81,11 +82,7 @@ export const content: DroneFlightTimeLocaleContent = {
81
82
  slug,
82
83
  title,
83
84
  description,
84
- faqTitle: 'Sıkça Sorulan Sorular',
85
- bibliographyTitle: 'Bibliyografik Referanslar',
86
85
  ui: {
87
- faqTitle: 'Sıkça Sorulan Sorular',
88
- bibliographyTitle: 'Bibliyografik Referanslar',
89
86
  batterySpecs: 'Pil Özellikleri',
90
87
  capacity: 'Kapasite',
91
88
  voltage: 'Voltaj (S Hücre)',
@@ -229,11 +226,7 @@ export const content: DroneFlightTimeLocaleContent = {
229
226
  },
230
227
  ],
231
228
  faq: faqItems,
232
- bibliography: [
233
- { name: 'EASA - Drone Yönetmelikleri', url: 'https://www.easa.europa.eu/en/domains/civil-drones' },
234
- { name: 'ArduPilot Wiki', url: 'https://ardupilot.org/copter/' },
235
- { name: 'Battery University', url: 'https://batteryuniversity.com/' },
236
- ],
229
+ bibliography,
237
230
  howTo: howToSteps,
238
231
  schemas,
239
232
  };