@jjlmoya/utils-pets 1.11.0 → 1.13.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.
- package/package.json +1 -1
- package/src/pages/[locale]/[slug].astro +29 -13
- package/src/tests/locale_completeness.test.ts +4 -14
- package/src/tests/shared-test-helpers.ts +56 -0
- package/src/tests/tool_exports.test.ts +34 -0
- package/src/tests/tool_validation.test.ts +2 -2
- package/src/tool/petAge/bibliography.astro +2 -10
- package/src/tool/petAge/bibliography.ts +6 -0
- package/src/tool/petAge/entry.ts +2 -0
- package/src/tool/petAge/i18n/de.ts +2 -7
- package/src/tool/petAge/i18n/en.ts +2 -7
- package/src/tool/petAge/i18n/es.ts +2 -7
- package/src/tool/petAge/i18n/fr.ts +2 -7
- package/src/tool/petAge/i18n/id.ts +2 -7
- package/src/tool/petAge/i18n/it.ts +2 -7
- package/src/tool/petAge/i18n/ja.ts +2 -7
- package/src/tool/petAge/i18n/ko.ts +2 -7
- package/src/tool/petAge/i18n/nl.ts +2 -7
- package/src/tool/petAge/i18n/pl.ts +2 -7
- package/src/tool/petAge/i18n/pt.ts +2 -7
- package/src/tool/petAge/i18n/ru.ts +2 -7
- package/src/tool/petAge/i18n/sv.ts +2 -7
- package/src/tool/petAge/i18n/tr.ts +2 -7
- package/src/tool/petAge/i18n/zh.ts +2 -7
- package/src/tool/petAge/pet-age-calculator.css +15 -15
- package/src/tool/petAge/seo.astro +2 -48
- package/src/tool/petRation/bibliography.astro +2 -10
- package/src/tool/petRation/bibliography.ts +6 -0
- package/src/tool/petRation/entry.ts +2 -0
- package/src/tool/petRation/i18n/de.ts +2 -7
- package/src/tool/petRation/i18n/en.ts +2 -7
- package/src/tool/petRation/i18n/es.ts +2 -7
- package/src/tool/petRation/i18n/fr.ts +2 -7
- package/src/tool/petRation/i18n/id.ts +2 -7
- package/src/tool/petRation/i18n/it.ts +2 -7
- package/src/tool/petRation/i18n/ja.ts +2 -7
- package/src/tool/petRation/i18n/ko.ts +2 -7
- package/src/tool/petRation/i18n/nl.ts +2 -7
- package/src/tool/petRation/i18n/pl.ts +2 -7
- package/src/tool/petRation/i18n/pt.ts +2 -7
- package/src/tool/petRation/i18n/ru.ts +2 -7
- package/src/tool/petRation/i18n/sv.ts +2 -7
- package/src/tool/petRation/i18n/tr.ts +2 -7
- package/src/tool/petRation/i18n/zh.ts +2 -7
- package/src/tool/petRation/pet-daily-ration-calculator.css +16 -16
- package/src/tool/petRation/seo.astro +2 -48
- package/src/types.ts +0 -2
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { bibliography } from '../bibliography';
|
|
1
2
|
import type { WithContext, SoftwareApplication } from 'schema-dts';
|
|
2
3
|
import type { PetAgeUI, PetAgeLocaleContent } from '../index';
|
|
3
4
|
|
|
@@ -66,11 +67,6 @@ const howTo: PetAgeLocaleContent['howTo'] = [
|
|
|
66
67
|
{ name: '分析生命阶段', text: '查看 结果 以 了解 您的 宠物 与 人类 相比 处于 幼年 、 青年 、 成年 还是 老年 阶段。' },
|
|
67
68
|
];
|
|
68
69
|
|
|
69
|
-
const bibliography: PetAgeLocaleContent['bibliography'] = [
|
|
70
|
-
{ name: 'AAHA 犬猫老年护理指南手册', url: 'https://www.aaha.org/wp-content/uploads/globalassets/02-guidelines/2023-aaha-senior-care-guidelines-for-dogs-and-cats/resources/2023-aaha-senior-care-guidelines-for-dogs-and-cats.pdf' },
|
|
71
|
-
{ name: 'AKC:如何将狗的寿命换算为人类寿命', url: 'https://www.akc.org/expert-advice/health/how-to-calculate-dog-years-to-human-years/' },
|
|
72
|
-
];
|
|
73
|
-
|
|
74
70
|
const seo: PetAgeLocaleContent['seo'] = [
|
|
75
71
|
{
|
|
76
72
|
type: 'summary',
|
|
@@ -180,9 +176,8 @@ export const content: PetAgeLocaleContent = {
|
|
|
180
176
|
description,
|
|
181
177
|
ui,
|
|
182
178
|
seo,
|
|
183
|
-
|
|
179
|
+
|
|
184
180
|
faq,
|
|
185
|
-
bibliographyTitle: '参考文献',
|
|
186
181
|
bibliography,
|
|
187
182
|
howTo,
|
|
188
183
|
schemas,
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
min-height: 400px;
|
|
16
16
|
}
|
|
17
17
|
|
|
18
|
-
|
|
18
|
+
.theme-dark .pet-age-calculator {
|
|
19
19
|
background: var(--color-surface-dark, #1e293b);
|
|
20
20
|
color: var(--color-text-dark, #e2e8f0);
|
|
21
21
|
border-color: var(--color-border-dark, #334155);
|
|
@@ -39,7 +39,7 @@
|
|
|
39
39
|
visibility 0.4s;
|
|
40
40
|
}
|
|
41
41
|
|
|
42
|
-
|
|
42
|
+
.theme-dark .age-loader {
|
|
43
43
|
background: var(--color-surface-dark, #1e293b);
|
|
44
44
|
}
|
|
45
45
|
|
|
@@ -92,7 +92,7 @@
|
|
|
92
92
|
border-bottom: none;
|
|
93
93
|
}
|
|
94
94
|
|
|
95
|
-
|
|
95
|
+
.theme-dark .age-section {
|
|
96
96
|
border-bottom-color: var(--color-border-dark, #334155);
|
|
97
97
|
}
|
|
98
98
|
|
|
@@ -108,7 +108,7 @@
|
|
|
108
108
|
letter-spacing: 0.05em;
|
|
109
109
|
}
|
|
110
110
|
|
|
111
|
-
|
|
111
|
+
.theme-dark .age-section-title {
|
|
112
112
|
color: var(--color-heading-dark, #f8fafc);
|
|
113
113
|
}
|
|
114
114
|
|
|
@@ -161,7 +161,7 @@
|
|
|
161
161
|
box-shadow: 0 0 0 4px rgba(245, 158, 11, 0.1);
|
|
162
162
|
}
|
|
163
163
|
|
|
164
|
-
|
|
164
|
+
.theme-dark .age-text-input {
|
|
165
165
|
background: var(--color-btn-bg-dark, #0f172a);
|
|
166
166
|
border-color: var(--color-btn-border-dark, #334155);
|
|
167
167
|
color: var(--color-text-dark, #e2e8f0);
|
|
@@ -189,7 +189,7 @@
|
|
|
189
189
|
transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
|
|
190
190
|
}
|
|
191
191
|
|
|
192
|
-
|
|
192
|
+
.theme-dark .pet-type-btn {
|
|
193
193
|
background: var(--color-btn-bg-dark, #0f172a);
|
|
194
194
|
border-color: var(--color-btn-border-dark, #334155);
|
|
195
195
|
color: var(--color-text-dark, #e2e8f0);
|
|
@@ -203,7 +203,7 @@
|
|
|
203
203
|
transform: translateY(-2px);
|
|
204
204
|
}
|
|
205
205
|
|
|
206
|
-
|
|
206
|
+
.theme-dark .pet-type-btn.active {
|
|
207
207
|
background: var(--color-surface-elevated-dark, #1e293b);
|
|
208
208
|
}
|
|
209
209
|
|
|
@@ -220,7 +220,7 @@
|
|
|
220
220
|
border: 1px solid var(--color-btn-border, #e2e8f0);
|
|
221
221
|
}
|
|
222
222
|
|
|
223
|
-
|
|
223
|
+
.theme-dark .age-segmented {
|
|
224
224
|
background: var(--color-btn-bg-dark, #0f172a);
|
|
225
225
|
border-color: var(--color-btn-border-dark, #334155);
|
|
226
226
|
}
|
|
@@ -284,7 +284,7 @@
|
|
|
284
284
|
box-shadow: 0 0 0 4px rgba(239, 68, 68, 0.1);
|
|
285
285
|
}
|
|
286
286
|
|
|
287
|
-
|
|
287
|
+
.theme-dark .age-year-input {
|
|
288
288
|
background: var(--color-btn-bg-dark, #0f172a);
|
|
289
289
|
border-color: var(--color-btn-border-dark, #334155);
|
|
290
290
|
color: var(--color-text-dark, #e2e8f0);
|
|
@@ -307,7 +307,7 @@
|
|
|
307
307
|
box-shadow: 0 20px 40px -10px rgba(15, 23, 42, 0.3);
|
|
308
308
|
}
|
|
309
309
|
|
|
310
|
-
|
|
310
|
+
.theme-dark .age-results {
|
|
311
311
|
background: var(--color-accent, #f59e0b);
|
|
312
312
|
color: var(--color-results-text-dark, #0f172a);
|
|
313
313
|
box-shadow: 0 20px 40px -10px rgba(245, 158, 11, 0.2);
|
|
@@ -328,7 +328,7 @@
|
|
|
328
328
|
margin-bottom: 0.5rem;
|
|
329
329
|
}
|
|
330
330
|
|
|
331
|
-
|
|
331
|
+
.theme-dark .age-res-label {
|
|
332
332
|
color: var(--color-results-bg, #0f172a);
|
|
333
333
|
opacity: 0.7;
|
|
334
334
|
}
|
|
@@ -355,7 +355,7 @@
|
|
|
355
355
|
margin: 1.5rem 0;
|
|
356
356
|
}
|
|
357
357
|
|
|
358
|
-
|
|
358
|
+
.theme-dark .age-res-divider {
|
|
359
359
|
background: rgba(0, 0, 0, 0.1);
|
|
360
360
|
}
|
|
361
361
|
|
|
@@ -378,7 +378,7 @@
|
|
|
378
378
|
text-align: center;
|
|
379
379
|
}
|
|
380
380
|
|
|
381
|
-
|
|
381
|
+
.theme-dark .age-res-card {
|
|
382
382
|
background: rgba(0, 0, 0, 0.1);
|
|
383
383
|
border-color: rgba(0, 0, 0, 0.1);
|
|
384
384
|
}
|
|
@@ -404,7 +404,7 @@
|
|
|
404
404
|
border-top: 1px solid rgba(255, 255, 255, 0.1);
|
|
405
405
|
}
|
|
406
406
|
|
|
407
|
-
|
|
407
|
+
.theme-dark .age-res-footer {
|
|
408
408
|
border-top-color: rgba(0, 0, 0, 0.1);
|
|
409
409
|
}
|
|
410
410
|
|
|
@@ -427,7 +427,7 @@
|
|
|
427
427
|
background: rgba(255, 255, 255, 0.2);
|
|
428
428
|
}
|
|
429
429
|
|
|
430
|
-
|
|
430
|
+
.theme-dark .age-share-btn {
|
|
431
431
|
background: rgba(0, 0, 0, 0.15);
|
|
432
432
|
border-color: rgba(0, 0, 0, 0.2);
|
|
433
433
|
color: var(--color-results-bg, #0f172a);
|
|
@@ -1,16 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
import {
|
|
3
|
-
SEOTitle,
|
|
4
|
-
SEOCard,
|
|
5
|
-
SEOStats,
|
|
6
|
-
SEOTip,
|
|
7
|
-
SEOArticle,
|
|
8
|
-
SEOTable,
|
|
9
|
-
SEOProsCons,
|
|
10
|
-
SEOSummary,
|
|
11
|
-
SEOGlossary,
|
|
12
|
-
SEODiagnostic,
|
|
13
|
-
} from '@jjlmoya/utils-shared';
|
|
2
|
+
import { SEORenderer } from '@jjlmoya/utils-shared';
|
|
14
3
|
import { petAge } from './index';
|
|
15
4
|
import type { KnownLocale } from '../../types';
|
|
16
5
|
|
|
@@ -21,41 +10,6 @@ interface Props {
|
|
|
21
10
|
const { locale = 'es' } = Astro.props;
|
|
22
11
|
const content = await petAge.i18n[locale]?.();
|
|
23
12
|
if (!content) return null;
|
|
24
|
-
|
|
25
|
-
const { seo } = content;
|
|
26
13
|
---
|
|
27
14
|
|
|
28
|
-
<
|
|
29
|
-
{seo.map((section: any) => {
|
|
30
|
-
switch (section.type) {
|
|
31
|
-
case 'summary':
|
|
32
|
-
return <SEOSummary title={section.title} items={section.items} />;
|
|
33
|
-
case 'title':
|
|
34
|
-
return <SEOTitle title={section.text} level={section.level || 2} />;
|
|
35
|
-
case 'paragraph':
|
|
36
|
-
return <p set:html={section.html} />;
|
|
37
|
-
case 'stats':
|
|
38
|
-
return <SEOStats stats={section.items} columns={section.columns} />;
|
|
39
|
-
case 'card':
|
|
40
|
-
return <SEOCard title={section.title} icon={section.icon}><Fragment set:html={section.html} /></SEOCard>;
|
|
41
|
-
case 'tip':
|
|
42
|
-
return <SEOTip title={section.title}><Fragment set:html={section.html} /></SEOTip>;
|
|
43
|
-
case 'table':
|
|
44
|
-
return (
|
|
45
|
-
<SEOTable headers={section.headers}>
|
|
46
|
-
{section.rows.map((row: string[]) => (
|
|
47
|
-
<tr>{row.map((cell: string) => <td set:html={cell} />)}</tr>
|
|
48
|
-
))}
|
|
49
|
-
</SEOTable>
|
|
50
|
-
);
|
|
51
|
-
case 'proscons':
|
|
52
|
-
return <SEOProsCons title={section.title} items={section.items} />;
|
|
53
|
-
case 'diagnostic':
|
|
54
|
-
return <SEODiagnostic title={section.title} icon={section.icon} type={section.variant} badge={section.badge}><Fragment set:html={section.html} /></SEODiagnostic>;
|
|
55
|
-
case 'glossary':
|
|
56
|
-
return <SEOGlossary items={section.items} />;
|
|
57
|
-
default:
|
|
58
|
-
return null;
|
|
59
|
-
}
|
|
60
|
-
})}
|
|
61
|
-
</SEOArticle>
|
|
15
|
+
{content.seo?.length > 0 && <SEORenderer content={{ locale, sections: content.seo }} />}
|
|
@@ -1,14 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
import { Bibliography as SharedBibliography } from '@jjlmoya/utils-shared';
|
|
3
|
-
import {
|
|
4
|
-
import type { KnownLocale } from '../../types';
|
|
5
|
-
|
|
6
|
-
interface Props {
|
|
7
|
-
locale?: KnownLocale;
|
|
8
|
-
}
|
|
9
|
-
|
|
10
|
-
const { locale = 'es' } = Astro.props;
|
|
11
|
-
const content = await petRation.i18n[locale]?.();
|
|
3
|
+
import { bibliography } from './bibliography';
|
|
12
4
|
---
|
|
13
5
|
|
|
14
|
-
|
|
6
|
+
<SharedBibliography links={bibliography} />
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { BibliographyEntry } from '../../types';
|
|
2
|
+
|
|
3
|
+
export const bibliography: BibliographyEntry[] = [
|
|
4
|
+
{ name: 'WSAVA: Nutrition Toolkit and Calorie Recommendations', url: 'https://wsava.org/global-guidelines/global-nutrition-guidelines/' },
|
|
5
|
+
{ name: 'FEDIAF: Nutritional Guidelines for Complete and Complementary Pet Food', url: 'https://fediaf.org/self-regulation/nutrition.html' },
|
|
6
|
+
];
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { bibliography } from '../bibliography';
|
|
1
2
|
import type { WithContext, SoftwareApplication } from 'schema-dts';
|
|
2
3
|
import type { PetRationUI, PetRationLocaleContent } from '../index';
|
|
3
4
|
|
|
@@ -65,11 +66,6 @@ const howTo: PetRationLocaleContent['howTo'] = [
|
|
|
65
66
|
{ name: 'Kalorien des Futters pro kg eingeben', text: 'Suchen Sie auf der Futterverpackung nach dem genauen kcal/kg-Wert, damit die endgültige Ration in Gramm so präzise wie möglich für eine optimale Gesundheit berechnet wird.' },
|
|
66
67
|
];
|
|
67
68
|
|
|
68
|
-
const bibliography: PetRationLocaleContent['bibliography'] = [
|
|
69
|
-
{ name: 'WSAVA: Nutrition Toolkit und Kalorienempfehlungen', url: 'https://wsava.org/global-guidelines/global-nutrition-guidelines/' },
|
|
70
|
-
{ name: 'FEDIAF: Ernährungsrichtlinien für Alleinfuttermittel und Ergänzungsfuttermittel für Heimtiere', url: 'https://fediaf.org/self-regulation/nutrition.html' },
|
|
71
|
-
];
|
|
72
|
-
|
|
73
69
|
const seo: PetRationLocaleContent['seo'] = [
|
|
74
70
|
{
|
|
75
71
|
type: 'summary',
|
|
@@ -172,8 +168,7 @@ const schemas: PetRationLocaleContent['schemas'] = [
|
|
|
172
168
|
];
|
|
173
169
|
|
|
174
170
|
export const content: PetRationLocaleContent = {
|
|
175
|
-
|
|
176
|
-
bibliographyTitle: 'Bibliographie',
|
|
171
|
+
|
|
177
172
|
slug,
|
|
178
173
|
title,
|
|
179
174
|
description,
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { bibliography } from '../bibliography';
|
|
1
2
|
import type { WithContext, SoftwareApplication } from 'schema-dts';
|
|
2
3
|
import type { PetRationUI, PetRationLocaleContent } from '../index';
|
|
3
4
|
|
|
@@ -65,11 +66,6 @@ const howTo: PetRationLocaleContent['howTo'] = [
|
|
|
65
66
|
{ name: 'Enter the food calories per kg', text: 'Look on the pet food packaging for the exact kcal/kg value so the final ration in grams is as precise as possible for optimal health.' },
|
|
66
67
|
];
|
|
67
68
|
|
|
68
|
-
const bibliography: PetRationLocaleContent['bibliography'] = [
|
|
69
|
-
{ name: 'WSAVA: Nutrition Toolkit and Calorie Recommendations', url: 'https://wsava.org/global-guidelines/global-nutrition-guidelines/' },
|
|
70
|
-
{ name: 'FEDIAF: Nutritional Guidelines for Complete and Complementary Pet Food', url: 'https://fediaf.org/self-regulation/nutrition.html' },
|
|
71
|
-
];
|
|
72
|
-
|
|
73
69
|
const seo: PetRationLocaleContent['seo'] = [
|
|
74
70
|
{
|
|
75
71
|
type: 'summary',
|
|
@@ -172,8 +168,7 @@ const schemas: PetRationLocaleContent['schemas'] = [
|
|
|
172
168
|
];
|
|
173
169
|
|
|
174
170
|
export const content: PetRationLocaleContent = {
|
|
175
|
-
|
|
176
|
-
bibliographyTitle: 'Bibliography',
|
|
171
|
+
|
|
177
172
|
slug,
|
|
178
173
|
title,
|
|
179
174
|
description,
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { bibliography } from '../bibliography';
|
|
1
2
|
import type { WithContext, SoftwareApplication } from 'schema-dts';
|
|
2
3
|
import type { PetRationUI, PetRationLocaleContent } from '../index';
|
|
3
4
|
|
|
@@ -65,11 +66,6 @@ const howTo: PetRationLocaleContent['howTo'] = [
|
|
|
65
66
|
{ name: 'Introduce las calorías del alimento por kg', text: 'Busca en el envase del alimento para mascotas el valor exacto de kcal/kg para que la ración final en gramos sea lo más precisa posible para una salud óptima.' },
|
|
66
67
|
];
|
|
67
68
|
|
|
68
|
-
const bibliography: PetRationLocaleContent['bibliography'] = [
|
|
69
|
-
{ name: 'WSAVA: Kit de herramientas de nutrición y recomendaciones calóricas', url: 'https://wsava.org/global-guidelines/global-nutrition-guidelines/' },
|
|
70
|
-
{ name: 'FEDIAF: Guía nutricional para alimentos completos y complementarios para mascotas', url: 'https://fediaf.org/self-regulation/nutrition.html' },
|
|
71
|
-
];
|
|
72
|
-
|
|
73
69
|
const seo: PetRationLocaleContent['seo'] = [
|
|
74
70
|
{
|
|
75
71
|
type: 'summary',
|
|
@@ -172,8 +168,7 @@ const schemas: PetRationLocaleContent['schemas'] = [
|
|
|
172
168
|
];
|
|
173
169
|
|
|
174
170
|
export const content: PetRationLocaleContent = {
|
|
175
|
-
|
|
176
|
-
bibliographyTitle: 'Bibliografía',
|
|
171
|
+
|
|
177
172
|
slug,
|
|
178
173
|
title,
|
|
179
174
|
description,
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { bibliography } from '../bibliography';
|
|
1
2
|
import type { WithContext, SoftwareApplication } from 'schema-dts';
|
|
2
3
|
import type { PetRationUI, PetRationLocaleContent } from '../index';
|
|
3
4
|
|
|
@@ -65,11 +66,6 @@ const howTo: PetRationLocaleContent['howTo'] = [
|
|
|
65
66
|
{ name: 'Entrez les calories de la nourriture par kg', text: 'Regardez sur l\'emballage de la nourriture pour animaux la valeur exacte en kcal/kg afin que le calcul de la ration finale en grammes soit aussi précis que possible pour une santé optimale.' },
|
|
66
67
|
];
|
|
67
68
|
|
|
68
|
-
const bibliography: PetRationLocaleContent['bibliography'] = [
|
|
69
|
-
{ name: 'WSAVA : Boîte à outils nutritionnelle et recommandations caloriques', url: 'https://wsava.org/global-guidelines/global-nutrition-guidelines/' },
|
|
70
|
-
{ name: 'FEDIAF : Directives nutritionnelles pour les aliments complets et complémentaires pour animaux de compagnie', url: 'https://fediaf.org/self-regulation/nutrition.html' },
|
|
71
|
-
];
|
|
72
|
-
|
|
73
69
|
const seo: PetRationLocaleContent['seo'] = [
|
|
74
70
|
{
|
|
75
71
|
type: 'summary',
|
|
@@ -172,8 +168,7 @@ const schemas: PetRationLocaleContent['schemas'] = [
|
|
|
172
168
|
];
|
|
173
169
|
|
|
174
170
|
export const content: PetRationLocaleContent = {
|
|
175
|
-
|
|
176
|
-
bibliographyTitle: 'Bibliographie',
|
|
171
|
+
|
|
177
172
|
slug,
|
|
178
173
|
title,
|
|
179
174
|
description,
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { bibliography } from '../bibliography';
|
|
1
2
|
import type { WithContext, SoftwareApplication } from 'schema-dts';
|
|
2
3
|
import type { PetRationUI, PetRationLocaleContent } from '../index';
|
|
3
4
|
|
|
@@ -65,11 +66,6 @@ const howTo: PetRationLocaleContent['howTo'] = [
|
|
|
65
66
|
{ name: 'Masukkan kalori makanan per kg', text: 'Lihat pada kemasan makanan hewan untuk nilai kcal/kg yang tepat sehingga penghitungan ransum akhir dalam gram seakurat mungkin untuk kesehatan yang optimal.' },
|
|
66
67
|
];
|
|
67
68
|
|
|
68
|
-
const bibliography: PetRationLocaleContent['bibliography'] = [
|
|
69
|
-
{ name: 'WSAVA: Toolkit Nutrisi dan Rekomendasi Kalori', url: 'https://wsava.org/global-guidelines/global-nutrition-guidelines/' },
|
|
70
|
-
{ name: 'FEDIAF: Pedoman Nutrisi untuk Makanan Hewan Peliharaan Lengkap dan Pelengkap', url: 'https://fediaf.org/self-regulation/nutrition.html' },
|
|
71
|
-
];
|
|
72
|
-
|
|
73
69
|
const seo: PetRationLocaleContent['seo'] = [
|
|
74
70
|
{
|
|
75
71
|
type: 'summary',
|
|
@@ -172,8 +168,7 @@ const schemas: PetRationLocaleContent['schemas'] = [
|
|
|
172
168
|
];
|
|
173
169
|
|
|
174
170
|
export const content: PetRationLocaleContent = {
|
|
175
|
-
|
|
176
|
-
bibliographyTitle: 'Bibliografi',
|
|
171
|
+
|
|
177
172
|
slug,
|
|
178
173
|
title,
|
|
179
174
|
description,
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { bibliography } from '../bibliography';
|
|
1
2
|
import type { WithContext, SoftwareApplication } from 'schema-dts';
|
|
2
3
|
import type { PetRationUI, PetRationLocaleContent } from '../index';
|
|
3
4
|
|
|
@@ -65,11 +66,6 @@ const howTo: PetRationLocaleContent['howTo'] = [
|
|
|
65
66
|
{ name: 'Inserisci le calorie del cibo per kg', text: 'Cerca sulla confezione del cibo per animali il valore esatto di kcal/kg in modo che il calcolo della razione finale in grammi sia il più preciso possibile per una salute ottimale.' },
|
|
66
67
|
];
|
|
67
68
|
|
|
68
|
-
const bibliography: PetRationLocaleContent['bibliography'] = [
|
|
69
|
-
{ name: 'WSAVA: Kit di strumenti nutrizionali e raccomandazioni caloriche', url: 'https://wsava.org/global-guidelines/global-nutrition-guidelines/' },
|
|
70
|
-
{ name: 'FEDIAF: Linee guida nutrizionali per alimenti completi e complementari per animali domestici', url: 'https://fediaf.org/self-regulation/nutrition.html' },
|
|
71
|
-
];
|
|
72
|
-
|
|
73
69
|
const seo: PetRationLocaleContent['seo'] = [
|
|
74
70
|
{
|
|
75
71
|
type: 'summary',
|
|
@@ -172,8 +168,7 @@ const schemas: PetRationLocaleContent['schemas'] = [
|
|
|
172
168
|
];
|
|
173
169
|
|
|
174
170
|
export const content: PetRationLocaleContent = {
|
|
175
|
-
|
|
176
|
-
bibliographyTitle: 'Bibliografia',
|
|
171
|
+
|
|
177
172
|
slug,
|
|
178
173
|
title,
|
|
179
174
|
description,
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { bibliography } from '../bibliography';
|
|
1
2
|
import type { WithContext, SoftwareApplication } from 'schema-dts';
|
|
2
3
|
import type { PetRationUI, PetRationLocaleContent } from '../index';
|
|
3
4
|
|
|
@@ -65,11 +66,6 @@ const howTo: PetRationLocaleContent['howTo'] = [
|
|
|
65
66
|
{ name: 'フード パッケージ の カロリー を 入力', text: 'フード の 袋 に 記載 されている kcal/kg の 数値 を 確認 して 入力 して ください。 この 数値 が 正確 で ある こと で、 グラム 単位 の 給餌 量 が 健康 に 最適 な 値 で 算出 されます。' },
|
|
66
67
|
];
|
|
67
68
|
|
|
68
|
-
const bibliography: PetRationLocaleContent['bibliography'] = [
|
|
69
|
-
{ name: 'WSAVA: 栄養 ツールキット と カロリー 推奨 事項 ガイド', url: 'https://wsava.org/global-guidelines/global-nutrition-guidelines/' },
|
|
70
|
-
{ name: 'FEDIAF: 総合 および 補完 フード 用 栄養 ガイドライン 指針', url: 'https://fediaf.org/self-regulation/nutrition.html' },
|
|
71
|
-
];
|
|
72
|
-
|
|
73
69
|
const seo: PetRationLocaleContent['seo'] = [
|
|
74
70
|
{
|
|
75
71
|
type: 'summary',
|
|
@@ -172,8 +168,7 @@ const schemas: PetRationLocaleContent['schemas'] = [
|
|
|
172
168
|
];
|
|
173
169
|
|
|
174
170
|
export const content: PetRationLocaleContent = {
|
|
175
|
-
|
|
176
|
-
bibliographyTitle: '関連 参考文献',
|
|
171
|
+
|
|
177
172
|
slug,
|
|
178
173
|
title,
|
|
179
174
|
description,
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { bibliography } from '../bibliography';
|
|
1
2
|
import type { WithContext, SoftwareApplication } from 'schema-dts';
|
|
2
3
|
import type { PetRationUI, PetRationLocaleContent } from '../index';
|
|
3
4
|
|
|
@@ -65,11 +66,6 @@ const howTo: PetRationLocaleContent['howTo'] = [
|
|
|
65
66
|
{ name: '사료 포장지 의 칼로리 입력', text: '사료 포장지 에 적힌 kcal/kg 수치 를 확인 하여 입력 하세요 . 이 정보 가 정확 해야 그람 ( g ) 단위 의 급여량 이 건강 에 최적화 된 값 으로 산출 됩니다 .' },
|
|
66
67
|
];
|
|
67
68
|
|
|
68
|
-
const bibliography: PetRationLocaleContent['bibliography'] = [
|
|
69
|
-
{ name: 'WSAVA: 영양 툴킷 및 칼로리 권장 사항 가이드', url: 'https://wsava.org/global-guidelines/global-nutrition-guidelines/' },
|
|
70
|
-
{ name: 'FEDIAF: 완전 및 보완 사료 를 위한 영양 가이드라인 지침서', url: 'https://fediaf.org/self-regulation/nutrition.html' },
|
|
71
|
-
];
|
|
72
|
-
|
|
73
69
|
const seo: PetRationLocaleContent['seo'] = [
|
|
74
70
|
{
|
|
75
71
|
type: 'summary',
|
|
@@ -172,8 +168,7 @@ const schemas: PetRationLocaleContent['schemas'] = [
|
|
|
172
168
|
];
|
|
173
169
|
|
|
174
170
|
export const content: PetRationLocaleContent = {
|
|
175
|
-
|
|
176
|
-
bibliographyTitle: '관련 참고 문헌',
|
|
171
|
+
|
|
177
172
|
slug,
|
|
178
173
|
title,
|
|
179
174
|
description,
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { bibliography } from '../bibliography';
|
|
1
2
|
import type { WithContext, SoftwareApplication } from 'schema-dts';
|
|
2
3
|
import type { PetRationUI, PetRationLocaleContent } from '../index';
|
|
3
4
|
|
|
@@ -65,11 +66,6 @@ const howTo: PetRationLocaleContent['howTo'] = [
|
|
|
65
66
|
{ name: 'Voer de calorieën van de voeding per kg in', text: 'Kijk op de verpakking van het huisdiervoer voor de exacte kcal/kg-waarde, zodat de uiteindelijke hoeveelheid in grammen zo precies mogelijk is voor een optimale gezondheid.' },
|
|
66
67
|
];
|
|
67
68
|
|
|
68
|
-
const bibliography: PetRationLocaleContent['bibliography'] = [
|
|
69
|
-
{ name: 'WSAVA: Nutrition Toolkit en calorieaanbevelingen', url: 'https://wsava.org/global-guidelines/global-nutrition-guidelines/' },
|
|
70
|
-
{ name: 'FEDIAF: Voedingsrichtlijnen voor volledige en aanvullende diervoeders', url: 'https://fediaf.org/self-regulation/nutrition.html' },
|
|
71
|
-
];
|
|
72
|
-
|
|
73
69
|
const seo: PetRationLocaleContent['seo'] = [
|
|
74
70
|
{
|
|
75
71
|
type: 'summary',
|
|
@@ -172,8 +168,7 @@ const schemas: PetRationLocaleContent['schemas'] = [
|
|
|
172
168
|
];
|
|
173
169
|
|
|
174
170
|
export const content: PetRationLocaleContent = {
|
|
175
|
-
|
|
176
|
-
bibliographyTitle: 'Bibliografie',
|
|
171
|
+
|
|
177
172
|
slug,
|
|
178
173
|
title,
|
|
179
174
|
description,
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { bibliography } from '../bibliography';
|
|
1
2
|
import type { WithContext, SoftwareApplication } from 'schema-dts';
|
|
2
3
|
import type { PetRationUI, PetRationLocaleContent } from '../index';
|
|
3
4
|
|
|
@@ -65,11 +66,6 @@ const howTo: PetRationLocaleContent['howTo'] = [
|
|
|
65
66
|
{ name: 'Wprowadź kaloryczność karmy na kg', text: 'Poszukaj na opakowaniu karmy dla zwierząt dokładnej wartości kcal/kg, aby końcowa racja w gramach była jak najbardziej precyzyjna dla optymalnego zdrowia.' },
|
|
66
67
|
];
|
|
67
68
|
|
|
68
|
-
const bibliography: PetRationLocaleContent['bibliography'] = [
|
|
69
|
-
{ name: 'WSAVA: Zestaw narzędzi żywieniowych i rekomendacje kaloryczne', url: 'https://wsava.org/global-guidelines/global-nutrition-guidelines/' },
|
|
70
|
-
{ name: 'FEDIAF: Wytyczne żywieniowe dla pełnoporcjowych i uzupełniających karm dla zwierząt domowych', url: 'https://fediaf.org/self-regulation/nutrition.html' },
|
|
71
|
-
];
|
|
72
|
-
|
|
73
69
|
const seo: PetRationLocaleContent['seo'] = [
|
|
74
70
|
{
|
|
75
71
|
type: 'summary',
|
|
@@ -172,8 +168,7 @@ const schemas: PetRationLocaleContent['schemas'] = [
|
|
|
172
168
|
];
|
|
173
169
|
|
|
174
170
|
export const content: PetRationLocaleContent = {
|
|
175
|
-
|
|
176
|
-
bibliographyTitle: 'Bibliografia',
|
|
171
|
+
|
|
177
172
|
slug,
|
|
178
173
|
title,
|
|
179
174
|
description,
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { bibliography } from '../bibliography';
|
|
1
2
|
import type { WithContext, SoftwareApplication } from 'schema-dts';
|
|
2
3
|
import type { PetRationUI, PetRationLocaleContent } from '../index';
|
|
3
4
|
|
|
@@ -65,11 +66,6 @@ const howTo: PetRationLocaleContent['howTo'] = [
|
|
|
65
66
|
{ name: 'Introduza as calorias do alimento por kg', text: 'Procure na embalagem do alimento para animais o valor exato de kcal/kg para que o cálculo da ração final em gramas seja o mais preciso possível para uma saúde óptima.' },
|
|
66
67
|
];
|
|
67
68
|
|
|
68
|
-
const bibliography: PetRationLocaleContent['bibliography'] = [
|
|
69
|
-
{ name: 'WSAVA: Kit de ferramentas de nutrição e recomendações calóricas', url: 'https://wsava.org/global-guidelines/global-nutrition-guidelines/' },
|
|
70
|
-
{ name: 'FEDIAF: Diretrizes Nutricionais para Alimentos Completos e Complementares para Animais de Estimação', url: 'https://fediaf.org/self-regulation/nutrition.html' },
|
|
71
|
-
];
|
|
72
|
-
|
|
73
69
|
const seo: PetRationLocaleContent['seo'] = [
|
|
74
70
|
{
|
|
75
71
|
type: 'summary',
|
|
@@ -172,8 +168,7 @@ const schemas: PetRationLocaleContent['schemas'] = [
|
|
|
172
168
|
];
|
|
173
169
|
|
|
174
170
|
export const content: PetRationLocaleContent = {
|
|
175
|
-
|
|
176
|
-
bibliographyTitle: 'Bibliografia',
|
|
171
|
+
|
|
177
172
|
slug,
|
|
178
173
|
title,
|
|
179
174
|
description,
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { bibliography } from '../bibliography';
|
|
1
2
|
import type { WithContext, SoftwareApplication } from 'schema-dts';
|
|
2
3
|
import type { PetRationUI, PetRationLocaleContent } from '../index';
|
|
3
4
|
|
|
@@ -65,11 +66,6 @@ const howTo: PetRationLocaleContent['howTo'] = [
|
|
|
65
66
|
{ name: 'Введите калорийность корма', text: 'Найдите на упаковке корма значение ккал/кг или ккал/100г, чтобы расчет итоговой массы порции в граммах был максимально точным.' },
|
|
66
67
|
];
|
|
67
68
|
|
|
68
|
-
const bibliography: PetRationLocaleContent['bibliography'] = [
|
|
69
|
-
{ name: 'WSAVA: Инструментарий по питанию и рекомендации по калориям', url: 'https://wsava.org/global-guidelines/global-nutrition-guidelines/' },
|
|
70
|
-
{ name: 'FEDIAF: Руководство по питанию для полнорационных и дополнительных кормов', url: 'https://fediaf.org/self-regulation/nutrition.html' },
|
|
71
|
-
];
|
|
72
|
-
|
|
73
69
|
const seo: PetRationLocaleContent['seo'] = [
|
|
74
70
|
{
|
|
75
71
|
type: 'summary',
|
|
@@ -172,8 +168,7 @@ const schemas: PetRationLocaleContent['schemas'] = [
|
|
|
172
168
|
];
|
|
173
169
|
|
|
174
170
|
export const content: PetRationLocaleContent = {
|
|
175
|
-
|
|
176
|
-
bibliographyTitle: 'Библиография',
|
|
171
|
+
|
|
177
172
|
slug,
|
|
178
173
|
title,
|
|
179
174
|
description,
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { bibliography } from '../bibliography';
|
|
1
2
|
import type { WithContext, SoftwareApplication } from 'schema-dts';
|
|
2
3
|
import type { PetRationUI, PetRationLocaleContent } from '../index';
|
|
3
4
|
|
|
@@ -65,11 +66,6 @@ const howTo: PetRationLocaleContent['howTo'] = [
|
|
|
65
66
|
{ name: 'Ange fodrets energiinnehåll', text: 'Titta på foderförpackningen för det exakta kcal/kg-värdet så att den slutgiltiga ransonen i gram blir så precis som möjligt för optimal hälsa.' },
|
|
66
67
|
];
|
|
67
68
|
|
|
68
|
-
const bibliography: PetRationLocaleContent['bibliography'] = [
|
|
69
|
-
{ name: 'WSAVA: Nutrition Toolkit and Calorie Recommendations', url: 'https://wsava.org/global-guidelines/global-nutrition-guidelines/' },
|
|
70
|
-
{ name: 'FEDIAF: Nutritional Guidelines for Complete and Complementary Pet Food', url: 'https://fediaf.org/self-regulation/nutrition.html' },
|
|
71
|
-
];
|
|
72
|
-
|
|
73
69
|
const seo: PetRationLocaleContent['seo'] = [
|
|
74
70
|
{
|
|
75
71
|
type: 'summary',
|
|
@@ -172,8 +168,7 @@ const schemas: PetRationLocaleContent['schemas'] = [
|
|
|
172
168
|
];
|
|
173
169
|
|
|
174
170
|
export const content: PetRationLocaleContent = {
|
|
175
|
-
|
|
176
|
-
bibliographyTitle: 'Bibliografi',
|
|
171
|
+
|
|
177
172
|
slug,
|
|
178
173
|
title,
|
|
179
174
|
description,
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { bibliography } from '../bibliography';
|
|
1
2
|
import type { WithContext, SoftwareApplication } from 'schema-dts';
|
|
2
3
|
import type { PetRationUI, PetRationLocaleContent } from '../index';
|
|
3
4
|
|
|
@@ -65,11 +66,6 @@ const howTo: PetRationLocaleContent['howTo'] = [
|
|
|
65
66
|
{ name: 'Mamanın Kalorisini Girin', text: 'Mama paketinin üzerindeki kcal/kg değerini bulun ve girin . Bu sayede gram cinsinden sonuç en doğru şekilde hesaplanarak evcil hayvanınızın sağlığını korumaya yardımcı olur .' },
|
|
66
67
|
];
|
|
67
68
|
|
|
68
|
-
const bibliography: PetRationLocaleContent['bibliography'] = [
|
|
69
|
-
{ name: 'WSAVA: Beslenme Araç Seti ve Kalori Önerileri Rehberi', url: 'https://wsava.org/global-guidelines/global-nutrition-guidelines/' },
|
|
70
|
-
{ name: 'FEDIAF: Tam ve Tamamlayıcı Evcil Hayvan Mamaları İçin Beslenme Kılavuzları', url: 'https://fediaf.org/self-regulation/nutrition.html' },
|
|
71
|
-
];
|
|
72
|
-
|
|
73
69
|
const seo: PetRationLocaleContent['seo'] = [
|
|
74
70
|
{
|
|
75
71
|
type: 'summary',
|
|
@@ -172,8 +168,7 @@ const schemas: PetRationLocaleContent['schemas'] = [
|
|
|
172
168
|
];
|
|
173
169
|
|
|
174
170
|
export const content: PetRationLocaleContent = {
|
|
175
|
-
|
|
176
|
-
bibliographyTitle: 'Bibliyografya',
|
|
171
|
+
|
|
177
172
|
slug,
|
|
178
173
|
title,
|
|
179
174
|
description,
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { bibliography } from '../bibliography';
|
|
1
2
|
import type { WithContext, SoftwareApplication } from 'schema-dts';
|
|
2
3
|
import type { PetRationUI, PetRationLocaleContent } from '../index';
|
|
3
4
|
|
|
@@ -65,11 +66,6 @@ const howTo: PetRationLocaleContent['howTo'] = [
|
|
|
65
66
|
{ name: '查阅 并 输入 粮袋 的 卡路里', text: '查阅 宠物 食品 包装 上 标注 的 kcal/kg 数值 后 输入 , 这样 计算器 就能 自动 算出 精确 到 克 的 每日 喂食 重量 。' },
|
|
66
67
|
];
|
|
67
68
|
|
|
68
|
-
const bibliography: PetRationLocaleContent['bibliography'] = [
|
|
69
|
-
{ name: 'WSAVA: 动物 营养 工具包 和 卡路里 指南 书', url: 'https://wsava.org/global-guidelines/global-nutrition-guidelines/' },
|
|
70
|
-
{ name: 'FEDIAF: 全价 及 补充 宠物 食品 营养 标准 指南', url: 'https://fediaf.org/self-regulation/nutrition.html' },
|
|
71
|
-
];
|
|
72
|
-
|
|
73
69
|
const seo: PetRationLocaleContent['seo'] = [
|
|
74
70
|
{
|
|
75
71
|
type: 'summary',
|
|
@@ -172,8 +168,7 @@ const schemas: PetRationLocaleContent['schemas'] = [
|
|
|
172
168
|
];
|
|
173
169
|
|
|
174
170
|
export const content: PetRationLocaleContent = {
|
|
175
|
-
|
|
176
|
-
bibliographyTitle: '更多 参考文献',
|
|
171
|
+
|
|
177
172
|
slug,
|
|
178
173
|
title,
|
|
179
174
|
description,
|