@jjlmoya/utils-books 1.1.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/.github/workflows/npm-publish.yml +40 -0
- package/.gitignore +6 -0
- package/.stylelintrc.json +98 -0
- package/astro.config.mjs +19 -0
- package/eslint.config.js +201 -0
- package/package.json +79 -0
- package/prompts/create_tool.md +98 -0
- package/prompts/i18n/de.md +16 -0
- package/prompts/i18n/en.md +16 -0
- package/prompts/i18n/es.md +16 -0
- package/prompts/i18n/fr.md +16 -0
- package/prompts/i18n/id.md +16 -0
- package/prompts/i18n/it.md +16 -0
- package/prompts/i18n/ja.md +16 -0
- package/prompts/i18n/ko.md +16 -0
- package/prompts/i18n/nl.md +16 -0
- package/prompts/i18n/pl.md +16 -0
- package/prompts/i18n/pt.md +16 -0
- package/prompts/i18n/ru.md +16 -0
- package/prompts/i18n/sv.md +16 -0
- package/prompts/i18n/tr.md +16 -0
- package/prompts/i18n/zh.md +16 -0
- package/prompts/seo.md +58 -0
- package/prompts/translations/french.md +33 -0
- package/scripts/postinstall.mjs +27 -0
- package/src/category/BooksCategorySEO.astro +9 -0
- package/src/category/i18n/de.ts +21 -0
- package/src/category/i18n/en.ts +21 -0
- package/src/category/i18n/es.ts +21 -0
- package/src/category/i18n/fr.ts +21 -0
- package/src/category/i18n/id.ts +21 -0
- package/src/category/i18n/it.ts +21 -0
- package/src/category/i18n/ja.ts +21 -0
- package/src/category/i18n/ko.ts +21 -0
- package/src/category/i18n/nl.ts +21 -0
- package/src/category/i18n/pl.ts +21 -0
- package/src/category/i18n/pt.ts +21 -0
- package/src/category/i18n/ru.ts +21 -0
- package/src/category/i18n/sv.ts +21 -0
- package/src/category/i18n/tr.ts +21 -0
- package/src/category/i18n/zh.ts +21 -0
- package/src/category/index.ts +24 -0
- package/src/components/PreviewNavSidebar.astro +116 -0
- package/src/components/PreviewToolbar.astro +143 -0
- package/src/data.ts +10 -0
- package/src/entries.ts +6 -0
- package/src/env.d.ts +5 -0
- package/src/index.ts +20 -0
- package/src/layouts/PreviewLayout.astro +118 -0
- package/src/pages/[locale]/[slug].astro +164 -0
- package/src/pages/[locale].astro +251 -0
- package/src/pages/index.astro +4 -0
- package/src/tests/bibliography_wellformed_export.test.ts +46 -0
- package/src/tests/diacritics_density.test.ts +118 -0
- package/src/tests/faq_count.test.ts +18 -0
- package/src/tests/i18n_coverage.test.ts +34 -0
- package/src/tests/inverted_punctuation.test.ts +84 -0
- package/src/tests/locale_completeness.test.ts +23 -0
- package/src/tests/mocks/astro_mock.js +2 -0
- package/src/tests/no_em_dash.test.ts +47 -0
- package/src/tests/no_en_dash.test.ts +70 -0
- package/src/tests/no_h1_in_components.test.ts +48 -0
- package/src/tests/pagespeed_best_practices.test.ts +198 -0
- package/src/tests/qa-test-helpers.ts +32 -0
- package/src/tests/qa_bibliography_links.test.ts +54 -0
- package/src/tests/qa_claim_evidence.test.ts +69 -0
- package/src/tests/qa_logic_reference_coverage.test.ts +46 -0
- package/src/tests/qa_runtime_i18n.test.ts +100 -0
- package/src/tests/schemas_fulfillment.test.ts +23 -0
- package/src/tests/script_density.test.ts +94 -0
- package/src/tests/seo_length.test.ts +23 -0
- package/src/tests/seo_parity.test.ts +60 -0
- package/src/tests/seo_translation_completeness.test.ts +69 -0
- package/src/tests/seo_wellformed_export.test.ts +65 -0
- package/src/tests/shared-test-helpers.ts +56 -0
- package/src/tests/slug_language_code_format.test.ts +23 -0
- package/src/tests/slug_uniqueness.test.ts +81 -0
- package/src/tests/spanish_leakage.test.ts +175 -0
- package/src/tests/title_quality.test.ts +55 -0
- package/src/tests/tool_exports.test.ts +34 -0
- package/src/tests/tool_validation.test.ts +16 -0
- package/src/tests/translation_copy.test.ts +127 -0
- package/src/tool/book-pagination-and-spine-calculator/bibliography.astro +16 -0
- package/src/tool/book-pagination-and-spine-calculator/bibliography.ts +7 -0
- package/src/tool/book-pagination-and-spine-calculator/book-pagination-and-spine-calculator.css +298 -0
- package/src/tool/book-pagination-and-spine-calculator/component.astro +40 -0
- package/src/tool/book-pagination-and-spine-calculator/controller.ts +87 -0
- package/src/tool/book-pagination-and-spine-calculator/dom-views.ts +21 -0
- package/src/tool/book-pagination-and-spine-calculator/entry.ts +27 -0
- package/src/tool/book-pagination-and-spine-calculator/evaluator.ts +12 -0
- package/src/tool/book-pagination-and-spine-calculator/i18n/de.ts +78 -0
- package/src/tool/book-pagination-and-spine-calculator/i18n/en.ts +78 -0
- package/src/tool/book-pagination-and-spine-calculator/i18n/es.ts +78 -0
- package/src/tool/book-pagination-and-spine-calculator/i18n/fr.ts +78 -0
- package/src/tool/book-pagination-and-spine-calculator/i18n/id.ts +78 -0
- package/src/tool/book-pagination-and-spine-calculator/i18n/it.ts +78 -0
- package/src/tool/book-pagination-and-spine-calculator/i18n/ja.ts +78 -0
- package/src/tool/book-pagination-and-spine-calculator/i18n/ko.ts +78 -0
- package/src/tool/book-pagination-and-spine-calculator/i18n/nl.ts +78 -0
- package/src/tool/book-pagination-and-spine-calculator/i18n/pl.ts +78 -0
- package/src/tool/book-pagination-and-spine-calculator/i18n/pt.ts +78 -0
- package/src/tool/book-pagination-and-spine-calculator/i18n/ru.ts +78 -0
- package/src/tool/book-pagination-and-spine-calculator/i18n/sv.ts +78 -0
- package/src/tool/book-pagination-and-spine-calculator/i18n/tr.ts +78 -0
- package/src/tool/book-pagination-and-spine-calculator/i18n/zh.ts +78 -0
- package/src/tool/book-pagination-and-spine-calculator/index.ts +11 -0
- package/src/tool/book-pagination-and-spine-calculator/logic.test.ts +21 -0
- package/src/tool/book-pagination-and-spine-calculator/logic.ts +52 -0
- package/src/tool/book-pagination-and-spine-calculator/seo.astro +16 -0
- package/src/tool/book-pagination-and-spine-calculator/storage.ts +22 -0
- package/src/tool/book-pagination-and-spine-calculator/ui.ts +35 -0
- package/src/tools.ts +5 -0
- package/src/types.ts +69 -0
- package/tsconfig.json +15 -0
- package/vitest.config.ts +20 -0
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { BookCalculation } from './logic';
|
|
2
|
+
import type { BookPaginationUI } from './ui';
|
|
3
|
+
|
|
4
|
+
export function renderResults(container: HTMLElement, result: BookCalculation, unit: 'metric' | 'imperial', ui: BookPaginationUI): void {
|
|
5
|
+
const unitLabel = unit === 'metric' ? 'mm' : 'in';
|
|
6
|
+
container.innerHTML = `<div class="book-result-card result-pages"><span>${ui.pagesLabel}</span><strong>${formatNumber(result.pages)}</strong><small>${ui.wordsPerPageLabel}: ${formatNumber(result.wordsPerPage)}</small></div><div class="book-result-card"><span>${ui.spineLabel}</span><strong>${formatLength(result.spineMm, unit)}</strong><small>${unitLabel}</small></div><div class="book-result-card"><span>${ui.coverLabel}</span><strong>${formatLength(result.coverWidthMm, unit)} × ${formatLength(result.coverHeightMm, unit)}</strong><small>${unitLabel}</small></div><div class="book-result-card"><span>${ui.linesLabel}</span><strong>${formatNumber(result.linesPerPage)}</strong><small>${formatNumber(result.charactersPerLine)} chars/line</small></div>`;
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
export function renderPreview(container: HTMLElement, result: BookCalculation, ui: BookPaginationUI): void {
|
|
10
|
+
const spineScale = Math.min(Math.max(result.spineMm * 5, 14), 70);
|
|
11
|
+
container.innerHTML = `<div class="book-shadow"></div><div class="book-mockup" style="--book-spine:${spineScale}px"><div class="book-cover front"><span>${ui.previewLabel}</span><strong>${formatNumber(result.pages)}<br>pages</strong></div><div class="book-spine"></div><div class="book-cover back"></div></div><p>${ui.previewHint}</p>`;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
function formatNumber(value: number): string {
|
|
15
|
+
return new Intl.NumberFormat('en-US', { maximumFractionDigits: 0 }).format(value);
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
function formatLength(valueMm: number, unit: 'metric' | 'imperial'): string {
|
|
19
|
+
const value = unit === 'metric' ? valueMm : valueMm / 25.4;
|
|
20
|
+
return new Intl.NumberFormat('en-US', { maximumFractionDigits: 2 }).format(value);
|
|
21
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import type { BooksToolEntry, ToolLocaleContent } from '../../types';
|
|
2
|
+
import type { BookPaginationUI } from './ui';
|
|
3
|
+
|
|
4
|
+
export type { BookPaginationUI } from './ui';
|
|
5
|
+
export type BookPaginationLocaleContent = ToolLocaleContent<BookPaginationUI>;
|
|
6
|
+
|
|
7
|
+
export const bookPaginationAndSpineCalculator: BooksToolEntry<BookPaginationUI> = {
|
|
8
|
+
id: 'book-pagination-and-spine-calculator',
|
|
9
|
+
icons: { bg: 'mdi:book-open-page-variant-outline', fg: 'mdi:book-open-variant' },
|
|
10
|
+
i18n: {
|
|
11
|
+
de: () => import('./i18n/de').then((module) => module.content),
|
|
12
|
+
en: () => import('./i18n/en').then((module) => module.content),
|
|
13
|
+
es: () => import('./i18n/es').then((module) => module.content),
|
|
14
|
+
fr: () => import('./i18n/fr').then((module) => module.content),
|
|
15
|
+
id: () => import('./i18n/id').then((module) => module.content),
|
|
16
|
+
it: () => import('./i18n/it').then((module) => module.content),
|
|
17
|
+
ja: () => import('./i18n/ja').then((module) => module.content),
|
|
18
|
+
ko: () => import('./i18n/ko').then((module) => module.content),
|
|
19
|
+
nl: () => import('./i18n/nl').then((module) => module.content),
|
|
20
|
+
pl: () => import('./i18n/pl').then((module) => module.content),
|
|
21
|
+
pt: () => import('./i18n/pt').then((module) => module.content),
|
|
22
|
+
ru: () => import('./i18n/ru').then((module) => module.content),
|
|
23
|
+
sv: () => import('./i18n/sv').then((module) => module.content),
|
|
24
|
+
tr: () => import('./i18n/tr').then((module) => module.content),
|
|
25
|
+
zh: () => import('./i18n/zh').then((module) => module.content),
|
|
26
|
+
},
|
|
27
|
+
};
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { BookCalculation } from './logic';
|
|
2
|
+
|
|
3
|
+
export interface BookDiagnostic {
|
|
4
|
+
label: string;
|
|
5
|
+
tone: 'compact' | 'standard' | 'long';
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
export function evaluateBook(result: BookCalculation): BookDiagnostic {
|
|
9
|
+
if (result.pages < 64) return { label: 'compact', tone: 'compact' };
|
|
10
|
+
if (result.pages > 500) return { label: 'long', tone: 'long' };
|
|
11
|
+
return { label: 'standard', tone: 'standard' };
|
|
12
|
+
}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import type { ToolLocaleContent } from '../../../types';
|
|
2
|
+
import type { BookPaginationUI } from '../ui';
|
|
3
|
+
|
|
4
|
+
const ui: BookPaginationUI = {
|
|
5
|
+
title: 'Rechner für Buchseiten und Rückenbreite',
|
|
6
|
+
scenarioLabel: 'Szenarioname',
|
|
7
|
+
scenarioPlaceholder: 'Mein Buch',
|
|
8
|
+
wordsLabel: 'Wörter im Manuskript',
|
|
9
|
+
widthLabel: 'Satzbreite',
|
|
10
|
+
heightLabel: 'Satzhöhe',
|
|
11
|
+
marginLabel: 'Bundsteg',
|
|
12
|
+
fontSizeLabel: 'Schriftgröße (pt)',
|
|
13
|
+
lineHeightLabel: 'Zeilenhöhe (×)',
|
|
14
|
+
paperLabel: 'Bucheinstellungen',
|
|
15
|
+
caliperLabel: 'Papierdicke',
|
|
16
|
+
bindingLabel: 'Bindung',
|
|
17
|
+
softcoverLabel: 'Taschenbuch',
|
|
18
|
+
hardcoverLabel: 'Hardcover',
|
|
19
|
+
saddleLabel: 'Rückstich',
|
|
20
|
+
presetLabel: 'Mit einem Format beginnen',
|
|
21
|
+
novelPreset: 'Roman',
|
|
22
|
+
largePrintPreset: 'Großdruck',
|
|
23
|
+
workbookPreset: 'Arbeitsbuch',
|
|
24
|
+
metricLabel: 'Metrisch mm',
|
|
25
|
+
imperialLabel: 'Imperial Zoll',
|
|
26
|
+
resetLabel: 'Auf Roman zurücksetzen',
|
|
27
|
+
pagesLabel: 'Geschätzte Seiten',
|
|
28
|
+
spineLabel: 'Rückenbreite',
|
|
29
|
+
coverLabel: 'Umschlagbreite',
|
|
30
|
+
wordsPerPageLabel: 'Wörter pro Seite',
|
|
31
|
+
linesLabel: 'Zeilen pro Seite',
|
|
32
|
+
previewLabel: 'Buchvorschau',
|
|
33
|
+
previewHint: 'Der Rücken wächst mit dem Papierstapel. Nutze das Ergebnis als Produktionsschätzung.',
|
|
34
|
+
methodTitle: 'Das Buch vor dem Druck gestalten',
|
|
35
|
+
methodHint: 'Wähle ein Format und passe Schrift und Papier an, um zu sehen, wie Seitenzahl und Umschlagbreite gemeinsam reagieren.',
|
|
36
|
+
sourceLabel: 'Die Schätzung basiert auf deinen Eingaben. Bestätige den endgültigen Rücken mit Druckerei, Papier und Bindeverfahren.',
|
|
37
|
+
};
|
|
38
|
+
|
|
39
|
+
const seo: ToolLocaleContent<BookPaginationUI>['seo'] = [
|
|
40
|
+
{ type: 'title', text: 'Buchseiten und Rückenbreite aus dem Manuskript berechnen', level: 2 },
|
|
41
|
+
{ type: 'paragraph', html: 'Verwandle eine Wortzahl und ein Seitendesign in eine praktische erste Schätzung für ein gedrucktes Buch. Dieser Rechner berücksichtigt nutzbare Textfläche, ungefähre Wörter pro Seite, Falzregeln der Bindung, Papierdicke, Rückenbreite und den vollständigen Umschlag in einer visuellen Arbeitsfläche.' },
|
|
42
|
+
{ type: 'title', text: 'Was der Rechner schätzt', level: 2 },
|
|
43
|
+
{ type: 'paragraph', html: 'Die Seitenschätzung nutzt Endformat, Ränder, Schriftgröße und Zeilenhöhe, um Zeichen pro Zeile und Zeilen pro Seite anzunähern. Das Ergebnis wird bei Taschenbuch und Hardcover auf gerade Seiten gerundet, bei Arbeitsbüchern mit Rückstich auf ein Vielfaches von vier. Der Rücken verbindet anschließend Papierstapel und einen kleinen Bindezuschlag.' },
|
|
44
|
+
{ type: 'list', items: ['Nutze das Romanformat als kompakten Ausgangspunkt für ein Taschenbuch.', 'Wähle Großdruck, wenn eine größere Schrift die Wörter pro Seite verändert.', 'Nutze Arbeitsbuch für breitere Seiten und Seitenzahlen als Vielfache von vier.', 'Wechsle zwischen Millimetern und Zoll, ohne das physische Buch zu verändern.'] },
|
|
45
|
+
{ type: 'title', text: 'Eine Produktionsschätzung und kein Druckproof', level: 2 },
|
|
46
|
+
{ type: 'paragraph', html: 'Papierhersteller veröffentlichen Dickenangaben unterschiedlich, Schriften haben verschiedene Laufweiten und Druckereien verwenden eigene Toleranzen für Ausschuss und Bindung. Betrachte das Ergebnis als schnelle Planungshilfe für Autoren, Lektoren und Designer. Prüfe die endgültige Umschlagvorlage anhand der Druckereivorgaben, bevor du Druckdaten bestellst oder exportierst.' },
|
|
47
|
+
{ type: 'tip', title: 'Typografische Einstellungen realistisch halten', html: 'Eine kleinere Schrift oder engere Zeilenhöhe kann ein Buch trotz eines schmaleren Rückens billiger und schwerer lesbar wirken lassen. Vergleiche die Formate visuell und entscheide dich nach dem Leseerlebnis.' },
|
|
48
|
+
];
|
|
49
|
+
|
|
50
|
+
export const content: ToolLocaleContent<BookPaginationUI> = {
|
|
51
|
+
slug: 'buchseiten-und-rueckenbreite-rechner',
|
|
52
|
+
title: 'Rechner für Buchseiten und Rückenbreite',
|
|
53
|
+
description: 'Schätze Seitenzahl, Rückenbreite und Umschlag aus Manuskript, Format, Typografie, Papier und Bindung.',
|
|
54
|
+
ui,
|
|
55
|
+
seo,
|
|
56
|
+
faq: [
|
|
57
|
+
{ question: 'Welche Angaben nutzt die Seitenschätzung?', answer: 'Sie nutzt Wörter im Manuskript, Endformat, Ränder, Schriftgröße und Zeilenhöhe, um Zeichen, Zeilen und Wörter pro Seite zu schätzen.' },
|
|
58
|
+
{ question: 'Warum werden Seiten gerundet?', answer: 'Taschenbuch und Hardcover werden auf gerade Seiten gerundet. Rückstichbroschüren werden wegen gefalteter Lagen auf ein Vielfaches von vier gerundet.' },
|
|
59
|
+
{ question: 'Wie wird die Rückenbreite geschätzt?', answer: 'Der Rechner multipliziert die Seitenzahl mit der Papierdicke pro Blatt, teilt den Stapel durch zwei und addiert einen kleinen Zuschlag für die gewählte Bindung.' },
|
|
60
|
+
{ question: 'Ist das Ergebnis druckfertig?', answer: 'Nein. Es ist eine Planungsschätzung. Bestätige Papierdicke, Umschlagmaße, Beschnitt und Bindetoleranzen mit deiner Druckerei.' },
|
|
61
|
+
],
|
|
62
|
+
bibliography: [
|
|
63
|
+
{ name: 'ISO 216:2007 Papierformate', url: 'https://www.iso.org/standard/36631.html' },
|
|
64
|
+
{ name: 'Instituto Nacional de Estadística. Producción editorial de libros', url: 'https://www.ine.es/dyngs/INEbase/es/operacion.htm?c=Estadistica_C&cid=1254736176767&idp=1254735573113&menu=ultiDatos' },
|
|
65
|
+
{ name: 'UNESCO Bericht zur globalen Verlagsbranche', url: 'https://doi.org/10.58337/SRUH6078' },
|
|
66
|
+
],
|
|
67
|
+
howTo: [
|
|
68
|
+
{ name: 'Format wählen', text: 'Starte mit dem Preset für Roman, Großdruck oder Arbeitsbuch.' },
|
|
69
|
+
{ name: 'Manuskript festlegen', text: 'Gib die Wortzahl ein und passe Format, Ränder, Schrift und Zeilenhöhe an.' },
|
|
70
|
+
{ name: 'Papier und Bindung wählen', text: 'Gib die Papierdicke ein und wähle Taschenbuch, Hardcover oder Rückstich.' },
|
|
71
|
+
{ name: 'Umschlag prüfen', text: 'Nutze Rückenbreite und Umschlagbreite als Ausgangspunkt für deine Designdatei.' },
|
|
72
|
+
],
|
|
73
|
+
schemas: [
|
|
74
|
+
{ '@context': 'https://schema.org', '@type': 'SoftwareApplication', name: 'Rechner für Buchseiten und Rückenbreite', applicationCategory: 'DesignApplication', operatingSystem: 'Any', offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' } },
|
|
75
|
+
{ '@context': 'https://schema.org', '@type': 'FAQPage', mainEntity: [{ '@type': 'Question', name: 'Welche Angaben nutzt die Seitenschätzung?', acceptedAnswer: { '@type': 'Answer', text: 'Sie nutzt Manuskriptwörter, Format, Ränder, Schriftgröße und Zeilenhöhe.' } }, { '@type': 'Question', name: 'Wie wird die Rückenbreite geschätzt?', acceptedAnswer: { '@type': 'Answer', text: 'Sie nutzt Seitenzahl, Papierdicke und einen Bindezuschlag.' } }] },
|
|
76
|
+
{ '@context': 'https://schema.org', '@type': 'HowTo', name: 'Buchseiten und Rückenbreite schätzen', step: [{ '@type': 'HowToStep', name: 'Format wählen', text: 'Wähle ein Preset.' }, { '@type': 'HowToStep', name: 'Manuskript festlegen', text: 'Gib Wörter und Typografie ein.' }, { '@type': 'HowToStep', name: 'Papier und Bindung wählen', text: 'Lege Papierdicke und Bindung fest.' }, { '@type': 'HowToStep', name: 'Umschlag prüfen', text: 'Nutze die Schätzung für Rücken und Umschlag.' }] },
|
|
77
|
+
],
|
|
78
|
+
};
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import type { ToolLocaleContent } from '../../../types';
|
|
2
|
+
import type { BookPaginationUI } from '../ui';
|
|
3
|
+
|
|
4
|
+
const ui: BookPaginationUI = {
|
|
5
|
+
title: 'Book Pagination and Spine Calculator',
|
|
6
|
+
scenarioLabel: 'Scenario name',
|
|
7
|
+
scenarioPlaceholder: 'My book',
|
|
8
|
+
wordsLabel: 'Manuscript words',
|
|
9
|
+
widthLabel: 'Trim width',
|
|
10
|
+
heightLabel: 'Trim height',
|
|
11
|
+
marginLabel: 'Inside margin',
|
|
12
|
+
fontSizeLabel: 'Font size (pt)',
|
|
13
|
+
lineHeightLabel: 'Line height (×)',
|
|
14
|
+
paperLabel: 'Book setup',
|
|
15
|
+
caliperLabel: 'Paper caliper',
|
|
16
|
+
bindingLabel: 'Binding',
|
|
17
|
+
softcoverLabel: 'Softcover',
|
|
18
|
+
hardcoverLabel: 'Hardcover',
|
|
19
|
+
saddleLabel: 'Saddle stitch',
|
|
20
|
+
presetLabel: 'Start with a format',
|
|
21
|
+
novelPreset: 'Novel',
|
|
22
|
+
largePrintPreset: 'Large print',
|
|
23
|
+
workbookPreset: 'Workbook',
|
|
24
|
+
metricLabel: 'Metric mm',
|
|
25
|
+
imperialLabel: 'Imperial in',
|
|
26
|
+
resetLabel: 'Reset to novel',
|
|
27
|
+
pagesLabel: 'Estimated pages',
|
|
28
|
+
spineLabel: 'Spine width',
|
|
29
|
+
coverLabel: 'Cover spread',
|
|
30
|
+
wordsPerPageLabel: 'Words per page',
|
|
31
|
+
linesLabel: 'Lines per page',
|
|
32
|
+
previewLabel: 'Book mockup',
|
|
33
|
+
previewHint: 'The spine grows with the paper stack. Use the result as a production estimate.',
|
|
34
|
+
methodTitle: 'Shape the book before print',
|
|
35
|
+
methodHint: 'Try a format preset, then tune the type and paper to see the page count and cover footprint move together.',
|
|
36
|
+
sourceLabel: 'Estimates use your inputs. Confirm the final spine with your printer, paper stock, and binding method.',
|
|
37
|
+
};
|
|
38
|
+
|
|
39
|
+
const seo: ToolLocaleContent<BookPaginationUI>['seo'] = [
|
|
40
|
+
{ type: 'title', text: 'Calculate Book Pages and Spine Width from Your Manuscript', level: 2 },
|
|
41
|
+
{ type: 'paragraph', html: 'Turn a word count and a page design into a practical first estimate for a printed book. This calculator models the usable text area, approximate words per page, binding fold rules, paper caliper, spine width, and full cover spread in one visual workspace.' },
|
|
42
|
+
{ type: 'title', text: 'What the Calculator Estimates', level: 2 },
|
|
43
|
+
{ type: 'paragraph', html: 'The page estimate uses trim dimensions, margins, font size, and line height to approximate characters per line and lines per page. The result is rounded to an even number for softcover and hardcover books, or to a multiple of four for saddle stitched workbooks. The spine then combines the paper stack with a small binding allowance.' },
|
|
44
|
+
{ type: 'list', items: ['Use a novel preset for a compact trade paperback starting point.', 'Use large print when a larger type size changes the number of words per page.', 'Use workbook for a wider page and a binding that needs page counts in multiples of four.', 'Switch between millimetres and inches without changing the physical book.'] },
|
|
45
|
+
{ type: 'title', text: 'A Production Estimate, Not a Printer Proof', level: 2 },
|
|
46
|
+
{ type: 'paragraph', html: 'Paper manufacturers publish caliper differently, fonts have different widths, and printers apply their own imposition and binding tolerances. Treat the result as a fast planning tool for authors, editors, and designers. Confirm the final cover template against the printer specification before ordering or exporting artwork.' },
|
|
47
|
+
{ type: 'tip', title: 'Keep the type settings honest', html: 'A smaller font or tighter line height can make a book look cheaper and harder to read even when it reduces the spine. Compare presets visually and keep the final decision grounded in the reading experience.' },
|
|
48
|
+
];
|
|
49
|
+
|
|
50
|
+
export const content: ToolLocaleContent<BookPaginationUI> = {
|
|
51
|
+
slug: 'book-pagination-and-spine-calculator',
|
|
52
|
+
title: 'Book Pagination and Spine Calculator',
|
|
53
|
+
description: 'Estimate printed pages, spine width, and cover spread from your manuscript, trim size, typography, paper, and binding.',
|
|
54
|
+
ui,
|
|
55
|
+
seo,
|
|
56
|
+
faq: [
|
|
57
|
+
{ question: 'What does the page estimate use?', answer: 'It uses manuscript words, trim size, margins, font size, and line height to estimate characters, lines, and words per page.' },
|
|
58
|
+
{ question: 'Why are pages rounded?', answer: 'Softcover and hardcover estimates are rounded to even pages. Saddle stitched books are rounded to multiples of four because of folded signatures.' },
|
|
59
|
+
{ question: 'How is spine width estimated?', answer: 'The calculator multiplies the page count by the paper caliper per sheet, divides the stack by two, and adds a small allowance for the selected binding.' },
|
|
60
|
+
{ question: 'Is the result ready for a printer?', answer: 'No. It is a planning estimate. Confirm paper caliper, cover measurements, bleed, and binding tolerances with your printer.' },
|
|
61
|
+
],
|
|
62
|
+
bibliography: [
|
|
63
|
+
{ name: 'ISO 216:2007 Paper sizes', url: 'https://www.iso.org/standard/36631.html' },
|
|
64
|
+
{ name: 'Instituto Nacional de Estadística. Producción editorial de libros', url: 'https://www.ine.es/dyngs/INEbase/es/operacion.htm?c=Estadistica_C&cid=1254736176767&idp=1254735573113&menu=ultiDatos' },
|
|
65
|
+
{ name: 'UNESCO Global Publishing Industry report', url: 'https://doi.org/10.58337/SRUH6078' },
|
|
66
|
+
],
|
|
67
|
+
howTo: [
|
|
68
|
+
{ name: 'Choose a format', text: 'Start with a novel, large print, or workbook preset.' },
|
|
69
|
+
{ name: 'Set the manuscript', text: 'Enter the word count and tune the trim size, margins, font, and line height.' },
|
|
70
|
+
{ name: 'Choose paper and binding', text: 'Enter the paper caliper and select softcover, hardcover, or saddle stitch.' },
|
|
71
|
+
{ name: 'Review the cover', text: 'Use the estimated spine and cover spread as a starting point for your design file.' },
|
|
72
|
+
],
|
|
73
|
+
schemas: [
|
|
74
|
+
{ '@context': 'https://schema.org', '@type': 'SoftwareApplication', name: 'Book Pagination and Spine Calculator', applicationCategory: 'DesignApplication', operatingSystem: 'Any', offers: { '@type': 'Offer', price: '0', priceCurrency: 'USD' } },
|
|
75
|
+
{ '@context': 'https://schema.org', '@type': 'FAQPage', mainEntity: [{ '@type': 'Question', name: 'What does the page estimate use?', acceptedAnswer: { '@type': 'Answer', text: 'It uses words, trim size, margins, font size, and line height.' } }, { '@type': 'Question', name: 'How is spine width estimated?', acceptedAnswer: { '@type': 'Answer', text: 'It uses page count, paper caliper, and a binding allowance.' } }] },
|
|
76
|
+
{ '@context': 'https://schema.org', '@type': 'HowTo', name: 'Estimate book pages and spine width', step: [{ '@type': 'HowToStep', name: 'Choose a format', text: 'Select a preset.' }, { '@type': 'HowToStep', name: 'Set the manuscript', text: 'Enter words and typography.' }, { '@type': 'HowToStep', name: 'Choose paper and binding', text: 'Set caliper and binding.' }, { '@type': 'HowToStep', name: 'Review the cover', text: 'Use the spine and cover estimate.' }] },
|
|
77
|
+
],
|
|
78
|
+
};
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import type { ToolLocaleContent } from '../../../types';
|
|
2
|
+
import type { BookPaginationUI } from '../ui';
|
|
3
|
+
|
|
4
|
+
const ui: BookPaginationUI = {
|
|
5
|
+
title: 'Calculadora de páginas y lomo de libro',
|
|
6
|
+
scenarioLabel: 'Nombre del escenario',
|
|
7
|
+
scenarioPlaceholder: 'Mi libro',
|
|
8
|
+
wordsLabel: 'Palabras del manuscrito',
|
|
9
|
+
widthLabel: 'Ancho de corte',
|
|
10
|
+
heightLabel: 'Alto de corte',
|
|
11
|
+
marginLabel: 'Margen interior',
|
|
12
|
+
fontSizeLabel: 'Tamaño de fuente (pt)',
|
|
13
|
+
lineHeightLabel: 'Interlineado (×)',
|
|
14
|
+
paperLabel: 'Configuración del libro',
|
|
15
|
+
caliperLabel: 'Grosor del papel',
|
|
16
|
+
bindingLabel: 'Encuadernación',
|
|
17
|
+
softcoverLabel: 'Tapa blanda',
|
|
18
|
+
hardcoverLabel: 'Tapa dura',
|
|
19
|
+
saddleLabel: 'Grapado a caballete',
|
|
20
|
+
presetLabel: 'Empieza con un formato',
|
|
21
|
+
novelPreset: 'Novela',
|
|
22
|
+
largePrintPreset: 'Letra grande',
|
|
23
|
+
workbookPreset: 'Cuaderno de trabajo',
|
|
24
|
+
metricLabel: 'Métrico mm',
|
|
25
|
+
imperialLabel: 'Imperial pulgadas',
|
|
26
|
+
resetLabel: 'Restablecer a novela',
|
|
27
|
+
pagesLabel: 'Páginas estimadas',
|
|
28
|
+
spineLabel: 'Ancho del lomo',
|
|
29
|
+
coverLabel: 'Extensión de cubierta',
|
|
30
|
+
wordsPerPageLabel: 'Palabras por página',
|
|
31
|
+
linesLabel: 'Líneas por página',
|
|
32
|
+
previewLabel: 'Maqueta del libro',
|
|
33
|
+
previewHint: 'El lomo crece con el bloque de papel. Usa el resultado como una estimación de producción.',
|
|
34
|
+
methodTitle: 'Da forma al libro antes de imprimirlo',
|
|
35
|
+
methodHint: 'Prueba un formato y ajusta la tipografía y el papel para ver cómo cambian juntos las páginas y la cubierta.',
|
|
36
|
+
sourceLabel: 'La estimación usa tus datos. Confirma el lomo definitivo con tu imprenta, el papel y el método de encuadernación.',
|
|
37
|
+
};
|
|
38
|
+
|
|
39
|
+
const seo: ToolLocaleContent<BookPaginationUI>['seo'] = [
|
|
40
|
+
{ type: 'title', text: 'Calcula las páginas y el ancho del lomo de tu manuscrito', level: 2 },
|
|
41
|
+
{ type: 'paragraph', html: 'Convierte el número de palabras y el diseño de página en una primera estimación práctica para un libro impreso. Esta calculadora modela el área de texto útil, las palabras aproximadas por página, las reglas de plegado de la encuadernación, el grosor del papel, el lomo y la extensión completa de la cubierta en un único espacio visual.' },
|
|
42
|
+
{ type: 'title', text: 'Qué estima la calculadora', level: 2 },
|
|
43
|
+
{ type: 'paragraph', html: 'La estimación de páginas usa las dimensiones de corte, los márgenes, el tamaño de fuente y el interlineado para aproximar los caracteres por línea y las líneas por página. El resultado se redondea a un número par para tapa blanda y tapa dura, o a un múltiplo de cuatro para cuadernos grapados. Después, el lomo combina el bloque de papel con un pequeño margen de encuadernación.' },
|
|
44
|
+
{ type: 'list', items: ['Usa el formato de novela como punto de partida para una edición de bolsillo compacta.', 'Usa letra grande cuando el tamaño mayor cambie las palabras por página.', 'Usa cuaderno de trabajo para una página más ancha y páginas múltiplos de cuatro.', 'Cambia entre milímetros y pulgadas sin cambiar el libro físico.'] },
|
|
45
|
+
{ type: 'title', text: 'Una estimación de producción y no una prueba de imprenta', level: 2 },
|
|
46
|
+
{ type: 'paragraph', html: 'Los fabricantes publican el grosor del papel de formas distintas, cada fuente ocupa un ancho diferente y las imprentas aplican sus propias tolerancias de imposición y encuadernación. Considera el resultado una ayuda rápida para autores, editores y diseñadores. Comprueba la plantilla final de cubierta con las especificaciones de la imprenta antes de pedir una tirada o exportar el arte final.' },
|
|
47
|
+
{ type: 'tip', title: 'Mantén una tipografía legible', html: 'Una fuente más pequeña o un interlineado más estrecho puede hacer que el libro parezca más barato y resulte más difícil de leer aunque reduzca el lomo. Compara los formatos visualmente y decide pensando en la experiencia de lectura.' },
|
|
48
|
+
];
|
|
49
|
+
|
|
50
|
+
export const content: ToolLocaleContent<BookPaginationUI> = {
|
|
51
|
+
slug: 'calculadora-de-paginas-y-lomo-de-libro',
|
|
52
|
+
title: 'Calculadora de páginas y lomo de libro',
|
|
53
|
+
description: 'Estima páginas impresas, ancho del lomo y extensión de cubierta a partir de manuscrito, formato, tipografía, papel y encuadernación.',
|
|
54
|
+
ui,
|
|
55
|
+
seo,
|
|
56
|
+
faq: [
|
|
57
|
+
{ question: '¿Qué datos usa la estimación de páginas?', answer: 'Usa las palabras del manuscrito, el formato, los márgenes, el tamaño de fuente y el interlineado para estimar caracteres, líneas y palabras por página.' },
|
|
58
|
+
{ question: '¿Por qué se redondean las páginas?', answer: 'Las estimaciones de tapa blanda y tapa dura se redondean a páginas pares. Los libros grapados se redondean a múltiplos de cuatro por sus pliegos plegados.' },
|
|
59
|
+
{ question: '¿Cómo se estima el ancho del lomo?', answer: 'La calculadora multiplica las páginas por el grosor del papel de cada hoja, divide el bloque entre dos y añade un pequeño margen para la encuadernación elegida.' },
|
|
60
|
+
{ question: '¿El resultado está listo para la imprenta?', answer: 'No. Es una estimación de planificación. Confirma con tu imprenta el grosor del papel, las medidas de cubierta, el sangrado y las tolerancias de encuadernación.' },
|
|
61
|
+
],
|
|
62
|
+
bibliography: [
|
|
63
|
+
{ name: 'ISO 216:2007 Formatos de papel', url: 'https://www.iso.org/standard/36631.html' },
|
|
64
|
+
{ name: 'Instituto Nacional de Estadística. Producción editorial de libros', url: 'https://www.ine.es/dyngs/INEbase/es/operacion.htm?c=Estadistica_C&cid=1254736176767&idp=1254735573113&menu=ultiDatos' },
|
|
65
|
+
{ name: 'Informe de la UNESCO sobre la industria editorial mundial', url: 'https://doi.org/10.58337/SRUH6078' },
|
|
66
|
+
],
|
|
67
|
+
howTo: [
|
|
68
|
+
{ name: 'Elige un formato', text: 'Empieza con el preset de novela, letra grande o cuaderno de trabajo.' },
|
|
69
|
+
{ name: 'Configura el manuscrito', text: 'Introduce las palabras y ajusta formato, márgenes, fuente e interlineado.' },
|
|
70
|
+
{ name: 'Elige papel y encuadernación', text: 'Introduce el grosor del papel y selecciona tapa blanda, tapa dura o grapado.' },
|
|
71
|
+
{ name: 'Revisa la cubierta', text: 'Usa el lomo y la extensión estimados como punto de partida para tu archivo de diseño.' },
|
|
72
|
+
],
|
|
73
|
+
schemas: [
|
|
74
|
+
{ '@context': 'https://schema.org', '@type': 'SoftwareApplication', name: 'Calculadora de páginas y lomo de libro', applicationCategory: 'DesignApplication', operatingSystem: 'Any', offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' } },
|
|
75
|
+
{ '@context': 'https://schema.org', '@type': 'FAQPage', mainEntity: [{ '@type': 'Question', name: '¿Qué datos usa la estimación de páginas?', acceptedAnswer: { '@type': 'Answer', text: 'Usa palabras, formato, márgenes, tamaño de fuente e interlineado.' } }, { '@type': 'Question', name: '¿Cómo se estima el ancho del lomo?', acceptedAnswer: { '@type': 'Answer', text: 'Usa páginas, grosor del papel y un margen de encuadernación.' } }] },
|
|
76
|
+
{ '@context': 'https://schema.org', '@type': 'HowTo', name: 'Estimar páginas y lomo de un libro', step: [{ '@type': 'HowToStep', name: 'Elige un formato', text: 'Selecciona un preset.' }, { '@type': 'HowToStep', name: 'Configura el manuscrito', text: 'Introduce palabras y tipografía.' }, { '@type': 'HowToStep', name: 'Elige papel y encuadernación', text: 'Configura el grosor y la encuadernación.' }, { '@type': 'HowToStep', name: 'Revisa la cubierta', text: 'Usa la estimación del lomo y la cubierta.' }] },
|
|
77
|
+
],
|
|
78
|
+
};
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import type { ToolLocaleContent } from '../../../types';
|
|
2
|
+
import type { BookPaginationUI } from '../ui';
|
|
3
|
+
|
|
4
|
+
const ui: BookPaginationUI = {
|
|
5
|
+
title: 'Calculateur de pages et de dos de livre',
|
|
6
|
+
scenarioLabel: 'Nom du scénario',
|
|
7
|
+
scenarioPlaceholder: 'Mon livre',
|
|
8
|
+
wordsLabel: 'Mots du manuscrit',
|
|
9
|
+
widthLabel: 'Largeur de coupe',
|
|
10
|
+
heightLabel: 'Hauteur de coupe',
|
|
11
|
+
marginLabel: 'Marge intérieure',
|
|
12
|
+
fontSizeLabel: 'Corps du texte (pt)',
|
|
13
|
+
lineHeightLabel: 'Interligne (×)',
|
|
14
|
+
paperLabel: 'Configuration du livre',
|
|
15
|
+
caliperLabel: 'Épaisseur du papier',
|
|
16
|
+
bindingLabel: 'Reliure',
|
|
17
|
+
softcoverLabel: 'Couverture souple',
|
|
18
|
+
hardcoverLabel: 'Couverture rigide',
|
|
19
|
+
saddleLabel: 'Piqûre à cheval',
|
|
20
|
+
presetLabel: 'Commencer avec un format',
|
|
21
|
+
novelPreset: 'Roman',
|
|
22
|
+
largePrintPreset: 'Gros caractères',
|
|
23
|
+
workbookPreset: 'Cahier',
|
|
24
|
+
metricLabel: 'Métrique mm',
|
|
25
|
+
imperialLabel: 'Impérial pouces',
|
|
26
|
+
resetLabel: 'Réinitialiser sur roman',
|
|
27
|
+
pagesLabel: 'Pages estimées',
|
|
28
|
+
spineLabel: 'Largeur du dos',
|
|
29
|
+
coverLabel: 'Déploiement de couverture',
|
|
30
|
+
wordsPerPageLabel: 'Mots par page',
|
|
31
|
+
linesLabel: 'Lignes par page',
|
|
32
|
+
previewLabel: 'Maquette du livre',
|
|
33
|
+
previewHint: 'Le dos grandit avec le bloc de papier. Utilisez le résultat comme estimation de production.',
|
|
34
|
+
methodTitle: 'Façonner le livre avant impression',
|
|
35
|
+
methodHint: 'Essayez un format, puis ajustez le texte et le papier pour voir évoluer ensemble le nombre de pages et la couverture.',
|
|
36
|
+
sourceLabel: 'Cette estimation utilise vos données. Confirmez le dos final avec votre imprimeur, le papier et le type de reliure.',
|
|
37
|
+
};
|
|
38
|
+
|
|
39
|
+
const seo: ToolLocaleContent<BookPaginationUI>['seo'] = [
|
|
40
|
+
{ type: 'title', text: 'Calculer les pages et la largeur du dos depuis un manuscrit', level: 2 },
|
|
41
|
+
{ type: 'paragraph', html: "Transformez un nombre de mots et une mise en page en première estimation pratique pour un livre imprimé. Ce calculateur modélise la surface de texte utile, les mots approximatifs par page, les règles de pliage de la reliure, l'épaisseur du papier, la largeur du dos et le déploiement complet de la couverture dans un même espace visuel." },
|
|
42
|
+
{ type: 'title', text: 'Ce que le calculateur estime', level: 2 },
|
|
43
|
+
{ type: 'paragraph', html: "L'estimation des pages utilise le format fini, les marges, le corps du texte et l'interligne pour approcher les caractères par ligne et les lignes par page. Le résultat est arrondi au nombre pair pour les couvertures souples et rigides, ou au multiple de quatre pour les cahiers en piqûre à cheval. Le dos combine ensuite le bloc de papier et une petite tolérance de reliure." },
|
|
44
|
+
{ type: 'list', items: ['Utilisez le format roman comme point de départ pour un livre de poche compact.', 'Choisissez les gros caractères lorsque le corps plus grand modifie les mots par page.', 'Utilisez le cahier pour une page plus large et un nombre de pages multiple de quatre.', 'Passez des millimètres aux pouces sans modifier le livre physique.'] },
|
|
45
|
+
{ type: 'title', text: 'Une estimation de production et non une épreuve imprimeur', level: 2 },
|
|
46
|
+
{ type: 'paragraph', html: "Les fabricants décrivent l'épaisseur du papier de manière différente, les polices ont des largeurs variables et les imprimeurs appliquent leurs propres tolérances d'imposition et de reliure. Considérez le résultat comme un outil de planification rapide pour auteurs, éditeurs et designers. Vérifiez le gabarit final de couverture avec les spécifications de l'imprimeur avant de commander ou exporter les fichiers." },
|
|
47
|
+
{ type: 'tip', title: 'Garder une typographie lisible', html: 'Un corps plus petit ou un interligne plus serré peut donner une impression moins qualitative et rendre la lecture plus difficile, même si le dos est plus fin. Comparez les formats visuellement et fondez votre choix sur le confort de lecture.' },
|
|
48
|
+
];
|
|
49
|
+
|
|
50
|
+
export const content: ToolLocaleContent<BookPaginationUI> = {
|
|
51
|
+
slug: 'calculateur-de-pages-et-de-dos-de-livre',
|
|
52
|
+
title: 'Calculateur de pages et de dos de livre',
|
|
53
|
+
description: 'Estimez les pages, la largeur du dos et le déploiement de couverture depuis le manuscrit, le format, la typographie, le papier et la reliure.',
|
|
54
|
+
ui,
|
|
55
|
+
seo,
|
|
56
|
+
faq: [
|
|
57
|
+
{ question: 'Quelles données servent à estimer les pages ?', answer: "Le calcul utilise les mots du manuscrit, le format, les marges, le corps du texte et l'interligne pour estimer les caractères, les lignes et les mots par page." },
|
|
58
|
+
{ question: 'Pourquoi les pages sont-elles arrondies ?', answer: 'Les estimations souples et rigides sont arrondies au nombre pair. Les livres en piqûre à cheval sont arrondis au multiple de quatre en raison des cahiers pliés.' },
|
|
59
|
+
{ question: 'Comment la largeur du dos est-elle estimée ?', answer: "Le calculateur multiplie le nombre de pages par l'épaisseur du papier par feuille, divise le bloc par deux et ajoute une petite tolérance pour la reliure choisie." },
|
|
60
|
+
{ question: "Le résultat est-il prêt pour l'imprimeur ?", answer: "Non. Il s'agit d'une estimation de planification. Confirmez le papier, les dimensions de couverture, le fond perdu et les tolérances de reliure avec votre imprimeur." },
|
|
61
|
+
],
|
|
62
|
+
bibliography: [
|
|
63
|
+
{ name: 'ISO 216:2007 Formats de papier', url: 'https://www.iso.org/standard/36631.html' },
|
|
64
|
+
{ name: 'Instituto Nacional de Estadística. Producción editorial de libros', url: 'https://www.ine.es/dyngs/INEbase/es/operacion.htm?c=Estadistica_C&cid=1254736176767&idp=1254735573113&menu=ultiDatos' },
|
|
65
|
+
{ name: "Rapport de l'UNESCO sur l'industrie mondiale du livre", url: 'https://doi.org/10.58337/SRUH6078' },
|
|
66
|
+
],
|
|
67
|
+
howTo: [
|
|
68
|
+
{ name: 'Choisir un format', text: 'Commencez avec le format roman, gros caractères ou cahier.' },
|
|
69
|
+
{ name: 'Régler le manuscrit', text: "Saisissez le nombre de mots et ajustez le format, les marges, la police et l'interligne." },
|
|
70
|
+
{ name: 'Choisir papier et reliure', text: "Saisissez l'épaisseur du papier et choisissez une couverture souple, rigide ou une piqûre à cheval." },
|
|
71
|
+
{ name: 'Vérifier la couverture', text: 'Utilisez le dos et le déploiement estimés comme point de départ pour votre fichier de création.' },
|
|
72
|
+
],
|
|
73
|
+
schemas: [
|
|
74
|
+
{ '@context': 'https://schema.org', '@type': 'SoftwareApplication', name: 'Calculateur de pages et de dos de livre', applicationCategory: 'DesignApplication', operatingSystem: 'Any', offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' } },
|
|
75
|
+
{ '@context': 'https://schema.org', '@type': 'FAQPage', mainEntity: [{ '@type': 'Question', name: 'Quelles données servent à estimer les pages ?', acceptedAnswer: { '@type': 'Answer', text: "Le calcul utilise les mots, le format, les marges, le corps du texte et l'interligne." } }, { '@type': 'Question', name: 'Comment la largeur du dos est-elle estimée ?', acceptedAnswer: { '@type': 'Answer', text: "Elle utilise le nombre de pages, l'épaisseur du papier et une tolérance de reliure." } }] },
|
|
76
|
+
{ '@context': 'https://schema.org', '@type': 'HowTo', name: "Estimer les pages et le dos d'un livre", step: [{ '@type': 'HowToStep', name: 'Choisir un format', text: 'Sélectionnez un format.' }, { '@type': 'HowToStep', name: 'Régler le manuscrit', text: 'Saisissez les mots et la typographie.' }, { '@type': 'HowToStep', name: 'Choisir papier et reliure', text: "Réglez l'épaisseur et la reliure." }, { '@type': 'HowToStep', name: 'Vérifier la couverture', text: "Utilisez l'estimation du dos et de la couverture." }] },
|
|
77
|
+
],
|
|
78
|
+
};
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import type { ToolLocaleContent } from '../../../types';
|
|
2
|
+
import type { BookPaginationUI } from '../ui';
|
|
3
|
+
|
|
4
|
+
const ui: BookPaginationUI = {
|
|
5
|
+
title: 'Kalkulator Halaman dan Punggung Buku',
|
|
6
|
+
scenarioLabel: 'Nama skenario',
|
|
7
|
+
scenarioPlaceholder: 'Buku saya',
|
|
8
|
+
wordsLabel: 'Kata dalam naskah',
|
|
9
|
+
widthLabel: 'Lebar trim',
|
|
10
|
+
heightLabel: 'Tinggi trim',
|
|
11
|
+
marginLabel: 'Margin dalam',
|
|
12
|
+
fontSizeLabel: 'Ukuran font (pt)',
|
|
13
|
+
lineHeightLabel: 'Tinggi baris (×)',
|
|
14
|
+
paperLabel: 'Pengaturan buku',
|
|
15
|
+
caliperLabel: 'Ketebalan kertas',
|
|
16
|
+
bindingLabel: 'Jilid',
|
|
17
|
+
softcoverLabel: 'Sampul lunak',
|
|
18
|
+
hardcoverLabel: 'Sampul keras',
|
|
19
|
+
saddleLabel: 'Jilid kawat tengah',
|
|
20
|
+
presetLabel: 'Mulai dengan format',
|
|
21
|
+
novelPreset: 'Novel',
|
|
22
|
+
largePrintPreset: 'Huruf besar',
|
|
23
|
+
workbookPreset: 'Buku kerja',
|
|
24
|
+
metricLabel: 'Metrik mm',
|
|
25
|
+
imperialLabel: 'Imperial inci',
|
|
26
|
+
resetLabel: 'Kembalikan ke novel',
|
|
27
|
+
pagesLabel: 'Perkiraan halaman',
|
|
28
|
+
spineLabel: 'Lebar punggung',
|
|
29
|
+
coverLabel: 'Bentangan sampul',
|
|
30
|
+
wordsPerPageLabel: 'Kata per halaman',
|
|
31
|
+
linesLabel: 'Baris per halaman',
|
|
32
|
+
previewLabel: 'Pratinjau buku',
|
|
33
|
+
previewHint: 'Punggung bertambah lebar mengikuti tumpukan kertas. Gunakan hasil ini sebagai perkiraan produksi.',
|
|
34
|
+
methodTitle: 'Bentuk buku sebelum dicetak',
|
|
35
|
+
methodHint: 'Coba preset format, lalu sesuaikan jenis huruf dan kertas untuk melihat halaman dan sampul berubah bersama.',
|
|
36
|
+
sourceLabel: 'Perkiraan ini menggunakan input Anda. Pastikan ukuran punggung akhir dengan percetakan, jenis kertas, dan metode jilid Anda.',
|
|
37
|
+
};
|
|
38
|
+
|
|
39
|
+
const seo: ToolLocaleContent<BookPaginationUI>['seo'] = [
|
|
40
|
+
{ type: 'title', text: 'Hitung Halaman Buku dan Lebar Punggung dari Naskah', level: 2 },
|
|
41
|
+
{ type: 'paragraph', html: 'Ubah jumlah kata dan desain halaman menjadi perkiraan awal yang praktis untuk buku cetak. Kalkulator ini memodelkan area teks yang dapat digunakan, perkiraan kata per halaman, aturan lipatan jilid, ketebalan kertas, lebar punggung, dan bentangan sampul lengkap dalam satu ruang visual.' },
|
|
42
|
+
{ type: 'title', text: 'Yang Diperkirakan Kalkulator', level: 2 },
|
|
43
|
+
{ type: 'paragraph', html: 'Perkiraan halaman menggunakan ukuran trim, margin, ukuran font, dan tinggi baris untuk memperkirakan karakter per baris dan baris per halaman. Hasilnya dibulatkan ke jumlah genap untuk sampul lunak dan keras, atau kelipatan empat untuk buku kerja berjilid kawat tengah. Punggung kemudian menggabungkan tumpukan kertas dengan sedikit toleransi jilid.' },
|
|
44
|
+
{ type: 'list', items: ['Gunakan preset novel sebagai titik awal untuk buku saku yang ringkas.', 'Gunakan huruf besar ketika ukuran teks yang lebih besar mengubah kata per halaman.', 'Gunakan buku kerja untuk halaman yang lebih lebar dan jumlah halaman kelipatan empat.', 'Beralih antara milimeter dan inci tanpa mengubah ukuran fisik buku.'] },
|
|
45
|
+
{ type: 'title', text: 'Perkiraan Produksi Bukan Proof Percetakan', level: 2 },
|
|
46
|
+
{ type: 'paragraph', html: 'Produsen kertas menerbitkan ketebalan dengan cara berbeda, setiap font memiliki lebar yang berbeda, dan percetakan menerapkan toleransi imposition serta jilidnya sendiri. Anggap hasil ini sebagai alat perencanaan cepat untuk penulis, editor, dan desainer. Cocokkan templat sampul akhir dengan spesifikasi percetakan sebelum memesan atau mengekspor karya.' },
|
|
47
|
+
{ type: 'tip', title: 'Pertahankan pengaturan teks yang nyaman dibaca', html: 'Font yang lebih kecil atau tinggi baris yang lebih rapat dapat membuat buku terasa lebih murah dan sulit dibaca meskipun punggungnya lebih tipis. Bandingkan preset secara visual dan jadikan pengalaman membaca sebagai dasar keputusan.' },
|
|
48
|
+
];
|
|
49
|
+
|
|
50
|
+
export const content: ToolLocaleContent<BookPaginationUI> = {
|
|
51
|
+
slug: 'kalkulator-halaman-dan-punggung-buku',
|
|
52
|
+
title: 'Kalkulator halaman dan punggung buku',
|
|
53
|
+
description: 'Perkirakan halaman cetak, lebar punggung, dan bentangan sampul dari naskah, ukuran trim, tipografi, kertas, dan jilid.',
|
|
54
|
+
ui,
|
|
55
|
+
seo,
|
|
56
|
+
faq: [
|
|
57
|
+
{ question: 'Data apa yang digunakan untuk memperkirakan halaman?', answer: 'Kalkulator menggunakan kata dalam naskah, ukuran trim, margin, ukuran font, dan tinggi baris untuk memperkirakan karakter, baris, dan kata per halaman.' },
|
|
58
|
+
{ question: 'Mengapa halaman dibulatkan?', answer: 'Perkiraan sampul lunak dan keras dibulatkan ke jumlah genap. Buku berjilid kawat tengah dibulatkan ke kelipatan empat karena lembarannya dilipat.' },
|
|
59
|
+
{ question: 'Bagaimana lebar punggung diperkirakan?', answer: 'Kalkulator mengalikan jumlah halaman dengan ketebalan kertas per lembar, membagi tumpukan dengan dua, lalu menambahkan sedikit toleransi untuk jilid yang dipilih.' },
|
|
60
|
+
{ question: 'Apakah hasilnya siap dikirim ke percetakan?', answer: 'Belum. Ini adalah perkiraan perencanaan. Pastikan ketebalan kertas, ukuran sampul, bleed, dan toleransi jilid dengan percetakan Anda.' },
|
|
61
|
+
],
|
|
62
|
+
bibliography: [
|
|
63
|
+
{ name: 'ISO 216:2007 Ukuran kertas', url: 'https://www.iso.org/standard/36631.html' },
|
|
64
|
+
{ name: 'Instituto Nacional de Estadística. Producción editorial de libros', url: 'https://www.ine.es/dyngs/INEbase/es/operacion.htm?c=Estadistica_C&cid=1254736176767&idp=1254735573113&menu=ultiDatos' },
|
|
65
|
+
{ name: 'Laporan UNESCO tentang industri penerbitan global', url: 'https://doi.org/10.58337/SRUH6078' },
|
|
66
|
+
],
|
|
67
|
+
howTo: [
|
|
68
|
+
{ name: 'Pilih format', text: 'Mulai dengan preset novel, huruf besar, atau buku kerja.' },
|
|
69
|
+
{ name: 'Atur naskah', text: 'Masukkan jumlah kata dan sesuaikan ukuran, margin, font, serta tinggi baris.' },
|
|
70
|
+
{ name: 'Pilih kertas dan jilid', text: 'Masukkan ketebalan kertas dan pilih sampul lunak, sampul keras, atau jilid kawat tengah.' },
|
|
71
|
+
{ name: 'Tinjau sampul', text: 'Gunakan lebar punggung dan bentangan sampul sebagai titik awal berkas desain Anda.' },
|
|
72
|
+
],
|
|
73
|
+
schemas: [
|
|
74
|
+
{ '@context': 'https://schema.org', '@type': 'SoftwareApplication', name: 'Kalkulator halaman dan punggung buku', applicationCategory: 'DesignApplication', operatingSystem: 'Any', offers: { '@type': 'Offer', price: '0', priceCurrency: 'IDR' } },
|
|
75
|
+
{ '@context': 'https://schema.org', '@type': 'FAQPage', mainEntity: [{ '@type': 'Question', name: 'Data apa yang digunakan untuk memperkirakan halaman?', acceptedAnswer: { '@type': 'Answer', text: 'Kalkulator menggunakan kata, ukuran trim, margin, ukuran font, dan tinggi baris.' } }, { '@type': 'Question', name: 'Bagaimana lebar punggung diperkirakan?', acceptedAnswer: { '@type': 'Answer', text: 'Kalkulator menggunakan jumlah halaman, ketebalan kertas, dan toleransi jilid.' } }] },
|
|
76
|
+
{ '@context': 'https://schema.org', '@type': 'HowTo', name: 'Memperkirakan halaman dan lebar punggung buku', step: [{ '@type': 'HowToStep', name: 'Pilih format', text: 'Pilih preset.' }, { '@type': 'HowToStep', name: 'Atur naskah', text: 'Masukkan kata dan tipografi.' }, { '@type': 'HowToStep', name: 'Pilih kertas dan jilid', text: 'Atur ketebalan dan jilid.' }, { '@type': 'HowToStep', name: 'Tinjau sampul', text: 'Gunakan perkiraan punggung dan sampul.' }] },
|
|
77
|
+
],
|
|
78
|
+
};
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import type { ToolLocaleContent } from '../../../types';
|
|
2
|
+
import type { BookPaginationUI } from '../ui';
|
|
3
|
+
|
|
4
|
+
const ui: BookPaginationUI = {
|
|
5
|
+
title: 'Calcolatore di pagine e dorso del libro',
|
|
6
|
+
scenarioLabel: 'Nome dello scenario',
|
|
7
|
+
scenarioPlaceholder: 'Il mio libro',
|
|
8
|
+
wordsLabel: 'Parole del manoscritto',
|
|
9
|
+
widthLabel: 'Larghezza di taglio',
|
|
10
|
+
heightLabel: 'Altezza di taglio',
|
|
11
|
+
marginLabel: 'Margine interno',
|
|
12
|
+
fontSizeLabel: 'Corpo del testo (pt)',
|
|
13
|
+
lineHeightLabel: 'Interlinea (×)',
|
|
14
|
+
paperLabel: 'Impostazioni del libro',
|
|
15
|
+
caliperLabel: 'Spessore della carta',
|
|
16
|
+
bindingLabel: 'Rilegatura',
|
|
17
|
+
softcoverLabel: 'Brossura',
|
|
18
|
+
hardcoverLabel: 'Copertina rigida',
|
|
19
|
+
saddleLabel: 'Punto metallico',
|
|
20
|
+
presetLabel: 'Inizia con un formato',
|
|
21
|
+
novelPreset: 'Romanzo',
|
|
22
|
+
largePrintPreset: 'Caratteri grandi',
|
|
23
|
+
workbookPreset: 'Quaderno',
|
|
24
|
+
metricLabel: 'Metrico mm',
|
|
25
|
+
imperialLabel: 'Imperiale pollici',
|
|
26
|
+
resetLabel: 'Ripristina romanzo',
|
|
27
|
+
pagesLabel: 'Pagine stimate',
|
|
28
|
+
spineLabel: 'Larghezza del dorso',
|
|
29
|
+
coverLabel: 'Apertura della copertina',
|
|
30
|
+
wordsPerPageLabel: 'Parole per pagina',
|
|
31
|
+
linesLabel: 'Righe per pagina',
|
|
32
|
+
previewLabel: 'Anteprima del libro',
|
|
33
|
+
previewHint: 'Il dorso cresce con il blocco di carta. Usa il risultato come stima di produzione.',
|
|
34
|
+
methodTitle: 'Dai forma al libro prima della stampa',
|
|
35
|
+
methodHint: 'Prova un formato, poi regola testo e carta per vedere cambiare insieme pagine e superficie della copertina.',
|
|
36
|
+
sourceLabel: 'La stima usa i tuoi dati. Conferma il dorso finale con lo stampatore, la carta e il metodo di rilegatura.',
|
|
37
|
+
};
|
|
38
|
+
|
|
39
|
+
const seo: ToolLocaleContent<BookPaginationUI>['seo'] = [
|
|
40
|
+
{ type: 'title', text: 'Calcola le pagine e la larghezza del dorso dal manoscritto', level: 2 },
|
|
41
|
+
{ type: 'paragraph', html: "Trasforma il numero di parole e il progetto della pagina in una prima stima pratica per un libro stampato. Questo calcolatore modella l'area di testo utile, le parole approssimative per pagina, le regole di piega della rilegatura, lo spessore della carta, la larghezza del dorso e l'apertura completa della copertina in uno spazio visivo unico." },
|
|
42
|
+
{ type: 'title', text: 'Cosa stima il calcolatore', level: 2 },
|
|
43
|
+
{ type: 'paragraph', html: 'La stima delle pagine usa formato finito, margini, corpo del testo e interlinea per approssimare caratteri per riga e righe per pagina. Il risultato viene arrotondato a un numero pari per brossura e copertina rigida, oppure a un multiplo di quattro per i quaderni con punto metallico. Il dorso combina poi il blocco di carta con una piccola tolleranza di rilegatura.' },
|
|
44
|
+
{ type: 'list', items: ['Usa il preset romanzo come punto di partenza per un tascabile compatto.', 'Scegli caratteri grandi quando un corpo maggiore cambia le parole per pagina.', 'Usa il quaderno per una pagina più larga e un numero di pagine multiplo di quattro.', 'Passa da millimetri a pollici senza cambiare il libro fisico.'] },
|
|
45
|
+
{ type: 'title', text: 'Una stima di produzione e non una prova di stampa', level: 2 },
|
|
46
|
+
{ type: 'paragraph', html: 'I produttori descrivono lo spessore della carta in modi diversi, i caratteri hanno larghezze differenti e gli stampatori applicano tolleranze proprie per imposizione e rilegatura. Considera il risultato uno strumento rapido per autori, editor e designer. Confronta il modello finale della copertina con le specifiche dello stampatore prima di ordinare o esportare i file.' },
|
|
47
|
+
{ type: 'tip', title: 'Mantieni una tipografia leggibile', html: "Un corpo più piccolo o un'interlinea più stretta può far sembrare il libro meno curato e rendere la lettura difficile anche se il dorso si riduce. Confronta i preset visivamente e scegli pensando all'esperienza di lettura." },
|
|
48
|
+
];
|
|
49
|
+
|
|
50
|
+
export const content: ToolLocaleContent<BookPaginationUI> = {
|
|
51
|
+
slug: 'calcolatore-pagine-e-dorso-del-libro',
|
|
52
|
+
title: 'Calcolatore di pagine e dorso del libro',
|
|
53
|
+
description: 'Stima pagine stampate, larghezza del dorso e apertura della copertina da manoscritto, formato, tipografia, carta e rilegatura.',
|
|
54
|
+
ui,
|
|
55
|
+
seo,
|
|
56
|
+
faq: [
|
|
57
|
+
{ question: 'Quali dati usa la stima delle pagine?', answer: 'Usa parole del manoscritto, formato, margini, corpo del testo e interlinea per stimare caratteri, righe e parole per pagina.' },
|
|
58
|
+
{ question: 'Perché le pagine vengono arrotondate?', answer: 'Le stime in brossura e copertina rigida vengono arrotondate al numero pari. I libri con punto metallico sono arrotondati al multiplo di quattro per i fascicoli piegati.' },
|
|
59
|
+
{ question: 'Come viene stimata la larghezza del dorso?', answer: 'Il calcolatore moltiplica le pagine per lo spessore della carta di ogni foglio, divide il blocco per due e aggiunge una piccola tolleranza per la rilegatura scelta.' },
|
|
60
|
+
{ question: 'Il risultato è pronto per lo stampatore?', answer: 'No. È una stima di pianificazione. Conferma carta, misure della copertina, abbondanza e tolleranze di rilegatura con lo stampatore.' },
|
|
61
|
+
],
|
|
62
|
+
bibliography: [
|
|
63
|
+
{ name: 'ISO 216:2007 Formati della carta', url: 'https://www.iso.org/standard/36631.html' },
|
|
64
|
+
{ name: 'Instituto Nacional de Estadística. Producción editorial de libros', url: 'https://www.ine.es/dyngs/INEbase/es/operacion.htm?c=Estadistica_C&cid=1254736176767&idp=1254735573113&menu=ultiDatos' },
|
|
65
|
+
{ name: "Rapporto UNESCO sull'industria editoriale globale", url: 'https://doi.org/10.58337/SRUH6078' },
|
|
66
|
+
],
|
|
67
|
+
howTo: [
|
|
68
|
+
{ name: 'Scegli un formato', text: 'Inizia con il preset romanzo, caratteri grandi o quaderno.' },
|
|
69
|
+
{ name: 'Imposta il manoscritto', text: 'Inserisci il numero di parole e regola formato, margini, carattere e interlinea.' },
|
|
70
|
+
{ name: 'Scegli carta e rilegatura', text: 'Inserisci lo spessore della carta e scegli brossura, copertina rigida o punto metallico.' },
|
|
71
|
+
{ name: 'Controlla la copertina', text: 'Usa dorso e apertura stimati come punto di partenza per il file di progetto.' },
|
|
72
|
+
],
|
|
73
|
+
schemas: [
|
|
74
|
+
{ '@context': 'https://schema.org', '@type': 'SoftwareApplication', name: 'Calcolatore di pagine e dorso del libro', applicationCategory: 'DesignApplication', operatingSystem: 'Any', offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' } },
|
|
75
|
+
{ '@context': 'https://schema.org', '@type': 'FAQPage', mainEntity: [{ '@type': 'Question', name: 'Quali dati usa la stima delle pagine?', acceptedAnswer: { '@type': 'Answer', text: 'Usa parole, formato, margini, corpo del testo e interlinea.' } }, { '@type': 'Question', name: 'Come viene stimata la larghezza del dorso?', acceptedAnswer: { '@type': 'Answer', text: 'Usa pagine, spessore della carta e una tolleranza di rilegatura.' } }] },
|
|
76
|
+
{ '@context': 'https://schema.org', '@type': 'HowTo', name: 'Stimare pagine e dorso di un libro', step: [{ '@type': 'HowToStep', name: 'Scegli un formato', text: 'Seleziona un preset.' }, { '@type': 'HowToStep', name: 'Imposta il manoscritto', text: 'Inserisci parole e tipografia.' }, { '@type': 'HowToStep', name: 'Scegli carta e rilegatura', text: 'Imposta spessore e rilegatura.' }, { '@type': 'HowToStep', name: 'Controlla la copertina', text: 'Usa la stima del dorso e della copertina.' }] },
|
|
77
|
+
],
|
|
78
|
+
};
|