language support

This commit is contained in:
EthanHealy01 2025-08-05 11:18:10 +01:00
parent 536ed8ce90
commit 341c2c8750
3 changed files with 65 additions and 48 deletions

View File

@ -24,6 +24,13 @@
box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05), 0 0 0 2px rgba(59, 130, 246, 0.1); box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05), 0 0 0 2px rgba(59, 130, 246, 0.1);
} }
/* Pinned tooltip header */
.tooltip-container.pinned .tooltip-header {
background-color: var(--primary-color, #3b82f6);
color: white;
border-color: var(--primary-color, #3b82f6);
}
/* Close button */ /* Close button */
.tooltip-pin-button { .tooltip-pin-button {
position: absolute; position: absolute;

View File

@ -1,25 +1,30 @@
import { useTranslation } from 'react-i18next';
import { TooltipContent } from './types'; import { TooltipContent } from './types';
export const compressTips: TooltipContent = { export const useCompressTips = (): TooltipContent => {
header: { const { t } = useTranslation();
title: "Settings Overview"
}, return {
tips: [ header: {
{ title: t("compress.tooltip.header.title", "Compress Settings Overview")
title: "Compression Method",
description: "Compression is an easy way to reduce your file size. Pick <strong>File Size</strong> to enter a target size and have us adjust quality for you. Pick <strong>Quality</strong> to set compression strength manually."
}, },
{ tips: [
title: "Quality Adjustment", {
description: "Drag the slider to adjust the compression strength. <strong>Lower values (1-3)</strong> preserve quality but result in larger files. <strong>Higher values (7-9)</strong> shrink the file more but reduce image clarity.", title: t("compress.tooltip.description.title", "Description"),
bullets: [ description: t("compress.tooltip.description.text", "Compression is an easy way to reduce your file size. Pick <strong>File Size</strong> to enter a target size and have us adjust quality for you. Pick <strong>Quality</strong> to set compression strength manually.")
"Lower values preserve quality", },
"Higher values reduce file size" {
] title: t("compress.tooltip.qualityAdjustment.title", "Quality Adjustment"),
}, description: t("compress.tooltip.qualityAdjustment.text", "Drag the slider to adjust the compression strength. <strong>Lower values (1-3)</strong> preserve quality but result in larger files. <strong>Higher values (7-9)</strong> shrink the file more but reduce image clarity."),
{ bullets: [
title: "Grayscale", t("compress.tooltip.qualityAdjustment.bullet1", "Lower values preserve quality"),
description: "Select this option to convert all images to black and white, which can significantly reduce file size especially for scanned PDFs or image-heavy documents." t("compress.tooltip.qualityAdjustment.bullet2", "Higher values reduce file size")
} ]
] },
{
title: t("compress.tooltip.grayscale.title", "Grayscale"),
description: t("compress.tooltip.grayscale.text", "Select this option to convert all images to black and white, which can significantly reduce file size especially for scanned PDFs or image-heavy documents.")
}
]
};
}; };

View File

@ -1,31 +1,36 @@
import { useTranslation } from 'react-i18next';
import { TooltipContent } from './types'; import { TooltipContent } from './types';
export const ocrTips: TooltipContent = { export const useOcrTips = (): TooltipContent => {
header: { const { t } = useTranslation();
title: "Basic Settings Overview",
}, return {
tips: [ header: {
{ title: t("ocr.tooltip.header.title", "OCR Settings Overview"),
title: "OCR Mode",
description: "Optical Character Recognition (OCR) helps you turn scanned or screenshotted pages into text you can search, copy, or highlight.",
bullets: [
"<strong>Auto</strong> skips pages that already contain text layers.",
"<strong>Force</strong> re-OCRs every page and replaces all the text.",
"<strong>Strict</strong> halts if any selectable text is found."
]
}, },
{ tips: [
title: "Languages", {
description: "Improve OCR accuracy by specifying the expected languages. Choose one or more languages to guide detection." title: t("ocr.tooltip.mode.title", "OCR Mode"),
}, description: t("ocr.tooltip.mode.text", "Optical Character Recognition (OCR) helps you turn scanned or screenshotted pages into text you can search, copy, or highlight."),
{ bullets: [
title: "Output", t("ocr.tooltip.mode.bullet1", "<strong>Auto</strong> skips pages that already contain text layers."),
description: "Decide how you want the text output formatted:", t("ocr.tooltip.mode.bullet2", "<strong>Force</strong> re-OCRs every page and replaces all the text."),
bullets: [ t("ocr.tooltip.mode.bullet3", "<strong>Strict</strong> halts if any selectable text is found.")
"<strong>Searchable PDF</strong> embeds text behind the original image.", ]
"<strong>HOCR XML</strong> returns a structured machine-readable file.", },
"<strong>Plain-text sidecar</strong> creates a separate .txt file with raw content." {
] title: t("ocr.tooltip.languages.title", "Languages"),
} description: t("ocr.tooltip.languages.text", "Improve OCR accuracy by specifying the expected languages. Choose one or more languages to guide detection.")
] },
{
title: t("ocr.tooltip.output.title", "Output"),
description: t("ocr.tooltip.output.text", "Decide how you want the text output formatted:"),
bullets: [
t("ocr.tooltip.output.bullet1", "<strong>Searchable PDF</strong> embeds text behind the original image."),
t("ocr.tooltip.output.bullet2", "<strong>HOCR XML</strong> returns a structured machine-readable file."),
t("ocr.tooltip.output.bullet3", "<strong>Plain-text sidecar</strong> creates a separate .txt file with raw content.")
]
}
]
};
}; };