@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,202 +1,202 @@
1
- import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
2
- import type { ToolLocaleContent } from '../../../types';
3
- import { bibliography } from '../bibliography';
4
- import type { NeedleConverterUI } from '../ui';
5
-
6
- const slug = 'knitting-needle-converter';
7
- const title = '棒针与钩针尺寸转换器';
8
- const description = '在公制 (mm)、美标 (US) 和英标 (UK) 系统之间转换针号尺寸,并提供建议的线材和 WPI 建议。';
9
-
10
- const faqData = [
11
- {
12
- question: '为什么会有不同的针号尺寸系统?',
13
- answer: '由于历史上每个国家都开发了自己的系统。公制系统 (mm) 是最精确的国际标准。美标系统使用递增编号 (0-50),而英标系统使用反向编号:数字越大,针就越细。',
14
- },
15
- {
16
- question: '在美标系统中,钩针和棒针的尺寸是一样的吗?',
17
- answer: '不完全一样。美标钩针通常带有一个关联的字母(例如 H-8),而且在较细的规格中存在特定的变体。此外,用于细线的蕾丝钢钩针使用完全不同的编号系统。',
18
- },
19
- {
20
- question: '如果图案要求的尺寸没有完全对应的针号,我该如何选择?',
21
- answer: '如果图案要求例如 7.0mm,而您的系统中只有 6.5mm 或 8.0mm,建议务必制作织片(Gauge Swatch)。0.5mm 的差异可能会显著改变服装的最终尺寸。',
22
- },
23
- {
24
- question: '什么是 WPI (Wraps Per Inch)?',
25
- answer: '它是指一英寸(2.54 厘米)内可以缠绕的线圈数。这是识别没有标签的毛线粗细,并确定最适合编织该毛线的针号的最可靠方法。',
26
- },
27
- ];
28
-
29
- const howToData = [
30
- {
31
- name: '选择编织类型',
32
- text: '在棒针 (knitting) 或钩针 (crochet) 之间选择,以查看美标系统中的正确对应关系。',
33
- },
34
- {
35
- name: '在视觉选择器中选择规格',
36
- text: '点击对应于您针号尺寸的圆圈。这些孔洞与毫米读数保持了真实的数学比例。',
37
- },
38
- {
39
- name: '读取对应关系',
40
- text: '实时查看结果:毫米、美标尺寸和英标尺寸,以及推荐的线材类别及其 WPI。',
41
- },
42
- ];
43
-
44
- const faqSchema: WithContext<FAQPage> = {
45
- '@context': 'https://schema.org',
46
- '@type': 'FAQPage',
47
- mainEntity: faqData.map((item) => ({
48
- '@type': 'Question',
49
- name: item.question,
50
- acceptedAnswer: { '@type': 'Answer', text: item.answer },
51
- })),
52
- };
53
-
54
- const howToSchema: WithContext<HowTo> = {
55
- '@context': 'https://schema.org',
56
- '@type': 'HowTo',
57
- name: title,
58
- description,
59
- step: howToData.map((step) => ({
60
- '@type': 'HowToStep',
61
- name: step.name,
62
- text: step.text,
63
- })),
64
- };
65
-
66
- const appSchema: WithContext<SoftwareApplication> = {
67
- '@context': 'https://schema.org',
68
- '@type': 'SoftwareApplication',
69
- name: title,
70
- description,
71
- applicationCategory: 'UtilityApplication',
72
- operatingSystem: 'All',
73
- offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
74
- inLanguage: 'zh',
75
- };
76
-
77
- export const content: ToolLocaleContent<NeedleConverterUI> = {
78
- slug,
79
- title,
80
- description,
81
- faq: faqData,
82
- bibliography: bibliography,
83
- howTo: howToData,
84
- schemas: [faqSchema, howToSchema, appSchema],
85
- seo: [
86
- {
87
- type: 'title',
88
- text: '棒针与钩针技术指南:系统、规格与对应表',
89
- level: 2,
90
- },
91
- {
92
- type: 'paragraph',
93
- html: '随着数字图案的全球化,理解<strong>公制十进制系统</strong>、<strong>美国标准 (US)</strong> 和<strong>英国英制系统 (UK)</strong> 之间的差异已变得至关重要。本工具可在三个系统之间进行转换,并通过 WPI 方法提供线材建议。',
94
- },
95
- {
96
- type: 'stats',
97
- items: [
98
- { value: '离线', label: '无需网络即可使用', icon: 'mdi:wifi-off' },
99
- { value: '三重', label: '全系统同步', icon: 'mdi:sync' },
100
- { value: 'WPI', label: '线材粗细分析', icon: 'mdi:texture' },
101
- ],
102
- columns: 3,
103
- },
104
- {
105
- type: 'title',
106
- text: '国际系统的复杂性',
107
- level: 3,
108
- },
109
- {
110
- type: 'table',
111
- headers: ['系统', '计算基准', '主要流行区域', '技术特点'],
112
- rows: [
113
- ['<strong>公制 (mm)</strong>', '准确的毫米直径', '欧洲 / 国际', '最可靠的 ISO 标准。以 0.25mm 或 0.50mm 的恒定步长增加。'],
114
- ['<strong>US (美国)</strong>', '递增编号', '北美', '使用 0 到 50 的数字。在钩针中,数字与字母相关联(B-1, G-6)。'],
115
- ['<strong>UK (英制)</strong>', '反向编号', '英国 / 澳大利亚', '基于拉丝规格。数字越大,针号越细(14 是细,0 是粗)。'],
116
- ],
117
- },
118
- {
119
- type: 'title',
120
- text: '通过 WPI 方法识别线材',
121
- level: 3,
122
- },
123
- {
124
- type: 'list',
125
- items: [
126
- '<strong>Lace / 蕾丝线 (18-22+ WPI):</strong> 用于丝绸或马海毛蕾丝的极细线。建议针号 1.5mm 至 2.5mm。',
127
- '<strong>Fingering / 袜子/婴儿线 (14-16 WPI):</strong> 袜子和婴儿服的标准。最佳针号 2.75mm 至 3.25mm。',
128
- '<strong>Sport / 细线 (12-14 WPI):</strong> 中低粗细的线,理想用于轻便外套。建议针号 3.5mm 至 3.75mm。',
129
- '<strong>DK / 中粗线 (11-13 WPI):</strong> 市场上最通用的粗细。建议针号 4.0mm 或 4.5mm。',
130
- '<strong>Worsted / 粗线 (9-10 WPI):</strong> 冬季毛衣用的厚线。建议针号 5.0mm 至 5.5mm。',
131
- '<strong>Bulky / 极粗线 (7-8 WPI):</strong> 适用于快速完成项目的粗毛线。建议针号 6.0mm 至 8.0mm。',
132
- '<strong>Super Bulky / 超极粗线 (5-6 WPI):</strong> 用于装饰或围巾的巨型纤维。建议针号 9.0mm 至 15.0mm。',
133
- ],
134
- },
135
- {
136
- type: 'tip',
137
- title: '专业技术:蕾丝钢钩针',
138
- html: '<p>有一类专门用于极细丝光棉线的针号。它们就是 <strong>Steel Hooks (蕾丝钢钩针)</strong>。它们的编号是特定的且反向的:一个 #14 (0.6mm) 的钢钩针比 #00 (3.5mm) 的精细得多。切勿将标准表用于这些规格。</p>',
139
- },
140
- {
141
- type: 'diagnostic',
142
- variant: 'success',
143
- title: '正确选择规格的核查清单',
144
- icon: 'mdi:check-circle-outline',
145
- badge: '技术验证',
146
- html: '<p>在开始长期项目之前,请按照以下步骤操作:</p><ul><li><strong>个人张力:</strong> 如果您织得较紧,请选择大 0.5mm 的针。如果较松,请选择小 0.5mm 的针。</li><li><strong>针号材质:</strong> 顺滑的线用竹针;粗糙的毛线用金属针。</li><li><strong>纤维类型:</strong> 棉线没有弹性;美利奴羊毛在定型(blocking)过程中会膨胀。</li><li><strong>制作织片:</strong> 编织一个 10x10 厘米的正方形,并在测量最终尺寸前进行清洗。</li></ul>',
147
- },
148
- {
149
- type: 'proscons',
150
- items: [
151
- {
152
- pro: '公制系统具有通用性,并可避免制造商之间的进位误差。',
153
- con: '许多旧的或具有历史意义的图案不包含毫米尺寸。',
154
- },
155
- {
156
- pro: '美标系统便于记忆美国图案的标准尺寸。',
157
- con: '钩针中的字母在不同品牌之间并不总是一致的。',
158
- },
159
- {
160
- pro: 'WPI 系统允许以技术和专业的方式重新利用没有标签的线材。',
161
- con: '需要非常细致的手动测量,以免产生误差。',
162
- },
163
- ],
164
- },
165
- {
166
- type: 'glossary',
167
- items: [
168
- { term: 'Gauge Swatch', definition: '在开始项目前编织的样品块 (10x10cm),用于验证实际规格。' },
169
- { term: 'Hook Throat', definition: '钩针的护喉部位。其深度决定了针号可以处理的线材负荷。' },
170
- { term: 'Block Testing', definition: '通过湿润和拉伸织物的过程,使纤维放松并显示其真实的最终尺寸。' },
171
- ],
172
- },
173
- {
174
- type: 'summary',
175
- title: '纺织项目成功的关键因素',
176
- items: [
177
- '正确的针号不仅决定了尺寸,还决定了服装对抗摩擦的耐用性。',
178
- '使用我们的转换器,在几秒钟内验证美国或英国杂志的图案。',
179
- '如果找不到完全一致的针号,请根据您的织片选择大一号或小一号。',
180
- '在相同针号的情况下,钩针编织比棒针编织多消耗约 30% 的线材。',
181
- '定期清洁您的金属针,以保持最佳的滑动速度。',
182
- ],
183
- },
184
- ],
185
- ui: {
186
- labelSystem: '工作系统',
187
- modeKnitting: '棒针',
188
- modeCrochet: '钩针',
189
- calibratorLabel: '精密校准器(真实比例)',
190
- calibratorDesc: '选择一个直径以实时查看对应关系。这些孔洞与毫米读数保持了真实的数学比例。',
191
- tagMetric: '公制 (mm)',
192
- tagUS: '美标系统',
193
- tagUK: '英标系统',
194
- yarnLabel: '理想的线材粗细',
195
- wpiFormat: '{wpi} WPI (每英寸绕圈数)',
196
- tableSectionLabel: '规格对应技术目录',
197
- tableMetric: '公制',
198
- tableUS: '美国尺寸',
199
- tableUK: '英国 / 英制',
200
- tableYarn: '线材类别',
201
- },
202
- };
1
+ import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
2
+ import type { ToolLocaleContent } from '../../../types';
3
+ import { bibliography } from '../bibliography';
4
+ import type { NeedleConverterUI } from '../ui';
5
+
6
+ const slug = 'knitting-needle-converter';
7
+ const title = '棒针与钩针尺寸转换器';
8
+ const description = '在公制 (mm)、美标 (US) 和英标 (UK) 系统之间转换针号尺寸,并提供建议的线材和 WPI 建议。';
9
+
10
+ const faqData = [
11
+ {
12
+ question: '为什么会有不同的针号尺寸系统?',
13
+ answer: '由于历史上每个国家都开发了自己的系统。公制系统 (mm) 是最精确的国际标准。美标系统使用递增编号 (0-50),而英标系统使用反向编号:数字越大,针就越细。',
14
+ },
15
+ {
16
+ question: '在美标系统中,钩针和棒针的尺寸是一样的吗?',
17
+ answer: '不完全一样。美标钩针通常带有一个关联的字母(例如 H-8),而且在较细的规格中存在特定的变体。此外,用于细线的蕾丝钢钩针使用完全不同的编号系统。',
18
+ },
19
+ {
20
+ question: '如果图案要求的尺寸没有完全对应的针号,我该如何选择?',
21
+ answer: '如果图案要求例如 7.0mm,而您的系统中只有 6.5mm 或 8.0mm,建议务必制作织片(Gauge Swatch)。0.5mm 的差异可能会显著改变服装的最终尺寸。',
22
+ },
23
+ {
24
+ question: '什么是 WPI (Wraps Per Inch)?',
25
+ answer: '它是指一英寸(2.54 厘米)内可以缠绕的线圈数。这是识别没有标签的毛线粗细,并确定最适合编织该毛线的针号的最可靠方法。',
26
+ },
27
+ ];
28
+
29
+ const howToData = [
30
+ {
31
+ name: '选择编织类型',
32
+ text: '在棒针 (knitting) 或钩针 (crochet) 之间选择,以查看美标系统中的正确对应关系。',
33
+ },
34
+ {
35
+ name: '在视觉选择器中选择规格',
36
+ text: '点击对应于您针号尺寸的圆圈。这些孔洞与毫米读数保持了真实的数学比例。',
37
+ },
38
+ {
39
+ name: '读取对应关系',
40
+ text: '实时查看结果:毫米、美标尺寸和英标尺寸,以及推荐的线材类别及其 WPI。',
41
+ },
42
+ ];
43
+
44
+ const faqSchema: WithContext<FAQPage> = {
45
+ '@context': 'https://schema.org',
46
+ '@type': 'FAQPage',
47
+ mainEntity: faqData.map((item) => ({
48
+ '@type': 'Question',
49
+ name: item.question,
50
+ acceptedAnswer: { '@type': 'Answer', text: item.answer },
51
+ })),
52
+ };
53
+
54
+ const howToSchema: WithContext<HowTo> = {
55
+ '@context': 'https://schema.org',
56
+ '@type': 'HowTo',
57
+ name: title,
58
+ description,
59
+ step: howToData.map((step) => ({
60
+ '@type': 'HowToStep',
61
+ name: step.name,
62
+ text: step.text,
63
+ })),
64
+ };
65
+
66
+ const appSchema: WithContext<SoftwareApplication> = {
67
+ '@context': 'https://schema.org',
68
+ '@type': 'SoftwareApplication',
69
+ name: title,
70
+ description,
71
+ applicationCategory: 'UtilityApplication',
72
+ operatingSystem: 'All',
73
+ offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
74
+ inLanguage: 'zh',
75
+ };
76
+
77
+ export const content: ToolLocaleContent<NeedleConverterUI> = {
78
+ slug,
79
+ title,
80
+ description,
81
+ faq: faqData,
82
+ bibliography: bibliography,
83
+ howTo: howToData,
84
+ schemas: [faqSchema, howToSchema, appSchema],
85
+ seo: [
86
+ {
87
+ type: 'title',
88
+ text: '棒针与钩针技术指南:系统、规格与对应表',
89
+ level: 2,
90
+ },
91
+ {
92
+ type: 'paragraph',
93
+ html: '随着数字图案的全球化,理解<strong>公制十进制系统</strong>、<strong>美国标准 (US)</strong> 和<strong>英国英制系统 (UK)</strong> 之间的差异已变得至关重要。本工具可在三个系统之间进行转换,并通过 WPI 方法提供线材建议。',
94
+ },
95
+ {
96
+ type: 'stats',
97
+ items: [
98
+ { value: '离线', label: '无需网络即可使用', icon: 'mdi:wifi-off' },
99
+ { value: '三重', label: '全系统同步', icon: 'mdi:sync' },
100
+ { value: 'WPI', label: '线材粗细分析', icon: 'mdi:texture' },
101
+ ],
102
+ columns: 3,
103
+ },
104
+ {
105
+ type: 'title',
106
+ text: '国际系统的复杂性',
107
+ level: 3,
108
+ },
109
+ {
110
+ type: 'table',
111
+ headers: ['系统', '计算基准', '主要流行区域', '技术特点'],
112
+ rows: [
113
+ ['<strong>公制 (mm)</strong>', '准确的毫米直径', '欧洲 / 国际', '最可靠的 ISO 标准。以 0.25mm 或 0.50mm 的恒定步长增加。'],
114
+ ['<strong>US (美国)</strong>', '递增编号', '北美', '使用 0 到 50 的数字。在钩针中,数字与字母相关联(B-1, G-6)。'],
115
+ ['<strong>UK (英制)</strong>', '反向编号', '英国 / 澳大利亚', '基于拉丝规格。数字越大,针号越细(14 是细,0 是粗)。'],
116
+ ],
117
+ },
118
+ {
119
+ type: 'title',
120
+ text: '通过 WPI 方法识别线材',
121
+ level: 3,
122
+ },
123
+ {
124
+ type: 'list',
125
+ items: [
126
+ '<strong>Lace / 蕾丝线 (18-22+ WPI):</strong> 用于丝绸或马海毛蕾丝的极细线。建议针号 1.5mm 至 2.5mm。',
127
+ '<strong>Fingering / 袜子/婴儿线 (14-16 WPI):</strong> 袜子和婴儿服的标准。最佳针号 2.75mm 至 3.25mm。',
128
+ '<strong>Sport / 细线 (12-14 WPI):</strong> 中低粗细的线,理想用于轻便外套。建议针号 3.5mm 至 3.75mm。',
129
+ '<strong>DK / 中粗线 (11-13 WPI):</strong> 市场上最通用的粗细。建议针号 4.0mm 或 4.5mm。',
130
+ '<strong>Worsted / 粗线 (9-10 WPI):</strong> 冬季毛衣用的厚线。建议针号 5.0mm 至 5.5mm。',
131
+ '<strong>Bulky / 极粗线 (7-8 WPI):</strong> 适用于快速完成项目的粗毛线。建议针号 6.0mm 至 8.0mm。',
132
+ '<strong>Super Bulky / 超极粗线 (5-6 WPI):</strong> 用于装饰或围巾的巨型纤维。建议针号 9.0mm 至 15.0mm。',
133
+ ],
134
+ },
135
+ {
136
+ type: 'tip',
137
+ title: '专业技术:蕾丝钢钩针',
138
+ html: '<p>有一类专门用于极细丝光棉线的针号。它们就是 <strong>Steel Hooks (蕾丝钢钩针)</strong>。它们的编号是特定的且反向的:一个 #14 (0.6mm) 的钢钩针比 #00 (3.5mm) 的精细得多。切勿将标准表用于这些规格。</p>',
139
+ },
140
+ {
141
+ type: 'diagnostic',
142
+ variant: 'success',
143
+ title: '正确选择规格的核查清单',
144
+ icon: 'mdi:check-circle-outline',
145
+ badge: '技术验证',
146
+ html: '<p>在开始长期项目之前,请按照以下步骤操作:</p><ul><li><strong>个人张力:</strong> 如果您织得较紧,请选择大 0.5mm 的针。如果较松,请选择小 0.5mm 的针。</li><li><strong>针号材质:</strong> 顺滑的线用竹针;粗糙的毛线用金属针。</li><li><strong>纤维类型:</strong> 棉线没有弹性;美利奴羊毛在定型(blocking)过程中会膨胀。</li><li><strong>制作织片:</strong> 编织一个 10x10 厘米的正方形,并在测量最终尺寸前进行清洗。</li></ul>',
147
+ },
148
+ {
149
+ type: 'proscons',
150
+ items: [
151
+ {
152
+ pro: '公制系统具有通用性,并可避免制造商之间的进位误差。',
153
+ con: '许多旧的或具有历史意义的图案不包含毫米尺寸。',
154
+ },
155
+ {
156
+ pro: '美标系统便于记忆美国图案的标准尺寸。',
157
+ con: '钩针中的字母在不同品牌之间并不总是一致的。',
158
+ },
159
+ {
160
+ pro: 'WPI 系统允许以技术和专业的方式重新利用没有标签的线材。',
161
+ con: '需要非常细致的手动测量,以免产生误差。',
162
+ },
163
+ ],
164
+ },
165
+ {
166
+ type: 'glossary',
167
+ items: [
168
+ { term: 'Gauge Swatch', definition: '在开始项目前编织的样品块 (10x10cm),用于验证实际规格。' },
169
+ { term: 'Hook Throat', definition: '钩针的护喉部位。其深度决定了针号可以处理的线材负荷。' },
170
+ { term: 'Block Testing', definition: '通过湿润和拉伸织物的过程,使纤维放松并显示其真实的最终尺寸。' },
171
+ ],
172
+ },
173
+ {
174
+ type: 'summary',
175
+ title: '纺织项目成功的关键因素',
176
+ items: [
177
+ '正确的针号不仅决定了尺寸,还决定了服装对抗摩擦的耐用性。',
178
+ '使用我们的转换器,在几秒钟内验证美国或英国杂志的图案。',
179
+ '如果找不到完全一致的针号,请根据您的织片选择大一号或小一号。',
180
+ '在相同针号的情况下,钩针编织比棒针编织多消耗约 30% 的线材。',
181
+ '定期清洁您的金属针,以保持最佳的滑动速度。',
182
+ ],
183
+ },
184
+ ],
185
+ ui: {
186
+ labelSystem: '工作系统',
187
+ modeKnitting: '棒针',
188
+ modeCrochet: '钩针',
189
+ calibratorLabel: '精密校准器(真实比例)',
190
+ calibratorDesc: '选择一个直径以实时查看对应关系。这些孔洞与毫米读数保持了真实的数学比例。',
191
+ tagMetric: '公制 (mm)',
192
+ tagUS: '美标系统',
193
+ tagUK: '英标系统',
194
+ yarnLabel: '理想的线材粗细',
195
+ wpiFormat: '{wpi} WPI (每英寸绕圈数)',
196
+ tableSectionLabel: '规格对应技术目录',
197
+ tableMetric: '公制',
198
+ tableUS: '美国尺寸',
199
+ tableUK: '英国 / 英制',
200
+ tableYarn: '线材类别',
201
+ },
202
+ };
@@ -1,15 +1,15 @@
1
- ---
2
- import { SEORenderer } from '@jjlmoya/utils-shared';
3
- import { needleConverter } from './index';
4
- import type { KnownLocale } from '../../types';
5
-
6
- interface Props {
7
- locale?: KnownLocale;
8
- }
9
-
10
- const { locale = 'es' } = Astro.props;
11
- const content = await needleConverter.i18n[locale]?.();
12
- if (!content) return null;
13
- ---
14
-
15
- {content.seo?.length > 0 && <SEORenderer content={{ locale, sections: content.seo }} />}
1
+ ---
2
+ import { SEORenderer } from '@jjlmoya/utils-shared';
3
+ import { needleConverter } from './index';
4
+ import type { KnownLocale } from '../../types';
5
+
6
+ interface Props {
7
+ locale?: KnownLocale;
8
+ }
9
+
10
+ const { locale = 'es' } = Astro.props;
11
+ const content = await needleConverter.i18n[locale]?.();
12
+ if (!content) return null;
13
+ ---
14
+
15
+ {content.seo?.length > 0 && <SEORenderer content={{ locale, sections: content.seo }} />}