@jjlmoya/utils-cooking 1.11.0 → 1.13.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 (190) hide show
  1. package/package.json +59 -58
  2. package/src/category/i18n/de.ts +94 -0
  3. package/src/category/i18n/id.ts +94 -0
  4. package/src/category/i18n/it.ts +94 -0
  5. package/src/category/i18n/ja.ts +94 -0
  6. package/src/category/i18n/ko.ts +94 -0
  7. package/src/category/i18n/nl.ts +94 -0
  8. package/src/category/i18n/pl.ts +94 -0
  9. package/src/category/i18n/pt.ts +94 -0
  10. package/src/category/i18n/ru.ts +94 -0
  11. package/src/category/i18n/sv.ts +94 -0
  12. package/src/category/i18n/tr.ts +94 -0
  13. package/src/category/i18n/zh.ts +94 -0
  14. package/src/category/index.ts +12 -0
  15. package/src/tests/faq_count.test.ts +1 -1
  16. package/src/tests/i18n_coverage.test.ts +36 -0
  17. package/src/tests/locale_completeness.test.ts +1 -1
  18. package/src/tests/schemas_fulfillment.test.ts +23 -0
  19. package/src/tests/title_quality.test.ts +55 -0
  20. package/src/tool/american-kitchen-converter/i18n/de.ts +356 -0
  21. package/src/tool/american-kitchen-converter/i18n/fr.ts +1 -1
  22. package/src/tool/american-kitchen-converter/i18n/id.ts +356 -0
  23. package/src/tool/american-kitchen-converter/i18n/it.ts +356 -0
  24. package/src/tool/american-kitchen-converter/i18n/ja.ts +356 -0
  25. package/src/tool/american-kitchen-converter/i18n/ko.ts +356 -0
  26. package/src/tool/american-kitchen-converter/i18n/nl.ts +356 -0
  27. package/src/tool/american-kitchen-converter/i18n/pl.ts +356 -0
  28. package/src/tool/american-kitchen-converter/i18n/pt.ts +356 -0
  29. package/src/tool/american-kitchen-converter/i18n/ru.ts +356 -0
  30. package/src/tool/american-kitchen-converter/i18n/sv.ts +356 -0
  31. package/src/tool/american-kitchen-converter/i18n/tr.ts +356 -0
  32. package/src/tool/american-kitchen-converter/i18n/zh.ts +356 -0
  33. package/src/tool/american-kitchen-converter/index.ts +12 -0
  34. package/src/tool/banana-ripeness/i18n/de.ts +248 -0
  35. package/src/tool/banana-ripeness/i18n/id.ts +248 -0
  36. package/src/tool/banana-ripeness/i18n/it.ts +248 -0
  37. package/src/tool/banana-ripeness/i18n/ja.ts +248 -0
  38. package/src/tool/banana-ripeness/i18n/ko.ts +248 -0
  39. package/src/tool/banana-ripeness/i18n/nl.ts +248 -0
  40. package/src/tool/banana-ripeness/i18n/pl.ts +248 -0
  41. package/src/tool/banana-ripeness/i18n/pt.ts +248 -0
  42. package/src/tool/banana-ripeness/i18n/ru.ts +248 -0
  43. package/src/tool/banana-ripeness/i18n/sv.ts +248 -0
  44. package/src/tool/banana-ripeness/i18n/tr.ts +248 -0
  45. package/src/tool/banana-ripeness/i18n/zh.ts +248 -0
  46. package/src/tool/banana-ripeness/index.ts +12 -0
  47. package/src/tool/brine/i18n/de.ts +253 -0
  48. package/src/tool/brine/i18n/id.ts +253 -0
  49. package/src/tool/brine/i18n/it.ts +253 -0
  50. package/src/tool/brine/i18n/ja.ts +253 -0
  51. package/src/tool/brine/i18n/ko.ts +253 -0
  52. package/src/tool/brine/i18n/nl.ts +253 -0
  53. package/src/tool/brine/i18n/pl.ts +253 -0
  54. package/src/tool/brine/i18n/pt.ts +253 -0
  55. package/src/tool/brine/i18n/ru.ts +253 -0
  56. package/src/tool/brine/i18n/sv.ts +253 -0
  57. package/src/tool/brine/i18n/tr.ts +253 -0
  58. package/src/tool/brine/i18n/zh.ts +253 -0
  59. package/src/tool/brine/index.ts +12 -0
  60. package/src/tool/cookware-guide/i18n/de.ts +200 -0
  61. package/src/tool/cookware-guide/i18n/en.ts +2 -2
  62. package/src/tool/cookware-guide/i18n/es.ts +3 -3
  63. package/src/tool/cookware-guide/i18n/fr.ts +2 -2
  64. package/src/tool/cookware-guide/i18n/id.ts +200 -0
  65. package/src/tool/cookware-guide/i18n/it.ts +200 -0
  66. package/src/tool/cookware-guide/i18n/ja.ts +200 -0
  67. package/src/tool/cookware-guide/i18n/ko.ts +200 -0
  68. package/src/tool/cookware-guide/i18n/nl.ts +200 -0
  69. package/src/tool/cookware-guide/i18n/pl.ts +200 -0
  70. package/src/tool/cookware-guide/i18n/pt.ts +200 -0
  71. package/src/tool/cookware-guide/i18n/ru.ts +200 -0
  72. package/src/tool/cookware-guide/i18n/sv.ts +200 -0
  73. package/src/tool/cookware-guide/i18n/tr.ts +200 -0
  74. package/src/tool/cookware-guide/i18n/zh.ts +200 -0
  75. package/src/tool/cookware-guide/index.ts +12 -0
  76. package/src/tool/egg-timer/i18n/de.ts +252 -0
  77. package/src/tool/egg-timer/i18n/id.ts +252 -0
  78. package/src/tool/egg-timer/i18n/it.ts +252 -0
  79. package/src/tool/egg-timer/i18n/ja.ts +252 -0
  80. package/src/tool/egg-timer/i18n/ko.ts +252 -0
  81. package/src/tool/egg-timer/i18n/nl.ts +252 -0
  82. package/src/tool/egg-timer/i18n/pl.ts +252 -0
  83. package/src/tool/egg-timer/i18n/pt.ts +252 -0
  84. package/src/tool/egg-timer/i18n/ru.ts +252 -0
  85. package/src/tool/egg-timer/i18n/sv.ts +252 -0
  86. package/src/tool/egg-timer/i18n/tr.ts +252 -0
  87. package/src/tool/egg-timer/i18n/zh.ts +252 -0
  88. package/src/tool/egg-timer/index.ts +12 -0
  89. package/src/tool/ingredient-rescaler/i18n/de.ts +244 -0
  90. package/src/tool/ingredient-rescaler/i18n/en.ts +74 -97
  91. package/src/tool/ingredient-rescaler/i18n/es.ts +77 -100
  92. package/src/tool/ingredient-rescaler/i18n/id.ts +244 -0
  93. package/src/tool/ingredient-rescaler/i18n/it.ts +244 -0
  94. package/src/tool/ingredient-rescaler/i18n/ja.ts +244 -0
  95. package/src/tool/ingredient-rescaler/i18n/ko.ts +244 -0
  96. package/src/tool/ingredient-rescaler/i18n/nl.ts +244 -0
  97. package/src/tool/ingredient-rescaler/i18n/pl.ts +244 -0
  98. package/src/tool/ingredient-rescaler/i18n/pt.ts +244 -0
  99. package/src/tool/ingredient-rescaler/i18n/ru.ts +244 -0
  100. package/src/tool/ingredient-rescaler/i18n/sv.ts +244 -0
  101. package/src/tool/ingredient-rescaler/i18n/tr.ts +244 -0
  102. package/src/tool/ingredient-rescaler/i18n/zh.ts +244 -0
  103. package/src/tool/ingredient-rescaler/index.ts +12 -0
  104. package/src/tool/kitchen-timer/i18n/de.ts +174 -0
  105. package/src/tool/kitchen-timer/i18n/id.ts +170 -0
  106. package/src/tool/kitchen-timer/i18n/it.ts +174 -0
  107. package/src/tool/kitchen-timer/i18n/ja.ts +170 -0
  108. package/src/tool/kitchen-timer/i18n/ko.ts +170 -0
  109. package/src/tool/kitchen-timer/i18n/nl.ts +174 -0
  110. package/src/tool/kitchen-timer/i18n/pl.ts +170 -0
  111. package/src/tool/kitchen-timer/i18n/pt.ts +174 -0
  112. package/src/tool/kitchen-timer/i18n/ru.ts +170 -0
  113. package/src/tool/kitchen-timer/i18n/sv.ts +170 -0
  114. package/src/tool/kitchen-timer/i18n/tr.ts +170 -0
  115. package/src/tool/kitchen-timer/i18n/zh.ts +170 -0
  116. package/src/tool/kitchen-timer/index.ts +12 -0
  117. package/src/tool/meringue-peak/i18n/de.ts +221 -0
  118. package/src/tool/meringue-peak/i18n/fr.ts +1 -1
  119. package/src/tool/meringue-peak/i18n/id.ts +209 -0
  120. package/src/tool/meringue-peak/i18n/it.ts +210 -0
  121. package/src/tool/meringue-peak/i18n/ja.ts +210 -0
  122. package/src/tool/meringue-peak/i18n/ko.ts +210 -0
  123. package/src/tool/meringue-peak/i18n/nl.ts +210 -0
  124. package/src/tool/meringue-peak/i18n/pl.ts +210 -0
  125. package/src/tool/meringue-peak/i18n/pt.ts +210 -0
  126. package/src/tool/meringue-peak/i18n/ru.ts +210 -0
  127. package/src/tool/meringue-peak/i18n/sv.ts +210 -0
  128. package/src/tool/meringue-peak/i18n/tr.ts +210 -0
  129. package/src/tool/meringue-peak/i18n/zh.ts +210 -0
  130. package/src/tool/meringue-peak/index.ts +12 -0
  131. package/src/tool/mold-scaler/i18n/de.ts +183 -0
  132. package/src/tool/mold-scaler/i18n/en.ts +87 -60
  133. package/src/tool/mold-scaler/i18n/es.ts +87 -61
  134. package/src/tool/mold-scaler/i18n/fr.ts +97 -69
  135. package/src/tool/mold-scaler/i18n/id.ts +169 -0
  136. package/src/tool/mold-scaler/i18n/it.ts +170 -0
  137. package/src/tool/mold-scaler/i18n/ja.ts +170 -0
  138. package/src/tool/mold-scaler/i18n/ko.ts +170 -0
  139. package/src/tool/mold-scaler/i18n/nl.ts +170 -0
  140. package/src/tool/mold-scaler/i18n/pl.ts +170 -0
  141. package/src/tool/mold-scaler/i18n/pt.ts +170 -0
  142. package/src/tool/mold-scaler/i18n/ru.ts +170 -0
  143. package/src/tool/mold-scaler/i18n/sv.ts +170 -0
  144. package/src/tool/mold-scaler/i18n/tr.ts +170 -0
  145. package/src/tool/mold-scaler/i18n/zh.ts +170 -0
  146. package/src/tool/mold-scaler/index.ts +12 -0
  147. package/src/tool/pizza/i18n/de.ts +168 -0
  148. package/src/tool/pizza/i18n/en.ts +2 -2
  149. package/src/tool/pizza/i18n/es.ts +2 -2
  150. package/src/tool/pizza/i18n/fr.ts +2 -2
  151. package/src/tool/pizza/i18n/id.ts +125 -0
  152. package/src/tool/pizza/i18n/it.ts +172 -0
  153. package/src/tool/pizza/i18n/ja.ts +125 -0
  154. package/src/tool/pizza/i18n/ko.ts +125 -0
  155. package/src/tool/pizza/i18n/nl.ts +164 -0
  156. package/src/tool/pizza/i18n/pl.ts +125 -0
  157. package/src/tool/pizza/i18n/pt.ts +168 -0
  158. package/src/tool/pizza/i18n/ru.ts +151 -0
  159. package/src/tool/pizza/i18n/sv.ts +164 -0
  160. package/src/tool/pizza/i18n/tr.ts +125 -0
  161. package/src/tool/pizza/i18n/zh.ts +125 -0
  162. package/src/tool/pizza/index.ts +12 -0
  163. package/src/tool/roux-guide/i18n/de.ts +165 -0
  164. package/src/tool/roux-guide/i18n/es.ts +1 -1
  165. package/src/tool/roux-guide/i18n/id.ts +139 -0
  166. package/src/tool/roux-guide/i18n/it.ts +165 -0
  167. package/src/tool/roux-guide/i18n/ja.ts +139 -0
  168. package/src/tool/roux-guide/i18n/ko.ts +139 -0
  169. package/src/tool/roux-guide/i18n/nl.ts +165 -0
  170. package/src/tool/roux-guide/i18n/pl.ts +139 -0
  171. package/src/tool/roux-guide/i18n/pt.ts +165 -0
  172. package/src/tool/roux-guide/i18n/ru.ts +139 -0
  173. package/src/tool/roux-guide/i18n/sv.ts +139 -0
  174. package/src/tool/roux-guide/i18n/tr.ts +139 -0
  175. package/src/tool/roux-guide/i18n/zh.ts +139 -0
  176. package/src/tool/roux-guide/index.ts +12 -0
  177. package/src/tool/sourdough-calculator/i18n/de.ts +142 -0
  178. package/src/tool/sourdough-calculator/i18n/es.ts +133 -133
  179. package/src/tool/sourdough-calculator/i18n/id.ts +116 -0
  180. package/src/tool/sourdough-calculator/i18n/it.ts +142 -0
  181. package/src/tool/sourdough-calculator/i18n/ja.ts +116 -0
  182. package/src/tool/sourdough-calculator/i18n/ko.ts +116 -0
  183. package/src/tool/sourdough-calculator/i18n/nl.ts +116 -0
  184. package/src/tool/sourdough-calculator/i18n/pl.ts +116 -0
  185. package/src/tool/sourdough-calculator/i18n/pt.ts +142 -0
  186. package/src/tool/sourdough-calculator/i18n/ru.ts +116 -0
  187. package/src/tool/sourdough-calculator/i18n/sv.ts +116 -0
  188. package/src/tool/sourdough-calculator/i18n/tr.ts +116 -0
  189. package/src/tool/sourdough-calculator/i18n/zh.ts +116 -0
  190. package/src/tool/sourdough-calculator/index.ts +12 -0
@@ -0,0 +1,252 @@
1
+ import type { ToolLocaleContent } from "../../../types";
2
+
3
+ const title = "科学的なエッグタイマー";
4
+ const description = "標高、温度、サイズに基づいた、完璧なゆで卵を作るための熱力学計算機。";
5
+ const faq = [
6
+ {
7
+ question: "ゆで卵をる際に標高が重要なのはなぜですか?",
8
+ answer: "水は常に100°Cで沸騰するわけではありません。標高が高くなると気圧が下がり、沸点が低くなります。例えば、標高2000mでは約93°Cで沸騰するため、海面(0m)よりも調理に時間がかかります。エベレスト山頂(沸点約70°C)では、固ゆで卵を作ることは不可能です。",
9
+ },
10
+ {
11
+ question: "冷蔵庫の卵か、常温の卵か?",
12
+ answer: "冷蔵庫から出したばかりの卵(4°C)は、常温の卵(20°C)よりも加熱に時間がかかります。その差は2〜3分になることもあります。この計算機は、初期温度に合わせて自動的に時間を調整します。",
13
+ },
14
+ {
15
+ question: "黄身の周りに緑色の輪ができるのはなぜですか?",
16
+ answer: "これは硫化第一鉄で、茹で過ぎの結果です。80°C以上の状態が長く続くと、白身の硫黄が黄身の鉄分と反応します。毒性はありませんが、茹で過ぎのサインです。茹で上がったらすぐに氷水に取ることで防げます。",
17
+ },
18
+ {
19
+ question: "卵の殻を簡単にむくには?",
20
+ answer: "産みたての新鮮な卵ではなく、1〜2週間経ったものを使用してください。また、水からではなく沸騰したお湯から茹で始め、終了後はすぐに氷水に浸けます。温度変化(ヒートショック)で中身が収縮し、膜が剥がれやすくなります。",
21
+ },
22
+ ];
23
+ const howTo = [
24
+ {
25
+ name: "初期温度を選択する",
26
+ text: "卵が冷蔵庫の状態(4°C)か、常温(20°C)かを選択します。これは卵の内部温度のことです。",
27
+ },
28
+ {
29
+ name: "卵のサイズを選択する",
30
+ text: "S、M、L、またはXL(73g以上)から選択します。サイズによって、中心まで熱が伝わる時間が変わります。",
31
+ },
32
+ {
33
+ name: "標高を指定する",
34
+ text: "手動で入力するか、位置情報を使用して標高を取得します。標高が300m上がるごとに沸点は約1°C下がります。",
35
+ },
36
+ {
37
+ name: "ヒートショックを与える",
38
+ text: "タイマーが鳴ったら、すぐに氷水に卵を沈めます。これにより余熱での調理が止まり、殻がむきやすくなります。正確な仕上げにはこの工程が不可欠です。",
39
+ },
40
+ ];
41
+
42
+ const faqSchema = {
43
+ '@context': 'https://schema.org',
44
+ '@type': 'FAQPage',
45
+ mainEntity: faq.map((item) => ({
46
+ '@type': 'Question',
47
+ name: item.question,
48
+ acceptedAnswer: { '@type': 'Answer', text: item.answer },
49
+ })),
50
+ };
51
+
52
+ const howToSchema = {
53
+ '@context': 'https://schema.org',
54
+ '@type': 'HowTo',
55
+ name: title,
56
+ description,
57
+ step: howTo.map((step) => ({
58
+ '@type': 'HowToStep',
59
+ name: step.name,
60
+ text: step.text,
61
+ })),
62
+ };
63
+
64
+ const appSchema = {
65
+ '@context': 'https://schema.org',
66
+ '@type': 'SoftwareApplication',
67
+ name: title,
68
+ description,
69
+ applicationCategory: 'UtilitiesApplication',
70
+ operatingSystem: 'Web',
71
+ offers: { '@type': 'Offer', price: '0', priceCurrency: 'JPY' },
72
+ };
73
+
74
+ export const content: ToolLocaleContent = {
75
+ slug: "yude-tamago",
76
+ title: "科学的なエッグタイマー",
77
+ description: "標高、温度、サイズに基づいた、完璧なゆで卵を作るための熱力学計算機。",
78
+ faqTitle: "よくある質問",
79
+ bibliographyTitle: "科学的リファレンス",
80
+ ui: {
81
+ parameters: "パラメータ",
82
+ initial_temperature: "初期温度",
83
+ fridge: "冷蔵庫",
84
+ ambient: "常温",
85
+ egg_size: "サイズ",
86
+ altitude: "標高",
87
+ use_location: "現在地を使用",
88
+ altitude_help: "高い標高では沸点が下がり、調理時間に影響します。",
89
+ sea_level: "海面",
90
+ soft_cooked: "半熟(トロトロ)",
91
+ soft_description: "白身は固まり、黄身は液状。",
92
+ mollet: "半熟(ねっとり)",
93
+ mollet_description: "黄身がクリーム状、白身はしっかり。",
94
+ hard_cooked: "固ゆで",
95
+ hard_description: "完全に火が通り、黄身も固い。",
96
+ },
97
+ faq,
98
+ bibliography: [
99
+ {
100
+ name: "The Science of Boiling an Egg - Charles D. H. Williams",
101
+ url: "https://newton.ex.ac.uk/teaching/CDHW/Egg/",
102
+ },
103
+ {
104
+ name: "The Food Lab: The Science of the Best Hard Boiled Eggs - J. Kenji López-Alt",
105
+ url: "https://www.seriouseats.com/the-food-lab-hard-boiled-eggs-recipe",
106
+ },
107
+ {
108
+ name: "The Food Lab: Perfect Soft Boiled Eggs",
109
+ url: "https://www.seriouseats.com/soft-boiled-eggs-recipe",
110
+ },
111
+ ],
112
+ howTo,
113
+ seo: [
114
+ {
115
+ type: 'title',
116
+ text: '完璧なゆで卵のためのマスターガイド',
117
+ level: 2,
118
+ },
119
+ {
120
+ type: 'paragraph',
121
+ html: '卵を茹でることは、<strong>応用熱力学</strong>の演習です。初期温度、サイズ、標高を正確に把握することで、シルクのような黄身にするか、茹で過ぎで緑色の輪ができた黄身にするかが決まります。',
122
+ },
123
+ {
124
+ type: 'stats',
125
+ columns: 4,
126
+ items: [
127
+ {
128
+ value: '62°C',
129
+ label: '白身の凝固',
130
+ icon: 'mdi:egg-outline',
131
+ },
132
+ {
133
+ value: '68°C',
134
+ label: '黄身の凝固',
135
+ icon: 'mdi:egg-fried',
136
+ },
137
+ {
138
+ value: '-1°C',
139
+ label: '沸点 / 300m',
140
+ icon: 'mdi:mountain',
141
+ },
142
+ {
143
+ value: '0s',
144
+ label: '許容誤差',
145
+ icon: 'mdi:timer-check-outline',
146
+ },
147
+ ],
148
+ },
149
+ {
150
+ type: 'title',
151
+ text: '茹で加減の比較',
152
+ level: 3,
153
+ },
154
+ {
155
+ type: 'comparative',
156
+ columns: 3,
157
+ items: [
158
+ {
159
+ title: '半熟(ソフト)',
160
+ icon: 'mdi:coffee-outline',
161
+ description: '白身は一部固まり、黄身は完全に液体。',
162
+ points: [
163
+ '非常に繊細な食感',
164
+ 'パンを浸すのに最適',
165
+ '短時間調理 (3-4分)',
166
+ '殻をむくのが難しい',
167
+ ],
168
+ },
169
+ {
170
+ title: 'モレ(Mollet)',
171
+ icon: 'mdi:water-percent',
172
+ description: '白身は固まり、黄身はクリーミーで濃厚。',
173
+ highlight: true,
174
+ points: [
175
+ 'グルメの標準',
176
+ '蜂蜜のような質感の黄身',
177
+ '弾力のある白身',
178
+ 'サラダに最適',
179
+ ],
180
+ },
181
+ {
182
+ title: '固ゆで',
183
+ icon: 'mdi:circle-slice-8',
184
+ description: '完全に固まっているが、パサつかない仕上がり。',
185
+ points: [
186
+ '黄身が不透明でしっかり',
187
+ '持ち運びや殻むきが容易',
188
+ 'フィリングに最適',
189
+ '迅速な冷却が必要',
190
+ ],
191
+ },
192
+ ],
193
+ },
194
+ {
195
+ type: 'title',
196
+ text: '標高による沸点の変化',
197
+ level: 3,
198
+ },
199
+ {
200
+ type: 'table',
201
+ headers: ['都市 / 標高', 'メートル', '沸点 (°C)', '追加時間'],
202
+ rows: [
203
+ ['海抜(東京)', '0m', '100°C', '0s'],
204
+ ['長野市', '370m', '98.8°C', '+15s'],
205
+ ['メキシコシティ', '2240m', '92.6°C', '+75s'],
206
+ ['ラパス(ボリビア)', '3640m', '88.1°C', '+140s'],
207
+ ],
208
+ },
209
+ {
210
+ type: 'diagnostic',
211
+ variant: 'warning',
212
+ title: '緑色の輪や殻がむきにくい問題',
213
+ html: '緑色の輪は<strong>硫化第一鉄</strong>で、茹で過ぎが原因です。殻がうまくむけないのは新鮮すぎるためで、pHが低いと白身が膜に密着します。1週間経った卵を使い、氷水でヒートショックを与えてください。',
214
+ },
215
+ {
216
+ type: 'title',
217
+ text: '卵の科学用語集',
218
+ level: 3,
219
+ },
220
+ {
221
+ type: 'glossary',
222
+ items: [
223
+ {
224
+ term: 'オボトランスフェリン',
225
+ definition: '白身の中で最初に凝固するタンパク質(62°C)。',
226
+ },
227
+ {
228
+ term: 'オボアルブミン',
229
+ definition: '主要なタンパク質で、完全に固まるにはより高い熱(80°C)が必要。',
230
+ },
231
+ {
232
+ term: '大気圧',
233
+ definition: '水の沸騰温度を決定する要因。',
234
+ },
235
+ {
236
+ term: 'ヒートショック',
237
+ definition: '余熱による調理を瞬時に止めるための氷水への浸漬。',
238
+ },
239
+ ],
240
+ },
241
+ {
242
+ type: 'tip',
243
+ title: 'お酢のトリック',
244
+ html: 'お湯に少量の酢を加えてください。殻にヒビが入っても、酸が白身を素早く凝固させ、ヒビを塞いでくれます。',
245
+ },
246
+ {
247
+ type: 'paragraph',
248
+ html: '私たちのタイマーはチャールズ・ウィリアムズの計算式を使用し、あなたの所在地と冷蔵庫の状態に合わせて秒単位で調整します。',
249
+ },
250
+ ],
251
+ schemas: [faqSchema, howToSchema, appSchema],
252
+ };
@@ -0,0 +1,252 @@
1
+ import type { ToolLocaleContent } from "../../../types";
2
+
3
+ const title = "과학적인 계란 타이머";
4
+ const description = "고도, 온도, 크기에 따른 완벽한 계란 삶기를 위한 열력학 계산기입니다.";
5
+ const faq = [
6
+ {
7
+ question: "계란을 삶을 때 고도가 왜 중요한가요?",
8
+ answer: "물은 항상 100°C에서 끓지 않습니다. 고도가 높을수록 기압이 낮아져 물이 낮은 온도에서 끓게 됩니다. 예를 들어 해발 2000m에서는 물이 약 93°C에서 끓기 때문에 해수면 지역보다 더 오래 삶아야 합니다. 에베레스트 정상(끓는점 약 70°C)에서는 완숙 계란을 만드는 것이 불가능합니다.",
9
+ },
10
+ {
11
+ question: "냉장고 계란인가요, 상온 계란인가요?",
12
+ answer: "냉장고에서 갓 꺼낸 계란(4°C)은 상온의 계란(20°C)보다 더 많은 조리 시간이 필요합니다. 그 차이는 2~3분에 달할 수 있습니다. 이 계산기는 초기 온도에 맞춰 시간을 자동으로 조절합니다.",
13
+ },
14
+ {
15
+ question: "노른자 주변에 왜 녹색 테두리가 생기나요?",
16
+ answer: "이것은 황화철 현상으로, 너무 오래 삶았을 때 나타납니다. 내부 온도가 80°C를 넘어서 너무 오래 지속되면 흰자의 황 성분이 노른자의 철 성분과 반응합니다. 독성은 없으나 조리 시간이 초과되었음을 의미합니다. 삶은 직후 얼음물에 담가 이를 방지하세요.",
17
+ },
18
+ {
19
+ question: "계란 껍질을 쉽게 까는 방법은?",
20
+ answer: "갓 낳은 신선한 계란보다는 1~2주 정도 지난 계란을 사용하고, 찬물부터 시작하지 말고 끓는 물에 넣어 삶으세요. 완료 즉시 얼음물에 담가 히트 쇼크(열 충격)를 주면 내용물이 수축되어 껍질이 잘 벗겨집니다.",
21
+ },
22
+ ];
23
+ const howTo = [
24
+ {
25
+ name: "초기 온도 선택",
26
+ text: "계란이 냉장 상태(4°C)인지 상온 상태(20°C)인지 선택하세요. 이는 계란의 내부 온도를 의미합니다.",
27
+ },
28
+ {
29
+ name: "계란 크기 선택",
30
+ text: "S(소), M(중), L(대), XL(특대) 중 선택하세요. 크기에 따라 열이 중심부까지 전달되는 시간이 달라집니다.",
31
+ },
32
+ {
33
+ name: "고도 지정",
34
+ text: "현재 위치의 고도를 직접 입력하거나 위치 정보를 활용하세요. 고도가 300m 높아질 때마다 물의 끓는점은 약 1°C씩 낮아집니다.",
35
+ },
36
+ {
37
+ name: "열 충격(히트 쇼크) 적용",
38
+ text: "타이머가 종료되면 즉시 얼음물에 계란을 담그세요. 이는 잔열 조리를 멈추게 하고 껍질을 쉽게 깔 수 있게 합니다. 정확도를 위해 필수적인 과정입니다.",
39
+ },
40
+ ];
41
+
42
+ const faqSchema = {
43
+ '@context': 'https://schema.org',
44
+ '@type': 'FAQPage',
45
+ mainEntity: faq.map((item) => ({
46
+ '@type': 'Question',
47
+ name: item.question,
48
+ acceptedAnswer: { '@type': 'Answer', text: item.answer },
49
+ })),
50
+ };
51
+
52
+ const howToSchema = {
53
+ '@context': 'https://schema.org',
54
+ '@type': 'HowTo',
55
+ name: title,
56
+ description,
57
+ step: howTo.map((step) => ({
58
+ '@type': 'HowToStep',
59
+ name: step.name,
60
+ text: step.text,
61
+ })),
62
+ };
63
+
64
+ const appSchema = {
65
+ '@context': 'https://schema.org',
66
+ '@type': 'SoftwareApplication',
67
+ name: title,
68
+ description,
69
+ applicationCategory: 'UtilitiesApplication',
70
+ operatingSystem: 'Web',
71
+ offers: { '@type': 'Offer', price: '0', priceCurrency: 'KRW' },
72
+ };
73
+
74
+ export const content: ToolLocaleContent = {
75
+ slug: "boiled-eggs",
76
+ title: "과학적인 계란 타이머",
77
+ description: "고도, 온도, 크기에 따른 완벽한 계란 삶기를 위한 열력학 계산기입니다.",
78
+ faqTitle: "자주 묻는 질문",
79
+ bibliographyTitle: "과학적 참고 문헌",
80
+ ui: {
81
+ parameters: "조리 파라미터",
82
+ initial_temperature: "초기 온도",
83
+ fridge: "냉장",
84
+ ambient: "상온",
85
+ egg_size: "계란 크기",
86
+ altitude: "현재 고도",
87
+ use_location: "내 위치 사용",
88
+ altitude_help: "높은 고도에서는 물의 끓는점이 낮아져 조리 시간에 영향을 줍니다.",
89
+ sea_level: "해수면",
90
+ soft_cooked: "반숙 (주르륵)",
91
+ soft_description: "노른자는 액체 상태, 흰자는 부드럽고 하얗게 익음.",
92
+ mollet: "반숙 (쫀쫀함)",
93
+ mollet_description: "노른자는 크림 상태, 흰자는 단단함.",
94
+ hard_cooked: "완숙",
95
+ hard_description: "완전히 익음, 노른자가 단단함.",
96
+ },
97
+ faq,
98
+ bibliography: [
99
+ {
100
+ name: "The Science of Boiling an Egg - Charles D. H. Williams",
101
+ url: "https://newton.ex.ac.uk/teaching/CDHW/Egg/",
102
+ },
103
+ {
104
+ name: "The Food Lab: The Science of the Best Hard Boiled Eggs - J. Kenji López-Alt",
105
+ url: "https://www.seriouseats.com/the-food-lab-hard-boiled-eggs-recipe",
106
+ },
107
+ {
108
+ name: "The Food Lab: Perfect Soft Boiled Eggs",
109
+ url: "https://www.seriouseats.com/soft-boiled-eggs-recipe",
110
+ },
111
+ ],
112
+ howTo,
113
+ seo: [
114
+ {
115
+ type: 'title',
116
+ text: '완벽한 계란 삶기를 위한 마스터 가이드',
117
+ level: 2,
118
+ },
119
+ {
120
+ type: 'paragraph',
121
+ html: '계란을 삶는 것은 <strong>응용 열역학</strong>의 한 과정입니다. 초기 온도, 크기, 지형적 고도의 정밀함이 실크 같은 반숙 노른자를 만들지, 아니면 녹색 테두리가 생겨버린 퍽퍽한 완숙 노른자를 만들지 결정합니다.',
122
+ },
123
+ {
124
+ type: 'stats',
125
+ columns: 4,
126
+ items: [
127
+ {
128
+ value: '62°C',
129
+ label: '흰자 응고 온도',
130
+ icon: 'mdi:egg-outline',
131
+ },
132
+ {
133
+ value: '68°C',
134
+ label: '노른자 응고 온도',
135
+ icon: 'mdi:egg-fried',
136
+ },
137
+ {
138
+ value: '-1°C',
139
+ label: '끓는점 / 300m',
140
+ icon: 'mdi:mountain',
141
+ },
142
+ {
143
+ value: '0초',
144
+ label: '허용 오차',
145
+ icon: 'mdi:timer-check-outline',
146
+ },
147
+ ],
148
+ },
149
+ {
150
+ type: 'title',
151
+ text: '조리 상태 비교',
152
+ level: 3,
153
+ },
154
+ {
155
+ type: 'comparative',
156
+ columns: 3,
157
+ items: [
158
+ {
159
+ title: '반숙 (Soft / 런니)',
160
+ icon: 'mdi:coffee-outline',
161
+ description: '흰자는 부분적으로 익고 노른자는 완전히 액체인 상태.',
162
+ points: [
163
+ '매우 섬세한 질감',
164
+ '빵을 찍어 먹기에 이상적',
165
+ '짧은 조리 시간 (3-4분)',
166
+ '껍질을 까기가 매우 어려움',
167
+ ],
168
+ },
169
+ {
170
+ title: '반숙 (Mollet / 커스터드)',
171
+ icon: 'mdi:water-percent',
172
+ description: '흰자는 단단하고 노른자는 크림처럼 농도가 짙은 상태.',
173
+ highlight: true,
174
+ points: [
175
+ '미식가의 표준',
176
+ '꿀 같은 질감의 노른자',
177
+ '탄력 있고 매끄러운 흰자',
178
+ '샐러드 토핑으로 완벽함',
179
+ ],
180
+ },
181
+ {
182
+ title: '완숙 (Hard)',
183
+ icon: 'mdi:circle-slice-8',
184
+ description: '완전히 익었지만 퍽퍽하지 않고 녹색 테두리가 없는 상태.',
185
+ points: [
186
+ '노른자가 불투명하고 단단함',
187
+ '운반 및 껍질 제거가 용이함',
188
+ '도시락이나 속 재료로 적합',
189
+ '빠른 얼음물 냉각 필수',
190
+ ],
191
+ },
192
+ ],
193
+ },
194
+ {
195
+ type: 'title',
196
+ text: '고도별 물의 끓는점 변화',
197
+ level: 3,
198
+ },
199
+ {
200
+ type: 'table',
201
+ headers: ['도시 / 고도', '해발 높이(m)', '끓는점 (°C)', '추가 시간'],
202
+ rows: [
203
+ ['해수면 레벨 (인천)', '0m', '100°C', '0초'],
204
+ ['평창', '700m', '97.6°C', '+28초'],
205
+ ['멕시코 시티', '2240m', '92.6°C', '+75초'],
206
+ ['라파스 (볼리비아)', '3640m', '88.1°C', '+140초'],
207
+ ],
208
+ },
209
+ {
210
+ type: 'diagnostic',
211
+ variant: 'warning',
212
+ title: '녹색 테두리가 생기거나 잘 안 벗겨지나요?',
213
+ html: '녹색 테두리는 과조리로 인한 <strong>황화철</strong> 반응입니다. 만약 껍질이 잘 안 벗겨진다면 계란이 너무 신선하기 때문입니다. 낮은 pH 농도가 흰자를 막에 밀착시킵니다. 1주일 정도 지난 계란을 사용하고 얼음물 샤워를 꼭 하세요.',
214
+ },
215
+ {
216
+ type: 'title',
217
+ text: '계란 과학 용어 사전',
218
+ level: 3,
219
+ },
220
+ {
221
+ type: 'glossary',
222
+ items: [
223
+ {
224
+ term: '오보트랜스페린',
225
+ definition: '흰자 단백질 중 가장 먼저 응고(62°C)되어 구조를 형성하는 성분.',
226
+ },
227
+ {
228
+ term: '오브알부민',
229
+ definition: '완전한 고체화를 위해 더 높은 열(80°C)이 필요한 주요 단백질.',
230
+ },
231
+ {
232
+ term: '기압',
233
+ definition: '지형에 따라 물이 끓는 온도를 결정하는 지배적인 요인.',
234
+ },
235
+ {
236
+ term: '열 충격 (Heat Shock)',
237
+ definition: '잔열 조리를 즉각 멈추기 위해 얼음물에 담그는 행위.',
238
+ },
239
+ ],
240
+ },
241
+ {
242
+ type: 'tip',
243
+ title: '식초의 마법',
244
+ html: '물에 식초 한 스푼을 넣으세요. 껍질에 금이 가더라도 산성 성분이 흘러나오는 흰자를 빨리 굳게 하여 틈새를 메워줍니다.',
245
+ },
246
+ {
247
+ type: 'paragraph',
248
+ html: '우리의 타이머는 찰스 윌리엄스 방정식을 사용하여 위치와 냉장고 상태에 맞춰 1초 단위까지 정밀하게 조정합니다.',
249
+ },
250
+ ],
251
+ schemas: [faqSchema, howToSchema, appSchema],
252
+ };