@jjlmoya/utils-diy 1.28.0 → 1.29.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 +2 -2
- package/src/category/i18n/de.ts +12 -12
- package/src/category/i18n/en.ts +110 -110
- package/src/category/i18n/es.ts +110 -110
- package/src/category/i18n/fr.ts +101 -101
- package/src/category/i18n/id.ts +12 -12
- package/src/category/i18n/it.ts +12 -12
- package/src/category/i18n/ja.ts +12 -12
- package/src/category/i18n/ko.ts +12 -12
- package/src/category/i18n/nl.ts +12 -12
- package/src/category/i18n/pl.ts +12 -12
- package/src/category/i18n/pt.ts +12 -12
- package/src/category/i18n/ru.ts +12 -12
- package/src/category/i18n/sv.ts +12 -12
- package/src/category/i18n/tr.ts +12 -12
- package/src/category/i18n/zh.ts +12 -12
- package/src/category/index.ts +36 -36
- package/src/category/seo.astro +1 -1
- package/src/components/PreviewNavSidebar.astro +1 -1
- package/src/components/PreviewToolbar.astro +1 -1
- package/src/data.ts +1 -1
- package/src/entries.ts +37 -37
- package/src/env.d.ts +1 -1
- package/src/index.ts +50 -50
- package/src/layouts/PreviewLayout.astro +1 -1
- package/src/pages/index.astro +1 -1
- package/src/tests/category_seo_quality.test.ts +74 -0
- package/src/tests/faq_count.test.ts +1 -1
- package/src/tests/mocks/astro_mock.js +1 -1
- package/src/tests/no_h1_in_components.test.ts +1 -1
- package/src/tests/seo_length.test.ts +1 -1
- package/src/tests/seo_parity.test.ts +2 -2
- package/src/tests/tool_validation.test.ts +15 -15
- package/src/tool/balusterCalculator/bibliography.ts +16 -16
- package/src/tool/balusterCalculator/i18n/de.ts +251 -251
- package/src/tool/balusterCalculator/i18n/en.ts +251 -251
- package/src/tool/balusterCalculator/i18n/es.ts +251 -251
- package/src/tool/balusterCalculator/i18n/fr.ts +251 -251
- package/src/tool/balusterCalculator/i18n/id.ts +251 -251
- package/src/tool/balusterCalculator/i18n/it.ts +251 -251
- package/src/tool/balusterCalculator/i18n/ja.ts +251 -251
- package/src/tool/balusterCalculator/i18n/ko.ts +251 -251
- package/src/tool/balusterCalculator/i18n/nl.ts +251 -251
- package/src/tool/balusterCalculator/i18n/pl.ts +251 -251
- package/src/tool/balusterCalculator/i18n/pt.ts +251 -251
- package/src/tool/balusterCalculator/i18n/ru.ts +251 -251
- package/src/tool/balusterCalculator/i18n/sv.ts +251 -251
- package/src/tool/balusterCalculator/i18n/tr.ts +251 -251
- package/src/tool/balusterCalculator/i18n/zh.ts +251 -251
- package/src/tool/balusterCalculator/seo.astro +15 -15
- package/src/tool/clayCalculator/bibliography.ts +12 -12
- package/src/tool/clayCalculator/i18n/de.ts +174 -174
- package/src/tool/clayCalculator/i18n/en.ts +174 -174
- package/src/tool/clayCalculator/i18n/es.ts +174 -174
- package/src/tool/clayCalculator/i18n/fr.ts +174 -174
- package/src/tool/clayCalculator/i18n/id.ts +174 -174
- package/src/tool/clayCalculator/i18n/it.ts +174 -174
- package/src/tool/clayCalculator/i18n/ja.ts +173 -173
- package/src/tool/clayCalculator/i18n/ko.ts +174 -174
- package/src/tool/clayCalculator/i18n/nl.ts +174 -174
- package/src/tool/clayCalculator/i18n/pl.ts +174 -174
- package/src/tool/clayCalculator/i18n/pt.ts +174 -174
- package/src/tool/clayCalculator/i18n/ru.ts +174 -174
- package/src/tool/clayCalculator/i18n/sv.ts +174 -174
- package/src/tool/clayCalculator/i18n/tr.ts +174 -174
- package/src/tool/clayCalculator/i18n/zh.ts +174 -174
- package/src/tool/clayCalculator/seo.astro +15 -15
- package/src/tool/concreteCalculator/bibliography.ts +7 -7
- package/src/tool/concreteCalculator/i18n/de.ts +188 -188
- package/src/tool/concreteCalculator/i18n/en.ts +188 -188
- package/src/tool/concreteCalculator/i18n/es.ts +188 -188
- package/src/tool/concreteCalculator/i18n/fr.ts +188 -188
- package/src/tool/concreteCalculator/i18n/id.ts +188 -188
- package/src/tool/concreteCalculator/i18n/it.ts +188 -188
- package/src/tool/concreteCalculator/i18n/ja.ts +188 -188
- package/src/tool/concreteCalculator/i18n/ko.ts +188 -188
- package/src/tool/concreteCalculator/i18n/nl.ts +188 -188
- package/src/tool/concreteCalculator/i18n/pl.ts +188 -188
- package/src/tool/concreteCalculator/i18n/pt.ts +188 -188
- package/src/tool/concreteCalculator/i18n/ru.ts +188 -188
- package/src/tool/concreteCalculator/i18n/sv.ts +188 -188
- package/src/tool/concreteCalculator/i18n/tr.ts +188 -188
- package/src/tool/concreteCalculator/i18n/zh.ts +188 -188
- package/src/tool/concreteCalculator/seo.astro +15 -15
- package/src/tool/cutOptimizer/bibliography.ts +12 -12
- package/src/tool/cutOptimizer/i18n/de.ts +169 -169
- package/src/tool/cutOptimizer/i18n/en.ts +169 -169
- package/src/tool/cutOptimizer/i18n/es.ts +169 -169
- package/src/tool/cutOptimizer/i18n/fr.ts +169 -169
- package/src/tool/cutOptimizer/i18n/id.ts +169 -169
- package/src/tool/cutOptimizer/i18n/it.ts +169 -169
- package/src/tool/cutOptimizer/i18n/ja.ts +169 -169
- package/src/tool/cutOptimizer/i18n/ko.ts +169 -169
- package/src/tool/cutOptimizer/i18n/nl.ts +169 -169
- package/src/tool/cutOptimizer/i18n/pl.ts +169 -169
- package/src/tool/cutOptimizer/i18n/pt.ts +169 -169
- package/src/tool/cutOptimizer/i18n/ru.ts +169 -169
- package/src/tool/cutOptimizer/i18n/sv.ts +169 -169
- package/src/tool/cutOptimizer/i18n/tr.ts +169 -169
- package/src/tool/cutOptimizer/i18n/zh.ts +169 -169
- package/src/tool/cutOptimizer/seo.astro +15 -15
- package/src/tool/drillCalculator/bibliography.ts +12 -12
- package/src/tool/drillCalculator/i18n/de.ts +134 -134
- package/src/tool/drillCalculator/i18n/en.ts +134 -134
- package/src/tool/drillCalculator/i18n/es.ts +134 -134
- package/src/tool/drillCalculator/i18n/fr.ts +134 -134
- package/src/tool/drillCalculator/i18n/id.ts +134 -134
- package/src/tool/drillCalculator/i18n/it.ts +134 -134
- package/src/tool/drillCalculator/i18n/ja.ts +134 -134
- package/src/tool/drillCalculator/i18n/ko.ts +134 -134
- package/src/tool/drillCalculator/i18n/nl.ts +134 -134
- package/src/tool/drillCalculator/i18n/pl.ts +134 -134
- package/src/tool/drillCalculator/i18n/pt.ts +134 -134
- package/src/tool/drillCalculator/i18n/ru.ts +134 -134
- package/src/tool/drillCalculator/i18n/sv.ts +134 -134
- package/src/tool/drillCalculator/i18n/tr.ts +134 -134
- package/src/tool/drillCalculator/i18n/zh.ts +134 -134
- package/src/tool/drillCalculator/seo.astro +15 -15
- package/src/tool/drillSharpener/bibliography.ts +16 -16
- package/src/tool/drillSharpener/i18n/de.ts +117 -117
- package/src/tool/drillSharpener/i18n/en.ts +117 -117
- package/src/tool/drillSharpener/i18n/es.ts +117 -117
- package/src/tool/drillSharpener/i18n/fr.ts +117 -117
- package/src/tool/drillSharpener/i18n/id.ts +117 -117
- package/src/tool/drillSharpener/i18n/it.ts +117 -117
- package/src/tool/drillSharpener/i18n/ja.ts +117 -117
- package/src/tool/drillSharpener/i18n/ko.ts +117 -117
- package/src/tool/drillSharpener/i18n/nl.ts +117 -117
- package/src/tool/drillSharpener/i18n/pl.ts +117 -117
- package/src/tool/drillSharpener/i18n/pt.ts +117 -117
- package/src/tool/drillSharpener/i18n/ru.ts +117 -117
- package/src/tool/drillSharpener/i18n/sv.ts +117 -117
- package/src/tool/drillSharpener/i18n/tr.ts +117 -117
- package/src/tool/drillSharpener/i18n/zh.ts +117 -117
- package/src/tool/drillSharpener/seo.astro +15 -15
- package/src/tool/epoxyCalculator/bibliography.ts +20 -20
- package/src/tool/epoxyCalculator/i18n/de.ts +116 -116
- package/src/tool/epoxyCalculator/i18n/en.ts +178 -178
- package/src/tool/epoxyCalculator/i18n/es.ts +178 -178
- package/src/tool/epoxyCalculator/i18n/fr.ts +178 -178
- package/src/tool/epoxyCalculator/i18n/id.ts +116 -116
- package/src/tool/epoxyCalculator/i18n/it.ts +116 -116
- package/src/tool/epoxyCalculator/i18n/ja.ts +116 -116
- package/src/tool/epoxyCalculator/i18n/ko.ts +116 -116
- package/src/tool/epoxyCalculator/i18n/nl.ts +116 -116
- package/src/tool/epoxyCalculator/i18n/pl.ts +116 -116
- package/src/tool/epoxyCalculator/i18n/pt.ts +116 -116
- package/src/tool/epoxyCalculator/i18n/ru.ts +116 -116
- package/src/tool/epoxyCalculator/i18n/sv.ts +116 -116
- package/src/tool/epoxyCalculator/i18n/tr.ts +116 -116
- package/src/tool/epoxyCalculator/i18n/zh.ts +116 -116
- package/src/tool/epoxyCalculator/seo.astro +15 -15
- package/src/tool/furnitureFit/bibliography.ts +12 -12
- package/src/tool/furnitureFit/i18n/de.ts +111 -111
- package/src/tool/furnitureFit/i18n/en.ts +149 -149
- package/src/tool/furnitureFit/i18n/es.ts +149 -149
- package/src/tool/furnitureFit/i18n/fr.ts +149 -149
- package/src/tool/furnitureFit/i18n/id.ts +111 -111
- package/src/tool/furnitureFit/i18n/it.ts +111 -111
- package/src/tool/furnitureFit/i18n/ja.ts +111 -111
- package/src/tool/furnitureFit/i18n/ko.ts +111 -111
- package/src/tool/furnitureFit/i18n/nl.ts +111 -111
- package/src/tool/furnitureFit/i18n/pl.ts +111 -111
- package/src/tool/furnitureFit/i18n/pt.ts +111 -111
- package/src/tool/furnitureFit/i18n/ru.ts +111 -111
- package/src/tool/furnitureFit/i18n/sv.ts +111 -111
- package/src/tool/furnitureFit/i18n/tr.ts +111 -111
- package/src/tool/furnitureFit/i18n/zh.ts +111 -111
- package/src/tool/furnitureFit/seo.astro +15 -15
- package/src/tool/mortarCalculator/bibliography.ts +20 -20
- package/src/tool/mortarCalculator/i18n/de.ts +130 -130
- package/src/tool/mortarCalculator/i18n/en.ts +202 -202
- package/src/tool/mortarCalculator/i18n/es.ts +179 -179
- package/src/tool/mortarCalculator/i18n/fr.ts +203 -203
- package/src/tool/mortarCalculator/i18n/id.ts +130 -130
- package/src/tool/mortarCalculator/i18n/it.ts +130 -130
- package/src/tool/mortarCalculator/i18n/ja.ts +130 -130
- package/src/tool/mortarCalculator/i18n/ko.ts +130 -130
- package/src/tool/mortarCalculator/i18n/nl.ts +130 -130
- package/src/tool/mortarCalculator/i18n/pl.ts +130 -130
- package/src/tool/mortarCalculator/i18n/pt.ts +130 -130
- package/src/tool/mortarCalculator/i18n/ru.ts +130 -130
- package/src/tool/mortarCalculator/i18n/sv.ts +130 -130
- package/src/tool/mortarCalculator/i18n/tr.ts +130 -130
- package/src/tool/mortarCalculator/i18n/zh.ts +130 -130
- package/src/tool/mortarCalculator/seo.astro +15 -15
- package/src/tool/passepartoutCalculator/bibliography.ts +16 -16
- package/src/tool/passepartoutCalculator/i18n/de.ts +108 -108
- package/src/tool/passepartoutCalculator/i18n/en.ts +165 -165
- package/src/tool/passepartoutCalculator/i18n/es.ts +165 -165
- package/src/tool/passepartoutCalculator/i18n/fr.ts +165 -165
- package/src/tool/passepartoutCalculator/i18n/id.ts +108 -108
- package/src/tool/passepartoutCalculator/i18n/it.ts +108 -108
- package/src/tool/passepartoutCalculator/i18n/ja.ts +108 -108
- package/src/tool/passepartoutCalculator/i18n/ko.ts +108 -108
- package/src/tool/passepartoutCalculator/i18n/nl.ts +108 -108
- package/src/tool/passepartoutCalculator/i18n/pl.ts +108 -108
- package/src/tool/passepartoutCalculator/i18n/pt.ts +108 -108
- package/src/tool/passepartoutCalculator/i18n/ru.ts +108 -108
- package/src/tool/passepartoutCalculator/i18n/sv.ts +108 -108
- package/src/tool/passepartoutCalculator/i18n/tr.ts +108 -108
- package/src/tool/passepartoutCalculator/i18n/zh.ts +108 -108
- package/src/tool/passepartoutCalculator/seo.astro +15 -15
- package/src/tool/pythagoreanRightAngleCalculator/bibliography.ts +12 -12
- package/src/tool/pythagoreanRightAngleCalculator/i18n/de.ts +129 -129
- package/src/tool/pythagoreanRightAngleCalculator/i18n/en.ts +129 -129
- package/src/tool/pythagoreanRightAngleCalculator/i18n/es.ts +129 -129
- package/src/tool/pythagoreanRightAngleCalculator/i18n/fr.ts +129 -129
- package/src/tool/pythagoreanRightAngleCalculator/i18n/id.ts +129 -129
- package/src/tool/pythagoreanRightAngleCalculator/i18n/it.ts +129 -129
- package/src/tool/pythagoreanRightAngleCalculator/i18n/ja.ts +129 -129
- package/src/tool/pythagoreanRightAngleCalculator/i18n/ko.ts +129 -129
- package/src/tool/pythagoreanRightAngleCalculator/i18n/nl.ts +129 -129
- package/src/tool/pythagoreanRightAngleCalculator/i18n/pl.ts +129 -129
- package/src/tool/pythagoreanRightAngleCalculator/i18n/pt.ts +129 -129
- package/src/tool/pythagoreanRightAngleCalculator/i18n/ru.ts +129 -129
- package/src/tool/pythagoreanRightAngleCalculator/i18n/sv.ts +129 -129
- package/src/tool/pythagoreanRightAngleCalculator/i18n/tr.ts +129 -129
- package/src/tool/pythagoreanRightAngleCalculator/i18n/zh.ts +129 -129
- package/src/tool/stairCalculator/bibliography.ts +16 -16
- package/src/tool/stairCalculator/i18n/de.ts +143 -143
- package/src/tool/stairCalculator/i18n/en.ts +145 -145
- package/src/tool/stairCalculator/i18n/es.ts +145 -145
- package/src/tool/stairCalculator/i18n/fr.ts +145 -145
- package/src/tool/stairCalculator/i18n/id.ts +143 -143
- package/src/tool/stairCalculator/i18n/it.ts +143 -143
- package/src/tool/stairCalculator/i18n/ja.ts +143 -143
- package/src/tool/stairCalculator/i18n/ko.ts +143 -143
- package/src/tool/stairCalculator/i18n/nl.ts +143 -143
- package/src/tool/stairCalculator/i18n/pl.ts +143 -143
- package/src/tool/stairCalculator/i18n/pt.ts +143 -143
- package/src/tool/stairCalculator/i18n/ru.ts +143 -143
- package/src/tool/stairCalculator/i18n/sv.ts +143 -143
- package/src/tool/stairCalculator/i18n/tr.ts +143 -143
- package/src/tool/stairCalculator/i18n/zh.ts +143 -143
- package/src/tool/stairCalculator/seo.astro +15 -15
- package/src/tool/thermalExpansionCalculator/bibliography.ts +16 -16
- package/src/tool/thermalExpansionCalculator/i18n/de.ts +132 -132
- package/src/tool/thermalExpansionCalculator/i18n/en.ts +170 -170
- package/src/tool/thermalExpansionCalculator/i18n/es.ts +170 -170
- package/src/tool/thermalExpansionCalculator/i18n/fr.ts +170 -170
- package/src/tool/thermalExpansionCalculator/i18n/id.ts +132 -132
- package/src/tool/thermalExpansionCalculator/i18n/it.ts +132 -132
- package/src/tool/thermalExpansionCalculator/i18n/ja.ts +132 -132
- package/src/tool/thermalExpansionCalculator/i18n/ko.ts +132 -132
- package/src/tool/thermalExpansionCalculator/i18n/nl.ts +132 -132
- package/src/tool/thermalExpansionCalculator/i18n/pl.ts +132 -132
- package/src/tool/thermalExpansionCalculator/i18n/pt.ts +132 -132
- package/src/tool/thermalExpansionCalculator/i18n/ru.ts +132 -132
- package/src/tool/thermalExpansionCalculator/i18n/sv.ts +132 -132
- package/src/tool/thermalExpansionCalculator/i18n/tr.ts +132 -132
- package/src/tool/thermalExpansionCalculator/i18n/zh.ts +132 -132
- package/src/tool/thermalExpansionCalculator/seo.astro +15 -15
- package/src/tool/twoStrokeMixtureCalculator/bibliography.ts +12 -12
- package/src/tool/twoStrokeMixtureCalculator/i18n/de.ts +194 -194
- package/src/tool/twoStrokeMixtureCalculator/i18n/en.ts +194 -194
- package/src/tool/twoStrokeMixtureCalculator/i18n/es.ts +194 -194
- package/src/tool/twoStrokeMixtureCalculator/i18n/fr.ts +194 -194
- package/src/tool/twoStrokeMixtureCalculator/i18n/id.ts +194 -194
- package/src/tool/twoStrokeMixtureCalculator/i18n/it.ts +194 -194
- package/src/tool/twoStrokeMixtureCalculator/i18n/ja.ts +194 -194
- package/src/tool/twoStrokeMixtureCalculator/i18n/ko.ts +194 -194
- package/src/tool/twoStrokeMixtureCalculator/i18n/nl.ts +194 -194
- package/src/tool/twoStrokeMixtureCalculator/i18n/pl.ts +194 -194
- package/src/tool/twoStrokeMixtureCalculator/i18n/pt.ts +194 -194
- package/src/tool/twoStrokeMixtureCalculator/i18n/ru.ts +194 -194
- package/src/tool/twoStrokeMixtureCalculator/i18n/sv.ts +194 -194
- package/src/tool/twoStrokeMixtureCalculator/i18n/tr.ts +194 -194
- package/src/tool/twoStrokeMixtureCalculator/i18n/zh.ts +194 -194
- package/src/tool/voltageDropCalculator/bibliography.ts +16 -16
- package/src/tool/voltageDropCalculator/i18n/de.ts +113 -113
- package/src/tool/voltageDropCalculator/i18n/en.ts +151 -151
- package/src/tool/voltageDropCalculator/i18n/es.ts +151 -151
- package/src/tool/voltageDropCalculator/i18n/fr.ts +145 -145
- package/src/tool/voltageDropCalculator/i18n/id.ts +113 -113
- package/src/tool/voltageDropCalculator/i18n/it.ts +113 -113
- package/src/tool/voltageDropCalculator/i18n/ja.ts +113 -113
- package/src/tool/voltageDropCalculator/i18n/ko.ts +113 -113
- package/src/tool/voltageDropCalculator/i18n/nl.ts +113 -113
- package/src/tool/voltageDropCalculator/i18n/pl.ts +113 -113
- package/src/tool/voltageDropCalculator/i18n/pt.ts +113 -113
- package/src/tool/voltageDropCalculator/i18n/ru.ts +113 -113
- package/src/tool/voltageDropCalculator/i18n/sv.ts +113 -113
- package/src/tool/voltageDropCalculator/i18n/tr.ts +113 -113
- package/src/tool/voltageDropCalculator/i18n/zh.ts +113 -113
- package/src/tool/voltageDropCalculator/seo.astro +15 -15
- package/src/tool/workshopFractionConverter/bibliography.ts +12 -12
- package/src/tool/workshopFractionConverter/i18n/de.ts +147 -147
- package/src/tool/workshopFractionConverter/i18n/en.ts +147 -147
- package/src/tool/workshopFractionConverter/i18n/es.ts +147 -147
- package/src/tool/workshopFractionConverter/i18n/fr.ts +147 -147
- package/src/tool/workshopFractionConverter/i18n/id.ts +147 -147
- package/src/tool/workshopFractionConverter/i18n/it.ts +147 -147
- package/src/tool/workshopFractionConverter/i18n/ja.ts +147 -147
- package/src/tool/workshopFractionConverter/i18n/ko.ts +147 -147
- package/src/tool/workshopFractionConverter/i18n/nl.ts +147 -147
- package/src/tool/workshopFractionConverter/i18n/pl.ts +147 -147
- package/src/tool/workshopFractionConverter/i18n/pt.ts +147 -147
- package/src/tool/workshopFractionConverter/i18n/ru.ts +147 -147
- package/src/tool/workshopFractionConverter/i18n/sv.ts +147 -147
- package/src/tool/workshopFractionConverter/i18n/tr.ts +147 -147
- package/src/tool/workshopFractionConverter/i18n/zh.ts +147 -147
- package/src/tools.ts +20 -20
|
@@ -1,188 +1,188 @@
|
|
|
1
|
-
import type { WithContext, FAQPage, HowToThing, SoftwareApplication } from 'schema-dts';
|
|
2
|
-
import type { ToolLocaleContent } from '../../../types';
|
|
3
|
-
import type { ConcreteCalculatorUI } from '../ui';
|
|
4
|
-
import { bibliography } from '../bibliography';
|
|
5
|
-
|
|
6
|
-
const slug = 'kalkulator-beton-mortar';
|
|
7
|
-
const title = 'Kalkulator Beton dan Mortar: Jumlah Tepat Semen, Pasir, dan Air';
|
|
8
|
-
const description =
|
|
9
|
-
'Hitung berapa sak semen, sekop pasir, dan liter air yang Anda butuhkan per m³. Untuk fondasi, lantai, dinding, dan screed. Panduan dosis teknis.';
|
|
10
|
-
|
|
11
|
-
const faqData = [
|
|
12
|
-
{
|
|
13
|
-
question: 'Berapa sak semen 25kg dalam satu meter kubik?',
|
|
14
|
-
answer:
|
|
15
|
-
'Untuk beton standar (kekuatan K-200), dibutuhkan sekitar 14 sak semen ukuran 25kg (350kg) untuk membuat satu meter kubik campuran yang dipadatkan.',
|
|
16
|
-
},
|
|
17
|
-
{
|
|
18
|
-
question: 'Mana yang lebih kuat, beton atau mortar?',
|
|
19
|
-
answer:
|
|
20
|
-
'Beton (dengan kerikil) lebih kuat secara struktural untuk menahan beban besar. Mortar (hanya pasir) ideal untuk menyatukan bagian-bagian atau memplester permukaan.',
|
|
21
|
-
},
|
|
22
|
-
{
|
|
23
|
-
question: 'Berapa sekop dalam satu meter kubik?',
|
|
24
|
-
answer:
|
|
25
|
-
'Tergantung pada ukuran sekopnya, tetapi secara umum dihitung 180-200 sekop pasir per m³. Kalkulator kami menerjemahkan m³ menjadi saran jumlah sekop.',
|
|
26
|
-
},
|
|
27
|
-
{
|
|
28
|
-
question: 'Dapatkah saya membuat campuran secara manual tanpa molen?',
|
|
29
|
-
answer:
|
|
30
|
-
'Ya, meskipun membutuhkan usaha fisik yang jauh lebih besar. Idealnya dilakukan di atas permukaan yang bersih dan kedap air (pelat logam atau bak) agar tidak kehilangan air.',
|
|
31
|
-
},
|
|
32
|
-
{
|
|
33
|
-
question: 'Mengapa beton retak saat kering?',
|
|
34
|
-
answer:
|
|
35
|
-
'Seringkali karena kurangnya kelembapan selama proses pengerasan (kehilangan air yang cepat) atau terlalu banyak air dalam campuran. Disarankan untuk menyiram beton pada hari-hari berikutnya.',
|
|
36
|
-
},
|
|
37
|
-
];
|
|
38
|
-
|
|
39
|
-
const howToData = [
|
|
40
|
-
{
|
|
41
|
-
name: 'Pilih Jenis Campuran',
|
|
42
|
-
text: 'Pilih apakah Anda akan membuat beton untuk fondasi atau mortar untuk dinding.',
|
|
43
|
-
},
|
|
44
|
-
{
|
|
45
|
-
name: 'Tentukan Volume dalam m³',
|
|
46
|
-
text: 'Masukkan total volume. Kalikan panjang x lebar x tebal.',
|
|
47
|
-
},
|
|
48
|
-
{
|
|
49
|
-
name: 'Lihat Jumlah yang Dibutuhkan',
|
|
50
|
-
text: 'Lihat berapa sak, sekop, dan liter yang perlu Anda beli.',
|
|
51
|
-
},
|
|
52
|
-
{
|
|
53
|
-
name: 'Terapkan Proposi',
|
|
54
|
-
text: 'Ikuti panduan visual semen, pasir, dan kerikil untuk campuran yang sempurna.',
|
|
55
|
-
},
|
|
56
|
-
];
|
|
57
|
-
|
|
58
|
-
const faqSchema: WithContext<FAQPage> = {
|
|
59
|
-
'@context': 'https://schema.org',
|
|
60
|
-
'@type': 'FAQPage',
|
|
61
|
-
mainEntity: faqData.map((item) => ({
|
|
62
|
-
'@type': 'Question',
|
|
63
|
-
name: item.question,
|
|
64
|
-
acceptedAnswer: { '@type': 'Answer', text: item.answer },
|
|
65
|
-
})),
|
|
66
|
-
};
|
|
67
|
-
|
|
68
|
-
const howToSchema: WithContext<HowToThing> = {
|
|
69
|
-
'@context': 'https://schema.org',
|
|
70
|
-
'@type': 'HowTo',
|
|
71
|
-
name: title,
|
|
72
|
-
description,
|
|
73
|
-
step: howToData.map((step, i) => ({
|
|
74
|
-
'@type': 'HowToStep',
|
|
75
|
-
position: i + 1,
|
|
76
|
-
name: step.name,
|
|
77
|
-
text: step.text,
|
|
78
|
-
})),
|
|
79
|
-
};
|
|
80
|
-
|
|
81
|
-
const appSchema: WithContext<SoftwareApplication> = {
|
|
82
|
-
'@context': 'https://schema.org',
|
|
83
|
-
'@type': 'SoftwareApplication',
|
|
84
|
-
name: title,
|
|
85
|
-
description,
|
|
86
|
-
applicationCategory: 'UtilityApplication',
|
|
87
|
-
operatingSystem: 'All',
|
|
88
|
-
offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
|
|
89
|
-
inLanguage: 'id',
|
|
90
|
-
};
|
|
91
|
-
|
|
92
|
-
export const content: ToolLocaleContent<ConcreteCalculatorUI> = {
|
|
93
|
-
slug,
|
|
94
|
-
title,
|
|
95
|
-
description,
|
|
96
|
-
faqTitle: 'Pertanyaan Umum',
|
|
97
|
-
faq: faqData,
|
|
98
|
-
bibliography,
|
|
99
|
-
howTo: howToData,
|
|
100
|
-
schemas: [faqSchema, howToSchema, appSchema],
|
|
101
|
-
seo: [
|
|
102
|
-
{
|
|
103
|
-
type: 'title',
|
|
104
|
-
text: 'Panduan Takaran untuk Beton dan Mortar',
|
|
105
|
-
level: 2,
|
|
106
|
-
},
|
|
107
|
-
{
|
|
108
|
-
type: 'paragraph',
|
|
109
|
-
html: 'Saat menghadapi renovasi atau konstruksi, salah satu pertanyaan yang paling sering muncul adalah <strong>berapa sak semen yang saya butuhkan untuk satu meter kubik beton?</strong>. Ini bukan sekadar mencampur bahan; kekuatan akhir struktur sangat bergantung pada ketepatan proporsi semen, pasir, kerikil, dan air. Kalkulator kami menerjemahkan ukuran industri ke dalam unit praktis lapangan: sak 25kg, sekop, dan liter.',
|
|
110
|
-
},
|
|
111
|
-
{
|
|
112
|
-
type: 'card',
|
|
113
|
-
icon: 'mdi:water-alert',
|
|
114
|
-
title: 'Kelebihan Air Melemahkan Beton',
|
|
115
|
-
html: '<p>Kesalahan yang sangat umum adalah menambahkan terlalu banyak air agar beton lebih mudah mengalir. Kelebihan air menciptakan pori-pori saat menguap selama proses pengerasan, yang secara drastis mengurangi kekuatan akhir. Konsistensi yang ideal harus seperti <strong>pasta kental, bukan cair</strong>. Gunakan air sesedikit mungkin.</p>',
|
|
116
|
-
},
|
|
117
|
-
{
|
|
118
|
-
type: 'title',
|
|
119
|
-
text: 'Proporsi Standar Menurut Penggunaan',
|
|
120
|
-
level: 3,
|
|
121
|
-
},
|
|
122
|
-
{
|
|
123
|
-
type: 'paragraph',
|
|
124
|
-
html: '<strong>Takaran beton</strong> bervariasi sesuai dengan penggunaannya. Untuk <strong>Beton K-200</strong> (fondasi dan lantai kerja) proporsinya adalah 1 bagian semen, 2.5 bagian pasir, dan 3 bagian kerikil. Untuk <strong>Mortar M-40</strong> (dinding dan sekat) adalah 1 bagian semen dan 4 bagian pasir. Untuk <strong>Mortar M-80</strong> (screed lantai) adalah 1 bagian semen dan 3 bagian pasir. Beton dengan kerikil menahan lebih banyak beban; mortar hanya pasir ideal untuk menyatukan dan memplester.',
|
|
125
|
-
},
|
|
126
|
-
{
|
|
127
|
-
type: 'title',
|
|
128
|
-
text: 'Cara Menghitung m³ yang Anda Butuhkan',
|
|
129
|
-
level: 3,
|
|
130
|
-
},
|
|
131
|
-
{
|
|
132
|
-
type: 'card',
|
|
133
|
-
icon: 'mdi:calculator-variant',
|
|
134
|
-
title: 'Contoh Perhitungan untuk Lantai Kerja',
|
|
135
|
-
html: '<p>Untuk lantai taman dengan panjang 4m, lebar 3m, dan tebal 15cm: <strong>4 × 3 × 0.15 = 1.80 m³</strong>. Kalkulator kami melakukan operasi ini secara otomatis jika Anda memasukkan dimensi di bagian "Berdasarkan Ukuran".</p><p>Ingatlah untuk selalu <strong>membeli tambahan 10%</strong> untuk mengompensasi kehilangan akibat tumpahan atau variasi pada permukaan tanah.</p>',
|
|
136
|
-
},
|
|
137
|
-
{
|
|
138
|
-
type: 'title',
|
|
139
|
-
text: 'Urutan Pencampuran dan Takaran Per Sak',
|
|
140
|
-
level: 3,
|
|
141
|
-
},
|
|
142
|
-
{
|
|
143
|
-
type: 'paragraph',
|
|
144
|
-
html: 'Di lapangan sering disebut <strong>"campuran 300 kilo"</strong>: 300kg semen untuk setiap meter kubik beton jadi. Untuk pencampuran yang benar dalam molen: pertama air, kemudian kerikil dan pasir (untuk mengurai gumpalan), dan terakhir semen yang ditambahkan secara bertahap.',
|
|
145
|
-
},
|
|
146
|
-
{
|
|
147
|
-
type: 'card',
|
|
148
|
-
icon: 'mdi:package-variant-closed',
|
|
149
|
-
title: 'Aturan 10% untuk Menghindari Kekurangan Bahan',
|
|
150
|
-
html: '<p>Selalu beli <strong>10% bahan lebih banyak</strong> dari yang dihitung untuk mengompensasi kehilangan akibat tumpahan, ketidakteraturan medan, atau variasi volume riil agregat yang lembap. Ini jauh lebih murah daripada harus melakukan pemesanan kedua saat pekerjaan sedang berhenti.</p>',
|
|
151
|
-
},
|
|
152
|
-
],
|
|
153
|
-
ui: {
|
|
154
|
-
mixH200Label: 'Beton Standar',
|
|
155
|
-
mixH200Hint: 'Ideal untuk fondasi dan lantai kerja',
|
|
156
|
-
mixM40Label: 'Mortar Pasangan Bata',
|
|
157
|
-
mixM40Hint: 'Untuk dinding dan sekat',
|
|
158
|
-
mixM80Label: 'Screed Kuat',
|
|
159
|
-
mixM80Hint: 'Untuk lantai dan plesteran kuat',
|
|
160
|
-
modeDimsLabel: 'Berdasarkan Ukuran',
|
|
161
|
-
modeDirectLabel: 'm³ Langsung',
|
|
162
|
-
labelLength: 'Panjang',
|
|
163
|
-
labelWidth: 'Lebar',
|
|
164
|
-
labelThickness: 'Tebal',
|
|
165
|
-
labelVolume: 'Volume Total (m³)',
|
|
166
|
-
binderCementLabel: 'Semen',
|
|
167
|
-
binderLimeLabel: 'Kapur',
|
|
168
|
-
summaryLabel: 'Total yang akan diisi:',
|
|
169
|
-
resUnitSacks: 'Sak (25kg)',
|
|
170
|
-
resUnitShovels: 'Sekop',
|
|
171
|
-
resUnitLitres: 'Liter',
|
|
172
|
-
resLabelCement: 'Semen Portland',
|
|
173
|
-
resLabelLime: 'Kapur Hidrolik',
|
|
174
|
-
resLabelSand: 'Pasir / Agregat',
|
|
175
|
-
resLabelWater: 'Air Bersih',
|
|
176
|
-
proportionsTitle: 'Proporsi Campuran yang Dipilih',
|
|
177
|
-
propLabelSand: 'Pasir',
|
|
178
|
-
propLabelGravel: 'Kerikil',
|
|
179
|
-
adviceH200: 'Ideal untuk pilar, lantai kerja, dan struktur penahan beban.',
|
|
180
|
-
adviceM40: 'Sempurna untuk memasang dinding bata atau batako.',
|
|
181
|
-
adviceM80: 'Gunakan ini untuk screed lantai yang sangat tahan lama.',
|
|
182
|
-
adviceLimeH200: 'Beton kapur lebih fleksibel tetapi membutuhkan waktu lebih lama untuk mengeras.',
|
|
183
|
-
priceTotalLabel: 'Estimasi Anggaran',
|
|
184
|
-
priceSackLabel: 'Sak',
|
|
185
|
-
priceSandLabel: 'Pasir (m³)',
|
|
186
|
-
priceDisclaimer: 'Harga pasar sebagai referensi. Sesuaikan dengan pemasok lokal Anda.',
|
|
187
|
-
},
|
|
188
|
-
};
|
|
1
|
+
import type { WithContext, FAQPage, HowToThing, SoftwareApplication } from 'schema-dts';
|
|
2
|
+
import type { ToolLocaleContent } from '../../../types';
|
|
3
|
+
import type { ConcreteCalculatorUI } from '../ui';
|
|
4
|
+
import { bibliography } from '../bibliography';
|
|
5
|
+
|
|
6
|
+
const slug = 'kalkulator-beton-mortar';
|
|
7
|
+
const title = 'Kalkulator Beton dan Mortar: Jumlah Tepat Semen, Pasir, dan Air';
|
|
8
|
+
const description =
|
|
9
|
+
'Hitung berapa sak semen, sekop pasir, dan liter air yang Anda butuhkan per m³. Untuk fondasi, lantai, dinding, dan screed. Panduan dosis teknis.';
|
|
10
|
+
|
|
11
|
+
const faqData = [
|
|
12
|
+
{
|
|
13
|
+
question: 'Berapa sak semen 25kg dalam satu meter kubik?',
|
|
14
|
+
answer:
|
|
15
|
+
'Untuk beton standar (kekuatan K-200), dibutuhkan sekitar 14 sak semen ukuran 25kg (350kg) untuk membuat satu meter kubik campuran yang dipadatkan.',
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
question: 'Mana yang lebih kuat, beton atau mortar?',
|
|
19
|
+
answer:
|
|
20
|
+
'Beton (dengan kerikil) lebih kuat secara struktural untuk menahan beban besar. Mortar (hanya pasir) ideal untuk menyatukan bagian-bagian atau memplester permukaan.',
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
question: 'Berapa sekop dalam satu meter kubik?',
|
|
24
|
+
answer:
|
|
25
|
+
'Tergantung pada ukuran sekopnya, tetapi secara umum dihitung 180-200 sekop pasir per m³. Kalkulator kami menerjemahkan m³ menjadi saran jumlah sekop.',
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
question: 'Dapatkah saya membuat campuran secara manual tanpa molen?',
|
|
29
|
+
answer:
|
|
30
|
+
'Ya, meskipun membutuhkan usaha fisik yang jauh lebih besar. Idealnya dilakukan di atas permukaan yang bersih dan kedap air (pelat logam atau bak) agar tidak kehilangan air.',
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
question: 'Mengapa beton retak saat kering?',
|
|
34
|
+
answer:
|
|
35
|
+
'Seringkali karena kurangnya kelembapan selama proses pengerasan (kehilangan air yang cepat) atau terlalu banyak air dalam campuran. Disarankan untuk menyiram beton pada hari-hari berikutnya.',
|
|
36
|
+
},
|
|
37
|
+
];
|
|
38
|
+
|
|
39
|
+
const howToData = [
|
|
40
|
+
{
|
|
41
|
+
name: 'Pilih Jenis Campuran',
|
|
42
|
+
text: 'Pilih apakah Anda akan membuat beton untuk fondasi atau mortar untuk dinding.',
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
name: 'Tentukan Volume dalam m³',
|
|
46
|
+
text: 'Masukkan total volume. Kalikan panjang x lebar x tebal.',
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
name: 'Lihat Jumlah yang Dibutuhkan',
|
|
50
|
+
text: 'Lihat berapa sak, sekop, dan liter yang perlu Anda beli.',
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
name: 'Terapkan Proposi',
|
|
54
|
+
text: 'Ikuti panduan visual semen, pasir, dan kerikil untuk campuran yang sempurna.',
|
|
55
|
+
},
|
|
56
|
+
];
|
|
57
|
+
|
|
58
|
+
const faqSchema: WithContext<FAQPage> = {
|
|
59
|
+
'@context': 'https://schema.org',
|
|
60
|
+
'@type': 'FAQPage',
|
|
61
|
+
mainEntity: faqData.map((item) => ({
|
|
62
|
+
'@type': 'Question',
|
|
63
|
+
name: item.question,
|
|
64
|
+
acceptedAnswer: { '@type': 'Answer', text: item.answer },
|
|
65
|
+
})),
|
|
66
|
+
};
|
|
67
|
+
|
|
68
|
+
const howToSchema: WithContext<HowToThing> = {
|
|
69
|
+
'@context': 'https://schema.org',
|
|
70
|
+
'@type': 'HowTo',
|
|
71
|
+
name: title,
|
|
72
|
+
description,
|
|
73
|
+
step: howToData.map((step, i) => ({
|
|
74
|
+
'@type': 'HowToStep',
|
|
75
|
+
position: i + 1,
|
|
76
|
+
name: step.name,
|
|
77
|
+
text: step.text,
|
|
78
|
+
})),
|
|
79
|
+
};
|
|
80
|
+
|
|
81
|
+
const appSchema: WithContext<SoftwareApplication> = {
|
|
82
|
+
'@context': 'https://schema.org',
|
|
83
|
+
'@type': 'SoftwareApplication',
|
|
84
|
+
name: title,
|
|
85
|
+
description,
|
|
86
|
+
applicationCategory: 'UtilityApplication',
|
|
87
|
+
operatingSystem: 'All',
|
|
88
|
+
offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
|
|
89
|
+
inLanguage: 'id',
|
|
90
|
+
};
|
|
91
|
+
|
|
92
|
+
export const content: ToolLocaleContent<ConcreteCalculatorUI> = {
|
|
93
|
+
slug,
|
|
94
|
+
title,
|
|
95
|
+
description,
|
|
96
|
+
faqTitle: 'Pertanyaan Umum',
|
|
97
|
+
faq: faqData,
|
|
98
|
+
bibliography,
|
|
99
|
+
howTo: howToData,
|
|
100
|
+
schemas: [faqSchema, howToSchema, appSchema],
|
|
101
|
+
seo: [
|
|
102
|
+
{
|
|
103
|
+
type: 'title',
|
|
104
|
+
text: 'Panduan Takaran untuk Beton dan Mortar',
|
|
105
|
+
level: 2,
|
|
106
|
+
},
|
|
107
|
+
{
|
|
108
|
+
type: 'paragraph',
|
|
109
|
+
html: 'Saat menghadapi renovasi atau konstruksi, salah satu pertanyaan yang paling sering muncul adalah <strong>berapa sak semen yang saya butuhkan untuk satu meter kubik beton?</strong>. Ini bukan sekadar mencampur bahan; kekuatan akhir struktur sangat bergantung pada ketepatan proporsi semen, pasir, kerikil, dan air. Kalkulator kami menerjemahkan ukuran industri ke dalam unit praktis lapangan: sak 25kg, sekop, dan liter.',
|
|
110
|
+
},
|
|
111
|
+
{
|
|
112
|
+
type: 'card',
|
|
113
|
+
icon: 'mdi:water-alert',
|
|
114
|
+
title: 'Kelebihan Air Melemahkan Beton',
|
|
115
|
+
html: '<p>Kesalahan yang sangat umum adalah menambahkan terlalu banyak air agar beton lebih mudah mengalir. Kelebihan air menciptakan pori-pori saat menguap selama proses pengerasan, yang secara drastis mengurangi kekuatan akhir. Konsistensi yang ideal harus seperti <strong>pasta kental, bukan cair</strong>. Gunakan air sesedikit mungkin.</p>',
|
|
116
|
+
},
|
|
117
|
+
{
|
|
118
|
+
type: 'title',
|
|
119
|
+
text: 'Proporsi Standar Menurut Penggunaan',
|
|
120
|
+
level: 3,
|
|
121
|
+
},
|
|
122
|
+
{
|
|
123
|
+
type: 'paragraph',
|
|
124
|
+
html: '<strong>Takaran beton</strong> bervariasi sesuai dengan penggunaannya. Untuk <strong>Beton K-200</strong> (fondasi dan lantai kerja) proporsinya adalah 1 bagian semen, 2.5 bagian pasir, dan 3 bagian kerikil. Untuk <strong>Mortar M-40</strong> (dinding dan sekat) adalah 1 bagian semen dan 4 bagian pasir. Untuk <strong>Mortar M-80</strong> (screed lantai) adalah 1 bagian semen dan 3 bagian pasir. Beton dengan kerikil menahan lebih banyak beban; mortar hanya pasir ideal untuk menyatukan dan memplester.',
|
|
125
|
+
},
|
|
126
|
+
{
|
|
127
|
+
type: 'title',
|
|
128
|
+
text: 'Cara Menghitung m³ yang Anda Butuhkan',
|
|
129
|
+
level: 3,
|
|
130
|
+
},
|
|
131
|
+
{
|
|
132
|
+
type: 'card',
|
|
133
|
+
icon: 'mdi:calculator-variant',
|
|
134
|
+
title: 'Contoh Perhitungan untuk Lantai Kerja',
|
|
135
|
+
html: '<p>Untuk lantai taman dengan panjang 4m, lebar 3m, dan tebal 15cm: <strong>4 × 3 × 0.15 = 1.80 m³</strong>. Kalkulator kami melakukan operasi ini secara otomatis jika Anda memasukkan dimensi di bagian "Berdasarkan Ukuran".</p><p>Ingatlah untuk selalu <strong>membeli tambahan 10%</strong> untuk mengompensasi kehilangan akibat tumpahan atau variasi pada permukaan tanah.</p>',
|
|
136
|
+
},
|
|
137
|
+
{
|
|
138
|
+
type: 'title',
|
|
139
|
+
text: 'Urutan Pencampuran dan Takaran Per Sak',
|
|
140
|
+
level: 3,
|
|
141
|
+
},
|
|
142
|
+
{
|
|
143
|
+
type: 'paragraph',
|
|
144
|
+
html: 'Di lapangan sering disebut <strong>"campuran 300 kilo"</strong>: 300kg semen untuk setiap meter kubik beton jadi. Untuk pencampuran yang benar dalam molen: pertama air, kemudian kerikil dan pasir (untuk mengurai gumpalan), dan terakhir semen yang ditambahkan secara bertahap.',
|
|
145
|
+
},
|
|
146
|
+
{
|
|
147
|
+
type: 'card',
|
|
148
|
+
icon: 'mdi:package-variant-closed',
|
|
149
|
+
title: 'Aturan 10% untuk Menghindari Kekurangan Bahan',
|
|
150
|
+
html: '<p>Selalu beli <strong>10% bahan lebih banyak</strong> dari yang dihitung untuk mengompensasi kehilangan akibat tumpahan, ketidakteraturan medan, atau variasi volume riil agregat yang lembap. Ini jauh lebih murah daripada harus melakukan pemesanan kedua saat pekerjaan sedang berhenti.</p>',
|
|
151
|
+
},
|
|
152
|
+
],
|
|
153
|
+
ui: {
|
|
154
|
+
mixH200Label: 'Beton Standar',
|
|
155
|
+
mixH200Hint: 'Ideal untuk fondasi dan lantai kerja',
|
|
156
|
+
mixM40Label: 'Mortar Pasangan Bata',
|
|
157
|
+
mixM40Hint: 'Untuk dinding dan sekat',
|
|
158
|
+
mixM80Label: 'Screed Kuat',
|
|
159
|
+
mixM80Hint: 'Untuk lantai dan plesteran kuat',
|
|
160
|
+
modeDimsLabel: 'Berdasarkan Ukuran',
|
|
161
|
+
modeDirectLabel: 'm³ Langsung',
|
|
162
|
+
labelLength: 'Panjang',
|
|
163
|
+
labelWidth: 'Lebar',
|
|
164
|
+
labelThickness: 'Tebal',
|
|
165
|
+
labelVolume: 'Volume Total (m³)',
|
|
166
|
+
binderCementLabel: 'Semen',
|
|
167
|
+
binderLimeLabel: 'Kapur',
|
|
168
|
+
summaryLabel: 'Total yang akan diisi:',
|
|
169
|
+
resUnitSacks: 'Sak (25kg)',
|
|
170
|
+
resUnitShovels: 'Sekop',
|
|
171
|
+
resUnitLitres: 'Liter',
|
|
172
|
+
resLabelCement: 'Semen Portland',
|
|
173
|
+
resLabelLime: 'Kapur Hidrolik',
|
|
174
|
+
resLabelSand: 'Pasir / Agregat',
|
|
175
|
+
resLabelWater: 'Air Bersih',
|
|
176
|
+
proportionsTitle: 'Proporsi Campuran yang Dipilih',
|
|
177
|
+
propLabelSand: 'Pasir',
|
|
178
|
+
propLabelGravel: 'Kerikil',
|
|
179
|
+
adviceH200: 'Ideal untuk pilar, lantai kerja, dan struktur penahan beban.',
|
|
180
|
+
adviceM40: 'Sempurna untuk memasang dinding bata atau batako.',
|
|
181
|
+
adviceM80: 'Gunakan ini untuk screed lantai yang sangat tahan lama.',
|
|
182
|
+
adviceLimeH200: 'Beton kapur lebih fleksibel tetapi membutuhkan waktu lebih lama untuk mengeras.',
|
|
183
|
+
priceTotalLabel: 'Estimasi Anggaran',
|
|
184
|
+
priceSackLabel: 'Sak',
|
|
185
|
+
priceSandLabel: 'Pasir (m³)',
|
|
186
|
+
priceDisclaimer: 'Harga pasar sebagai referensi. Sesuaikan dengan pemasok lokal Anda.',
|
|
187
|
+
},
|
|
188
|
+
};
|