@jjlmoya/utils-nautical 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.
Files changed (88) hide show
  1. package/package.json +72 -71
  2. package/src/tests/i18n_coverage.test.ts +36 -0
  3. package/src/tests/locale_completeness.test.ts +42 -0
  4. package/src/tests/no_h1_in_components.test.ts +48 -0
  5. package/src/tests/schemas_fulfillment.test.ts +23 -0
  6. package/src/tests/slug_uniqueness.test.ts +81 -0
  7. package/src/tests/title_quality.test.ts +55 -0
  8. package/src/tool/endurance/i18n/de.ts +249 -0
  9. package/src/tool/endurance/i18n/id.ts +249 -0
  10. package/src/tool/endurance/i18n/it.ts +249 -0
  11. package/src/tool/endurance/i18n/ja.ts +249 -0
  12. package/src/tool/endurance/i18n/ko.ts +249 -0
  13. package/src/tool/endurance/i18n/nl.ts +249 -0
  14. package/src/tool/endurance/i18n/pl.ts +249 -0
  15. package/src/tool/endurance/i18n/pt.ts +249 -0
  16. package/src/tool/endurance/i18n/ru.ts +249 -0
  17. package/src/tool/endurance/i18n/sv.ts +249 -0
  18. package/src/tool/endurance/i18n/tr.ts +249 -0
  19. package/src/tool/endurance/i18n/zh.ts +249 -0
  20. package/src/tool/endurance/index.ts +12 -0
  21. package/src/tool/nauticalConverter/i18n/de.ts +239 -0
  22. package/src/tool/nauticalConverter/i18n/id.ts +239 -0
  23. package/src/tool/nauticalConverter/i18n/it.ts +239 -0
  24. package/src/tool/nauticalConverter/i18n/ja.ts +239 -0
  25. package/src/tool/nauticalConverter/i18n/ko.ts +239 -0
  26. package/src/tool/nauticalConverter/i18n/nl.ts +239 -0
  27. package/src/tool/nauticalConverter/i18n/pl.ts +239 -0
  28. package/src/tool/nauticalConverter/i18n/pt.ts +239 -0
  29. package/src/tool/nauticalConverter/i18n/ru.ts +239 -0
  30. package/src/tool/nauticalConverter/i18n/sv.ts +239 -0
  31. package/src/tool/nauticalConverter/i18n/tr.ts +239 -0
  32. package/src/tool/nauticalConverter/i18n/zh.ts +239 -0
  33. package/src/tool/nauticalConverter/index.ts +12 -0
  34. package/src/tool/sailArea/component.astro +1 -1
  35. package/src/tool/sailArea/i18n/de.ts +275 -0
  36. package/src/tool/sailArea/i18n/id.ts +275 -0
  37. package/src/tool/sailArea/i18n/it.ts +275 -0
  38. package/src/tool/sailArea/i18n/ja.ts +275 -0
  39. package/src/tool/sailArea/i18n/ko.ts +275 -0
  40. package/src/tool/sailArea/i18n/nl.ts +275 -0
  41. package/src/tool/sailArea/i18n/pl.ts +275 -0
  42. package/src/tool/sailArea/i18n/pt.ts +275 -0
  43. package/src/tool/sailArea/i18n/ru.ts +275 -0
  44. package/src/tool/sailArea/i18n/sv.ts +275 -0
  45. package/src/tool/sailArea/i18n/tr.ts +275 -0
  46. package/src/tool/sailArea/i18n/zh.ts +275 -0
  47. package/src/tool/sailArea/index.ts +12 -0
  48. package/src/tool/speedConverter/i18n/de.ts +271 -0
  49. package/src/tool/speedConverter/i18n/id.ts +271 -0
  50. package/src/tool/speedConverter/i18n/it.ts +271 -0
  51. package/src/tool/speedConverter/i18n/ja.ts +271 -0
  52. package/src/tool/speedConverter/i18n/ko.ts +271 -0
  53. package/src/tool/speedConverter/i18n/nl.ts +271 -0
  54. package/src/tool/speedConverter/i18n/pl.ts +271 -0
  55. package/src/tool/speedConverter/i18n/pt.ts +271 -0
  56. package/src/tool/speedConverter/i18n/ru.ts +194 -0
  57. package/src/tool/speedConverter/i18n/sv.ts +271 -0
  58. package/src/tool/speedConverter/i18n/tr.ts +225 -0
  59. package/src/tool/speedConverter/i18n/zh.ts +271 -0
  60. package/src/tool/speedConverter/index.ts +12 -0
  61. package/src/tool/tideCalculator/i18n/de.ts +203 -0
  62. package/src/tool/tideCalculator/i18n/id.ts +203 -0
  63. package/src/tool/tideCalculator/i18n/it.ts +203 -0
  64. package/src/tool/tideCalculator/i18n/ja.ts +203 -0
  65. package/src/tool/tideCalculator/i18n/ko.ts +203 -0
  66. package/src/tool/tideCalculator/i18n/nl.ts +203 -0
  67. package/src/tool/tideCalculator/i18n/pl.ts +203 -0
  68. package/src/tool/tideCalculator/i18n/pt.ts +203 -0
  69. package/src/tool/tideCalculator/i18n/ru.ts +203 -0
  70. package/src/tool/tideCalculator/i18n/sv.ts +203 -0
  71. package/src/tool/tideCalculator/i18n/tr.ts +203 -0
  72. package/src/tool/tideCalculator/i18n/zh.ts +203 -0
  73. package/src/tool/tideCalculator/index.ts +12 -0
  74. package/src/tool/underKeel/i18n/de.ts +189 -0
  75. package/src/tool/underKeel/i18n/en.ts +2 -2
  76. package/src/tool/underKeel/i18n/fr.ts +2 -2
  77. package/src/tool/underKeel/i18n/id.ts +189 -0
  78. package/src/tool/underKeel/i18n/it.ts +176 -0
  79. package/src/tool/underKeel/i18n/ja.ts +185 -0
  80. package/src/tool/underKeel/i18n/ko.ts +185 -0
  81. package/src/tool/underKeel/i18n/nl.ts +176 -0
  82. package/src/tool/underKeel/i18n/pl.ts +176 -0
  83. package/src/tool/underKeel/i18n/pt.ts +176 -0
  84. package/src/tool/underKeel/i18n/ru.ts +176 -0
  85. package/src/tool/underKeel/i18n/sv.ts +176 -0
  86. package/src/tool/underKeel/i18n/tr.ts +185 -0
  87. package/src/tool/underKeel/i18n/zh.ts +185 -0
  88. package/src/tool/underKeel/index.ts +12 -0
@@ -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
+ '航用「12分の1則」を使用して、潮汐サイクルの任意の時点での水深を推定します。沿岸計画や船舶免許の学習に最適です。';
8
+
9
+ const ui: TideCalculatorUI = {
10
+ parametersLabel: 'パラメータ',
11
+ highTideLabel: '満潮',
12
+ lowTideLabel: '干潮',
13
+ targetTimeLabel: '照会時刻',
14
+ estimatedHeightLabel: '推定潮高',
15
+ metersLabel: 'メートル',
16
+ amplitudeLabel: '潮潮差',
17
+ durationLabel: '継続時間',
18
+ tableBreakdownLabel: '12分の1則の内訳',
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: '12分の1則とは何ですか?何に使われますか?',
33
+ answer:
34
+ '12分の1則は、満潮と干潮の間の任意の時点での潮高を推定するために航海で使用される簡略化された数学的手法です。潮の流れが近似的に正弦曲線に従うという観察に基づいており、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/12および4/12時間)に最大速度に達し、満潮に近づくにつれて再び減速します。',
50
+ },
51
+ {
52
+ question: '気圧は潮汐にどのように影響しますか?',
53
+ answer:
54
+ '高気圧(高気圧)は海面を押し下げ、実際の潮高を減少させます。低気圧(低気圧)は海面を上昇させます。一般的なルールとして、平均から1hPaの変化は約1cmの海面レベルの変化に対応します。',
55
+ },
56
+ {
57
+ question: '潮差(ちょうさ)とは何ですか?',
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: '12分の1則の表を分析する',
78
+ text: '1時間ごとの内訳を確認して、全期間を通じて潮位がどのように変動するかを理解します。',
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: '潮汐をマスターする:航海における12分の1則',
97
+ level: 2,
98
+ },
99
+ {
100
+ type: 'paragraph',
101
+ html: '沿岸航行や水深に制限のある港への入港では、常に正確な水深を知る必要があります。今日ではリアルタイムデータを提供するデジタルアプリやGPSが利用可能ですが、<strong>12分の1則</strong>は船舶免許取得や航海訓練における基本的なツールのままです。この法則は数学的な推定手法であり、複雑な計算機を使わずに潮汐サイクルの任意の時点での潮高を近似的に算出できます。',
102
+ },
103
+ {
104
+ type: 'title',
105
+ text: '12分の1則とは具体的に何ですか?',
106
+ level: 3,
107
+ },
108
+ {
109
+ type: 'paragraph',
110
+ html: '12分の1則は、潮の流れが一定ではないという観察に基づいています。水面は、満潮から干潮までの約6時間の間に一定の速度で上昇または下降するわけではありません。その代わり、動きは正弦曲線(サインカーブ)に従います。最初の1時間は潮がゆっくりと動き、中間時間に加速し、次の極値に近づくにつれて再び減速します。',
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>', '全潮差の 3/12', '最大流量(強い潮流)'],
119
+ ['<strong>第4時間</strong>', '全潮差の 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: '低気圧は海面を上昇させ、高気圧は海面を低下させます。一般的に、平均から1hPaの変化につき約1cmの変動があります。' },
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: '潮差(ちょうさ)',
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
+ };
@@ -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
+ '항해용 12분의 1 법칙을 사용하여 조석 사이클의 특정 시점의 수심을 추정합니다. 연안 계획 및 선박 자격증 학습에 적합합니다.';
8
+
9
+ const ui: TideCalculatorUI = {
10
+ parametersLabel: '매개변수',
11
+ highTideLabel: '만조',
12
+ lowTideLabel: '간조',
13
+ targetTimeLabel: '조회 시각',
14
+ estimatedHeightLabel: '추정 조고',
15
+ metersLabel: '미터',
16
+ amplitudeLabel: '조차',
17
+ durationLabel: '지속 시각',
18
+ tableBreakdownLabel: '12분의 1 세부 내역',
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: '12분의 1 법칙(Rule of Twelfths)이란 무엇이며 어디에 쓰이나요?',
33
+ answer:
34
+ '12분의 1 법칙은 만조와 간조 사이의 특정 시점에서 조석의 높이를 추정하기 위해 항해에서 사용하는 간이 수학적 방법입니다. 조석의 흐름이 근사적으로 사인 곡선을 따른다는 관찰에 기초하며, 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
+ '거대한 수괴(water mass)의 관성과 해분(ocean basin)의 형태 때문입니다. 조석은 간조 이후 천천히 오르기 시작하여 중간 시간대(3/12 및 4/12시간째)에 최대 속도에 도달하고, 만조에 가까워지면 다시 느려집니다.',
50
+ },
51
+ {
52
+ question: '기압은 조석에 어떤 영향을 미치나요?',
53
+ answer:
54
+ '고기압(고기압권)은 해수면을 아래로 눌러 실제 높이를 낮춥니다. 저기압(저기압권)은 해수면을 상승시킵니다. 일반적으로 평균 기압에서 1hPa 차이가 나면 해수면이 약 1cm 변하는 것으로 간주합니다.',
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: '12분의 1 표 분석',
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: '조석 마스터하기: 항해의 12분의 1 법칙',
97
+ level: 2,
98
+ },
99
+ {
100
+ type: 'paragraph',
101
+ html: '연안 항해나 수심이 제한된 항구에 입항할 때는 항상 정확한 수심을 아는 것이 중요합니다. 오늘날 실시간 데이터를 제공하는 디지털 앱과 GPS가 널리 쓰이지만, <strong>12분의 1 법칙</strong>은 여전히 모든 선장과 항해사 교육의 기초가 되는 도구입니다. 이 법칙은 복잡한 계산기 없이도 조석 사이클의 특정 지점의 조고를 근사치로 구할 수 있게 해주는 수학적 추정법입니다.',
102
+ },
103
+ {
104
+ type: 'title',
105
+ text: '12분의 1 법칙이란 정확히 무엇인가요?',
106
+ level: 3,
107
+ },
108
+ {
109
+ type: 'paragraph',
110
+ html: '12분의 1 법칙은 조석의 흐름이 일정하지 않다는 관찰에 근거합니다. 해수면은 만조와 간조 사이의 약 6시간 동안 일정한 속도로 오르내리지 않습니다. 대신 사인 곡선을 그리며 움직입니다. 첫 1시간 동안은 천천히 움직이다가 중간 시간대에 속도가 붙고, 다음 극값에 가까워지면 다시 속도가 줄어듭니다.',
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>', '조차의 3/12', '최대 흐름 (강한 조류)'],
119
+ ['<strong>4시간째</strong>', '조차의 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: '저기압은 해수면을 높이고, 고기압은 해수면을 낮춥니다. 일반적으로 평균 기압에서 1hPa 차이당 약 1cm의 변동이 발생합니다.' },
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
+ };
@@ -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 = 'getijde-calculator-nl';
5
+ const title = 'Getijdenhoogte Calculator';
6
+ const description =
7
+ 'Schat de waterdiepte op elk punt in de getijdencyclus met behulp van de nautische Zwölftel-Regel. Ideaal voor kustplanning en studie voor vaarbewijzen.';
8
+
9
+ const ui: TideCalculatorUI = {
10
+ parametersLabel: 'Parameters',
11
+ highTideLabel: 'Hoogwater',
12
+ lowTideLabel: 'Laagwater',
13
+ targetTimeLabel: 'Opvraagtijd',
14
+ estimatedHeightLabel: 'Geschatte Hoogte',
15
+ metersLabel: 'meter',
16
+ amplitudeLabel: 'Amplitude',
17
+ durationLabel: 'Duur',
18
+ tableBreakdownLabel: 'Zwölftel-verdeling',
19
+ tableHourLabel: 'Tijd',
20
+ tableStateLabel: 'Status',
21
+ tableStartLabel: 'Start',
22
+ tableEndLabel: 'Einde',
23
+ statusUpLabel: 'Opkomend',
24
+ statusDownLabel: 'Afnemend',
25
+ statusOutOfRange: 'Buiten bereik',
26
+ faqTitle: 'Veelgestelde Vragen',
27
+ bibliographyTitle: 'Bibliografie',
28
+ };
29
+
30
+ const faq: TideCalculatorLocaleContent['faq'] = [
31
+ {
32
+ question: 'Wat is de Zwölftel-Regel en waarvoor wordt deze gebruikt?',
33
+ answer:
34
+ 'De Zwölftel-Regel (of Twaalfde-regel) is een vereenvoudigde wiskundige methode die in de navigatie wordt gebruikt om de getijdenhoogte te schatten op elk punt tussen hoog- en laagwater. Het is gebaseerd op de waarneming dat de getijdenstroom een sinusvormige curve volgt, waarbij het totale bereik over 6 uur in 12 delen wordt verdeeld (1/12, 2/12, 3/12, 3/12, 2/12, 1/12).',
35
+ },
36
+ {
37
+ question: 'Is deze methode betrouwbaar voor echte navigatie?',
38
+ answer:
39
+ 'Het is een zeer nuttige theoretische schattingsmethode voor snelle planning en educatieve doeleinden. Het houdt echter geen rekening met meteorologische factoren zoals atmosferische druk of wind, die de zeespiegel met enkele decimeters kunnen veranderen. Raadpleeg voor echte navigatie altijd de officiële getijdentafels.',
40
+ },
41
+ {
42
+ question: 'Welke gegevens heb ik nodig om de getijdenhoogte te berekenen?',
43
+ answer:
44
+ 'U hebt de tijd en hoogte (in meters) nodig van het hoog- en laagwater dat het dichtst bij het moment ligt waarop u wilt opvragen. Deze gegevens vindt u in getijdenalmanakken of maritieme weerapps.',
45
+ },
46
+ {
47
+ question: 'Waarom stijgt het getij niet altijd met dezelfde snelheid?',
48
+ answer:
49
+ 'Vanwege de traagheid van grote watermassa\'s en de configuratie van oceaanbekkens. Het getij begint langzaam te stijgen na laagwater, bereikt de maximale snelheid in de middelste uren (de 3/12 uren) und vertraagt weer als het hoogwater nadert.',
50
+ },
51
+ {
52
+ question: 'Hoe beïnvloedt de atmosferische druk het getij?',
53
+ answer:
54
+ 'Hoge druk (anticycloon) drukt het water naar beneden, waardoor de werkelijke hoogte afneemt. Lage druk (depressie) zorgt ervoor dat het water hoger kan stijgen. Als algemene regel geldt dat een variatie van 1 hPa ten opzichte van het gemiddelde overeenkomt met een verandering van ongeveer 1 cm in de zeespiegel.',
55
+ },
56
+ {
57
+ question: 'Wat is het getijverschil?',
58
+ answer:
59
+ 'Het is het verticale verschil in hoogte tussen een hoogwater en het onmiddellijk voorafgaande of volgende laagwater. Deze meting varieert afhankelijk van de schijngestalte van de maan (spring- en doodtij) en de geografische locatie.',
60
+ },
61
+ ];
62
+
63
+ const howTo: TideCalculatorLocaleContent['howTo'] = [
64
+ {
65
+ name: 'Identificeer hoog- en laagwater',
66
+ text: 'Raadpleeg uw getijdenalmanak voor de tijden en hoogtes van de getijdencyclus waarin u geïnteresseerd bent.',
67
+ },
68
+ {
69
+ name: 'Voer de gegevens in de calculator in',
70
+ text: 'Voer de tijd en hoogte van hoogwater en laagwater in. De tool bepaalt automatisch de duur en de amplitude.',
71
+ },
72
+ {
73
+ name: 'Stel de opvraagtijd in',
74
+ text: 'Pas de tijd aan waarvoor u het waterniveau wilt weten. U ziet het exacte punt gemarkeerd op de grafiek.',
75
+ },
76
+ {
77
+ name: 'Analyseer de twaalfden-tabel',
78
+ text: 'Bekijk de verdeling per uur om te begrijpen hoe het waterniveau gedurende de gehele periode zal fluctueren.',
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: 'Het getij beheersen: de Zwölftel-Regel in de navigatie',
97
+ level: 2,
98
+ },
99
+ {
100
+ type: 'paragraph',
101
+ html: 'Kustnavigatie en het binnenlopen van havens met beperkte diepte vereisen te allen tijde een nauwkeurige kennis van de waterdiepte. Hoewel er tegenwoordig digitale toepassingen en GPS beschikbaar zijn die real-time gegevens leveren, blijft de <strong>Zwölftel-Regel</strong> een fundamenteel hulpmiddel in de training van elke schipper. Deze regel is een wiskundige schattingsmethode waarmee u, bij benadering en zonder complexe rekenmachines, de getijdenhoogte op elk punt in een getijdencyclus kunt berekenen.',
102
+ },
103
+ {
104
+ type: 'title',
105
+ text: 'Wat is de Zwölftel-Regel precies?',
106
+ level: 3,
107
+ },
108
+ {
109
+ type: 'paragraph',
110
+ html: 'De Zwölftel-Regel is gebaseerd op de waarneming dat de getijdenstroom niet constant is. Het water stijgt of daalt niet met dezelfde snelheid gedurende de ongeveer zes uur tussen hoog- en laagwater. In plaats daarvan volgt de beweging een sinusvormige curve. Tijdens het eerste uur beweegt het getij langzaam; het versnelt in de middelste uren en vertraagt weer als het het volgende extreme punt bereikt.',
111
+ },
112
+ {
113
+ type: 'table',
114
+ headers: ['Uur van de cyclus', 'Proportie', 'Stroomtoestand'],
115
+ rows: [
116
+ ['<strong>1e Uur</strong>', '1/12 van het bereik', 'Langzame start (Doodtij)'],
117
+ ['<strong>2e Uur</strong>', '2/12 van het bereik', 'Versnellende stroom'],
118
+ ['<strong>3e Uur</strong>', '3/12 van het bereik', 'Maximale stroom (Sterke stroom)'],
119
+ ['<strong>4e Uur</strong>', '3/12 van het bereik', 'Aanhoudende stroom'],
120
+ ['<strong>5e Uur</strong>', '2/12 van het bereik', 'Merkbare vertraging'],
121
+ ['<strong>6e Uur</strong>', '1/12 van het bereik', 'Uiteindelijke vertraging (Richting stroomkentering)'],
122
+ ],
123
+ },
124
+ {
125
+ type: 'title',
126
+ text: 'Technische beperkingen: Factoren die het werkelijke getij beïnvloeden',
127
+ level: 3,
128
+ },
129
+ {
130
+ type: 'glossary',
131
+ items: [
132
+ { term: 'Atmosferische druk', definition: 'Een depressie doet de zeespiegel stijgen; een anticycloon doet deze dalen. Als algemene regel geldt: ~1 cm variatie per hPa verschil ten opzichte van het gemiddelde.' },
133
+ { term: 'Kustwind', definition: 'Aanhoudende aanlandige wind kan het water opstuwen boven de niveaus die in de getijdentafels worden voorspeld.' },
134
+ { term: 'Lokale topografie', definition: 'Kustvorm, zeebodemdiepte en de aanwezigheid van estuaria kunnen de getijdenstroom aanzienlijk vertragen of versnellen.' },
135
+ ],
136
+ },
137
+ {
138
+ type: 'tip',
139
+ title: 'Veiligheidsopmerking',
140
+ html: 'Deze tool maakt gebruik van een wiskundige schattingsmethode. Er wordt geen rekening gehouden met meteorologische factoren of lokale topografie. Raadpleeg voor echte navigatie altijd de officiële getijdentafels.',
141
+ },
142
+ {
143
+ type: 'title',
144
+ text: 'Kernconcepten voor nieuwe zeilers',
145
+ level: 3,
146
+ },
147
+ {
148
+ type: 'glossary',
149
+ items: [
150
+ {
151
+ term: 'Getijverschil',
152
+ definition: 'Verticaal verschil tussen hoogwater en laagwater. In de Golf van Biskaje kan dit enkele meters bedragen; in de Middellandse Zee is het bijna verwaarloosbaar.',
153
+ },
154
+ {
155
+ term: 'Getijduur',
156
+ definition: 'Tijdsinterval tussen hoogwater en het volgende laagwater. Meestal ongeveer 6 uur en 12 minuten (semi-diurnal cyclus).',
157
+ },
158
+ {
159
+ term: 'Reductievlak (Chart datum)',
160
+ definition: 'Referentieniveau van waaruit alle diepten op zeekaarten worden gemeten. Werkelijke diepten zijn bijna nooit minder dan de aangegeven diepten.',
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: `Gebruiksaanwijzing: ${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
+ };