@jjlmoya/utils-diy 1.2.0 → 1.4.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 (189) hide show
  1. package/package.json +2 -1
  2. package/src/category/i18n/de.ts +12 -0
  3. package/src/category/i18n/id.ts +12 -0
  4. package/src/category/i18n/it.ts +12 -0
  5. package/src/category/i18n/ja.ts +12 -0
  6. package/src/category/i18n/ko.ts +12 -0
  7. package/src/category/i18n/nl.ts +12 -0
  8. package/src/category/i18n/pl.ts +12 -0
  9. package/src/category/i18n/pt.ts +12 -0
  10. package/src/category/i18n/ru.ts +12 -0
  11. package/src/category/i18n/sv.ts +12 -0
  12. package/src/category/i18n/tr.ts +12 -0
  13. package/src/category/i18n/zh.ts +12 -0
  14. package/src/category/index.ts +13 -1
  15. package/src/tests/faq_count.test.ts +1 -1
  16. package/src/tests/i18n_coverage.test.ts +36 -0
  17. package/src/tests/locale_completeness.test.ts +2 -2
  18. package/src/tests/seo_length.test.ts +3 -0
  19. package/src/tests/slug_uniqueness.test.ts +58 -0
  20. package/src/tool/balusterCalculator/i18n/de.ts +264 -0
  21. package/src/tool/balusterCalculator/i18n/id.ts +264 -0
  22. package/src/tool/balusterCalculator/i18n/it.ts +264 -0
  23. package/src/tool/balusterCalculator/i18n/ja.ts +264 -0
  24. package/src/tool/balusterCalculator/i18n/ko.ts +264 -0
  25. package/src/tool/balusterCalculator/i18n/nl.ts +264 -0
  26. package/src/tool/balusterCalculator/i18n/pl.ts +264 -0
  27. package/src/tool/balusterCalculator/i18n/pt.ts +264 -0
  28. package/src/tool/balusterCalculator/i18n/ru.ts +264 -0
  29. package/src/tool/balusterCalculator/i18n/sv.ts +264 -0
  30. package/src/tool/balusterCalculator/i18n/tr.ts +264 -0
  31. package/src/tool/balusterCalculator/i18n/zh.ts +264 -0
  32. package/src/tool/balusterCalculator/index.ts +15 -7
  33. package/src/tool/clayCalculator/i18n/de.ts +183 -0
  34. package/src/tool/clayCalculator/i18n/id.ts +183 -0
  35. package/src/tool/clayCalculator/i18n/it.ts +183 -0
  36. package/src/tool/clayCalculator/i18n/ja.ts +182 -0
  37. package/src/tool/clayCalculator/i18n/ko.ts +183 -0
  38. package/src/tool/clayCalculator/i18n/nl.ts +183 -0
  39. package/src/tool/clayCalculator/i18n/pl.ts +183 -0
  40. package/src/tool/clayCalculator/i18n/pt.ts +183 -0
  41. package/src/tool/clayCalculator/i18n/ru.ts +183 -0
  42. package/src/tool/clayCalculator/i18n/sv.ts +183 -0
  43. package/src/tool/clayCalculator/i18n/tr.ts +183 -0
  44. package/src/tool/clayCalculator/i18n/zh.ts +183 -0
  45. package/src/tool/clayCalculator/index.ts +15 -7
  46. package/src/tool/concreteCalculator/i18n/de.ts +201 -0
  47. package/src/tool/concreteCalculator/i18n/id.ts +201 -0
  48. package/src/tool/concreteCalculator/i18n/it.ts +201 -0
  49. package/src/tool/concreteCalculator/i18n/ja.ts +201 -0
  50. package/src/tool/concreteCalculator/i18n/ko.ts +201 -0
  51. package/src/tool/concreteCalculator/i18n/nl.ts +201 -0
  52. package/src/tool/concreteCalculator/i18n/pl.ts +201 -0
  53. package/src/tool/concreteCalculator/i18n/pt.ts +201 -0
  54. package/src/tool/concreteCalculator/i18n/ru.ts +201 -0
  55. package/src/tool/concreteCalculator/i18n/sv.ts +201 -0
  56. package/src/tool/concreteCalculator/i18n/tr.ts +201 -0
  57. package/src/tool/concreteCalculator/i18n/zh.ts +201 -0
  58. package/src/tool/concreteCalculator/index.ts +17 -5
  59. package/src/tool/cutOptimizer/i18n/de.ts +178 -0
  60. package/src/tool/cutOptimizer/i18n/id.ts +178 -0
  61. package/src/tool/cutOptimizer/i18n/it.ts +178 -0
  62. package/src/tool/cutOptimizer/i18n/ja.ts +178 -0
  63. package/src/tool/cutOptimizer/i18n/ko.ts +178 -0
  64. package/src/tool/cutOptimizer/i18n/nl.ts +178 -0
  65. package/src/tool/cutOptimizer/i18n/pl.ts +178 -0
  66. package/src/tool/cutOptimizer/i18n/pt.ts +178 -0
  67. package/src/tool/cutOptimizer/i18n/ru.ts +178 -0
  68. package/src/tool/cutOptimizer/i18n/sv.ts +178 -0
  69. package/src/tool/cutOptimizer/i18n/tr.ts +178 -0
  70. package/src/tool/cutOptimizer/i18n/zh.ts +178 -0
  71. package/src/tool/cutOptimizer/index.ts +17 -5
  72. package/src/tool/drillCalculator/i18n/de.ts +137 -0
  73. package/src/tool/drillCalculator/i18n/id.ts +137 -0
  74. package/src/tool/drillCalculator/i18n/it.ts +137 -0
  75. package/src/tool/drillCalculator/i18n/ja.ts +137 -0
  76. package/src/tool/drillCalculator/i18n/ko.ts +137 -0
  77. package/src/tool/drillCalculator/i18n/nl.ts +137 -0
  78. package/src/tool/drillCalculator/i18n/pl.ts +137 -0
  79. package/src/tool/drillCalculator/i18n/pt.ts +137 -0
  80. package/src/tool/drillCalculator/i18n/ru.ts +137 -0
  81. package/src/tool/drillCalculator/i18n/sv.ts +137 -0
  82. package/src/tool/drillCalculator/i18n/tr.ts +137 -0
  83. package/src/tool/drillCalculator/i18n/zh.ts +137 -0
  84. package/src/tool/drillCalculator/index.ts +17 -5
  85. package/src/tool/drillSharpener/i18n/de.ts +120 -0
  86. package/src/tool/drillSharpener/i18n/id.ts +120 -0
  87. package/src/tool/drillSharpener/i18n/it.ts +120 -0
  88. package/src/tool/drillSharpener/i18n/ja.ts +120 -0
  89. package/src/tool/drillSharpener/i18n/ko.ts +120 -0
  90. package/src/tool/drillSharpener/i18n/nl.ts +120 -0
  91. package/src/tool/drillSharpener/i18n/pl.ts +120 -0
  92. package/src/tool/drillSharpener/i18n/pt.ts +120 -0
  93. package/src/tool/drillSharpener/i18n/ru.ts +120 -0
  94. package/src/tool/drillSharpener/i18n/sv.ts +120 -0
  95. package/src/tool/drillSharpener/i18n/tr.ts +120 -0
  96. package/src/tool/drillSharpener/i18n/zh.ts +120 -0
  97. package/src/tool/drillSharpener/index.ts +17 -5
  98. package/src/tool/epoxyCalculator/i18n/de.ts +118 -0
  99. package/src/tool/epoxyCalculator/i18n/id.ts +118 -0
  100. package/src/tool/epoxyCalculator/i18n/it.ts +118 -0
  101. package/src/tool/epoxyCalculator/i18n/ja.ts +118 -0
  102. package/src/tool/epoxyCalculator/i18n/ko.ts +118 -0
  103. package/src/tool/epoxyCalculator/i18n/nl.ts +118 -0
  104. package/src/tool/epoxyCalculator/i18n/pl.ts +118 -0
  105. package/src/tool/epoxyCalculator/i18n/pt.ts +118 -0
  106. package/src/tool/epoxyCalculator/i18n/ru.ts +118 -0
  107. package/src/tool/epoxyCalculator/i18n/sv.ts +118 -0
  108. package/src/tool/epoxyCalculator/i18n/tr.ts +118 -0
  109. package/src/tool/epoxyCalculator/i18n/zh.ts +118 -0
  110. package/src/tool/epoxyCalculator/index.ts +15 -7
  111. package/src/tool/furnitureFit/i18n/de.ts +113 -0
  112. package/src/tool/furnitureFit/i18n/id.ts +113 -0
  113. package/src/tool/furnitureFit/i18n/it.ts +113 -0
  114. package/src/tool/furnitureFit/i18n/ja.ts +113 -0
  115. package/src/tool/furnitureFit/i18n/ko.ts +113 -0
  116. package/src/tool/furnitureFit/i18n/nl.ts +113 -0
  117. package/src/tool/furnitureFit/i18n/pl.ts +113 -0
  118. package/src/tool/furnitureFit/i18n/pt.ts +113 -0
  119. package/src/tool/furnitureFit/i18n/ru.ts +113 -0
  120. package/src/tool/furnitureFit/i18n/sv.ts +113 -0
  121. package/src/tool/furnitureFit/i18n/tr.ts +113 -0
  122. package/src/tool/furnitureFit/i18n/zh.ts +113 -0
  123. package/src/tool/furnitureFit/index.ts +17 -5
  124. package/src/tool/mortarCalculator/i18n/de.ts +129 -0
  125. package/src/tool/mortarCalculator/i18n/id.ts +129 -0
  126. package/src/tool/mortarCalculator/i18n/it.ts +129 -0
  127. package/src/tool/mortarCalculator/i18n/ja.ts +129 -0
  128. package/src/tool/mortarCalculator/i18n/ko.ts +129 -0
  129. package/src/tool/mortarCalculator/i18n/nl.ts +129 -0
  130. package/src/tool/mortarCalculator/i18n/pl.ts +129 -0
  131. package/src/tool/mortarCalculator/i18n/pt.ts +129 -0
  132. package/src/tool/mortarCalculator/i18n/ru.ts +129 -0
  133. package/src/tool/mortarCalculator/i18n/sv.ts +129 -0
  134. package/src/tool/mortarCalculator/i18n/tr.ts +129 -0
  135. package/src/tool/mortarCalculator/i18n/zh.ts +129 -0
  136. package/src/tool/mortarCalculator/index.ts +17 -5
  137. package/src/tool/passepartoutCalculator/i18n/de.ts +108 -0
  138. package/src/tool/passepartoutCalculator/i18n/id.ts +108 -0
  139. package/src/tool/passepartoutCalculator/i18n/it.ts +108 -0
  140. package/src/tool/passepartoutCalculator/i18n/ja.ts +108 -0
  141. package/src/tool/passepartoutCalculator/i18n/ko.ts +108 -0
  142. package/src/tool/passepartoutCalculator/i18n/nl.ts +108 -0
  143. package/src/tool/passepartoutCalculator/i18n/pl.ts +108 -0
  144. package/src/tool/passepartoutCalculator/i18n/pt.ts +108 -0
  145. package/src/tool/passepartoutCalculator/i18n/ru.ts +108 -0
  146. package/src/tool/passepartoutCalculator/i18n/sv.ts +108 -0
  147. package/src/tool/passepartoutCalculator/i18n/tr.ts +108 -0
  148. package/src/tool/passepartoutCalculator/i18n/zh.ts +108 -0
  149. package/src/tool/passepartoutCalculator/index.ts +17 -5
  150. package/src/tool/stairCalculator/i18n/de.ts +144 -0
  151. package/src/tool/stairCalculator/i18n/id.ts +144 -0
  152. package/src/tool/stairCalculator/i18n/it.ts +144 -0
  153. package/src/tool/stairCalculator/i18n/ja.ts +144 -0
  154. package/src/tool/stairCalculator/i18n/ko.ts +144 -0
  155. package/src/tool/stairCalculator/i18n/nl.ts +144 -0
  156. package/src/tool/stairCalculator/i18n/pl.ts +144 -0
  157. package/src/tool/stairCalculator/i18n/pt.ts +144 -0
  158. package/src/tool/stairCalculator/i18n/ru.ts +144 -0
  159. package/src/tool/stairCalculator/i18n/sv.ts +144 -0
  160. package/src/tool/stairCalculator/i18n/tr.ts +144 -0
  161. package/src/tool/stairCalculator/i18n/zh.ts +144 -0
  162. package/src/tool/stairCalculator/index.ts +17 -5
  163. package/src/tool/thermalExpansionCalculator/i18n/de.ts +132 -0
  164. package/src/tool/thermalExpansionCalculator/i18n/id.ts +130 -0
  165. package/src/tool/thermalExpansionCalculator/i18n/it.ts +130 -0
  166. package/src/tool/thermalExpansionCalculator/i18n/ja.ts +130 -0
  167. package/src/tool/thermalExpansionCalculator/i18n/ko.ts +130 -0
  168. package/src/tool/thermalExpansionCalculator/i18n/nl.ts +130 -0
  169. package/src/tool/thermalExpansionCalculator/i18n/pl.ts +130 -0
  170. package/src/tool/thermalExpansionCalculator/i18n/pt.ts +130 -0
  171. package/src/tool/thermalExpansionCalculator/i18n/ru.ts +130 -0
  172. package/src/tool/thermalExpansionCalculator/i18n/sv.ts +130 -0
  173. package/src/tool/thermalExpansionCalculator/i18n/tr.ts +130 -0
  174. package/src/tool/thermalExpansionCalculator/i18n/zh.ts +130 -0
  175. package/src/tool/thermalExpansionCalculator/index.ts +17 -5
  176. package/src/tool/voltageDropCalculator/i18n/de.ts +112 -0
  177. package/src/tool/voltageDropCalculator/i18n/id.ts +110 -0
  178. package/src/tool/voltageDropCalculator/i18n/it.ts +110 -0
  179. package/src/tool/voltageDropCalculator/i18n/ja.ts +110 -0
  180. package/src/tool/voltageDropCalculator/i18n/ko.ts +110 -0
  181. package/src/tool/voltageDropCalculator/i18n/nl.ts +110 -0
  182. package/src/tool/voltageDropCalculator/i18n/pl.ts +110 -0
  183. package/src/tool/voltageDropCalculator/i18n/pt.ts +110 -0
  184. package/src/tool/voltageDropCalculator/i18n/ru.ts +110 -0
  185. package/src/tool/voltageDropCalculator/i18n/sv.ts +110 -0
  186. package/src/tool/voltageDropCalculator/i18n/tr.ts +110 -0
  187. package/src/tool/voltageDropCalculator/i18n/zh.ts +110 -0
  188. package/src/tool/voltageDropCalculator/index.ts +17 -5
  189. package/src/types.ts +1 -1
@@ -0,0 +1,108 @@
1
+ import type { WithContext, FAQPage, HowToThing, SoftwareApplication } from 'schema-dts';
2
+ import type { ToolLocaleContent } from '../../../types';
3
+ import type { PassepartoutCalculatorUI } from '../ui';
4
+
5
+ const slug = 'passepartout-rechner';
6
+ const title = 'Passepartout Rechner: Ränder mit optischer Korrektur für Einrahmungen';
7
+ const description = 'Werkzeug zur Berechnung von Passepartout-Rändern mit optischer Korrektur (Bottom Weighting). Rahmen Sie Ihre Fotografien und Kunstwerke mit Galerie-Proportionen ein.';
8
+
9
+ const faqData = [
10
+ {
11
+ question: 'Was ist die optische Mittenkorrektur (Bottom Weighting)?',
12
+ answer: 'Es ist ein Gestaltungsprinzip bei Einrahmungen, bei dem der untere Rand etwas breiter als die anderen gemacht wird. Dies korrigiert die optische Täuschung, die das geometrische Zentrum "abgesackt" erscheinen lässt, wenn ein Werk an der Wand hängt.',
13
+ },
14
+ {
15
+ question: 'Welches Material sollte für das Passepartout verwendet werden?',
16
+ answer: 'Für die künstlerische Konservierung sollte es säurefreier oder pH-neutraler Karton sein (Alfa-Zellulose oder Baumwolle). Billige Kartons vergilben mit der Zeit und können das Werk durch Lignin beschädigen.',
17
+ },
18
+ {
19
+ question: 'Wie wähle ich die Farbe des Randes?',
20
+ answer: 'Offwhite oder sanftes Creme sind die Standards, die nicht vom Werk ablenken. Ein dunkler Rand kann die Weißtöne einer Fotografie hervorheben, während farbige Ränder vorsichtig eingesetzt werden sollten, um nicht mit den Farbtönen des Stücks zu konkurrieren.',
21
+ },
22
+ {
23
+ question: 'Was ist die ideale Randbreite?',
24
+ answer: 'Ein professioneller Standard liegt zwischen 5 und 8 cm. Wenn der Rand zu schmal ist, wirkt das Werk "erstickt". Wenn er sehr breit ist, kann es kleinen Werken eine heroische und minimalistische Ausstrahlung verleihen.',
25
+ },
26
+ ];
27
+
28
+ const howToData = [
29
+ { name: 'Kunstwerk messen', text: 'Messen Sie die exakte Breite und Höhe des Papiers oder der Leinwand. Ziehen Sie einige Millimeter ab, wenn das Passepartout das Bild leicht überlappen soll.' },
30
+ { name: 'Innenmaß des Rahmens messen', text: 'Nehmen Sie die Innenmaße des Rahmens oder des Falzes, in den der Passepartout-Karton passen wird.' },
31
+ { name: 'Optische Korrektur aktivieren', text: 'Wählen Sie die Option in unserem Rechner, wenn der untere Rand für ein professionelles Finish automatisch größer sein soll.' },
32
+ { name: 'Karton schneiden', text: 'Verwenden Sie die berechneten Maße zum Schneiden des Fensters und des Außenmaßes, vorzugsweise mit einem 45-Grad-Schrägschnitt für eine saubere Kante.' },
33
+ ];
34
+
35
+ const faqSchema: WithContext<FAQPage> = {
36
+ '@context': 'https://schema.org',
37
+ '@type': 'FAQPage',
38
+ mainEntity: faqData.map((item) => ({
39
+ '@type': 'Question',
40
+ name: item.question,
41
+ acceptedAnswer: { '@type': 'Answer', text: item.answer },
42
+ })),
43
+ };
44
+
45
+ const howToSchema: WithContext<HowToThing> = {
46
+ '@context': 'https://schema.org',
47
+ '@type': 'HowTo',
48
+ name: title,
49
+ description,
50
+ step: howToData.map((step, i) => ({
51
+ '@type': 'HowToStep',
52
+ position: i + 1,
53
+ name: step.name,
54
+ text: step.text,
55
+ })),
56
+ };
57
+
58
+ const appSchema: WithContext<SoftwareApplication> = {
59
+ '@context': 'https://schema.org',
60
+ '@type': 'SoftwareApplication',
61
+ name: title,
62
+ description,
63
+ applicationCategory: 'UtilityApplication',
64
+ operatingSystem: 'All',
65
+ offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
66
+ inLanguage: 'de',
67
+ };
68
+
69
+ export const content: ToolLocaleContent<PassepartoutCalculatorUI> = {
70
+ slug,
71
+ title,
72
+ description,
73
+ faqTitle: 'Häufig gestellte Fragen',
74
+ faq: faqData,
75
+ bibliographyTitle: 'Technische Referenzen',
76
+ bibliography: [
77
+ { name: 'ISO 9706: Permanentes Papier für Dokumente', url: 'https://www.iso.org/standard/22495.html' },
78
+ { name: 'PPFA: Professional Picture Framers Association', url: 'https://ppfa.com/' },
79
+ { name: 'Fine Art Trade Guild: Framing Standards', url: 'https://www.fineart.co.uk/' },
80
+ ],
81
+ howTo: howToData,
82
+ schemas: [faqSchema, howToSchema, appSchema],
83
+ seo: [
84
+ { type: 'title', text: 'Die Wissenschaft der perfekten Einrahmung', level: 2 },
85
+ { type: 'paragraph', html: 'Ein <strong>Passepartout</strong> ist nicht nur ein dekorativer Karton; es ist die Lunge, die Ihr Kunstwerk atmen lässt. Dieser Rechner hilft Ihnen, die exakten Maße für den Zuschnitt zu bestimmen, damit das Werk perfekt zentriert oder optisch ausgewogen im Rahmen platziert wird.' },
86
+ { type: 'title', text: 'Warum die optische Mittenkorrektur?', level: 3 },
87
+ { type: 'card', icon: 'mdi:eye-outline', title: 'Die optische Täuschung der geometrischen Mitte', html: '<p>Das menschliche Auge tendiert dazu, die vertikale geometrische Mitte etwas tiefer wahrzunehmen, als sie tatsächlich ist. Rahmen Sie ein Werk exakt in der Mitte ein, wirkt es, als ob es "absinkt".</p><p>Das <strong>Bottom Weighting</strong> korrigiert diese Täuschung, indem der untere Rand etwas größer gelassen wird, was das Werk visuell anhebt.</p>' },
88
+ { type: 'title', text: 'Konservierungsmaterialien für Passepartouts', level: 3 },
89
+ { type: 'card', icon: 'mdi:palette-swatch-outline', title: 'Säurefreier Karton für die Konservierung', html: '<p>Suchen Sie beim Kauf immer nach Begriffen wie <strong>"Acid-Free"</strong> (säurefrei) oder <strong>"Museum Quality"</strong>. Billige Kartons aus Holzschliff können vergilben und Säuren freisetzen, die Ihr Kunstwerk irreversibel schädigen (Stockflecken).</p>' },
90
+ ],
91
+ ui: {
92
+ sectionTitle: 'Abmessungen',
93
+ sectionDesc: 'Geben Sie die Maße in Zentimetern ein.',
94
+ frameSizeTitle: 'Rahmengröße',
95
+ artSizeTitle: 'Größe des Werks',
96
+ labelWidth: 'Breite (cm)',
97
+ labelHeight: 'Höhe (cm)',
98
+ labelBottomWeighting: 'Bottom Weighting',
99
+ descBottomWeighting: 'Mehr unterer Rand für visuelles Gleichgewicht',
100
+ labelOffset: 'Versatz (%)',
101
+ errorMsg: 'Das Werk muss kleiner als der Rahmen sein.',
102
+ labelTop: 'Oben',
103
+ labelBottom: 'Unten',
104
+ labelLeft: 'Links',
105
+ labelRight: 'Rechts',
106
+ artPlaceholder: 'Ihr Werk',
107
+ },
108
+ };
@@ -0,0 +1,108 @@
1
+ import type { WithContext, FAQPage, HowToThing, SoftwareApplication } from 'schema-dts';
2
+ import type { ToolLocaleContent } from '../../../types';
3
+ import type { PassepartoutCalculatorUI } from '../ui';
4
+
5
+ const slug = 'kalkulator-passepartout';
6
+ const title = 'Kalkulator Passepartout: Margin dengan Koreksi Optik untuk Pembingkaian';
7
+ const description = 'Alat untuk menghitung margin passepartout dengan koreksi optik (bottom weighting). Bingkai foto dan karya seni Anda dengan proporsi galeri.';
8
+
9
+ const faqData = [
10
+ {
11
+ question: 'Apa itu koreksi pusat optik (Bottom Weighting)?',
12
+ answer: 'Ini adalah prinsip desain grafis dan pembingkaian di mana margin bawah dibuat sedikit lebih lebar dari yang lain. Ini mengoreksi ilusi optik yang membuat pusat geometris tampak "turun" saat melihat karya yang digantung.',
13
+ },
14
+ {
15
+ question: 'Bahan apa yang sebaiknya digunakan untuk passepartout?',
16
+ answer: 'Untuk pengawetan artistik, harus menggunakan karton bebas asam atau pH netral (alfa-selulosa atau kapas). Karton murah akan menguning seiring waktu dan dapat merusak karya karena kandungan lignin.',
17
+ },
18
+ {
19
+ question: 'Bagaimana cara memilih warna margin?',
20
+ answer: 'Putih tulang atau krem lembut adalah standar yang tidak mengalihkan perhatian dari karya. Margin gelap dapat menonjolkan warna putih pada foto, sementara margin berwarna harus digunakan dengan hati-hati agar tidak bersaing dengan nada warna karya tersebut.',
21
+ },
22
+ {
23
+ question: 'Berapa lebar margin yang ideal?',
24
+ answer: 'Standar profesional adalah antara 5 hingga 8 cm. Jika margin terlalu sempit, karya tampak "sesak". Jika sangat lebar, dapat memberikan kesan heroik dan minimalis pada karya kecil.',
25
+ },
26
+ ];
27
+
28
+ const howToData = [
29
+ { name: 'Ukur karya seni', text: 'Ukur lebar dan tinggi persis dari kertas atau kanvas yang akan dibingkai. Kurangi beberapa milimeter jika Anda ingin passepartout sedikit menutupi gambar.' },
30
+ { name: 'Ukur bagian dalam bingkai', text: 'Ambil dimensi internal bingkai atau tempat karton passepartout akan dipasang.' },
31
+ { name: 'Aktifkan koreksi optik', text: 'Centang opsi di kalkulator kami jika Anda ingin margin bawah secara otomatis lebih besar untuk hasil akhir profesional.' },
32
+ { name: 'Potong karton', text: 'Gunakan ukuran yang dihasilkan untuk memotong lubang (jendela) dan bagian luar karton, sebaiknya dengan cutter 45 derajat untuk hasil miring yang bersih.' },
33
+ ];
34
+
35
+ const faqSchema: WithContext<FAQPage> = {
36
+ '@context': 'https://schema.org',
37
+ '@type': 'FAQPage',
38
+ mainEntity: faqData.map((item) => ({
39
+ '@type': 'Question',
40
+ name: item.question,
41
+ acceptedAnswer: { '@type': 'Answer', text: item.answer },
42
+ })),
43
+ };
44
+
45
+ const howToSchema: WithContext<HowToThing> = {
46
+ '@context': 'https://schema.org',
47
+ '@type': 'HowTo',
48
+ name: title,
49
+ description,
50
+ step: howToData.map((step, i) => ({
51
+ '@type': 'HowToStep',
52
+ position: i + 1,
53
+ name: step.name,
54
+ text: step.text,
55
+ })),
56
+ };
57
+
58
+ const appSchema: WithContext<SoftwareApplication> = {
59
+ '@context': 'https://schema.org',
60
+ '@type': 'SoftwareApplication',
61
+ name: title,
62
+ description,
63
+ applicationCategory: 'UtilityApplication',
64
+ operatingSystem: 'All',
65
+ offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
66
+ inLanguage: 'id',
67
+ };
68
+
69
+ export const content: ToolLocaleContent<PassepartoutCalculatorUI> = {
70
+ slug,
71
+ title,
72
+ description,
73
+ faqTitle: 'Pertanyaan Umum',
74
+ faq: faqData,
75
+ bibliographyTitle: 'Referensi Teknis',
76
+ bibliography: [
77
+ { name: 'ISO 9706: Kertas permanen untuk dokumen', url: 'https://www.iso.org/standard/22495.html' },
78
+ { name: 'PPFA: Professional Picture Framers Association', url: 'https://ppfa.com/' },
79
+ { name: 'Fine Art Trade Guild: Standar Pembingkaian', url: 'https://www.fineart.co.uk/' },
80
+ ],
81
+ howTo: howToData,
82
+ schemas: [faqSchema, howToSchema, appSchema],
83
+ seo: [
84
+ { type: 'title', text: 'Sains Pembingkaian yang Sempurna', level: 2 },
85
+ { type: 'paragraph', html: '<strong>Passepartout</strong> bukan sekadar karton dekoratif; ia adalah paru-paru yang memungkinkan karya seni Anda bernapas. Kalkulator ini membantu Anda menentukan dimensi yang tepat untuk memotong karton, memastikan karya terpusat dengan sempurna atau seimbang secara optik di dalam bingkai.' },
86
+ { type: 'title', text: 'Mengapa "Pemberatan Bawah" atau Bottom Weighting?', level: 3 },
87
+ { type: 'card', icon: 'mdi:eye-outline', title: 'Ilusi optik pusat geometris', html: '<p>Mata manusia cenderung melihat pusat vertikal geometris seolah-olah sedikit lebih rendah dari yang sebenarnya. Jika Anda membingkai karya tepat di tengah, karya akan tampak "turun".</p><p><strong>Bottom Weighting</strong> mengoreksi ilusi ini dengan menyisakan margin bawah yang sedikit lebih besar, mengangkat karya secara visual agar tampak terpusat dengan sempurna.</p>' },
88
+ { type: 'title', text: 'Bahan Pengawetan untuk Passepartout', level: 3 },
89
+ { type: 'card', icon: 'mdi:palette-swatch-outline', title: 'Karton bebas asam untuk pengawetan', html: '<p>Saat memilih karton, selalu cari istilah seperti <strong>"Acid-Free"</strong> atau <strong>"Museum Quality"</strong>. Karton murah dapat menguning seiring waktu dan melepaskan asam yang akan merusak karya seni Anda secara permanen.</p>' },
90
+ ],
91
+ ui: {
92
+ sectionTitle: 'Dimensi',
93
+ sectionDesc: 'Masukkan ukuran dalam sentimeter.',
94
+ frameSizeTitle: 'Ukuran Bingkai',
95
+ artSizeTitle: 'Ukuran Karya',
96
+ labelWidth: 'Lebar (cm)',
97
+ labelHeight: 'Tinggi (cm)',
98
+ labelBottomWeighting: 'Bottom Weighting',
99
+ descBottomWeighting: 'Terapkan lebih banyak margin bawah untuk keseimbangan visual',
100
+ labelOffset: 'Offset (%)',
101
+ errorMsg: 'Ukuran karya harus lebih kecil dari bingkai.',
102
+ labelTop: 'Atas',
103
+ labelBottom: 'Bawah',
104
+ labelLeft: 'Kiri',
105
+ labelRight: 'Kanan',
106
+ artPlaceholder: 'Karya Anda',
107
+ },
108
+ };
@@ -0,0 +1,108 @@
1
+ import type { WithContext, FAQPage, HowToThing, SoftwareApplication } from 'schema-dts';
2
+ import type { ToolLocaleContent } from '../../../types';
3
+ import type { PassepartoutCalculatorUI } from '../ui';
4
+
5
+ const slug = 'calcolatore-passepartout';
6
+ const title = 'Calcolatore Passepartout: Margini con Correzione Ottica per Incorniciatura';
7
+ const description = 'Strumento per calcolare i margini del passepartout con correzione ottica (bottom weighting). Incornicia le tue fotografie e opere d\'arte con proporzioni da galleria.';
8
+
9
+ const faqData = [
10
+ {
11
+ question: 'Cos\'è la correzione del centro ottico (Bottom Weighting)?',
12
+ answer: 'È un principio di design e incorniciatura in cui il margine inferiore viene reso leggermente più ampio degli altri. Questo corregge l\'illusione ottica che fa sembrare il centro geometrico "abbassato" quando si guarda un\'opera appesa.',
13
+ },
14
+ {
15
+ question: 'Di che materiale deve essere il passepartout?',
16
+ answer: 'Per la conservazione artistica, deve essere cartone privo di acido o a pH neutro (alfa-cellulosa o cotone). I cartoni economici ingialliscono col tempo e possono danneggiare l\'opera a causa della lignina.',
17
+ },
18
+ {
19
+ question: 'Come scelgo il colore del margine?',
20
+ answer: 'Il bianco sporco o il crema tenue sono gli standard che non distraggono dall\'opera. Un margine scuro può far risaltare i bianchi di una fotografia, mentre un margine colorato deve essere usato con cura per non competere con i toni del pezzo.',
21
+ },
22
+ {
23
+ question: 'Qual è la larghezza del margine ideale?',
24
+ answer: 'Uno standard professionale è tra 5 e 8 cm. Se il margine è troppo stretto, l\'opera sembra "soffocata". Se è molto ampio, può dare un\'aria eroica e minimalista a opere piccole.',
25
+ },
26
+ ];
27
+
28
+ const howToData = [
29
+ { name: 'Misurare l\'opera d\'arte', text: 'Misura la larghezza e l\'altezza esatta della carta o tela da incorniciare. Sottrai qualche millimetro se vuoi che il passepartout sormonti leggermente l\'immagine.' },
30
+ { name: 'Misurare l\'interno della cornice', text: 'Prendi le dimensioni interne della cornice o della battuta dove alloggerà il cartone del passepartout.' },
31
+ { name: 'Attivare la correzione ottica', text: 'Seleziona l\'opzione nel nostro calcolatore se vuoi che il margine inferiore sia automaticamente maggiore per una finitura professionale.' },
32
+ { name: 'Tagliare il cartone', text: 'Usa le misure risultanti per tagliare la finestra e l\'esterno del cartone, preferibilmente con un taglierino a 45 gradi per uno smusso pulito.' },
33
+ ];
34
+
35
+ const faqSchema: WithContext<FAQPage> = {
36
+ '@context': 'https://schema.org',
37
+ '@type': 'FAQPage',
38
+ mainEntity: faqData.map((item) => ({
39
+ '@type': 'Question',
40
+ name: item.question,
41
+ acceptedAnswer: { '@type': 'Answer', text: item.answer },
42
+ })),
43
+ };
44
+
45
+ const howToSchema: WithContext<HowToThing> = {
46
+ '@context': 'https://schema.org',
47
+ '@type': 'HowTo',
48
+ name: title,
49
+ description,
50
+ step: howToData.map((step, i) => ({
51
+ '@type': 'HowToStep',
52
+ position: i + 1,
53
+ name: step.name,
54
+ text: step.text,
55
+ })),
56
+ };
57
+
58
+ const appSchema: WithContext<SoftwareApplication> = {
59
+ '@context': 'https://schema.org',
60
+ '@type': 'SoftwareApplication',
61
+ name: title,
62
+ description,
63
+ applicationCategory: 'UtilityApplication',
64
+ operatingSystem: 'All',
65
+ offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
66
+ inLanguage: 'it',
67
+ };
68
+
69
+ export const content: ToolLocaleContent<PassepartoutCalculatorUI> = {
70
+ slug,
71
+ title,
72
+ description,
73
+ faqTitle: 'Domande Frequenti',
74
+ faq: faqData,
75
+ bibliographyTitle: 'Riferimenti Tecnici',
76
+ bibliography: [
77
+ { name: 'ISO 9706: Carta permanente per documenti', url: 'https://www.iso.org/standard/22495.html' },
78
+ { name: 'PPFA: Professional Picture Framers Association', url: 'https://ppfa.com/' },
79
+ { name: 'Fine Art Trade Guild: Framing Standards', url: 'https://www.fineart.co.uk/' },
80
+ ],
81
+ howTo: howToData,
82
+ schemas: [faqSchema, howToSchema, appSchema],
83
+ seo: [
84
+ { type: 'title', text: 'La Scienza dell\'Incorniciatura Perfetta', level: 2 },
85
+ { type: 'paragraph', html: 'Un <strong>Passepartout</strong> non è solo un cartoncino decorativo; è il polmone che permette di far respirare la tua opera d\'arte. Questo calcolatore ti aiuta a determinare le dimensioni esatte per tagliare il tuo cartone, assicurando che l\'opera sia perfettamente centrata o equilibrata otticamente all\'interno della cornice.' },
86
+ { type: 'title', text: 'Perché il "Peso Inferiore" o Bottom Weighting?', level: 3 },
87
+ { type: 'card', icon: 'mdi:eye-outline', title: 'L\'illusione ottica del centro geometrico', html: '<p>L\'occhio umano tende a percepire il centro verticale geometrico come se fosse leggermente più basso di quanto sia in realtà. Se incornici un\'opera esattamente al centro, sembrerà che stia "cadendo".</p><p>Il <strong>Bottom Weighting</strong> corregge questa illusione lasciando un margine inferiore leggermente maggiore, elevando l\'opera visivamente affinché appaia perfettamente centrata.</p>' },
88
+ { type: 'title', text: 'Materiali di Conservazione per Passepartout', level: 3 },
89
+ { type: 'card', icon: 'mdi:palette-swatch-outline', title: 'Il cartone privo di acido per la conservazione', html: '<p>Scegliendo il tuo cartone, cerca sempre termini come <strong>"Acid-Free"</strong> o <strong>"Museum Quality"</strong>. I cartoncini economici di pasta di legno possono ingiallire nel tempo e rilasciare acidi che bruceranno la tua opera d\'arte, rovinandola irreversibilmente.</p>' },
90
+ ],
91
+ ui: {
92
+ sectionTitle: 'Dimensioni',
93
+ sectionDesc: 'Inserisci le misure in centimetri.',
94
+ frameSizeTitle: 'Dimensioni Cornice',
95
+ artSizeTitle: 'Dimensioni Opera',
96
+ labelWidth: 'Larghezza (cm)',
97
+ labelHeight: 'Altezza (cm)',
98
+ labelBottomWeighting: 'Bottom Weighting',
99
+ descBottomWeighting: 'Applica più margine inferiore per equilibrio visivo',
100
+ labelOffset: 'Offset (%)',
101
+ errorMsg: 'L\'opera deve essere più piccola della cornice.',
102
+ labelTop: 'Sup',
103
+ labelBottom: 'Inf',
104
+ labelLeft: 'Sini',
105
+ labelRight: 'Dest',
106
+ artPlaceholder: 'Tua Opera',
107
+ },
108
+ };
@@ -0,0 +1,108 @@
1
+ import type { WithContext, FAQPage, HowToThing, SoftwareApplication } from 'schema-dts';
2
+ import type { ToolLocaleContent } from '../../../types';
3
+ import type { PassepartoutCalculatorUI } from '../ui';
4
+
5
+ const slug = 'passepartout-calculator';
6
+ const title = 'マット紙計算機:額装用視覚補正マージン';
7
+ const description = '視覚補正(ボトムウェイティング)を考慮したマット紙(パスパルトゥー)のマージン計算ツール。写真やアートをギャラリーのようなプロポーションで額装しましょう。';
8
+
9
+ const faqData = [
10
+ {
11
+ question: '視覚中心補正(ボトムウェイティング)とは何ですか?',
12
+ answer: '額装において、下のマージンを他のマージンよりもわずかに広くするデザイン原則です。これにより、作品を掛けた時に幾何学的な中心が「下がって」見える視覚的な錯覚を補正します。',
13
+ },
14
+ {
15
+ question: 'マット紙はどのような素材が良いですか?',
16
+ answer: 'アートの保存を考慮する場合、中性紙または無酸(アシッドフリー)のボード(アルファセルロースやコットン素材)を使用してください。安価なボードは時間の経過とともに黄変し、リグニンによって作品を傷める可能性があります。',
17
+ },
18
+ {
19
+ question: 'マージンの色の選び方は?',
20
+ answer: '作品を邪魔しないオフホワイトやソフトなクリーム色が標準的です。暗い色のマージンは写真の白を強調し、色のついたマージンは作品の色調と競合しないよう注意深く選ぶ必要があります。',
21
+ },
22
+ {
23
+ question: '理想的なマージンの幅は?',
24
+ answer: 'プロフェッショナルな基準は5〜8cmです。マージンが狭すぎると作品が「窒息」しているように見え、非常に広いと小さな作品に英雄的でミニマリズムな印象を与えることができます。',
25
+ },
26
+ ];
27
+
28
+ const howToData = [
29
+ { name: '作品を測る', text: '額装する紙やキャンバスの正確な幅と高さを測ります。マット紙を画像に少し重ねたい場合は、数ミリメートル差し引いてください。' },
30
+ { name: '額の内寸を測る', text: '額の内部、またはマットボードが収まる溝の寸法を測ります。' },
31
+ { name: '視覚補正を有効にする', text: 'プロフェッショナルな仕上がりにするために、下のマージンを自動的に大きくしたい場合は、計算機のオプションを選択してください。' },
32
+ { name: 'ボードをカットする', text: '算出された寸法を使用して、ボードの窓(開口部)と外寸をカットします。斜めの断面をきれいにするために、45度カッターの使用をお勧めします。' },
33
+ ];
34
+
35
+ const faqSchema: WithContext<FAQPage> = {
36
+ '@context': 'https://schema.org',
37
+ '@type': 'FAQPage',
38
+ mainEntity: faqData.map((item) => ({
39
+ '@type': 'Question',
40
+ name: item.question,
41
+ acceptedAnswer: { '@type': 'Answer', text: item.answer },
42
+ })),
43
+ };
44
+
45
+ const howToSchema: WithContext<HowToThing> = {
46
+ '@context': 'https://schema.org',
47
+ '@type': 'HowTo',
48
+ name: title,
49
+ description,
50
+ step: howToData.map((step, i) => ({
51
+ '@type': 'HowToStep',
52
+ position: i + 1,
53
+ name: step.name,
54
+ text: step.text,
55
+ })),
56
+ };
57
+
58
+ const appSchema: WithContext<SoftwareApplication> = {
59
+ '@context': 'https://schema.org',
60
+ '@type': 'SoftwareApplication',
61
+ name: title,
62
+ description,
63
+ applicationCategory: 'UtilityApplication',
64
+ operatingSystem: 'All',
65
+ offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
66
+ inLanguage: 'ja',
67
+ };
68
+
69
+ export const content: ToolLocaleContent<PassepartoutCalculatorUI> = {
70
+ slug,
71
+ title,
72
+ description,
73
+ faqTitle: 'よくある質問',
74
+ faq: faqData,
75
+ bibliographyTitle: '技術リファレンス',
76
+ bibliography: [
77
+ { name: 'ISO 9706: 文書用長期保存紙', url: 'https://www.iso.org/standard/22495.html' },
78
+ { name: 'PPFA: Professional Picture Framers Association', url: 'https://ppfa.com/' },
79
+ { name: 'Fine Art Trade Guild: 額装基準', url: 'https://www.fineart.co.uk/' },
80
+ ],
81
+ howTo: howToData,
82
+ schemas: [faqSchema, howToSchema, appSchema],
83
+ seo: [
84
+ { type: 'title', text: '完璧な額装の科学', level: 2 },
85
+ { type: 'paragraph', html: '<strong>マット紙</strong>(パスパルトゥー)は単なる装飾ではありません。作品が呼吸するための肺のような役割を果たします。この計算機は、ボードをカットするための正確な寸法を算出するのに役立ち、作品が額の中で完璧に中央に配置され、視覚的にバランスが取れるようにします。' },
86
+ { type: 'title', text: 'なぜ「ボトムウェイティング」が必要なのですか?', level: 3 },
87
+ { type: 'card', icon: 'mdi:eye-outline', title: '幾何学的中心の視覚的錯覚', html: '<p>人間の目は、垂直方向の幾何学的中心を実際よりもわずかに低い位置にあると知覚する傾向があります。作品を正確な中央に額装すると、下に「落ちて」見えることがあります。</p><p><strong>ボトムウェイティング</strong>は、下のマージンをわずかに大きく残すことでこの錯覚を補正し、作品を視覚的に持ち上げて完璧な中央に見えるようにします。</p>' },
88
+ { type: 'title', text: 'マット紙の保存素材', level: 3 },
89
+ { type: 'card', icon: 'mdi:palette-swatch-outline', title: '保存用の中性紙・アシッドフリーボード', html: '<p>ボードを選ぶ際は、必ず<strong>「Acid-Free(アシッドフリー)」</strong>や<strong>「Museum Quality(ミュージアムクオリティ)」</strong>という言葉を探してください。安価な木材パルプのボードは時間が経つと黄変し、作品を台無しにする酸を放出する可能性があります。</p>' },
90
+ ],
91
+ ui: {
92
+ sectionTitle: '寸法',
93
+ sectionDesc: '寸法をセンチメートルで入力してください。',
94
+ frameSizeTitle: '額のサイズ',
95
+ artSizeTitle: '作品のサイズ',
96
+ labelWidth: '幅 (cm)',
97
+ labelHeight: '高さ (cm)',
98
+ labelBottomWeighting: 'ボトムウェイティング',
99
+ descBottomWeighting: '視覚的バランスのために下のマージンを広くする',
100
+ labelOffset: 'オフセット (%)',
101
+ errorMsg: '作品サイズは額のサイズより小さくする必要があります。',
102
+ labelTop: '上',
103
+ labelBottom: '下',
104
+ labelLeft: '左',
105
+ labelRight: '右',
106
+ artPlaceholder: 'あなたの作品',
107
+ },
108
+ };
@@ -0,0 +1,108 @@
1
+ import type { WithContext, FAQPage, HowToThing, SoftwareApplication } from 'schema-dts';
2
+ import type { ToolLocaleContent } from '../../../types';
3
+ import type { PassepartoutCalculatorUI } from '../ui';
4
+
5
+ const slug = 'passepartout-calculator';
6
+ const title = '매트지 계산기: 액자 제작을 위한 시각 보정 여백';
7
+ const description = '시각 보정(보텀 웨이팅)을 적용한 매트지(파스파르투) 여백 계산 도구입니다. 사진과 예술 작품을 갤러리 비율로 액자에 담아보세요.';
8
+
9
+ const faqData = [
10
+ {
11
+ question: '시각 중심 보정(Bottom Weighting)이란 무엇인가요?',
12
+ answer: '액자 제작 시 하단 여백을 다른 여백보다 약간 넓게 만드는 디자인 원칙입니다. 이는 작품을 걸었을 때 기하학적 중심이 실제보다 아래로 처져 보이는 시각적 착시를 보정합니다.',
13
+ },
14
+ {
15
+ question: '매트지는 어떤 소재로 된 것이 좋은가요?',
16
+ answer: '예술 작품의 보존을 위해서는 무산성(Acid-free) 또는 중성 pH 보드(알파 셀룰로오스 또는 면 소재)를 사용해야 합니다. 저렴한 보드는 시간이 지나면 황변하며 리그닌 성분으로 인해 작품을 손상시킬 수 있습니다.',
17
+ },
18
+ {
19
+ question: '여백의 색상은 어떻게 선택하나요?',
20
+ answer: '제품을 방해하지 않는 오프 화이트나 부드러운 크림색이 표준입니다. 어두운 여백은 사진의 흰색을 강조할 수 있으며, 색상이 있는 여백은 작품의 톤과 충돌하지 않도록 주의해서 사용해야 합니다.',
21
+ },
22
+ {
23
+ question: '이상적인 여백 너비는 얼마인가요?',
24
+ answer: '전문적인 기준은 5~8cm 사이입니다. 여백이 너무 좁으면 작품이 답답해 보이고, 매우 넓으면 작은 작품에 웅장하고 미니멀한 느낌을 줄 수 있습니다.',
25
+ },
26
+ ];
27
+
28
+ const howToData = [
29
+ { name: '예술 작품 측정', text: '액자에 넣을 종이나 캔버스의 정확한 너비와 높이를 측정합니다. 매트지가 이미지에 약간 겹치게 하려면 몇 밀리미터를 뺍니다.' },
30
+ { name: '액자 내측 측정', text: '액자 내부 또는 매트 보드가 끼워질 홈의 치수를 측정합니다.' },
31
+ { name: '시각 보정 활성화', text: '전문적인 마감을 위해 하단 여백을 자동으로 더 크게 하려면 계산기 옵션을 선택하세요.' },
32
+ { name: '보드 절단', text: '산출된 치수를 사용하여 보드의 창(개구부)과 외부를 절단합니다. 단면을 깨끗하게 하기 위해 45도 커터를 사용하는 것이 좋습니다.' },
33
+ ];
34
+
35
+ const faqSchema: WithContext<FAQPage> = {
36
+ '@context': 'https://schema.org',
37
+ '@type': 'FAQPage',
38
+ mainEntity: faqData.map((item) => ({
39
+ '@type': 'Question',
40
+ name: item.question,
41
+ acceptedAnswer: { '@type': 'Answer', text: item.answer },
42
+ })),
43
+ };
44
+
45
+ const howToSchema: WithContext<HowToThing> = {
46
+ '@context': 'https://schema.org',
47
+ '@type': 'HowTo',
48
+ name: title,
49
+ description,
50
+ step: howToData.map((step, i) => ({
51
+ '@type': 'HowToStep',
52
+ position: i + 1,
53
+ name: step.name,
54
+ text: step.text,
55
+ })),
56
+ };
57
+
58
+ const appSchema: WithContext<SoftwareApplication> = {
59
+ '@context': 'https://schema.org',
60
+ '@type': 'SoftwareApplication',
61
+ name: title,
62
+ description,
63
+ applicationCategory: 'UtilityApplication',
64
+ operatingSystem: 'All',
65
+ offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
66
+ inLanguage: 'ko',
67
+ };
68
+
69
+ export const content: ToolLocaleContent<PassepartoutCalculatorUI> = {
70
+ slug,
71
+ title,
72
+ description,
73
+ faqTitle: '자주 묻는 질문',
74
+ faq: faqData,
75
+ bibliographyTitle: '기술 참고 자료',
76
+ bibliography: [
77
+ { name: 'ISO 9706: 문서용 보존지 표준', url: 'https://www.iso.org/standard/22495.html' },
78
+ { name: 'PPFA: 전문 액자 제작자 협회', url: 'https://ppfa.com/' },
79
+ { name: 'Fine Art Trade Guild: 액자 제작 표준', url: 'https://www.fineart.co.uk/' },
80
+ ],
81
+ howTo: howToData,
82
+ schemas: [faqSchema, howToSchema, appSchema],
83
+ seo: [
84
+ { type: 'title', text: '완벽한 액자 제작의 과학', level: 2 },
85
+ { type: 'paragraph', html: '<strong>매트지</strong>(파스파르투)는 단순한 장식용 보드가 아닙니다. 예술 작품이 숨을 쉴 수 있게 해주는 폐와 같은 역할을 합니다. 이 계산기는 보드를 절단하기 위한 정확한 치수를 결정하는 데 도움을 주어, 작품이 액자 안에서 완벽하게 중앙에 배치되거나 시각적으로 균형을 이룰 수 있게 합니다.' },
86
+ { type: 'title', text: '왜 "보텀 웨이팅"이 필요한가요?', level: 3 },
87
+ { type: 'card', icon: 'mdi:eye-outline', title: '기하학적 중심의 시각적 착시', html: '<p>사람의 눈은 수직 기하학적 중심을 실제보다 약간 낮은 위치에 있는 것으로 인식하는 경향이 있습니다. 작품을 정확한 중앙에 배치하면 아래로 처져 보일 수 있습니다.</p><p><strong>보텀 웨이팅</strong>은 하단 여백을 약간 더 크게 두어 이 착시를 보정함으로써, 작품을 시각적으로 들어 올려 완벽한 중앙에 있는 것처럼 보이게 합니다.</p>' },
88
+ { type: 'title', text: '보존용 매트지 소재', level: 3 },
89
+ { type: 'card', icon: 'mdi:palette-swatch-outline', title: '보존용 무산성 보드', html: '<p>보드를 선택할 때는 항상 <strong>"Acid-Free"</strong> 또는 <strong>"Museum Quality"</strong>라는 용어를 확인하세요. 저렴한 목재 펄프 보드는 시간이 지나면 황변하고 산성을 방출하여 작품을 영구적으로 손상시킬 수 있습니다.</p>' },
90
+ ],
91
+ ui: {
92
+ sectionTitle: '치수',
93
+ sectionDesc: '치수를 센티미터 단위로 입력하세요.',
94
+ frameSizeTitle: '액자 크기',
95
+ artSizeTitle: '작품 크기',
96
+ labelWidth: '너비 (cm)',
97
+ labelHeight: '높이 (cm)',
98
+ labelBottomWeighting: '보텀 웨이팅',
99
+ descBottomWeighting: '시각적 균형을 위해 하단 여백 추가 적용',
100
+ labelOffset: '오프셋 (%)',
101
+ errorMsg: '작품 크기는 액자 크기보다 작아야 합니다.',
102
+ labelTop: '상단',
103
+ labelBottom: '하단',
104
+ labelLeft: '왼쪽',
105
+ labelRight: '오른쪽',
106
+ artPlaceholder: '작품',
107
+ },
108
+ };