@jjlmoya/utils-babies 1.5.0 → 1.7.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 (115) hide show
  1. package/package.json +67 -66
  2. package/src/category/i18n/de.ts +48 -0
  3. package/src/category/i18n/en.ts +10 -10
  4. package/src/category/i18n/fr.ts +10 -10
  5. package/src/category/i18n/id.ts +48 -0
  6. package/src/category/i18n/it.ts +48 -0
  7. package/src/category/i18n/ja.ts +48 -0
  8. package/src/category/i18n/ko.ts +48 -0
  9. package/src/category/i18n/nl.ts +48 -0
  10. package/src/category/i18n/pl.ts +48 -0
  11. package/src/category/i18n/pt.ts +48 -0
  12. package/src/category/i18n/ru.ts +48 -0
  13. package/src/category/i18n/sv.ts +48 -0
  14. package/src/category/i18n/tr.ts +48 -0
  15. package/src/category/i18n/zh.ts +48 -0
  16. package/src/category/index.ts +13 -1
  17. package/src/tests/faq_count.test.ts +1 -1
  18. package/src/tests/i18n_coverage.test.ts +36 -0
  19. package/src/tests/locale_completeness.test.ts +1 -1
  20. package/src/tests/schemas_fulfillment.test.ts +23 -0
  21. package/src/tests/seo_length.test.ts +1 -2
  22. package/src/tests/title_quality.test.ts +55 -0
  23. package/src/tool/baby-feeding-calculator/component.astro +40 -40
  24. package/src/tool/baby-feeding-calculator/i18n/de.ts +162 -0
  25. package/src/tool/baby-feeding-calculator/i18n/id.ts +162 -0
  26. package/src/tool/baby-feeding-calculator/i18n/it.ts +162 -0
  27. package/src/tool/baby-feeding-calculator/i18n/ja.ts +162 -0
  28. package/src/tool/baby-feeding-calculator/i18n/ko.ts +162 -0
  29. package/src/tool/baby-feeding-calculator/i18n/nl.ts +162 -0
  30. package/src/tool/baby-feeding-calculator/i18n/pl.ts +162 -0
  31. package/src/tool/baby-feeding-calculator/i18n/pt.ts +162 -0
  32. package/src/tool/baby-feeding-calculator/i18n/ru.ts +162 -0
  33. package/src/tool/baby-feeding-calculator/i18n/sv.ts +162 -0
  34. package/src/tool/baby-feeding-calculator/i18n/tr.ts +162 -0
  35. package/src/tool/baby-feeding-calculator/i18n/zh.ts +162 -0
  36. package/src/tool/baby-feeding-calculator/index.ts +12 -0
  37. package/src/tool/baby-percentile-calculator/component.astro +38 -38
  38. package/src/tool/baby-percentile-calculator/i18n/de.ts +245 -0
  39. package/src/tool/baby-percentile-calculator/i18n/id.ts +245 -0
  40. package/src/tool/baby-percentile-calculator/i18n/it.ts +245 -0
  41. package/src/tool/baby-percentile-calculator/i18n/ja.ts +245 -0
  42. package/src/tool/baby-percentile-calculator/i18n/ko.ts +245 -0
  43. package/src/tool/baby-percentile-calculator/i18n/nl.ts +245 -0
  44. package/src/tool/baby-percentile-calculator/i18n/pl.ts +245 -0
  45. package/src/tool/baby-percentile-calculator/i18n/pt.ts +245 -0
  46. package/src/tool/baby-percentile-calculator/i18n/ru.ts +245 -0
  47. package/src/tool/baby-percentile-calculator/i18n/sv.ts +245 -0
  48. package/src/tool/baby-percentile-calculator/i18n/tr.ts +245 -0
  49. package/src/tool/baby-percentile-calculator/i18n/zh.ts +245 -0
  50. package/src/tool/baby-percentile-calculator/index.ts +12 -0
  51. package/src/tool/baby-size-converter/component.astro +42 -42
  52. package/src/tool/baby-size-converter/i18n/de.ts +203 -0
  53. package/src/tool/baby-size-converter/i18n/fr.ts +1 -1
  54. package/src/tool/baby-size-converter/i18n/id.ts +203 -0
  55. package/src/tool/baby-size-converter/i18n/it.ts +203 -0
  56. package/src/tool/baby-size-converter/i18n/ja.ts +203 -0
  57. package/src/tool/baby-size-converter/i18n/ko.ts +203 -0
  58. package/src/tool/baby-size-converter/i18n/nl.ts +203 -0
  59. package/src/tool/baby-size-converter/i18n/pl.ts +203 -0
  60. package/src/tool/baby-size-converter/i18n/pt.ts +203 -0
  61. package/src/tool/baby-size-converter/i18n/ru.ts +203 -0
  62. package/src/tool/baby-size-converter/i18n/sv.ts +203 -0
  63. package/src/tool/baby-size-converter/i18n/tr.ts +203 -0
  64. package/src/tool/baby-size-converter/i18n/zh.ts +203 -0
  65. package/src/tool/baby-size-converter/index.ts +12 -0
  66. package/src/tool/fertile-days-estimator/component.astro +14 -9
  67. package/src/tool/fertile-days-estimator/i18n/de.ts +262 -0
  68. package/src/tool/fertile-days-estimator/i18n/id.ts +262 -0
  69. package/src/tool/fertile-days-estimator/i18n/it.ts +262 -0
  70. package/src/tool/fertile-days-estimator/i18n/ja.ts +262 -0
  71. package/src/tool/fertile-days-estimator/i18n/ko.ts +262 -0
  72. package/src/tool/fertile-days-estimator/i18n/nl.ts +262 -0
  73. package/src/tool/fertile-days-estimator/i18n/pl.ts +262 -0
  74. package/src/tool/fertile-days-estimator/i18n/pt.ts +262 -0
  75. package/src/tool/fertile-days-estimator/i18n/ru.ts +262 -0
  76. package/src/tool/fertile-days-estimator/i18n/sv.ts +262 -0
  77. package/src/tool/fertile-days-estimator/i18n/tr.ts +262 -0
  78. package/src/tool/fertile-days-estimator/i18n/zh.ts +262 -0
  79. package/src/tool/fertile-days-estimator/index.ts +12 -0
  80. package/src/tool/pregnancy-calculator/component.astro +55 -48
  81. package/src/tool/pregnancy-calculator/i18n/de.ts +467 -0
  82. package/src/tool/pregnancy-calculator/i18n/en.ts +140 -0
  83. package/src/tool/pregnancy-calculator/i18n/es.ts +143 -3
  84. package/src/tool/pregnancy-calculator/i18n/fr.ts +143 -3
  85. package/src/tool/pregnancy-calculator/i18n/id.ts +467 -0
  86. package/src/tool/pregnancy-calculator/i18n/it.ts +467 -0
  87. package/src/tool/pregnancy-calculator/i18n/ja.ts +467 -0
  88. package/src/tool/pregnancy-calculator/i18n/ko.ts +467 -0
  89. package/src/tool/pregnancy-calculator/i18n/nl.ts +467 -0
  90. package/src/tool/pregnancy-calculator/i18n/pl.ts +467 -0
  91. package/src/tool/pregnancy-calculator/i18n/pt.ts +467 -0
  92. package/src/tool/pregnancy-calculator/i18n/ru.ts +467 -0
  93. package/src/tool/pregnancy-calculator/i18n/sv.ts +467 -0
  94. package/src/tool/pregnancy-calculator/i18n/tr.ts +467 -0
  95. package/src/tool/pregnancy-calculator/i18n/zh.ts +467 -0
  96. package/src/tool/pregnancy-calculator/index.ts +37 -1
  97. package/src/tool/pregnancy-calculator/milestones.ts +2 -146
  98. package/src/tool/vaccination-calendar/component.astro +26 -24
  99. package/src/tool/vaccination-calendar/i18n/de.ts +194 -0
  100. package/src/tool/vaccination-calendar/i18n/en.ts +20 -0
  101. package/src/tool/vaccination-calendar/i18n/es.ts +20 -0
  102. package/src/tool/vaccination-calendar/i18n/fr.ts +99 -75
  103. package/src/tool/vaccination-calendar/i18n/id.ts +194 -0
  104. package/src/tool/vaccination-calendar/i18n/it.ts +194 -0
  105. package/src/tool/vaccination-calendar/i18n/ja.ts +194 -0
  106. package/src/tool/vaccination-calendar/i18n/ko.ts +194 -0
  107. package/src/tool/vaccination-calendar/i18n/nl.ts +194 -0
  108. package/src/tool/vaccination-calendar/i18n/pl.ts +194 -0
  109. package/src/tool/vaccination-calendar/i18n/pt.ts +194 -0
  110. package/src/tool/vaccination-calendar/i18n/ru.ts +194 -0
  111. package/src/tool/vaccination-calendar/i18n/sv.ts +194 -0
  112. package/src/tool/vaccination-calendar/i18n/tr.ts +194 -0
  113. package/src/tool/vaccination-calendar/i18n/zh.ts +194 -0
  114. package/src/tool/vaccination-calendar/index.ts +33 -1
  115. package/src/tool/vaccination-calendar/logic.ts +39 -13
@@ -0,0 +1,203 @@
1
+ import type { BabySizeConverterLocaleContent } from '../index';
2
+ import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
3
+
4
+ const slug = 'storleksguide-bebis';
5
+ const title = 'Storleksguide för Bebis';
6
+ const description = 'Konvertera babystorlekar mellan Zara, H&M, Primark, Carter\'s, Kiabi, Mango och Mayoral. Ange längd och vikt för att få exakt storlek för varje märke.';
7
+ const faq = [
8
+ {
9
+ question: 'Hur vet jag vilken klädstorlek som passar min bebis?',
10
+ answer: 'Det mest pålitliga är att använda bebisens längd som huvudreferens. Europeiska storlekar (50, 56, 62...) motsvarar direkt längden i centimeter. Ange bebisens längd och vikt i omvandlaren för att få den rekommenderade storleken för varje märke.',
11
+ },
12
+ {
13
+ question: 'Varför varierar storlekarna så mycket mellan olika märken?',
14
+ answer: 'Varje märke har sitt eget mönster. H&M och Primark tenderar att vara stora i storleken, medan Carter\'s och Mayoral har en smalare passform. Använd alltid bebisens mått, inte bara åldern.',
15
+ },
16
+ {
17
+ question: 'Vilken storlek ska jag välja om bebisen ligger mellan två storlekar?',
18
+ answer: 'Välj alltid den större storleken. Bebisar växer väldigt snabbt och en större storlek garanterar längre hållbarhet och bättre komfort.',
19
+ },
20
+ {
21
+ question: 'Fungerar storlekar i tum på samma sätt?',
22
+ answer: 'Amerikanska märken som Carter\'s använder tum och vikt som referens. Omvandlaren visar dig automatiskt motsvarande storlekar i det imperiala systemet om du aktiverar det.',
23
+ },
24
+ ];
25
+ const howTo = [
26
+ {
27
+ name: 'Ange bebisens längd',
28
+ text: 'Använd skjutreglaget eller knapparna för att justera bebisens aktuella längd i centimeter eller tum.',
29
+ },
30
+ {
31
+ name: 'Ange bebisens vikt',
32
+ text: 'Justera vikten i kg eller lbs för att förfina resultatet, eftersom vissa märken använder vikt som en kompletterande referens.',
33
+ },
34
+ {
35
+ name: 'Välj ett märke',
36
+ text: 'Välj klädmärke för att se den föreslagna storleken och plaggets uppskattade mått.',
37
+ },
38
+ {
39
+ name: 'Se motsvarigheter',
40
+ text: 'I den högra panelen ser du de motsvarande storlekarna för alla tillgängliga märken på ett ögonblick.',
41
+ },
42
+ ];
43
+
44
+ const faqSchema: WithContext<FAQPage> = {
45
+ '@context': 'https://schema.org',
46
+ '@type': 'FAQPage',
47
+ mainEntity: faq.map((item) => ({
48
+ '@type': 'Question',
49
+ name: item.question,
50
+ acceptedAnswer: { '@type': 'Answer', text: item.answer },
51
+ })),
52
+ };
53
+ const howToSchema: WithContext<HowTo> = {
54
+ '@context': 'https://schema.org',
55
+ '@type': 'HowTo',
56
+ name: title,
57
+ description,
58
+ step: howTo.map((step) => ({
59
+ '@type': 'HowToStep',
60
+ name: step.name,
61
+ text: step.text,
62
+ })),
63
+ };
64
+ const appSchema: WithContext<SoftwareApplication> = {
65
+ '@context': 'https://schema.org',
66
+ '@type': 'SoftwareApplication',
67
+ name: title,
68
+ description,
69
+ applicationCategory: 'UtilitiesApplication',
70
+ operatingSystem: 'Web',
71
+ offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
72
+ inLanguage: 'sv',
73
+ };
74
+
75
+ export const content: BabySizeConverterLocaleContent = {
76
+ slug,
77
+ title,
78
+ description,
79
+ ui: {
80
+ labelInput: 'Bebisens mått',
81
+ labelResults: 'Uppskattade motsvarigheter',
82
+ labelHeight: 'Bebisens längd',
83
+ labelWeight: 'Bebisens aktuella vikt',
84
+ labelPresets: 'Förinställningar efter typisk ålder',
85
+ unitMetric: 'Metriskt (cm/kg)',
86
+ unitImperial: 'Imperial (in/lb)',
87
+ labelCm: 'cm',
88
+ labelKg: 'kg',
89
+ labelIn: 'in',
90
+ labelLb: 'lb',
91
+ labelBrandFit: 'Märke och passform',
92
+ labelSuggested: 'Föreslagen storlek',
93
+ labelChest: 'Bröst',
94
+ labelWaist: 'Midja',
95
+ labelGarmentMeasures: 'Plaggets uppskattade mått',
96
+ fitRegular: 'Normal passform',
97
+ fitLarge: 'Rymlig passform',
98
+ fitSmall: 'Smal passform',
99
+ tipTitle: 'Experttips',
100
+ tipText: 'Bebisar växer i väldigt snabba utvecklingsfaser. Om resultatet ligger på gränsen till en storlek, välj alltid den större storleken för att garantera hållbarhet och bebisens komfort.',
101
+ shareAriaLabel: 'Dela storlek',
102
+ faqTitle: 'Vanliga frågor',
103
+ bibliographyTitle: 'Referenser',
104
+ },
105
+ seo: [
106
+ { type: 'title', text: 'Storleksguide bebis: Zara, H&M, Primark och internationella märken', level: 2 },
107
+ { type: 'stats', columns: 3, items: [
108
+ { value: '2.5 cm', label: 'Månadsvis tillväxt' },
109
+ { value: '3 månader', label: 'Varaktighet per storlek' },
110
+ { value: '95%', label: 'Tillförlitlighet per längd' },
111
+ ]},
112
+ { type: 'tip', html: 'Använd alltid längden som huvudreferens för att välja storlek, inte åldern. Två bebisar i samma ålder kan skilja sig upp till 8–10 cm i längd, vilket innebär ett helt storlekshopp.' },
113
+ { type: 'title', text: 'Storlekar efter ålder, längd och vikt', level: 3 },
114
+ { type: 'table', headers: ['Ungefärlig ålder', 'Längd (cm)', 'Vikt (kg)', 'Vanlig storlek', 'Uppskattad tid'], rows: [
115
+ ['Nyfödd', '50–56', '3–4.5', '50 / RN', '4–6 veckor'],
116
+ ['1–3 månader', '56–62', '4.5–6', '56–62', '6–8 veckor'],
117
+ ['3–6 månader', '62–68', '6–8', '62–68', '6–8 veckor'],
118
+ ['6–9 månader', '68–74', '8–9.5', '68–74', '6–8 veckor'],
119
+ ['9–12 månader', '74–80', '9.5–11', '74–80', '6–8 veckor'],
120
+ ['12–18 månader', '80–86', '11–13', '80–86', '3–4 månader'],
121
+ ['18–24 månader', '86–92', '13–15', '86–92', '3–4 månader'],
122
+ ]},
123
+ { type: 'title', text: 'Märken som är stora vs små i storleken', level: 3 },
124
+ { type: 'comparative', columns: 2, items: [
125
+ {
126
+ title: 'Stora i storleken (välj en mindre storlek)',
127
+ description: 'Dessa märken använder rymligare snitt; välj en storlek mindre än vanligt.',
128
+ points: [
129
+ 'H&M: ofta en storlek större än normalt',
130
+ 'Primark: allmänt rymlig passform',
131
+ 'Lupilu (Lidl): ledig passform',
132
+ 'Rekommenderas för bebisar i lägre percentiler',
133
+ ],
134
+ },
135
+ {
136
+ title: 'Små i storleken (välj en större storlek)',
137
+ description: 'Dessa märken använder snävare snitt; välj en storlek större än vanligt.',
138
+ points: [
139
+ "Carter's: amerikansk snäv passform",
140
+ 'Mayoral: europeisk smal passform',
141
+ 'Neck & Neck: små storlekar',
142
+ 'Rekommenderas för bebisar i högre percentiler',
143
+ ],
144
+ },
145
+ ]},
146
+ { type: 'title', text: 'Nycklar för att hitta rätt storlek', level: 3 },
147
+ { type: 'list', items: [
148
+ 'Mät alltid bebisen före köp, lita inte bara på åldern',
149
+ 'Om bebisen är mellan två storlekar, välj den större',
150
+ 'Tänk på utrymme för blöjan i helkroppsplagg',
151
+ 'Europeiska storlekar (50, 56, 62...) motsvarar längden i cm',
152
+ 'Tvätta alltid före användning: bomull kan krympa upp till 5%',
153
+ ]},
154
+ { type: 'glossary', items: [
155
+ {
156
+ term: 'Storlek 50 / Nyfödd',
157
+ definition: 'Avsedd för bebisar upp till 50 cm långa och ca 3.5 kg. Många bebisar växer ur den väldigt snabbt, till och med under de första veckorna.',
158
+ },
159
+ {
160
+ term: 'Grenmått',
161
+ definition: 'Avståndet från grenen till midjan. Avgörande i bodies och sparkdräkter: ett kort grenmått begränsar bebisens rörlighet även om resten av plagget passar bra.',
162
+ },
163
+ {
164
+ term: 'Referens efter vikt',
165
+ definition: "Vissa amerikanska märken som Carter's använder vikt som huvudreferens. Praktiskt för bebisar med proportioner utanför standardpercentilen.",
166
+ },
167
+ {
168
+ term: 'Omlottöppning',
169
+ definition: 'Design av halsringningen på bodies och tröjor som gör det möjligt att klä på bebisen genom att dra plagget nedåt istället för över huvudet. Oumbärligt under de första månaderna.',
170
+ },
171
+ ]},
172
+ { type: 'summary', title: 'Vad du bör komma ihåg', items: [
173
+ 'Längden är den mest pålitliga indikatorn för att välja storlek, mer än åldern.',
174
+ "H&M och Primark tenderar att vara stora; Carter's och Mayoral är små i storleken.",
175
+ 'Numeriska europeiska storlekar (50, 56, 62...) motsvarar längden i cm.',
176
+ 'Vid gränsfall, välj den större storleken för längre användningstid.',
177
+ 'Omlottöppning och rymligt grenmått är nyckeldetaljer för komfort.',
178
+ ]},
179
+ ],
180
+ faqTitle: "Vanliga frågor",
181
+ faq,
182
+ bibliographyTitle: "Referenser",
183
+ bibliography: [
184
+ {
185
+ name: 'Zara - Storleksguide barn',
186
+ url: 'https://www.zara.com/se/sv/size-guide.html',
187
+ },
188
+ {
189
+ name: 'H&M - Storleksguide bebis',
190
+ url: 'https://www2.hm.com/se_sv/kundservice/storleksguide.html',
191
+ },
192
+ {
193
+ name: 'WHO - Tillväxtstandarder barn',
194
+ url: 'https://www.who.int/tools/child-growth-standards',
195
+ },
196
+ {
197
+ name: 'Mayoral - Storleksguide',
198
+ url: 'https://www.mayoral.com/se-sv/guia-tallas',
199
+ },
200
+ ],
201
+ howTo,
202
+ schemas: [faqSchema as any, howToSchema as any, appSchema],
203
+ };
@@ -0,0 +1,203 @@
1
+ import type { BabySizeConverterLocaleContent } from '../index';
2
+ import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
3
+
4
+ const slug = 'bebek-kiyafet-beden-donusturucu';
5
+ const title = 'Bebek Kıyafet Bedeni Dönüştürücü';
6
+ const description = 'Zara, H&M, Primark, Carter\'s, Kiabi, Mango ve Mayoral arasındaki bebek kıyafeti bedenlerini dönüştürün. Her marka için tam bedeni almak üzere boy ve ağırlığı girin.';
7
+ const faq = [
8
+ {
9
+ question: 'Bebeğime hangi kıyafet bedeninin uygun olduğunu nasıl anlarım?',
10
+ answer: 'En güvenilir yöntem, bebeğin boyunu ana referans olarak kullanmaktır. Avrupa bedenleri (50, 56, 62...) doğrudan santimetre cinsinden boya karşılık gelir. Her marka tarafından önerilen bedeni almak için bebeğin boyunu ve ağırlığını dönüştürücüye girin.',
11
+ },
12
+ {
13
+ question: 'Bedenler markalar arasında neden bu kadar çok değişiyor?',
14
+ answer: 'Her markanın kendi kesim kalıbı vardır. H&M ve Primark daha geniş kalıplı olma eğilimindeyken, Carter\'s ve Mayoral daha dar kesimlere sahiptir. Sadece yaşı değil, her zaman bebeğin ölçülerini kullanın.',
15
+ },
16
+ {
17
+ question: 'Bebeğim iki beden arasındaysa hangisini almalıyım?',
18
+ answer: 'Her zaman bir üst bedeni seçin. Bebekler çok hızlı büyür ve bir üst beden daha uzun kullanım ömrü ve konfor sağlar.',
19
+ },
20
+ {
21
+ question: 'İnç cinsinden bedenler de aynı şekilde mi çalışıyor?',
22
+ answer: 'Carter\'s gibi Amerikan markaları inç ve ağırlığı referans alır. Dönüştürücü, etkinleştirirseniz size otomatik olarak emperyal sistemdeki karşılıkları gösterir.',
23
+ },
24
+ ];
25
+ const howTo = [
26
+ {
27
+ name: 'Bebeğin boyunu girin',
28
+ text: 'Bebeğin güncel boyunu santimetre veya inç cinsinden ayarlamak için kaydırıcıyı veya düğmeleri kullanın.',
29
+ },
30
+ {
31
+ name: 'Bebeğin ağırlığını girin',
32
+ text: 'Bazı markalar ağırlığı tamamlayıcı bir referans olarak kullandığından, sonuçları hassaslaştırmak için ağırlığı kg veya libre cinsinden ayarlayın.',
33
+ },
34
+ {
35
+ name: 'Bir marka seçin',
36
+ text: 'Önerilen bedeni ve giysinin tahmini ölçülerini görmek için giyim markasını seçin.',
37
+ },
38
+ {
39
+ name: 'Karşılıklara göz atın',
40
+ text: 'Sağ panelde mevcut tüm markaların eşdeğer bedenlerini bir bakışta göreceksiniz.',
41
+ },
42
+ ];
43
+
44
+ const faqSchema: WithContext<FAQPage> = {
45
+ '@context': 'https://schema.org',
46
+ '@type': 'FAQPage',
47
+ mainEntity: faq.map((item) => ({
48
+ '@type': 'Question',
49
+ name: item.question,
50
+ acceptedAnswer: { '@type': 'Answer', text: item.answer },
51
+ })),
52
+ };
53
+ const howToSchema: WithContext<HowTo> = {
54
+ '@context': 'https://schema.org',
55
+ '@type': 'HowTo',
56
+ name: title,
57
+ description,
58
+ step: howTo.map((step) => ({
59
+ '@type': 'HowToStep',
60
+ name: step.name,
61
+ text: step.text,
62
+ })),
63
+ };
64
+ const appSchema: WithContext<SoftwareApplication> = {
65
+ '@context': 'https://schema.org',
66
+ '@type': 'SoftwareApplication',
67
+ name: title,
68
+ description,
69
+ applicationCategory: 'UtilitiesApplication',
70
+ operatingSystem: 'Web',
71
+ offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
72
+ inLanguage: 'tr',
73
+ };
74
+
75
+ export const content: BabySizeConverterLocaleContent = {
76
+ slug,
77
+ title,
78
+ description,
79
+ ui: {
80
+ labelInput: 'Bebek ölçüleri',
81
+ labelResults: 'Tahmini karşılıklar',
82
+ labelHeight: 'Bebeğin boyu',
83
+ labelWeight: 'Bebeğin güncel ağırlığı',
84
+ labelPresets: 'Tipik yaşa göre ön ayarlar',
85
+ unitMetric: 'Metrik (cm/kg)',
86
+ unitImperial: 'Emperyal (in/lb)',
87
+ labelCm: 'cm',
88
+ labelKg: 'kg',
89
+ labelIn: 'in',
90
+ labelLb: 'lb',
91
+ labelBrandFit: 'Marka ve Kesim',
92
+ labelSuggested: 'Önerilen beden',
93
+ labelChest: 'Göğüs',
94
+ labelWaist: 'Bel',
95
+ labelGarmentMeasures: 'Giysinin tahmini ölçüleri',
96
+ fitRegular: 'Standart kesim',
97
+ fitLarge: 'Geniş kesim',
98
+ fitSmall: 'Dar kesim',
99
+ tipTitle: 'Uzman tavsiyesi',
100
+ tipText: 'Bebekler çok hızlı gelişim dönemlerinden geçerler. Eğer sonuç bir bedenin üst sınırındaysa, kullanım ömrünü ve bebeğin konforunu garanti altına almak için her zaman bir üst bedeni seçin.',
101
+ shareAriaLabel: 'Bedeni paylaş',
102
+ faqTitle: 'Sıkça sorulan sorular',
103
+ bibliographyTitle: 'Referanslar',
104
+ },
105
+ seo: [
106
+ { type: 'title', text: 'Bebek beden rehberi: Zara, H&M, Primark ve uluslararası markalar', level: 2 },
107
+ { type: 'stats', columns: 3, items: [
108
+ { value: '2.5 cm', label: 'Aylık büyüme' },
109
+ { value: '3 ay', label: 'Her bedenin süresi' },
110
+ { value: '95%', label: 'Boy bazlı güvenilirlik' },
111
+ ]},
112
+ { type: 'tip', html: 'Beden seçerken yaşı değil, her zaman boyu ana referans olarak kullanın. Aynı aydaki iki bebek arasında 8–10 cm boy farkı olabilir, bu da tam bir beden atlamak bünlamına gelir.' },
113
+ { type: 'title', text: 'Yaş, boy ve ağırlığa göre bedenler', level: 3 },
114
+ { type: 'table', headers: ['Yaklaşık yaş', 'Boy (cm)', 'Ağırlık (kg)', 'Alışılmış beden', 'Tahmini kullanım'], rows: [
115
+ ['Yeni doğan', '50–56', '3–4.5', '50 / RN', '4–6 hafta'],
116
+ ['1–3 ay', '56–62', '4.5–6', '56–62', '6–8 hafta'],
117
+ ['3–6 ay', '62–68', '6–8', '62–68', '6–8 hafta'],
118
+ ['6–9 ay', '68–74', '8–9.5', '68–74', '6–8 hafta'],
119
+ ['9–12 ay', '74–80', '9.5–11', '74–80', '6–8 hafta'],
120
+ ['12–18 ay', '80–86', '11–13', '80–86', '3–4 ay'],
121
+ ['18–24 ay', '86–92', '13–15', '86–92', '3–4 ay'],
122
+ ]},
123
+ { type: 'title', text: 'Geniş vs dar kalıplı markalar', level: 3 },
124
+ { type: 'comparative', columns: 2, items: [
125
+ {
126
+ title: 'Büyük kalıplılar (bir alt bedeni seçin)',
127
+ description: 'Bu markalar daha geniş kesimler kullanır; alışılmış bedenden bir küçüğünü tercih edin.',
128
+ points: [
129
+ 'H&M: Genelde bir beden büyük gelir',
130
+ 'Primark: Genel bir geniş kesim hakimdir',
131
+ 'Lupilu (Lidl): Bol kesim',
132
+ 'Düşük persentildeki bebekler için önerilir',
133
+ ],
134
+ },
135
+ {
136
+ title: 'Dar kalıplılar (bir üst bedeni seçin)',
137
+ description: 'Bu markalar daha dar kesimler kullanır; alışılmış bedenden bir büyüğünü tercih edin.',
138
+ points: [
139
+ "Carter's: Dar Amerikan kesimi",
140
+ 'Mayoral: Dar Avrupa kesimi',
141
+ 'Neck & Neck: Küçük kalıplar',
142
+ 'Yüksek persentildeki bebekler için önerilir',
143
+ ],
144
+ },
145
+ ]},
146
+ { type: 'title', text: 'Doğru bedeni bulmanın anahtarları', level: 3 },
147
+ { type: 'list', items: [
148
+ 'Satın almadan önce her zaman bebeği ölçün, sadece yaşa güvenmeyin',
149
+ 'Eğer iki beden sınırındaysa, üst bedeni seçin',
150
+ 'Tulumlarda bez payını hesaba katın',
151
+ 'Avrupa bedenleri (50, 56, 62...) cm cinsinden boya karşılık gelir',
152
+ 'Kullanmadan önce her zaman yıkayın: Pamuklular %5\'e kadar çekebilir',
153
+ ]},
154
+ { type: 'glossary', items: [
155
+ {
156
+ term: 'Beden 50 / Yeni Doğan',
157
+ definition: '50 cm boya ve yaklaşık 3.5 kg ağırlığa kadar olan bebekler için tasarlanmıştır. Birçok bebek bunu ilk haftalarda bile hızla geçer.',
158
+ },
159
+ {
160
+ term: 'Ağ ölçüsü',
161
+ definition: 'Ağ ile bel arasındaki mesafe. Body ve tulumlarda kritiktir: Kısa bir ağ ölçüsü, giysinin geri kalanı uysa bile bebeğin hareketini kısıtlar.',
162
+ },
163
+ {
164
+ term: 'Ağırlık bazlı referans',
165
+ definition: "Carter's gibi bazı Amerikan markaları ağırlığı birincil referans olarak kullanır. Standart persentil dışındaki oranlara sahip bebekler için kullanışlıdır.",
166
+ },
167
+ {
168
+ term: 'Zarf yaka',
169
+ definition: 'Body ve tişörtlerin yakasının, bebeğin başından geçirmek yerine giysiyi aşağı doğru kaydırarak giydirilmesini sağlayan tasarımıdır. İlk aylarda vazgeçilmezdir.',
170
+ },
171
+ ]},
172
+ { type: 'summary', title: 'Unutulmaması gerekenler', items: [
173
+ 'Boy, beden seçiminde yaştan daha güvenilir bir göstergedir.',
174
+ "H&M ve Primark genellikle büyük kalıplıdır; Carter's ve Mayoral dar kalıplıdır.",
175
+ 'Sayısal Avrupa bedenleri (50, 56, 62...) boya karşılık gelir.',
176
+ 'Bedenler arasında kalındığında, üst bedeni seçmek uzun kullanım sağlar.',
177
+ 'Zarf yaka ve geniş ağ ölçüsü, konfor için kilit detaylardır.',
178
+ ]},
179
+ ],
180
+ faqTitle: "Sıkça sorulan sorular",
181
+ faq,
182
+ bibliographyTitle: "Referanslar",
183
+ bibliography: [
184
+ {
185
+ name: 'Zara - Çocuk beden rehberi',
186
+ url: 'https://www.zara.com/tr/tr/size-guide.html',
187
+ },
188
+ {
189
+ name: 'H&M - Bebek beden rehberi',
190
+ url: 'https://www2.hm.com/tr_tr/musteri-hizmetleri/beden-tablosu.html',
191
+ },
192
+ {
193
+ name: 'WHO - Çocuk büyüme standartları',
194
+ url: 'https://www.who.int/tools/child-growth-standards',
195
+ },
196
+ {
197
+ name: 'Mayoral - Beden rehberi',
198
+ url: 'https://www.mayoral.com/tr-tr/guia-tallas',
199
+ },
200
+ ],
201
+ howTo,
202
+ schemas: [faqSchema as any, howToSchema as any, appSchema],
203
+ };
@@ -0,0 +1,203 @@
1
+ import type { BabySizeConverterLocaleContent } from '../index';
2
+ import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
3
+
4
+ const slug = 'baby-size-converter';
5
+ const title = '婴儿衣服尺码转换器';
6
+ const description = '在 Zara、H&M、Primark、Carter\'s、Kiabi、Mango 和 Mayoral 等品牌之间转换婴儿衣服尺码。输入身高和体重,即可获得每个品牌的精确尺码建议。';
7
+ const faq = [
8
+ {
9
+ question: '我如何知道我的宝宝适合什么尺码的衣服?',
10
+ answer: '最可靠的方法是将宝宝的身高作为主要参考。欧洲尺码(50、56、62...)直接对应于以厘米为单位的身高。在转换器中输入宝宝的身高和体重,即可获得每个品牌推荐的尺码。',
11
+ },
12
+ {
13
+ question: '为什么不同品牌的尺码差异如此之大?',
14
+ answer: '每个品牌都有自己的剪裁版型。H&M 和 Primark 的尺码通常偏大,而 Carter\'s 和 Mayoral 的剪裁则更加修身。请始终参考宝宝的实际测量数据,而不仅仅是年龄。',
15
+ },
16
+ {
17
+ question: '如果宝宝处于两个尺码之间,该选哪一个?',
18
+ answer: '请始终选择较大的尺码。婴儿成长速度非常快,较大的尺码可以确保更长的穿着时间以及更好的舒适度。',
19
+ },
20
+ {
21
+ question: '英寸单位的尺码计算方式一样吗?',
22
+ answer: '美国品牌(如 Carter\'s)使用英寸和重量作为参考。如果您激活了英制系统,转换器会自动为您显示对应的换算结果。',
23
+ },
24
+ ];
25
+ const howTo = [
26
+ {
27
+ name: '输入宝宝身高',
28
+ text: '使用滑块或按钮以厘米(cm)或英寸(in)为单位调整宝宝的当前身高。',
29
+ },
30
+ {
31
+ name: '输入宝宝体重',
32
+ text: '调整以公斤(kg)或磅(lb)为单位的体重以精细化结果,因为某些品牌会将体重作为补充参考。',
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: faq.map((item) => ({
48
+ '@type': 'Question',
49
+ name: item.question,
50
+ acceptedAnswer: { '@type': 'Answer', text: item.answer },
51
+ })),
52
+ };
53
+ const howToSchema: WithContext<HowTo> = {
54
+ '@context': 'https://schema.org',
55
+ '@type': 'HowTo',
56
+ name: title,
57
+ description,
58
+ step: howTo.map((step) => ({
59
+ '@type': 'HowToStep',
60
+ name: step.name,
61
+ text: step.text,
62
+ })),
63
+ };
64
+ const appSchema: WithContext<SoftwareApplication> = {
65
+ '@context': 'https://schema.org',
66
+ '@type': 'SoftwareApplication',
67
+ name: title,
68
+ description,
69
+ applicationCategory: 'UtilitiesApplication',
70
+ operatingSystem: 'Web',
71
+ offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
72
+ inLanguage: 'zh',
73
+ };
74
+
75
+ export const content: BabySizeConverterLocaleContent = {
76
+ slug,
77
+ title,
78
+ description,
79
+ ui: {
80
+ labelInput: '宝宝测量数据',
81
+ labelResults: '预计等效尺码',
82
+ labelHeight: '宝宝身高',
83
+ labelWeight: '宝宝当前体重',
84
+ labelPresets: '按典型月龄预设',
85
+ unitMetric: '公制 (cm/kg)',
86
+ unitImperial: '英制 (in/lb)',
87
+ labelCm: 'cm',
88
+ labelKg: 'kg',
89
+ labelIn: 'in',
90
+ labelLb: 'lb',
91
+ labelBrandFit: '品牌与版型',
92
+ labelSuggested: '建议尺码',
93
+ labelChest: '胸围',
94
+ labelWaist: '腰围',
95
+ labelGarmentMeasures: '衣物预计测量数据',
96
+ fitRegular: '标准版型',
97
+ fitLarge: '宽松版型',
98
+ fitSmall: '贴身版型',
99
+ tipTitle: '专家建议',
100
+ tipText: '婴儿的成长处于快速爆发期。如果测量结果处于尺码的上限边缘,请务必选择较大的尺码,以确保穿着寿命和宝宝的舒适度。',
101
+ shareAriaLabel: '分享尺码',
102
+ faqTitle: '常见问题',
103
+ bibliographyTitle: '参考文献',
104
+ },
105
+ seo: [
106
+ { type: 'title', text: '婴儿尺码指南:Zara、H&M、Primark 及国际品牌对照', level: 2 },
107
+ { type: 'stats', columns: 3, items: [
108
+ { value: '2.5 cm', label: '月均增长参考' },
109
+ { value: '3 个月', label: '每个尺码的穿着时长' },
110
+ { value: '95%', label: '按身高计算的可靠性' },
111
+ ]},
112
+ { type: 'tip', html: '始终使用身高作为选择尺码的主要参考,而非年龄。同月龄的两个宝宝身高差异可达8-10厘米,这意味着需要跨越一个完整的尺码。' },
113
+ { type: 'title', text: '按年龄、身高和体重划分的尺码', level: 3 },
114
+ { type: 'table', headers: ['大概月龄', '身高 (cm)', '体重 (kg)', '常用尺码', '预计时长'], rows: [
115
+ ['新生儿', '50–56', '3–4.5', '50 / RN', '4–6 周'],
116
+ ['1–3 个月', '56–62', '4.5–6', '56–62', '6–8 周'],
117
+ ['3–6 个月', '62–68', '6–8', '62–68', '6–8 周'],
118
+ ['6–9 个月', '68–74', '8–9.5', '68–74', '6–8 周'],
119
+ ['9–12 个月', '74–80', '9.5–11', '74–80', '6–8 周'],
120
+ ['12–18 个月', '80–86', '11–13', '80–86', '3–4 个月'],
121
+ ['18–24 个月', '86–92', '13–15', '86–92', '3–4 个月'],
122
+ ]},
123
+ { type: 'title', text: '偏大品牌 vs 偏小品牌', level: 3 },
124
+ { type: 'comparative', columns: 2, items: [
125
+ {
126
+ title: '尺码偏大 (建议选小一码)',
127
+ description: '这些品牌的剪裁较为宽松;建议比平时选小一个尺码。',
128
+ points: [
129
+ 'H&M:通常比标称大一个尺码',
130
+ 'Primark:普遍的宽松剪裁',
131
+ 'Lupilu (Lidl):休闲活泼版型',
132
+ '推荐给处于低百分位数的宝宝',
133
+ ],
134
+ },
135
+ {
136
+ title: '尺码偏小 (建议选大一码)',
137
+ description: '这些品牌的剪裁较为贴身;建议比平时选大一个尺码。',
138
+ points: [
139
+ "Carter's:美式贴身剪裁",
140
+ 'Mayoral:欧式修身剪裁',
141
+ 'Neck & Neck:缩小型版型',
142
+ '推荐给处于高百分位数的宝宝',
143
+ ],
144
+ },
145
+ ]},
146
+ { type: 'title', text: '准确选择尺码的关键', level: 3 },
147
+ { type: 'list', items: [
148
+ '购买前务必测量宝宝数据,不要只凭年龄判断',
149
+ '如果处于两个尺码的边缘,请选择较大的尺码',
150
+ '对于连体衣,请考虑到尿布所占的空间',
151
+ '欧洲尺码(50、56、62...)对应于身高(厘米)',
152
+ '穿前请务必清洗:棉质衣物可能会缩水达5%',
153
+ ]},
154
+ { type: 'glossary', items: [
155
+ {
156
+ term: '尺码 50 / 新生儿级',
157
+ definition: '专为身高50厘米以下、体重约3.5公斤的宝宝设计。由于生长期非常快,许多宝宝在最初几周就会穿不下。',
158
+ },
159
+ {
160
+ term: '裆部长度',
161
+ definition: '从裆部到腰部的距离。在连体衣和平脚裤中至关重要:裆部过短会限制宝宝的活动,即使衣服的其他部分很合身。',
162
+ },
163
+ {
164
+ term: '按体重参考',
165
+ definition: "某些美国品牌(如 Carter's)将体重作为首要参考。适用于身材比例超出标准百分位数的宝宝。",
166
+ },
167
+ {
168
+ term: '信封领',
169
+ definition: '连体衣和T恤的领口设计,允许通过向下向外拉开衣物的方式为宝宝穿衣,避免直接通过头部。在出生后的最初几个月里不可或缺。',
170
+ },
171
+ ]},
172
+ { type: 'summary', title: '核心要点回顾', items: [
173
+ '身高是选择尺码最可靠的指标,优于年龄参考。',
174
+ 'H&M 和 Primark 倾向于偏大;Carter\'s 和 Mayoral 则更贴身。',
175
+ '数字形式的欧洲尺码(50、56、62...)直接对应身高厘米数。',
176
+ '处于尺码交叉点时,选大一码能确保穿着时间更长。',
177
+ '信封领和充裕的裆部空间是衡量舒适度的关键细节。',
178
+ ]},
179
+ ],
180
+ faqTitle: "常见问题",
181
+ faq,
182
+ bibliographyTitle: "参考文献",
183
+ bibliography: [
184
+ {
185
+ name: 'Zara - 童装尺码指南',
186
+ url: 'https://www.zara.com/cn/zh/size-guide.html',
187
+ },
188
+ {
189
+ name: 'H&M - 婴儿尺码对照表',
190
+ url: 'https://www2.hm.com/zh_cn/customer-service/sizeguide.html',
191
+ },
192
+ {
193
+ name: '世卫组织 - 儿童生长标准',
194
+ url: 'https://www.who.int/tools/child-growth-standards',
195
+ },
196
+ {
197
+ name: 'Mayoral - 尺码对照指南',
198
+ url: 'https://www.mayoral.com/int/guia-tallas',
199
+ },
200
+ ],
201
+ howTo,
202
+ schemas: [faqSchema as any, howToSchema as any, appSchema],
203
+ };
@@ -39,7 +39,19 @@ export const babySizeConverter: BabiesToolEntry<BabySizeConverterUI> = {
39
39
  i18n: {
40
40
  es: () => import('./i18n/es').then((m) => m.content),
41
41
  en: () => import('./i18n/en').then((m) => m.content),
42
+ de: () => import('./i18n/de').then((m) => m.content),
42
43
  fr: () => import('./i18n/fr').then((m) => m.content),
44
+ it: () => import('./i18n/it').then((m) => m.content),
45
+ pt: () => import('./i18n/pt').then((m) => m.content),
46
+ nl: () => import('./i18n/nl').then((m) => m.content),
47
+ pl: () => import('./i18n/pl').then((m) => m.content),
48
+ ru: () => import('./i18n/ru').then((m) => m.content),
49
+ tr: () => import('./i18n/tr').then((m) => m.content),
50
+ sv: () => import('./i18n/sv').then((m) => m.content),
51
+ id: () => import('./i18n/id').then((m) => m.content),
52
+ ja: () => import('./i18n/ja').then((m) => m.content),
53
+ ko: () => import('./i18n/ko').then((m) => m.content),
54
+ zh: () => import('./i18n/zh').then((m) => m.content),
43
55
  },
44
56
  };
45
57