mirror of
https://github.com/Stirling-Tools/Stirling-PDF.git
synced 2025-04-19 19:21:18 +00:00
Added localisation support with en and ar
This commit is contained in:
parent
35c5a457b7
commit
0d2d1726f8
@ -14,10 +14,13 @@
|
||||
"@tauri-apps/api": "^1.5.1",
|
||||
"archiver": "^6.0.1",
|
||||
"bootstrap": "^5.3.2",
|
||||
"i18next": "^23.6.0",
|
||||
"i18next-browser-languagedetector": "^7.1.0",
|
||||
"path-browserify": "^1.0.1",
|
||||
"react": "^18.2.0",
|
||||
"react-bootstrap": "^2.9.1",
|
||||
"react-dom": "^18.2.0",
|
||||
"react-i18next": "^13.3.1",
|
||||
"react-icons": "^4.11.0",
|
||||
"react-router-bootstrap": "^0.26.2",
|
||||
"react-router-dom": "^6.18.0"
|
||||
|
@ -1,3 +1,5 @@
|
||||
import { Suspense } from 'react';
|
||||
|
||||
import { Routes, Route, Outlet } from "react-router-dom";
|
||||
import Home from "./pages/Home";
|
||||
import About from "./pages/About";
|
||||
@ -6,11 +8,28 @@ import NoMatch from "./pages/NoMatch";
|
||||
import NavBar from "./components/NavBar";
|
||||
|
||||
import 'bootstrap/dist/css/bootstrap.min.css';
|
||||
import { Col, Container, Row } from "react-bootstrap";
|
||||
import { Container } from "react-bootstrap";
|
||||
|
||||
import i18n from "i18next";
|
||||
import { useTranslation, initReactI18next } from "react-i18next";
|
||||
import LanguageDetector from 'i18next-browser-languagedetector';
|
||||
import ar from './locales/ar.json';
|
||||
import en from './locales/en.json';
|
||||
|
||||
import './general.css'
|
||||
|
||||
i18n
|
||||
.use(LanguageDetector)
|
||||
.use(initReactI18next) // passes i18n down to react-i18next
|
||||
.init({
|
||||
fallbackLng: "en",
|
||||
resources: { ar,en },
|
||||
});
|
||||
|
||||
export default function App() {
|
||||
|
||||
return (
|
||||
<div>
|
||||
<Suspense fallback="loading">
|
||||
{/* Routes nest inside one another. Nested route paths build upon
|
||||
parent route paths, and nested route elements render inside
|
||||
parent route elements. See the note about <Outlet> below. */}
|
||||
@ -26,13 +45,14 @@ export default function App() {
|
||||
<Route path="*" element={<NoMatch />} />
|
||||
</Route>
|
||||
</Routes>
|
||||
</div>
|
||||
</Suspense>
|
||||
);
|
||||
}
|
||||
|
||||
function Layout() {
|
||||
const { t } = useTranslation();
|
||||
return (
|
||||
<div>
|
||||
<div lang-direction={t('language.direction')}>
|
||||
<NavBar/>
|
||||
|
||||
{/* An <Outlet> renders whatever child route is currently active,
|
||||
|
30
client-tauri/src/components/LanguagePicker.tsx
Normal file
30
client-tauri/src/components/LanguagePicker.tsx
Normal file
@ -0,0 +1,30 @@
|
||||
|
||||
|
||||
import NavDropdown from 'react-bootstrap/NavDropdown';
|
||||
import { useTranslation } from 'react-i18next';
|
||||
import { BsGlobe2 } from 'react-icons/bs';
|
||||
|
||||
function generateSublist() {
|
||||
const { t, i18n } = useTranslation();
|
||||
const out: JSX.Element[] = [];
|
||||
const languages = i18n.options.resources;
|
||||
for (var key in languages) {
|
||||
const lang: any = languages[key].translation;
|
||||
const staticKey = key;
|
||||
out.push((
|
||||
<NavDropdown.Item key={"language-"+key} className="nav-icon" onClick={()=>i18n.changeLanguage(staticKey)}>
|
||||
<span>{lang.language?.flag}</span>
|
||||
<span>{lang.language?.name}</span>
|
||||
</NavDropdown.Item>
|
||||
));
|
||||
}
|
||||
return <>{out}</>;
|
||||
}
|
||||
|
||||
export default function LanguagePicker() {
|
||||
return (
|
||||
<NavDropdown id="languages-dropdown" title={<><span className="nav-icon"><BsGlobe2/></span></>}>
|
||||
{generateSublist()}
|
||||
</NavDropdown>
|
||||
);
|
||||
}
|
@ -103,6 +103,8 @@
|
||||
height: 16px;
|
||||
vertical-align: middle;
|
||||
transform: translateY(-2px);
|
||||
margin-left: 4px;
|
||||
margin-right: 4px;
|
||||
}
|
||||
/*
|
||||
.icon+.icon {
|
||||
@ -110,7 +112,8 @@
|
||||
}
|
||||
*/
|
||||
.nav-icon span {
|
||||
margin-left: 9px;
|
||||
margin-left: 4px;
|
||||
margin-right: 4px;
|
||||
}
|
||||
|
||||
.nav-item-separator {
|
||||
|
@ -1,12 +1,19 @@
|
||||
|
||||
import { AiOutlineMergeCells, AiOutlineSplitCells } from "react-icons/ai";
|
||||
import { BiCrop } from "react-icons/bi";
|
||||
import {
|
||||
BsTools, BsSortNumericDown, BsArrowClockwise, BsFileEarmarkX, BsLayoutSplit, BsPalette, BsArrowUpSquare, Bs1Square, BsFileEarmarkPdf,
|
||||
BsArrowLeftRight, BsFileEarmarkImage, BsFileEarmark, BsFiletypeHtml, BsLink, BsFiletypeMd, BsFileEarmarkWord, BsFiletypePpt, BsFiletypeTxt,
|
||||
BsFiletypeXml
|
||||
BsFiletypeXml, BsLock, BsUnlock, BsShieldLock, BsDroplet, BsAward, BsEraserFill, BsCardList, BsClipboardData, BsFile, BsFileEarmarkRichtext,
|
||||
BsFileZip, BsFiletypeJs, BsFonts, BsImages, BsInfoCircle, BsSearch, BsShieldCheck, BsVectorPen, BsWrench
|
||||
} from "react-icons/bs";
|
||||
import { AiOutlineMergeCells, AiOutlineSplitCells } from "react-icons/ai";
|
||||
import { GiScales } from "react-icons/gi";
|
||||
import { LuLayoutGrid } from "react-icons/lu";
|
||||
import { MdOutlineScanner } from "react-icons/md";
|
||||
import { PiArrowsInLineVertical } from "react-icons/pi";
|
||||
import { SlSizeFullscreen } from "react-icons/sl";
|
||||
import { BiCrop } from "react-icons/bi";
|
||||
import { TfiSpray } from "react-icons/tfi";
|
||||
import { TbNumbers } from "react-icons/tb";
|
||||
import { IconType } from "react-icons";
|
||||
|
||||
import Container from 'react-bootstrap/Container';
|
||||
@ -14,7 +21,9 @@ import Nav from 'react-bootstrap/Nav';
|
||||
import Navbar from 'react-bootstrap/Navbar';
|
||||
import NavDropdown from 'react-bootstrap/NavDropdown';
|
||||
import { LinkContainer } from 'react-router-bootstrap';
|
||||
import { useTranslation } from 'react-i18next';
|
||||
|
||||
import LanguagePicker from "./LanguagePicker";
|
||||
import Logo from '../../public/stirling-pdf-logo.svg'
|
||||
import './NavBar.css';
|
||||
|
||||
@ -36,53 +45,107 @@ function convertToNavLink(item: NavInfoItem, index: number) {
|
||||
function convertToNavDropdownItem(item: NavInfoItem | null) {
|
||||
if (item == null)
|
||||
return <NavDropdown.Divider />;
|
||||
return <LinkContainer to={item.dest}><NavDropdown.Item className="nav-icon" title={item.tooltip}><item.icon/><span>{item.displayText}</span></NavDropdown.Item></LinkContainer>;
|
||||
|
||||
return (
|
||||
<LinkContainer to={item.dest}>
|
||||
<NavDropdown.Item className="nav-icon" title={item.tooltip}>
|
||||
<item.icon/>
|
||||
<span>{item.displayText}</span>
|
||||
</NavDropdown.Item>
|
||||
</LinkContainer>
|
||||
);
|
||||
}
|
||||
function convertToNavDropdown(sublist: NavInfoSublist) {
|
||||
var myTitle = <>
|
||||
<span className="nav-icon">
|
||||
<sublist.icon/>
|
||||
<span>{sublist.displayText}</span>
|
||||
</span>
|
||||
</>;
|
||||
|
||||
return (
|
||||
<NavDropdown title={<><span className="nav-icon"><sublist.icon/><span>{sublist.displayText}</span></span></>} id="basic-nav-dropdown">
|
||||
<NavDropdown title={myTitle} id="basic-nav-dropdown">
|
||||
{sublist.sublist.map(convertToNavDropdownItem)}
|
||||
</NavDropdown>
|
||||
);
|
||||
}
|
||||
|
||||
function NavBar() {
|
||||
const { t, i18n } = useTranslation();
|
||||
|
||||
/* A "layout route" is a good place to put markup you want to
|
||||
share across all the pages on your site, like navigation. */
|
||||
function Layout() {
|
||||
const navInfo = [
|
||||
{displayText: "PDF Multi Tool", icon: BsTools, dest: "/home", tooltip: "Merge, Rotate, Rearrange, and Remove pages"},
|
||||
{displayText: "Page Operations", icon: BsFileEarmarkPdf, sublist: [
|
||||
{ displayText: "Merge", icon: AiOutlineMergeCells, dest: "/dashboard", tooltip: "Easily merge multiple PDFs into one." },
|
||||
{ displayText: "Split", icon: AiOutlineSplitCells, dest: "/nothing-here", tooltip: "fghjgfhj" },
|
||||
{ displayText: "Organise", icon: BsSortNumericDown, dest: "/nothing-here", tooltip: "fghjgfhj" },
|
||||
{ displayText: "Rotate", icon: BsArrowClockwise, dest: "/nothing-here", tooltip: "fghjgfhj" },
|
||||
{ displayText: "Remove", icon: BsFileEarmarkX, dest: "/nothing-here", tooltip: "fghjgfhj" },
|
||||
{ displayText: "Multi-Page Layout", icon: LuLayoutGrid, dest: "/nothing-here", tooltip: "fghjgfhj" },
|
||||
{ displayText: "Adjust page size/scale", icon: SlSizeFullscreen, dest: "/nothing-here", tooltip: "fghjgfhj" },
|
||||
{ displayText: "Auto Split Pages", icon: BsLayoutSplit, dest: "/nothing-here", tooltip: "fghjgfhj" },
|
||||
{ displayText: "Adjust Colors/Contrast", icon: BsPalette, dest: "/nothing-here", tooltip: "fghjgfhj" },
|
||||
{ displayText: "Crop PDF", icon: BiCrop, dest: "/nothing-here", tooltip: "fghjgfhj" },
|
||||
{ displayText: "Extract page(s)", icon: BsArrowUpSquare, dest: "/nothing-here", tooltip: "fghjgfhj" },
|
||||
{ displayText: "PDF to Single Large Page", icon: Bs1Square, dest: "/nothing-here", tooltip: "fghjgfhj" },
|
||||
{displayText: t('multiTool.title'), icon: BsTools, dest: "/home", tooltip: t('home.multiTool.desc')},
|
||||
{displayText: t('navbar.pageOps'), icon: BsFileEarmarkPdf, sublist: [
|
||||
{ displayText: t('home.merge.title'), icon: AiOutlineMergeCells, dest: "/dashboard", tooltip: t('home.merge.desc') },
|
||||
{ displayText: t('home.split.title'), icon: AiOutlineSplitCells, dest: "/nothing-here", tooltip: t('home.split.desc') },
|
||||
{ displayText: t('home.pdfOrganiser.title'), icon: BsSortNumericDown, dest: "/nothing-here", tooltip: t('home.pdfOrganiser.desc') },
|
||||
{ displayText: t('home.rotate.title'), icon: BsArrowClockwise, dest: "/nothing-here", tooltip: t('home.rotate.desc') },
|
||||
{ displayText: t('home.removePages.title'), icon: BsFileEarmarkX, dest: "/nothing-here", tooltip: t('home.removePages.desc') },
|
||||
{ displayText: t('home.pageLayout.title'), icon: LuLayoutGrid, dest: "/nothing-here", tooltip: t('home.pageLayout.desc') },
|
||||
{ displayText: t('home.scalePages.title'), icon: SlSizeFullscreen, dest: "/nothing-here", tooltip: t('home.scalePages.desc') },
|
||||
{ displayText: t('home.autoSplitPDF.title'), icon: BsLayoutSplit, dest: "/nothing-here", tooltip: t('home.autoSplitPDF.desc') },
|
||||
{ displayText: t('home.adjust-contrast.title'), icon: BsPalette, dest: "/nothing-here", tooltip: t('home.adjust-contrast.desc') },
|
||||
{ displayText: t('home.crop.title'), icon: BiCrop, dest: "/nothing-here", tooltip: t('home.crop.desc') },
|
||||
{ displayText: t('home.extractPage.title'), icon: BsArrowUpSquare, dest: "/nothing-here", tooltip: t('home.extractPage.desc') },
|
||||
{ displayText: t('home.PdfToSinglePage.title'), icon: Bs1Square, dest: "/nothing-here", tooltip: t('home.PdfToSinglePage.desc') },
|
||||
]},
|
||||
{displayText: "Convert", icon: BsArrowLeftRight, sublist: [
|
||||
{ displayText: "Image to PDF", icon: BsFileEarmarkImage, dest: "/dashboard" },
|
||||
{ displayText: "File to PDF", icon: BsFileEarmark, dest: "/nothing-here" },
|
||||
{ displayText: "HTML to PDF", icon: BsFiletypeHtml, dest: "/nothing-here" },
|
||||
{ displayText: "URL/Website To PDF", icon: BsLink, dest: "/nothing-here" },
|
||||
{ displayText: "Markdown to PDF", icon: BsFiletypeMd, dest: "/nothing-here" },
|
||||
{displayText: t('navbar.convert'), icon: BsArrowLeftRight, sublist: [
|
||||
{ displayText: t('home.imageToPdf.title'), icon: BsFileEarmarkImage, dest: "/dashboard", tooltip: t('home.imageToPdf.desc') },
|
||||
{ displayText: t('home.fileToPDF.title'), icon: BsFileEarmark, dest: "/nothing-here", tooltip: t('home.fileToPDF.desc') },
|
||||
{ displayText: t('home.HTMLToPDF.title'), icon: BsFiletypeHtml, dest: "/nothing-here", tooltip: t('home.HTMLToPDF.desc') },
|
||||
{ displayText: t('home.URLToPDF.title'), icon: BsLink, dest: "/nothing-here", tooltip: t('home.URLToPDF.desc') },
|
||||
{ displayText: t('home.MarkdownToPDF.title'), icon: BsFiletypeMd, dest: "/nothing-here", tooltip: t('home.MarkdownToPDF.desc') },
|
||||
null,
|
||||
{ displayText: "PDF to Image", icon: BsFileEarmarkImage, dest: "/nothing-here" },
|
||||
{ displayText: "PDF to Word", icon: BsFileEarmarkWord, dest: "/nothing-here" },
|
||||
{ displayText: "PDF to Presentation", icon: BsFiletypePpt, dest: "/nothing-here" },
|
||||
{ displayText: "PDF to RTF (Text)", icon: BsFiletypeTxt, dest: "/nothing-here" },
|
||||
{ displayText: "PDF to HTML", icon: BsFiletypeHtml, dest: "/nothing-here" },
|
||||
{ displayText: "PDF to XML", icon: BsFiletypeXml, dest: "/nothing-here" },
|
||||
{ displayText: "PDF to PDF/A", icon: BsFileEarmarkPdf, dest: "/nothing-here" },
|
||||
{ displayText: t('home.pdfToImage.title'), icon: BsFileEarmarkImage, dest: "/nothing-here", tooltip: t('home.pdfToImage.desc') },
|
||||
{ displayText: t('home.PDFToWord.title'), icon: BsFileEarmarkWord, dest: "/nothing-here", tooltip: t('home.PDFToWord.desc') },
|
||||
{ displayText: t('home.PDFToPresentation.title'), icon: BsFiletypePpt, dest: "/nothing-here", tooltip: t('home.PDFToPresentation.desc') },
|
||||
{ displayText: t('home.PDFToText.title'), icon: BsFiletypeTxt, dest: "/nothing-here", tooltip: t('home.PDFToText.desc') },
|
||||
{ displayText: t('home.PDFToHTML.title'), icon: BsFiletypeHtml, dest: "/nothing-here", tooltip: t('home.PDFToHTML.desc') },
|
||||
{ displayText: t('home.PDFToXML.title'), icon: BsFiletypeXml, dest: "/nothing-here", tooltip: t('home.PDFToXML.desc') },
|
||||
{ displayText: t('home.pdfToPDFA.title'), icon: BsFileEarmarkPdf, dest: "/nothing-here", tooltip: t('home.pdfToPDFA.desc') },
|
||||
]},
|
||||
{displayText: t('navbar.security'), icon: BsShieldCheck, sublist: [
|
||||
{ displayText: t('home.addPassword.title'), icon: BsLock, dest: "/dashboard", tooltip: t('home.addPassword.desc') },
|
||||
{ displayText: t('home.removePassword.title'), icon: BsUnlock, dest: "/nothing-here", tooltip: t('home.removePassword.desc') },
|
||||
{ displayText: t('home.permissions.title'), icon: BsShieldLock, dest: "/nothing-here", tooltip: t('home.permissions.desc') },
|
||||
{ displayText: t('home.watermark.title'), icon: BsDroplet, dest: "/nothing-here", tooltip: t('home.watermark.desc') },
|
||||
{ displayText: t('home.certSign.title'), icon: BsAward, dest: "/nothing-here", tooltip: t('home.certSign.desc') },
|
||||
{ displayText: t('home.sanitizePdf.title'), icon: TfiSpray, dest: "/nothing-here", tooltip: t('home.sanitizePdf.desc') },
|
||||
{ displayText: t('home.autoRedact.title'), icon: BsEraserFill, dest: "/nothing-here", tooltip: t('home.autoRedact.desc') },
|
||||
]},
|
||||
{displayText: t('navbar.other'), icon: BsCardList, sublist: [
|
||||
{ displayText: t('home.ocr.title'), icon: BsSearch, dest: "/dashboard", tooltip: t('home.ocr.desc') },
|
||||
{ displayText: t('home.addImage.title'), icon: BsFileEarmarkRichtext, dest: "/nothing-here", tooltip: t('home.addImage.desc') },
|
||||
{ displayText: t('home.compressPdfs.title'), icon: BsFileZip, dest: "/nothing-here", tooltip: t('home.compressPdfs.desc') },
|
||||
{ displayText: t('home.extractImages.title'), icon: BsImages, dest: "/nothing-here", tooltip: t('home.extractImages.desc') },
|
||||
{ displayText: t('home.changeMetadata.title'), icon: BsClipboardData, dest: "/nothing-here", tooltip: t('home.changeMetadata.desc') },
|
||||
{ displayText: t('home.ScannerImageSplit.title'), icon: MdOutlineScanner, dest: "/nothing-here", tooltip: t('home.ScannerImageSplit.desc') },
|
||||
{ displayText: t('home.sign.title'), icon: BsVectorPen, dest: "/nothing-here", tooltip: t('home.sign.desc') },
|
||||
{ displayText: t('home.flatten.title'), icon: PiArrowsInLineVertical, dest: "/nothing-here", tooltip: t('home.flatten.desc') },
|
||||
{ displayText: t('home.repair.title'), icon: BsWrench, dest: "/nothing-here", tooltip: t('home.repair.desc') },
|
||||
{ displayText: t('home.removeBlanks.title'), icon: BsFile, dest: "/nothing-here", tooltip: t('home.removeBlanks.desc') },
|
||||
{ displayText: t('home.compare.title'), icon: GiScales, dest: "/nothing-here", tooltip: t('home.compare.desc') },
|
||||
{ displayText: t('home.add-page-numbers.title'), icon: TbNumbers, dest: "/nothing-here", tooltip: t('home.add-page-numbers.desc') },
|
||||
{ displayText: t('home.auto-rename.title'), icon: BsFonts, dest: "/nothing-here", tooltip: t('home.auto-rename.desc') },
|
||||
{ displayText: t('home.getPdfInfo.title'), icon: BsInfoCircle, dest: "/nothing-here", tooltip: t('home.getPdfInfo.desc') },
|
||||
{ displayText: t('home.showJS.title'), icon: BsFiletypeJs, dest: "/nothing-here", tooltip: t('home.showJS.desc') },
|
||||
]},
|
||||
] as Array<NavInfoItem | NavInfoSublist>;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
return (
|
||||
<Navbar expand="lg" className="bg-light">
|
||||
<Container>
|
||||
@ -94,7 +157,7 @@ function Layout() {
|
||||
</LinkContainer>
|
||||
<Navbar.Toggle aria-controls="basic-navbar-nav"/>
|
||||
<Navbar.Collapse id="basic-navbar-nav">
|
||||
<Nav className="me-auto">
|
||||
<Nav>
|
||||
{navInfo.map((ni, idx) => {
|
||||
var element;
|
||||
if ('dest' in ni) {
|
||||
@ -112,10 +175,14 @@ function Layout() {
|
||||
}
|
||||
})}
|
||||
</Nav>
|
||||
<div className="flex-fill-remaining-space"></div>
|
||||
<Nav>
|
||||
<LanguagePicker />
|
||||
</Nav>
|
||||
</Navbar.Collapse>
|
||||
</Container>
|
||||
</Navbar>
|
||||
);
|
||||
}
|
||||
|
||||
export default Layout;
|
||||
export default NavBar;
|
16
client-tauri/src/general.css
Normal file
16
client-tauri/src/general.css
Normal file
@ -0,0 +1,16 @@
|
||||
|
||||
div[lang-direction=ltr] * {
|
||||
direction: ltr;
|
||||
}
|
||||
div[lang-direction=rtl] * {
|
||||
direction: rtl;
|
||||
text-align: right;
|
||||
}
|
||||
.ignore-rtl {
|
||||
direction: ltr !important;
|
||||
text-align: left !important;
|
||||
}
|
||||
|
||||
.flex-fill-remaining-space {
|
||||
flex-grow: 10000000;
|
||||
}
|
853
client-tauri/src/locales/ar.json
Normal file
853
client-tauri/src/locales/ar.json
Normal file
@ -0,0 +1,853 @@
|
||||
{
|
||||
"translation": {
|
||||
"language": {
|
||||
"name":"العربية",
|
||||
"flag": "🇸🇦",
|
||||
"direction": "rtl"
|
||||
},
|
||||
"pdfPrompt": "اختر PDF",
|
||||
"multiPdfPrompt": "اختر ملفات PDF (2+)",
|
||||
"multiPdfDropPrompt": "حدد (أو اسحب وأفلت) جميع ملفات PDF التي تحتاجها",
|
||||
"imgPrompt": "اختر صورة",
|
||||
"genericSubmit": "إرسال",
|
||||
"processTimeWarning": "تحذير: يمكن أن تستغرق هذه العملية ما يصل إلى دقيقة حسب حجم الملف",
|
||||
"pageOrderPrompt": "ترتيب الصفحات (أدخل قائمة بأرقام الصفحات مفصولة بفواصل):",
|
||||
"goToPage": "اذهب",
|
||||
"true": "\u0635\u062D\u064A\u062D",
|
||||
"false": "\u062E\u0637\u0623",
|
||||
"unknown": "\u063A\u064A\u0631 \u0645\u0639\u0631\u0648\u0641",
|
||||
"save": "\u062D\u0641\u0638",
|
||||
"close": "\u0625\u063A\u0644\u0627\u0642",
|
||||
"filesSelected": "الملفات المحددة",
|
||||
"noFavourites": "لم تتم إضافة أي مفضلات",
|
||||
"bored": "الانتظار بالملل؟",
|
||||
"alphabet": "\u0627\u0644\u0623\u0628\u062C\u062F\u064A\u0629",
|
||||
"downloadPdf": "تنزيل PDF",
|
||||
"text": "نص",
|
||||
"font": "الخط",
|
||||
"selectFillter": "- حدد -",
|
||||
"pageNum": "رقم الصفحة",
|
||||
"sizes": {
|
||||
"small": "Small",
|
||||
"medium": "Medium",
|
||||
"large": "Large",
|
||||
"x-large": "X-Large"
|
||||
},
|
||||
"error": {
|
||||
"pdfPassword": "The PDF Document is passworded and either the password was not provided or was incorrect"
|
||||
},
|
||||
"delete": "Delete",
|
||||
"username": "Username",
|
||||
"password": "Password",
|
||||
"welcome": "Welcome",
|
||||
"property": "Property",
|
||||
"black": "Black",
|
||||
"white": "White",
|
||||
"red": "Red",
|
||||
"green": "Green",
|
||||
"blue": "Blue",
|
||||
"custom": "Custom...",
|
||||
"changedCredsMessage": "Credentials changed!",
|
||||
"notAuthenticatedMessage": "User not authenticated.",
|
||||
"userNotFoundMessage": "User not found.",
|
||||
"incorrectPasswordMessage": "Current password is incorrect.",
|
||||
"usernameExistsMessage": "New Username already exists.",
|
||||
"navbar": {
|
||||
"convert": "تحويل",
|
||||
"security": "الأمان",
|
||||
"other": "أخرى",
|
||||
"darkmode": "الوضع الداكن",
|
||||
"pageOps": "عمليات الصفحة",
|
||||
"settings": "\u0625\u0639\u062F\u0627\u062F\u0627\u062A"
|
||||
},
|
||||
"settings": {
|
||||
"title": "\u0627\u0644\u0625\u0639\u062F\u0627\u062F\u0627\u062A",
|
||||
"update": "\u0627\u0644\u062A\u062D\u062F\u064A\u062B \u0645\u062A\u0627\u062D",
|
||||
"appVersion": "\u0625\u0635\u062F\u0627\u0631 \u0627\u0644\u062A\u0637\u0628\u064A\u0642:",
|
||||
"downloadOption": {
|
||||
"1": "\u0641\u062A\u062D \u0641\u064A \u0646\u0641\u0633 \u0627\u0644\u0646\u0627\u0641\u0630\u0629",
|
||||
"2": "\u0641\u062A\u062D \u0641\u064A \u0646\u0627\u0641\u0630\u0629 \u062C\u062F\u064A\u062F\u0629",
|
||||
"3": "\u062A\u0646\u0632\u064A\u0644 \u0627\u0644\u0645\u0644\u0641",
|
||||
"title": "\u062A\u062D\u062F\u064A\u062F \u062E\u064A\u0627\u0631 \u0627\u0644\u062A\u0646\u0632\u064A\u0644 (\u0644\u0644\u062A\u0646\u0632\u064A\u0644\u0627\u062A \u0630\u0627\u062A \u0627\u0644\u0645\u0644\u0641 \u0627\u0644\u0648\u0627\u062D\u062F \u063A\u064A\u0631 \u0627\u0644\u0645\u0636\u063A\u0648\u0637):"
|
||||
},
|
||||
"zipThreshold": "\u0645\u0644\u0641\u0627\u062A \u0645\u0636\u063A\u0648\u0637\u0629 \u0639\u0646\u062F \u062A\u062C\u0627\u0648\u0632 \u0639\u062F\u062F \u0627\u0644\u0645\u0644\u0641\u0627\u062A \u0627\u0644\u062A\u064A \u062A\u0645 \u062A\u0646\u0632\u064A\u0644\u0647\u0627",
|
||||
"signOut": "Sign Out",
|
||||
"accountSettings": "Account Settings"
|
||||
},
|
||||
"changeCreds": {
|
||||
"title": "Change Credentials",
|
||||
"header": "Update Your Account Details",
|
||||
"changeUserAndPassword": "You are using default login credentials. Please enter a new password (and username if wanted)",
|
||||
"newUsername": "New Username",
|
||||
"oldPassword": "Current Password",
|
||||
"newPassword": "New Password",
|
||||
"confirmNewPassword": "Confirm New Password",
|
||||
"submit": "Submit Changes"
|
||||
},
|
||||
"account": {
|
||||
"title": "Account Settings",
|
||||
"accountSettings": "Account Settings",
|
||||
"adminSettings": "Admin Settings - View and Add Users",
|
||||
"userControlSettings": "User Control Settings",
|
||||
"changeUsername": "Change Username",
|
||||
"password": "Confirmation Password",
|
||||
"oldPassword": "Old password",
|
||||
"newPassword": "New Password",
|
||||
"changePassword": "Change Password",
|
||||
"confirmNewPassword": "Confirm New Password",
|
||||
"signOut": "Sign Out",
|
||||
"yourApiKey": "Your API Key",
|
||||
"syncTitle": "Sync browser settings with Account",
|
||||
"settingsCompare": "Settings Comparison:",
|
||||
"property": "Property",
|
||||
"webBrowserSettings": "Web Browser Setting",
|
||||
"syncToBrowser": "Sync Account -> Browser",
|
||||
"syncToAccount": "Sync Account <- Browser"
|
||||
},
|
||||
"adminUserSettings": {
|
||||
"title": "User Control Settings",
|
||||
"header": "Admin User Control Settings",
|
||||
"admin": "Admin",
|
||||
"user": "User",
|
||||
"addUser": "Add New User",
|
||||
"roles": "Roles",
|
||||
"role": "Role",
|
||||
"actions": "Actions",
|
||||
"apiUser": "Limited API User",
|
||||
"webOnlyUser": "Web Only User",
|
||||
"forceChange": "Force user to change username/password on login",
|
||||
"submit": "Save User"
|
||||
},
|
||||
"home": {
|
||||
"desc": "متجرك الشامل المستضاف محليًا لجميع احتياجات PDF الخاصة بك.",
|
||||
"searchBar": "Search for features...",
|
||||
"viewPdf": {
|
||||
"title": "View PDF",
|
||||
"desc": "View, annotate, add text or images"
|
||||
},
|
||||
"multiTool": {
|
||||
"title": "أداة متعددة PDF",
|
||||
"desc": "دمج الصفحات وتدويرها وإعادة ترتيبها وإزالتها"
|
||||
},
|
||||
"merge": {
|
||||
"title": "دمج ملفات",
|
||||
"desc": "دمج ملفات PDF متعددة في ملف واحد بسهولة."
|
||||
},
|
||||
"split": {
|
||||
"title": "انقسام ملفات",
|
||||
"desc": "تقسيم ملفات PDF إلى مستندات متعددة"
|
||||
},
|
||||
"rotate": {
|
||||
"title": "تدوير ملفات",
|
||||
"desc": "قم بتدوير ملفات PDF الخاصة بك بسهولة."
|
||||
},
|
||||
"imageToPdf": {
|
||||
"title": "صورة إلى PDF",
|
||||
"desc": "تحويل الصور (PNG ، JPEG ، GIF) إلى PDF."
|
||||
},
|
||||
"pdfToImage": {
|
||||
"title": "تحويل PDF إلى صورة",
|
||||
"desc": "تحويل ملف PDF إلى صورة. (PNG ، JPEG ، GIF)"
|
||||
},
|
||||
"pdfOrganiser": {
|
||||
"title": "منظم",
|
||||
"desc": "إزالة / إعادة ترتيب الصفحات بأي ترتيب"
|
||||
},
|
||||
"addImage": {
|
||||
"title": "إضافة صورة إلى ملف PDF",
|
||||
"desc": "إضافة صورة إلى موقع معين في PDF (العمل قيد التقدم)"
|
||||
},
|
||||
"watermark": {
|
||||
"title": "إضافة علامة مائية",
|
||||
"desc": "أضف علامة مائية مخصصة إلى مستند PDF الخاص بك."
|
||||
},
|
||||
"permissions": {
|
||||
"title": "تغيير الأذونات",
|
||||
"desc": "قم بتغيير أذونات مستند PDF الخاص بك"
|
||||
},
|
||||
"removePages": {
|
||||
"title": "إزالة الصفحات",
|
||||
"desc": "حذف الصفحات غير المرغوب فيها من مستند PDF الخاص بك."
|
||||
},
|
||||
"addPassword": {
|
||||
"title": "إضافة كلمة مرور",
|
||||
"desc": "تشفير مستند PDF الخاص بك بكلمة مرور."
|
||||
},
|
||||
"removePassword": {
|
||||
"title": "إزالة كلمة المرور",
|
||||
"desc": "إزالة الحماية بكلمة مرور من مستند PDF الخاص بك."
|
||||
},
|
||||
"compressPdfs": {
|
||||
"title": "ضغط ملفات",
|
||||
"desc": "ضغط ملفات PDF لتقليل حجم الملف."
|
||||
},
|
||||
"changeMetadata": {
|
||||
"title": "\u062A\u063A\u064A\u064A\u0631 \u0627\u0644\u0628\u064A\u0627\u0646\u0627\u062A \u0627\u0644\u0648\u0635\u0641\u064A\u0629",
|
||||
"desc": "\u062A\u063A\u064A\u064A\u0631 / \u0625\u0632\u0627\u0644\u0629 / \u0625\u0636\u0627\u0641\u0629 \u0628\u064A\u0627\u0646\u0627\u062A \u0623\u0648\u0644\u064A\u0629 \u0645\u0646 \u0645\u0633\u062A\u0646\u062F PDF"
|
||||
},
|
||||
"fileToPDF": {
|
||||
"title": "\u062A\u062D\u0648\u064A\u0644 \u0627\u0644\u0645\u0644\u0641 \u0625\u0644\u0649 PDF",
|
||||
"desc": "\u062A\u062D\u0648\u064A\u0644 \u0623\u064A \u0645\u0644\u0641 \u062A\u0642\u0631\u064A\u0628\u0627 \u0625\u0644\u0649 PDF (DOCX \u0648PNG \u0648XLS \u0648PPT \u0648TXT \u0648\u0627\u0644\u0645\u0632\u064A\u062F)"
|
||||
},
|
||||
"ocr": {
|
||||
"title": "\u062A\u0634\u063A\u064A\u0644 OCR \u0639\u0644\u0649 PDF \u0648 / \u0623\u0648 \u0645\u0633\u062D \u0636\u0648\u0626\u064A",
|
||||
"desc": "\u064A\u0642\u0648\u0645 \u0628\u0631\u0646\u0627\u0645\u062C \u0627\u0644\u062A\u0646\u0638\u064A\u0641 \u0628\u0645\u0633\u062D \u0648\u0627\u0643\u062A\u0634\u0627\u0641 \u0627\u0644\u0646\u0635 \u0645\u0646 \u0627\u0644\u0635\u0648\u0631 \u062F\u0627\u062E\u0644 \u0645\u0644\u0641 PDF \u0648\u064A\u0639\u064A\u062F \u0625\u0636\u0627\u0641\u062A\u0647 \u0643\u0646\u0635"
|
||||
},
|
||||
"extractImages": {
|
||||
"title": "\u0627\u0633\u062A\u062E\u0631\u0627\u062C \u0627\u0644\u0635\u0648\u0631",
|
||||
"desc": "\u064A\u0633\u062A\u062E\u0631\u062C \u062C\u0645\u064A\u0639 \u0627\u0644\u0635\u0648\u0631 \u0645\u0646 \u0645\u0644\u0641 PDF \u0648\u064A\u062D\u0641\u0638\u0647\u0627 \u0641\u064A \u0627\u0644\u0631\u0645\u0632 \u0627\u0644\u0628\u0631\u064A\u062F\u064A"
|
||||
},
|
||||
"pdfToPDFA": {
|
||||
"title": "\u062A\u062D\u0648\u064A\u0644 \u0645\u0644\u0641\u0627\u062A PDF \u0625\u0644\u0649 PDF / A",
|
||||
"desc": "\u062A\u062D\u0648\u064A\u0644 PDF \u0625\u0644\u0649 PDF / A \u0644\u0644\u062A\u062E\u0632\u064A\u0646 \u0637\u0648\u064A\u0644 \u0627\u0644\u0645\u062F\u0649"
|
||||
},
|
||||
"PDFToWord": {
|
||||
"title": "تحويل PDF إلى Word",
|
||||
"desc": "تحويل PDF إلى تنسيقات Word (DOC و DOCX و ODT)"
|
||||
},
|
||||
"PDFToPresentation": {
|
||||
"title": "PDF للعرض التقديمي",
|
||||
"desc": "تحويل PDF إلى تنسيقات عرض تقديمي (PPT و PPTX و ODP)"
|
||||
},
|
||||
"PDFToText": {
|
||||
"title": "تحويل PDF إلى نص / RTF",
|
||||
"desc": "تحويل PDF إلى تنسيق نص أو RTF"
|
||||
},
|
||||
"PDFToHTML": {
|
||||
"title": "تحويل PDF إلى HTML",
|
||||
"desc": "تحويل PDF إلى تنسيق HTML"
|
||||
},
|
||||
"PDFToXML": {
|
||||
"title": "تحويل PDF إلى XML",
|
||||
"desc": "تحويل PDF إلى تنسيق XML"
|
||||
},
|
||||
"ScannerImageSplit": {
|
||||
"title": "كشف / انقسام الصور الممسوحة ضوئيًا",
|
||||
"desc": "تقسيم عدة صور من داخل صورة / ملف PDF"
|
||||
},
|
||||
"sign": {
|
||||
"title": "تسجيل الدخول",
|
||||
"desc": "إضافة التوقيع إلى PDF عن طريق الرسم أو النص أو الصورة"
|
||||
},
|
||||
"flatten": {
|
||||
"title": "تسطيح",
|
||||
"desc": "قم بإزالة كافة العناصر والنماذج التفاعلية من ملف PDF"
|
||||
},
|
||||
"repair": {
|
||||
"title": "إصلاح",
|
||||
"desc": "يحاول إصلاح ملف PDF تالف / معطل"
|
||||
},
|
||||
"removeBlanks": {
|
||||
"title": "إزالة الصفحات الفارغة",
|
||||
"desc": "يكتشف ويزيل الصفحات الفارغة من المستند"
|
||||
},
|
||||
"compare": {
|
||||
"title": "قارن",
|
||||
"desc": "يقارن ويظهر الاختلافات بين 2 من مستندات PDF"
|
||||
},
|
||||
"certSign": {
|
||||
"title": "Sign with Certificate",
|
||||
"desc": "Signs a PDF with a Certificate/Key (PEM/P12)"
|
||||
},
|
||||
"pageLayout": {
|
||||
"title": "Multi-Page Layout",
|
||||
"desc": "Merge multiple pages of a PDF document into a single page"
|
||||
},
|
||||
"scalePages": {
|
||||
"title": "Adjust page size/scale",
|
||||
"desc": "Change the size/scale of page and/or its contents."
|
||||
},
|
||||
"pipeline": {
|
||||
"title": "Pipeline (Advanced)",
|
||||
"desc": "Run multiple actions on PDFs by defining pipeline scripts"
|
||||
},
|
||||
"add-page-numbers": {
|
||||
"title": "Add Page Numbers",
|
||||
"desc": "Add Page numbers throughout a document in a set location"
|
||||
},
|
||||
"auto-rename": {
|
||||
"title": "Auto Rename PDF File",
|
||||
"desc": "Auto renames a PDF file based on its detected header"
|
||||
},
|
||||
"adjust-contrast": {
|
||||
"title": "Adjust Colors/Contrast",
|
||||
"desc": "Adjust Contrast, Saturation and Brightness of a PDF"
|
||||
},
|
||||
"crop": {
|
||||
"title": "Crop PDF",
|
||||
"desc": "Crop a PDF to reduce its size (maintains text!)"
|
||||
},
|
||||
"autoSplitPDF": {
|
||||
"title": "Auto Split Pages",
|
||||
"desc": "Auto Split Scanned PDF with physical scanned page splitter QR Code"
|
||||
},
|
||||
"sanitizePdf": {
|
||||
"title": "Sanitize",
|
||||
"desc": "Remove scripts and other elements from PDF files"
|
||||
},
|
||||
"URLToPDF": {
|
||||
"title": "URL/Website To PDF",
|
||||
"desc": "Converts any http(s)URL to PDF"
|
||||
},
|
||||
"HTMLToPDF": {
|
||||
"title": "HTML to PDF",
|
||||
"desc": "Converts any HTML file or zip to PDF"
|
||||
},
|
||||
"MarkdownToPDF": {
|
||||
"title": "Markdown to PDF",
|
||||
"desc": "Converts any Markdown file to PDF"
|
||||
},
|
||||
"getPdfInfo": {
|
||||
"title": "Get ALL Info on PDF",
|
||||
"desc": "Grabs any and all information possible on PDFs"
|
||||
},
|
||||
"extractPage": {
|
||||
"title": "Extract page(s)",
|
||||
"desc": "Extracts select pages from PDF"
|
||||
},
|
||||
"PdfToSinglePage": {
|
||||
"title": "PDF to Single Large Page",
|
||||
"desc": "Merges all PDF pages into one large single page"
|
||||
},
|
||||
"showJS": {
|
||||
"title": "Show Javascript",
|
||||
"desc": "Searches and displays any JS injected into a PDF"
|
||||
},
|
||||
"autoRedact": {
|
||||
"title": "Auto Redact",
|
||||
"desc": "Auto Redacts(Blacks out) text in a PDF based on input text"
|
||||
}
|
||||
},
|
||||
"viewPdf": {
|
||||
"tags": "view,read,annotate,text,image",
|
||||
"title": "View PDF",
|
||||
"header": "View PDF"
|
||||
},
|
||||
"multiTool": {
|
||||
"tags": "Multi Tool,Multi operation,UI,click drag,front end,client side",
|
||||
"title": "أداة متعددة PDF",
|
||||
"header": "أداة متعددة PDF"
|
||||
},
|
||||
"merge": {
|
||||
"tags": "merge,Page operations,Back end,server side",
|
||||
"title": "دمج",
|
||||
"header": "دمج ملفات PDF متعددة (2+)",
|
||||
"sortByName": "Sort by name",
|
||||
"sortByDate": "Sort by date",
|
||||
"submit": "دمج"
|
||||
},
|
||||
"split": {
|
||||
"tags": "Page operations,divide,Multi Page,cut,server side",
|
||||
"title": "انقسام PDF",
|
||||
"header": "تقسيم PDF",
|
||||
"desc": {
|
||||
"1": "الأرقام التي تحددها هي رقم الصفحة التي تريد تقسيمها",
|
||||
"2": "على هذا النحو ، سيؤدي تحديد 1،3،7-8 إلى تقسيم مستند من 10 صفحات إلى 6 PDFS منفصلة مع:",
|
||||
"3": "المستند رقم 1: الصفحة 1",
|
||||
"4": "المستند رقم 2: الصفحتان 2 و 3",
|
||||
"5": "المستند رقم 3: الصفحة 4 و 5 و 6",
|
||||
"6": "المستند رقم 4: الصفحة 7",
|
||||
"7": "المستند رقم 5: الصفحة 8",
|
||||
"8": "المستند رقم 6: الصفحتان 9 و 10"
|
||||
},
|
||||
"splitPages": "أدخل الصفحات المراد تقسيمها:",
|
||||
"submit": "Split"
|
||||
},
|
||||
"rotate": {
|
||||
"tags": "server side",
|
||||
"title": "تدوير PDF",
|
||||
"header": "تدوير PDF",
|
||||
"selectAngle": "حدد زاوية الدوران (بمضاعفات 90 درجة):",
|
||||
"submit": "استدارة"
|
||||
},
|
||||
"imageToPdf": {
|
||||
"tags": "conversion,img,jpg,picture,photo"
|
||||
},
|
||||
"pdfToImage": {
|
||||
"tags": "conversion,img,jpg,picture,photo",
|
||||
"title": "تحويل PDF إلى صورة",
|
||||
"header": "تحويل PDF إلى صورة",
|
||||
"selectText": "تنسيق الصورة",
|
||||
"singleOrMultiple": "\u0646\u0648\u0639 \u0646\u062A\u064A\u062C\u0629 \u0627\u0644\u0635\u0648\u0631\u0629",
|
||||
"single": "\u0635\u0648\u0631\u0629 \u0648\u0627\u062D\u062F\u0629 \u0643\u0628\u064A\u0631\u0629",
|
||||
"multi": "\u0635\u0648\u0631 \u0645\u062A\u0639\u062F\u062F\u0629",
|
||||
"colorType": "\u0646\u0648\u0639 \u0627\u0644\u0644\u0648\u0646",
|
||||
"color": "\u0627\u0644\u0644\u0648\u0646",
|
||||
"grey": "\u062A\u062F\u0631\u062C \u0627\u0644\u0631\u0645\u0627\u062F\u064A",
|
||||
"blackwhite": "\u0623\u0628\u064A\u0636 \u0648\u0623\u0633\u0648\u062F (\u0642\u062F \u064A\u0641\u0642\u062F \u0627\u0644\u0628\u064A\u0627\u0646\u0627\u062A!)",
|
||||
"submit": "تحول"
|
||||
},
|
||||
"pdfOrganiser": {
|
||||
"tags": "duplex,even,odd,sort,move",
|
||||
"title": "منظم الصفحة",
|
||||
"header": "منظم صفحات PDF",
|
||||
"submit": "إعادة ترتيب الصفحات"
|
||||
},
|
||||
"addImage": {
|
||||
"tags": "img,jpg,picture,photo",
|
||||
"title": "إضافة صورة",
|
||||
"header": "إضافة صورة إلى PDF",
|
||||
"everyPage": "كل صفحة؟",
|
||||
"upload": "إضافة صورة",
|
||||
"submit": "إضافة صورة"
|
||||
},
|
||||
"watermark": {
|
||||
"tags": "Text,repeating,label,own,copyright,trademark,img,jpg,picture,photo",
|
||||
"title": "إضافة علامة مائية",
|
||||
"header": "إضافة علامة مائية",
|
||||
"selectText": {
|
||||
"1": "حدد PDF لإضافة العلامة المائية إلى:",
|
||||
"2": "نص العلامة المائية:",
|
||||
"3": "حجم الخط:",
|
||||
"4": "دوران (0-360):",
|
||||
"5": "widthSpacer (مسافة بين كل علامة مائية أفقيًا):",
|
||||
"6": "heightSpacer (مسافة بين كل علامة مائية عموديًا):",
|
||||
"7": "\u0627\u0644\u062A\u0639\u062A\u064A\u0645 (0\u066A - 100\u066A):",
|
||||
"8": "Watermark Type:",
|
||||
"9": "Watermark Image:"
|
||||
},
|
||||
"submit": "إضافة علامة مائية"
|
||||
},
|
||||
"permissions": {
|
||||
"tags": "read,write,edit,print",
|
||||
"title": "تغيير الأذونات",
|
||||
"header": "تغيير الأذونات",
|
||||
"warning": "تحذير من أن تكون هذه الأذونات غير قابلة للتغيير ، يوصى بتعيينها بكلمة مرور عبر صفحة إضافة كلمة المرور",
|
||||
"selectText": {
|
||||
"1": "حدد ملف PDF لتغيير الأذونات",
|
||||
"2": "أذونات لتعيينها",
|
||||
"3": "منع تجميع المستند",
|
||||
"4": "منع استخراج المحتوى",
|
||||
"5": "منع الاستخراج للوصول",
|
||||
"6": "منع ملء النموذج",
|
||||
"7": "منع التعديل",
|
||||
"8": "منع تعديل التعليق التوضيحي",
|
||||
"9": "منع الطباعة",
|
||||
"10": "منع طباعة التنسيقات المختلفة"
|
||||
},
|
||||
"submit": "تغيير"
|
||||
},
|
||||
"removePages": {
|
||||
"tags": "Remove pages,delete pages"
|
||||
},
|
||||
"addPassword": {
|
||||
"tags": "secure,security",
|
||||
"title": "إضافة كلمة مرور",
|
||||
"header": "إضافة كلمة مرور (تشفير)",
|
||||
"selectText": {
|
||||
"1": "حدد ملف PDF للتشفير",
|
||||
"2": "كلمة المرور",
|
||||
"3": "طول مفتاح التشفير",
|
||||
"4": "القيم الأعلى تكون أقوى ، لكن القيم الأقل لها توافق أفضل.",
|
||||
"5": "أذونات للتعيين",
|
||||
"6": "منع تجميع المستند",
|
||||
"7": "منع استخراج المحتوى",
|
||||
"8": "منع الاستخراج للوصول",
|
||||
"9": "منع ملء النموذج",
|
||||
"10": "منع التعديل",
|
||||
"11": "منع تعديل التعليقات التوضيحية",
|
||||
"12": "منع الطباعة",
|
||||
"13": "منع طباعة تنسيقات مختلفة",
|
||||
"14": "Owner Password",
|
||||
"15": "Restricts what can be done with the document once it is opened (Not supported by all readers)",
|
||||
"16": "Restricts the opening of the document itself"
|
||||
},
|
||||
"submit": "تشفير"
|
||||
},
|
||||
"removePassword": {
|
||||
"tags": "secure,Decrypt,security,unpassword,delete password",
|
||||
"title": "إزالة كلمة المرور",
|
||||
"header": "إزالة كلمة المرور (فك التشفير)",
|
||||
"selectText": {
|
||||
"1": "حدد PDF لفك التشفير",
|
||||
"2": "كلمة المرور"
|
||||
},
|
||||
"submit": "إزالة"
|
||||
},
|
||||
"compressPdfs": {
|
||||
"tags": "squish,small,tiny"
|
||||
},
|
||||
"fileToPDF": {
|
||||
"tags": "transformation,format,document,picture,slide,text,conversion,office,docs,word,excel,powerpoint",
|
||||
"title": "\u0645\u0644\u0641 \u0625\u0644\u0649 PDF",
|
||||
"header": "\u062A\u062D\u0648\u064A\u0644 \u0623\u064A \u0645\u0644\u0641 \u0625\u0644\u0649 PDF",
|
||||
"credit": "\u062A\u0633\u062A\u062E\u062F\u0645 \u0647\u0630\u0647 \u0627\u0644\u062E\u062F\u0645\u0629 \u0644\u064A\u0628\u0631 \u0623\u0648\u0641\u064A\u0633 \u0648\u0623\u0648\u0646\u0648\u0643\u0648\u0646\u0641 \u0644\u062A\u062D\u0648\u064A\u0644 \u0627\u0644\u0645\u0644\u0641\u0627\u062A.",
|
||||
"supportedFileTypes": "\u064A\u062C\u0628 \u0623\u0646 \u062A\u062A\u0636\u0645\u0646 \u0623\u0646\u0648\u0627\u0639 \u0627\u0644\u0645\u0644\u0641\u0627\u062A \u0627\u0644\u0645\u062F\u0639\u0648\u0645\u0629 \u0645\u0627 \u064A\u0644\u064A \u0648\u0644\u0643\u0646 \u0644\u0644\u062D\u0635\u0648\u0644 \u0639\u0644\u0649 \u0642\u0627\u0626\u0645\u0629 \u0645\u062D\u062F\u062B\u0629 \u0643\u0627\u0645\u0644\u0629 \u0628\u0627\u0644\u062A\u0646\u0633\u064A\u0642\u0627\u062A \u0627\u0644\u0645\u062F\u0639\u0648\u0645\u0629 \u060C \u064A\u0631\u062C\u0649 \u0627\u0644\u0631\u062C\u0648\u0639 \u0625\u0644\u0649 \u0648\u062B\u0627\u0626\u0642 LibreOffice",
|
||||
"submit": "\u062A\u062D\u0648\u064A\u0644 \u0625\u0644\u0649 PDF"
|
||||
},
|
||||
"ocr": {
|
||||
"tags": "recognition,text,image,scan,read,identify,detection,editable",
|
||||
"title": "\u0627\u0644\u062A\u0639\u0631\u0641 \u0627\u0644\u0636\u0648\u0626\u064A \u0639\u0644\u0649 \u0627\u0644\u062D\u0631\u0648\u0641 / \u062A\u0646\u0638\u064A\u0641 \u0627\u0644\u0645\u0633\u062D \u0627\u0644\u0636\u0648\u0626\u064A",
|
||||
"header": "\u0645\u0633\u062D \u0627\u0644\u0645\u0633\u062D \u0627\u0644\u0636\u0648\u0626\u064A / \u0627\u0644\u062A\u0639\u0631\u0641 \u0627\u0644\u0636\u0648\u0626\u064A \u0639\u0644\u0649 \u0627\u0644\u062D\u0631\u0648\u0641 (\u0627\u0644\u062A\u0639\u0631\u0641 \u0627\u0644\u0636\u0648\u0626\u064A \u0639\u0644\u0649 \u0627\u0644\u062D\u0631\u0648\u0641)",
|
||||
"selectText": {
|
||||
"1": "\u062D\u062F\u062F \u0627\u0644\u0644\u063A\u0627\u062A \u0627\u0644\u062A\u064A \u0633\u064A\u062A\u0645 \u0627\u0643\u062A\u0634\u0627\u0641\u0647\u0627 \u062F\u0627\u062E\u0644 \u0645\u0644\u0641 PDF (\u0627\u0644\u0644\u063A\u0627\u062A \u0627\u0644\u0645\u062F\u0631\u062C\u0629 \u0647\u064A \u062A\u0644\u0643 \u0627\u0644\u062A\u064A \u062A\u0645 \u0627\u0643\u062A\u0634\u0627\u0641\u0647\u0627 \u062D\u0627\u0644\u064A\u064B\u0627):",
|
||||
"2": "\u0625\u0646\u062A\u0627\u062C \u0645\u0644\u0641 \u0646\u0635\u064A \u064A\u062D\u062A\u0648\u064A \u0639\u0644\u0649 \u0646\u0635 OCR \u0628\u062C\u0627\u0646\u0628 \u0645\u0644\u0641 PDF \u0627\u0644\u0630\u064A \u062A\u0645 \u0625\u0639\u062F\u0627\u062F\u0647 \u0628\u0648\u0627\u0633\u0637\u0629 OCR",
|
||||
"3": "\u062A\u0645 \u0645\u0633\u062D \u0627\u0644\u0635\u0641\u062D\u0627\u062A \u0627\u0644\u0635\u062D\u064A\u062D\u0629 \u0636\u0648\u0626\u064A\u064B\u0627 \u0628\u0632\u0627\u0648\u064A\u0629 \u0645\u0646\u062D\u0631\u0641\u0629 \u0639\u0646 \u0637\u0631\u064A\u0642 \u062A\u062F\u0648\u064A\u0631\u0647\u0627 \u0645\u0631\u0629 \u0623\u062E\u0631\u0649 \u0641\u064A \u0645\u0643\u0627\u0646\u0647\u0627",
|
||||
"4": "\u0635\u0641\u062D\u0629 \u0646\u0638\u064A\u0641\u0629 \u0644\u0630\u0644\u0643 \u0645\u0646 \u063A\u064A\u0631 \u0627\u0644\u0645\u062D\u062A\u0645\u0644 \u0623\u0646 \u064A\u062C\u062F OCR \u0646\u0635\u064B\u0627 \u0641\u064A \u0636\u0648\u0636\u0627\u0621 \u0627\u0644\u062E\u0644\u0641\u064A\u0629. (\u0644\u0627 \u064A\u0648\u062C\u062F \u062A\u063A\u064A\u064A\u0631 \u0641\u064A \u0627\u0644\u0625\u062E\u0631\u0627\u062C)",
|
||||
"5": "\u0635\u0641\u062D\u0629 \u0646\u0638\u064A\u0641\u0629 \u060C \u0644\u0630\u0644\u0643 \u0645\u0646 \u063A\u064A\u0631 \u0627\u0644\u0645\u062D\u062A\u0645\u0644 \u0623\u0646 \u064A\u062C\u062F OCR \u0646\u0635\u064B\u0627 \u0641\u064A \u0636\u0648\u0636\u0627\u0621 \u0627\u0644\u062E\u0644\u0641\u064A\u0629 \u060C \u0648\u064A\u062D\u0627\u0641\u0638 \u0639\u0644\u0649 \u0627\u0644\u062A\u0646\u0638\u064A\u0641 \u0641\u064A \u0627\u0644\u0625\u062E\u0631\u0627\u062C.",
|
||||
"6": "\u064A\u062A\u062C\u0627\u0647\u0644 \u0627\u0644\u0635\u0641\u062D\u0627\u062A \u0627\u0644\u062A\u064A \u062A\u062D\u062A\u0648\u064A \u0639\u0644\u0649 \u0646\u0635 \u062A\u0641\u0627\u0639\u0644\u064A \u060C \u0641\u0642\u0637 \u0635\u0641\u062D\u0627\u062A OCRs \u0627\u0644\u062A\u064A \u0647\u064A \u0635\u0648\u0631",
|
||||
"7": "\u0641\u0631\u0636 \u0627\u0644\u062A\u0639\u0631\u0641 \u0627\u0644\u0636\u0648\u0626\u064A \u0639\u0644\u0649 \u0627\u0644\u062D\u0631\u0648\u0641 \u060C \u0633\u064A\u0624\u062F\u064A \u0627\u0644\u062A\u0639\u0631\u0641 \u0627\u0644\u0636\u0648\u0626\u064A \u0639\u0644\u0649 \u0627\u0644\u062D\u0631\u0648\u0641 \u0639\u0644\u0649 \u0643\u0644 \u0635\u0641\u062D\u0629 \u0625\u0644\u0649 \u0625\u0632\u0627\u0644\u0629 \u062C\u0645\u064A\u0639 \u0639\u0646\u0627\u0635\u0631 \u0627\u0644\u0646\u0635 \u0627\u0644\u0623\u0635\u0644\u064A",
|
||||
"8": "\u0639\u0627\u062F\u064A (\u062E\u0637\u0623 \u0625\u0630\u0627 \u0643\u0627\u0646 PDF \u064A\u062D\u062A\u0648\u064A \u0639\u0644\u0649 \u0646\u0635)",
|
||||
"9": "\u0625\u0639\u062F\u0627\u062F\u0627\u062A \u0625\u0636\u0627\u0641\u064A\u0629",
|
||||
"10": "\u0648\u0636\u0639 \u0627\u0644\u062A\u0639\u0631\u0641 \u0627\u0644\u0636\u0648\u0626\u064A \u0639\u0644\u0649 \u0627\u0644\u062D\u0631\u0648\u0641",
|
||||
"11": "إزالة الصور بعد التعرف الضوئي على الحروف (يزيل كل الصور ، يكون مفيدًا فقط إذا كان جزءًا من خطوة التحويل)",
|
||||
"12": "نوع العرض (متقدم)"
|
||||
},
|
||||
"help": "\u064A\u0631\u062C\u0649 \u0642\u0631\u0627\u0621\u0629 \u0647\u0630\u0647 \u0627\u0644\u0648\u062B\u0627\u0626\u0642 \u062D\u0648\u0644 \u0643\u064A\u0641\u064A\u0629 \u0627\u0633\u062A\u062E\u062F\u0627\u0645 \u0647\u0630\u0627 \u0644\u0644\u063A\u0627\u062A \u0623\u062E\u0631\u0649 \u0648 / \u0623\u0648 \u0627\u0644\u0627\u0633\u062A\u062E\u062F\u0627\u0645 \u0644\u064A\u0633 \u0641\u064A \u0639\u0627\u0645\u0644 \u0627\u0644\u0625\u0631\u0633\u0627\u0621",
|
||||
"credit": "\u062A\u0633\u062A\u062E\u062F\u0645 \u0647\u0630\u0647 \u0627\u0644\u062E\u062F\u0645\u0629 OCRmyPDF \u0648 Tesseract \u0644 OCR.",
|
||||
"submit": "\u0645\u0639\u0627\u0644\u062C\u0629 PDF \u0628\u0627\u0633\u062A\u062E\u062F\u0627\u0645 OCR"
|
||||
},
|
||||
"extractImages": {
|
||||
"tags": "picture,photo,save,archive,zip,capture,grab",
|
||||
"title": "\u0627\u0633\u062A\u062E\u0631\u0627\u062C \u0627\u0644\u0635\u0648\u0631",
|
||||
"header": "\u0627\u0633\u062A\u062E\u0631\u0627\u062C \u0627\u0644\u0635\u0648\u0631",
|
||||
"selectText": "\u062D\u062F\u062F \u062A\u0646\u0633\u064A\u0642 \u0627\u0644\u0635\u0648\u0631\u0629 \u0644\u062A\u062D\u0648\u064A\u0644 \u0627\u0644\u0635\u0648\u0631 \u0627\u0644\u0645\u0633\u062A\u062E\u0631\u062C\u0629 \u0625\u0644\u0649",
|
||||
"submit": "\u0627\u0633\u062A\u062E\u0631\u0627\u062C"
|
||||
},
|
||||
"pdfToPDFA": {
|
||||
"tags": "archive,long-term,standard,conversion,storage,preservation",
|
||||
"title": "PDF \u0625\u0644\u0649 PDF / A",
|
||||
"header": "PDF \u0625\u0644\u0649 PDF / A",
|
||||
"credit": "\u062A\u0633\u062A\u062E\u062F\u0645 \u0647\u0630\u0647 \u0627\u0644\u062E\u062F\u0645\u0629 OCRmyPDF \u0644\u062A\u062D\u0648\u064A\u0644 PDF / A.",
|
||||
"submit": "\u062A\u062D\u0648\u064A\u0644"
|
||||
},
|
||||
"PDFToWord": {
|
||||
"tags": "doc,docx,odt,word,transformation,format,conversion,office,microsoft,docfile",
|
||||
"title": "تحويل PDF إلى Word",
|
||||
"header": "تحويل PDF إلى Word",
|
||||
"selectText": {
|
||||
"1": "تنسيق ملف الإخراج"
|
||||
},
|
||||
"credit": "تستخدم هذه الخدمة LibreOffice لتحويل الملفات.",
|
||||
"submit": "تحويل"
|
||||
},
|
||||
"PDFToPresentation": {
|
||||
"tags": "slides,show,office,microsoft",
|
||||
"title": "PDF للعرض التقديمي",
|
||||
"header": "PDF للعرض التقديمي",
|
||||
"selectText": {
|
||||
"1": "تنسيق ملف الإخراج"
|
||||
},
|
||||
"credit": "تستخدم هذه الخدمة LibreOffice لتحويل الملف.",
|
||||
"submit": "تحويل"
|
||||
},
|
||||
"PDFToText": {
|
||||
"tags": "richformat,richtextformat,rich text format",
|
||||
"title": "تحويل PDF إلى نص / RTF",
|
||||
"header": "تحويل PDF إلى نص / RTF",
|
||||
"selectText": {
|
||||
"1": "تنسيق ملف الإخراج"
|
||||
},
|
||||
"credit": "تستخدم هذه الخدمة LibreOffice لتحويل الملفات.",
|
||||
"submit": "تحويل"
|
||||
},
|
||||
"PDFToHTML": {
|
||||
"tags": "web content,browser friendly",
|
||||
"title": "PDF إلى HTML",
|
||||
"header": "PDF إلى HTML",
|
||||
"credit": "تستخدم هذه الخدمة LibreOffice لتحويل الملفات.",
|
||||
"submit": "تحويل"
|
||||
},
|
||||
"PDFToXML": {
|
||||
"tags": "data-extraction,structured-content,interop,transformation,convert",
|
||||
"title": "تحويل PDF إلى XML",
|
||||
"header": "تحويل PDF إلى XML",
|
||||
"credit": "تستخدم هذه الخدمة LibreOffice لتحويل الملفات.",
|
||||
"submit": "تحويل"
|
||||
},
|
||||
"ScannerImageSplit": {
|
||||
"tags": "separate,auto-detect,scans,multi-photo,organize",
|
||||
"selectText": {
|
||||
"1": "عتبة الزاوية:",
|
||||
"2": "تعيين الحد الأدنى للزاوية المطلقة المطلوبة لتدوير الصورة (افتراضي: 10).",
|
||||
"3": "التسامح:",
|
||||
"4": "يحدد نطاق تباين اللون حول لون الخلفية المقدر (الافتراضي: 30).",
|
||||
"5": "أدنى مساحة:",
|
||||
"6": "تعيين الحد الأدنى لمنطقة الصورة (الافتراضي: 10000).",
|
||||
"7": "الحد الأدنى لمنطقة المحيط:",
|
||||
"8": "تعيين الحد الأدنى لمنطقة المحيط للصورة",
|
||||
"9": "حجم الحدود:",
|
||||
"10": "يضبط حجم الحدود المضافة والمزالة لمنع الحدود البيضاء في الإخراج (الافتراضي: 1)."
|
||||
}
|
||||
},
|
||||
"sign": {
|
||||
"tags": "authorize,initials,drawn-signature,text-sign,image-signature",
|
||||
"title": "تسجيل الدخول",
|
||||
"header": "توقيع ملفات PDF",
|
||||
"upload": "تحميل الصورة",
|
||||
"draw": "رسم التوقيع",
|
||||
"text": "Text Input",
|
||||
"clear": "واضح",
|
||||
"add": "إضافة"
|
||||
},
|
||||
"flatten": {
|
||||
"tags": "static,deactivate,non-interactive,streamline",
|
||||
"title": "تسطيح",
|
||||
"header": "تسوية ملفات PDF",
|
||||
"submit": "تسطيح"
|
||||
},
|
||||
"repair": {
|
||||
"tags": "fix,restore,correction,recover",
|
||||
"title": "إصلاح",
|
||||
"header": "إصلاح ملفات PDF",
|
||||
"submit": "الإصلاح"
|
||||
},
|
||||
"removeBlanks": {
|
||||
"tags": "cleanup,streamline,non-content,organize",
|
||||
"title": "إزالة الفراغات",
|
||||
"header": "إزالة الصفحات الفارغة",
|
||||
"threshold": "العتبة:",
|
||||
"thresholdDesc": "الحد الفاصل لتحديد مدى بياض البكسل الأبيض",
|
||||
"whitePercent": "نسبة الأبيض (٪):",
|
||||
"whitePercentDesc": "النسبة المئوية للصفحة التي يجب أن تكون بيضاء لتتم إزالتها",
|
||||
"submit": "إزالة الفراغات"
|
||||
},
|
||||
"compare": {
|
||||
"tags": "differentiate,contrast,changes,analysis",
|
||||
"title": "يقارن",
|
||||
"header": "قارن ملفات PDF",
|
||||
"document": {
|
||||
"1": "المستند 1",
|
||||
"2": "المستند 2"
|
||||
},
|
||||
"submit": "يقارن"
|
||||
},
|
||||
"certSign": {
|
||||
"tags": "authenticate,PEM,P12,official,encrypt",
|
||||
"title": "توقيع الشهادة",
|
||||
"header": "قم بتوقيع ملف PDF بشهادتك (العمل قيد التقدم)",
|
||||
"selectPDF": "حدد ملف PDF للتوقيع:",
|
||||
"selectKey": "حدد ملف المفتاح الخاص (تنسيق PKCS ",
|
||||
"selectCert": "حدد ملف الشهادة الخاص بك (تنسيق X.509 ، يمكن أن يكون .pem أو .der):",
|
||||
"selectP12": "حدد ملف تخزين المفاتيح PKCS ",
|
||||
"certType": "نوع الشهادة",
|
||||
"password": "أدخل ملف تخزين المفاتيح أو كلمة المرور الخاصة (إن وجدت):",
|
||||
"showSig": "إظهار التوقيع",
|
||||
"reason": "السبب",
|
||||
"location": "الموقع",
|
||||
"name": "الاسم",
|
||||
"submit": "تسجيل PDF"
|
||||
},
|
||||
"pageLayout": {
|
||||
"tags": "merge,composite,single-view,organize",
|
||||
"title": "Multi Page Layout",
|
||||
"header": "Multi Page Layout",
|
||||
"pagesPerSheet": "Pages per sheet:",
|
||||
"addBorder": "Add Borders",
|
||||
"submit": "Submit"
|
||||
},
|
||||
"scalePages": {
|
||||
"tags": "resize,modify,dimension,adapt",
|
||||
"title": "Adjust page-scale",
|
||||
"header": "Adjust page-scale",
|
||||
"pageSize": "Size of a page of the document.",
|
||||
"scaleFactor": "Zoom level (crop) of a page.",
|
||||
"submit": "Submit"
|
||||
},
|
||||
"pipeline": {
|
||||
"tags": "automate,sequence,scripted,batch-process",
|
||||
"title": "Pipeline"
|
||||
},
|
||||
"add-page-numbers": {
|
||||
"tags": "paginate,label,organize,index"
|
||||
},
|
||||
"auto-rename": {
|
||||
"tags": "auto-detect,header-based,organize,relabel",
|
||||
"title": "Auto Rename",
|
||||
"header": "Auto Rename PDF",
|
||||
"submit": "Auto Rename"
|
||||
},
|
||||
"adjust-contrast": {
|
||||
"tags": "color-correction,tune,modify,enhance"
|
||||
},
|
||||
"crop": {
|
||||
"tags": "trim,shrink,edit,shape",
|
||||
"title": "Crop",
|
||||
"header": "Crop Image",
|
||||
"submit": "Submit"
|
||||
},
|
||||
"autoSplitPDF": {
|
||||
"tags": "QR-based,separate,scan-segment,organize",
|
||||
"title": "Auto Split PDF",
|
||||
"header": "Auto Split PDF",
|
||||
"description": "Print, Insert, Scan, upload, and let us auto-separate your documents. No manual work sorting needed.",
|
||||
"selectText": {
|
||||
"1": "Print out some divider sheets from below (Black and white is fine).",
|
||||
"2": "Scan all your documents at once by inserting the divider sheet between them.",
|
||||
"3": "Upload the single large scanned PDF file and let Stirling PDF handle the rest.",
|
||||
"4": "Divider pages are automatically detected and removed, guaranteeing a neat final document."
|
||||
},
|
||||
"formPrompt": "Submit PDF containing Stirling-PDF Page dividers:",
|
||||
"duplexMode": "Duplex Mode (Front and back scanning)",
|
||||
"dividerDownload1": "Download 'Auto Splitter Divider (minimal).pdf'",
|
||||
"dividerDownload2": "Download 'Auto Splitter Divider (with instructions).pdf'",
|
||||
"submit": "Submit"
|
||||
},
|
||||
"sanitizePdf": {
|
||||
"tags": "clean,secure,safe,remove-threats"
|
||||
},
|
||||
"URLToPDF": {
|
||||
"tags": "web-capture,save-page,web-to-doc,archive",
|
||||
"title": "URL To PDF",
|
||||
"header": "URL To PDF",
|
||||
"submit": "Convert",
|
||||
"credit": "Uses WeasyPrint"
|
||||
},
|
||||
"HTMLToPDF": {
|
||||
"tags": "markup,web-content,transformation,convert",
|
||||
"title": "HTML To PDF",
|
||||
"header": "HTML To PDF",
|
||||
"help": "Accepts HTML files and ZIPs containing html/css/images etc required",
|
||||
"submit": "Convert",
|
||||
"credit": "Uses WeasyPrint"
|
||||
},
|
||||
"MarkdownToPDF": {
|
||||
"tags": "markup,web-content,transformation,convert",
|
||||
"title": "Markdown To PDF",
|
||||
"header": "Markdown To PDF",
|
||||
"submit": "Convert",
|
||||
"help": "Work in progress",
|
||||
"credit": "Uses WeasyPrint"
|
||||
},
|
||||
"getPdfInfo": {
|
||||
"tags": "infomation,data,stats,statistics",
|
||||
"title": "Get Info on PDF",
|
||||
"header": "Get Info on PDF",
|
||||
"submit": "Get Info",
|
||||
"downloadJson": "Download JSON"
|
||||
},
|
||||
"extractPage": {
|
||||
"tags": "extract"
|
||||
},
|
||||
"PdfToSinglePage": {
|
||||
"tags": "single page"
|
||||
},
|
||||
"showJS": {
|
||||
"tags": "JS",
|
||||
"title": "Show Javascript",
|
||||
"header": "Show Javascript",
|
||||
"downloadJS": "Download Javascript",
|
||||
"submit": "Show"
|
||||
},
|
||||
"login": {
|
||||
"title": "Sign in",
|
||||
"signin": "Sign in",
|
||||
"rememberme": "Remember me",
|
||||
"invalid": "Invalid username or password.",
|
||||
"locked": "Your account has been locked.",
|
||||
"signinTitle": "Please sign in"
|
||||
},
|
||||
"autoRedact": {
|
||||
"title": "Auto Redact",
|
||||
"header": "Auto Redact",
|
||||
"colorLabel": "Colour",
|
||||
"textsToRedactLabel": "Text to Redact (line-separated)",
|
||||
"textsToRedactPlaceholder": "e.g. \\nConfidential \\nTop-Secret",
|
||||
"useRegexLabel": "Use Regex",
|
||||
"wholeWordSearchLabel": "Whole Word Search",
|
||||
"customPaddingLabel": "Custom Extra Padding",
|
||||
"convertPDFToImageLabel": "Convert PDF to PDF-Image (Used to remove text behind the box)",
|
||||
"submitButton": "Submit"
|
||||
},
|
||||
"pdfToSinglePage": {
|
||||
"title": "PDF To Single Page",
|
||||
"header": "PDF To Single Page",
|
||||
"submit": "Convert To Single Page"
|
||||
},
|
||||
"pageExtracter": {
|
||||
"title": "Extract Pages",
|
||||
"header": "Extract Pages",
|
||||
"submit": "Extract"
|
||||
},
|
||||
"sanitizePDF": {
|
||||
"title": "Sanitize PDF",
|
||||
"header": "Sanitize a PDF file",
|
||||
"selectText": {
|
||||
"1": "Remove JavaScript actions",
|
||||
"2": "Remove embedded files",
|
||||
"3": "Remove metadata",
|
||||
"4": "Remove links",
|
||||
"5": "Remove fonts"
|
||||
},
|
||||
"submit": "Sanitize PDF"
|
||||
},
|
||||
"addPageNumbers": {
|
||||
"title": "Add Page Numbers",
|
||||
"header": "Add Page Numbers",
|
||||
"selectText": {
|
||||
"1": "Select PDF file:",
|
||||
"2": "Margin Size",
|
||||
"3": "Position",
|
||||
"4": "Starting Number",
|
||||
"5": "Pages to Number",
|
||||
"6": "Custom Text"
|
||||
},
|
||||
"customTextDesc": "Custom Text",
|
||||
"numberPagesDesc": "Which pages to number, default 'all', also accepts 1-5 or 2,5,9 etc",
|
||||
"customNumberDesc": "Defaults to {n}, also accepts 'Page {n} of {total}', 'Text-{n}', '{filename}-{n}",
|
||||
"submit": "Add Page Numbers"
|
||||
},
|
||||
"adjustContrast": {
|
||||
"title": "Adjust Contrast",
|
||||
"header": "Adjust Contrast",
|
||||
"contrast": "Contrast:",
|
||||
"brightness": "Brightness:",
|
||||
"saturation": "Saturation:",
|
||||
"download": "Download"
|
||||
},
|
||||
"compress": {
|
||||
"title": "ضغط",
|
||||
"header": "ضغط ملف PDF",
|
||||
"credit": "تستخدم هذه الخدمة OCRmyPDF لضغط / تحسين PDF.",
|
||||
"selectText": {
|
||||
"1": "الوضع اليدوي - من 1 إلى 4",
|
||||
"2": "مستوى التحسين:",
|
||||
"3": "4 (رهيب للصور النصية)",
|
||||
"4": "الوضع التلقائي - يضبط الجودة تلقائيًا للحصول على ملف PDF بالحجم المحدد",
|
||||
"5": "حجم PDF المتوقع (على سبيل المثال 25 ميجا بايت ، 10.8 ميجا بايت ، 25 كيلو بايت)"
|
||||
},
|
||||
"submit": "ضغطضغط"
|
||||
},
|
||||
"pageRemover": {
|
||||
"title": "مزيل الصفحة",
|
||||
"header": "مزيل صفحة PDF",
|
||||
"pagesToDelete": "الصفحات المراد حذفها (أدخل قائمة بأرقام الصفحات مفصولة بفواصل):",
|
||||
"submit": "حذف الصفحات"
|
||||
},
|
||||
"imageToPDF": {
|
||||
"title": "صورة إلى PDF",
|
||||
"header": "صورة إلى PDF",
|
||||
"submit": "تحول",
|
||||
"selectLabel": "Image Fit Options",
|
||||
"fillPage": "Fill Page",
|
||||
"fitDocumentToImage": "Fit Page to Image",
|
||||
"maintainAspectRatio": "Maintain Aspect Ratios",
|
||||
"selectText": {
|
||||
"2": "\u062F\u0648\u0631\u0627\u0646 PDF \u062A\u0644\u0642\u0627\u0626\u064A\u064B\u0627",
|
||||
"3": "\u0627\u0644\u0645\u0646\u0637\u0642 \u0627\u0644\u0645\u062A\u0639\u062F\u062F \u0644\u0644\u0645\u0644\u0641\u0627\u062A (\u0645\u0641\u0639\u0651\u0644 \u0641\u0642\u0637 \u0625\u0630\u0627 \u0643\u0646\u062A \u062A\u0639\u0645\u0644 \u0645\u0639 \u0635\u0648\u0631 \u0645\u062A\u0639\u062F\u062F\u0629)",
|
||||
"4": "\u062F\u0645\u062C \u0641\u064A \u0645\u0644\u0641 PDF \u0648\u0627\u062D\u062F",
|
||||
"5": "\u062A\u062D\u0648\u064A\u0644 \u0625\u0644\u0649 \u0645\u0644\u0641\u0627\u062A PDF \u0645\u0646\u0641\u0635\u0644\u0629"
|
||||
}
|
||||
},
|
||||
"changeMetadata": {
|
||||
"title": "\u0627\u0644\u0639\u0646\u0648\u0627\u0646:",
|
||||
"header": "\u062A\u063A\u064A\u064A\u0631 \u0627\u0644\u0628\u064A\u0627\u0646\u0627\u062A \u0627\u0644\u0648\u0635\u0641\u064A\u0629",
|
||||
"selectText": {
|
||||
"1": "\u064A\u0631\u062C\u0649 \u062A\u0639\u062F\u064A\u0644 \u0627\u0644\u0645\u062A\u063A\u064A\u0631\u0627\u062A \u0627\u0644\u062A\u064A \u062A\u0631\u063A\u0628 \u0641\u064A \u062A\u063A\u064A\u064A\u0631\u0647\u0627",
|
||||
"2": "\u062D\u0630\u0641 \u0643\u0644 \u0627\u0644\u0628\u064A\u0627\u0646\u0627\u062A \u0627\u0644\u0623\u0648\u0644\u064A\u0629",
|
||||
"3": "\u0625\u0638\u0647\u0627\u0631 \u0627\u0644\u0628\u064A\u0627\u0646\u0627\u062A \u0627\u0644\u0623\u0648\u0644\u064A\u0629 \u0627\u0644\u0645\u062E\u0635\u0635\u0629:",
|
||||
"4": "\u0628\u064A\u0627\u0646\u0627\u062A \u0648\u0635\u0641\u064A\u0629 \u0623\u062E\u0631\u0649:",
|
||||
"5": "\u0625\u0636\u0627\u0641\u0629 \u0625\u062F\u062E\u0627\u0644 \u0628\u064A\u0627\u0646\u0627\u062A \u0623\u0648\u0644\u064A\u0629 \u0645\u062E\u0635\u0635"
|
||||
},
|
||||
"author": "\u0627\u0644\u0645\u0624\u0644\u0641:",
|
||||
"creationDate": "\u062A\u0627\u0631\u064A\u062E \u0627\u0644\u0625\u0646\u0634\u0627\u0621 (yyyy / MM / dd HH: mm: ss):",
|
||||
"creator": "\u0627\u0644\u0645\u0646\u0634\u0626:",
|
||||
"keywords": "\u0627\u0644\u0643\u0644\u0645\u0627\u062A \u0627\u0644\u0631\u0626\u064A\u0633\u064A\u0629:",
|
||||
"modDate": "\u062A\u0627\u0631\u064A\u062E \u0627\u0644\u062A\u0639\u062F\u064A\u0644 (yyyy / MM / dd HH: mm: ss):",
|
||||
"producer": "\u0627\u0644\u0645\u0646\u062A\u062C:",
|
||||
"subject": "\u0627\u0644\u0645\u0648\u0636\u0648\u0639:",
|
||||
"trapped": "\u0645\u062D\u0627\u0635\u0631:",
|
||||
"submit": "\u062A\u063A\u064A\u064A\u0631"
|
||||
}
|
||||
}
|
||||
}
|
854
client-tauri/src/locales/en.json
Normal file
854
client-tauri/src/locales/en.json
Normal file
@ -0,0 +1,854 @@
|
||||
{
|
||||
"translation": {
|
||||
"language": {
|
||||
"name":"English (UK)",
|
||||
"flag": "🇬🇧",
|
||||
"direction": "ltr"
|
||||
},
|
||||
"pdfPrompt": "Select PDF(s)",
|
||||
"multiPdfPrompt": "Select PDFs (2+)",
|
||||
"multiPdfDropPrompt": "Select (or drag & drop) all PDFs you require",
|
||||
"imgPrompt": "Select Image(s)",
|
||||
"genericSubmit": "Submit",
|
||||
"processTimeWarning": "Warning: This process can take up to a minute depending on file-size",
|
||||
"pageOrderPrompt": "Custom Page Order (Enter a comma-separated list of page numbers or Functions like 2n+1) :",
|
||||
"goToPage": "Go",
|
||||
"true": "True",
|
||||
"false": "False",
|
||||
"unknown": "Unknown",
|
||||
"save": "Save",
|
||||
"close": "Close",
|
||||
"filesSelected": "files selected",
|
||||
"noFavourites": "No favourites added",
|
||||
"bored": "Bored Waiting?",
|
||||
"alphabet": "Alphabet",
|
||||
"downloadPdf": "Download PDF",
|
||||
"text": "Text",
|
||||
"font": "Font",
|
||||
"selectFillter": "-- Select --",
|
||||
"pageNum": "Page Number ",
|
||||
"sizes": {
|
||||
"small": "Small",
|
||||
"medium": "Medium",
|
||||
"large": "Large",
|
||||
"x-large": "X-Large"
|
||||
},
|
||||
"error": {
|
||||
"pdfPassword": "The PDF Document is passworded and either the password was not provided or was incorrect"
|
||||
},
|
||||
"delete": "Delete",
|
||||
"username": "Username",
|
||||
"password": "Password",
|
||||
"welcome": "Welcome",
|
||||
"property": "Property",
|
||||
"black": "Black",
|
||||
"white": "White",
|
||||
"red": "Red",
|
||||
"green": "Green",
|
||||
"blue": "Blue",
|
||||
"custom": "Custom...",
|
||||
"changedCredsMessage": "Credentials changed!",
|
||||
"notAuthenticatedMessage": "User not authenticated.",
|
||||
"userNotFoundMessage": "User not found.",
|
||||
"incorrectPasswordMessage": "Current password is incorrect.",
|
||||
"usernameExistsMessage": "New Username already exists.",
|
||||
"navbar": {
|
||||
"convert": "Convert",
|
||||
"security": "Security",
|
||||
"other": "Miscellaneous",
|
||||
"darkmode": "Dark Mode",
|
||||
"pageOps": "Page Operations",
|
||||
"settings": "Settings"
|
||||
},
|
||||
"settings": {
|
||||
"title": "Settings",
|
||||
"update": "Update available",
|
||||
"appVersion": "App Version:",
|
||||
"downloadOption": {
|
||||
"1": "Open in same window",
|
||||
"2": "Open in new window",
|
||||
"3": "Download file",
|
||||
"title": "Choose download option (For single file non zip downloads):"
|
||||
},
|
||||
"zipThreshold": "Zip files when the number of downloaded files exceeds",
|
||||
"signOut": "Sign Out",
|
||||
"accountSettings": "Account Settings"
|
||||
},
|
||||
"changeCreds": {
|
||||
"title": "Change Credentials",
|
||||
"header": "Update Your Account Details",
|
||||
"changeUserAndPassword": "You are using default login credentials. Please enter a new password (and username if wanted)",
|
||||
"newUsername": "New Username",
|
||||
"oldPassword": "Current Password",
|
||||
"newPassword": "New Password",
|
||||
"confirmNewPassword": "Confirm New Password",
|
||||
"submit": "Submit Changes"
|
||||
},
|
||||
"account": {
|
||||
"title": "Account Settings",
|
||||
"accountSettings": "Account Settings",
|
||||
"adminSettings": "Admin Settings - View and Add Users",
|
||||
"userControlSettings": "User Control Settings",
|
||||
"changeUsername": "Change Username",
|
||||
"password": "Confirmation Password",
|
||||
"oldPassword": "Old password",
|
||||
"newPassword": "New Password",
|
||||
"changePassword": "Change Password",
|
||||
"confirmNewPassword": "Confirm New Password",
|
||||
"signOut": "Sign Out",
|
||||
"yourApiKey": "Your API Key",
|
||||
"syncTitle": "Sync browser settings with Account",
|
||||
"settingsCompare": "Settings Comparison:",
|
||||
"property": "Property",
|
||||
"webBrowserSettings": "Web Browser Setting",
|
||||
"syncToBrowser": "Sync Account -> Browser",
|
||||
"syncToAccount": "Sync Account <- Browser"
|
||||
},
|
||||
"adminUserSettings": {
|
||||
"title": "User Control Settings",
|
||||
"header": "Admin User Control Settings",
|
||||
"admin": "Admin",
|
||||
"user": "User",
|
||||
"addUser": "Add New User",
|
||||
"roles": "Roles",
|
||||
"role": "Role",
|
||||
"actions": "Actions",
|
||||
"apiUser": "Limited API User",
|
||||
"webOnlyUser": "Web Only User",
|
||||
"forceChange": "Force user to change username/password on login",
|
||||
"submit": "Save User"
|
||||
},
|
||||
"home": {
|
||||
"desc": "Your locally hosted one-stop-shop for all your PDF needs.",
|
||||
"searchBar": "Search for features...",
|
||||
"viewPdf": {
|
||||
"title": "View PDF",
|
||||
"desc": "View, annotate, add text or images"
|
||||
},
|
||||
"multiTool": {
|
||||
"title": "PDF Multi Tool",
|
||||
"desc": "Merge, Rotate, Rearrange, and Remove pages"
|
||||
},
|
||||
"merge": {
|
||||
"title": "Merge",
|
||||
"desc": "Easily merge multiple PDFs into one."
|
||||
},
|
||||
"split": {
|
||||
"title": "Split",
|
||||
"desc": "Split PDFs into multiple documents"
|
||||
},
|
||||
"rotate": {
|
||||
"title": "Rotate",
|
||||
"desc": "Easily rotate your PDFs."
|
||||
},
|
||||
"imageToPdf": {
|
||||
"title": "Image to PDF",
|
||||
"desc": "Convert a image (PNG, JPEG, GIF) to PDF."
|
||||
},
|
||||
"pdfToImage": {
|
||||
"title": "PDF to Image",
|
||||
"desc": "Convert a PDF to a image. (PNG, JPEG, GIF)"
|
||||
},
|
||||
"pdfOrganiser": {
|
||||
"title": "Organise",
|
||||
"desc": "Remove/Rearrange pages in any order"
|
||||
},
|
||||
"addImage": {
|
||||
"title": "Add image",
|
||||
"desc": "Adds a image onto a set location on the PDF"
|
||||
},
|
||||
"watermark": {
|
||||
"title": "Add Watermark",
|
||||
"desc": "Add a custom watermark to your PDF document."
|
||||
},
|
||||
"permissions": {
|
||||
"title": "Change Permissions",
|
||||
"desc": "Change the permissions of your PDF document"
|
||||
},
|
||||
"removePages": {
|
||||
"title": "Remove",
|
||||
"desc": "Delete unwanted pages from your PDF document."
|
||||
},
|
||||
"addPassword": {
|
||||
"title": "Add Password",
|
||||
"desc": "Encrypt your PDF document with a password."
|
||||
},
|
||||
"removePassword": {
|
||||
"title": "Remove Password",
|
||||
"desc": "Remove password protection from your PDF document."
|
||||
},
|
||||
"compressPdfs": {
|
||||
"title": "Compress",
|
||||
"desc": "Compress PDFs to reduce their file size."
|
||||
},
|
||||
"changeMetadata": {
|
||||
"title": "Change Metadata",
|
||||
"desc": "Change/Remove/Add metadata from a PDF document"
|
||||
},
|
||||
"fileToPDF": {
|
||||
"title": "Convert file to PDF",
|
||||
"desc": "Convert nearly any file to PDF (DOCX, PNG, XLS, PPT, TXT and more)"
|
||||
},
|
||||
"ocr": {
|
||||
"title": "OCR / Cleanup scans",
|
||||
"desc": "Cleanup scans and detects text from images within a PDF and re-adds it as text."
|
||||
},
|
||||
"extractImages": {
|
||||
"title": "Extract Images",
|
||||
"desc": "Extracts all images from a PDF and saves them to zip"
|
||||
},
|
||||
"pdfToPDFA": {
|
||||
"title": "PDF to PDF/A",
|
||||
"desc": "Convert PDF to PDF/A for long-term storage"
|
||||
},
|
||||
"PDFToWord": {
|
||||
"title": "PDF to Word",
|
||||
"desc": "Convert PDF to Word formats (DOC, DOCX and ODT)"
|
||||
},
|
||||
"PDFToPresentation": {
|
||||
"title": "PDF to Presentation",
|
||||
"desc": "Convert PDF to Presentation formats (PPT, PPTX and ODP)"
|
||||
},
|
||||
"PDFToText": {
|
||||
"title": "PDF to RTF (Text)",
|
||||
"desc": "Convert PDF to Text or RTF format"
|
||||
},
|
||||
"PDFToHTML": {
|
||||
"title": "PDF to HTML",
|
||||
"desc": "Convert PDF to HTML format"
|
||||
},
|
||||
"PDFToXML": {
|
||||
"title": "PDF to XML",
|
||||
"desc": "Convert PDF to XML format"
|
||||
},
|
||||
"ScannerImageSplit": {
|
||||
"title": "Detect/Split Scanned photos",
|
||||
"desc": "Splits multiple photos from within a photo/PDF"
|
||||
},
|
||||
"sign": {
|
||||
"title": "Sign",
|
||||
"desc": "Adds signature to PDF by drawing, text or image"
|
||||
},
|
||||
"flatten": {
|
||||
"title": "Flatten",
|
||||
"desc": "Remove all interactive elements and forms from a PDF"
|
||||
},
|
||||
"repair": {
|
||||
"title": "Repair",
|
||||
"desc": "Tries to repair a corrupt/broken PDF"
|
||||
},
|
||||
"removeBlanks": {
|
||||
"title": "Remove Blank pages",
|
||||
"desc": "Detects and removes blank pages from a document"
|
||||
},
|
||||
"compare": {
|
||||
"title": "Compare",
|
||||
"desc": "Compares and shows the differences between 2 PDF Documents"
|
||||
},
|
||||
"certSign": {
|
||||
"title": "Sign with Certificate",
|
||||
"desc": "Signs a PDF with a Certificate/Key (PEM/P12)"
|
||||
},
|
||||
"pageLayout": {
|
||||
"title": "Multi-Page Layout",
|
||||
"desc": "Merge multiple pages of a PDF document into a single page"
|
||||
},
|
||||
"scalePages": {
|
||||
"title": "Adjust page size/scale",
|
||||
"desc": "Change the size/scale of a page and/or its contents."
|
||||
},
|
||||
"pipeline": {
|
||||
"title": "Pipeline (Advanced)",
|
||||
"desc": "Run multiple actions on PDFs by defining pipeline scripts"
|
||||
},
|
||||
"add-page-numbers": {
|
||||
"title": "Add Page Numbers",
|
||||
"desc": "Add Page numbers throughout a document in a set location"
|
||||
},
|
||||
"auto-rename": {
|
||||
"title": "Auto Rename PDF File",
|
||||
"desc": "Auto renames a PDF file based on its detected header "
|
||||
},
|
||||
"adjust-contrast": {
|
||||
"title": "Adjust Colors/Contrast",
|
||||
"desc": "Adjust Contrast, Saturation and Brightness of a PDF"
|
||||
},
|
||||
"crop": {
|
||||
"title": "Crop PDF",
|
||||
"desc": "Crop a PDF to reduce its size (maintains text!)"
|
||||
},
|
||||
"autoSplitPDF": {
|
||||
"title": "Auto Split Pages",
|
||||
"desc": "Auto Split Scanned PDF with physical scanned page splitter QR Code"
|
||||
},
|
||||
"sanitizePdf": {
|
||||
"title": "Sanitize",
|
||||
"desc": "Remove scripts and other elements from PDF files"
|
||||
},
|
||||
"URLToPDF": {
|
||||
"title": "URL/Website To PDF",
|
||||
"desc": "Converts any http(s)URL to PDF"
|
||||
},
|
||||
"HTMLToPDF": {
|
||||
"title": "HTML to PDF",
|
||||
"desc": "Converts any HTML file or zip to PDF"
|
||||
},
|
||||
"MarkdownToPDF": {
|
||||
"title": "Markdown to PDF",
|
||||
"desc": "Converts any Markdown file to PDF"
|
||||
},
|
||||
"getPdfInfo": {
|
||||
"title": "Get ALL Info on PDF",
|
||||
"desc": "Grabs any and all information possible on PDFs"
|
||||
},
|
||||
"extractPage": {
|
||||
"title": "Extract page(s)",
|
||||
"desc": "Extracts select pages from PDF"
|
||||
},
|
||||
"PdfToSinglePage": {
|
||||
"title": "PDF to Single Large Page",
|
||||
"desc": "Merges all PDF pages into one large single page"
|
||||
},
|
||||
"showJS": {
|
||||
"title": "Show Javascript",
|
||||
"desc": "Searches and displays any JS injected into a PDF"
|
||||
},
|
||||
"autoRedact": {
|
||||
"title": "Auto Redact",
|
||||
"desc": "Auto Redacts(Blacks out) text in a PDF based on input text"
|
||||
}
|
||||
},
|
||||
"viewPdf": {
|
||||
"tags": "view,read,annotate,text,image",
|
||||
"title": "View PDF",
|
||||
"header": "View PDF"
|
||||
},
|
||||
"multiTool": {
|
||||
"tags": "Multi Tool,Multi operation,UI,click drag,front end,client side,interactive,intractable,move",
|
||||
"title": "PDF Multi Tool",
|
||||
"header": "PDF Multi Tool"
|
||||
},
|
||||
"merge": {
|
||||
"tags": "merge,Page operations,Back end,server side",
|
||||
"title": "Merge",
|
||||
"header": "Merge multiple PDFs (2+)",
|
||||
"sortByName": "Sort by name",
|
||||
"sortByDate": "Sort by date",
|
||||
"submit": "Merge"
|
||||
},
|
||||
"split": {
|
||||
"tags": "Page operations,divide,Multi Page,cut,server side ",
|
||||
"title": "Split PDF",
|
||||
"header": "Split PDF",
|
||||
"desc": {
|
||||
"1": "The numbers you select are the page number you wish to do a split on",
|
||||
"2": "As such selecting 1,3,7-8 would split a 10 page document into 6 separate PDFS with:",
|
||||
"3": "Document ",
|
||||
"4": "Document ",
|
||||
"5": "Document ",
|
||||
"6": "Document ",
|
||||
"7": "Document ",
|
||||
"8": "Document "
|
||||
},
|
||||
"splitPages": "Enter pages to split on:",
|
||||
"submit": "Split"
|
||||
},
|
||||
"rotate": {
|
||||
"tags": "server side",
|
||||
"title": "Rotate PDF",
|
||||
"header": "Rotate PDF",
|
||||
"selectAngle": "Select rotation angle (in multiples of 90 degrees):",
|
||||
"submit": "Rotate"
|
||||
},
|
||||
"imageToPdf": {
|
||||
"tags": "conversion,img,jpg,picture,photo"
|
||||
},
|
||||
"pdfToImage": {
|
||||
"tags": "conversion,img,jpg,picture,photo",
|
||||
"title": "PDF to Image",
|
||||
"header": "PDF to Image",
|
||||
"selectText": "Image Format",
|
||||
"singleOrMultiple": "Page to Image result type",
|
||||
"single": "Single Big Image Combing all pages",
|
||||
"multi": "Multiple Images, one image per page",
|
||||
"colorType": "Colour type",
|
||||
"color": "Colour",
|
||||
"grey": "Greyscale",
|
||||
"blackwhite": "Black and White (May lose data!)",
|
||||
"submit": "Convert"
|
||||
},
|
||||
"pdfOrganiser": {
|
||||
"tags": "duplex,even,odd,sort,move",
|
||||
"title": "Page Organiser",
|
||||
"header": "PDF Page Organiser",
|
||||
"submit": "Rearrange Pages"
|
||||
},
|
||||
"addImage": {
|
||||
"tags": "img,jpg,picture,photo",
|
||||
"title": "Add Image",
|
||||
"header": "Add image to PDF",
|
||||
"everyPage": "Every Page?",
|
||||
"upload": "Add image",
|
||||
"submit": "Add image"
|
||||
},
|
||||
"watermark": {
|
||||
"tags": "Text,repeating,label,own,copyright,trademark,img,jpg,picture,photo",
|
||||
"title": "Add Watermark",
|
||||
"header": "Add Watermark",
|
||||
"selectText": {
|
||||
"1": "Select PDF to add watermark to:",
|
||||
"2": "Watermark Text:",
|
||||
"3": "Font Size:",
|
||||
"4": "Rotation (0-360):",
|
||||
"5": "widthSpacer (Space between each watermark horizontally):",
|
||||
"6": "heightSpacer (Space between each watermark vertically):",
|
||||
"7": "Opacity (0% - 100%):",
|
||||
"8": "Watermark Type:",
|
||||
"9": "Watermark Image:"
|
||||
},
|
||||
"submit": "Add Watermark"
|
||||
},
|
||||
"permissions": {
|
||||
"tags": "read,write,edit,print",
|
||||
"title": "Change Permissions",
|
||||
"header": "Change Permissions",
|
||||
"warning": "Warning to have these permissions be unchangeable it is recommended to set them with a password via the add-password page",
|
||||
"selectText": {
|
||||
"1": "Select PDF to change permissions",
|
||||
"2": "Permissions to set",
|
||||
"3": "Prevent assembly of document",
|
||||
"4": "Prevent content extraction",
|
||||
"5": "Prevent extraction for accessibility",
|
||||
"6": "Prevent filling in form",
|
||||
"7": "Prevent modification",
|
||||
"8": "Prevent annotation modification",
|
||||
"9": "Prevent printing",
|
||||
"10": "Prevent printing different formats"
|
||||
},
|
||||
"submit": "Change"
|
||||
},
|
||||
"removePages": {
|
||||
"tags": "Remove pages,delete pages"
|
||||
},
|
||||
"addPassword": {
|
||||
"tags": "secure,security",
|
||||
"title": "Add Password",
|
||||
"header": "Add password (Encrypt)",
|
||||
"selectText": {
|
||||
"1": "Select PDF to encrypt",
|
||||
"2": "User Password",
|
||||
"3": "Encryption Key Length",
|
||||
"4": "Higher values are stronger, but lower values have better compatibility.",
|
||||
"5": "Permissions to set (Recommended to be used along with Owner password)",
|
||||
"6": "Prevent assembly of document",
|
||||
"7": "Prevent content extraction",
|
||||
"8": "Prevent extraction for accessibility",
|
||||
"9": "Prevent filling in form",
|
||||
"10": "Prevent modification",
|
||||
"11": "Prevent annotation modification",
|
||||
"12": "Prevent printing",
|
||||
"13": "Prevent printing different formats",
|
||||
"14": "Owner Password",
|
||||
"15": "Restricts what can be done with the document once it is opened (Not supported by all readers)",
|
||||
"16": "Restricts the opening of the document itself"
|
||||
},
|
||||
"submit": "Encrypt"
|
||||
},
|
||||
"removePassword": {
|
||||
"tags": "secure,Decrypt,security,unpassword,delete password",
|
||||
"title": "Remove password",
|
||||
"header": "Remove password (Decrypt)",
|
||||
"selectText": {
|
||||
"1": "Select PDF to Decrypt",
|
||||
"2": "Password"
|
||||
},
|
||||
"submit": "Remove"
|
||||
},
|
||||
"compressPdfs": {
|
||||
"tags": "squish,small,tiny"
|
||||
},
|
||||
"fileToPDF": {
|
||||
"tags": "transformation,format,document,picture,slide,text,conversion,office,docs,word,excel,powerpoint",
|
||||
"title": "File to PDF",
|
||||
"header": "Convert any file to PDF",
|
||||
"credit": "This service uses LibreOffice and Unoconv for file conversion.",
|
||||
"supportedFileTypes": "Supported file types should include the below however for a full updated list of supported formats, please refer to the LibreOffice documentation",
|
||||
"submit": "Convert to PDF"
|
||||
},
|
||||
"ocr": {
|
||||
"tags": "recognition,text,image,scan,read,identify,detection,editable",
|
||||
"title": "OCR / Scan Cleanup",
|
||||
"header": "Cleanup Scans / OCR (Optical Character Recognition)",
|
||||
"selectText": {
|
||||
"1": "Select languages that are to be detected within the PDF (Ones listed are the ones currently detected):",
|
||||
"2": "Produce text file containing OCR text alongside the OCR'ed PDF",
|
||||
"3": "Correct pages were scanned at a skewed angle by rotating them back into place",
|
||||
"4": "Clean page so its less likely that OCR will find text in background noise. (No output change)",
|
||||
"5": "Clean page so its less likely that OCR will find text in background noise, maintains cleanup in output.",
|
||||
"6": "Ignores pages that have interactive text on them, only OCRs pages that are images",
|
||||
"7": "Force OCR, will OCR Every page removing all original text elements",
|
||||
"8": "Normal (Will error if PDF contains text)",
|
||||
"9": "Additional Settings",
|
||||
"10": "OCR Mode",
|
||||
"11": "Remove images after OCR (Removes ALL images, only useful if part of conversion step)",
|
||||
"12": "Render Type (Advanced)"
|
||||
},
|
||||
"help": "Please read this documentation on how to use this for other languages and/or use not in docker",
|
||||
"credit": "This service uses OCRmyPDF and Tesseract for OCR.",
|
||||
"submit": "Process PDF with OCR"
|
||||
},
|
||||
"extractImages": {
|
||||
"tags": "picture,photo,save,archive,zip,capture,grab",
|
||||
"title": "Extract Images",
|
||||
"header": "Extract Images",
|
||||
"selectText": "Select image format to convert extracted images to",
|
||||
"submit": "Extract"
|
||||
},
|
||||
"pdfToPDFA": {
|
||||
"tags": "archive,long-term,standard,conversion,storage,preservation",
|
||||
"title": "PDF To PDF/A",
|
||||
"header": "PDF To PDF/A",
|
||||
"credit": "This service uses OCRmyPDF for PDF/A conversion",
|
||||
"submit": "Convert"
|
||||
},
|
||||
"PDFToWord": {
|
||||
"tags": "doc,docx,odt,word,transformation,format,conversion,office,microsoft,docfile",
|
||||
"title": "PDF to Word",
|
||||
"header": "PDF to Word",
|
||||
"selectText": {
|
||||
"1": "Output file format"
|
||||
},
|
||||
"credit": "This service uses LibreOffice for file conversion.",
|
||||
"submit": "Convert"
|
||||
},
|
||||
"PDFToPresentation": {
|
||||
"tags": "slides,show,office,microsoft",
|
||||
"title": "PDF to Presentation",
|
||||
"header": "PDF to Presentation",
|
||||
"selectText": {
|
||||
"1": "Output file format"
|
||||
},
|
||||
"credit": "This service uses LibreOffice for file conversion.",
|
||||
"submit": "Convert"
|
||||
},
|
||||
"PDFToText": {
|
||||
"tags": "richformat,richtextformat,rich text format",
|
||||
"title": "PDF to RTF (Text)",
|
||||
"header": "PDF to RTF (Text)",
|
||||
"selectText": {
|
||||
"1": "Output file format"
|
||||
},
|
||||
"credit": "This service uses LibreOffice for file conversion.",
|
||||
"submit": "Convert"
|
||||
},
|
||||
"PDFToHTML": {
|
||||
"tags": "web content,browser friendly",
|
||||
"title": "PDF to HTML",
|
||||
"header": "PDF to HTML",
|
||||
"credit": "This service uses LibreOffice for file conversion.",
|
||||
"submit": "Convert"
|
||||
},
|
||||
"PDFToXML": {
|
||||
"tags": "data-extraction,structured-content,interop,transformation,convert",
|
||||
"title": "PDF to XML",
|
||||
"header": "PDF to XML",
|
||||
"credit": "This service uses LibreOffice for file conversion.",
|
||||
"submit": "Convert"
|
||||
},
|
||||
"ScannerImageSplit": {
|
||||
"tags": "separate,auto-detect,scans,multi-photo,organize",
|
||||
"selectText": {
|
||||
"1": "Angle Threshold:",
|
||||
"2": "Sets the minimum absolute angle required for the image to be rotated (default: 10).",
|
||||
"3": "Tolerance:",
|
||||
"4": "Determines the range of color variation around the estimated background color (default: 30).",
|
||||
"5": "Minimum Area:",
|
||||
"6": "Sets the minimum area threshold for a photo (default: 10000).",
|
||||
"7": "Minimum Contour Area:",
|
||||
"8": "Sets the minimum contour area threshold for a photo",
|
||||
"9": "Border Size:",
|
||||
"10": "Sets the size of the border added and removed to prevent white borders in the output (default: 1)."
|
||||
}
|
||||
},
|
||||
"sign": {
|
||||
"tags": "authorize,initials,drawn-signature,text-sign,image-signature",
|
||||
"title": "Sign",
|
||||
"header": "Sign PDFs",
|
||||
"upload": "Upload Image",
|
||||
"draw": "Draw Signature",
|
||||
"text": "Text Input",
|
||||
"clear": "Clear",
|
||||
"add": "Add"
|
||||
},
|
||||
"flatten": {
|
||||
"tags": "static,deactivate,non-interactive,streamline",
|
||||
"title": "Flatten",
|
||||
"header": "Flatten PDFs",
|
||||
"submit": "Flatten"
|
||||
},
|
||||
"repair": {
|
||||
"tags": "fix,restore,correction,recover",
|
||||
"title": "Repair",
|
||||
"header": "Repair PDFs",
|
||||
"submit": "Repair"
|
||||
},
|
||||
"removeBlanks": {
|
||||
"tags": "cleanup,streamline,non-content,organize",
|
||||
"title": "Remove Blanks",
|
||||
"header": "Remove Blank Pages",
|
||||
"threshold": "Pixel Whiteness Threshold:",
|
||||
"thresholdDesc": "Threshold for determining how white a white pixel must be to be classed as 'White'. 0 ",
|
||||
"whitePercent": "White Percent (%):",
|
||||
"whitePercentDesc": "Percent of page that must be 'white' pixels to be removed",
|
||||
"submit": "Remove Blanks"
|
||||
},
|
||||
"compare": {
|
||||
"tags": "differentiate,contrast,changes,analysis",
|
||||
"title": "Compare",
|
||||
"header": "Compare PDFs",
|
||||
"document": {
|
||||
"1": "Document 1",
|
||||
"2": "Document 2"
|
||||
},
|
||||
"submit": "Compare"
|
||||
},
|
||||
"certSign": {
|
||||
"tags": "authenticate,PEM,P12,official,encrypt",
|
||||
"title": "Certificate Signing",
|
||||
"header": "Sign a PDF with your certificate (Work in progress)",
|
||||
"selectPDF": "Select a PDF File for Signing: ",
|
||||
"selectKey": "Select Your Private Key File (PKCS",
|
||||
"selectCert": "Select Your Certificate File (X.509 format, could be .pem or .der): ",
|
||||
"selectP12": "Select Your PKCS",
|
||||
"certType": "Certificate Type",
|
||||
"password": "Enter Your Keystore or Private Key Password (If Any): ",
|
||||
"showSig": "Show Signature",
|
||||
"reason": "Reason",
|
||||
"location": "Location",
|
||||
"name": "Name ",
|
||||
"submit": "Sign PDF"
|
||||
},
|
||||
"pageLayout": {
|
||||
"tags": "merge,composite,single-view,organize",
|
||||
"title": "Multi Page Layout",
|
||||
"header": "Multi Page Layout",
|
||||
"pagesPerSheet": "Pages per sheet:",
|
||||
"addBorder": "Add Borders",
|
||||
"submit": "Submit"
|
||||
},
|
||||
"scalePages": {
|
||||
"tags": "resize,modify,dimension,adapt",
|
||||
"title": "Adjust page-scale",
|
||||
"header": "Adjust page-scale",
|
||||
"pageSize": "Size of a page of the document.",
|
||||
"scaleFactor": "Zoom level (crop) of a page.",
|
||||
"submit": "Submit"
|
||||
},
|
||||
"pipeline": {
|
||||
"tags": "automate,sequence,scripted,batch-process",
|
||||
"title": "Pipeline"
|
||||
},
|
||||
"add-page-numbers": {
|
||||
"tags": "paginate,label,organize,index"
|
||||
},
|
||||
"auto-rename": {
|
||||
"tags": "auto-detect,header-based,organize,relabel",
|
||||
"title": "Auto Rename",
|
||||
"header": "Auto Rename PDF",
|
||||
"submit": "Auto Rename"
|
||||
},
|
||||
"adjust-contrast": {
|
||||
"tags": "color-correction,tune,modify,enhance"
|
||||
},
|
||||
"crop": {
|
||||
"tags": "trim,shrink,edit,shape",
|
||||
"title": "Crop",
|
||||
"header": "Crop Image",
|
||||
"submit": "Submit"
|
||||
},
|
||||
"autoSplitPDF": {
|
||||
"tags": "QR-based,separate,scan-segment,organize",
|
||||
"title": "Auto Split PDF",
|
||||
"header": "Auto Split PDF",
|
||||
"description": "Print, Insert, Scan, upload, and let us auto-separate your documents. No manual work sorting needed.",
|
||||
"selectText": {
|
||||
"1": "Print out some divider sheets from below (Black and white is fine).",
|
||||
"2": "Scan all your documents at once by inserting the divider sheet between them.",
|
||||
"3": "Upload the single large scanned PDF file and let Stirling PDF handle the rest.",
|
||||
"4": "Divider pages are automatically detected and removed, guaranteeing a neat final document."
|
||||
},
|
||||
"formPrompt": "Submit PDF containing Stirling-PDF Page dividers:",
|
||||
"duplexMode": "Duplex Mode (Front and back scanning)",
|
||||
"dividerDownload1": "Download 'Auto Splitter Divider (minimal).pdf'",
|
||||
"dividerDownload2": "Download 'Auto Splitter Divider (with instructions).pdf'",
|
||||
"submit": "Submit"
|
||||
},
|
||||
"sanitizePdf": {
|
||||
"tags": "clean,secure,safe,remove-threats"
|
||||
},
|
||||
"URLToPDF": {
|
||||
"tags": "web-capture,save-page,web-to-doc,archive",
|
||||
"title": "URL To PDF",
|
||||
"header": "URL To PDF",
|
||||
"submit": "Convert",
|
||||
"credit": "Uses WeasyPrint"
|
||||
},
|
||||
"HTMLToPDF": {
|
||||
"tags": "markup,web-content,transformation,convert",
|
||||
"title": "HTML To PDF",
|
||||
"header": "HTML To PDF",
|
||||
"help": "Accepts HTML files and ZIPs containing html/css/images etc required",
|
||||
"submit": "Convert",
|
||||
"credit": "Uses WeasyPrint"
|
||||
},
|
||||
"MarkdownToPDF": {
|
||||
"tags": "markup,web-content,transformation,convert",
|
||||
"title": "Markdown To PDF",
|
||||
"header": "Markdown To PDF",
|
||||
"submit": "Convert",
|
||||
"help": "Work in progress",
|
||||
"credit": "Uses WeasyPrint"
|
||||
},
|
||||
"getPdfInfo": {
|
||||
"tags": "infomation,data,stats,statistics",
|
||||
"title": "Get Info on PDF",
|
||||
"header": "Get Info on PDF",
|
||||
"submit": "Get Info",
|
||||
"downloadJson": "Download JSON"
|
||||
},
|
||||
"extractPage": {
|
||||
"tags": "extract"
|
||||
},
|
||||
"PdfToSinglePage": {
|
||||
"tags": "single page"
|
||||
},
|
||||
"showJS": {
|
||||
"tags": "Redact,Hide,black out,black,marker,hidden",
|
||||
"title": "Show Javascript",
|
||||
"header": "Show Javascript",
|
||||
"downloadJS": "Download Javascript",
|
||||
"submit": "Show"
|
||||
},
|
||||
"login": {
|
||||
"title": "Sign in",
|
||||
"signin": "Sign in",
|
||||
"rememberme": "Remember me",
|
||||
"invalid": "Invalid username or password.",
|
||||
"locked": "Your account has been locked.",
|
||||
"signinTitle": "Please sign in"
|
||||
},
|
||||
"autoRedact": {
|
||||
"title": "Auto Redact",
|
||||
"header": "Auto Redact",
|
||||
"colorLabel": "Colour",
|
||||
"textsToRedactLabel": "Text to Redact (line-separated)",
|
||||
"textsToRedactPlaceholder": "e.g. \\nConfidential \\nTop-Secret",
|
||||
"useRegexLabel": "Use Regex",
|
||||
"wholeWordSearchLabel": "Whole Word Search",
|
||||
"customPaddingLabel": "Custom Extra Padding",
|
||||
"convertPDFToImageLabel": "Convert PDF to PDF-Image (Used to remove text behind the box)",
|
||||
"submitButton": "Submit"
|
||||
},
|
||||
"pdfToSinglePage": {
|
||||
"title": "PDF To Single Page",
|
||||
"header": "PDF To Single Page",
|
||||
"submit": "Convert To Single Page"
|
||||
},
|
||||
"pageExtracter": {
|
||||
"title": "Extract Pages",
|
||||
"header": "Extract Pages",
|
||||
"submit": "Extract"
|
||||
},
|
||||
"sanitizePDF": {
|
||||
"title": "Sanitize PDF",
|
||||
"header": "Sanitize a PDF file",
|
||||
"selectText": {
|
||||
"1": "Remove JavaScript actions",
|
||||
"2": "Remove embedded files",
|
||||
"3": "Remove metadata",
|
||||
"4": "Remove links",
|
||||
"5": "Remove fonts"
|
||||
},
|
||||
"submit": "Sanitize PDF"
|
||||
},
|
||||
"addPageNumbers": {
|
||||
"title": "Add Page Numbers",
|
||||
"header": "Add Page Numbers",
|
||||
"selectText": {
|
||||
"1": "Select PDF file:",
|
||||
"2": "Margin Size",
|
||||
"3": "Position",
|
||||
"4": "Starting Number",
|
||||
"5": "Pages to Number",
|
||||
"6": "Custom Text"
|
||||
},
|
||||
"customTextDesc": "Custom Text",
|
||||
"numberPagesDesc": "Which pages to number, default 'all', also accepts 1-5 or 2,5,9 etc",
|
||||
"customNumberDesc": "Defaults to {n}, also accepts 'Page {n} of {total}', 'Text-{n}', '{filename}-{n}",
|
||||
"submit": "Add Page Numbers"
|
||||
},
|
||||
"adjustContrast": {
|
||||
"title": "Adjust Contrast",
|
||||
"header": "Adjust Contrast",
|
||||
"contrast": "Contrast:",
|
||||
"brightness": "Brightness:",
|
||||
"saturation": "Saturation:",
|
||||
"download": "Download"
|
||||
},
|
||||
"compress": {
|
||||
"title": "Compress",
|
||||
"header": "Compress PDF",
|
||||
"credit": "This service uses Ghostscript for PDF Compress/Optimisation.",
|
||||
"selectText": {
|
||||
"1": "Manual Mode - From 1 to 4",
|
||||
"2": "Optimization level:",
|
||||
"3": "4 (Terrible for text images)",
|
||||
"4": "Auto mode - Auto adjusts quality to get PDF to exact size",
|
||||
"5": "Expected PDF Size (e.g. 25MB, 10.8MB, 25KB) "
|
||||
},
|
||||
"submit": "Compress"
|
||||
},
|
||||
"pageRemover": {
|
||||
"title": "Page Remover",
|
||||
"header": "PDF Page remover",
|
||||
"pagesToDelete": "Pages to delete (Enter a comma-separated list of page numbers) :",
|
||||
"submit": "Delete Pages"
|
||||
},
|
||||
"imageToPDF": {
|
||||
"title": "Image to PDF",
|
||||
"header": "Image to PDF",
|
||||
"submit": "Convert",
|
||||
"selectLabel": "Image Fit Options",
|
||||
"fillPage": "Fill Page",
|
||||
"fitDocumentToImage": "Fit Page to Image",
|
||||
"maintainAspectRatio": "Maintain Aspect Ratios",
|
||||
"selectText": {
|
||||
"2": "Auto rotate PDF",
|
||||
"3": "Multi file logic (Only enabled if working with multiple images)",
|
||||
"4": "Merge into single PDF",
|
||||
"5": "Convert to separate PDFs"
|
||||
}
|
||||
},
|
||||
"changeMetadata": {
|
||||
"title": "Title:",
|
||||
"header": "Change Metadata",
|
||||
"selectText": {
|
||||
"1": "Please edit the variables you wish to change",
|
||||
"2": "Delete all metadata",
|
||||
"3": "Show Custom Metadata:",
|
||||
"4": "Other Metadata:",
|
||||
"5": "Add Custom Metadata Entry"
|
||||
},
|
||||
"author": "Author:",
|
||||
"creationDate": "Creation Date (yyyy/MM/dd HH:mm:ss):",
|
||||
"creator": "Creator:",
|
||||
"keywords": "Keywords:",
|
||||
"modDate": "Modification Date (yyyy/MM/dd HH:mm:ss):",
|
||||
"producer": "Producer:",
|
||||
"subject": "Subject:",
|
||||
"trapped": "Trapped:",
|
||||
"submit": "Change"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
70
package-lock.json
generated
70
package-lock.json
generated
@ -71,10 +71,13 @@
|
||||
"@tauri-apps/api": "^1.5.1",
|
||||
"archiver": "^6.0.1",
|
||||
"bootstrap": "^5.3.2",
|
||||
"i18next": "^23.6.0",
|
||||
"i18next-browser-languagedetector": "^7.1.0",
|
||||
"path-browserify": "^1.0.1",
|
||||
"react": "^18.2.0",
|
||||
"react-bootstrap": "^2.9.1",
|
||||
"react-dom": "^18.2.0",
|
||||
"react-i18next": "^13.3.1",
|
||||
"react-icons": "^4.11.0",
|
||||
"react-router-bootstrap": "^0.26.2",
|
||||
"react-router-dom": "^6.18.0"
|
||||
@ -7502,6 +7505,14 @@
|
||||
"node": ">=12"
|
||||
}
|
||||
},
|
||||
"node_modules/html-parse-stringify": {
|
||||
"version": "3.0.1",
|
||||
"resolved": "https://registry.npmjs.org/html-parse-stringify/-/html-parse-stringify-3.0.1.tgz",
|
||||
"integrity": "sha512-KknJ50kTInJ7qIScF3jeaFRpMpE8/lfiTdzf/twXyPBLAGrLRTmkz3AdTnKeh40X8k9L2fdYwEp/42WGXIRGcg==",
|
||||
"dependencies": {
|
||||
"void-elements": "3.1.0"
|
||||
}
|
||||
},
|
||||
"node_modules/http-errors": {
|
||||
"version": "2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz",
|
||||
@ -7613,6 +7624,36 @@
|
||||
"node": ">=8.12.0"
|
||||
}
|
||||
},
|
||||
"node_modules/i18next": {
|
||||
"version": "23.6.0",
|
||||
"resolved": "https://registry.npmjs.org/i18next/-/i18next-23.6.0.tgz",
|
||||
"integrity": "sha512-z0Cxr0MGkt+kli306WS4nNNM++9cgt2b2VCMprY92j+AIab/oclgPxdwtTZVLP1zn5t5uo8M6uLsZmYrcjr3HA==",
|
||||
"funding": [
|
||||
{
|
||||
"type": "individual",
|
||||
"url": "https://locize.com"
|
||||
},
|
||||
{
|
||||
"type": "individual",
|
||||
"url": "https://locize.com/i18next.html"
|
||||
},
|
||||
{
|
||||
"type": "individual",
|
||||
"url": "https://www.i18next.com/how-to/faq#i18next-is-awesome.-how-can-i-support-the-project"
|
||||
}
|
||||
],
|
||||
"dependencies": {
|
||||
"@babel/runtime": "^7.22.5"
|
||||
}
|
||||
},
|
||||
"node_modules/i18next-browser-languagedetector": {
|
||||
"version": "7.1.0",
|
||||
"resolved": "https://registry.npmjs.org/i18next-browser-languagedetector/-/i18next-browser-languagedetector-7.1.0.tgz",
|
||||
"integrity": "sha512-cr2k7u1XJJ4HTOjM9GyOMtbOA47RtUoWRAtt52z43r3AoMs2StYKyjS3URPhzHaf+mn10hY9dZWamga5WPQjhA==",
|
||||
"dependencies": {
|
||||
"@babel/runtime": "^7.19.4"
|
||||
}
|
||||
},
|
||||
"node_modules/iconv-lite": {
|
||||
"version": "0.4.24",
|
||||
"resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
|
||||
@ -10023,6 +10064,27 @@
|
||||
"react": "^18.2.0"
|
||||
}
|
||||
},
|
||||
"node_modules/react-i18next": {
|
||||
"version": "13.3.1",
|
||||
"resolved": "https://registry.npmjs.org/react-i18next/-/react-i18next-13.3.1.tgz",
|
||||
"integrity": "sha512-JAtYREK879JXaN9GdzfBI4yJeo/XyLeXWUsRABvYXiFUakhZJ40l+kaTo+i+A/3cKIED41kS/HAbZ5BzFtq/Og==",
|
||||
"dependencies": {
|
||||
"@babel/runtime": "^7.22.5",
|
||||
"html-parse-stringify": "^3.0.1"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"i18next": ">= 23.2.3",
|
||||
"react": ">= 16.8.0"
|
||||
},
|
||||
"peerDependenciesMeta": {
|
||||
"react-dom": {
|
||||
"optional": true
|
||||
},
|
||||
"react-native": {
|
||||
"optional": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"node_modules/react-icons": {
|
||||
"version": "4.11.0",
|
||||
"resolved": "https://registry.npmjs.org/react-icons/-/react-icons-4.11.0.tgz",
|
||||
@ -11988,6 +12050,14 @@
|
||||
"integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/void-elements": {
|
||||
"version": "3.1.0",
|
||||
"resolved": "https://registry.npmjs.org/void-elements/-/void-elements-3.1.0.tgz",
|
||||
"integrity": "sha512-Dhxzh5HZuiHQhbvTW9AMetFfBHDMYpo23Uo9btPXgdYP+3T5S+p+jgNy7spra+veYhBP2dCSgxR/i2Y02h5/6w==",
|
||||
"engines": {
|
||||
"node": ">=0.10.0"
|
||||
}
|
||||
},
|
||||
"node_modules/w3c-xmlserializer": {
|
||||
"version": "4.0.0",
|
||||
"resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-4.0.0.tgz",
|
||||
|
Loading…
x
Reference in New Issue
Block a user