@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,268 +1,268 @@
1
- import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
2
- import type { ToolLocaleContent } from '../../../types';
3
- import { bibliography } from '../bibliography';
4
- import type { FabricTruthUI } from '../ui';
5
-
6
- const slug = 'fabric-truthfulness';
7
- const title = '織物の真実:繊維品質分析';
8
- const description = '衣類の組成を分析して、その真の品質を明らかにします。本物のコットンですか、それとも高価なプラスチックですか?科学的な繊維分析。';
9
-
10
- const faqData = [
11
- {
12
- question: 'ファッション界における「グリーンウォッシング」とは何ですか?',
13
- answer: '実質的な根拠なしに「エコ」や「サステナブル」といった言葉をブランドがマーケティングに使用する手法のことです。実際の繊維組成を分析することが、その衣類が本当に天然素材なのか合成素材なのかを確認する唯一の方法です。',
14
- },
15
- {
16
- question: 'なぜポリエステルはコットンよりも品質が低いとされることが多いのですか?',
17
- answer: 'ポリエステルはプラスチック(PET)の一種です。耐久性はありますが、通気性がなく、細菌による悪臭の原因になりやすく、洗濯のたびにマイクロプラスチックを排出します。コットンやリネンなどの天然繊維は、より優れた調温機能を持っています。',
18
- },
19
- {
20
- question: '衣類にポリウレタン(エラスタン)が含まれているのは良くないことですか?',
21
- answer: '少量(1〜5%)であれば、ポリウレタン(ライクラ)は快適な着心地とフィット感を与えてくれます。しかし、プラスチックと天然繊維を混ぜることはリサイクルを非常に困難にするため、しばしば「ファストファッション」の衣類であることを示唆します。',
22
- },
23
- {
24
- question: 'ラベルから高品質な衣類を見分けるにはどうすればよいですか?',
25
- answer: '単一素材の組成(コットン100%、ウール100%など)を探してください。複雑な混紡は、多くの場合、製造コストを抑えるために使用され、魅力的な商標名の裏に合成繊維が隠されていることがあります。',
26
- },
27
- ];
28
-
29
- const howToData = [
30
- {
31
- name: '内側のラベルを確認する',
32
- text: '衣類の内側サイドや首元にある白い組成表示ラベルを探します。',
33
- },
34
- {
35
- name: '成分を特定する',
36
- text: '各繊維の割合(例:コットン70%、ポリエステル30%)を読み取ります。',
37
- },
38
- {
39
- name: '分析ツールにデータを入力する',
40
- text: 'ラベルに記載された繊維の比率をツールに入力して、技術的な品質スコアを取得します。',
41
- },
42
- {
43
- name: '診断結果を解釈する',
44
- text: '生成されたレポートを確認し、通気性や耐久性、合成組成による特別なケアが必要かどうかを理解します。',
45
- },
46
- ];
47
-
48
- const faqSchema: WithContext<FAQPage> = {
49
- '@context': 'https://schema.org',
50
- '@type': 'FAQPage',
51
- mainEntity: faqData.map((item) => ({
52
- '@type': 'Question',
53
- name: item.question,
54
- acceptedAnswer: { '@type': 'Answer', text: item.answer },
55
- })),
56
- };
57
-
58
- const howToSchema: WithContext<HowTo> = {
59
- '@context': 'https://schema.org',
60
- '@type': 'HowTo',
61
- name: title,
62
- description: description,
63
- step: howToData.map((step) => ({
64
- '@type': 'HowToStep',
65
- name: step.name,
66
- text: step.text,
67
- })),
68
- };
69
-
70
- const appSchema: WithContext<SoftwareApplication> = {
71
- '@context': 'https://schema.org',
72
- '@type': 'SoftwareApplication',
73
- name: title,
74
- description: description,
75
- applicationCategory: 'UtilityApplication',
76
- operatingSystem: 'All',
77
- offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
78
- inLanguage: 'ja',
79
- };
80
-
81
- export const content: ToolLocaleContent<FabricTruthUI> = {
82
- slug,
83
- title,
84
- description,
85
- ui: {
86
- toolTitle: '織物の真実',
87
- addFiber: '繊維を追加',
88
- total: '合計',
89
- composition: '組成分析',
90
- description: 'ラベルに記載されている通りのパーセンテージを入力して、品質の真実を明らかにしましょう。',
91
- verdict: '判定',
92
- breathability: '通気性',
93
- durability: '耐久性',
94
- warmth: '保温性',
95
- careWarning: 'お手入れの警告',
96
- specialCareWarning: '標準的な洗濯:常に物理的なラベルの指示に従ってください。',
97
- validationError: '判定を表示するためには、組成の合計が正確に100%である必要があります。',
98
- actualTotal: '現在',
99
- missingLabel: '不足分',
100
- disclaimer: '通気性、耐久性、保温性のデータは、各繊維タイプの業界平均に基づいた推定値です。',
101
- careWarnings: {
102
- delicate: '非常にデリケート:水で手洗いしてください。乾燥機は使用しないでください。強く絞らないでください。',
103
- wool: 'ウール / 高級獣毛:専用プログラムを使用し、水で洗ってください。型崩れを防ぐため平干ししてください。乾燥機は使用しないでください。',
104
- linen: 'リネン:非常にシワになりやすい素材です。少し湿った状態でアイロンをかけると美しく仕上がります。',
105
- semisynthetic: '半合成繊維:濡れると強度が低下します。丁寧に取り扱い、強い脱水は避けてください。',
106
- standard: '標準的な洗濯:常に物理的なラベルの指示に従ってください。',
107
- },
108
- fiberData: {
109
- cotton: {
110
- name: 'コットン',
111
- family: 'natural',
112
- breathability: 9,
113
- durability: 7,
114
- warmth: 4,
115
- isNoble: false,
116
- },
117
- linen: {
118
- name: 'リネン',
119
- family: 'natural',
120
- breathability: 10,
121
- durability: 9,
122
- warmth: 2,
123
- isNoble: true,
124
- },
125
- wool: {
126
- name: 'ウール / メリノ',
127
- family: 'natural',
128
- breathability: 8,
129
- durability: 6,
130
- warmth: 10,
131
- isNoble: true,
132
- },
133
- silk: {
134
- name: 'シルク',
135
- family: 'natural',
136
- breathability: 7,
137
- durability: 5,
138
- warmth: 6,
139
- isNoble: true,
140
- },
141
- cashmere: {
142
- name: 'カシミヤ',
143
- family: 'natural',
144
- breathability: 9,
145
- durability: 5,
146
- warmth: 10,
147
- isNoble: true,
148
- },
149
- mohair: {
150
- name: 'モヘア',
151
- family: 'natural',
152
- breathability: 8,
153
- durability: 9,
154
- warmth: 9,
155
- isNoble: true,
156
- },
157
- angora: {
158
- name: 'アンゴラ',
159
- family: 'natural',
160
- breathability: 8,
161
- durability: 4,
162
- warmth: 10,
163
- isNoble: true,
164
- },
165
- alpaca: {
166
- name: 'アルパカ',
167
- family: 'natural',
168
- breathability: 9,
169
- durability: 8,
170
- warmth: 10,
171
- isNoble: true,
172
- },
173
- polyester: {
174
- name: 'ポリエステル',
175
- family: 'synthetic',
176
- breathability: 2,
177
- durability: 10,
178
- warmth: 5,
179
- isNoble: false,
180
- },
181
- viscose: {
182
- name: 'レーヨン / ビスコース',
183
- family: 'artificial',
184
- breathability: 8,
185
- durability: 4,
186
- warmth: 3,
187
- isNoble: false,
188
- },
189
- nylon: {
190
- name: 'ナイロン(ポリアミド)',
191
- family: 'synthetic',
192
- breathability: 3,
193
- durability: 10,
194
- warmth: 4,
195
- isNoble: false,
196
- },
197
- acrylic: {
198
- name: 'アクリル',
199
- family: 'synthetic',
200
- breathability: 4,
201
- durability: 6,
202
- warmth: 8,
203
- isNoble: false,
204
- },
205
- },
206
- verdicts: {
207
- plasticy: {
208
- label: '高価なプラスチック',
209
- description: 'この衣類の大部分は石油でできています。蒸れやすく、毛玉(ピリング)がすぐに発生する可能性があります。',
210
- },
211
- hook: {
212
- label: 'マーケティングの罠',
213
- description: 'そのわずかな高級繊維は、ラベルに記載するためだけに含まれています。そのメリットを実感できるほどではありません。',
214
- },
215
- fragile: {
216
- label: '柔らかいが脆い',
217
- description: '非常に心地よい肌触りですが、洗濯には注意が必要です。型崩れや縮みが発生しやすい素材です。',
218
- },
219
- natural: {
220
- label: '天然の品質',
221
- description: '通気性が良く耐久性のある衣類です。敏感肌の方や長時間の着用に最適です。',
222
- },
223
- technical: {
224
- label: 'テクニカル / 超合成衣類',
225
- description: '特別なスポーツウェアでない限り、純粋なプラスチックに代金を支払っていることになります。',
226
- },
227
- luxury: {
228
- label: '真のラグジュアリー',
229
- description: '快適さと耐久性への投資です。この素材にふさわしい丁寧な取り扱いをしてください。',
230
- },
231
- balanced: {
232
- label: 'バランスの良い混紡',
233
- description: '機能的な組み合わせです。おそらくコストと耐久性のバランスをとることを目的としています。',
234
- },
235
- },
236
- },
237
- seo: [
238
- { type: 'title', text: 'ラベルの裏にある真実:繊維組成マスターガイド', level: 2 },
239
- { type: 'paragraph', html: 'なぜあの有名ブランドのTシャツであんなに汗をかくのか、あるいはなぜあの「ウールの」セーターがあんなにチクチクするのか、不思議に思ったことはありませんか?その答えはデザインではなく、繊維の科学にあります。' },
240
- { type: 'paragraph', html: '<strong>ファストファッション</strong>が支配する世界では、生地の品質は一時的な美学の二の次にされてきました。しかし、繊維の組成を理解することは、賢く、長く使え、肌に優しい買い物をするための唯一の方法です。当ツールの<strong>「織物の真実」</strong>は、公式な含有率を分析し、それが高品質な衣類なのか、それとも単に加工されたプラスチックの塊なのかを明らかにします。' },
241
- { type: 'title', text: '当ツールの方法論', level: 2 },
242
- { type: 'paragraph', html: '欧米の業界標準から抽出された3つの基本要素に基づき、重み付けされたアルゴリズムを使用しています。' },
243
- { type: 'list', items: ['<strong>通気性:</strong> 繊維が水蒸気や空気を通す能力。', '<strong>耐久性:</strong> 摩耗や引っ張り、<strong>ピリング</strong>(毛玉)の発生しにくさ。', '<strong>熱効率:</strong> 保温性や放熱の能力。'] },
244
- { type: 'tip', title: '重要', html: 'EUや米国で販売されるすべての衣類について、成分を割合の多い順に記載することが法律で義務付けられています。ラベルがない、または読めない衣類は注意が必要です。最低限の安全性基準を満たしていない可能性があります。' },
245
- { type: 'title', text: '小売における一般的な「トリック」', level: 2 },
246
- { type: 'paragraph', html: '平凡な衣類の価値が高まっているように見せるための、非常に洗練されたマーケティング手法が存在します。それらを見抜く方法を紹介します。' },
247
- { type: 'card', title: '高級繊維の罠', icon: 'mdi:alert', html: '大きな文字で「カシミヤ混」や「シルク混」と書かれたラベルを目にすることがあります。組成を見ると、実際にはシルク3%、ポリエステル97%だったりします。その3%は柔らかさや光沢、暖かさには寄与しません。単にブランドが価格を20%吊り上げるためだけに存在します。' },
248
- { type: 'card', title: '「エコ・ビスコース」の神話', icon: 'mdi:leaf', html: 'ビスコースはセルロース(木材)から作られますが、現在の製造工程は環境汚染を引き起こしやすく、最終的な製品は濡れると強度が大幅に低下します。<strong>リヨセル</strong>や<strong>テンセル</strong>でない限り、その耐久性は限定的です。' },
249
- { type: 'title', text: 'カテゴリー別詳細分析', level: 2 },
250
- { type: 'title', text: '1. 天然繊維(誇り高きオーガニック)', level: 3 },
251
- { type: 'paragraph', html: '最高の基準です。超長綿(ピマコットンやエジプト綿など)は永遠の柔らかさを提供します。<strong>リネン</strong>は、熱を逃がし湿気を吸収する分子構造を持っているため、科学的に暑い時期に最適な繊維です。<strong>ウール</strong>や<strong>ヘンプ</strong>(麻)は天然の抗菌作用を持ち、臭いを保持しにくいため、頻繁に洗濯する必要がありません。' },
252
- { type: 'title', text: '2. 半合成繊維(ハイブリッド)', level: 3 },
253
- { type: 'paragraph', html: '<strong>ビスコース</strong>、<strong>レーヨン</strong>、<strong>モダール</strong>などが含まれます。シルクのような肌触りでありながら、コットンのような価格です。ドレープ感のある衣類には最適ですが、「喉が渇きやすい」性質があります。大量の水を吸収し、乾くのが遅いため、お手入れを怠るとカビの原因になることがあります。<strong>リヨセル(テンセル)</strong>は、このグループの中でも閉ループの製造工程を持つ、高品質でサステナブルな素材です。' },
254
- { type: 'title', text: '3. 合成繊維(紡がれたプラスチック)', level: 3 },
255
- { type: 'paragraph', html: '<strong>ポリエステル</strong>は市場の王様です。安価で、シワになりにくく、半永久的です(文字通り、分解されるまで200年かかります)。問題は「呼吸をしない」ことです。生地と肌の間に湿った微気候を作り出し、細菌の完璧な繁殖地となります。<strong>アクリル</strong>はウールの安価な模倣品です。暖かいですが、静電気が発生しやすく、2回の洗濯で毛玉だらけになります。' },
256
- { type: 'title', text: '衣類を長持ちさせるためのアドバイス', level: 2 },
257
- { type: 'paragraph', html: '世界最高の衣類であっても、たった一度の不適切な洗濯で台無しになることがあります。普遍的な黄金律は以下の通りです。' },
258
- { type: 'tip', title: '水洗いは最良の友', html: '衣類の90%は30℃以上の温度を必要としません。熱は弾力性のある繊維を劣化させ、天然繊維を縮ませます。' },
259
- { type: 'tip', title: '洗剤は少なめに', html: '洗剤の使いすぎは残留物を残し、汚れを引き寄せ、生地を硬くします。' },
260
- { type: 'tip', title: '乾燥機は「静かな敵」', html: '乾燥機のフィルターに溜まる糸くずは、摩擦と熱によって剥がれ落ちた、衣類そのものの一部です。' },
261
- { type: 'tip', title: '裏返して洗う', html: '色あせや刺繍を、洗濯槽や他の衣類との摩擦から守ります。' },
262
- { type: 'paragraph', html: '「少なく買い、より良く選び、長持ちさせる」 - - この分析ツールは、意識的で高品質なワードローブへの第一歩です。' },
263
- ],
264
- faq: faqData,
265
- bibliography: bibliography,
266
- howTo: howToData,
267
- schemas: [faqSchema, howToSchema, appSchema],
268
- };
1
+ import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
2
+ import type { ToolLocaleContent } from '../../../types';
3
+ import { bibliography } from '../bibliography';
4
+ import type { FabricTruthUI } from '../ui';
5
+
6
+ const slug = 'fabric-truthfulness';
7
+ const title = '織物の真実:繊維品質分析';
8
+ const description = '衣類の組成を分析して、その真の品質を明らかにします。本物のコットンですか、それとも高価なプラスチックですか?科学的な繊維分析。';
9
+
10
+ const faqData = [
11
+ {
12
+ question: 'ファッション界における「グリーンウォッシング」とは何ですか?',
13
+ answer: '実質的な根拠なしに「エコ」や「サステナブル」といった言葉をブランドがマーケティングに使用する手法のことです。実際の繊維組成を分析することが、その衣類が本当に天然素材なのか合成素材なのかを確認する唯一の方法です。',
14
+ },
15
+ {
16
+ question: 'なぜポリエステルはコットンよりも品質が低いとされることが多いのですか?',
17
+ answer: 'ポリエステルはプラスチック(PET)の一種です。耐久性はありますが、通気性がなく、細菌による悪臭の原因になりやすく、洗濯のたびにマイクロプラスチックを排出します。コットンやリネンなどの天然繊維は、より優れた調温機能を持っています。',
18
+ },
19
+ {
20
+ question: '衣類にポリウレタン(エラスタン)が含まれているのは良くないことですか?',
21
+ answer: '少量(1〜5%)であれば、ポリウレタン(ライクラ)は快適な着心地とフィット感を与えてくれます。しかし、プラスチックと天然繊維を混ぜることはリサイクルを非常に困難にするため、しばしば「ファストファッション」の衣類であることを示唆します。',
22
+ },
23
+ {
24
+ question: 'ラベルから高品質な衣類を見分けるにはどうすればよいですか?',
25
+ answer: '単一素材の組成(コットン100%、ウール100%など)を探してください。複雑な混紡は、多くの場合、製造コストを抑えるために使用され、魅力的な商標名の裏に合成繊維が隠されていることがあります。',
26
+ },
27
+ ];
28
+
29
+ const howToData = [
30
+ {
31
+ name: '内側のラベルを確認する',
32
+ text: '衣類の内側サイドや首元にある白い組成表示ラベルを探します。',
33
+ },
34
+ {
35
+ name: '成分を特定する',
36
+ text: '各繊維の割合(例:コットン70%、ポリエステル30%)を読み取ります。',
37
+ },
38
+ {
39
+ name: '分析ツールにデータを入力する',
40
+ text: 'ラベルに記載された繊維の比率をツールに入力して、技術的な品質スコアを取得します。',
41
+ },
42
+ {
43
+ name: '診断結果を解釈する',
44
+ text: '生成されたレポートを確認し、通気性や耐久性、合成組成による特別なケアが必要かどうかを理解します。',
45
+ },
46
+ ];
47
+
48
+ const faqSchema: WithContext<FAQPage> = {
49
+ '@context': 'https://schema.org',
50
+ '@type': 'FAQPage',
51
+ mainEntity: faqData.map((item) => ({
52
+ '@type': 'Question',
53
+ name: item.question,
54
+ acceptedAnswer: { '@type': 'Answer', text: item.answer },
55
+ })),
56
+ };
57
+
58
+ const howToSchema: WithContext<HowTo> = {
59
+ '@context': 'https://schema.org',
60
+ '@type': 'HowTo',
61
+ name: title,
62
+ description: description,
63
+ step: howToData.map((step) => ({
64
+ '@type': 'HowToStep',
65
+ name: step.name,
66
+ text: step.text,
67
+ })),
68
+ };
69
+
70
+ const appSchema: WithContext<SoftwareApplication> = {
71
+ '@context': 'https://schema.org',
72
+ '@type': 'SoftwareApplication',
73
+ name: title,
74
+ description: description,
75
+ applicationCategory: 'UtilityApplication',
76
+ operatingSystem: 'All',
77
+ offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
78
+ inLanguage: 'ja',
79
+ };
80
+
81
+ export const content: ToolLocaleContent<FabricTruthUI> = {
82
+ slug,
83
+ title,
84
+ description,
85
+ ui: {
86
+ toolTitle: '織物の真実',
87
+ addFiber: '繊維を追加',
88
+ total: '合計',
89
+ composition: '組成分析',
90
+ description: 'ラベルに記載されている通りのパーセンテージを入力して、品質の真実を明らかにしましょう。',
91
+ verdict: '判定',
92
+ breathability: '通気性',
93
+ durability: '耐久性',
94
+ warmth: '保温性',
95
+ careWarning: 'お手入れの警告',
96
+ specialCareWarning: '標準的な洗濯:常に物理的なラベルの指示に従ってください。',
97
+ validationError: '判定を表示するためには、組成の合計が正確に100%である必要があります。',
98
+ actualTotal: '現在',
99
+ missingLabel: '不足分',
100
+ disclaimer: '通気性、耐久性、保温性のデータは、各繊維タイプの業界平均に基づいた推定値です。',
101
+ careWarnings: {
102
+ delicate: '非常にデリケート:水で手洗いしてください。乾燥機は使用しないでください。強く絞らないでください。',
103
+ wool: 'ウール / 高級獣毛:専用プログラムを使用し、水で洗ってください。型崩れを防ぐため平干ししてください。乾燥機は使用しないでください。',
104
+ linen: 'リネン:非常にシワになりやすい素材です。少し湿った状態でアイロンをかけると美しく仕上がります。',
105
+ semisynthetic: '半合成繊維:濡れると強度が低下します。丁寧に取り扱い、強い脱水は避けてください。',
106
+ standard: '標準的な洗濯:常に物理的なラベルの指示に従ってください。',
107
+ },
108
+ fiberData: {
109
+ cotton: {
110
+ name: 'コットン',
111
+ family: 'natural',
112
+ breathability: 9,
113
+ durability: 7,
114
+ warmth: 4,
115
+ isNoble: false,
116
+ },
117
+ linen: {
118
+ name: 'リネン',
119
+ family: 'natural',
120
+ breathability: 10,
121
+ durability: 9,
122
+ warmth: 2,
123
+ isNoble: true,
124
+ },
125
+ wool: {
126
+ name: 'ウール / メリノ',
127
+ family: 'natural',
128
+ breathability: 8,
129
+ durability: 6,
130
+ warmth: 10,
131
+ isNoble: true,
132
+ },
133
+ silk: {
134
+ name: 'シルク',
135
+ family: 'natural',
136
+ breathability: 7,
137
+ durability: 5,
138
+ warmth: 6,
139
+ isNoble: true,
140
+ },
141
+ cashmere: {
142
+ name: 'カシミヤ',
143
+ family: 'natural',
144
+ breathability: 9,
145
+ durability: 5,
146
+ warmth: 10,
147
+ isNoble: true,
148
+ },
149
+ mohair: {
150
+ name: 'モヘア',
151
+ family: 'natural',
152
+ breathability: 8,
153
+ durability: 9,
154
+ warmth: 9,
155
+ isNoble: true,
156
+ },
157
+ angora: {
158
+ name: 'アンゴラ',
159
+ family: 'natural',
160
+ breathability: 8,
161
+ durability: 4,
162
+ warmth: 10,
163
+ isNoble: true,
164
+ },
165
+ alpaca: {
166
+ name: 'アルパカ',
167
+ family: 'natural',
168
+ breathability: 9,
169
+ durability: 8,
170
+ warmth: 10,
171
+ isNoble: true,
172
+ },
173
+ polyester: {
174
+ name: 'ポリエステル',
175
+ family: 'synthetic',
176
+ breathability: 2,
177
+ durability: 10,
178
+ warmth: 5,
179
+ isNoble: false,
180
+ },
181
+ viscose: {
182
+ name: 'レーヨン / ビスコース',
183
+ family: 'artificial',
184
+ breathability: 8,
185
+ durability: 4,
186
+ warmth: 3,
187
+ isNoble: false,
188
+ },
189
+ nylon: {
190
+ name: 'ナイロン(ポリアミド)',
191
+ family: 'synthetic',
192
+ breathability: 3,
193
+ durability: 10,
194
+ warmth: 4,
195
+ isNoble: false,
196
+ },
197
+ acrylic: {
198
+ name: 'アクリル',
199
+ family: 'synthetic',
200
+ breathability: 4,
201
+ durability: 6,
202
+ warmth: 8,
203
+ isNoble: false,
204
+ },
205
+ },
206
+ verdicts: {
207
+ plasticy: {
208
+ label: '高価なプラスチック',
209
+ description: 'この衣類の大部分は石油でできています。蒸れやすく、毛玉(ピリング)がすぐに発生する可能性があります。',
210
+ },
211
+ hook: {
212
+ label: 'マーケティングの罠',
213
+ description: 'そのわずかな高級繊維は、ラベルに記載するためだけに含まれています。そのメリットを実感できるほどではありません。',
214
+ },
215
+ fragile: {
216
+ label: '柔らかいが脆い',
217
+ description: '非常に心地よい肌触りですが、洗濯には注意が必要です。型崩れや縮みが発生しやすい素材です。',
218
+ },
219
+ natural: {
220
+ label: '天然の品質',
221
+ description: '通気性が良く耐久性のある衣類です。敏感肌の方や長時間の着用に最適です。',
222
+ },
223
+ technical: {
224
+ label: 'テクニカル / 超合成衣類',
225
+ description: '特別なスポーツウェアでない限り、純粋なプラスチックに代金を支払っていることになります。',
226
+ },
227
+ luxury: {
228
+ label: '真のラグジュアリー',
229
+ description: '快適さと耐久性への投資です。この素材にふさわしい丁寧な取り扱いをしてください。',
230
+ },
231
+ balanced: {
232
+ label: 'バランスの良い混紡',
233
+ description: '機能的な組み合わせです。おそらくコストと耐久性のバランスをとることを目的としています。',
234
+ },
235
+ },
236
+ },
237
+ seo: [
238
+ { type: 'title', text: 'ラベルの裏にある真実:繊維組成マスターガイド', level: 2 },
239
+ { type: 'paragraph', html: 'なぜあの有名ブランドのTシャツであんなに汗をかくのか、あるいはなぜあの「ウールの」セーターがあんなにチクチクするのか、不思議に思ったことはありませんか?その答えはデザインではなく、繊維の科学にあります。' },
240
+ { type: 'paragraph', html: '<strong>ファストファッション</strong>が支配する世界では、生地の品質は一時的な美学の二の次にされてきました。しかし、繊維の組成を理解することは、賢く、長く使え、肌に優しい買い物をするための唯一の方法です。当ツールの<strong>「織物の真実」</strong>は、公式な含有率を分析し、それが高品質な衣類なのか、それとも単に加工されたプラスチックの塊なのかを明らかにします。' },
241
+ { type: 'title', text: '当ツールの方法論', level: 2 },
242
+ { type: 'paragraph', html: '欧米の業界標準から抽出された3つの基本要素に基づき、重み付けされたアルゴリズムを使用しています。' },
243
+ { type: 'list', items: ['<strong>通気性:</strong> 繊維が水蒸気や空気を通す能力。', '<strong>耐久性:</strong> 摩耗や引っ張り、<strong>ピリング</strong>(毛玉)の発生しにくさ。', '<strong>熱効率:</strong> 保温性や放熱の能力。'] },
244
+ { type: 'tip', title: '重要', html: 'EUや米国で販売されるすべての衣類について、成分を割合の多い順に記載することが法律で義務付けられています。ラベルがない、または読めない衣類は注意が必要です。最低限の安全性基準を満たしていない可能性があります。' },
245
+ { type: 'title', text: '小売における一般的な「トリック」', level: 2 },
246
+ { type: 'paragraph', html: '平凡な衣類の価値が高まっているように見せるための、非常に洗練されたマーケティング手法が存在します。それらを見抜く方法を紹介します。' },
247
+ { type: 'card', title: '高級繊維の罠', icon: 'mdi:alert', html: '大きな文字で「カシミヤ混」や「シルク混」と書かれたラベルを目にすることがあります。組成を見ると、実際にはシルク3%、ポリエステル97%だったりします。その3%は柔らかさや光沢、暖かさには寄与しません。単にブランドが価格を20%吊り上げるためだけに存在します。' },
248
+ { type: 'card', title: '「エコ・ビスコース」の神話', icon: 'mdi:leaf', html: 'ビスコースはセルロース(木材)から作られますが、現在の製造工程は環境汚染を引き起こしやすく、最終的な製品は濡れると強度が大幅に低下します。<strong>リヨセル</strong>や<strong>テンセル</strong>でない限り、その耐久性は限定的です。' },
249
+ { type: 'title', text: 'カテゴリー別詳細分析', level: 2 },
250
+ { type: 'title', text: '1. 天然繊維(誇り高きオーガニック)', level: 3 },
251
+ { type: 'paragraph', html: '最高の基準です。超長綿(ピマコットンやエジプト綿など)は永遠の柔らかさを提供します。<strong>リネン</strong>は、熱を逃がし湿気を吸収する分子構造を持っているため、科学的に暑い時期に最適な繊維です。<strong>ウール</strong>や<strong>ヘンプ</strong>(麻)は天然の抗菌作用を持ち、臭いを保持しにくいため、頻繁に洗濯する必要がありません。' },
252
+ { type: 'title', text: '2. 半合成繊維(ハイブリッド)', level: 3 },
253
+ { type: 'paragraph', html: '<strong>ビスコース</strong>、<strong>レーヨン</strong>、<strong>モダール</strong>などが含まれます。シルクのような肌触りでありながら、コットンのような価格です。ドレープ感のある衣類には最適ですが、「喉が渇きやすい」性質があります。大量の水を吸収し、乾くのが遅いため、お手入れを怠るとカビの原因になることがあります。<strong>リヨセル(テンセル)</strong>は、このグループの中でも閉ループの製造工程を持つ、高品質でサステナブルな素材です。' },
254
+ { type: 'title', text: '3. 合成繊維(紡がれたプラスチック)', level: 3 },
255
+ { type: 'paragraph', html: '<strong>ポリエステル</strong>は市場の王様です。安価で、シワになりにくく、半永久的です(文字通り、分解されるまで200年かかります)。問題は「呼吸をしない」ことです。生地と肌の間に湿った微気候を作り出し、細菌の完璧な繁殖地となります。<strong>アクリル</strong>はウールの安価な模倣品です。暖かいですが、静電気が発生しやすく、2回の洗濯で毛玉だらけになります。' },
256
+ { type: 'title', text: '衣類を長持ちさせるためのアドバイス', level: 2 },
257
+ { type: 'paragraph', html: '世界最高の衣類であっても、たった一度の不適切な洗濯で台無しになることがあります。普遍的な黄金律は以下の通りです。' },
258
+ { type: 'tip', title: '水洗いは最良の友', html: '衣類の90%は30℃以上の温度を必要としません。熱は弾力性のある繊維を劣化させ、天然繊維を縮ませます。' },
259
+ { type: 'tip', title: '洗剤は少なめに', html: '洗剤の使いすぎは残留物を残し、汚れを引き寄せ、生地を硬くします。' },
260
+ { type: 'tip', title: '乾燥機は「静かな敵」', html: '乾燥機のフィルターに溜まる糸くずは、摩擦と熱によって剥がれ落ちた、衣類そのものの一部です。' },
261
+ { type: 'tip', title: '裏返して洗う', html: '色あせや刺繍を、洗濯槽や他の衣類との摩擦から守ります。' },
262
+ { type: 'paragraph', html: '「少なく買い、より良く選び、長持ちさせる」 - - この分析ツールは、意識的で高品質なワードローブへの第一歩です。' },
263
+ ],
264
+ faq: faqData,
265
+ bibliography: bibliography,
266
+ howTo: howToData,
267
+ schemas: [faqSchema, howToSchema, appSchema],
268
+ };