vuln fix
This commit is contained in:
@@ -182,8 +182,8 @@ export default function BillingPage() {
|
||||
cancel: 'Annuler',
|
||||
savingPayment: 'Enregistrement…',
|
||||
savePayment: 'Enregistrer le paiement',
|
||||
chargeHelp: 'Paiement enregistre un règlement sur le solde de la réservation.',
|
||||
depositHelp: 'Dépôt enregistre l’encaissement du dépôt de garantie remboursable.',
|
||||
chargeHelp: 'Le paiement enregistre un règlement sur le solde de la réservation.',
|
||||
depositHelp: 'Le dépôt enregistre l’encaissement du dépôt de garantie remboursable.',
|
||||
invalidAmount: 'Saisissez un montant valide dans la limite du solde restant.',
|
||||
paymentActionDisabled: 'Aucun solde dû',
|
||||
paymentsRecorded: (count: number) => `${count} paiement(s)`,
|
||||
@@ -257,7 +257,7 @@ export default function BillingPage() {
|
||||
cancel: 'إلغاء',
|
||||
savingPayment: 'جارٍ الحفظ…',
|
||||
savePayment: 'حفظ الدفعة',
|
||||
chargeHelp: 'الدفعة تسجل مبلغاً مستلماً على رصيد الحجز.',
|
||||
chargeHelp: 'تسجّل الدفعة مبلغاً مستلماً على رصيد الحجز.',
|
||||
depositHelp: 'العربون يسجل مبلغ التأمين القابل للاسترداد المستلم.',
|
||||
invalidAmount: 'أدخل مبلغاً صحيحاً ضمن الرصيد المتبقي.',
|
||||
paymentActionDisabled: 'لا يوجد رصيد مستحق',
|
||||
|
||||
@@ -22,7 +22,7 @@ export default function CustomersPage() {
|
||||
const copy = {
|
||||
en: {
|
||||
title: 'Customers',
|
||||
subtitle: 'Company-scoped CRM with license validation and risk flags.',
|
||||
subtitle: 'A company CRM with license validation and risk flags.',
|
||||
customer: 'Customer',
|
||||
contact: 'Contact',
|
||||
license: 'License',
|
||||
@@ -36,13 +36,13 @@ export default function CustomersPage() {
|
||||
},
|
||||
fr: {
|
||||
title: 'Clients',
|
||||
subtitle: 'CRM de l’entreprise avec validation de permis et indicateurs de risque.',
|
||||
subtitle: 'CRM de l’entreprise avec validation des permis et indicateurs de risque.',
|
||||
customer: 'Client',
|
||||
contact: 'Contact',
|
||||
license: 'Permis',
|
||||
flags: 'Signalements',
|
||||
imageUploaded: 'Image téléversée',
|
||||
imageMissing: 'Pas d’image',
|
||||
imageMissing: 'Aucune image',
|
||||
noPhone: 'Pas de téléphone',
|
||||
flagged: 'Signalé',
|
||||
clear: 'Aucun risque',
|
||||
@@ -50,16 +50,16 @@ export default function CustomersPage() {
|
||||
},
|
||||
ar: {
|
||||
title: 'العملاء',
|
||||
subtitle: 'نظام CRM خاص بالشركة مع التحقق من الرخصة ومؤشرات المخاطر.',
|
||||
subtitle: 'نظام إدارة عملاء خاص بالشركة مع التحقق من الرخص ومؤشرات المخاطر.',
|
||||
customer: 'العميل',
|
||||
contact: 'التواصل',
|
||||
license: 'الرخصة',
|
||||
flags: 'الإشارات',
|
||||
flags: 'العلامات',
|
||||
imageUploaded: 'تم رفع الصورة',
|
||||
imageMissing: 'لا توجد صورة',
|
||||
noPhone: 'لا يوجد هاتف',
|
||||
flagged: 'مُعلّم',
|
||||
clear: 'سليم',
|
||||
flagged: 'تم تمييزه',
|
||||
clear: 'لا توجد مخاطر',
|
||||
empty: 'لا يوجد عملاء حتى الآن.',
|
||||
},
|
||||
}[language]
|
||||
|
||||
@@ -93,7 +93,7 @@ export default function OnlineReservationsPage() {
|
||||
refresh: 'Actualiser',
|
||||
pendingApproval: 'En attente de validation',
|
||||
loading: 'Chargement…',
|
||||
allCaughtUp: 'Tout est à jour, aucune demande en attente.',
|
||||
allCaughtUp: 'Tout est à jour. Aucune demande en attente.',
|
||||
customer: 'Client',
|
||||
vehicle: 'Véhicule',
|
||||
dates: 'Dates',
|
||||
@@ -102,9 +102,9 @@ export default function OnlineReservationsPage() {
|
||||
},
|
||||
ar: {
|
||||
title: 'الحجوزات الإلكترونية',
|
||||
subtitle: 'طلبات مقدمة من العملاء عبر السوق. قم بالتأكيد أو الرفض لكل طلب.',
|
||||
subtitle: 'طلبات أرسلها العملاء عبر السوق. أكّد كل طلب أو ارفضه.',
|
||||
refresh: 'تحديث',
|
||||
pendingApproval: 'بانتظار الموافقة',
|
||||
pendingApproval: 'في انتظار الموافقة',
|
||||
loading: 'جارٍ التحميل…',
|
||||
allCaughtUp: 'لا توجد طلبات معلقة حالياً.',
|
||||
customer: 'العميل',
|
||||
|
||||
@@ -40,7 +40,7 @@ export default function ReportsPage() {
|
||||
const copy = {
|
||||
en: {
|
||||
title: 'Reports',
|
||||
subtitle: 'Accountant-ready exports with insurance, additional-driver, and pricing-rule totals.',
|
||||
subtitle: 'Accountant-ready exports with totals for insurance, additional drivers, and pricing rules.',
|
||||
exportCsv: 'Export CSV',
|
||||
exporting: 'Exporting…',
|
||||
bookings: 'Bookings',
|
||||
@@ -60,15 +60,15 @@ export default function ReportsPage() {
|
||||
},
|
||||
fr: {
|
||||
title: 'Rapports',
|
||||
subtitle: 'Exports prêts pour le comptable avec totaux assurance, conducteurs supplémentaires et règles tarifaires.',
|
||||
exportCsv: 'Exporter CSV',
|
||||
subtitle: 'Exports prêts pour la comptabilité avec les totaux d’assurance, de conducteurs supplémentaires et de règles tarifaires.',
|
||||
exportCsv: 'Exporter en CSV',
|
||||
exporting: 'Export en cours…',
|
||||
bookings: 'Réservations',
|
||||
rental: 'Location',
|
||||
insurance: 'Assurance',
|
||||
drivers: 'Conducteurs',
|
||||
discounts: 'Remises',
|
||||
collected: 'Collecté',
|
||||
collected: 'Encaissé',
|
||||
reservation: 'Réservation',
|
||||
vehicle: 'Véhicule',
|
||||
period: 'Période',
|
||||
@@ -80,7 +80,7 @@ export default function ReportsPage() {
|
||||
},
|
||||
ar: {
|
||||
title: 'التقارير',
|
||||
subtitle: 'تصدير جاهز للمحاسبة مع إجماليات التأمين والسائقين الإضافيين وقواعد التسعير.',
|
||||
subtitle: 'ملفات تصدير جاهزة للمحاسبة تشمل إجماليات التأمين والسائقين الإضافيين وقواعد التسعير.',
|
||||
exportCsv: 'تصدير CSV',
|
||||
exporting: 'جارٍ التصدير…',
|
||||
bookings: 'الحجوزات',
|
||||
|
||||
@@ -13,7 +13,7 @@ interface Props {
|
||||
const copy = {
|
||||
en: {
|
||||
title: 'Invite a team member',
|
||||
subtitle: "They'll receive an email invitation to join your dashboard",
|
||||
subtitle: "They'll receive an email invitation to join your workspace.",
|
||||
firstName: 'First name',
|
||||
lastName: 'Last name',
|
||||
email: 'Email address',
|
||||
@@ -27,7 +27,7 @@ const copy = {
|
||||
{
|
||||
value: 'MANAGER' as const,
|
||||
label: 'Manager',
|
||||
description: 'Full fleet ops — no billing or team settings',
|
||||
description: 'Full fleet operations, without billing or team settings',
|
||||
permissions: ['Vehicles', 'Reservations', 'CRM', 'Offers', 'Reports', 'License approval'],
|
||||
},
|
||||
{
|
||||
@@ -40,10 +40,10 @@ const copy = {
|
||||
},
|
||||
fr: {
|
||||
title: 'Inviter un membre',
|
||||
subtitle: "Il recevra un email d'invitation pour rejoindre votre tableau de bord",
|
||||
subtitle: "Cette personne recevra un e-mail d'invitation pour rejoindre votre espace de travail.",
|
||||
firstName: 'Prénom',
|
||||
lastName: 'Nom',
|
||||
email: 'Adresse email',
|
||||
email: 'Adresse e-mail',
|
||||
role: 'Rôle',
|
||||
cancel: 'Annuler',
|
||||
sending: 'Envoi…',
|
||||
@@ -54,8 +54,8 @@ const copy = {
|
||||
{
|
||||
value: 'MANAGER' as const,
|
||||
label: 'Manager',
|
||||
description: 'Opérations complètes — sans facturation ni paramètres équipe',
|
||||
permissions: ['Véhicules', 'Réservations', 'CRM', 'Offres', 'Rapports', 'Validation permis'],
|
||||
description: 'Opérations complètes, sans accès à la facturation ni aux paramètres de l’équipe',
|
||||
permissions: ['Véhicules', 'Réservations', 'CRM', 'Offres', 'Rapports', 'Validation des permis'],
|
||||
},
|
||||
{
|
||||
value: 'AGENT' as const,
|
||||
@@ -67,7 +67,7 @@ const copy = {
|
||||
},
|
||||
ar: {
|
||||
title: 'دعوة عضو في الفريق',
|
||||
subtitle: 'سيتلقى بريداً إلكترونياً للانضمام إلى لوحة التحكم',
|
||||
subtitle: 'سيتلقى رسالة بريد إلكتروني للانضمام إلى مساحة العمل.',
|
||||
firstName: 'الاسم الأول',
|
||||
lastName: 'اسم العائلة',
|
||||
email: 'البريد الإلكتروني',
|
||||
@@ -81,7 +81,7 @@ const copy = {
|
||||
{
|
||||
value: 'MANAGER' as const,
|
||||
label: 'مدير',
|
||||
description: 'عمليات أسطول كاملة — بدون الفوترة أو إعدادات الفريق',
|
||||
description: 'صلاحيات تشغيل كاملة للأسطول، من دون الفوترة أو إعدادات الفريق',
|
||||
permissions: ['المركبات', 'الحجوزات', 'CRM', 'العروض', 'التقارير', 'الموافقة على الرخص'],
|
||||
},
|
||||
{
|
||||
|
||||
@@ -68,9 +68,9 @@ const copy = {
|
||||
],
|
||||
agentNotes: ['', '', '', '', '', '', 'Own only', '', '', '', 'Notes only', '', '', '', '', '', '', '', '', ''],
|
||||
},
|
||||
fr: {
|
||||
heading: 'Permissions par rôle',
|
||||
subtitle: 'Ce que chaque rôle peut faire dans le tableau de bord. Les propriétaires ont un accès complet.',
|
||||
fr: {
|
||||
heading: 'Permissions par rôle',
|
||||
subtitle: 'Ce que chaque rôle peut faire dans l’espace de travail. Les propriétaires ont un accès complet à l’ensemble du système.',
|
||||
colFeature: 'Fonctionnalité',
|
||||
colManager: 'Manager',
|
||||
colAgent: 'Agent',
|
||||
@@ -81,7 +81,7 @@ const copy = {
|
||||
'Voir la flotte et les véhicules',
|
||||
'Ajouter / modifier des véhicules',
|
||||
'Publier / dépublier un véhicule',
|
||||
'Télécharger des photos de véhicule',
|
||||
'Téléverser des photos de véhicule',
|
||||
'Voir les réservations',
|
||||
'Créer des réservations',
|
||||
'Annuler des réservations',
|
||||
@@ -90,20 +90,20 @@ const copy = {
|
||||
'CRM clients — consultation',
|
||||
'CRM clients — modification',
|
||||
'Approuver les permis de conduire',
|
||||
'Signaler / blacklister un client',
|
||||
'Signaler / bloquer un client',
|
||||
'Offres et promotions',
|
||||
'Analyses et rapports',
|
||||
'Contrat et facture PDF',
|
||||
'Facturation et abonnement',
|
||||
'Inviter / supprimer du personnel',
|
||||
'Inviter / supprimer des membres de l’équipe',
|
||||
'Paramètres marque et site',
|
||||
'Paramètres de paiement',
|
||||
],
|
||||
agentNotes: ['', '', '', '', '', '', 'Les siennes', '', '', '', 'Notes uniquement', '', '', '', '', '', '', '', '', ''],
|
||||
agentNotes: ['', '', '', '', '', '', 'Les siennes uniquement', '', '', '', 'Notes uniquement', '', '', '', '', '', '', '', '', ''],
|
||||
},
|
||||
ar: {
|
||||
heading: 'صلاحيات الأدوار',
|
||||
subtitle: 'ما يمكن لكل دور القيام به في لوحة التحكم. يملك الملاك وصولاً كاملاً لكل شيء.',
|
||||
subtitle: 'ما يمكن لكل دور القيام به داخل مساحة العمل. يملك المالكون صلاحية كاملة على كل شيء.',
|
||||
colFeature: 'الميزة',
|
||||
colManager: 'المدير',
|
||||
colAgent: 'الوكيل',
|
||||
@@ -120,13 +120,13 @@ const copy = {
|
||||
'إلغاء الحجوزات',
|
||||
'الاستلام / الإرجاع',
|
||||
'فحص الأضرار',
|
||||
'CRM العملاء — عرض',
|
||||
'CRM العملاء — تعديل',
|
||||
'إدارة العملاء — عرض',
|
||||
'إدارة العملاء — تعديل',
|
||||
'الموافقة على رخص القيادة',
|
||||
'تعليم / حظر العميل',
|
||||
'العروض والترويجات',
|
||||
'تمييز العميل / حظره',
|
||||
'العروض والحملات الترويجية',
|
||||
'التحليلات والتقارير',
|
||||
'العقد وفاتورة PDF',
|
||||
'العقد والفاتورة بصيغة PDF',
|
||||
'الفوترة والاشتراك',
|
||||
'دعوة / إزالة الموظفين',
|
||||
'إعدادات العلامة والموقع',
|
||||
|
||||
Reference in New Issue
Block a user