@jjlmoya/utils-astronomy 1.6.0 → 1.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/src/tests/slug_uniqueness.test.ts +81 -0
- package/src/tool/bortleVisualizer/i18n/de.ts +1 -1
- package/src/tool/bortleVisualizer/i18n/id.ts +1 -1
- package/src/tool/bortleVisualizer/i18n/it.ts +1 -1
- package/src/tool/bortleVisualizer/i18n/nl.ts +1 -1
- package/src/tool/bortleVisualizer/i18n/pl.ts +1 -1
- package/src/tool/bortleVisualizer/i18n/pt.ts +1 -1
- package/src/tool/bortleVisualizer/i18n/ru.ts +1 -1
- package/src/tool/bortleVisualizer/i18n/sv.ts +1 -1
- package/src/tool/bortleVisualizer/i18n/tr.ts +1 -1
- package/src/tool/deepSpaceScope/i18n/de.ts +1 -1
- package/src/tool/deepSpaceScope/i18n/id.ts +1 -1
- package/src/tool/deepSpaceScope/i18n/it.ts +1 -1
- package/src/tool/deepSpaceScope/i18n/nl.ts +1 -1
- package/src/tool/deepSpaceScope/i18n/pl.ts +1 -1
- package/src/tool/deepSpaceScope/i18n/pt.ts +1 -1
- package/src/tool/deepSpaceScope/i18n/ru.ts +1 -1
- package/src/tool/deepSpaceScope/i18n/sv.ts +1 -1
- package/src/tool/deepSpaceScope/i18n/tr.ts +1 -1
- package/src/tool/starExposureCalculator/i18n/de.ts +1 -1
- package/src/tool/starExposureCalculator/i18n/id.ts +1 -1
- package/src/tool/starExposureCalculator/i18n/it.ts +1 -1
- package/src/tool/starExposureCalculator/i18n/nl.ts +1 -1
- package/src/tool/starExposureCalculator/i18n/pl.ts +1 -1
- package/src/tool/starExposureCalculator/i18n/pt.ts +1 -1
- package/src/tool/starExposureCalculator/i18n/ru.ts +1 -1
- package/src/tool/starExposureCalculator/i18n/sv.ts +1 -1
- package/src/tool/starExposureCalculator/i18n/tr.ts +1 -1
- package/src/tool/telescopeResolution/i18n/de.ts +1 -1
- package/src/tool/telescopeResolution/i18n/id.ts +1 -1
- package/src/tool/telescopeResolution/i18n/it.ts +1 -1
- package/src/tool/telescopeResolution/i18n/nl.ts +1 -1
- package/src/tool/telescopeResolution/i18n/pl.ts +1 -1
- package/src/tool/telescopeResolution/i18n/pt.ts +1 -1
- package/src/tool/telescopeResolution/i18n/ru.ts +1 -1
- package/src/tool/telescopeResolution/i18n/sv.ts +1 -1
- package/src/tool/telescopeResolution/i18n/tr.ts +1 -1
package/package.json
CHANGED
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
import { describe, it, expect } from 'vitest';
|
|
2
|
+
import { ALL_TOOLS } from '../tools';
|
|
3
|
+
import type { ToolLocaleContent } from '../types';
|
|
4
|
+
|
|
5
|
+
const sharingLocales = ['ja', 'ko', 'zh'];
|
|
6
|
+
|
|
7
|
+
interface ValidateParams {
|
|
8
|
+
toolId: string;
|
|
9
|
+
locale: string;
|
|
10
|
+
content: ToolLocaleContent;
|
|
11
|
+
enSlug: string;
|
|
12
|
+
slugs: Map<string, string>;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
const validateLocaleSlug = ({
|
|
16
|
+
toolId,
|
|
17
|
+
locale,
|
|
18
|
+
content,
|
|
19
|
+
enSlug,
|
|
20
|
+
slugs,
|
|
21
|
+
}: ValidateParams) => {
|
|
22
|
+
expect(
|
|
23
|
+
content.slug,
|
|
24
|
+
`Tool "${toolId}" locale "${locale}" has an invalid slug ("${content.slug}"). Slugs must be transliterated (only a-z, 0-9, and -).`,
|
|
25
|
+
).toMatch(/^[a-z0-9-]+$/);
|
|
26
|
+
|
|
27
|
+
if (locale === 'en') {
|
|
28
|
+
return;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
if (sharingLocales.includes(locale)) {
|
|
32
|
+
expect(
|
|
33
|
+
content.slug,
|
|
34
|
+
`Tool "${toolId}" locale "${locale}" must use the same slug as "en" ("${enSlug}").`,
|
|
35
|
+
).toBe(enSlug);
|
|
36
|
+
} else {
|
|
37
|
+
expect(
|
|
38
|
+
content.slug,
|
|
39
|
+
`Tool "${toolId}" locale "${locale}" has the same slug as "en" ("${enSlug}"). Cada slug tiene que estar en su propia idioma`,
|
|
40
|
+
).not.toBe(enSlug);
|
|
41
|
+
|
|
42
|
+
if (slugs.has(content.slug)) {
|
|
43
|
+
const previousLocale = slugs.get(content.slug);
|
|
44
|
+
expect(
|
|
45
|
+
false,
|
|
46
|
+
`Tool "${toolId}" locales "${locale}" and "${previousLocale}" share the same slug ("${content.slug}"). Cada slug tiene que estar en su propia idioma`,
|
|
47
|
+
).toBe(true);
|
|
48
|
+
}
|
|
49
|
+
slugs.set(content.slug, locale);
|
|
50
|
+
}
|
|
51
|
+
};
|
|
52
|
+
|
|
53
|
+
describe('Slug Localization and Uniqueness Validation', () => {
|
|
54
|
+
ALL_TOOLS.forEach((tool) => {
|
|
55
|
+
describe(`Tool: ${tool.entry.id}`, () => {
|
|
56
|
+
it('every locale should have a unique, translated slug', async () => {
|
|
57
|
+
const slugs = new Map<string, string>();
|
|
58
|
+
const locales = Object.keys(tool.entry.i18n);
|
|
59
|
+
|
|
60
|
+
let enSlug = '';
|
|
61
|
+
if (locales.includes('en')) {
|
|
62
|
+
const enLoader = tool.entry.i18n['en' as keyof typeof tool.entry.i18n];
|
|
63
|
+
const enContent = (await enLoader?.()) as ToolLocaleContent;
|
|
64
|
+
enSlug = enContent.slug;
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
for (const locale of locales) {
|
|
68
|
+
const loader = tool.entry.i18n[locale as keyof typeof tool.entry.i18n];
|
|
69
|
+
const content = (await loader?.()) as ToolLocaleContent;
|
|
70
|
+
validateLocaleSlug({
|
|
71
|
+
toolId: tool.entry.id,
|
|
72
|
+
locale,
|
|
73
|
+
content,
|
|
74
|
+
enSlug,
|
|
75
|
+
slugs,
|
|
76
|
+
});
|
|
77
|
+
}
|
|
78
|
+
});
|
|
79
|
+
});
|
|
80
|
+
});
|
|
81
|
+
});
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
|
|
2
2
|
import type { BortleVisualizerUI, BortleVisualizerLocaleContent } from '../index';
|
|
3
3
|
|
|
4
|
-
const slug = '
|
|
4
|
+
const slug = 'simulator-dunkler-himmel';
|
|
5
5
|
const title = 'Dark Sky Simulator (Bortle Skala)';
|
|
6
6
|
const description = 'Visualisieren Sie interaktiv die 9 Stufen der Bortle-Skala und entdecken Sie, wie die Lichtverschmutzung den sternenklaren Nachthimmel verblassen lässt.';
|
|
7
7
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
|
|
2
2
|
import type { BortleVisualizerUI, BortleVisualizerLocaleContent } from '../index';
|
|
3
3
|
|
|
4
|
-
const slug = '
|
|
4
|
+
const slug = 'simulator-langit-gelap';
|
|
5
5
|
const title = 'Simulator Langit Gelap (Skala Bortle)';
|
|
6
6
|
const description = 'Visualisasikan secara interaktif 9 level Skala Bortle dan temukan bagaimana polusi cahaya menghapus keindahan langit malam berbintang.';
|
|
7
7
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
|
|
2
2
|
import type { BortleVisualizerUI, BortleVisualizerLocaleContent } from '../index';
|
|
3
3
|
|
|
4
|
-
const slug = '
|
|
4
|
+
const slug = 'simulatore-cielo-scuro';
|
|
5
5
|
const title = 'Simulatore di Cielo Buio (Scala di Bortle)';
|
|
6
6
|
const description = 'Visualizza in modo interattivo i 9 livelli della Scala di Bortle e scopri come l\'inquinamento luminoso cancella il cielo notturno stellato.';
|
|
7
7
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
|
|
2
2
|
import type { BortleVisualizerUI, BortleVisualizerLocaleContent } from '../index';
|
|
3
3
|
|
|
4
|
-
const slug = '
|
|
4
|
+
const slug = 'simulator-donkere-hemel';
|
|
5
5
|
const title = 'Nachthemel Simulator (Bortle schaal)';
|
|
6
6
|
const description = 'Visualiseer interactief de 9 niveaus van de Bortle-schaal en ontdek hoe lichtvervuiling de sterrenhemel doet vervagen.';
|
|
7
7
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
|
|
2
2
|
import type { BortleVisualizerUI, BortleVisualizerLocaleContent } from '../index';
|
|
3
3
|
|
|
4
|
-
const slug = '
|
|
4
|
+
const slug = 'symulator-ciemnego-nieba';
|
|
5
5
|
const title = 'Symulator ciemnego nieba (Skala Bortle’a)';
|
|
6
6
|
const description = 'Interaktywna wizualizacja 9 poziomów skali Bortle’a. Odkryj, jak zanieczyszczenie światłem wymazuje rozgwieżdżone nocne niebo.';
|
|
7
7
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
|
|
2
2
|
import type { BortleVisualizerUI, BortleVisualizerLocaleContent } from '../index';
|
|
3
3
|
|
|
4
|
-
const slug = '
|
|
4
|
+
const slug = 'simulador-ceu-escuro';
|
|
5
5
|
const title = 'Simulador de Céu Escuro (Escala de Bortle)';
|
|
6
6
|
const description = 'Visualize interativamente os 9 níveis da Escala de Bortle e descubra como a poluição luminosa apaga o céu noturno estrelado.';
|
|
7
7
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
|
|
2
2
|
import type { BortleVisualizerUI, BortleVisualizerLocaleContent } from '../index';
|
|
3
3
|
|
|
4
|
-
const slug = '
|
|
4
|
+
const slug = 'simulator-temnoho-neba';
|
|
5
5
|
const title = 'Симулятор темного неба (Шкала Бортля)';
|
|
6
6
|
const description = 'Интерактивная визуализация 9 уровней шкалы Бортля: узнайте, как световое загрязнение стирает звездное небо.';
|
|
7
7
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
|
|
2
2
|
import type { BortleVisualizerUI, BortleVisualizerLocaleContent } from '../index';
|
|
3
3
|
|
|
4
|
-
const slug = '
|
|
4
|
+
const slug = 'simulator-morka-himmel';
|
|
5
5
|
const title = 'Simulator för mörk himmel (Bortle skalan)';
|
|
6
6
|
const description = 'Visualisera interaktivt Bortle-skalans 9 nivåer och upptäck hur ljusföroreningar suddar ut den stjärnklara natthimlen.';
|
|
7
7
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
|
|
2
2
|
import type { BortleVisualizerUI, BortleVisualizerLocaleContent } from '../index';
|
|
3
3
|
|
|
4
|
-
const slug = '
|
|
4
|
+
const slug = 'karanlik-gok-simulatoru';
|
|
5
5
|
const title = 'Karanlık Gökyüzü Simülatörü (Bortle Ölçeği)';
|
|
6
6
|
const description = 'Bortle Ölçeği\'nin 9 seviyesini etkileşimli olarak görselleştirin ve ışık kirliliğinin yıldızlı gece gökyüzünü nasıl sildiğini keşfedin.';
|
|
7
7
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
|
|
2
2
|
import type { DeepSpaceScopeUI, DeepSpaceScopeLocaleContent } from '../index';
|
|
3
3
|
|
|
4
|
-
const slug = '
|
|
4
|
+
const slug = 'teleskop-reichweite';
|
|
5
5
|
const title = 'Teleskop Reichweitenrechner';
|
|
6
6
|
const description = 'Berechnen Sie die Grenzgröße Ihres Teleskops und entdecken Sie, welche Deep-Sky-Objekte mit Ihrer Ausrüstung unter Ihren Himmelsbedingungen sichtbar sind.';
|
|
7
7
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
|
|
2
2
|
import type { DeepSpaceScopeUI, DeepSpaceScopeLocaleContent } from '../index';
|
|
3
3
|
|
|
4
|
-
const slug = '
|
|
4
|
+
const slug = 'jangkauan-teleskop';
|
|
5
5
|
const title = 'Kalkulator Jangkauan Teleskop';
|
|
6
6
|
const description = 'Hitung magnitudo pembatas teleskop Anda dan temukan objek langit dalam mana yang terlihat dengan pelat peralatan Anda di bawah kondisi langit Anda.';
|
|
7
7
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
|
|
2
2
|
import type { DeepSpaceScopeUI, DeepSpaceScopeLocaleContent } from '../index';
|
|
3
3
|
|
|
4
|
-
const slug = '
|
|
4
|
+
const slug = 'portata-telescopica';
|
|
5
5
|
const title = 'Calcolatore di Portata del Telescopio';
|
|
6
6
|
const description = 'Calcola la magnitudine limite del tuo telescopio e scopri quali oggetti del cielo profondo sono visibili con la tua attrezzatura in base alle condizioni del cielo.';
|
|
7
7
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
|
|
2
2
|
import type { DeepSpaceScopeUI, DeepSpaceScopeLocaleContent } from '../index';
|
|
3
3
|
|
|
4
|
-
const slug = '
|
|
4
|
+
const slug = 'telescoopbereik';
|
|
5
5
|
const title = 'Telescoop Bereik Calculator';
|
|
6
6
|
const description = 'Bereken de grensmagnitude van je telescoop en ontdek welke deep-sky objecten zichtbaar zijn met jouw apparatuur onder jouw lokale omstandigheden.';
|
|
7
7
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
|
|
2
2
|
import type { DeepSpaceScopeUI, DeepSpaceScopeLocaleContent } from '../index';
|
|
3
3
|
|
|
4
|
-
const slug = '
|
|
4
|
+
const slug = 'zasieg-teleskopu';
|
|
5
5
|
const title = 'Kalkulator zasięgu teleskopu';
|
|
6
6
|
const description = 'Oblicz magnitudo graniczne swojego teleskopu i dowiedz się, jakie obiekty głębokiego nieba są widoczne przy użyciu Twojego sprzętu i warunków na niebie.';
|
|
7
7
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
|
|
2
2
|
import type { DeepSpaceScopeUI, DeepSpaceScopeLocaleContent } from '../index';
|
|
3
3
|
|
|
4
|
-
const slug = '
|
|
4
|
+
const slug = 'alcance-do-telescopio';
|
|
5
5
|
const title = 'Calculadora de Alcance do Telescópio';
|
|
6
6
|
const description = 'Calcule a magnitude limite do seu telescópio e descubra quais objetos do céu profundo são visíveis com o seu equipamento sob as condições do seu céu.';
|
|
7
7
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
|
|
2
2
|
import type { DeepSpaceScopeUI, DeepSpaceScopeLocaleContent } from '../index';
|
|
3
3
|
|
|
4
|
-
const slug = '
|
|
4
|
+
const slug = 'diapazonteleiskopa';
|
|
5
5
|
const title = 'Калькулятор возможностей телескопа';
|
|
6
6
|
const description = 'Рассчитайте предельную звездную величину вашего телескопа и узнайте, какие объекты глубокого космоса можно увидеть с вашим оборудованием в текущих условиях неба.';
|
|
7
7
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
|
|
2
2
|
import type { DeepSpaceScopeUI, DeepSpaceScopeLocaleContent } from '../index';
|
|
3
3
|
|
|
4
|
-
const slug = '
|
|
4
|
+
const slug = 'teleskopransch';
|
|
5
5
|
const title = 'Kalkylator för teleskopets räckvidd';
|
|
6
6
|
const description = 'Beräkna ditt teleskops gränsmagnitud och upptäck vilka deep sky-objekt som är synliga med din utrustning under dina lokala himmelsförhållanden.';
|
|
7
7
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
|
|
2
2
|
import type { DeepSpaceScopeUI, DeepSpaceScopeLocaleContent } from '../index';
|
|
3
3
|
|
|
4
|
-
const slug = '
|
|
4
|
+
const slug = 'teleskop-erisileri';
|
|
5
5
|
const title = 'Teleskop Menzil Hesaplayıcı';
|
|
6
6
|
const description = 'Teleskobunuzun sınır parlaklığını hesaplayın ve gökyüzü koşullarınız altında ekipmanınızla hangi derin uzay nesnelerinin görülebileceğini keşfedin.';
|
|
7
7
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
|
|
2
2
|
import type { StarExposureCalculatorUI, StarExposureCalculatorLocaleContent } from '../index';
|
|
3
3
|
|
|
4
|
-
const slug = '
|
|
4
|
+
const slug = '500er-regel-rechner';
|
|
5
5
|
const title = '500er Regel und NPF Rechner für die Astrofotografie';
|
|
6
6
|
const description = 'Berechnen Sie die maximale Belichtungszeit für die Astrofotografie ohne Strichspuren. Klassische 500er-Regel und hochpräzises NPF-Modell für moderne Sensoren.';
|
|
7
7
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
|
|
2
2
|
import type { StarExposureCalculatorUI, StarExposureCalculatorLocaleContent } from '../index';
|
|
3
3
|
|
|
4
|
-
const slug = '
|
|
4
|
+
const slug = 'kalkulator-aturan-500';
|
|
5
5
|
const title = 'Kalkulator Aturan 500 dan NPF untuk Astrofotografi';
|
|
6
6
|
const description = 'Hitung waktu eksposur maksimum untuk astrofotografi tanpa jejak bintang. Aturan klasik 500 dan model NPF presisi tinggi untuk sensor modern.';
|
|
7
7
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
|
|
2
2
|
import type { StarExposureCalculatorUI, StarExposureCalculatorLocaleContent } from '../index';
|
|
3
3
|
|
|
4
|
-
const slug = '
|
|
4
|
+
const slug = 'calcolatore-regola-500';
|
|
5
5
|
const title = 'Calcolatore Regola del 500 e NPF per Astrofotografia';
|
|
6
6
|
const description = 'Calcola il tempo di esposizione massimo per l\'astrofotografia senza tracce stellari. Regola classica del 500 e modello NPF ad alta precisione per sensori moderni.';
|
|
7
7
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
|
|
2
2
|
import type { StarExposureCalculatorUI, StarExposureCalculatorLocaleContent } from '../index';
|
|
3
3
|
|
|
4
|
-
const slug = '500-
|
|
4
|
+
const slug = 'rekenmachine-500-regel';
|
|
5
5
|
const title = '500 Regel en NPF Astrofotografie Calculator';
|
|
6
6
|
const description = 'Bereken de maximale belichtingstijd voor astrofotografie zonder stersporen. Klassieke 500-regel en precisie NPF-model voor moderne sensoren.';
|
|
7
7
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
|
|
2
2
|
import type { StarExposureCalculatorUI, StarExposureCalculatorLocaleContent } from '../index';
|
|
3
3
|
|
|
4
|
-
const slug = '
|
|
4
|
+
const slug = 'kalkulator-reguly-500';
|
|
5
5
|
const title = 'Kalkulator reguły 500 i NPF w astrofotografii';
|
|
6
6
|
const description = 'Oblicz maksymalny czas ekspozycji w astrofotografii bez efektu poruszonych gwiazd. Klasyczna reguła 500 oraz precyzyjny model NPF dla nowoczesnych matryc.';
|
|
7
7
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
|
|
2
2
|
import type { StarExposureCalculatorUI, StarExposureCalculatorLocaleContent } from '../index';
|
|
3
3
|
|
|
4
|
-
const slug = '
|
|
4
|
+
const slug = 'calculadora-regra-500';
|
|
5
5
|
const title = 'Calculadora da Regra dos 500 e NPF para Astrofotografia';
|
|
6
6
|
const description = 'Calcule o tempo de exposição máximo para astrofotografia sem rastos de estrelas. Regra clássica dos 500 e modelo NPF de alta precisão para sensores modernos.';
|
|
7
7
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
|
|
2
2
|
import type { StarExposureCalculatorUI, StarExposureCalculatorLocaleContent } from '../index';
|
|
3
3
|
|
|
4
|
-
const slug = '
|
|
4
|
+
const slug = 'kalkulyatorregregli500';
|
|
5
5
|
const title = 'Калькулятор правила 500 и NPF для астрофотографии';
|
|
6
6
|
const description = 'Рассчитайте максимальную выдержку для съемки звезд без смаза (треков). Классическое правило 500 и высокоточная модель NPF для современных камер.';
|
|
7
7
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
|
|
2
2
|
import type { StarExposureCalculatorUI, StarExposureCalculatorLocaleContent } from '../index';
|
|
3
3
|
|
|
4
|
-
const slug = '500-
|
|
4
|
+
const slug = 'minoraknare-500-regeln';
|
|
5
5
|
const title = 'Kalkylator för 500 regeln och NPF inom astrofotografering';
|
|
6
6
|
const description = 'Beräkna maximal exponeringstid för astrofotografering utan stjärnspår. Klassiska 500-regeln och den högprecisa NPF-modellen för moderna sensorer.';
|
|
7
7
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
|
|
2
2
|
import type { StarExposureCalculatorUI, StarExposureCalculatorLocaleContent } from '../index';
|
|
3
3
|
|
|
4
|
-
const slug = '500-
|
|
4
|
+
const slug = '500-kurali-hesaplayici';
|
|
5
5
|
const title = 'Astrofotoğrafçılık için 500 Kuralı ve NPF Hesaplayıcı';
|
|
6
6
|
const description = 'Yıldız izi olmadan astrofotoğrafçılık için maksimum pozlama süresini hesaplayın. Klasik 500 kuralı ve modern sensörler için yüksek hassasiyetli NPF modeli.';
|
|
7
7
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
|
|
2
2
|
import type { TelescopeResolutionUI, TelescopeResolutionLocaleContent } from '../index';
|
|
3
3
|
|
|
4
|
-
const slug = '
|
|
4
|
+
const slug = 'teleskop-aufloesungs-rechner';
|
|
5
5
|
const title = 'Teleskop Auflösungsrechner (Dawes Limit)';
|
|
6
6
|
const description = 'Berechnen Sie das Auflösungsvermögen Ihres Teleskops mit dem Dawes-Limit und dem Rayleigh-Kriterium. Entdecken Sie die maximale sinnvolle Vergrößerung und den Einfluss des atmosphärischen Seeings.';
|
|
7
7
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
|
|
2
2
|
import type { TelescopeResolutionUI, TelescopeResolutionLocaleContent } from '../index';
|
|
3
3
|
|
|
4
|
-
const slug = '
|
|
4
|
+
const slug = 'kalkulator-resolusi-teleskop';
|
|
5
5
|
const title = 'Kalkulator Resolusi Teleskop (Batas Dawes)';
|
|
6
6
|
const description = 'Hitung daya urai teleskop Anda dengan Batas Dawes dan Kriteria Rayleigh. Temukan pembesaran maksimum yang berguna dan dampak visual atmosfer (seeing).';
|
|
7
7
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
|
|
2
2
|
import type { TelescopeResolutionUI, TelescopeResolutionLocaleContent } from '../index';
|
|
3
3
|
|
|
4
|
-
const slug = '
|
|
4
|
+
const slug = 'calcolatore-risoluzione-telescopio';
|
|
5
5
|
const title = 'Calcolatore Risoluzione Telescopio (Limite di Dawes)';
|
|
6
6
|
const description = 'Calcola il potere risolutivo del tuo telescopio con il limite di Dawes e il criterio di Rayleigh. Scopri l\'ingrandimento massimo utile e l\'impatto del seeing atmosferico.';
|
|
7
7
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
|
|
2
2
|
import type { TelescopeResolutionUI, TelescopeResolutionLocaleContent } from '../index';
|
|
3
3
|
|
|
4
|
-
const slug = '
|
|
4
|
+
const slug = 'telescoopresolutierekenmachine';
|
|
5
5
|
const title = 'Telescoop Resolutie Calculator (Dawes Limiet)';
|
|
6
6
|
const description = 'Bereken het scheidend vermogen van uw telescoop met de Dawes-limiet en de Rayleigh-limiet. Ontdek de maximale nuttige vergroting en de impact van atmosferische seeing.';
|
|
7
7
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
|
|
2
2
|
import type { TelescopeResolutionUI, TelescopeResolutionLocaleContent } from '../index';
|
|
3
3
|
|
|
4
|
-
const slug = '
|
|
4
|
+
const slug = 'kalkulator-rozdzielczosci-teleskopu';
|
|
5
5
|
const title = 'Kalkulator zdolności rozdzielczej teleskopu (granica Dawesa)';
|
|
6
6
|
const description = 'Oblicz zdolność rozdzielczą swojego teleskopu za pomocą granicy Dawesa i kryterium Rayleigha. Sprawdź maksymalne użyteczne powiększenie i wpływ seeingu atmosferycznego.';
|
|
7
7
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
|
|
2
2
|
import type { TelescopeResolutionUI, TelescopeResolutionLocaleContent } from '../index';
|
|
3
3
|
|
|
4
|
-
const slug = '
|
|
4
|
+
const slug = 'calculadora-resolucao-telescopio';
|
|
5
5
|
const title = 'Calculadora de Resolução de Telescópio (Limite de Dawes)';
|
|
6
6
|
const description = 'Calcule o poder de resolução do seu telescópio com o limite de Dawes e o critério de Rayleigh. Descubra a ampliação máxima útil e o impacto do seeing atmosférico.';
|
|
7
7
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
|
|
2
2
|
import type { TelescopeResolutionUI, TelescopeResolutionLocaleContent } from '../index';
|
|
3
3
|
|
|
4
|
-
const slug = '
|
|
4
|
+
const slug = 'kalkulyatorrazresheniatelesikopa';
|
|
5
5
|
const title = 'Калькулятор разрешающей способности телескопа (предел Дауэса)';
|
|
6
6
|
const description = 'Рассчитайте разрешающую способность вашего телескопа по пределу Дауэса и критерию Рэлея. Узнайте максимальное полезное увеличение и влияние атмосферного сиинга.';
|
|
7
7
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
|
|
2
2
|
import type { TelescopeResolutionUI, TelescopeResolutionLocaleContent } from '../index';
|
|
3
3
|
|
|
4
|
-
const slug = '
|
|
4
|
+
const slug = 'teleskopupploslingsminraknare';
|
|
5
5
|
const title = 'Kalkylator för teleskopupplösning (Dawes gräns)';
|
|
6
6
|
const description = 'Beräkna ditt teleskops upplösningsförmåga med Dawes gräns och Rayleigh-kriteriet. Upptäck maximal användbar förstoring och inverkan av atmosfärisk seeing.';
|
|
7
7
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
|
|
2
2
|
import type { TelescopeResolutionUI, TelescopeResolutionLocaleContent } from '../index';
|
|
3
3
|
|
|
4
|
-
const slug = '
|
|
4
|
+
const slug = 'teleskop-cozunurluk-hesaplayici';
|
|
5
5
|
const title = 'Teleskop Çözünürlük Hesaplayıcı (Dawes Limiti)';
|
|
6
6
|
const description = 'Dawes Limiti ve Rayleigh Kriteri ile teleskobunuzun çözünürlük gücünü hesaplayın. Maksimum kullanışlı büyütmeyi ve atmosferik seeing etkisini keşfedin.';
|
|
7
7
|
|