@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,97 +1,97 @@
1
- import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
2
- import type { ToolLocaleContent } from '../../../types';
3
- import { bibliography } from '../bibliography';
4
- import type { SewingPatternScalerUI } from '../ui';
5
-
6
- const slug = 'dimensionneur-patron-couture';
7
- const title = 'Dimensionneur de Patron de Couture en Ligne';
8
- const description =
9
- 'Ajustez n\'importe quel patron de couture à vos mesures réelles. Calculateur de mise à l\'échelle différentielle avec prévisualisation du patron mis à jour.';
10
-
11
- const faqData = [
12
- {
13
- question: 'Pourquoi l\'épaule ne grandit-elle pas autant que la poitrine ?',
14
- answer:
15
- 'Le corps humain n\'est pas une sphère. Alors que le volume du torse peut varier significativement, le squelette et les points d\'articulation comme l\'épaule sont beaucoup plus statiques. Une mise à l\'échelle professionnelle applique des facteurs différenciés pour ne pas déséquilibrer le vêtement.',
16
- },
17
- {
18
- question: 'Qu\'est-ce que l\'aisance ?',
19
- answer:
20
- 'C\'est l\'espace supplémentaire entre votre corps et le tissu. Sans aisance, vous ne pourriez pas vous déplacer. Notre calculateur maintient cette aisance pour que le vêtement vous aille exactement comme le designer l\'a conçu, mais adapté à vos contours réels.',
21
- },
22
- {
23
- question: 'Puis-je mettre à l\'échelle un patron en maille ou jersey ?',
24
- answer:
25
- 'Oui, mais gardez à l\'esprit que les tissus extensibles ont généralement une aisance négative. Si le patron est très ajusté, assurez-vous que le facteur d\'élasticité est le même dans le nouveau tissu que vous choisissez.',
26
- },
27
- ];
28
-
29
- const howToData = [
30
- {
31
- name: 'Mesurez votre patron',
32
- text: 'Mesurez les lignes horizontales clés (poitrine, taille et hanches) sur les pièces en papier de votre patron original, couture à couture.',
33
- },
34
- {
35
- name: 'Configurez l\'origine',
36
- text: 'Entrez la taille du patron ou les mesures que vous avez prises dans la colonne "Origine" de notre outil.',
37
- },
38
- {
39
- name: 'Entrez la destination',
40
- text: 'Mettez vos mesures réelles ou la taille que vous souhaitez atteindre. L\'outil calculera la différence exacte par zone.',
41
- },
42
- {
43
- name: 'Appliquez à la table',
44
- text: 'Suivez les instructions "Actions à la Table de Coupe" pour ajouter ou retirer des centimètres sur les côtés et les ourlets de vos pièces.',
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,
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,
75
- applicationCategory: 'UtilityApplication',
76
- operatingSystem: 'All',
77
- offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
78
- inLanguage: 'fr',
79
- };
80
-
81
- export const content: ToolLocaleContent<SewingPatternScalerUI> = {
82
- slug,
83
- title,
84
- description,
85
- faq: faqData,
86
- bibliography: bibliography,
87
- howTo: howToData,
88
- schemas: [faqSchema, howToSchema, appSchema],
89
- seo: [
90
- {
91
- type: 'title',
92
- text: 'Comment Mettre à l\'Échelle des Patrons de Couture: Guide Technique et Pratique',
93
- level: 2,
94
- },
1
+ import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
2
+ import type { ToolLocaleContent } from '../../../types';
3
+ import { bibliography } from '../bibliography';
4
+ import type { SewingPatternScalerUI } from '../ui';
5
+
6
+ const slug = 'dimensionneur-patron-couture';
7
+ const title = 'Dimensionneur de Patron de Couture en Ligne';
8
+ const description =
9
+ 'Ajustez n\'importe quel patron de couture à vos mesures réelles. Calculateur de mise à l\'échelle différentielle avec prévisualisation du patron mis à jour.';
10
+
11
+ const faqData = [
12
+ {
13
+ question: 'Pourquoi l\'épaule ne grandit-elle pas autant que la poitrine ?',
14
+ answer:
15
+ 'Le corps humain n\'est pas une sphère. Alors que le volume du torse peut varier significativement, le squelette et les points d\'articulation comme l\'épaule sont beaucoup plus statiques. Une mise à l\'échelle professionnelle applique des facteurs différenciés pour ne pas déséquilibrer le vêtement.',
16
+ },
17
+ {
18
+ question: 'Qu\'est-ce que l\'aisance ?',
19
+ answer:
20
+ 'C\'est l\'espace supplémentaire entre votre corps et le tissu. Sans aisance, vous ne pourriez pas vous déplacer. Notre calculateur maintient cette aisance pour que le vêtement vous aille exactement comme le designer l\'a conçu, mais adapté à vos contours réels.',
21
+ },
22
+ {
23
+ question: 'Puis-je mettre à l\'échelle un patron en maille ou jersey ?',
24
+ answer:
25
+ 'Oui, mais gardez à l\'esprit que les tissus extensibles ont généralement une aisance négative. Si le patron est très ajusté, assurez-vous que le facteur d\'élasticité est le même dans le nouveau tissu que vous choisissez.',
26
+ },
27
+ ];
28
+
29
+ const howToData = [
30
+ {
31
+ name: 'Mesurez votre patron',
32
+ text: 'Mesurez les lignes horizontales clés (poitrine, taille et hanches) sur les pièces en papier de votre patron original, couture à couture.',
33
+ },
34
+ {
35
+ name: 'Configurez l\'origine',
36
+ text: 'Entrez la taille du patron ou les mesures que vous avez prises dans la colonne "Origine" de notre outil.',
37
+ },
38
+ {
39
+ name: 'Entrez la destination',
40
+ text: 'Mettez vos mesures réelles ou la taille que vous souhaitez atteindre. L\'outil calculera la différence exacte par zone.',
41
+ },
42
+ {
43
+ name: 'Appliquez à la table',
44
+ text: 'Suivez les instructions "Actions à la Table de Coupe" pour ajouter ou retirer des centimètres sur les côtés et les ourlets de vos pièces.',
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,
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,
75
+ applicationCategory: 'UtilityApplication',
76
+ operatingSystem: 'All',
77
+ offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
78
+ inLanguage: 'fr',
79
+ };
80
+
81
+ export const content: ToolLocaleContent<SewingPatternScalerUI> = {
82
+ slug,
83
+ title,
84
+ description,
85
+ faq: faqData,
86
+ bibliography: bibliography,
87
+ howTo: howToData,
88
+ schemas: [faqSchema, howToSchema, appSchema],
89
+ seo: [
90
+ {
91
+ type: 'title',
92
+ text: 'Comment Mettre à l\'Échelle des Patrons de Couture: Guide Technique et Pratique',
93
+ level: 2,
94
+ },
95
95
  {
96
96
  type: 'paragraph',
97
97
  html: 'La <strong>mise à l\'échelle des patrons</strong> est l\'une des compétences les plus critiques dans le monde de la couture. Il ne s\'agit pas simplement d\'agrandir ou de réduire un dessin de façon proportionnelle ; il s\'agit d\'adapter une structure bidimensionnelle aux courbes complexes et aux proportions du corps humain, qui ne grandit pas de façon linéaire.',
@@ -108,79 +108,79 @@ export const content: ToolLocaleContent<SewingPatternScalerUI> = {
108
108
  {
109
109
  type: 'title',
110
110
  text: 'La Clé du Succès: L\'Aisance',
111
- level: 3,
112
- },
113
- {
114
- type: 'list',
115
- items: [
116
- '<strong>Aisance de mouvement :</strong> Les centimètres supplémentaires nécessaires pour respirer, s\'asseoir et bouger les bras sans que le tissu ne se déchire.',
117
- '<strong>Aisance de design :</strong> Les centimètres que le designer a ajoutés pour créer une silhouette spécifique (par exemple, un manteau oversize ou un chemisier vaporeux).',
118
- ],
119
- },
120
- {
121
- type: 'tip',
122
- title: 'Conseil pour une Mise à l\'Échelle Professionnelle',
123
- html: '<p><strong>Ne mettez pas à l\'échelle plus de deux ou trois tailles :</strong> Si vous essayez de passer d\'une taille 36 à une taille 52, l\'emmanchure va probablement se déformer et l\'encolure sera énorme. Dans ces cas, il vaut mieux redessiner le patron de base en utilisant vos mesures depuis le début.</p>',
124
- },
125
- {
126
- type: 'title',
127
- text: 'Avantages de la mise à l\'échelle numérique',
128
- level: 3,
129
- },
130
- {
131
- type: 'proscons',
132
- items: [
133
- {
134
- pro: 'Maintient la proportion exacte du design original.',
135
- con: 'Les emmanchures peuvent nécessiter un léger lissage manuel.',
136
- },
137
- {
138
- pro: 'Calcul instantané de l\'aisance nécessaire.',
139
- con: 'Ne détecte pas automatiquement si le patron inclut déjà la marge de couture.',
140
- },
141
- {
142
- pro: 'Visualisation graphique de la croissance de la pièce.',
143
- con: 'Nécessite une prise de mesures initiale très précise.',
144
- },
145
- ],
146
- },
147
- {
148
- type: 'glossary',
149
- items: [
150
- { term: 'Différentiel', definition: 'Différence de mesure entre deux tailles consécutives.' },
151
- { term: 'Points d\'Ancrage', definition: 'Zones du patron qui ne bougent pas (généralement le centre devant/dos).' },
152
- { term: 'Nid de Gradation', definition: 'Dessin superposé de toutes les tailles mises à l\'échelle.' },
153
- { term: 'Patron de Base', definition: 'Gabarit sans design ni aisance qui correspond aux mesures du corps.' },
154
- ],
155
- },
156
- ],
157
- ui: {
158
- labelSystem: 'SYSTÈME DE TRAVAIL',
159
- modeStandard: 'Tailles Standard',
160
- modeCustom: 'Mesures Réelles',
161
- labelPatternSize: 'Taille du Patron',
162
- labelTargetSize: 'Taille Cible',
163
- labelOriginMeasures: 'MESURES D\'ORIGINE',
164
- labelTargetMeasures: 'VOS MESURES',
165
- labelEase: 'Aisance Actuelle',
166
- labelChest: 'Poitrine',
167
- labelWaist: 'Taille',
168
- labelHips: 'Hanches',
169
- labelLength: 'Longueur',
170
- resBust: 'Buste',
171
- resWaist: 'Taille',
172
- resHips: 'Hanches',
173
- resLength: 'Longueur',
174
- actionLatAdd: 'Ajoutez',
175
- actionLatRemove: 'Retirez',
176
- actionLatSuffix: 'au côté de la pièce',
177
- actionLatNote: 'Ajustement au quart du patron',
178
- actionLenExtend: 'Allongez le patron',
179
- actionLenShorten: 'Raccourcissez le patron',
180
- actionLenNote: 'Ajustement à la ligne d\'ourlet',
181
- legendOriginal: 'Original',
182
- legendUpdated: 'Mis à jour',
183
- warnText: 'Mise à l\'échelle supérieure à 3 tailles. Risque de déformation de l\'emmanchure.',
184
- sizePrefix: 'Taille',
185
- },
186
- };
111
+ level: 3,
112
+ },
113
+ {
114
+ type: 'list',
115
+ items: [
116
+ '<strong>Aisance de mouvement :</strong> Les centimètres supplémentaires nécessaires pour respirer, s\'asseoir et bouger les bras sans que le tissu ne se déchire.',
117
+ '<strong>Aisance de design :</strong> Les centimètres que le designer a ajoutés pour créer une silhouette spécifique (par exemple, un manteau oversize ou un chemisier vaporeux).',
118
+ ],
119
+ },
120
+ {
121
+ type: 'tip',
122
+ title: 'Conseil pour une Mise à l\'Échelle Professionnelle',
123
+ html: '<p><strong>Ne mettez pas à l\'échelle plus de deux ou trois tailles :</strong> Si vous essayez de passer d\'une taille 36 à une taille 52, l\'emmanchure va probablement se déformer et l\'encolure sera énorme. Dans ces cas, il vaut mieux redessiner le patron de base en utilisant vos mesures depuis le début.</p>',
124
+ },
125
+ {
126
+ type: 'title',
127
+ text: 'Avantages de la mise à l\'échelle numérique',
128
+ level: 3,
129
+ },
130
+ {
131
+ type: 'proscons',
132
+ items: [
133
+ {
134
+ pro: 'Maintient la proportion exacte du design original.',
135
+ con: 'Les emmanchures peuvent nécessiter un léger lissage manuel.',
136
+ },
137
+ {
138
+ pro: 'Calcul instantané de l\'aisance nécessaire.',
139
+ con: 'Ne détecte pas automatiquement si le patron inclut déjà la marge de couture.',
140
+ },
141
+ {
142
+ pro: 'Visualisation graphique de la croissance de la pièce.',
143
+ con: 'Nécessite une prise de mesures initiale très précise.',
144
+ },
145
+ ],
146
+ },
147
+ {
148
+ type: 'glossary',
149
+ items: [
150
+ { term: 'Différentiel', definition: 'Différence de mesure entre deux tailles consécutives.' },
151
+ { term: 'Points d\'Ancrage', definition: 'Zones du patron qui ne bougent pas (généralement le centre devant/dos).' },
152
+ { term: 'Nid de Gradation', definition: 'Dessin superposé de toutes les tailles mises à l\'échelle.' },
153
+ { term: 'Patron de Base', definition: 'Gabarit sans design ni aisance qui correspond aux mesures du corps.' },
154
+ ],
155
+ },
156
+ ],
157
+ ui: {
158
+ labelSystem: 'SYSTÈME DE TRAVAIL',
159
+ modeStandard: 'Tailles Standard',
160
+ modeCustom: 'Mesures Réelles',
161
+ labelPatternSize: 'Taille du Patron',
162
+ labelTargetSize: 'Taille Cible',
163
+ labelOriginMeasures: 'MESURES D\'ORIGINE',
164
+ labelTargetMeasures: 'VOS MESURES',
165
+ labelEase: 'Aisance Actuelle',
166
+ labelChest: 'Poitrine',
167
+ labelWaist: 'Taille',
168
+ labelHips: 'Hanches',
169
+ labelLength: 'Longueur',
170
+ resBust: 'Buste',
171
+ resWaist: 'Taille',
172
+ resHips: 'Hanches',
173
+ resLength: 'Longueur',
174
+ actionLatAdd: 'Ajoutez',
175
+ actionLatRemove: 'Retirez',
176
+ actionLatSuffix: 'au côté de la pièce',
177
+ actionLatNote: 'Ajustement au quart du patron',
178
+ actionLenExtend: 'Allongez le patron',
179
+ actionLenShorten: 'Raccourcissez le patron',
180
+ actionLenNote: 'Ajustement à la ligne d\'ourlet',
181
+ legendOriginal: 'Original',
182
+ legendUpdated: 'Mis à jour',
183
+ warnText: 'Mise à l\'échelle supérieure à 3 tailles. Risque de déformation de l\'emmanchure.',
184
+ sizePrefix: 'Taille',
185
+ },
186
+ };
@@ -1,87 +1,87 @@
1
- import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
2
- import type { ToolLocaleContent } from '../../../types';
3
- import { bibliography } from '../bibliography';
4
- import type { SewingPatternScalerUI } from '../ui';
5
-
6
- const slug = 'sewing-pattern-scaler';
7
- const title = 'オンライン型紙サイズ調整(グレーディング)ツール';
8
- const description = 'お手持ちの型紙をご自身の実際のサイズに合わせて調整します。差分計算と更新後の型紙プレビュー機能を備えたスケーリングシミュレーター。';
9
-
10
- const faqData = [
11
- {
12
- question: 'なぜ肩幅は胸囲と同じ比率で大きくならないのですか?',
13
- answer: '人体は単純な球体ではないからです。胴体のボリュームが大幅に変わる一方で、骨格や関節(肩など)は比較的サイズが固定されています。プロのグレーディングでは、服のバランスを崩さないよう、部位ごとに異なる係数を適用します。',
14
- },
15
- {
16
- question: '「ゆとり(イーズ)」とは何ですか?',
17
- answer: 'イーズとは、体と布の間の余白のことです。ゆとりがなければ、体を動かすことができません。当ツールではこのゆとりを維持し、デザイナーが意図したシルエットを保ちながら、お客様の体型にピッタリ合うよう調整します。',
18
- },
19
- {
20
- question: 'ニットやジャージー用の型紙もスケーリングできますか?',
21
- answer: 'はい。ただし、収縮性のある生地(ストレッチ素材)は「マイナスのゆとり(負のイーズ)」を持つことが多い点に注意してください。非常にタイトなパターンの場合は、新しい生地の伸縮率が元の生地と同じであることを確認してください。',
22
- },
23
- ];
24
-
25
- const howToData = [
26
- {
27
- name: 'パターンを計測',
28
- text: '元の型紙(紙の状態)の主要な水平ライン(バスト、ウエスト、ヒップ)を、縫い目から縫い目まで測ります。',
29
- },
30
- {
31
- name: '元の値を設定',
32
- text: '計ったサイズ、または型紙の号数をツールの「元のサイズ(Origin)」列に入力します。',
33
- },
34
- {
35
- name: '目標値を入力',
36
- text: 'ご自身の実際のサイズ、または作成したいサイズを入力します。ツールが各部位の正確な差分を算出します。',
37
- },
38
- {
39
- name: '裁断台で反映',
40
- text: '「裁断作業指示」に従って、パターンの脇や裾のセンチ数を増やしたり減らしたりして調整します。',
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: 'ja',
75
- };
76
-
77
- export const content: ToolLocaleContent<SewingPatternScalerUI> = {
78
- slug,
79
- title,
80
- description,
81
- faq: faqData,
82
- bibliography: bibliography,
83
- howTo: howToData,
84
- schemas: [faqSchema, howToSchema, appSchema],
1
+ import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
2
+ import type { ToolLocaleContent } from '../../../types';
3
+ import { bibliography } from '../bibliography';
4
+ import type { SewingPatternScalerUI } from '../ui';
5
+
6
+ const slug = 'sewing-pattern-scaler';
7
+ const title = 'オンライン型紙サイズ調整(グレーディング)ツール';
8
+ const description = 'お手持ちの型紙をご自身の実際のサイズに合わせて調整します。差分計算と更新後の型紙プレビュー機能を備えたスケーリングシミュレーター。';
9
+
10
+ const faqData = [
11
+ {
12
+ question: 'なぜ肩幅は胸囲と同じ比率で大きくならないのですか?',
13
+ answer: '人体は単純な球体ではないからです。胴体のボリュームが大幅に変わる一方で、骨格や関節(肩など)は比較的サイズが固定されています。プロのグレーディングでは、服のバランスを崩さないよう、部位ごとに異なる係数を適用します。',
14
+ },
15
+ {
16
+ question: '「ゆとり(イーズ)」とは何ですか?',
17
+ answer: 'イーズとは、体と布の間の余白のことです。ゆとりがなければ、体を動かすことができません。当ツールではこのゆとりを維持し、デザイナーが意図したシルエットを保ちながら、お客様の体型にピッタリ合うよう調整します。',
18
+ },
19
+ {
20
+ question: 'ニットやジャージー用の型紙もスケーリングできますか?',
21
+ answer: 'はい。ただし、収縮性のある生地(ストレッチ素材)は「マイナスのゆとり(負のイーズ)」を持つことが多い点に注意してください。非常にタイトなパターンの場合は、新しい生地の伸縮率が元の生地と同じであることを確認してください。',
22
+ },
23
+ ];
24
+
25
+ const howToData = [
26
+ {
27
+ name: 'パターンを計測',
28
+ text: '元の型紙(紙の状態)の主要な水平ライン(バスト、ウエスト、ヒップ)を、縫い目から縫い目まで測ります。',
29
+ },
30
+ {
31
+ name: '元の値を設定',
32
+ text: '計ったサイズ、または型紙の号数をツールの「元のサイズ(Origin)」列に入力します。',
33
+ },
34
+ {
35
+ name: '目標値を入力',
36
+ text: 'ご自身の実際のサイズ、または作成したいサイズを入力します。ツールが各部位の正確な差分を算出します。',
37
+ },
38
+ {
39
+ name: '裁断台で反映',
40
+ text: '「裁断作業指示」に従って、パターンの脇や裾のセンチ数を増やしたり減らしたりして調整します。',
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: 'ja',
75
+ };
76
+
77
+ export const content: ToolLocaleContent<SewingPatternScalerUI> = {
78
+ slug,
79
+ title,
80
+ description,
81
+ faq: faqData,
82
+ bibliography: bibliography,
83
+ howTo: howToData,
84
+ schemas: [faqSchema, howToSchema, appSchema],
85
85
  seo: [
86
86
  {
87
87
  type: 'title',
@@ -150,33 +150,33 @@ export const content: ToolLocaleContent<SewingPatternScalerUI> = {
150
150
  ],
151
151
  },
152
152
  ],
153
- ui: {
154
- labelSystem: 'システム選択',
155
- modeStandard: '標準サイズ',
156
- modeCustom: '実際のサイズ入力',
157
- labelPatternSize: '型紙サイズ',
158
- labelTargetSize: '目標サイズ',
159
- labelOriginMeasures: '元の計測値',
160
- labelTargetMeasures: 'ご自身のサイズ',
161
- labelEase: '現在のゆとり (Ease)',
162
- labelChest: 'バスト',
163
- labelWaist: 'ウエスト',
164
- labelHips: 'ヒップ',
165
- labelLength: '着丈',
166
- resBust: 'バスト',
167
- resWaist: 'ウエスト',
168
- resHips: 'ヒップ',
169
- resLength: '着丈',
170
- actionLatAdd: '増やす',
171
- actionLatRemove: '削る',
172
- actionLatSuffix: '(パーツの脇で調整)',
173
- actionLatNote: '※パターン4分の1あたりの調整量',
174
- actionLenExtend: '丈を伸ばす',
175
- actionLenShorten: '丈を詰める',
176
- actionLenNote: '裾ラインでの調整',
177
- legendOriginal: '元の型紙',
178
- legendUpdated: '補正後',
179
- warnText: '3サイズ以上のスケーリングです。アームホールの歪みに注意してください。',
180
- sizePrefix: '号',
181
- },
182
- };
153
+ ui: {
154
+ labelSystem: 'システム選択',
155
+ modeStandard: '標準サイズ',
156
+ modeCustom: '実際のサイズ入力',
157
+ labelPatternSize: '型紙サイズ',
158
+ labelTargetSize: '目標サイズ',
159
+ labelOriginMeasures: '元の計測値',
160
+ labelTargetMeasures: 'ご自身のサイズ',
161
+ labelEase: '現在のゆとり (Ease)',
162
+ labelChest: 'バスト',
163
+ labelWaist: 'ウエスト',
164
+ labelHips: 'ヒップ',
165
+ labelLength: '着丈',
166
+ resBust: 'バスト',
167
+ resWaist: 'ウエスト',
168
+ resHips: 'ヒップ',
169
+ resLength: '着丈',
170
+ actionLatAdd: '増やす',
171
+ actionLatRemove: '削る',
172
+ actionLatSuffix: '(パーツの脇で調整)',
173
+ actionLatNote: '※パターン4分の1あたりの調整量',
174
+ actionLenExtend: '丈を伸ばす',
175
+ actionLenShorten: '丈を詰める',
176
+ actionLenNote: '裾ラインでの調整',
177
+ legendOriginal: '元の型紙',
178
+ legendUpdated: '補正後',
179
+ warnText: '3サイズ以上のスケーリングです。アームホールの歪みに注意してください。',
180
+ sizePrefix: '号',
181
+ },
182
+ };