@jjlmoya/utils-textiles 1.20.0 → 1.22.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 (209) hide show
  1. package/package.json +1 -1
  2. package/src/category/i18n/de.ts +76 -76
  3. package/src/category/i18n/en.ts +76 -76
  4. package/src/category/i18n/es.ts +76 -76
  5. package/src/category/i18n/fr.ts +76 -76
  6. package/src/category/i18n/id.ts +76 -76
  7. package/src/category/i18n/it.ts +76 -76
  8. package/src/category/i18n/ja.ts +76 -76
  9. package/src/category/i18n/ko.ts +76 -76
  10. package/src/category/i18n/nl.ts +76 -76
  11. package/src/category/i18n/pl.ts +76 -76
  12. package/src/category/i18n/pt.ts +76 -76
  13. package/src/category/i18n/ru.ts +76 -76
  14. package/src/category/i18n/sv.ts +76 -76
  15. package/src/category/i18n/zh.ts +76 -76
  16. package/src/category/index.ts +2 -0
  17. package/src/category/seo.astro +1 -1
  18. package/src/components/PreviewNavSidebar.astro +1 -1
  19. package/src/components/PreviewToolbar.astro +1 -1
  20. package/src/data.ts +1 -1
  21. package/src/entries.ts +4 -1
  22. package/src/env.d.ts +1 -1
  23. package/src/index.ts +1 -1
  24. package/src/layouts/PreviewLayout.astro +113 -113
  25. package/src/pages/index.astro +1 -1
  26. package/src/tests/faq_count.test.ts +19 -19
  27. package/src/tests/i18n_coverage.test.ts +4 -2
  28. package/src/tests/locale_spelling.test.ts +44 -0
  29. package/src/tests/mocks/astro_mock.js +1 -1
  30. package/src/tests/no_en_dash.test.ts +70 -70
  31. package/src/tests/no_h1_in_components.test.ts +1 -1
  32. package/src/tests/seo_length.test.ts +22 -22
  33. package/src/tests/seo_translation_completeness.test.ts +69 -0
  34. package/src/tests/spanish_leakage.test.ts +175 -153
  35. package/src/tests/tool_validation.test.ts +17 -17
  36. package/src/tool/burnTest/i18n/es.ts +211 -211
  37. package/src/tool/burnTest/i18n/fr.ts +211 -211
  38. package/src/tool/burnTest/i18n/ja.ts +211 -211
  39. package/src/tool/burnTest/i18n/ko.ts +211 -211
  40. package/src/tool/burnTest/i18n/pl.ts +211 -211
  41. package/src/tool/burnTest/i18n/ru.ts +211 -211
  42. package/src/tool/burnTest/i18n/sv.ts +211 -211
  43. package/src/tool/burnTest/i18n/zh.ts +211 -211
  44. package/src/tool/burnTest/seo.astro +15 -15
  45. package/src/tool/clothingSizeConverter/i18n/de.ts +348 -348
  46. package/src/tool/clothingSizeConverter/i18n/en.ts +348 -348
  47. package/src/tool/clothingSizeConverter/i18n/fr.ts +348 -348
  48. package/src/tool/clothingSizeConverter/i18n/ja.ts +348 -348
  49. package/src/tool/clothingSizeConverter/i18n/ko.ts +348 -348
  50. package/src/tool/clothingSizeConverter/i18n/nl.ts +348 -348
  51. package/src/tool/clothingSizeConverter/i18n/pl.ts +348 -348
  52. package/src/tool/clothingSizeConverter/i18n/ru.ts +348 -348
  53. package/src/tool/clothingSizeConverter/i18n/sv.ts +348 -348
  54. package/src/tool/clothingSizeConverter/i18n/tr.ts +348 -348
  55. package/src/tool/clothingSizeConverter/i18n/zh.ts +348 -348
  56. package/src/tool/clothingSizeConverter/seo.astro +15 -15
  57. package/src/tool/embroideryStitchPricingEstimator/bibliography.astro +6 -0
  58. package/src/tool/embroideryStitchPricingEstimator/bibliography.ts +12 -0
  59. package/src/tool/embroideryStitchPricingEstimator/component.astro +111 -0
  60. package/src/tool/embroideryStitchPricingEstimator/controller.ts +111 -0
  61. package/src/tool/embroideryStitchPricingEstimator/dom-views.ts +94 -0
  62. package/src/tool/embroideryStitchPricingEstimator/embroidery-stitch-count-pricing-estimator.css +438 -0
  63. package/src/tool/embroideryStitchPricingEstimator/entry.ts +29 -0
  64. package/src/tool/embroideryStitchPricingEstimator/evaluator.ts +22 -0
  65. package/src/tool/embroideryStitchPricingEstimator/i18n/de.ts +38 -0
  66. package/src/tool/embroideryStitchPricingEstimator/i18n/en.ts +194 -0
  67. package/src/tool/embroideryStitchPricingEstimator/i18n/es.ts +38 -0
  68. package/src/tool/embroideryStitchPricingEstimator/i18n/fr.ts +38 -0
  69. package/src/tool/embroideryStitchPricingEstimator/i18n/id.ts +38 -0
  70. package/src/tool/embroideryStitchPricingEstimator/i18n/it.ts +38 -0
  71. package/src/tool/embroideryStitchPricingEstimator/i18n/ja.ts +38 -0
  72. package/src/tool/embroideryStitchPricingEstimator/i18n/ko.ts +38 -0
  73. package/src/tool/embroideryStitchPricingEstimator/i18n/nl.ts +38 -0
  74. package/src/tool/embroideryStitchPricingEstimator/i18n/pl.ts +38 -0
  75. package/src/tool/embroideryStitchPricingEstimator/i18n/pt.ts +38 -0
  76. package/src/tool/embroideryStitchPricingEstimator/i18n/ru.ts +38 -0
  77. package/src/tool/embroideryStitchPricingEstimator/i18n/sv.ts +38 -0
  78. package/src/tool/embroideryStitchPricingEstimator/i18n/tr.ts +38 -0
  79. package/src/tool/embroideryStitchPricingEstimator/i18n/zh.ts +38 -0
  80. package/src/tool/embroideryStitchPricingEstimator/index.ts +11 -0
  81. package/src/tool/embroideryStitchPricingEstimator/logic.test.ts +40 -0
  82. package/src/tool/embroideryStitchPricingEstimator/logic.ts +86 -0
  83. package/src/tool/embroideryStitchPricingEstimator/seo.astro +15 -0
  84. package/src/tool/embroideryStitchPricingEstimator/storage.ts +20 -0
  85. package/src/tool/embroideryStitchPricingEstimator/ui.ts +53 -0
  86. package/src/tool/fabricProjectCalculator/i18n/de.ts +236 -236
  87. package/src/tool/fabricProjectCalculator/i18n/ja.ts +236 -236
  88. package/src/tool/fabricProjectCalculator/i18n/ko.ts +236 -236
  89. package/src/tool/fabricProjectCalculator/i18n/nl.ts +236 -236
  90. package/src/tool/fabricProjectCalculator/i18n/pl.ts +236 -236
  91. package/src/tool/fabricProjectCalculator/i18n/ru.ts +236 -236
  92. package/src/tool/fabricProjectCalculator/i18n/sv.ts +236 -236
  93. package/src/tool/fabricProjectCalculator/i18n/tr.ts +236 -236
  94. package/src/tool/fabricProjectCalculator/i18n/zh.ts +236 -236
  95. package/src/tool/fabricProjectCalculator/seo.astro +15 -15
  96. package/src/tool/fabricTruth/i18n/de.ts +268 -268
  97. package/src/tool/fabricTruth/i18n/en.ts +268 -268
  98. package/src/tool/fabricTruth/i18n/es.ts +302 -302
  99. package/src/tool/fabricTruth/i18n/fr.ts +268 -268
  100. package/src/tool/fabricTruth/i18n/id.ts +268 -268
  101. package/src/tool/fabricTruth/i18n/it.ts +268 -268
  102. package/src/tool/fabricTruth/i18n/ja.ts +268 -268
  103. package/src/tool/fabricTruth/i18n/ko.ts +268 -268
  104. package/src/tool/fabricTruth/i18n/nl.ts +268 -268
  105. package/src/tool/fabricTruth/i18n/pl.ts +268 -268
  106. package/src/tool/fabricTruth/i18n/pt.ts +268 -268
  107. package/src/tool/fabricTruth/i18n/ru.ts +268 -268
  108. package/src/tool/fabricTruth/i18n/sv.ts +268 -268
  109. package/src/tool/fabricTruth/i18n/tr.ts +268 -268
  110. package/src/tool/fabricTruth/i18n/zh.ts +272 -272
  111. package/src/tool/fabricTruth/seo.astro +15 -15
  112. package/src/tool/fiberPrep/i18n/de.ts +215 -215
  113. package/src/tool/fiberPrep/i18n/fr.ts +215 -215
  114. package/src/tool/fiberPrep/i18n/ja.ts +215 -215
  115. package/src/tool/fiberPrep/i18n/ko.ts +215 -215
  116. package/src/tool/fiberPrep/i18n/nl.ts +215 -215
  117. package/src/tool/fiberPrep/i18n/pl.ts +215 -215
  118. package/src/tool/fiberPrep/i18n/ru.ts +215 -215
  119. package/src/tool/fiberPrep/i18n/sv.ts +215 -215
  120. package/src/tool/fiberPrep/i18n/tr.ts +215 -215
  121. package/src/tool/fiberPrep/i18n/zh.ts +215 -215
  122. package/src/tool/fiberPrep/seo.astro +15 -15
  123. package/src/tool/knittingGauge/i18n/de.ts +224 -224
  124. package/src/tool/knittingGauge/i18n/ja.ts +224 -224
  125. package/src/tool/knittingGauge/i18n/ko.ts +224 -224
  126. package/src/tool/knittingGauge/i18n/pl.ts +224 -224
  127. package/src/tool/knittingGauge/i18n/ru.ts +224 -224
  128. package/src/tool/knittingGauge/i18n/tr.ts +224 -224
  129. package/src/tool/knittingGauge/i18n/zh.ts +224 -224
  130. package/src/tool/knittingGauge/seo.astro +15 -15
  131. package/src/tool/laundryGuide/i18n/de.ts +271 -271
  132. package/src/tool/laundryGuide/i18n/en.ts +271 -271
  133. package/src/tool/laundryGuide/i18n/es.ts +271 -271
  134. package/src/tool/laundryGuide/i18n/fr.ts +255 -255
  135. package/src/tool/laundryGuide/i18n/id.ts +271 -271
  136. package/src/tool/laundryGuide/i18n/it.ts +271 -271
  137. package/src/tool/laundryGuide/i18n/ja.ts +271 -271
  138. package/src/tool/laundryGuide/i18n/ko.ts +271 -271
  139. package/src/tool/laundryGuide/i18n/nl.ts +271 -271
  140. package/src/tool/laundryGuide/i18n/pl.ts +271 -271
  141. package/src/tool/laundryGuide/i18n/pt.ts +271 -271
  142. package/src/tool/laundryGuide/i18n/ru.ts +271 -271
  143. package/src/tool/laundryGuide/i18n/sv.ts +271 -271
  144. package/src/tool/laundryGuide/i18n/tr.ts +271 -271
  145. package/src/tool/laundryGuide/i18n/zh.ts +271 -271
  146. package/src/tool/laundryGuide/seo.astro +15 -15
  147. package/src/tool/needleConverter/i18n/de.ts +202 -202
  148. package/src/tool/needleConverter/i18n/es.ts +207 -207
  149. package/src/tool/needleConverter/i18n/fr.ts +207 -207
  150. package/src/tool/needleConverter/i18n/ja.ts +202 -202
  151. package/src/tool/needleConverter/i18n/ko.ts +202 -202
  152. package/src/tool/needleConverter/i18n/nl.ts +202 -202
  153. package/src/tool/needleConverter/i18n/pl.ts +202 -202
  154. package/src/tool/needleConverter/i18n/ru.ts +202 -202
  155. package/src/tool/needleConverter/i18n/sv.ts +202 -202
  156. package/src/tool/needleConverter/i18n/tr.ts +202 -202
  157. package/src/tool/needleConverter/i18n/zh.ts +202 -202
  158. package/src/tool/needleConverter/seo.astro +15 -15
  159. package/src/tool/sewingPatternScaler/component.astro +236 -236
  160. package/src/tool/sewingPatternScaler/i18n/fr.ts +170 -170
  161. package/src/tool/sewingPatternScaler/i18n/ja.ts +114 -114
  162. package/src/tool/sewingPatternScaler/i18n/ko.ts +114 -114
  163. package/src/tool/sewingPatternScaler/i18n/nl.ts +114 -114
  164. package/src/tool/sewingPatternScaler/i18n/pl.ts +114 -114
  165. package/src/tool/sewingPatternScaler/i18n/ru.ts +114 -114
  166. package/src/tool/sewingPatternScaler/i18n/sv.ts +114 -114
  167. package/src/tool/sewingPatternScaler/i18n/tr.ts +114 -114
  168. package/src/tool/sewingPatternScaler/i18n/zh.ts +114 -114
  169. package/src/tool/sewingPatternScaler/seo.astro +15 -15
  170. package/src/tool/shoeSizeConverter/i18n/fr.ts +183 -183
  171. package/src/tool/shoeSizeConverter/i18n/ja.ts +179 -179
  172. package/src/tool/shoeSizeConverter/i18n/ko.ts +179 -179
  173. package/src/tool/shoeSizeConverter/i18n/nl.ts +179 -179
  174. package/src/tool/shoeSizeConverter/i18n/pl.ts +179 -179
  175. package/src/tool/shoeSizeConverter/i18n/ru.ts +179 -179
  176. package/src/tool/shoeSizeConverter/i18n/sv.ts +179 -179
  177. package/src/tool/shoeSizeConverter/i18n/tr.ts +179 -179
  178. package/src/tool/shoeSizeConverter/i18n/zh.ts +179 -179
  179. package/src/tool/shoeSizeConverter/seo.astro +15 -15
  180. package/src/tool/stainChemistry/bibliography.ts +16 -16
  181. package/src/tool/stainChemistry/i18n/de.ts +286 -286
  182. package/src/tool/stainChemistry/i18n/en.ts +289 -289
  183. package/src/tool/stainChemistry/i18n/es.ts +286 -286
  184. package/src/tool/stainChemistry/i18n/fr.ts +296 -296
  185. package/src/tool/stainChemistry/i18n/id.ts +286 -286
  186. package/src/tool/stainChemistry/i18n/it.ts +286 -286
  187. package/src/tool/stainChemistry/i18n/ja.ts +286 -286
  188. package/src/tool/stainChemistry/i18n/ko.ts +283 -283
  189. package/src/tool/stainChemistry/i18n/nl.ts +286 -286
  190. package/src/tool/stainChemistry/i18n/pl.ts +286 -286
  191. package/src/tool/stainChemistry/i18n/pt.ts +286 -286
  192. package/src/tool/stainChemistry/i18n/ru.ts +286 -286
  193. package/src/tool/stainChemistry/i18n/sv.ts +286 -286
  194. package/src/tool/stainChemistry/i18n/tr.ts +286 -286
  195. package/src/tool/stainChemistry/i18n/zh.ts +281 -281
  196. package/src/tool/stainChemistry/seo.astro +15 -15
  197. package/src/tool/yarnCalculator/i18n/de.ts +296 -296
  198. package/src/tool/yarnCalculator/i18n/es.ts +296 -296
  199. package/src/tool/yarnCalculator/i18n/fr.ts +296 -296
  200. package/src/tool/yarnCalculator/i18n/ja.ts +296 -296
  201. package/src/tool/yarnCalculator/i18n/ko.ts +296 -296
  202. package/src/tool/yarnCalculator/i18n/nl.ts +296 -296
  203. package/src/tool/yarnCalculator/i18n/pl.ts +296 -296
  204. package/src/tool/yarnCalculator/i18n/ru.ts +296 -296
  205. package/src/tool/yarnCalculator/i18n/sv.ts +296 -296
  206. package/src/tool/yarnCalculator/i18n/tr.ts +296 -296
  207. package/src/tool/yarnCalculator/i18n/zh.ts +295 -295
  208. package/src/tool/yarnCalculator/seo.astro +15 -15
  209. package/src/tools.ts +2 -2
@@ -1,296 +1,296 @@
1
- import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
2
- import type { ToolLocaleContent } from '../../../types';
3
- import { bibliography } from '../bibliography';
4
- import type { YarnCalculatorUI } from '../ui';
5
-
6
- const slug = 'yarn-calculator';
7
- const title = '毛糸計算機:必要なメートル数と玉数は?';
8
- const description =
9
- '編み図やサイズから、棒針編みやかぎ針編みのプロジェクトに必要な毛糸(ウールや糸)の量をメートル単位で正確に計算します。';
10
-
11
- const faqData = [
12
- {
13
- question: 'なぜかぎ針編みは棒針編みよりも毛糸を多く使うのですか?',
14
- answer:
15
- 'かぎ針編みは、結び目や重なり合うループを作ることで、1平方センチメートルあたりの密度が高く、厚みのある編み地になるためです。平均して、かぎ針編みのプロジェクトは、同じものを棒針(メリヤス編み)で編む場合よりも25%〜35%多く糸を消費します。',
16
- },
17
- {
18
- question: 'ロット(Dye Lot)が異なる毛糸を買うとどうなりますか?',
19
- answer:
20
- '店頭では全く同じ色に見えても、染色時のわずかな化学変化により、完成した作品を一緒に編むと目に見える「段差(色の違い)」が生じることがあります。ロット番号が同じであることを確認し、必要な分を一度に購入することを強くお勧めします。',
21
- },
22
- {
23
- question: 'ゲージ(編み目の密度)は最終的な消費量にどう影響しますか?',
24
- answer:
25
- 'ゆるく編むと、一目あたりの糸の消費量が増えます。もし自身のゲージが編み図の指定よりも大きい場合(例:15目の指定に対して13目になるなど)、毛糸の消費量は大幅に増加します。事前にゲージを取ることは非常に重要です。',
26
- },
27
- {
28
- question: '毛糸玉の重さしかわからない場合、メートル数はどう計算すればいいですか?',
29
- answer:
30
- 'メートル(長さ)のデータがないと正確な計算は困難です。ほとんどの毛糸玉のラベルには長さが記載されています。記載がない場合は、Ravelryなどのデータベースで毛糸名から検索し、50gまたは100gあたりの正確な長さを確認してください。',
31
- },
32
- ];
33
-
34
- const howToData = [
35
- {
36
- name: 'プロジェクトを選択する',
37
- text: 'セーター、マフラー、帽子、靴下、ブランケットの中から選び、特定の消費ベースを読み込みます。',
38
- },
39
- {
40
- name: 'サイズと糸の太さを設定する',
41
- text: '仕上がりサイズ(S、M、L、XL)と、使用する糸の太さ(Fingering, DK, Worsted, Bulky)を指定します。',
42
- },
43
- {
44
- name: '補正値を有効にする',
45
- text: '編み図にアラン模様、交差編み、または複雑なテクスチャがある場合は、テクスチャスイッチをオンにして必要な増分を追加します。',
46
- },
47
- {
48
- name: '購入リストを確認する',
49
- text: '選んだ毛糸の1玉あたりのメートル数を入力すると、カートに入れるべき正確な個数が表示されます。',
50
- },
51
- ];
52
-
53
- const faqSchema: WithContext<FAQPage> = {
54
- '@context': 'https://schema.org',
55
- '@type': 'FAQPage',
56
- mainEntity: faqData.map((item) => ({
57
- '@type': 'Question',
58
- name: item.question,
59
- acceptedAnswer: { '@type': 'Answer', text: item.answer },
60
- })),
61
- };
62
-
63
- const howToSchema: WithContext<HowTo> = {
64
- '@context': 'https://schema.org',
65
- '@type': 'HowTo',
66
- name: title,
67
- description,
68
- step: howToData.map((step) => ({
69
- '@type': 'HowToStep',
70
- name: step.name,
71
- text: step.text,
72
- })),
73
- };
74
-
75
- const appSchema: WithContext<SoftwareApplication> = {
76
- '@context': 'https://schema.org',
77
- '@type': 'SoftwareApplication',
78
- name: title,
79
- description,
80
- applicationCategory: 'UtilityApplication',
81
- operatingSystem: 'All',
82
- offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
83
- inLanguage: 'ja',
84
- };
85
-
86
- export const content: ToolLocaleContent<YarnCalculatorUI> = {
87
- slug,
88
- title,
89
- description,
90
- faq: faqData,
91
- bibliography: bibliography,
92
- howTo: howToData,
93
- schemas: [faqSchema, howToSchema, appSchema],
94
- seo: [
95
- {
96
- type: 'title',
97
- text: '毛糸消費ガイド:プロジェクトに必要な長さと玉数の計算方法',
98
- level: 2,
99
- },
100
- {
101
- type: 'paragraph',
102
- html: '編み物のロジスティクスをマスターし、棒針・かぎ針編み用の高精度なテクニカル計算機で糸不足を防ぎましょう。編み物をされる方にとって最大の恐怖の一つは<strong>「ヤーン・チキン(Yarn Chicken)」</strong>です。これは、プロジェクトの終盤に、最後の目を閉じる前に糸が足りなくなるのではないかとハラハラする瞬間のことです。この計算機は、業界標準の長さと重さのデータに基づいた見積もりを提供するために開発されました。',
103
- },
104
- {
105
- type: 'stats',
106
- items: [
107
- { value: '+10%', label: 'パニック・マージン', icon: 'mdi:security' },
108
- { value: 'メートル制', label: '長さで計算', icon: 'mdi:ruler' },
109
- { value: 'オフライン', label: 'ローカルDB', icon: 'mdi:wifi-off' },
110
- ],
111
- columns: 3,
112
- },
113
- {
114
- type: 'title',
115
- text: 'なぜ毛糸玉の「重さ」は紛らわしいのか?',
116
- level: 3,
117
- },
118
- {
119
- type: 'paragraph',
120
- html: '初心者の多くは、重さ(例:「100gの玉を6玉」)だけで毛糸を購入する間違いを犯しがちです。しかし、重さは質量の単位であり、長さの単位ではありません。同じ100gの毛糸でも、長さは劇的に異なります。例えば、極太の<strong>Bulky</strong>タイプなら80メートルほどしかない一方、<strong>Fingering / Lace</strong>タイプなら同じ重さで450メートルを超えることもあります。',
121
- },
122
- {
123
- type: 'paragraph',
124
- html: 'そのため、私たちの計算機は常に<strong>「総メートル数」</strong>を優先します。自身のサイズとプロジェクトに必要な総距離が分かれば、使用する毛糸のラベルに記載されている長さで割ることで、購入すべき正確な個数を導き出すことができます。',
125
- },
126
- {
127
- type: 'title',
128
- text: '糸の太さ別標準メートル数表',
129
- level: 3,
130
- },
131
- {
132
- type: 'paragraph',
133
- html: 'ラベルがお手元にない場合は、見積もりの参考にこちらの数値(繊維100gあたりの目安)を使用してください:',
134
- },
135
- {
136
- type: 'table',
137
- headers: ['糸の太さ (Weight)', '目安の長さ / 100g', '推奨される用途', '推奨される針'],
138
- rows: [
139
- ['<strong>Lace / 0</strong>', '600 - 900m', 'レースショール、透かし編み', '1.5 - 2.5mm'],
140
- ['<strong>Fingering / 1</strong>', '360 - 450m', '靴下、ベビー服', '2.25 - 3.25mm'],
141
- ['<strong>Sport / 2</strong>', '270 - 320m', '軽いジャケット', '3.25 - 3.75mm'],
142
- ['<strong>DK / 3</strong>', '200 - 250m', 'セーター、帽子', '3.75 - 4.5mm'],
143
- ['<strong>Worsted / 4</strong>', '180 - 220m', 'ブランケット、コート', '4.5 - 5.5mm'],
144
- ['<strong>Bulky / 5</strong>', '100 - 140m', '超極太マフラー、ひざ掛け', '6.0 - 8.0mm'],
145
- ],
146
- },
147
- {
148
- type: 'tip',
149
- title: 'ゲージ(Gauge)の重要性',
150
- html: '<p>ゆるく編むと、編み目が大きくなり、きつく編む場合よりも多くの糸を消費することを忘れないでください。この計算機は安全マージンを適用していますが、自身の手が極端にゆるい場合は、不足を防ぐために結果にさらに5〜10%加算することを検討してください。</p>',
151
- },
152
- {
153
- type: 'title',
154
- text: '糸の消費量を増大させる要因',
155
- level: 3,
156
- },
157
- {
158
- type: 'paragraph',
159
- html: 'すべての編み方が同じ量の繊維を消費するわけではありません。デザインを選ぶ際は、以下の割増要因を考慮してください:',
160
- },
161
- {
162
- type: 'comparative',
163
- items: [
164
- {
165
- title: 'メリヤス編み / 天竺編み',
166
- description: 'あらゆる衣類において、ベースとなる消費量と最高の糸効率を表します。',
167
- icon: 'mdi:minus-circle-outline',
168
- points: ['初心者に最適', '生地の自然なドレープ感'],
169
- },
170
- {
171
- title: 'アラン模様 / 交差編み',
172
- description: '繊維を交差させることで編み地が「縮まり」、消費量は約25%増加します。',
173
- icon: 'mdi:texture-box',
174
- points: ['より長いメートル数が必要', '密度が高く重厚な編み地'],
175
- pointIcon: 'mdi:alert-circle-outline',
176
- },
177
- {
178
- title: 'かぎ針編み (Crochet)',
179
- description: 'かぎ針編みの結び目は、棒針編みよりも約30%多く糸を使用します。',
180
- icon: 'mdi:hook',
181
- points: ['毛糸玉の減りが早い', '立体的なテクスチャ'],
182
- pointIcon: 'mdi:alert-circle-outline',
183
- },
184
- {
185
- title: 'ゴム編み (Ribbing)',
186
- description: '表目と裏目の構造により、1平方センチメートルあたりの毛糸密度が高まります。',
187
- icon: 'mdi:unfold-more-horizontal',
188
- points: ['中程度の消費増 (+15%)', '高い伸縮回復性'],
189
- },
190
- ],
191
- columns: 2,
192
- },
193
- {
194
- type: 'title',
195
- text: '慎重な編み手のための用語集',
196
- level: 3,
197
- },
198
- {
199
- type: 'glossary',
200
- items: [
201
- {
202
- term: 'ロット (Dye Lot)',
203
- definition:
204
- '毛糸を染めた釜を識別する番号。ロットが異なると、玉の状態では気づかなくても完成作品では色の違いが目立つことがあります。',
205
- },
206
- {
207
- term: 'スタッシュ (Stash)',
208
- definition:
209
- '編み手が持っている個人的な糸のコレクション。ラベルのない残り糸の重さを把握することは、小物作りにおいて重要です。',
210
- },
211
- {
212
- term: 'Put-up',
213
- definition:
214
- '糸がどのような形(カセ、玉、コーン巻きなど)で提供されているか。使用前に玉巻き器などで巻く必要があるかどうかに影響します。',
215
- },
216
- {
217
- term: 'ヤーン・チキン (Yarn Chicken)',
218
- definition:
219
- '足りなそうな量の糸で、編み地の区切りを完成させようと挑戦すること。',
220
- },
221
- ],
222
- },
223
- {
224
- type: 'title',
225
- text: 'この計算結果の活用方法',
226
- level: 3,
227
- },
228
- {
229
- type: 'paragraph',
230
- html: 'ツールでメートル数と玉数が算出されたら、以下の手動確認ステップを行うことをお勧めします:',
231
- },
232
- {
233
- type: 'list',
234
- items: [
235
- '<strong>実際の毛糸の長さを確認する:</strong> すべての100g玉が200mあるとは限りません。ラベルでこのデータを確認し、最終的な計算を調整してください。',
236
- '<strong>装飾分の長さを加算する:</strong> マフラーにフリンジを付けたり、帽子にポンポンを付ける場合は、合計に50〜80メートル余分に足してください。',
237
- '<strong>ゲージを取る:</strong> 10x10 cmの正方形を編みます。それを精密はかりで量ります。もし20gあり、ブランケットが100x100(つまり100個分)なら、正確に2kgの毛糸が必要です。',
238
- '<strong>必ず同じロットで購入する:</strong> 計算結果が7玉だった場合、ロットが混ざることを防ぐため、またはとじはぎ分を考慮して8玉購入するなどの余裕を持ってください。',
239
- ],
240
- },
241
- {
242
- type: 'summary',
243
- title: '毛糸購入のための戦略的アドバイス',
244
- items: [
245
- '必要な長さを確保するため、グラム数よりもメートル数を優先してください。',
246
- 'かぎ針編みは棒針編みよりも大幅に毛糸を消費します。タイプ選択を調整してください。',
247
- '密なテクスチャ(交差編み)は、糸の予算を25%増やす必要があります。',
248
- '買い足しが必要になった時のために、必ず各ロットのラベルを1枚保管しておいてください。',
249
- '必須のゲージを取るために、10%の安全マージンを確保しておきましょう。',
250
- ],
251
- },
252
- ],
253
- ui: {
254
- sectionProject: '1. プロジェクトの種類',
255
- sectionSize: '2. 寸法 / サイズ',
256
- sectionWeight: '3. 糸の太さ',
257
- sectionPattern: '4. 編み図の特徴',
258
- sectionBall: '5. 毛糸玉のデータ',
259
- labelCables: '交差編みや密な模様はありますか?',
260
- labelGrams: 'グラム / 玉',
261
- labelMeters: 'メートル / 玉',
262
- weightFine: '細い',
263
- weightMedium: '普通',
264
- weightThick: '太い',
265
- weightXXL: '超極太',
266
- projectSweater: 'セーター',
267
- projectScarf: 'マフラー',
268
- projectHat: '帽子',
269
- projectSocks: '靴下',
270
- projectBlanket: 'ブランケット',
271
- projectCardigan: 'カーディガン',
272
- statPrefix: '推定総消費量',
273
- statSuffix: 'M',
274
- statNote: '10%の予備分を含めた最終メートル数です。',
275
- ballsFormatSingular: '{n} 玉購入',
276
- ballsFormatPlural: '{n} 玉購入',
277
- ballsDetailFormat: '1玉 {w}g / {m}m',
278
- alertTitle: '戦略的な安心のために:',
279
- alertText:
280
- 'この計算はすでに糸不足にならないよう配慮されています。購入時はロット番号(dye lot)が同じであることを確認してください。',
281
- schemeSleeveLabel: '袖',
282
- schemeSleeveEach: '各',
283
- schemeBodyLabel: '身頃',
284
- schemeTotalHat: '帽子合計',
285
- schemeTotalFlat: 'パーツ合計',
286
- schemeTotalSocks: '1ペア合計',
287
- sizeLabels: {
288
- sweater: ['S', 'M', 'L', 'XL'],
289
- cardigan: ['S', 'M', 'L', 'XL'],
290
- hat: ['子供', 'S', 'M', 'L'],
291
- scarf: ['ミニ', 'M', '大', 'マキシ'],
292
- socks: ['子供', '大人 S', '大人 M', '大人 L'],
293
- blanket: ['ベビー', 'ソファ', 'シングル', 'ダブル'],
294
- },
295
- },
296
- };
1
+ import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
2
+ import type { ToolLocaleContent } from '../../../types';
3
+ import { bibliography } from '../bibliography';
4
+ import type { YarnCalculatorUI } from '../ui';
5
+
6
+ const slug = 'yarn-calculator';
7
+ const title = '毛糸計算機:必要なメートル数と玉数は?';
8
+ const description =
9
+ '編み図やサイズから、棒針編みやかぎ針編みのプロジェクトに必要な毛糸(ウールや糸)の量をメートル単位で正確に計算します。';
10
+
11
+ const faqData = [
12
+ {
13
+ question: 'なぜかぎ針編みは棒針編みよりも毛糸を多く使うのですか?',
14
+ answer:
15
+ 'かぎ針編みは、結び目や重なり合うループを作ることで、1平方センチメートルあたりの密度が高く、厚みのある編み地になるためです。平均して、かぎ針編みのプロジェクトは、同じものを棒針(メリヤス編み)で編む場合よりも25%〜35%多く糸を消費します。',
16
+ },
17
+ {
18
+ question: 'ロット(Dye Lot)が異なる毛糸を買うとどうなりますか?',
19
+ answer:
20
+ '店頭では全く同じ色に見えても、染色時のわずかな化学変化により、完成した作品を一緒に編むと目に見える「段差(色の違い)」が生じることがあります。ロット番号が同じであることを確認し、必要な分を一度に購入することを強くお勧めします。',
21
+ },
22
+ {
23
+ question: 'ゲージ(編み目の密度)は最終的な消費量にどう影響しますか?',
24
+ answer:
25
+ 'ゆるく編むと、一目あたりの糸の消費量が増えます。もし自身のゲージが編み図の指定よりも大きい場合(例:15目の指定に対して13目になるなど)、毛糸の消費量は大幅に増加します。事前にゲージを取ることは非常に重要です。',
26
+ },
27
+ {
28
+ question: '毛糸玉の重さしかわからない場合、メートル数はどう計算すればいいですか?',
29
+ answer:
30
+ 'メートル(長さ)のデータがないと正確な計算は困難です。ほとんどの毛糸玉のラベルには長さが記載されています。記載がない場合は、Ravelryなどのデータベースで毛糸名から検索し、50gまたは100gあたりの正確な長さを確認してください。',
31
+ },
32
+ ];
33
+
34
+ const howToData = [
35
+ {
36
+ name: 'プロジェクトを選択する',
37
+ text: 'セーター、マフラー、帽子、靴下、ブランケットの中から選び、特定の消費ベースを読み込みます。',
38
+ },
39
+ {
40
+ name: 'サイズと糸の太さを設定する',
41
+ text: '仕上がりサイズ(S、M、L、XL)と、使用する糸の太さ(Fingering, DK, Worsted, Bulky)を指定します。',
42
+ },
43
+ {
44
+ name: '補正値を有効にする',
45
+ text: '編み図にアラン模様、交差編み、または複雑なテクスチャがある場合は、テクスチャスイッチをオンにして必要な増分を追加します。',
46
+ },
47
+ {
48
+ name: '購入リストを確認する',
49
+ text: '選んだ毛糸の1玉あたりのメートル数を入力すると、カートに入れるべき正確な個数が表示されます。',
50
+ },
51
+ ];
52
+
53
+ const faqSchema: WithContext<FAQPage> = {
54
+ '@context': 'https://schema.org',
55
+ '@type': 'FAQPage',
56
+ mainEntity: faqData.map((item) => ({
57
+ '@type': 'Question',
58
+ name: item.question,
59
+ acceptedAnswer: { '@type': 'Answer', text: item.answer },
60
+ })),
61
+ };
62
+
63
+ const howToSchema: WithContext<HowTo> = {
64
+ '@context': 'https://schema.org',
65
+ '@type': 'HowTo',
66
+ name: title,
67
+ description,
68
+ step: howToData.map((step) => ({
69
+ '@type': 'HowToStep',
70
+ name: step.name,
71
+ text: step.text,
72
+ })),
73
+ };
74
+
75
+ const appSchema: WithContext<SoftwareApplication> = {
76
+ '@context': 'https://schema.org',
77
+ '@type': 'SoftwareApplication',
78
+ name: title,
79
+ description,
80
+ applicationCategory: 'UtilityApplication',
81
+ operatingSystem: 'All',
82
+ offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
83
+ inLanguage: 'ja',
84
+ };
85
+
86
+ export const content: ToolLocaleContent<YarnCalculatorUI> = {
87
+ slug,
88
+ title,
89
+ description,
90
+ faq: faqData,
91
+ bibliography: bibliography,
92
+ howTo: howToData,
93
+ schemas: [faqSchema, howToSchema, appSchema],
94
+ seo: [
95
+ {
96
+ type: 'title',
97
+ text: '毛糸消費ガイド:プロジェクトに必要な長さと玉数の計算方法',
98
+ level: 2,
99
+ },
100
+ {
101
+ type: 'paragraph',
102
+ html: '編み物のロジスティクスをマスターし、棒針・かぎ針編み用の高精度なテクニカル計算機で糸不足を防ぎましょう。編み物をされる方にとって最大の恐怖の一つは<strong>「ヤーン・チキン(Yarn Chicken)」</strong>です。これは、プロジェクトの終盤に、最後の目を閉じる前に糸が足りなくなるのではないかとハラハラする瞬間のことです。この計算機は、業界標準の長さと重さのデータに基づいた見積もりを提供するために開発されました。',
103
+ },
104
+ {
105
+ type: 'stats',
106
+ items: [
107
+ { value: '+10%', label: 'パニック・マージン', icon: 'mdi:security' },
108
+ { value: 'メートル制', label: '長さで計算', icon: 'mdi:ruler' },
109
+ { value: 'オフライン', label: 'ローカルDB', icon: 'mdi:wifi-off' },
110
+ ],
111
+ columns: 3,
112
+ },
113
+ {
114
+ type: 'title',
115
+ text: 'なぜ毛糸玉の「重さ」は紛らわしいのか?',
116
+ level: 3,
117
+ },
118
+ {
119
+ type: 'paragraph',
120
+ html: '初心者の多くは、重さ(例:「100gの玉を6玉」)だけで毛糸を購入する間違いを犯しがちです。しかし、重さは質量の単位であり、長さの単位ではありません。同じ100gの毛糸でも、長さは劇的に異なります。例えば、極太の<strong>Bulky</strong>タイプなら80メートルほどしかない一方、<strong>Fingering / Lace</strong>タイプなら同じ重さで450メートルを超えることもあります。',
121
+ },
122
+ {
123
+ type: 'paragraph',
124
+ html: 'そのため、私たちの計算機は常に<strong>「総メートル数」</strong>を優先します。自身のサイズとプロジェクトに必要な総距離が分かれば、使用する毛糸のラベルに記載されている長さで割ることで、購入すべき正確な個数を導き出すことができます。',
125
+ },
126
+ {
127
+ type: 'title',
128
+ text: '糸の太さ別標準メートル数表',
129
+ level: 3,
130
+ },
131
+ {
132
+ type: 'paragraph',
133
+ html: 'ラベルがお手元にない場合は、見積もりの参考にこちらの数値(繊維100gあたりの目安)を使用してください:',
134
+ },
135
+ {
136
+ type: 'table',
137
+ headers: ['糸の太さ (Weight)', '目安の長さ / 100g', '推奨される用途', '推奨される針'],
138
+ rows: [
139
+ ['<strong>Lace / 0</strong>', '600 - 900m', 'レースショール、透かし編み', '1.5 - 2.5mm'],
140
+ ['<strong>Fingering / 1</strong>', '360 - 450m', '靴下、ベビー服', '2.25 - 3.25mm'],
141
+ ['<strong>Sport / 2</strong>', '270 - 320m', '軽いジャケット', '3.25 - 3.75mm'],
142
+ ['<strong>DK / 3</strong>', '200 - 250m', 'セーター、帽子', '3.75 - 4.5mm'],
143
+ ['<strong>Worsted / 4</strong>', '180 - 220m', 'ブランケット、コート', '4.5 - 5.5mm'],
144
+ ['<strong>Bulky / 5</strong>', '100 - 140m', '超極太マフラー、ひざ掛け', '6.0 - 8.0mm'],
145
+ ],
146
+ },
147
+ {
148
+ type: 'tip',
149
+ title: 'ゲージ(Gauge)の重要性',
150
+ html: '<p>ゆるく編むと、編み目が大きくなり、きつく編む場合よりも多くの糸を消費することを忘れないでください。この計算機は安全マージンを適用していますが、自身の手が極端にゆるい場合は、不足を防ぐために結果にさらに5〜10%加算することを検討してください。</p>',
151
+ },
152
+ {
153
+ type: 'title',
154
+ text: '糸の消費量を増大させる要因',
155
+ level: 3,
156
+ },
157
+ {
158
+ type: 'paragraph',
159
+ html: 'すべての編み方が同じ量の繊維を消費するわけではありません。デザインを選ぶ際は、以下の割増要因を考慮してください:',
160
+ },
161
+ {
162
+ type: 'comparative',
163
+ items: [
164
+ {
165
+ title: 'メリヤス編み / 天竺編み',
166
+ description: 'あらゆる衣類において、ベースとなる消費量と最高の糸効率を表します。',
167
+ icon: 'mdi:minus-circle-outline',
168
+ points: ['初心者に最適', '生地の自然なドレープ感'],
169
+ },
170
+ {
171
+ title: 'アラン模様 / 交差編み',
172
+ description: '繊維を交差させることで編み地が「縮まり」、消費量は約25%増加します。',
173
+ icon: 'mdi:texture-box',
174
+ points: ['より長いメートル数が必要', '密度が高く重厚な編み地'],
175
+ pointIcon: 'mdi:alert-circle-outline',
176
+ },
177
+ {
178
+ title: 'かぎ針編み (Crochet)',
179
+ description: 'かぎ針編みの結び目は、棒針編みよりも約30%多く糸を使用します。',
180
+ icon: 'mdi:hook',
181
+ points: ['毛糸玉の減りが早い', '立体的なテクスチャ'],
182
+ pointIcon: 'mdi:alert-circle-outline',
183
+ },
184
+ {
185
+ title: 'ゴム編み (Ribbing)',
186
+ description: '表目と裏目の構造により、1平方センチメートルあたりの毛糸密度が高まります。',
187
+ icon: 'mdi:unfold-more-horizontal',
188
+ points: ['中程度の消費増 (+15%)', '高い伸縮回復性'],
189
+ },
190
+ ],
191
+ columns: 2,
192
+ },
193
+ {
194
+ type: 'title',
195
+ text: '慎重な編み手のための用語集',
196
+ level: 3,
197
+ },
198
+ {
199
+ type: 'glossary',
200
+ items: [
201
+ {
202
+ term: 'ロット (Dye Lot)',
203
+ definition:
204
+ '毛糸を染めた釜を識別する番号。ロットが異なると、玉の状態では気づかなくても完成作品では色の違いが目立つことがあります。',
205
+ },
206
+ {
207
+ term: 'スタッシュ (Stash)',
208
+ definition:
209
+ '編み手が持っている個人的な糸のコレクション。ラベルのない残り糸の重さを把握することは、小物作りにおいて重要です。',
210
+ },
211
+ {
212
+ term: 'Put-up',
213
+ definition:
214
+ '糸がどのような形(カセ、玉、コーン巻きなど)で提供されているか。使用前に玉巻き器などで巻く必要があるかどうかに影響します。',
215
+ },
216
+ {
217
+ term: 'ヤーン・チキン (Yarn Chicken)',
218
+ definition:
219
+ '足りなそうな量の糸で、編み地の区切りを完成させようと挑戦すること。',
220
+ },
221
+ ],
222
+ },
223
+ {
224
+ type: 'title',
225
+ text: 'この計算結果の活用方法',
226
+ level: 3,
227
+ },
228
+ {
229
+ type: 'paragraph',
230
+ html: 'ツールでメートル数と玉数が算出されたら、以下の手動確認ステップを行うことをお勧めします:',
231
+ },
232
+ {
233
+ type: 'list',
234
+ items: [
235
+ '<strong>実際の毛糸の長さを確認する:</strong> すべての100g玉が200mあるとは限りません。ラベルでこのデータを確認し、最終的な計算を調整してください。',
236
+ '<strong>装飾分の長さを加算する:</strong> マフラーにフリンジを付けたり、帽子にポンポンを付ける場合は、合計に50〜80メートル余分に足してください。',
237
+ '<strong>ゲージを取る:</strong> 10x10 cmの正方形を編みます。それを精密はかりで量ります。もし20gあり、ブランケットが100x100(つまり100個分)なら、正確に2kgの毛糸が必要です。',
238
+ '<strong>必ず同じロットで購入する:</strong> 計算結果が7玉だった場合、ロットが混ざることを防ぐため、またはとじはぎ分を考慮して8玉購入するなどの余裕を持ってください。',
239
+ ],
240
+ },
241
+ {
242
+ type: 'summary',
243
+ title: '毛糸購入のための戦略的アドバイス',
244
+ items: [
245
+ '必要な長さを確保するため、グラム数よりもメートル数を優先してください。',
246
+ 'かぎ針編みは棒針編みよりも大幅に毛糸を消費します。タイプ選択を調整してください。',
247
+ '密なテクスチャ(交差編み)は、糸の予算を25%増やす必要があります。',
248
+ '買い足しが必要になった時のために、必ず各ロットのラベルを1枚保管しておいてください。',
249
+ '必須のゲージを取るために、10%の安全マージンを確保しておきましょう。',
250
+ ],
251
+ },
252
+ ],
253
+ ui: {
254
+ sectionProject: '1. プロジェクトの種類',
255
+ sectionSize: '2. 寸法 / サイズ',
256
+ sectionWeight: '3. 糸の太さ',
257
+ sectionPattern: '4. 編み図の特徴',
258
+ sectionBall: '5. 毛糸玉のデータ',
259
+ labelCables: '交差編みや密な模様はありますか?',
260
+ labelGrams: 'グラム / 玉',
261
+ labelMeters: 'メートル / 玉',
262
+ weightFine: '細い',
263
+ weightMedium: '普通',
264
+ weightThick: '太い',
265
+ weightXXL: '超極太',
266
+ projectSweater: 'セーター',
267
+ projectScarf: 'マフラー',
268
+ projectHat: '帽子',
269
+ projectSocks: '靴下',
270
+ projectBlanket: 'ブランケット',
271
+ projectCardigan: 'カーディガン',
272
+ statPrefix: '推定総消費量',
273
+ statSuffix: 'M',
274
+ statNote: '10%の予備分を含めた最終メートル数です。',
275
+ ballsFormatSingular: '{n} 玉購入',
276
+ ballsFormatPlural: '{n} 玉購入',
277
+ ballsDetailFormat: '1玉 {w}g / {m}m',
278
+ alertTitle: '戦略的な安心のために:',
279
+ alertText:
280
+ 'この計算はすでに糸不足にならないよう配慮されています。購入時はロット番号(dye lot)が同じであることを確認してください。',
281
+ schemeSleeveLabel: '袖',
282
+ schemeSleeveEach: '各',
283
+ schemeBodyLabel: '身頃',
284
+ schemeTotalHat: '帽子合計',
285
+ schemeTotalFlat: 'パーツ合計',
286
+ schemeTotalSocks: '1ペア合計',
287
+ sizeLabels: {
288
+ sweater: ['S', 'M', 'L', 'XL'],
289
+ cardigan: ['S', 'M', 'L', 'XL'],
290
+ hat: ['子供', 'S', 'M', 'L'],
291
+ scarf: ['ミニ', 'M', '大', 'マキシ'],
292
+ socks: ['子供', '大人 S', '大人 M', '大人 L'],
293
+ blanket: ['ベビー', 'ソファ', 'シングル', 'ダブル'],
294
+ },
295
+ },
296
+ };