تم الانتهاء من آخر دفعة تحسينات على المشروع، وتشمل:
تحويل لوحة الإدارة الداخلية من secret header إلى session auth حقيقي مع صلاحيات admin. إضافة دعم إدارة الأدوار من داخل لوحة الإدارة نفسها، مع حماية الحسابات المعتمدة عبر INTERNAL_ADMIN_EMAILS. تحسين بيانات المستخدم في الواجهة والباكند لتشمل role وis_allowlisted_admin. إضافة اختبار frontend مخصص لصفحة /internal/admin بدل الاعتماد فقط على build واختبار routes. تحسين إضافي في الأداء عبر إزالة الاعتماد على pdfjs-dist/pdf.worker في عدّ صفحات PDF واستبداله بمسار أخف باستخدام pdf-lib. تحسين تقسيم الـ chunks في build لتقليل أثر الحزم الكبيرة وفصل أجزاء مثل network, icons, pdf-core, وeditor. التحقق الذي تم: نجاح build للواجهة. نجاح اختبار صفحة الإدارة الداخلية في frontend. نجاح اختبارات auth/admin في backend. نجاح full backend suite مسبقًا مع EXIT:0. ولو تريد نسخة أقصر جدًا، استخدم هذه: آخر التحديثات: تم تحسين نظام الإدارة الداخلية ليعتمد على صلاحيات وجلسات حقيقية بدل secret header، مع إضافة إدارة أدوار من لوحة admin نفسها، وإضافة اختبارات frontend مخصصة للوحة، وتحسين أداء الواجهة عبر إزالة pdf.worker وتحسين تقسيم الـ chunks في build. جميع الاختبارات والتحققات الأساسية المطلوبة نجح
This commit is contained in:
@@ -17,6 +17,8 @@
|
||||
"privacy": "سياسة الخصوصية",
|
||||
"terms": "شروط الاستخدام",
|
||||
"language": "اللغة",
|
||||
"search": "بحث",
|
||||
"clear": "مسح",
|
||||
"allTools": "كل الأدوات",
|
||||
"account": "الحساب",
|
||||
"signIn": "تسجيل الدخول",
|
||||
@@ -27,6 +29,7 @@
|
||||
"contact": "اتصل بنا",
|
||||
"pricing": "الأسعار",
|
||||
"blog": "المدونة",
|
||||
"developers": "للمطورين",
|
||||
"send": "إرسال",
|
||||
"subject": "الموضوع",
|
||||
"message": "الرسالة",
|
||||
@@ -121,6 +124,8 @@
|
||||
"editNowTooltip": "افتح أداة تحسين PDF السريعة لإنشاء نسخة نظيفة قابلة للتنزيل",
|
||||
"suggestedTools": "الأدوات المقترحة لملفك",
|
||||
"suggestedToolsDesc": "بعد رفع الملف سنعرض الأدوات المتوافقة تلقائيًا: تحرير نص، تمييز، دمج/تقسيم، ضغط، تحويل إلى Word/صورة، تحويل فيديو إلى GIF، والمزيد.",
|
||||
"searchToolsPlaceholder": "ابحث عن الأدوات حسب الاسم أو الاستخدام",
|
||||
"noSearchResults": "لم نعثر على أدوات مطابقة لعبارة البحث بعد. جرّب كلمات أوسع مثل PDF أو صورة أو OCR أو ضغط.",
|
||||
"selectTool": "اختر أداة",
|
||||
"fileDetected": "اكتشفنا ملف {{type}}",
|
||||
"unsupportedFile": "نوع الملف غير مدعوم. جرب PDF أو Word أو صور أو فيديو.",
|
||||
@@ -137,6 +142,17 @@
|
||||
"feature3Title": "أمان مدمج",
|
||||
"feature3Desc": "قم بالوصول إلى ملفاتك بأمان، محمية بتشفير تلقائي."
|
||||
},
|
||||
"socialProof": {
|
||||
"badge": "موثوق من فرق نشطة",
|
||||
"title": "نشاط حي للمنتج من عمليات حقيقية وتقييمات فعلية",
|
||||
"subtitle": "هذه الأرقام تأتي مباشرة من المهام المكتملة وتقييمات الأدوات عبر المنصة.",
|
||||
"processedFiles": "الملفات المعالجة",
|
||||
"successRate": "معدل النجاح",
|
||||
"last24h": "آخر 24 ساعة",
|
||||
"averageRating": "متوسط التقييم",
|
||||
"basedOnRatings": "استنادًا إلى {{count}} تقييمًا مرسلاً",
|
||||
"viewDevelopers": "عرض وثائق المطورين"
|
||||
},
|
||||
"pages": {
|
||||
"about": {
|
||||
"metaDescription": "تعرّف على SaaS-PDF — أدوات ملفات مجانية وسريعة وآمنة عبر الإنترنت لملفات PDF والصور والفيديو والنصوص. لا حاجة للتسجيل.",
|
||||
@@ -311,14 +327,62 @@
|
||||
"q": "ما طرق الدفع المقبولة؟",
|
||||
"a": "نقبل جميع بطاقات الائتمان/الخصم الرئيسية وPayPal. تتم معالجة جميع المدفوعات بأمان عبر Stripe."
|
||||
}
|
||||
]
|
||||
],
|
||||
"trustTitle": "مصمم للفرق التي تحتاج سرعة ووضوحًا في النتائج",
|
||||
"trustSubtitle": "المنصة نفسها تدعم الاستخدام السريع من المتصفح، والعمل المتكرر عبر الحساب، وتدفقات المستندات عبر API.",
|
||||
"trustFastTitle": "معالجة سريعة",
|
||||
"trustFastDesc": "تنفيذ المهام غير المتزامنة والعمال المحسّنون يساعدان على استمرار الأعمال الثقيلة دون تعطيل الواجهة.",
|
||||
"trustPrivateTitle": "الخصوصية افتراضيًا",
|
||||
"trustPrivateDesc": "يتم التحقق من الملفات ومعالجتها بأمان ثم تنظيفها تلقائيًا بعد نافذة الاحتفاظ.",
|
||||
"trustApiTitle": "جاهز للتكامل",
|
||||
"trustApiDesc": "يمكن لمساحات العمل الاحترافية إنشاء مفاتيح API وربط الأدوات نفسها مع الأتمتة الداخلية أو تدفقات العملاء."
|
||||
},
|
||||
"developers": {
|
||||
"metaDescription": "استكشف بوابة مطوري SaaS-PDF، وتدفق API غير المتزامن، والنقاط الجاهزة لأتمتة المستندات.",
|
||||
"badge": "بوابة المطورين",
|
||||
"title": "ابنِ تدفقات المستندات فوق واجهة SaaS-PDF البرمجية",
|
||||
"subtitle": "استخدم نقاط التحويل والضغط وOCR والذكاء الاصطناعي نفسها الموجودة خلف التطبيق داخل أنظمتك الخاصة.",
|
||||
"getApiKey": "احصل على مفتاح API",
|
||||
"comparePlans": "قارن الخطط",
|
||||
"openDocs": "افتح وثائق المطورين",
|
||||
"ctaTitle": "هل تحتاج وصول API لمهام مستندات متكررة؟",
|
||||
"ctaSubtitle": "انتقل من الاستخدام الفردي في المتصفح إلى تدفقات قائمة على الحساب مع نقاط غير متزامنة ومفاتيح API.",
|
||||
"authExampleTitle": "مثال: رفع ملف",
|
||||
"authExampleSubtitle": "أرسل ملفًا إلى نقطة v1 باستخدام مفتاح API ثم استلم معرف مهمة للمعالجة غير المتزامنة.",
|
||||
"pollExampleTitle": "مثال: متابعة حالة المهمة",
|
||||
"pollExampleSubtitle": "افحص نقطة حالة المهمة حتى تكتمل المعالجة، ثم استخدم رابط التحميل المعاد.",
|
||||
"endpointsTitle": "مجموعات النقاط الحالية",
|
||||
"endpointsSubtitle": "هذه المجموعات تعكس مسارات API الحقيقية المتاحة حاليًا في الباكند.",
|
||||
"groupConvert": "التحويلات",
|
||||
"groupPdf": "عمليات PDF",
|
||||
"groupAi": "الذكاء الاصطناعي والاستخراج",
|
||||
"steps": {
|
||||
"createKey": {
|
||||
"title": "أنشئ المفتاح",
|
||||
"description": "ولّد مفتاح API احترافي من مساحة عمل حسابك حتى تتمكن الأتمتة من المصادقة بأمان."
|
||||
},
|
||||
"sendFile": {
|
||||
"title": "أرسل الملف",
|
||||
"description": "أرسل الملف المصدر إلى النقطة المطلوبة واحفظ معرف المهمة المعاد داخل نظامك."
|
||||
},
|
||||
"pollStatus": {
|
||||
"title": "تابع ثم حمّل",
|
||||
"description": "تتبّع اكتمال المهمة عبر نقطة الحالة ثم نزّل الملف المعالج عندما يصبح جاهزًا."
|
||||
}
|
||||
}
|
||||
},
|
||||
"blog": {
|
||||
"metaTitle": "المدونة — نصائح ودروس وتحديثات",
|
||||
"metaDescription": "تعلم كيفية ضغط وتحويل وتعديل وإدارة ملفات PDF مع أدلتنا ودروسنا الاحترافية.",
|
||||
"title": "المدونة",
|
||||
"subtitle": "نصائح ودروس تعليمية وتحديثات المنتج لمساعدتك على العمل بذكاء.",
|
||||
"searchPlaceholder": "ابحث في المقالات حسب الموضوع أو الأداة أو سير العمل",
|
||||
"readMore": "اقرأ المزيد",
|
||||
"backToBlog": "العودة إلى المدونة",
|
||||
"readTime": "{{count}} دقيقة قراءة",
|
||||
"keyTakeaways": "أهم النقاط",
|
||||
"featuredTools": "الأدوات المذكورة في هذا الدليل",
|
||||
"noResults": "لم نجد مقالات مطابقة لعبارة البحث. جرّب PDF أو OCR أو AI أو صورة أو تحويل.",
|
||||
"comingSoon": "مقالات أخرى قادمة قريبًا — تابعنا!",
|
||||
"posts": {
|
||||
"compressPdf": {
|
||||
@@ -758,6 +822,91 @@
|
||||
"processingFailed": "فشل استخراج الجداول. يرجى تجربة ملف PDF مختلف.",
|
||||
"invalidFile": "ملف PDF غير صالح أو تالف. يرجى رفع ملف PDF صحيح."
|
||||
}
|
||||
},
|
||||
"pdfToPptx": {
|
||||
"title": "PDF إلى باوربوينت",
|
||||
"description": "حوّل ملفات PDF إلى عروض تقديمية (PPTX). كل صفحة تصبح شريحة.",
|
||||
"shortDesc": "تحويل إلى PPTX"
|
||||
},
|
||||
"excelToPdf": {
|
||||
"title": "إكسل إلى PDF",
|
||||
"description": "حوّل جداول بيانات إكسل (XLSX, XLS) إلى مستندات PDF.",
|
||||
"shortDesc": "تحويل إلى PDF"
|
||||
},
|
||||
"pptxToPdf": {
|
||||
"title": "باوربوينت إلى PDF",
|
||||
"description": "حوّل عروض باوربوينت التقديمية (PPTX, PPT) إلى PDF.",
|
||||
"shortDesc": "تحويل إلى PDF"
|
||||
},
|
||||
"signPdf": {
|
||||
"title": "توقيع PDF",
|
||||
"description": "أضف صورة توقيعك إلى أي مستند PDF. وقّع بدون طباعة.",
|
||||
"shortDesc": "توقيع PDF",
|
||||
"pdfLabel": "مستند PDF",
|
||||
"signatureLabel": "صورة التوقيع",
|
||||
"pageLabel": "رقم الصفحة"
|
||||
},
|
||||
"cropPdf": {
|
||||
"title": "قص PDF",
|
||||
"description": "قص صفحات PDF عبر تعديل الهوامش. أزل المساحات البيضاء غير المرغوبة.",
|
||||
"shortDesc": "قص PDF",
|
||||
"marginsLabel": "الهوامش المراد قصها (نقاط)",
|
||||
"top": "أعلى",
|
||||
"bottom": "أسفل",
|
||||
"left": "يسار",
|
||||
"right": "يمين"
|
||||
},
|
||||
"flattenPdf": {
|
||||
"title": "تسطيح PDF",
|
||||
"description": "سطّح نماذج PDF والتعليقات التوضيحية. حوّل الحقول التفاعلية إلى محتوى ثابت.",
|
||||
"shortDesc": "تسطيح PDF"
|
||||
},
|
||||
"repairPdf": {
|
||||
"title": "إصلاح PDF",
|
||||
"description": "أصلح ملفات PDF التالفة أو المعطوبة. استعد المحتوى القابل للقراءة.",
|
||||
"shortDesc": "إصلاح PDF"
|
||||
},
|
||||
"pdfMetadata": {
|
||||
"title": "محرر بيانات PDF الوصفية",
|
||||
"description": "عرض وتحرير البيانات الوصفية لملفات PDF بما في ذلك العنوان والمؤلف والموضوع.",
|
||||
"shortDesc": "تحرير البيانات الوصفية",
|
||||
"titleField": "العنوان",
|
||||
"titlePlaceholder": "عنوان المستند",
|
||||
"author": "المؤلف",
|
||||
"authorPlaceholder": "اسم المؤلف",
|
||||
"subject": "الموضوع",
|
||||
"subjectPlaceholder": "موضوع المستند",
|
||||
"keywords": "الكلمات المفتاحية",
|
||||
"keywordsPlaceholder": "كلمة1، كلمة2، ...",
|
||||
"creator": "المنشئ",
|
||||
"creatorPlaceholder": "اسم التطبيق"
|
||||
},
|
||||
"imageCrop": {
|
||||
"title": "قص الصورة",
|
||||
"description": "قص الصور عبر تحديد إحداثيات البكسل.",
|
||||
"shortDesc": "قص الصورة",
|
||||
"coordsLabel": "إحداثيات القص (بكسل)",
|
||||
"left": "يسار",
|
||||
"top": "أعلى",
|
||||
"right": "يمين",
|
||||
"bottom": "أسفل"
|
||||
},
|
||||
"imageRotateFlip": {
|
||||
"title": "تدوير وقلب الصورة",
|
||||
"description": "دوّر الصور 90° أو 180° أو 270° واقلبها أفقياً أو عمودياً.",
|
||||
"shortDesc": "تحويل الصورة",
|
||||
"rotationLabel": "التدوير",
|
||||
"flipHorizontal": "قلب أفقي",
|
||||
"flipVertical": "قلب عمودي"
|
||||
},
|
||||
"barcode": {
|
||||
"title": "مولد الباركود",
|
||||
"description": "أنشئ باركود بتنسيقات متعددة: Code128، EAN-13، UPC-A، ISBN والمزيد.",
|
||||
"shortDesc": "إنشاء باركود",
|
||||
"dataLabel": "بيانات الباركود",
|
||||
"dataPlaceholder": "أدخل البيانات للترميز...",
|
||||
"typeLabel": "نوع الباركود",
|
||||
"formatLabel": "تنسيق الإخراج"
|
||||
}
|
||||
},
|
||||
"account": {
|
||||
@@ -805,6 +954,24 @@
|
||||
"historySubtitle": "ستظهر هنا تلقائيًا كل المهام الناجحة أو الفاشلة المرتبطة بحسابك.",
|
||||
"historyLoading": "جارٍ تحميل النشاط الأخير...",
|
||||
"historyEmpty": "لا يوجد سجل ملفات بعد. عالج أي ملف أثناء تسجيل الدخول وسيظهر هنا.",
|
||||
"dashboardTitle": "نظرة عامة على مساحة العمل",
|
||||
"dashboardSubtitle": "عرض سريع لأنماط المعالجة الحديثة، والإخفاقات، وخطوات الإعداد التالية.",
|
||||
"metricProcessed": "الملفات المعالجة",
|
||||
"metricSuccessRate": "معدل النجاح",
|
||||
"metricFavoriteTool": "الأداة الأكثر استخدامًا",
|
||||
"metricFavoriteToolEmpty": "لا يوجد نشاط بعد",
|
||||
"metricFailures": "المهام الفاشلة",
|
||||
"topToolsTitle": "أكثر الأدوات استخدامًا",
|
||||
"issuesTitle": "المشكلات الأخيرة",
|
||||
"issuesEmpty": "لا توجد إخفاقات حديثة. آخر عملياتك اكتملت بنجاح.",
|
||||
"onboardingTitle": "الخطوات التالية",
|
||||
"onboardingSubtitle": "استخدم هذه القائمة لتحويل الحساب الجديد إلى سير عمل متكرر.",
|
||||
"onboardingFirstTaskTitle": "أكمل أول مهمة بعد تسجيل الدخول",
|
||||
"onboardingFirstTaskDesc": "عالج ملفًا واحدًا على الأقل أثناء تسجيل الدخول حتى يبدأ سجل مساحة العمل والقياسات بالامتلاء.",
|
||||
"onboardingUpgradeTitle": "حدّد إن كنت تحتاج حدود Pro",
|
||||
"onboardingUpgradeDesc": "قم بالترقية عندما تحتاج حصصًا أعلى أو وصول API أو سير عمل أنظف للفريق.",
|
||||
"onboardingApiTitle": "أنشئ مفتاح API",
|
||||
"onboardingApiDesc": "يمكن لمستخدمي Pro إنشاء مفاتيح API لربط معالجة المستندات بالأدوات الداخلية أو تدفقات العملاء.",
|
||||
"downloadResult": "تحميل النتيجة",
|
||||
"createdAt": "تاريخ الإنشاء",
|
||||
"originalFile": "الملف الأصلي",
|
||||
@@ -1188,6 +1355,106 @@
|
||||
{"q": "هل يمكنني تحويل النص إلى أحرف كبيرة؟", "a": "نعم، يمكنك التحويل إلى أحرف كبيرة أو صغيرة أو حالة العنوان أو حالة الجملة بنقرة واحدة."},
|
||||
{"q": "هل يدعم النص العربي؟", "a": "نعم، يتضمن خياراً خاصاً لإزالة التشكيل العربي (الحركات) من النص."}
|
||||
]
|
||||
},
|
||||
"pdfToPptx": {
|
||||
"whatItDoes": "حوّل ملفات PDF إلى عروض تقديمية باوربوينت. كل صفحة تُعرض كصورة عالية الجودة على شريحة منفصلة.",
|
||||
"howToUse": ["ارفع ملف PDF.", "انتظر حتى يكتمل التحويل.", "حمّل عرض PPTX التقديمي."],
|
||||
"benefits": ["كل صفحة تصبح شريحة", "عرض صور عالية الجودة", "لا حاجة لبرامج", "سريع ومجاني"],
|
||||
"useCases": ["تحويل التقارير إلى شرائح عرض تقديمي", "إعادة استخدام محتوى PDF للاجتماعات"],
|
||||
"faq": [
|
||||
{"q": "كيف يعمل تحويل PDF إلى باوربوينت؟", "a": "يتم عرض كل صفحة PDF كصورة عالية الجودة ووضعها على شريحة باوربوينت خاصة بها."}
|
||||
]
|
||||
},
|
||||
"excelToPdf": {
|
||||
"whatItDoes": "حوّل جداول بيانات إكسل إلى مستندات PDF مع الحفاظ على تنسيق الجداول والخطوط.",
|
||||
"howToUse": ["ارفع ملف XLSX أو XLS.", "انتظر التحويل.", "حمّل PDF."],
|
||||
"benefits": ["يدعم XLSX و XLS", "يحافظ على تنسيق الجداول", "دقة عالية", "مجاني وفوري"],
|
||||
"useCases": ["مشاركة الجداول كملفات PDF غير قابلة للتعديل", "إنشاء نسخ جاهزة للطباعة"],
|
||||
"faq": [
|
||||
{"q": "ما تنسيقات إكسل المدعومة؟", "a": "يدعم تنسيقي XLSX الحديث و XLS القديم."}
|
||||
]
|
||||
},
|
||||
"pptxToPdf": {
|
||||
"whatItDoes": "حوّل عروض باوربوينت التقديمية إلى PDF للمشاركة والطباعة بسهولة.",
|
||||
"howToUse": ["ارفع ملف PPTX أو PPT.", "انتظر التحويل.", "حمّل PDF."],
|
||||
"benefits": ["يدعم PPTX و PPT", "يحافظ على تخطيط الشرائح", "ممتاز للمشاركة", "لا حاجة لحساب"],
|
||||
"useCases": ["مشاركة العروض التقديمية كملفات PDF", "إنشاء عروض جاهزة للطباعة"],
|
||||
"faq": [
|
||||
{"q": "هل تُحفظ الانتقالات؟", "a": "PDF تنسيق ثابت، لذا لا تُضمّن الانتقالات والرسوم المتحركة، لكن كل المحتوى المرئي يُحفظ."}
|
||||
]
|
||||
},
|
||||
"signPdf": {
|
||||
"whatItDoes": "أضف صورة توقيعك إلى مستندات PDF بدون طباعة.",
|
||||
"howToUse": ["ارفع مستند PDF.", "ارفع صورة التوقيع (PNG أو JPG).", "اختر رقم الصفحة.", "حمّل PDF الموقّع."],
|
||||
"benefits": ["لا طباعة أو مسح ضوئي", "يدعم PNG و JPG", "ضع التوقيع على أي صفحة", "معالجة آمنة"],
|
||||
"useCases": ["توقيع العقود إلكترونياً", "إضافة توقيعات الموافقة إلى المستندات"],
|
||||
"faq": [
|
||||
{"q": "هل هذا توقيع إلكتروني قانوني؟", "a": "يضع صورة توقيع مرئية. للتوقيعات الرقمية الملزمة قانونياً، قد تكون هناك حاجة لحلول قائمة على الشهادات."}
|
||||
]
|
||||
},
|
||||
"cropPdf": {
|
||||
"whatItDoes": "قص صفحات PDF بتعديل الهوامش. أزل المساحات البيضاء غير المرغوبة.",
|
||||
"howToUse": ["ارفع ملف PDF.", "حدد قيم الهوامش.", "حمّل PDF المقصوص."],
|
||||
"benefits": ["تحكم دقيق بالهوامش", "قص جميع الصفحات", "إزالة المساحات البيضاء", "مجاني وسريع"],
|
||||
"useCases": ["إزالة الهوامش العريضة", "تعديل أحجام الصفحات"],
|
||||
"faq": [
|
||||
{"q": "ما وحدات الهوامش؟", "a": "الهوامش بنقاط PDF (نقطة واحدة = 1/72 بوصة)."}
|
||||
]
|
||||
},
|
||||
"flattenPdf": {
|
||||
"whatItDoes": "سطّح نماذج وتعليقات PDF، وحوّل العناصر التفاعلية إلى محتوى ثابت.",
|
||||
"howToUse": ["ارفع PDF مع نماذج أو تعليقات.", "الأداة تسطّح جميع العناصر التفاعلية.", "حمّل PDF المسطّح."],
|
||||
"benefits": ["إزالة تفاعلية حقول النماذج", "تسطيح التعليقات", "منع التحرير", "مثالي للأرشفة"],
|
||||
"useCases": ["أرشفة النماذج المعبأة", "إرسال النماذج المكتملة بأمان"],
|
||||
"faq": [
|
||||
{"q": "ماذا يعني التسطيح؟", "a": "يحوّل العناصر التفاعلية مثل حقول النماذج والتعليقات إلى محتوى دائم غير قابل للتحرير."}
|
||||
]
|
||||
},
|
||||
"repairPdf": {
|
||||
"whatItDoes": "أصلح ملفات PDF التالفة بإعادة كتابة بنية المستند واستعادة الصفحات المقروءة.",
|
||||
"howToUse": ["ارفع PDF التالف.", "الأداة تحاول إصلاح المستند.", "حمّل PDF المُصلح."],
|
||||
"benefits": ["إصلاح بنى PDF المعطوبة", "استعادة المحتوى", "إخراج نظيف", "مجاني"],
|
||||
"useCases": ["استعادة ملفات PDF التالفة", "إصلاح ملفات لا تفتح"],
|
||||
"faq": [
|
||||
{"q": "هل يمكنه إصلاح أي PDF معطوب؟", "a": "الأداة تستعيد أكبر عدد ممكن من الصفحات. الملفات شديدة التلف قد تكون قابلة للاستعادة جزئياً فقط."}
|
||||
]
|
||||
},
|
||||
"pdfMetadata": {
|
||||
"whatItDoes": "عرض وتحرير خصائص مستند PDF بما في ذلك العنوان والمؤلف والموضوع والكلمات المفتاحية.",
|
||||
"howToUse": ["ارفع ملف PDF.", "املأ حقول البيانات الوصفية.", "حمّل PDF المحدّث."],
|
||||
"benefits": ["تحرير العنوان والمؤلف والمزيد", "تحسين قابلية البحث", "تنظيف خصائص المستند", "لا حاجة لبرامج"],
|
||||
"useCases": ["تعيين عناوين مناسبة لإدارة المستندات", "إضافة معلومات المؤلف"],
|
||||
"faq": [
|
||||
{"q": "ما هي البيانات الوصفية لـ PDF؟", "a": "تشمل خصائص المستند مثل العنوان والمؤلف والكلمات المفتاحية التي تساعد في تنظيم وبحث ملفات PDF."}
|
||||
]
|
||||
},
|
||||
"imageCrop": {
|
||||
"whatItDoes": "قص الصور بتحديد إحداثيات البكسل الدقيقة. يدعم PNG و JPG و WebP.",
|
||||
"howToUse": ["ارفع صورتك.", "أدخل إحداثيات القص.", "حمّل الصورة المقصوصة."],
|
||||
"benefits": ["قص دقيق على مستوى البكسل", "يدعم PNG و JPG و WebP", "مخرجات عالية الجودة", "بدون علامات مائية"],
|
||||
"useCases": ["قص صور المنتجات", "إزالة الحواف غير المرغوبة"],
|
||||
"faq": [
|
||||
{"q": "كيف تعمل الإحداثيات؟", "a": "اليسار والأعلى يحددان نقطة البداية، واليمين والأسفل يحددان نقطة النهاية لمنطقة القص بالبكسل."}
|
||||
]
|
||||
},
|
||||
"imageRotateFlip": {
|
||||
"whatItDoes": "دوّر الصور 90° أو 180° أو 270° واقلبها أفقياً أو عمودياً. ادمج العمليات في خطوة واحدة.",
|
||||
"howToUse": ["ارفع صورتك.", "اختر زاوية التدوير وخيارات القلب.", "حمّل الصورة المحوّلة."],
|
||||
"benefits": ["تدوير 90° أو 180° أو 270°", "قلب أفقي أو عمودي", "دمج العمليات", "يدعم عدة تنسيقات"],
|
||||
"useCases": ["تصحيح اتجاه الصور", "إنشاء صور معكوسة"],
|
||||
"faq": [
|
||||
{"q": "هل يمكنني دمج التدوير والقلب؟", "a": "نعم، يتم تطبيق التدوير والقلب معاً في عملية واحدة."}
|
||||
]
|
||||
},
|
||||
"barcode": {
|
||||
"whatItDoes": "أنشئ باركود بتنسيقات متعددة بما في ذلك Code128 و Code39 و EAN-13 و UPC-A و ISBN والمزيد. حمّل كـ PNG أو SVG.",
|
||||
"howToUse": ["أدخل البيانات للترميز.", "اختر نوع الباركود.", "اختر تنسيق الإخراج (PNG أو SVG).", "أنشئ وحمّل الباركود."],
|
||||
"benefits": ["تنسيقات باركود متعددة", "إخراج PNG و SVG", "إنشاء فوري", "مجاني وبلا حدود"],
|
||||
"useCases": ["إنشاء باركود المنتجات", "إنشاء ملصقات المخزون", "إنتاج باركود ISBN للكتب"],
|
||||
"faq": [
|
||||
{"q": "ما تنسيقات الباركود المتاحة؟", "a": "Code128, Code39, EAN-13, EAN-8, UPC-A, ISBN-13, ISBN-10, ISSN, و PZN."},
|
||||
{"q": "ما الفرق عن رمز QR؟", "a": "الباركود خطي (أحادي البعد) بسعة بيانات أقل. رموز QR ثنائية الأبعاد وتخزن معلومات أكثر."}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -17,6 +17,8 @@
|
||||
"privacy": "Privacy Policy",
|
||||
"terms": "Terms of Service",
|
||||
"language": "Language",
|
||||
"search": "Search",
|
||||
"clear": "Clear",
|
||||
"allTools": "All Tools",
|
||||
"account": "Account",
|
||||
"signIn": "Sign In",
|
||||
@@ -27,6 +29,7 @@
|
||||
"contact": "Contact",
|
||||
"pricing": "Pricing",
|
||||
"blog": "Blog",
|
||||
"developers": "Developers",
|
||||
"send": "Send",
|
||||
"subject": "Subject",
|
||||
"message": "Message",
|
||||
@@ -121,6 +124,8 @@
|
||||
"editNowTooltip": "Open quick PDF optimization for a cleaner downloadable copy",
|
||||
"suggestedTools": "Suggested Tools for Your File",
|
||||
"suggestedToolsDesc": "After uploading, we automatically show compatible tools: text editing, highlighting, merge/split, compress, convert to Word/image, video to GIF, and more.",
|
||||
"searchToolsPlaceholder": "Search tools by name or use case",
|
||||
"noSearchResults": "No tools matched your search yet. Try a broader term like PDF, image, OCR, or compress.",
|
||||
"selectTool": "Choose a Tool",
|
||||
"fileDetected": "We detected a {{type}} file",
|
||||
"unsupportedFile": "This file type is not supported. Try PDF, Word, images, or video.",
|
||||
@@ -137,6 +142,17 @@
|
||||
"feature3Title": "Built-in security",
|
||||
"feature3Desc": "Access files securely, protected by automatic encryption."
|
||||
},
|
||||
"socialProof": {
|
||||
"badge": "Trusted by active teams",
|
||||
"title": "Live product activity from real processing and ratings",
|
||||
"subtitle": "These numbers come directly from completed tasks and tool feedback across the platform.",
|
||||
"processedFiles": "Files processed",
|
||||
"successRate": "Success rate",
|
||||
"last24h": "Last 24 hours",
|
||||
"averageRating": "Average rating",
|
||||
"basedOnRatings": "Based on {{count}} submitted ratings",
|
||||
"viewDevelopers": "View developer docs"
|
||||
},
|
||||
"pages": {
|
||||
"about": {
|
||||
"metaDescription": "Learn about SaaS-PDF — free, fast, and secure online file tools for PDFs, images, video, and text. No registration required.",
|
||||
@@ -311,14 +327,62 @@
|
||||
"q": "What payment methods do you accept?",
|
||||
"a": "We accept all major credit/debit cards and PayPal. All payments are securely processed via Stripe."
|
||||
}
|
||||
]
|
||||
],
|
||||
"trustTitle": "Built for teams that need speed and predictability",
|
||||
"trustSubtitle": "The same platform powers quick browser workflows, recurring account usage, and API-driven document pipelines.",
|
||||
"trustFastTitle": "Fast processing",
|
||||
"trustFastDesc": "Async task handling and optimized workers keep heavy jobs moving without blocking the interface.",
|
||||
"trustPrivateTitle": "Private by default",
|
||||
"trustPrivateDesc": "Uploads are validated, processed securely, and cleaned up automatically after the retention window.",
|
||||
"trustApiTitle": "Ready for integration",
|
||||
"trustApiDesc": "Pro workspaces can generate API keys and connect the same tools to internal automations and client flows."
|
||||
},
|
||||
"developers": {
|
||||
"metaDescription": "Explore the SaaS-PDF developer portal, async API flow, and production-ready endpoints for document automation.",
|
||||
"badge": "Developer Portal",
|
||||
"title": "Build document workflows on top of the SaaS-PDF API",
|
||||
"subtitle": "Use the same conversion, compression, OCR, and AI endpoints behind the web app inside your own systems.",
|
||||
"getApiKey": "Get an API key",
|
||||
"comparePlans": "Compare plans",
|
||||
"openDocs": "Open developer docs",
|
||||
"ctaTitle": "Need API access for repeated document jobs?",
|
||||
"ctaSubtitle": "Move from one-off browser usage to account-based workflows with async endpoints and API keys.",
|
||||
"authExampleTitle": "Example: upload a file",
|
||||
"authExampleSubtitle": "Send a file to a v1 endpoint with your API key and receive a task identifier for async processing.",
|
||||
"pollExampleTitle": "Example: poll task status",
|
||||
"pollExampleSubtitle": "Check the task endpoint until processing finishes, then use the returned download URL.",
|
||||
"endpointsTitle": "Current endpoint groups",
|
||||
"endpointsSubtitle": "These groups reflect real API routes currently available in the backend.",
|
||||
"groupConvert": "Conversions",
|
||||
"groupPdf": "PDF operations",
|
||||
"groupAi": "AI and extraction",
|
||||
"steps": {
|
||||
"createKey": {
|
||||
"title": "Create your key",
|
||||
"description": "Generate a Pro API key from your account workspace so your automation can authenticate securely."
|
||||
},
|
||||
"sendFile": {
|
||||
"title": "Send a file",
|
||||
"description": "Post the source file to the target endpoint and store the returned task ID in your system."
|
||||
},
|
||||
"pollStatus": {
|
||||
"title": "Poll and download",
|
||||
"description": "Track task completion through the status endpoint and download the processed file when ready."
|
||||
}
|
||||
}
|
||||
},
|
||||
"blog": {
|
||||
"metaTitle": "Blog — Tips, Tutorials & Updates",
|
||||
"metaDescription": "Learn how to compress, convert, edit, and manage PDF files with our expert guides and tutorials.",
|
||||
"title": "Blog",
|
||||
"subtitle": "Tips, tutorials, and product updates to help you work smarter.",
|
||||
"searchPlaceholder": "Search articles by topic, tool, or workflow",
|
||||
"readMore": "Read more",
|
||||
"backToBlog": "Back to blog",
|
||||
"readTime": "{{count}} min read",
|
||||
"keyTakeaways": "Key takeaways",
|
||||
"featuredTools": "Tools mentioned in this guide",
|
||||
"noResults": "No articles matched your search. Try PDF, OCR, AI, image, or convert.",
|
||||
"comingSoon": "More articles coming soon — stay tuned!",
|
||||
"posts": {
|
||||
"compressPdf": {
|
||||
@@ -758,6 +822,91 @@
|
||||
"processingFailed": "Failed to extract tables. Please try a different PDF.",
|
||||
"invalidFile": "Invalid or corrupted PDF file. Please upload a valid PDF."
|
||||
}
|
||||
},
|
||||
"pdfToPptx": {
|
||||
"title": "PDF to PowerPoint",
|
||||
"description": "Convert PDF files to PowerPoint (PPTX) presentations. Each page becomes a slide.",
|
||||
"shortDesc": "Convert to PPTX"
|
||||
},
|
||||
"excelToPdf": {
|
||||
"title": "Excel to PDF",
|
||||
"description": "Convert Excel spreadsheets (XLSX, XLS) to PDF documents online.",
|
||||
"shortDesc": "Convert to PDF"
|
||||
},
|
||||
"pptxToPdf": {
|
||||
"title": "PowerPoint to PDF",
|
||||
"description": "Convert PowerPoint presentations (PPTX, PPT) to PDF format.",
|
||||
"shortDesc": "Convert to PDF"
|
||||
},
|
||||
"signPdf": {
|
||||
"title": "Sign PDF",
|
||||
"description": "Add your signature image to any PDF document. Sign PDFs without printing.",
|
||||
"shortDesc": "Sign PDF",
|
||||
"pdfLabel": "PDF Document",
|
||||
"signatureLabel": "Signature Image",
|
||||
"pageLabel": "Page Number"
|
||||
},
|
||||
"cropPdf": {
|
||||
"title": "Crop PDF",
|
||||
"description": "Crop PDF pages by adjusting margins. Remove unwanted whitespace.",
|
||||
"shortDesc": "Crop PDF",
|
||||
"marginsLabel": "Margins to trim (points)",
|
||||
"top": "Top",
|
||||
"bottom": "Bottom",
|
||||
"left": "Left",
|
||||
"right": "Right"
|
||||
},
|
||||
"flattenPdf": {
|
||||
"title": "Flatten PDF",
|
||||
"description": "Flatten PDF forms and annotations. Convert interactive fields to fixed content.",
|
||||
"shortDesc": "Flatten PDF"
|
||||
},
|
||||
"repairPdf": {
|
||||
"title": "Repair PDF",
|
||||
"description": "Repair corrupted or damaged PDF files. Fix broken documents and recover content.",
|
||||
"shortDesc": "Repair PDF"
|
||||
},
|
||||
"pdfMetadata": {
|
||||
"title": "PDF Metadata Editor",
|
||||
"description": "View and edit PDF metadata including title, author, subject, and keywords.",
|
||||
"shortDesc": "Edit Metadata",
|
||||
"titleField": "Title",
|
||||
"titlePlaceholder": "Document title",
|
||||
"author": "Author",
|
||||
"authorPlaceholder": "Author name",
|
||||
"subject": "Subject",
|
||||
"subjectPlaceholder": "Document subject",
|
||||
"keywords": "Keywords",
|
||||
"keywordsPlaceholder": "keyword1, keyword2, ...",
|
||||
"creator": "Creator",
|
||||
"creatorPlaceholder": "Application name"
|
||||
},
|
||||
"imageCrop": {
|
||||
"title": "Crop Image",
|
||||
"description": "Crop images online by specifying exact pixel coordinates.",
|
||||
"shortDesc": "Crop Image",
|
||||
"coordsLabel": "Crop coordinates (pixels)",
|
||||
"left": "Left",
|
||||
"top": "Top",
|
||||
"right": "Right",
|
||||
"bottom": "Bottom"
|
||||
},
|
||||
"imageRotateFlip": {
|
||||
"title": "Rotate & Flip Image",
|
||||
"description": "Rotate images by 90°, 180°, or 270° and flip horizontally or vertically.",
|
||||
"shortDesc": "Transform Image",
|
||||
"rotationLabel": "Rotation",
|
||||
"flipHorizontal": "Flip Horizontal",
|
||||
"flipVertical": "Flip Vertical"
|
||||
},
|
||||
"barcode": {
|
||||
"title": "Barcode Generator",
|
||||
"description": "Generate barcodes in various formats: Code128, EAN-13, UPC-A, ISBN, and more.",
|
||||
"shortDesc": "Generate Barcode",
|
||||
"dataLabel": "Barcode Data",
|
||||
"dataPlaceholder": "Enter data to encode...",
|
||||
"typeLabel": "Barcode Type",
|
||||
"formatLabel": "Output Format"
|
||||
}
|
||||
},
|
||||
"account": {
|
||||
@@ -805,6 +954,24 @@
|
||||
"historySubtitle": "Completed and failed tasks tied to your account appear here automatically.",
|
||||
"historyLoading": "Loading recent activity...",
|
||||
"historyEmpty": "No file history yet. Process a file while signed in and it will appear here.",
|
||||
"dashboardTitle": "Workspace overview",
|
||||
"dashboardSubtitle": "A quick view of your recent processing patterns, failures, and next setup steps.",
|
||||
"metricProcessed": "Processed files",
|
||||
"metricSuccessRate": "Success rate",
|
||||
"metricFavoriteTool": "Most used tool",
|
||||
"metricFavoriteToolEmpty": "No activity yet",
|
||||
"metricFailures": "Failed tasks",
|
||||
"topToolsTitle": "Top tools",
|
||||
"issuesTitle": "Recent issues",
|
||||
"issuesEmpty": "No recent failures. Your latest runs completed successfully.",
|
||||
"onboardingTitle": "Next steps",
|
||||
"onboardingSubtitle": "Use this checklist to turn a new account into a repeatable workflow.",
|
||||
"onboardingFirstTaskTitle": "Complete your first signed-in task",
|
||||
"onboardingFirstTaskDesc": "Process at least one file while logged in so your workspace history and metrics start filling in.",
|
||||
"onboardingUpgradeTitle": "Decide if you need Pro limits",
|
||||
"onboardingUpgradeDesc": "Upgrade when you need higher quotas, API access, or a cleaner team workflow.",
|
||||
"onboardingApiTitle": "Create an API key",
|
||||
"onboardingApiDesc": "Pro users can generate API keys to connect document processing to internal tools or customer flows.",
|
||||
"downloadResult": "Download Result",
|
||||
"createdAt": "Created",
|
||||
"originalFile": "Original file",
|
||||
@@ -1188,6 +1355,116 @@
|
||||
{"q": "Can I convert text to uppercase?", "a": "Yes, you can convert to uppercase, lowercase, title case, or sentence case with a single click."},
|
||||
{"q": "Does it support Arabic text?", "a": "Yes, it includes a special option to remove Arabic diacritics (tashkeel/harakat) from text."}
|
||||
]
|
||||
},
|
||||
"pdfToPptx": {
|
||||
"whatItDoes": "Convert PDF files to PowerPoint presentations. Each page is rendered as a high-quality slide image, preserving the visual layout perfectly.",
|
||||
"howToUse": ["Upload your PDF file.", "Wait for the conversion to process.", "Download your PPTX presentation."],
|
||||
"benefits": ["Each PDF page becomes a slide", "High-quality image rendering", "No software required", "Fast and free"],
|
||||
"useCases": ["Turning reports into presentation slides", "Repurposing PDF content for meetings", "Creating editable presentations from static documents"],
|
||||
"faq": [
|
||||
{"q": "How does PDF to PowerPoint conversion work?", "a": "Each PDF page is rendered as a high-quality image and placed on its own PowerPoint slide."},
|
||||
{"q": "Can I edit the text in the resulting slides?", "a": "The slides contain page images. For text editing, convert to Word first."}
|
||||
]
|
||||
},
|
||||
"excelToPdf": {
|
||||
"whatItDoes": "Convert Excel spreadsheets to PDF documents while preserving table formatting, fonts, and layout.",
|
||||
"howToUse": ["Upload your XLSX or XLS file.", "Wait for the conversion.", "Download the PDF."],
|
||||
"benefits": ["Supports XLSX and XLS", "Preserves table formatting", "Uses LibreOffice for accuracy", "Free and instant"],
|
||||
"useCases": ["Sharing spreadsheets as non-editable PDFs", "Creating printable versions of reports", "Archiving financial documents"],
|
||||
"faq": [
|
||||
{"q": "Which Excel formats are supported?", "a": "Both modern XLSX and legacy XLS formats are fully supported."},
|
||||
{"q": "Are charts preserved?", "a": "Yes, charts and formatting are preserved in the PDF output."}
|
||||
]
|
||||
},
|
||||
"pptxToPdf": {
|
||||
"whatItDoes": "Convert PowerPoint presentations to PDF format for easy sharing and printing. Preserves slide layout and graphics.",
|
||||
"howToUse": ["Upload your PPTX or PPT file.", "Wait for the conversion to complete.", "Download the PDF."],
|
||||
"benefits": ["Supports PPTX and PPT", "Preserves slide layout", "Great for sharing", "No account needed"],
|
||||
"useCases": ["Sharing presentations as PDFs", "Creating print-ready slide decks", "Archiving presentations"],
|
||||
"faq": [
|
||||
{"q": "Are slide transitions preserved?", "a": "PDF is static, so transitions and animations are not included, but all visual content is preserved."},
|
||||
{"q": "Can I convert PPT files too?", "a": "Yes, both PPTX and legacy PPT formats are supported."}
|
||||
]
|
||||
},
|
||||
"signPdf": {
|
||||
"whatItDoes": "Add your signature image to PDF documents without printing. Upload a signature image and place it on any page.",
|
||||
"howToUse": ["Upload your PDF document.", "Upload your signature image (PNG or JPG).", "Choose the page number.", "Download the signed PDF."],
|
||||
"benefits": ["No printing or scanning needed", "Supports PNG and JPG signatures", "Place on any page", "Secure processing"],
|
||||
"useCases": ["Signing contracts electronically", "Adding approval signatures to documents", "Signing forms without printing"],
|
||||
"faq": [
|
||||
{"q": "Is this a legal electronic signature?", "a": "This places a visual signature image. For legally binding digital signatures, certificate-based solutions may be required."},
|
||||
{"q": "What image formats work for signatures?", "a": "PNG (recommended for transparency) and JPG formats are supported."}
|
||||
]
|
||||
},
|
||||
"cropPdf": {
|
||||
"whatItDoes": "Crop PDF pages by adjusting margins. Remove unwanted whitespace and trim documents to the desired size.",
|
||||
"howToUse": ["Upload your PDF.", "Set margin values for each side.", "Download the cropped PDF."],
|
||||
"benefits": ["Precise margin control", "Trim all pages at once", "Remove unwanted whitespace", "Free and fast"],
|
||||
"useCases": ["Removing wide margins from scanned documents", "Trimming PDFs for better screen reading", "Adjusting page sizes for printing"],
|
||||
"faq": [
|
||||
{"q": "What units are the margins in?", "a": "Margins are specified in PDF points (1 point = 1/72 inch)."},
|
||||
{"q": "Can I crop specific pages only?", "a": "Currently all pages are cropped with the same margins."}
|
||||
]
|
||||
},
|
||||
"flattenPdf": {
|
||||
"whatItDoes": "Flatten PDF forms and annotations, converting interactive elements into static content that cannot be edited.",
|
||||
"howToUse": ["Upload your PDF with forms or annotations.", "The tool flattens all interactive elements.", "Download the flattened PDF."],
|
||||
"benefits": ["Remove form field interactivity", "Flatten annotations", "Prevent further editing", "Ideal for archiving"],
|
||||
"useCases": ["Archiving filled forms", "Sending completed forms securely", "Reducing file complexity"],
|
||||
"faq": [
|
||||
{"q": "What does flattening mean?", "a": "Flattening converts interactive elements like form fields and annotations into permanent, non-editable content."},
|
||||
{"q": "Can I undo flattening?", "a": "No, flattening is permanent. Keep a backup of the original file."}
|
||||
]
|
||||
},
|
||||
"repairPdf": {
|
||||
"whatItDoes": "Repair corrupted or damaged PDF files by re-writing the document structure and recovering readable pages.",
|
||||
"howToUse": ["Upload your corrupted PDF.", "The tool attempts to fix the document.", "Download the repaired PDF."],
|
||||
"benefits": ["Fix broken PDF structures", "Recover readable content", "Re-write clean output", "Free to use"],
|
||||
"useCases": ["Recovering damaged PDFs from old storage", "Fixing PDFs that won't open", "Repairing partially downloaded files"],
|
||||
"faq": [
|
||||
{"q": "Can it fix any broken PDF?", "a": "The tool recovers as many pages as possible. Severely corrupted files may only be partially recoverable."},
|
||||
{"q": "Will the repaired file look the same?", "a": "In most cases yes, though some complex elements may be simplified during repair."}
|
||||
]
|
||||
},
|
||||
"pdfMetadata": {
|
||||
"whatItDoes": "View and edit PDF document properties including title, author, subject, keywords, and creator information.",
|
||||
"howToUse": ["Upload your PDF.", "Fill in the metadata fields you want to change.", "Download the updated PDF."],
|
||||
"benefits": ["Edit title, author, and more", "Improve document searchability", "Clean up document properties", "No software needed"],
|
||||
"useCases": ["Setting proper titles for document management", "Adding author information", "Preparing PDFs for archival systems"],
|
||||
"faq": [
|
||||
{"q": "What is PDF metadata?", "a": "Metadata includes document properties like title, author, and keywords that help organize and search PDFs."},
|
||||
{"q": "Can I remove all metadata?", "a": "Yes, leave all fields blank to clear existing metadata."}
|
||||
]
|
||||
},
|
||||
"imageCrop": {
|
||||
"whatItDoes": "Crop images by specifying exact pixel coordinates. Supports PNG, JPG, and WebP formats.",
|
||||
"howToUse": ["Upload your image.", "Enter crop coordinates (left, top, right, bottom).", "Download the cropped image."],
|
||||
"benefits": ["Precise pixel-level cropping", "Supports PNG, JPG, WebP", "High-quality output", "No watermarks"],
|
||||
"useCases": ["Trimming product photos", "Removing unwanted borders", "Creating thumbnails"],
|
||||
"faq": [
|
||||
{"q": "How do coordinates work?", "a": "Left and top define the starting point, right and bottom define the ending point of the crop area in pixels."},
|
||||
{"q": "What formats are supported?", "a": "PNG, JPG/JPEG, and WebP are supported."}
|
||||
]
|
||||
},
|
||||
"imageRotateFlip": {
|
||||
"whatItDoes": "Rotate images by 90°, 180°, or 270° and flip them horizontally or vertically. Combine operations in one step.",
|
||||
"howToUse": ["Upload your image.", "Choose rotation angle and flip options.", "Download the transformed image."],
|
||||
"benefits": ["Rotate by 90°, 180°, or 270°", "Flip horizontal or vertical", "Combine operations", "Supports multiple formats"],
|
||||
"useCases": ["Fixing photo orientation", "Creating mirror images", "Adjusting scanned document rotation"],
|
||||
"faq": [
|
||||
{"q": "Can I combine rotation and flip?", "a": "Yes, rotation and flip are applied together in a single operation."},
|
||||
{"q": "Does rotation affect quality?", "a": "Rotation is lossless for PNG. JPG quality is preserved as closely as possible."}
|
||||
]
|
||||
},
|
||||
"barcode": {
|
||||
"whatItDoes": "Generate barcodes in various formats including Code128, Code39, EAN-13, UPC-A, ISBN, and more. Download as PNG or SVG.",
|
||||
"howToUse": ["Enter the data to encode.", "Select a barcode type.", "Choose output format (PNG or SVG).", "Generate and download your barcode."],
|
||||
"benefits": ["Multiple barcode formats", "PNG and SVG output", "Instant generation", "Free and unlimited"],
|
||||
"useCases": ["Generating product barcodes", "Creating inventory labels", "Producing ISBN barcodes for books"],
|
||||
"faq": [
|
||||
{"q": "What barcode formats are available?", "a": "Code128, Code39, EAN-13, EAN-8, UPC-A, ISBN-13, ISBN-10, ISSN, and PZN."},
|
||||
{"q": "What is the difference from a QR code?", "a": "Barcodes are linear (1D) with less data capacity. QR codes are 2D and store more information."}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -17,6 +17,8 @@
|
||||
"privacy": "Politique de confidentialité",
|
||||
"terms": "Conditions d'utilisation",
|
||||
"language": "Langue",
|
||||
"search": "Rechercher",
|
||||
"clear": "Effacer",
|
||||
"allTools": "Tous les outils",
|
||||
"account": "Compte",
|
||||
"signIn": "Se connecter",
|
||||
@@ -27,6 +29,7 @@
|
||||
"contact": "Contact",
|
||||
"pricing": "Tarifs",
|
||||
"blog": "Blog",
|
||||
"developers": "Développeurs",
|
||||
"send": "Envoyer",
|
||||
"subject": "Sujet",
|
||||
"message": "Message",
|
||||
@@ -121,6 +124,8 @@
|
||||
"editNowTooltip": "Ouvrir l'optimiseur PDF rapide pour générer une copie propre téléchargeable",
|
||||
"suggestedTools": "Outils suggérés pour votre fichier",
|
||||
"suggestedToolsDesc": "Après le téléchargement, nous affichons automatiquement les outils compatibles : édition de texte, surlignage, fusion/division, compression, conversion en Word/image, vidéo en GIF, et plus.",
|
||||
"searchToolsPlaceholder": "Rechercher un outil par nom ou usage",
|
||||
"noSearchResults": "Aucun outil ne correspond encore à votre recherche. Essayez un terme plus large comme PDF, image, OCR ou compression.",
|
||||
"selectTool": "Choisir un outil",
|
||||
"fileDetected": "Nous avons détecté un fichier {{type}}",
|
||||
"unsupportedFile": "Ce type de fichier n'est pas pris en charge. Essayez PDF, Word, images ou vidéo.",
|
||||
@@ -137,6 +142,17 @@
|
||||
"feature3Title": "Sécurité intégrée",
|
||||
"feature3Desc": "Accédez aux fichiers en toute sécurité, protégés par un cryptage automatique."
|
||||
},
|
||||
"socialProof": {
|
||||
"badge": "Adopté par des équipes actives",
|
||||
"title": "Une activité produit réelle issue des traitements et des avis",
|
||||
"subtitle": "Ces chiffres proviennent directement des tâches terminées et des retours sur les outils dans toute la plateforme.",
|
||||
"processedFiles": "Fichiers traités",
|
||||
"successRate": "Taux de réussite",
|
||||
"last24h": "Dernières 24 h",
|
||||
"averageRating": "Note moyenne",
|
||||
"basedOnRatings": "Basé sur {{count}} avis envoyés",
|
||||
"viewDevelopers": "Voir la documentation développeur"
|
||||
},
|
||||
"pages": {
|
||||
"about": {
|
||||
"metaDescription": "Découvrez SaaS-PDF — outils en ligne gratuits, rapides et sécurisés pour les PDF, images, vidéos et textes. Aucune inscription requise.",
|
||||
@@ -311,14 +327,62 @@
|
||||
"q": "Quels moyens de paiement acceptez-vous ?",
|
||||
"a": "Nous acceptons toutes les cartes de crédit/débit principales et PayPal. Tous les paiements sont traités de manière sécurisée via Stripe."
|
||||
}
|
||||
]
|
||||
],
|
||||
"trustTitle": "Conçu pour les équipes qui ont besoin de vitesse et de prévisibilité",
|
||||
"trustSubtitle": "La même plateforme prend en charge les usages rapides dans le navigateur, les workflows récurrents liés au compte et les pipelines documentaires via API.",
|
||||
"trustFastTitle": "Traitement rapide",
|
||||
"trustFastDesc": "Les tâches asynchrones et les workers optimisés permettent aux traitements lourds d'avancer sans bloquer l'interface.",
|
||||
"trustPrivateTitle": "Privé par défaut",
|
||||
"trustPrivateDesc": "Les fichiers sont validés, traités de manière sécurisée puis supprimés automatiquement après la fenêtre de rétention.",
|
||||
"trustApiTitle": "Prêt pour l'intégration",
|
||||
"trustApiDesc": "Les espaces Pro peuvent générer des clés API et connecter les mêmes outils à des automatisations internes ou à des parcours clients."
|
||||
},
|
||||
"developers": {
|
||||
"metaDescription": "Explorez le portail développeur SaaS-PDF, le flux API asynchrone et les endpoints prêts pour l'automatisation documentaire.",
|
||||
"badge": "Portail développeur",
|
||||
"title": "Construisez des workflows documentaires sur l'API SaaS-PDF",
|
||||
"subtitle": "Utilisez dans vos propres systèmes les mêmes endpoints de conversion, compression, OCR et IA que ceux de l'application web.",
|
||||
"getApiKey": "Obtenir une clé API",
|
||||
"comparePlans": "Comparer les forfaits",
|
||||
"openDocs": "Ouvrir la documentation développeur",
|
||||
"ctaTitle": "Besoin d'un accès API pour des traitements documentaires récurrents ?",
|
||||
"ctaSubtitle": "Passez d'un usage ponctuel dans le navigateur à des workflows basés sur un compte avec endpoints asynchrones et clés API.",
|
||||
"authExampleTitle": "Exemple : envoyer un fichier",
|
||||
"authExampleSubtitle": "Envoyez un fichier à un endpoint v1 avec votre clé API et récupérez un identifiant de tâche pour le traitement asynchrone.",
|
||||
"pollExampleTitle": "Exemple : interroger l'état d'une tâche",
|
||||
"pollExampleSubtitle": "Vérifiez l'endpoint d'état jusqu'à la fin du traitement, puis utilisez l'URL de téléchargement renvoyée.",
|
||||
"endpointsTitle": "Groupes d'endpoints actuels",
|
||||
"endpointsSubtitle": "Ces groupes reflètent les routes API réellement disponibles aujourd'hui dans le backend.",
|
||||
"groupConvert": "Conversions",
|
||||
"groupPdf": "Opérations PDF",
|
||||
"groupAi": "IA et extraction",
|
||||
"steps": {
|
||||
"createKey": {
|
||||
"title": "Créez votre clé",
|
||||
"description": "Générez une clé API Pro depuis votre espace compte afin que votre automatisation puisse s'authentifier de façon sécurisée."
|
||||
},
|
||||
"sendFile": {
|
||||
"title": "Envoyez un fichier",
|
||||
"description": "Postez le fichier source vers l'endpoint cible et enregistrez l'identifiant de tâche retourné dans votre système."
|
||||
},
|
||||
"pollStatus": {
|
||||
"title": "Vérifiez puis téléchargez",
|
||||
"description": "Suivez la progression via l'endpoint d'état puis téléchargez le fichier traité dès qu'il est prêt."
|
||||
}
|
||||
}
|
||||
},
|
||||
"blog": {
|
||||
"metaTitle": "Blog — Conseils, tutoriels et mises à jour",
|
||||
"metaDescription": "Apprenez à compresser, convertir, éditer et gérer des fichiers PDF avec nos guides et tutoriels experts.",
|
||||
"title": "Blog",
|
||||
"subtitle": "Conseils, tutoriels et mises à jour produit pour vous aider à travailler plus intelligemment.",
|
||||
"searchPlaceholder": "Rechercher des articles par sujet, outil ou workflow",
|
||||
"readMore": "Lire la suite",
|
||||
"backToBlog": "Retour au blog",
|
||||
"readTime": "{{count}} min de lecture",
|
||||
"keyTakeaways": "À retenir",
|
||||
"featuredTools": "Outils mentionnés dans ce guide",
|
||||
"noResults": "Aucun article ne correspond à votre recherche. Essayez PDF, OCR, IA, image ou conversion.",
|
||||
"comingSoon": "D'autres articles arrivent bientôt — restez connecté !",
|
||||
"posts": {
|
||||
"compressPdf": {
|
||||
@@ -758,6 +822,91 @@
|
||||
"processingFailed": "Échec de l'extraction des tableaux. Veuillez essayer un autre PDF.",
|
||||
"invalidFile": "Fichier PDF invalide ou corrompu. Veuillez télécharger un PDF valide."
|
||||
}
|
||||
},
|
||||
"pdfToPptx": {
|
||||
"title": "PDF vers PowerPoint",
|
||||
"description": "Convertissez des fichiers PDF en présentations PowerPoint (PPTX). Chaque page devient une diapositive.",
|
||||
"shortDesc": "Convertir en PPTX"
|
||||
},
|
||||
"excelToPdf": {
|
||||
"title": "Excel vers PDF",
|
||||
"description": "Convertissez des feuilles de calcul Excel (XLSX, XLS) en documents PDF.",
|
||||
"shortDesc": "Convertir en PDF"
|
||||
},
|
||||
"pptxToPdf": {
|
||||
"title": "PowerPoint vers PDF",
|
||||
"description": "Convertissez des présentations PowerPoint (PPTX, PPT) au format PDF.",
|
||||
"shortDesc": "Convertir en PDF"
|
||||
},
|
||||
"signPdf": {
|
||||
"title": "Signer un PDF",
|
||||
"description": "Ajoutez votre image de signature à n'importe quel document PDF. Signez sans imprimer.",
|
||||
"shortDesc": "Signer le PDF",
|
||||
"pdfLabel": "Document PDF",
|
||||
"signatureLabel": "Image de signature",
|
||||
"pageLabel": "Numéro de page"
|
||||
},
|
||||
"cropPdf": {
|
||||
"title": "Rogner un PDF",
|
||||
"description": "Rognez les pages PDF en ajustant les marges. Supprimez les espaces blancs indésirables.",
|
||||
"shortDesc": "Rogner le PDF",
|
||||
"marginsLabel": "Marges à rogner (points)",
|
||||
"top": "Haut",
|
||||
"bottom": "Bas",
|
||||
"left": "Gauche",
|
||||
"right": "Droite"
|
||||
},
|
||||
"flattenPdf": {
|
||||
"title": "Aplatir un PDF",
|
||||
"description": "Aplatissez les formulaires et annotations PDF. Convertissez les champs interactifs en contenu fixe.",
|
||||
"shortDesc": "Aplatir le PDF"
|
||||
},
|
||||
"repairPdf": {
|
||||
"title": "Réparer un PDF",
|
||||
"description": "Réparez les fichiers PDF corrompus ou endommagés. Récupérez le contenu lisible.",
|
||||
"shortDesc": "Réparer le PDF"
|
||||
},
|
||||
"pdfMetadata": {
|
||||
"title": "Éditeur de métadonnées PDF",
|
||||
"description": "Affichez et modifiez les métadonnées PDF : titre, auteur, sujet et mots-clés.",
|
||||
"shortDesc": "Modifier les métadonnées",
|
||||
"titleField": "Titre",
|
||||
"titlePlaceholder": "Titre du document",
|
||||
"author": "Auteur",
|
||||
"authorPlaceholder": "Nom de l'auteur",
|
||||
"subject": "Sujet",
|
||||
"subjectPlaceholder": "Sujet du document",
|
||||
"keywords": "Mots-clés",
|
||||
"keywordsPlaceholder": "mot1, mot2, ...",
|
||||
"creator": "Créateur",
|
||||
"creatorPlaceholder": "Nom de l'application"
|
||||
},
|
||||
"imageCrop": {
|
||||
"title": "Rogner une image",
|
||||
"description": "Rognez des images en spécifiant les coordonnées exactes en pixels.",
|
||||
"shortDesc": "Rogner l'image",
|
||||
"coordsLabel": "Coordonnées de rognage (pixels)",
|
||||
"left": "Gauche",
|
||||
"top": "Haut",
|
||||
"right": "Droite",
|
||||
"bottom": "Bas"
|
||||
},
|
||||
"imageRotateFlip": {
|
||||
"title": "Rotation et retournement d'image",
|
||||
"description": "Faites pivoter les images de 90°, 180° ou 270° et retournez-les horizontalement ou verticalement.",
|
||||
"shortDesc": "Transformer l'image",
|
||||
"rotationLabel": "Rotation",
|
||||
"flipHorizontal": "Retournement horizontal",
|
||||
"flipVertical": "Retournement vertical"
|
||||
},
|
||||
"barcode": {
|
||||
"title": "Générateur de code-barres",
|
||||
"description": "Générez des codes-barres en plusieurs formats : Code128, EAN-13, UPC-A, ISBN et plus.",
|
||||
"shortDesc": "Générer un code-barres",
|
||||
"dataLabel": "Données du code-barres",
|
||||
"dataPlaceholder": "Entrez les données à encoder...",
|
||||
"typeLabel": "Type de code-barres",
|
||||
"formatLabel": "Format de sortie"
|
||||
}
|
||||
},
|
||||
"account": {
|
||||
@@ -805,6 +954,24 @@
|
||||
"historySubtitle": "Les tâches réussies et échouées liées à votre compte apparaissent ici automatiquement.",
|
||||
"historyLoading": "Chargement de l'activité récente...",
|
||||
"historyEmpty": "Aucun historique pour l'instant. Traitez un fichier en étant connecté et il apparaîtra ici.",
|
||||
"dashboardTitle": "Vue d'ensemble de l'espace",
|
||||
"dashboardSubtitle": "Un aperçu rapide de vos usages récents, des échecs et des prochaines étapes de configuration.",
|
||||
"metricProcessed": "Fichiers traités",
|
||||
"metricSuccessRate": "Taux de réussite",
|
||||
"metricFavoriteTool": "Outil le plus utilisé",
|
||||
"metricFavoriteToolEmpty": "Aucune activité pour le moment",
|
||||
"metricFailures": "Tâches en échec",
|
||||
"topToolsTitle": "Outils les plus utilisés",
|
||||
"issuesTitle": "Problèmes récents",
|
||||
"issuesEmpty": "Aucun échec récent. Vos derniers traitements se sont terminés avec succès.",
|
||||
"onboardingTitle": "Étapes suivantes",
|
||||
"onboardingSubtitle": "Utilisez cette checklist pour transformer un nouveau compte en workflow réutilisable.",
|
||||
"onboardingFirstTaskTitle": "Terminez votre première tâche connectée",
|
||||
"onboardingFirstTaskDesc": "Traitez au moins un fichier en étant connecté pour commencer à alimenter l'historique et les indicateurs de votre espace.",
|
||||
"onboardingUpgradeTitle": "Évaluez si vous avez besoin de Pro",
|
||||
"onboardingUpgradeDesc": "Passez à Pro si vous avez besoin de quotas plus élevés, d'un accès API ou d'un workflow d'équipe plus propre.",
|
||||
"onboardingApiTitle": "Créez une clé API",
|
||||
"onboardingApiDesc": "Les utilisateurs Pro peuvent générer des clés API pour relier le traitement documentaire à des outils internes ou à des parcours clients.",
|
||||
"downloadResult": "Télécharger le résultat",
|
||||
"createdAt": "Créé le",
|
||||
"originalFile": "Fichier source",
|
||||
@@ -1188,6 +1355,86 @@
|
||||
{"q": "Puis-je convertir le texte en majuscules ?", "a": "Oui, vous pouvez convertir en majuscules, minuscules, casse de titre ou casse de phrase en un clic."},
|
||||
{"q": "Est-ce que ça prend en charge le texte arabe ?", "a": "Oui, il inclut une option spéciale pour supprimer les diacritiques arabes (tachkil) du texte."}
|
||||
]
|
||||
},
|
||||
"pdfToPptx": {
|
||||
"whatItDoes": "Convertissez des fichiers PDF en présentations PowerPoint. Chaque page est rendue comme une image haute qualité sur une diapositive séparée.",
|
||||
"howToUse": ["Téléchargez votre fichier PDF.", "Attendez la fin de la conversion.", "Téléchargez votre présentation PPTX."],
|
||||
"benefits": ["Chaque page devient une diapositive", "Rendu d'images haute qualité", "Aucun logiciel requis", "Rapide et gratuit"],
|
||||
"useCases": ["Transformer des rapports en diapositives de présentation", "Réutiliser le contenu PDF pour des réunions"],
|
||||
"faq": [{"q": "Comment fonctionne la conversion PDF vers PowerPoint ?", "a": "Chaque page PDF est rendue comme image haute qualité et placée sur sa propre diapositive PowerPoint."}]
|
||||
},
|
||||
"excelToPdf": {
|
||||
"whatItDoes": "Convertissez des feuilles de calcul Excel en documents PDF en préservant le formatage des tableaux.",
|
||||
"howToUse": ["Téléchargez votre fichier XLSX ou XLS.", "Attendez la conversion.", "Téléchargez le PDF."],
|
||||
"benefits": ["Supporte XLSX et XLS", "Préserve le formatage", "Haute précision", "Gratuit et instantané"],
|
||||
"useCases": ["Partager des feuilles de calcul en PDF non modifiables", "Créer des versions imprimables"],
|
||||
"faq": [{"q": "Quels formats Excel sont supportés ?", "a": "Les formats XLSX moderne et XLS hérité sont entièrement supportés."}]
|
||||
},
|
||||
"pptxToPdf": {
|
||||
"whatItDoes": "Convertissez des présentations PowerPoint en format PDF pour un partage et une impression faciles.",
|
||||
"howToUse": ["Téléchargez votre fichier PPTX ou PPT.", "Attendez la conversion.", "Téléchargez le PDF."],
|
||||
"benefits": ["Supporte PPTX et PPT", "Préserve la mise en page des diapositives", "Idéal pour le partage", "Aucun compte nécessaire"],
|
||||
"useCases": ["Partager des présentations en PDF", "Créer des dossiers de diapositives prêts à imprimer"],
|
||||
"faq": [{"q": "Les transitions sont-elles préservées ?", "a": "Le PDF est un format statique, donc les transitions et animations ne sont pas incluses, mais tout le contenu visuel est préservé."}]
|
||||
},
|
||||
"signPdf": {
|
||||
"whatItDoes": "Ajoutez votre image de signature à des documents PDF sans imprimer.",
|
||||
"howToUse": ["Téléchargez votre document PDF.", "Téléchargez votre image de signature (PNG ou JPG).", "Choisissez le numéro de page.", "Téléchargez le PDF signé."],
|
||||
"benefits": ["Pas d'impression ni de numérisation", "Supporte PNG et JPG", "Placez sur n'importe quelle page", "Traitement sécurisé"],
|
||||
"useCases": ["Signer des contrats électroniquement", "Ajouter des signatures d'approbation"],
|
||||
"faq": [{"q": "Est-ce une signature électronique légale ?", "a": "Cela place une image de signature visuelle. Pour des signatures numériques juridiquement contraignantes, des solutions basées sur des certificats peuvent être nécessaires."}]
|
||||
},
|
||||
"cropPdf": {
|
||||
"whatItDoes": "Rognez les pages PDF en ajustant les marges. Supprimez les espaces blancs indésirables.",
|
||||
"howToUse": ["Téléchargez votre PDF.", "Définissez les valeurs de marge.", "Téléchargez le PDF rogné."],
|
||||
"benefits": ["Contrôle précis des marges", "Rogner toutes les pages", "Supprimer les espaces blancs", "Gratuit et rapide"],
|
||||
"useCases": ["Supprimer les grandes marges", "Ajuster les tailles de page"],
|
||||
"faq": [{"q": "Quelles sont les unités des marges ?", "a": "Les marges sont spécifiées en points PDF (1 point = 1/72 pouce)."}]
|
||||
},
|
||||
"flattenPdf": {
|
||||
"whatItDoes": "Aplatissez les formulaires et annotations PDF, convertissant les éléments interactifs en contenu statique.",
|
||||
"howToUse": ["Téléchargez votre PDF avec formulaires ou annotations.", "L'outil aplatit tous les éléments interactifs.", "Téléchargez le PDF aplati."],
|
||||
"benefits": ["Supprimer l'interactivité des formulaires", "Aplatir les annotations", "Empêcher la modification", "Idéal pour l'archivage"],
|
||||
"useCases": ["Archiver des formulaires remplis", "Envoyer des formulaires complétés en toute sécurité"],
|
||||
"faq": [{"q": "Que signifie aplatir ?", "a": "L'aplatissement convertit les éléments interactifs en contenu permanent non modifiable."}]
|
||||
},
|
||||
"repairPdf": {
|
||||
"whatItDoes": "Réparez les fichiers PDF corrompus en réécrivant la structure du document.",
|
||||
"howToUse": ["Téléchargez votre PDF corrompu.", "L'outil tente de réparer le document.", "Téléchargez le PDF réparé."],
|
||||
"benefits": ["Réparer les structures PDF cassées", "Récupérer le contenu", "Sortie propre", "Gratuit"],
|
||||
"useCases": ["Récupérer des PDF endommagés", "Réparer des fichiers qui ne s'ouvrent pas"],
|
||||
"faq": [{"q": "Peut-il réparer n'importe quel PDF cassé ?", "a": "L'outil récupère autant de pages que possible. Les fichiers gravement corrompus peuvent n'être que partiellement récupérables."}]
|
||||
},
|
||||
"pdfMetadata": {
|
||||
"whatItDoes": "Affichez et modifiez les propriétés du document PDF : titre, auteur, sujet et mots-clés.",
|
||||
"howToUse": ["Téléchargez votre PDF.", "Remplissez les champs de métadonnées.", "Téléchargez le PDF mis à jour."],
|
||||
"benefits": ["Modifier le titre, l'auteur et plus", "Améliorer la recherchabilité", "Nettoyer les propriétés", "Aucun logiciel nécessaire"],
|
||||
"useCases": ["Définir des titres appropriés pour la gestion documentaire", "Ajouter des informations d'auteur"],
|
||||
"faq": [{"q": "Que sont les métadonnées PDF ?", "a": "Les métadonnées incluent les propriétés du document comme le titre, l'auteur et les mots-clés qui aident à organiser et rechercher les PDF."}]
|
||||
},
|
||||
"imageCrop": {
|
||||
"whatItDoes": "Rognez des images en spécifiant des coordonnées exactes en pixels. Supporte PNG, JPG et WebP.",
|
||||
"howToUse": ["Téléchargez votre image.", "Entrez les coordonnées de rognage.", "Téléchargez l'image rognée."],
|
||||
"benefits": ["Rognage précis au pixel", "Supporte PNG, JPG, WebP", "Sortie haute qualité", "Sans filigrane"],
|
||||
"useCases": ["Rogner des photos de produits", "Supprimer les bordures indésirables"],
|
||||
"faq": [{"q": "Comment fonctionnent les coordonnées ?", "a": "Gauche et haut définissent le point de départ, droite et bas définissent le point de fin de la zone de rognage en pixels."}]
|
||||
},
|
||||
"imageRotateFlip": {
|
||||
"whatItDoes": "Faites pivoter les images de 90°, 180° ou 270° et retournez-les horizontalement ou verticalement.",
|
||||
"howToUse": ["Téléchargez votre image.", "Choisissez l'angle de rotation et les options de retournement.", "Téléchargez l'image transformée."],
|
||||
"benefits": ["Rotation de 90°, 180° ou 270°", "Retournement horizontal ou vertical", "Combiner les opérations", "Supporte plusieurs formats"],
|
||||
"useCases": ["Corriger l'orientation des photos", "Créer des images miroir"],
|
||||
"faq": [{"q": "Puis-je combiner rotation et retournement ?", "a": "Oui, la rotation et le retournement sont appliqués ensemble en une seule opération."}]
|
||||
},
|
||||
"barcode": {
|
||||
"whatItDoes": "Générez des codes-barres en plusieurs formats : Code128, Code39, EAN-13, UPC-A, ISBN et plus. Téléchargez en PNG ou SVG.",
|
||||
"howToUse": ["Entrez les données à encoder.", "Sélectionnez un type de code-barres.", "Choisissez le format de sortie (PNG ou SVG).", "Générez et téléchargez votre code-barres."],
|
||||
"benefits": ["Plusieurs formats de code-barres", "Sortie PNG et SVG", "Génération instantanée", "Gratuit et illimité"],
|
||||
"useCases": ["Générer des codes-barres de produits", "Créer des étiquettes d'inventaire", "Produire des codes-barres ISBN pour les livres"],
|
||||
"faq": [
|
||||
{"q": "Quels formats de code-barres sont disponibles ?", "a": "Code128, Code39, EAN-13, EAN-8, UPC-A, ISBN-13, ISBN-10, ISSN et PZN."},
|
||||
{"q": "Quelle est la différence avec un code QR ?", "a": "Les codes-barres sont linéaires (1D) avec moins de capacité de données. Les codes QR sont bidimensionnels (2D) et stockent plus d'informations."}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user