@jjlmoya/utils-nautical 1.5.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 +72 -71
- package/src/tests/i18n_coverage.test.ts +36 -0
- package/src/tests/locale_completeness.test.ts +42 -0
- package/src/tests/no_h1_in_components.test.ts +48 -0
- package/src/tests/schemas_fulfillment.test.ts +23 -0
- package/src/tests/slug_uniqueness.test.ts +81 -0
- package/src/tests/title_quality.test.ts +55 -0
- package/src/tool/endurance/component.astro +340 -1
- package/src/tool/endurance/i18n/de.ts +249 -0
- package/src/tool/endurance/i18n/id.ts +249 -0
- package/src/tool/endurance/i18n/it.ts +249 -0
- package/src/tool/endurance/i18n/ja.ts +249 -0
- package/src/tool/endurance/i18n/ko.ts +249 -0
- package/src/tool/endurance/i18n/nl.ts +249 -0
- package/src/tool/endurance/i18n/pl.ts +249 -0
- package/src/tool/endurance/i18n/pt.ts +249 -0
- package/src/tool/endurance/i18n/ru.ts +249 -0
- package/src/tool/endurance/i18n/sv.ts +249 -0
- package/src/tool/endurance/i18n/tr.ts +249 -0
- package/src/tool/endurance/i18n/zh.ts +249 -0
- package/src/tool/endurance/index.ts +12 -0
- package/src/tool/nauticalConverter/component.astro +208 -1
- package/src/tool/nauticalConverter/i18n/de.ts +239 -0
- package/src/tool/nauticalConverter/i18n/id.ts +239 -0
- package/src/tool/nauticalConverter/i18n/it.ts +239 -0
- package/src/tool/nauticalConverter/i18n/ja.ts +239 -0
- package/src/tool/nauticalConverter/i18n/ko.ts +239 -0
- package/src/tool/nauticalConverter/i18n/nl.ts +239 -0
- package/src/tool/nauticalConverter/i18n/pl.ts +239 -0
- package/src/tool/nauticalConverter/i18n/pt.ts +239 -0
- package/src/tool/nauticalConverter/i18n/ru.ts +239 -0
- package/src/tool/nauticalConverter/i18n/sv.ts +239 -0
- package/src/tool/nauticalConverter/i18n/tr.ts +239 -0
- package/src/tool/nauticalConverter/i18n/zh.ts +239 -0
- package/src/tool/nauticalConverter/index.ts +12 -0
- package/src/tool/sailArea/component.astro +355 -2
- package/src/tool/sailArea/i18n/de.ts +275 -0
- package/src/tool/sailArea/i18n/id.ts +275 -0
- package/src/tool/sailArea/i18n/it.ts +275 -0
- package/src/tool/sailArea/i18n/ja.ts +275 -0
- package/src/tool/sailArea/i18n/ko.ts +275 -0
- package/src/tool/sailArea/i18n/nl.ts +275 -0
- package/src/tool/sailArea/i18n/pl.ts +275 -0
- package/src/tool/sailArea/i18n/pt.ts +275 -0
- package/src/tool/sailArea/i18n/ru.ts +275 -0
- package/src/tool/sailArea/i18n/sv.ts +275 -0
- package/src/tool/sailArea/i18n/tr.ts +275 -0
- package/src/tool/sailArea/i18n/zh.ts +275 -0
- package/src/tool/sailArea/index.ts +12 -0
- package/src/tool/speedConverter/component.astro +242 -1
- package/src/tool/speedConverter/i18n/de.ts +271 -0
- package/src/tool/speedConverter/i18n/id.ts +271 -0
- package/src/tool/speedConverter/i18n/it.ts +271 -0
- package/src/tool/speedConverter/i18n/ja.ts +271 -0
- package/src/tool/speedConverter/i18n/ko.ts +271 -0
- package/src/tool/speedConverter/i18n/nl.ts +271 -0
- package/src/tool/speedConverter/i18n/pl.ts +271 -0
- package/src/tool/speedConverter/i18n/pt.ts +271 -0
- package/src/tool/speedConverter/i18n/ru.ts +194 -0
- package/src/tool/speedConverter/i18n/sv.ts +271 -0
- package/src/tool/speedConverter/i18n/tr.ts +225 -0
- package/src/tool/speedConverter/i18n/zh.ts +271 -0
- package/src/tool/speedConverter/index.ts +12 -0
- package/src/tool/tideCalculator/component.astro +313 -1
- package/src/tool/tideCalculator/i18n/de.ts +203 -0
- package/src/tool/tideCalculator/i18n/id.ts +203 -0
- package/src/tool/tideCalculator/i18n/it.ts +203 -0
- package/src/tool/tideCalculator/i18n/ja.ts +203 -0
- package/src/tool/tideCalculator/i18n/ko.ts +203 -0
- package/src/tool/tideCalculator/i18n/nl.ts +203 -0
- package/src/tool/tideCalculator/i18n/pl.ts +203 -0
- package/src/tool/tideCalculator/i18n/pt.ts +203 -0
- package/src/tool/tideCalculator/i18n/ru.ts +203 -0
- package/src/tool/tideCalculator/i18n/sv.ts +203 -0
- package/src/tool/tideCalculator/i18n/tr.ts +203 -0
- package/src/tool/tideCalculator/i18n/zh.ts +203 -0
- package/src/tool/tideCalculator/index.ts +12 -0
- package/src/tool/underKeel/component.astro +321 -1
- package/src/tool/underKeel/i18n/de.ts +189 -0
- package/src/tool/underKeel/i18n/en.ts +2 -2
- package/src/tool/underKeel/i18n/fr.ts +2 -2
- package/src/tool/underKeel/i18n/id.ts +189 -0
- package/src/tool/underKeel/i18n/it.ts +176 -0
- package/src/tool/underKeel/i18n/ja.ts +185 -0
- package/src/tool/underKeel/i18n/ko.ts +185 -0
- package/src/tool/underKeel/i18n/nl.ts +176 -0
- package/src/tool/underKeel/i18n/pl.ts +176 -0
- package/src/tool/underKeel/i18n/pt.ts +176 -0
- package/src/tool/underKeel/i18n/ru.ts +176 -0
- package/src/tool/underKeel/i18n/sv.ts +176 -0
- package/src/tool/underKeel/i18n/tr.ts +185 -0
- package/src/tool/underKeel/i18n/zh.ts +185 -0
- package/src/tool/underKeel/index.ts +12 -0
- package/src/tool/endurance/style.css +0 -337
- package/src/tool/nauticalConverter/style.css +0 -205
- package/src/tool/sailArea/style.css +0 -351
- package/src/tool/speedConverter/style.css +0 -239
- package/src/tool/tideCalculator/style.css +0 -310
- package/src/tool/underKeel/style.css +0 -318
|
@@ -0,0 +1,203 @@
|
|
|
1
|
+
import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
|
|
2
|
+
import type { TideCalculatorUI, TideCalculatorLocaleContent } from '../index';
|
|
3
|
+
|
|
4
|
+
const slug = 'gelgit-hesaplayici-tr';
|
|
5
|
+
const title = 'Gelgit Yüksekliği Hesaplayıcı';
|
|
6
|
+
const description =
|
|
7
|
+
'Nautik "On İkide Bir" (Rule of Twelfths) kuralını kullanarak gelgit döngüsünün herhangi bir noktasındaki su derinliğini tahmin edin. Kıyı planlaması ve amatör denizci belgesi çalışmaları için idealdir.';
|
|
8
|
+
|
|
9
|
+
const ui: TideCalculatorUI = {
|
|
10
|
+
parametersLabel: 'Parametreler',
|
|
11
|
+
highTideLabel: 'Tam Deniz (Yüksek Gel)',
|
|
12
|
+
lowTideLabel: 'Alçak Deniz (Düşük Gel)',
|
|
13
|
+
targetTimeLabel: 'Sorgu zamanı',
|
|
14
|
+
estimatedHeightLabel: 'Tahmini Yükseklik',
|
|
15
|
+
metersLabel: 'metre',
|
|
16
|
+
amplitudeLabel: 'Genlik (Amplitüd)',
|
|
17
|
+
durationLabel: 'Süre',
|
|
18
|
+
tableBreakdownLabel: 'On İkide Bir Dağılımı',
|
|
19
|
+
tableHourLabel: 'Zaman',
|
|
20
|
+
tableStateLabel: 'Durum',
|
|
21
|
+
tableStartLabel: 'Başlangıç',
|
|
22
|
+
tableEndLabel: 'Bitiş',
|
|
23
|
+
statusUpLabel: 'Yükseliyor',
|
|
24
|
+
statusDownLabel: 'Alçalıyor',
|
|
25
|
+
statusOutOfRange: 'Aralık dışı',
|
|
26
|
+
faqTitle: 'Sıkça Sorulan Sorular',
|
|
27
|
+
bibliographyTitle: 'Kaynakça',
|
|
28
|
+
};
|
|
29
|
+
|
|
30
|
+
const faq: TideCalculatorLocaleContent['faq'] = [
|
|
31
|
+
{
|
|
32
|
+
question: 'On İkide Bir Kuralı nedir ve ne için kullanılır?',
|
|
33
|
+
answer:
|
|
34
|
+
'On İkide Bir Kuralı, tam deniz ve alçak deniz arasındaki herhangi bir noktada gelgit yüksekliğini tahmin etmek için navigasyonda kullanılan basitleştirilmiş bir matematiksel yöntemdir. Gelgit akışının yaklaşık bir sinüzoidal eğriyi takip ettiği gözlemi temel alınarak, toplam genlik 6 saatlik bir süre boyunca 12 parçaya bölünür (1/12, 2/12, 3/12, 3/12, 2/12, 1/12).',
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
question: 'Bu yöntem gerçek navigasyon için güvenilir midir?',
|
|
38
|
+
answer:
|
|
39
|
+
'Hızlı planlama ve eğitim amaçları için çok yararlı bir teorik tahmin yöntemidir. Ancak, hava basıncı veya rüzgar gibi deniz seviyesini birkaç desimetre değiştirebilen meteorolojik faktörleri hesaba katmaz. Gerçek navigasyon için daima resmi gelgit tablolarına başvurun.',
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
question: 'Gelgit yüksekliğini hesaplamak için hangi verilere ihtiyacım var?',
|
|
43
|
+
answer:
|
|
44
|
+
'Sorgulamak istediğiniz ana en yakın tam deniz ve alçak denizin zamanına ve yüksekliğine (metre cinsinden) ihtiyacınız vardır. Bu veriler gelgit almanaklarında veya marin hava durumu uygulamalarında bulunur.',
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
question: 'Gelgit neden her zaman aynı hızda yükselmez?',
|
|
48
|
+
answer:
|
|
49
|
+
'Büyük su kütlelerinin eylemsizliği ve okyanus havzalarının konfigürasyonu nedeniyle. Gelgit, alçak denizden sonra yavaşça yükselmeye başlar, orta saatlerde (3/12 ve 4/12 saatleri) maksimum hıza ulaşır ve tam denize yaklaştıkça tekrar yavaşlar.',
|
|
50
|
+
},
|
|
51
|
+
{
|
|
52
|
+
question: 'Atmosfer basıncı gelgiti nasıl etkiler?',
|
|
53
|
+
answer:
|
|
54
|
+
'Yüksek basınç (antisiklon) suyu aşağı iterek gerçek yüksekliği azaltır. Alçak basınç (depresyon) suyun daha fazla yükselmesine izin verir. Genel bir kural olarak, ortalamadan 1 hPa\'lık bir sapma, deniz seviyesinde yaklaşık 1 cm\'lik bir değişime karşılık gelir.',
|
|
55
|
+
},
|
|
56
|
+
{
|
|
57
|
+
question: 'Gelgit genliği (tidal range) nedir?',
|
|
58
|
+
answer:
|
|
59
|
+
'Bir tam deniz ile hemen öncesindeki veya sonrasındaki alçak deniz arasındaki dikey yükseklik farkıdır. Bu ölçüm ayın evrelerine (syzygy - ilk dördün/son dördün) ve coğrafi konuma göre değişir.',
|
|
60
|
+
},
|
|
61
|
+
];
|
|
62
|
+
|
|
63
|
+
const howTo: TideCalculatorLocaleContent['howTo'] = [
|
|
64
|
+
{
|
|
65
|
+
name: 'Tam deniz ve alçak denizi belirleyin',
|
|
66
|
+
text: 'İlgilendiğiniz gelgit döngüsü için zaman ve yükseklik bilgilerini almak üzere gelgit almanağınıza başvurun.',
|
|
67
|
+
},
|
|
68
|
+
{
|
|
69
|
+
name: 'Verileri hesaplayıcıya girin',
|
|
70
|
+
text: 'Tam deniz ve alçak deniz zamanını ve yüksekliğini girin. Araç, süreyi ve genliği otomatik olarak belirleyecektir.',
|
|
71
|
+
},
|
|
72
|
+
{
|
|
73
|
+
name: 'Sorgu zamanını ayarlayın',
|
|
74
|
+
text: 'Su seviyesini bilmek istediğiniz zamanı ayarlayın. Grafikte vurgulanan tam noktayı göreceksiniz.',
|
|
75
|
+
},
|
|
76
|
+
{
|
|
77
|
+
name: 'On ikide bir tablosunu analiz edin',
|
|
78
|
+
text: 'Su seviyesinin tüm dönem boyunca nasıl dalgalanacağını anlamak için saat bazlı dağılımı inceleyin.',
|
|
79
|
+
},
|
|
80
|
+
];
|
|
81
|
+
|
|
82
|
+
const bibliography: TideCalculatorLocaleContent['bibliography'] = [
|
|
83
|
+
{
|
|
84
|
+
name: 'Puertos del Estado - Tide Prediction',
|
|
85
|
+
url: 'https://portus.puertos.es/#/',
|
|
86
|
+
},
|
|
87
|
+
{
|
|
88
|
+
name: 'Instituto Hidrografico de la Marina',
|
|
89
|
+
url: 'https://armada.defensa.gob.es/ihm/',
|
|
90
|
+
},
|
|
91
|
+
];
|
|
92
|
+
|
|
93
|
+
const seo: TideCalculatorLocaleContent['seo'] = [
|
|
94
|
+
{
|
|
95
|
+
type: 'title',
|
|
96
|
+
text: 'Gelgitte Uzmanlaşmak: Navigasyonda On İkide Bir Kuralı',
|
|
97
|
+
level: 2,
|
|
98
|
+
},
|
|
99
|
+
{
|
|
100
|
+
type: 'paragraph',
|
|
101
|
+
html: 'Kıyı navigasyonu ve sınırlı derinliğe sahip limanlara giriş, her an su derinliği hakkında kesin bilgi gerektirir. Günümüzde gerçek zamanlı veri sağlayan dijital uygulamalar ve GPS mevcut olsa da, <strong>On İkide Bir Kuralı</strong> her türlü tekne kaptanı eğitiminde temel bir araç olmaya devam etmektedir. Bu kural, karmaşık hesap makineleri olmadan bir gelgit döngüsünün herhangi bir noktasında gelgit yüksekliğini yaklaşık olarak hesaplamanıza olanak tanıyan matematiksel bir tahmin yöntemidir.',
|
|
102
|
+
},
|
|
103
|
+
{
|
|
104
|
+
type: 'title',
|
|
105
|
+
text: 'On İkide Bir Kuralı tam olarak nedir?',
|
|
106
|
+
level: 3,
|
|
107
|
+
},
|
|
108
|
+
{
|
|
109
|
+
type: 'paragraph',
|
|
110
|
+
html: 'On İkide Bir Kuralı, gelgit akışının sabit olmadığı gözlemine dayanır. Su, tam deniz ile alçak deniz arasındaki yaklaşık altı saat boyunca aynı hızda yükselmez veya alçalmaz. Bunun yerine, hareket sinüzoidal bir eğriyi takip eder. İlk saat boyunca gelgit yavaş hareket eder; orta saatlerde hızlanır ve bir sonraki uç noktaya yaklaştıkça tekrar yavaşlar.',
|
|
111
|
+
},
|
|
112
|
+
{
|
|
113
|
+
type: 'table',
|
|
114
|
+
headers: ['Döngü Saati', 'Oran', 'Akış Durumu'],
|
|
115
|
+
rows: [
|
|
116
|
+
['<strong>1. Saat</strong>', 'Genliğin 1/12\'si', 'Yavaş başlangıç (Durgun su başı)'],
|
|
117
|
+
['<strong>2. Saat</strong>', 'Genliğin 2/12\'si', 'Hızlanan akış'],
|
|
118
|
+
['<strong>3. Saat</strong>', 'Genliğin 3/12\'si', 'Maksimum akış (Güçlü akıntı)'],
|
|
119
|
+
['<strong>4. Saat</strong>', 'Genliğin 3/12\'si', 'Sürekli akış'],
|
|
120
|
+
['<strong>5. Saat</strong>', 'Genliğin 2/12\'si', 'Belirgin yavaşlama'],
|
|
121
|
+
['<strong>6. Saat</strong>', 'Genliğin 1/12\'si', 'Son yavaşlama (Durgun suya doğru)'],
|
|
122
|
+
],
|
|
123
|
+
},
|
|
124
|
+
{
|
|
125
|
+
type: 'title',
|
|
126
|
+
text: 'Teknik sınırlamalar: Gerçek gelgiti etkileyen faktörler',
|
|
127
|
+
level: 3,
|
|
128
|
+
},
|
|
129
|
+
{
|
|
130
|
+
type: 'glossary',
|
|
131
|
+
items: [
|
|
132
|
+
{ term: 'Atmosfer basıncı', definition: 'Alçak basınç deniz seviyesini yükseltir; yüksek basınç ise düşürür. Genel kural olarak, ortalamadan her 1 hPa\'lık fark için ~1 cm değişim olur.' },
|
|
133
|
+
{ term: 'Kıyı rüzgarı', definition: 'Karaya doğru esen sürekli rüzgarlar, suyu gelgit tablolarında tahmin edilen seviyelerin üzerine yığabilir.' },
|
|
134
|
+
{ term: 'Yerel topografya', definition: 'Kıyı şekli, deniz tabanı derinliği ve nehir ağızlarının varlığı gelgit akışını önemli ölçüde geciktirebilir veya hızlandırabilir.' },
|
|
135
|
+
],
|
|
136
|
+
},
|
|
137
|
+
{
|
|
138
|
+
type: 'tip',
|
|
139
|
+
title: 'Güvenlik Notu',
|
|
140
|
+
html: 'Bu araç matematiksel bir tahmin yöntemi kullanmaktadır. Meteorolojik faktörleri veya yerel topografyayı hesaba katmaz. Gerçek navigasyon için daima resmi gelgit tablolarına başvurun.',
|
|
141
|
+
},
|
|
142
|
+
{
|
|
143
|
+
type: 'title',
|
|
144
|
+
text: 'Yeni denizciler için temel kavramlar',
|
|
145
|
+
level: 3,
|
|
146
|
+
},
|
|
147
|
+
{
|
|
148
|
+
type: 'glossary',
|
|
149
|
+
items: [
|
|
150
|
+
{
|
|
151
|
+
term: 'Gelgit genliği',
|
|
152
|
+
definition: 'Tam deniz ile alçak deniz arasındaki dikey fark. Bazı bölgelerde birkaç metre olabilir; Akdeniz\'de ise neredeyse ihmal edilebilir düzeydedir.',
|
|
153
|
+
},
|
|
154
|
+
{
|
|
155
|
+
term: 'Gelgit süresi',
|
|
156
|
+
definition: 'Bir tam deniz ile bir sonraki alçak deniz arasındaki zaman aralığı. Tipik olarak yaklaşık 6 saat 12 dakikadır.',
|
|
157
|
+
},
|
|
158
|
+
{
|
|
159
|
+
term: 'Harita düzlemi (Chart datum)',
|
|
160
|
+
definition: 'Deniz haritalarındaki tüm derinliklerin ölçüldüğü referans seviyesidir. Gerçek derinlikler neredeyse hiçbir zaman belirtilenlerden daha az değildir.',
|
|
161
|
+
},
|
|
162
|
+
],
|
|
163
|
+
},
|
|
164
|
+
];
|
|
165
|
+
|
|
166
|
+
const schemas: TideCalculatorLocaleContent['schemas'] = [
|
|
167
|
+
{
|
|
168
|
+
'@context': 'https://schema.org',
|
|
169
|
+
'@type': 'SoftwareApplication',
|
|
170
|
+
name: title,
|
|
171
|
+
description,
|
|
172
|
+
applicationCategory: 'UtilityApplication',
|
|
173
|
+
operatingSystem: 'Web',
|
|
174
|
+
offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
|
|
175
|
+
} as WithContext<SoftwareApplication>,
|
|
176
|
+
{
|
|
177
|
+
'@context': 'https://schema.org',
|
|
178
|
+
'@type': 'FAQPage',
|
|
179
|
+
mainEntity: faq.map((item) => ({
|
|
180
|
+
'@type': 'Question',
|
|
181
|
+
name: item.question,
|
|
182
|
+
acceptedAnswer: { '@type': 'Answer', text: item.answer },
|
|
183
|
+
})),
|
|
184
|
+
} as WithContext<FAQPage>,
|
|
185
|
+
{
|
|
186
|
+
'@context': 'https://schema.org',
|
|
187
|
+
'@type': 'HowTo',
|
|
188
|
+
name: `Nasıl kullanılır: ${title}`,
|
|
189
|
+
step: howTo.map((s) => ({ '@type': 'HowToStep', name: s.name, text: s.text })),
|
|
190
|
+
} as WithContext<HowTo>,
|
|
191
|
+
];
|
|
192
|
+
|
|
193
|
+
export const content: TideCalculatorLocaleContent = {
|
|
194
|
+
slug,
|
|
195
|
+
title,
|
|
196
|
+
description,
|
|
197
|
+
ui,
|
|
198
|
+
seo,
|
|
199
|
+
faq,
|
|
200
|
+
bibliography,
|
|
201
|
+
howTo,
|
|
202
|
+
schemas,
|
|
203
|
+
};
|
|
@@ -0,0 +1,203 @@
|
|
|
1
|
+
import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
|
|
2
|
+
import type { TideCalculatorUI, TideCalculatorLocaleContent } from '../index';
|
|
3
|
+
|
|
4
|
+
const slug = 'tide-height-calculator';
|
|
5
|
+
const title = '潮汐高度计算器';
|
|
6
|
+
const description =
|
|
7
|
+
'使用航海“十二分之一法则”估算潮汐周期中任意点的水深。是海岸规划和航海执照学习的理想工具。';
|
|
8
|
+
|
|
9
|
+
const ui: TideCalculatorUI = {
|
|
10
|
+
parametersLabel: '参数',
|
|
11
|
+
highTideLabel: '高潮',
|
|
12
|
+
lowTideLabel: '低潮',
|
|
13
|
+
targetTimeLabel: '查询时间',
|
|
14
|
+
estimatedHeightLabel: '估算高度',
|
|
15
|
+
metersLabel: '米',
|
|
16
|
+
amplitudeLabel: '潮差',
|
|
17
|
+
durationLabel: '持续时间',
|
|
18
|
+
tableBreakdownLabel: '十二分之一法则详解',
|
|
19
|
+
tableHourLabel: '时间',
|
|
20
|
+
tableStateLabel: '状态',
|
|
21
|
+
tableStartLabel: '开始',
|
|
22
|
+
tableEndLabel: '结束',
|
|
23
|
+
statusUpLabel: '上涨',
|
|
24
|
+
statusDownLabel: '下降',
|
|
25
|
+
statusOutOfRange: '超出范围',
|
|
26
|
+
faqTitle: '常见问题',
|
|
27
|
+
bibliographyTitle: '参考文献统计',
|
|
28
|
+
};
|
|
29
|
+
|
|
30
|
+
const faq: TideCalculatorLocaleContent['faq'] = [
|
|
31
|
+
{
|
|
32
|
+
question: '什么是十二分之一法则(Rule of Twelfths),它有什么用途?',
|
|
33
|
+
answer:
|
|
34
|
+
'十二分之一法则是航海中常用的一种简化的数学方法,用于估算满潮和干潮之间任意时间点的潮水高度。它基于潮汐流近似遵循正弦曲线的观察,将 6 小时的总潮差分为 12 份(1/12, 2/12, 3/12, 3/12, 2/12, 1/12)。',
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
question: '这种方法在实际航行中可靠吗?',
|
|
38
|
+
answer:
|
|
39
|
+
'这是一种非常实用的理论估算方法,适用于快速规划和教学目的。然而,它不考虑大气压力或风等气象因素,这些因素可能会改变海平面数分米。对于实际航行,请始终参考官方潮汐表。',
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
question: '计算潮汐高度需要哪些数据?',
|
|
43
|
+
answer:
|
|
44
|
+
'您需要离您查询时刻最近的高潮和低潮的时间及高度(以米为单位)。这些数据可以在潮汐年鉴或海洋天气应用程序中找到。',
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
question: '为什么潮汐并不总是以恒定的速度上涨?',
|
|
48
|
+
answer:
|
|
49
|
+
'这是由于巨大水体的惯性和海洋盆地的构造。潮汐在低潮后开始缓慢上升,在中间小时(第 3 和第 4 个 1/12 小时)达到最大速度,并在接近高潮时再次放缓。',
|
|
50
|
+
},
|
|
51
|
+
{
|
|
52
|
+
question: '大气压力如何影响潮汐?',
|
|
53
|
+
answer:
|
|
54
|
+
'高压(反气旋)将水向下推,降低实际高度。低压(气旋)则允许海水上升得更高。作为一般规则,气压相对于平均值变化 1 hPa,对应海平面约 1 cm 的变化。',
|
|
55
|
+
},
|
|
56
|
+
{
|
|
57
|
+
question: '什么是潮差(tidal range)?',
|
|
58
|
+
answer:
|
|
59
|
+
'它是高潮与紧接其前后的低潮之间的垂直高度差。该测量值会根据月相(大潮和小潮)以及地理位置而变化。',
|
|
60
|
+
},
|
|
61
|
+
];
|
|
62
|
+
|
|
63
|
+
const howTo: TideCalculatorLocaleContent['howTo'] = [
|
|
64
|
+
{
|
|
65
|
+
name: '识别高潮和低潮',
|
|
66
|
+
text: '查阅您的潮汐年鉴,获取您感兴趣的潮汐周期的时刻和高度。',
|
|
67
|
+
},
|
|
68
|
+
{
|
|
69
|
+
name: '在计算器中输入数据',
|
|
70
|
+
text: '输入高潮和低潮的时间和高度。工具将自动确定持续时间和潮差。',
|
|
71
|
+
},
|
|
72
|
+
{
|
|
73
|
+
name: '设置查询时间',
|
|
74
|
+
text: '调整您想要了解水位的时间。您将在图表上看到突出显示的准确点。',
|
|
75
|
+
},
|
|
76
|
+
{
|
|
77
|
+
name: '分析十二分之一法则表格',
|
|
78
|
+
text: '查看逐小时详解,以了解水位在整个期间内将如何波动。',
|
|
79
|
+
},
|
|
80
|
+
];
|
|
81
|
+
|
|
82
|
+
const bibliography: TideCalculatorLocaleContent['bibliography'] = [
|
|
83
|
+
{
|
|
84
|
+
name: 'Puertos del Estado - Tide Prediction',
|
|
85
|
+
url: 'https://portus.puertos.es/#/',
|
|
86
|
+
},
|
|
87
|
+
{
|
|
88
|
+
name: 'Instituto Hidrografico de la Marina',
|
|
89
|
+
url: 'https://armada.defensa.gob.es/ihm/',
|
|
90
|
+
},
|
|
91
|
+
];
|
|
92
|
+
|
|
93
|
+
const seo: TideCalculatorLocaleContent['seo'] = [
|
|
94
|
+
{
|
|
95
|
+
type: 'title',
|
|
96
|
+
text: '掌握潮汐:航海中的十二分之一法则',
|
|
97
|
+
level: 2,
|
|
98
|
+
},
|
|
99
|
+
{
|
|
100
|
+
type: 'paragraph',
|
|
101
|
+
html: '沿岸航行和进入水深有限的港口需要随时准确了解水深。虽然现在已有提供实时数据的数字应用程序和 GPS,但<strong>十二分之一法则</strong>仍然是任何业余或专业航海人员培训中的基础工具。这一法则是数学估算方法,让您无需复杂计算器即可近似计算潮汐周期中任意点的潮汐高度。',
|
|
102
|
+
},
|
|
103
|
+
{
|
|
104
|
+
type: 'title',
|
|
105
|
+
text: '究竟什么是十二分之一法则?',
|
|
106
|
+
level: 3,
|
|
107
|
+
},
|
|
108
|
+
{
|
|
109
|
+
type: 'paragraph',
|
|
110
|
+
html: '十二分之一法则是基于潮汐流非恒定的观察。在满潮和干潮之间的约六小时内,水位的上涨或下降速度并不一致。相反,其运动遵循正弦曲线。在第一个小时内潮汐移动缓慢;在中间小时内加速,并在接近下一个极端点时再次放缓。',
|
|
111
|
+
},
|
|
112
|
+
{
|
|
113
|
+
type: 'table',
|
|
114
|
+
headers: ['周期小时', '比例', '流动态征'],
|
|
115
|
+
rows: [
|
|
116
|
+
['<strong>第 1 小时</strong>', '潮差的 1/12', '缓慢开始(平潮期)'],
|
|
117
|
+
['<strong>第 2 小时</strong>', '潮差的 2/12', '流速加快'],
|
|
118
|
+
['<strong>第 3 小时</strong>', '潮差 of 3/12', '最大流速(强潮汐)'],
|
|
119
|
+
['<strong>第 4 小时</strong>', '潮差 of 3/12', '持续流速'],
|
|
120
|
+
['<strong>第 5 小时</strong>', '潮差的 2/12', '显著减速'],
|
|
121
|
+
['<strong>第 6 小时</strong>', '潮差的 1/12', '最后放缓(趋向平潮)'],
|
|
122
|
+
],
|
|
123
|
+
},
|
|
124
|
+
{
|
|
125
|
+
type: 'title',
|
|
126
|
+
text: '技术限制:影响实际潮汐的因素',
|
|
127
|
+
level: 3,
|
|
128
|
+
},
|
|
129
|
+
{
|
|
130
|
+
type: 'glossary',
|
|
131
|
+
items: [
|
|
132
|
+
{ term: '大气压力', definition: '低压使海平面升高;高压使其降低。一般规则是,气压相对于平均值每变化 1 hPa,海平面变动约 1 cm。' },
|
|
133
|
+
{ term: '沿岸风', definition: '持续的向岸风会将海水推高,超过潮汐表预测的水平。' },
|
|
134
|
+
{ term: '局部地形', definition: '海岸形状、海床深度以及河口的存在会显著延迟或加速潮汐流。' },
|
|
135
|
+
],
|
|
136
|
+
},
|
|
137
|
+
{
|
|
138
|
+
type: 'tip',
|
|
139
|
+
title: '安全提示',
|
|
140
|
+
html: '本工具使用数学估算方法。它不考虑气象因素或局部地形。对于实际航行,请始终参考官方潮汐表。',
|
|
141
|
+
},
|
|
142
|
+
{
|
|
143
|
+
type: 'title',
|
|
144
|
+
text: '新手海员的关键概念',
|
|
145
|
+
level: 3,
|
|
146
|
+
},
|
|
147
|
+
{
|
|
148
|
+
type: 'glossary',
|
|
149
|
+
items: [
|
|
150
|
+
{
|
|
151
|
+
term: '潮差 (Tidal range)',
|
|
152
|
+
definition: '高潮与低潮之间的垂直高度差。在某些海湾可达数米;在地中海则几乎可以忽略不计。',
|
|
153
|
+
},
|
|
154
|
+
{
|
|
155
|
+
term: '潮汐持续时间',
|
|
156
|
+
definition: '高潮与下一次低潮之间的时间间隔。通常约为 6 小时 12 分钟(半日潮周期)。',
|
|
157
|
+
},
|
|
158
|
+
{
|
|
159
|
+
term: '海图基准面 (Chart datum)',
|
|
160
|
+
definition: '测量航海图上所有深度的参考基准。实际水深几乎从不低于所示水深。',
|
|
161
|
+
},
|
|
162
|
+
],
|
|
163
|
+
},
|
|
164
|
+
];
|
|
165
|
+
|
|
166
|
+
const schemas: TideCalculatorLocaleContent['schemas'] = [
|
|
167
|
+
{
|
|
168
|
+
'@context': 'https://schema.org',
|
|
169
|
+
'@type': 'SoftwareApplication',
|
|
170
|
+
name: title,
|
|
171
|
+
description,
|
|
172
|
+
applicationCategory: 'UtilityApplication',
|
|
173
|
+
operatingSystem: 'Web',
|
|
174
|
+
offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
|
|
175
|
+
} as WithContext<SoftwareApplication>,
|
|
176
|
+
{
|
|
177
|
+
'@context': 'https://schema.org',
|
|
178
|
+
'@type': 'FAQPage',
|
|
179
|
+
mainEntity: faq.map((item) => ({
|
|
180
|
+
'@type': 'Question',
|
|
181
|
+
name: item.question,
|
|
182
|
+
acceptedAnswer: { '@type': 'Answer', text: item.answer },
|
|
183
|
+
})),
|
|
184
|
+
} as WithContext<FAQPage>,
|
|
185
|
+
{
|
|
186
|
+
'@context': 'https://schema.org',
|
|
187
|
+
'@type': 'HowTo',
|
|
188
|
+
name: `使用方法: ${title}`,
|
|
189
|
+
step: howTo.map((s) => ({ '@type': 'HowToStep', name: s.name, text: s.text })),
|
|
190
|
+
} as WithContext<HowTo>,
|
|
191
|
+
];
|
|
192
|
+
|
|
193
|
+
export const content: TideCalculatorLocaleContent = {
|
|
194
|
+
slug,
|
|
195
|
+
title,
|
|
196
|
+
description,
|
|
197
|
+
ui,
|
|
198
|
+
seo,
|
|
199
|
+
faq,
|
|
200
|
+
bibliography,
|
|
201
|
+
howTo,
|
|
202
|
+
schemas,
|
|
203
|
+
};
|
|
@@ -37,6 +37,18 @@ export const tideCalculator: NauticalToolEntry<TideCalculatorUI> = {
|
|
|
37
37
|
es: () => import('./i18n/es').then((m) => m.content),
|
|
38
38
|
en: () => import('./i18n/en').then((m) => m.content),
|
|
39
39
|
fr: () => import('./i18n/fr').then((m) => m.content),
|
|
40
|
+
de: () => import('./i18n/de').then((m) => m.content),
|
|
41
|
+
id: () => import('./i18n/id').then((m) => m.content),
|
|
42
|
+
it: () => import('./i18n/it').then((m) => m.content),
|
|
43
|
+
ja: () => import('./i18n/ja').then((m) => m.content),
|
|
44
|
+
ko: () => import('./i18n/ko').then((m) => m.content),
|
|
45
|
+
nl: () => import('./i18n/nl').then((m) => m.content),
|
|
46
|
+
pl: () => import('./i18n/pl').then((m) => m.content),
|
|
47
|
+
pt: () => import('./i18n/pt').then((m) => m.content),
|
|
48
|
+
ru: () => import('./i18n/ru').then((m) => m.content),
|
|
49
|
+
sv: () => import('./i18n/sv').then((m) => m.content),
|
|
50
|
+
tr: () => import('./i18n/tr').then((m) => m.content),
|
|
51
|
+
zh: () => import('./i18n/zh').then((m) => m.content),
|
|
40
52
|
},
|
|
41
53
|
};
|
|
42
54
|
|