@jjlmoya/utils-diy 1.28.0 → 1.30.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/seo_translation_completeness.test.ts +18 -12
- 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,169 +1,169 @@
|
|
|
1
|
-
import type { WithContext, FAQPage, HowToThing, SoftwareApplication } from 'schema-dts';
|
|
2
|
-
import type { ToolLocaleContent } from '../../../types';
|
|
3
|
-
import type { CutOptimizerUI } from '../ui';
|
|
4
|
-
import { bibliography } from '../bibliography';
|
|
5
|
-
|
|
6
|
-
const slug = 'kesim-optimizasyonu';
|
|
7
|
-
const title = 'Çıta ve Panel Kesim Optimizasyonu';
|
|
8
|
-
const description =
|
|
9
|
-
'Ahşap, metal veya boru kesimlerini optimize etmek için ücretsiz hesaplayıcı. 1D ve 2D Bin Packing algoritmalarıyla atığı en aza indirin. Marangozluk, metalurji ve tadilatlar için idealdir.';
|
|
10
|
-
|
|
11
|
-
const faqData = [
|
|
12
|
-
{
|
|
13
|
-
question: '1D kesim optimizasyonu nedir?',
|
|
14
|
-
answer:
|
|
15
|
-
'Standart uzun bir parçadan (çıta, profil, boru) mümkün olan en az atıkla daha küçük parçaların nasıl kesileceğini belirlemek için matematiksel algoritmalar (Bin Packing Problem gibi) kullanan bir araçtır.',
|
|
16
|
-
},
|
|
17
|
-
{
|
|
18
|
-
question: 'Kesim kalınlığını (Kerf) neden dahil etmeliyiz?',
|
|
19
|
-
answer:
|
|
20
|
-
'Testere malzemeyi her kestiğinde, (testere bıçağına bağlı olarak normalde 2 mm ile 4 mm arasında) birkaç milimetre yok olur. Bu boşluğu hesaplamazsanız, listenizdeki son parçalar planlanandan daha kısa olacaktır.',
|
|
21
|
-
},
|
|
22
|
-
{
|
|
23
|
-
question: 'Farklı uzunluktaki parçaları karıştırabilir miyim?',
|
|
24
|
-
answer:
|
|
25
|
-
'Evet, hesaplayıcımız her türlü uzunluk ve miktar kombinasyonunu kabul eder. Algoritma tüm olası kombinasyonları değerlendirecek ve stok malzemesinin maksimum kullanımına öncelik verecektir.',
|
|
26
|
-
},
|
|
27
|
-
{
|
|
28
|
-
question: 'Kesim planımı nasıl kaydederim?',
|
|
29
|
-
answer:
|
|
30
|
-
'Optimize edildikten sonra, sayfayı yazdırabilir veya görsel şemanın ekran görüntüsünü alabilirsiniz. Bu, atölyede kesim sırasını karıştırmamanız için fiziksel bir rehber görevi görecektir.',
|
|
31
|
-
},
|
|
32
|
-
];
|
|
33
|
-
|
|
34
|
-
const howToData = [
|
|
35
|
-
{
|
|
36
|
-
name: 'Temel Malzemeyi Tanımlayın (Stok)',
|
|
37
|
-
text: 'Mevcut çıta veya profilin toplam uzunluğunu girin (örneğin 2400 mm veya 6000 mm).',
|
|
38
|
-
},
|
|
39
|
-
{
|
|
40
|
-
name: 'Bıçak Kalınlığını Ayarlayın (Kerf)',
|
|
41
|
-
text: 'Hesaplamanın milimetrik olması için testerenin her adımda yok ettiği milimetre miktarını ayarlayın.',
|
|
42
|
-
},
|
|
43
|
-
{
|
|
44
|
-
name: 'İstenen Parçaları Listeleyin',
|
|
45
|
-
text: 'Projeniz için ihtiyacınız olan her bir parçanın uzunluğunu ve miktarını yazın.',
|
|
46
|
-
},
|
|
47
|
-
{
|
|
48
|
-
name: 'Optimizasyonu Çalıştırın',
|
|
49
|
-
text: 'En verimli kesim şemasını ve oluşan atığın tam yüzdesini elde edin.',
|
|
50
|
-
},
|
|
51
|
-
];
|
|
52
|
-
|
|
53
|
-
const faqSchema: WithContext<FAQPage> = {
|
|
54
|
-
'@context': 'https://schema.org',
|
|
55
|
-
'@type': 'FAQPage',
|
|
56
|
-
mainEntity: faqData.map((item) => ({
|
|
57
|
-
'@type': 'Question',
|
|
58
|
-
name: item.question,
|
|
59
|
-
acceptedAnswer: { '@type': 'Answer', text: item.answer },
|
|
60
|
-
})),
|
|
61
|
-
};
|
|
62
|
-
|
|
63
|
-
const howToSchema: WithContext<HowToThing> = {
|
|
64
|
-
'@context': 'https://schema.org',
|
|
65
|
-
'@type': 'HowTo',
|
|
66
|
-
name: title,
|
|
67
|
-
description,
|
|
68
|
-
step: howToData.map((step, i) => ({
|
|
69
|
-
'@type': 'HowToStep',
|
|
70
|
-
position: i + 1,
|
|
71
|
-
name: step.name,
|
|
72
|
-
text: step.text,
|
|
73
|
-
})),
|
|
74
|
-
};
|
|
75
|
-
|
|
76
|
-
const appSchema: WithContext<SoftwareApplication> = {
|
|
77
|
-
'@context': 'https://schema.org',
|
|
78
|
-
'@type': 'SoftwareApplication',
|
|
79
|
-
name: title,
|
|
80
|
-
description,
|
|
81
|
-
applicationCategory: 'UtilityApplication',
|
|
82
|
-
operatingSystem: 'All',
|
|
83
|
-
offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
|
|
84
|
-
inLanguage: 'tr',
|
|
85
|
-
};
|
|
86
|
-
|
|
87
|
-
export const content: ToolLocaleContent<CutOptimizerUI> = {
|
|
88
|
-
slug,
|
|
89
|
-
title,
|
|
90
|
-
description,
|
|
91
|
-
faqTitle: 'Sıkça Sorulan Sorular',
|
|
92
|
-
faq: faqData,
|
|
93
|
-
bibliography,
|
|
94
|
-
howTo: howToData,
|
|
95
|
-
schemas: [faqSchema, howToSchema, appSchema],
|
|
96
|
-
seo: [
|
|
97
|
-
{
|
|
98
|
-
type: 'title',
|
|
99
|
-
text: 'Kesim Optimizasyonu Kesin Kılavuzu',
|
|
100
|
-
level: 2,
|
|
101
|
-
},
|
|
102
|
-
{
|
|
103
|
-
type: 'paragraph',
|
|
104
|
-
html: 'Teknik olarak <strong>Stok Kesme Problemi (Cutting Stock Problem)</strong> olarak bilinen kesim optimizasyonu, endüstri mühendisliğindeki en büyüleyici lojistik zorluklardan biridir. 20 parçalı ve 5 stok çubuklu bir proje için milyonlarca olası kombinasyon vardır. Bir bilgisayar algoritması milisaniyeler içinde en uygun çözümü bulabilir ve olağan %15 atığı %5\'in altına indirebilir.',
|
|
105
|
-
},
|
|
106
|
-
{
|
|
107
|
-
type: 'title',
|
|
108
|
-
text: 'Lineer 1D Kesim ve 2D Panel Kesimi',
|
|
109
|
-
level: 3,
|
|
110
|
-
},
|
|
111
|
-
{
|
|
112
|
-
type: 'card',
|
|
113
|
-
icon: 'mdi:arrow-expand-horizontal',
|
|
114
|
-
title: 'Çıtalar ve Profiller İçin Lineer Kesim',
|
|
115
|
-
html: '<p><strong>Lineer kesimde (1D)</strong>, optimizasyon sadece tek bir boyutta gerçekleşir: uzunluk. Malzemenin genişliğinin sabit olduğu varsayılır. Boyutsal kereste (çıtalar, kirişler), metal ve alüminyum profiller, PVC veya bakır borular ve saplamalar için idealdir.</p>',
|
|
116
|
-
},
|
|
117
|
-
{
|
|
118
|
-
type: 'card',
|
|
119
|
-
icon: 'mdi:view-grid',
|
|
120
|
-
title: 'Paneller ve Levhalar İçin Panel Kesimi',
|
|
121
|
-
html: '<p><strong>Panel kesiminde (2D)</strong>, genişlik ve uzunluk olmak üzere iki boyut yönetilir. Araç, her kesimin kenardan kenara gittiği giyotin tipi algoritmalar kullanır. Türev paneller (MDF, sunta), kontrplak, cam, pleksi ve metal levhalar için idealdir.</p>',
|
|
122
|
-
},
|
|
123
|
-
{
|
|
124
|
-
type: 'title',
|
|
125
|
-
text: 'Kritik Faktör: Kesim Kalınlığı (Kerf)',
|
|
126
|
-
level: 3,
|
|
127
|
-
},
|
|
128
|
-
{
|
|
129
|
-
type: 'paragraph',
|
|
130
|
-
html: '<strong>Kerf</strong>, her kesimde yok olan malzemedir. Standart bir tezgah testere bıçağı, kesim başına 3,0 mm ile 3,2 mm arasında tüketir. El tipi daire testere 1,5 ile 2,5 mm tüketir. Pleksi üzerindeki lazer kesim sadece 0,1 ile 0,3 mm\'dir. 2400 mm\'lik çıtalarda 10 kesimlik bir projede kerf\'i görmezden gelmek, 30 mm ile 32 mm arasında yararlı malzeme kaybetmenize neden olabilir.',
|
|
131
|
-
},
|
|
132
|
-
{
|
|
133
|
-
type: 'title',
|
|
134
|
-
text: 'Best Fit Decreasing Algoritması',
|
|
135
|
-
level: 3,
|
|
136
|
-
},
|
|
137
|
-
{
|
|
138
|
-
type: 'card',
|
|
139
|
-
icon: 'mdi:chip',
|
|
140
|
-
title: 'Optimizasyon Aracının İç Kapasitesi',
|
|
141
|
-
html: '<p>Optimizasyon aracının çekirdeği <strong>Best Fit Decreasing (BFD)</strong> stratejisini kullanır: önce tüm parçaları en büyükten en küçük uzunluğa göre sıralar (büyük parçaların sığdırılması daha zordur). Ardından, her parça için, en az artığı bırakacak şekilde sığabileceği mevcut artığı arar. Sadece hiçbirine sığmazsa yeni bir ham çubuk açar. Bu süreç, rastgele seçime kıyasla atığı bir büyüklük mertebesinde azaltır.</p>',
|
|
142
|
-
},
|
|
143
|
-
],
|
|
144
|
-
ui: {
|
|
145
|
-
modeLinearLabel: 'Lineer (Çubuklar)',
|
|
146
|
-
modePanelLabel: 'Panel (Levhalar)',
|
|
147
|
-
configTitle: 'Malzeme Yapılandırması',
|
|
148
|
-
labelStockLength: 'Malzeme Uzunluğu (mm)',
|
|
149
|
-
labelStockWidth: 'Malzeme Genişliği (mm)',
|
|
150
|
-
labelKerf: 'Bıçak Kalınlığı / Kerf (mm)',
|
|
151
|
-
cutsTitle: 'Kesim Listesi',
|
|
152
|
-
placeholderLength: 'Boy',
|
|
153
|
-
placeholderWidth: 'En',
|
|
154
|
-
placeholderQty: 'Adet',
|
|
155
|
-
btnRemoveTitle: 'Sil',
|
|
156
|
-
statStockUsed: 'Kullanılan Malzeme',
|
|
157
|
-
statTotalCuts: 'Toplam Kesim',
|
|
158
|
-
statWaste: 'Toplam Atık',
|
|
159
|
-
statEfficiency: 'Verimlilik',
|
|
160
|
-
vizTitle: 'Kesim Görselleştirme',
|
|
161
|
-
emptyState: 'Kesimleri ekleyin ve kesim planını görmek için hesapla düğmesine basın.',
|
|
162
|
-
noValidCuts: 'Geçerli kesimler oluşturulamadı. Ölçüleri kontrol edin.',
|
|
163
|
-
noValidPanels: 'Geçerli paneller oluşturulamadı. Parçaların levhaya sığdığından emin olun.',
|
|
164
|
-
stockLabel: 'Malzeme',
|
|
165
|
-
panelLabel: 'Panel',
|
|
166
|
-
wasteLabel: 'Atık:',
|
|
167
|
-
effLabel: 'Ver:',
|
|
168
|
-
},
|
|
169
|
-
};
|
|
1
|
+
import type { WithContext, FAQPage, HowToThing, SoftwareApplication } from 'schema-dts';
|
|
2
|
+
import type { ToolLocaleContent } from '../../../types';
|
|
3
|
+
import type { CutOptimizerUI } from '../ui';
|
|
4
|
+
import { bibliography } from '../bibliography';
|
|
5
|
+
|
|
6
|
+
const slug = 'kesim-optimizasyonu';
|
|
7
|
+
const title = 'Çıta ve Panel Kesim Optimizasyonu';
|
|
8
|
+
const description =
|
|
9
|
+
'Ahşap, metal veya boru kesimlerini optimize etmek için ücretsiz hesaplayıcı. 1D ve 2D Bin Packing algoritmalarıyla atığı en aza indirin. Marangozluk, metalurji ve tadilatlar için idealdir.';
|
|
10
|
+
|
|
11
|
+
const faqData = [
|
|
12
|
+
{
|
|
13
|
+
question: '1D kesim optimizasyonu nedir?',
|
|
14
|
+
answer:
|
|
15
|
+
'Standart uzun bir parçadan (çıta, profil, boru) mümkün olan en az atıkla daha küçük parçaların nasıl kesileceğini belirlemek için matematiksel algoritmalar (Bin Packing Problem gibi) kullanan bir araçtır.',
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
question: 'Kesim kalınlığını (Kerf) neden dahil etmeliyiz?',
|
|
19
|
+
answer:
|
|
20
|
+
'Testere malzemeyi her kestiğinde, (testere bıçağına bağlı olarak normalde 2 mm ile 4 mm arasında) birkaç milimetre yok olur. Bu boşluğu hesaplamazsanız, listenizdeki son parçalar planlanandan daha kısa olacaktır.',
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
question: 'Farklı uzunluktaki parçaları karıştırabilir miyim?',
|
|
24
|
+
answer:
|
|
25
|
+
'Evet, hesaplayıcımız her türlü uzunluk ve miktar kombinasyonunu kabul eder. Algoritma tüm olası kombinasyonları değerlendirecek ve stok malzemesinin maksimum kullanımına öncelik verecektir.',
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
question: 'Kesim planımı nasıl kaydederim?',
|
|
29
|
+
answer:
|
|
30
|
+
'Optimize edildikten sonra, sayfayı yazdırabilir veya görsel şemanın ekran görüntüsünü alabilirsiniz. Bu, atölyede kesim sırasını karıştırmamanız için fiziksel bir rehber görevi görecektir.',
|
|
31
|
+
},
|
|
32
|
+
];
|
|
33
|
+
|
|
34
|
+
const howToData = [
|
|
35
|
+
{
|
|
36
|
+
name: 'Temel Malzemeyi Tanımlayın (Stok)',
|
|
37
|
+
text: 'Mevcut çıta veya profilin toplam uzunluğunu girin (örneğin 2400 mm veya 6000 mm).',
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
name: 'Bıçak Kalınlığını Ayarlayın (Kerf)',
|
|
41
|
+
text: 'Hesaplamanın milimetrik olması için testerenin her adımda yok ettiği milimetre miktarını ayarlayın.',
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
name: 'İstenen Parçaları Listeleyin',
|
|
45
|
+
text: 'Projeniz için ihtiyacınız olan her bir parçanın uzunluğunu ve miktarını yazın.',
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
name: 'Optimizasyonu Çalıştırın',
|
|
49
|
+
text: 'En verimli kesim şemasını ve oluşan atığın tam yüzdesini elde edin.',
|
|
50
|
+
},
|
|
51
|
+
];
|
|
52
|
+
|
|
53
|
+
const faqSchema: WithContext<FAQPage> = {
|
|
54
|
+
'@context': 'https://schema.org',
|
|
55
|
+
'@type': 'FAQPage',
|
|
56
|
+
mainEntity: faqData.map((item) => ({
|
|
57
|
+
'@type': 'Question',
|
|
58
|
+
name: item.question,
|
|
59
|
+
acceptedAnswer: { '@type': 'Answer', text: item.answer },
|
|
60
|
+
})),
|
|
61
|
+
};
|
|
62
|
+
|
|
63
|
+
const howToSchema: WithContext<HowToThing> = {
|
|
64
|
+
'@context': 'https://schema.org',
|
|
65
|
+
'@type': 'HowTo',
|
|
66
|
+
name: title,
|
|
67
|
+
description,
|
|
68
|
+
step: howToData.map((step, i) => ({
|
|
69
|
+
'@type': 'HowToStep',
|
|
70
|
+
position: i + 1,
|
|
71
|
+
name: step.name,
|
|
72
|
+
text: step.text,
|
|
73
|
+
})),
|
|
74
|
+
};
|
|
75
|
+
|
|
76
|
+
const appSchema: WithContext<SoftwareApplication> = {
|
|
77
|
+
'@context': 'https://schema.org',
|
|
78
|
+
'@type': 'SoftwareApplication',
|
|
79
|
+
name: title,
|
|
80
|
+
description,
|
|
81
|
+
applicationCategory: 'UtilityApplication',
|
|
82
|
+
operatingSystem: 'All',
|
|
83
|
+
offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
|
|
84
|
+
inLanguage: 'tr',
|
|
85
|
+
};
|
|
86
|
+
|
|
87
|
+
export const content: ToolLocaleContent<CutOptimizerUI> = {
|
|
88
|
+
slug,
|
|
89
|
+
title,
|
|
90
|
+
description,
|
|
91
|
+
faqTitle: 'Sıkça Sorulan Sorular',
|
|
92
|
+
faq: faqData,
|
|
93
|
+
bibliography,
|
|
94
|
+
howTo: howToData,
|
|
95
|
+
schemas: [faqSchema, howToSchema, appSchema],
|
|
96
|
+
seo: [
|
|
97
|
+
{
|
|
98
|
+
type: 'title',
|
|
99
|
+
text: 'Kesim Optimizasyonu Kesin Kılavuzu',
|
|
100
|
+
level: 2,
|
|
101
|
+
},
|
|
102
|
+
{
|
|
103
|
+
type: 'paragraph',
|
|
104
|
+
html: 'Teknik olarak <strong>Stok Kesme Problemi (Cutting Stock Problem)</strong> olarak bilinen kesim optimizasyonu, endüstri mühendisliğindeki en büyüleyici lojistik zorluklardan biridir. 20 parçalı ve 5 stok çubuklu bir proje için milyonlarca olası kombinasyon vardır. Bir bilgisayar algoritması milisaniyeler içinde en uygun çözümü bulabilir ve olağan %15 atığı %5\'in altına indirebilir.',
|
|
105
|
+
},
|
|
106
|
+
{
|
|
107
|
+
type: 'title',
|
|
108
|
+
text: 'Lineer 1D Kesim ve 2D Panel Kesimi',
|
|
109
|
+
level: 3,
|
|
110
|
+
},
|
|
111
|
+
{
|
|
112
|
+
type: 'card',
|
|
113
|
+
icon: 'mdi:arrow-expand-horizontal',
|
|
114
|
+
title: 'Çıtalar ve Profiller İçin Lineer Kesim',
|
|
115
|
+
html: '<p><strong>Lineer kesimde (1D)</strong>, optimizasyon sadece tek bir boyutta gerçekleşir: uzunluk. Malzemenin genişliğinin sabit olduğu varsayılır. Boyutsal kereste (çıtalar, kirişler), metal ve alüminyum profiller, PVC veya bakır borular ve saplamalar için idealdir.</p>',
|
|
116
|
+
},
|
|
117
|
+
{
|
|
118
|
+
type: 'card',
|
|
119
|
+
icon: 'mdi:view-grid',
|
|
120
|
+
title: 'Paneller ve Levhalar İçin Panel Kesimi',
|
|
121
|
+
html: '<p><strong>Panel kesiminde (2D)</strong>, genişlik ve uzunluk olmak üzere iki boyut yönetilir. Araç, her kesimin kenardan kenara gittiği giyotin tipi algoritmalar kullanır. Türev paneller (MDF, sunta), kontrplak, cam, pleksi ve metal levhalar için idealdir.</p>',
|
|
122
|
+
},
|
|
123
|
+
{
|
|
124
|
+
type: 'title',
|
|
125
|
+
text: 'Kritik Faktör: Kesim Kalınlığı (Kerf)',
|
|
126
|
+
level: 3,
|
|
127
|
+
},
|
|
128
|
+
{
|
|
129
|
+
type: 'paragraph',
|
|
130
|
+
html: '<strong>Kerf</strong>, her kesimde yok olan malzemedir. Standart bir tezgah testere bıçağı, kesim başına 3,0 mm ile 3,2 mm arasında tüketir. El tipi daire testere 1,5 ile 2,5 mm tüketir. Pleksi üzerindeki lazer kesim sadece 0,1 ile 0,3 mm\'dir. 2400 mm\'lik çıtalarda 10 kesimlik bir projede kerf\'i görmezden gelmek, 30 mm ile 32 mm arasında yararlı malzeme kaybetmenize neden olabilir.',
|
|
131
|
+
},
|
|
132
|
+
{
|
|
133
|
+
type: 'title',
|
|
134
|
+
text: 'Best Fit Decreasing Algoritması',
|
|
135
|
+
level: 3,
|
|
136
|
+
},
|
|
137
|
+
{
|
|
138
|
+
type: 'card',
|
|
139
|
+
icon: 'mdi:chip',
|
|
140
|
+
title: 'Optimizasyon Aracının İç Kapasitesi',
|
|
141
|
+
html: '<p>Optimizasyon aracının çekirdeği <strong>Best Fit Decreasing (BFD)</strong> stratejisini kullanır: önce tüm parçaları en büyükten en küçük uzunluğa göre sıralar (büyük parçaların sığdırılması daha zordur). Ardından, her parça için, en az artığı bırakacak şekilde sığabileceği mevcut artığı arar. Sadece hiçbirine sığmazsa yeni bir ham çubuk açar. Bu süreç, rastgele seçime kıyasla atığı bir büyüklük mertebesinde azaltır.</p>',
|
|
142
|
+
},
|
|
143
|
+
],
|
|
144
|
+
ui: {
|
|
145
|
+
modeLinearLabel: 'Lineer (Çubuklar)',
|
|
146
|
+
modePanelLabel: 'Panel (Levhalar)',
|
|
147
|
+
configTitle: 'Malzeme Yapılandırması',
|
|
148
|
+
labelStockLength: 'Malzeme Uzunluğu (mm)',
|
|
149
|
+
labelStockWidth: 'Malzeme Genişliği (mm)',
|
|
150
|
+
labelKerf: 'Bıçak Kalınlığı / Kerf (mm)',
|
|
151
|
+
cutsTitle: 'Kesim Listesi',
|
|
152
|
+
placeholderLength: 'Boy',
|
|
153
|
+
placeholderWidth: 'En',
|
|
154
|
+
placeholderQty: 'Adet',
|
|
155
|
+
btnRemoveTitle: 'Sil',
|
|
156
|
+
statStockUsed: 'Kullanılan Malzeme',
|
|
157
|
+
statTotalCuts: 'Toplam Kesim',
|
|
158
|
+
statWaste: 'Toplam Atık',
|
|
159
|
+
statEfficiency: 'Verimlilik',
|
|
160
|
+
vizTitle: 'Kesim Görselleştirme',
|
|
161
|
+
emptyState: 'Kesimleri ekleyin ve kesim planını görmek için hesapla düğmesine basın.',
|
|
162
|
+
noValidCuts: 'Geçerli kesimler oluşturulamadı. Ölçüleri kontrol edin.',
|
|
163
|
+
noValidPanels: 'Geçerli paneller oluşturulamadı. Parçaların levhaya sığdığından emin olun.',
|
|
164
|
+
stockLabel: 'Malzeme',
|
|
165
|
+
panelLabel: 'Panel',
|
|
166
|
+
wasteLabel: 'Atık:',
|
|
167
|
+
effLabel: 'Ver:',
|
|
168
|
+
},
|
|
169
|
+
};
|