From f1750cb8870fa0b2240841bbc66deee7c93ac54f Mon Sep 17 00:00:00 2001 From: kbe Date: Sat, 6 Sep 2025 21:35:50 +0200 Subject: [PATCH] chore: Translate pdf into french --- app/services/ticket_pdf_generator.rb | 40 ++++++++++++++-------------- 1 file changed, 20 insertions(+), 20 deletions(-) diff --git a/app/services/ticket_pdf_generator.rb b/app/services/ticket_pdf_generator.rb index 5277d05..545be7e 100755 --- a/app/services/ticket_pdf_generator.rb +++ b/app/services/ticket_pdf_generator.rb @@ -2,10 +2,10 @@ require "prawn" require "prawn/qrcode" require "rqrcode" -# PDF ticket generator service using Prawn +# Service de génération de billets PDF utilisant Prawn # -# Generates simple, compact PDF tickets with QR codes for event entry validation -# Clean, minimalist design that fits on a single page +# Génère des billets PDF simples et compacts avec codes QR pour la validation d'entrée +# Design propre et minimaliste qui tient sur une seule page class TicketPdfGenerator # Suppress Prawn's internationalization warning for built-in fonts Prawn::Fonts::AFM.hide_m17n_warning = true @@ -41,34 +41,34 @@ class TicketPdfGenerator # Customer name pdf.indent 10 do - pdf.text "Ticket Holder:", style: :bold + pdf.text "Titulaire du billet :", style: :bold pdf.text "#{ticket.first_name} #{ticket.last_name}" end pdf.move_down 8 # Ticket details pdf.indent 10 do - pdf.text "Ticket Type:", style: :bold + pdf.text "Type de billet :", style: :bold pdf.text ticket.ticket_type.name end pdf.move_down 8 pdf.indent 10 do - pdf.text "Price:", style: :bold - pdf.text "€#{ticket.price_euros}" + pdf.text "Prix :", style: :bold + pdf.text "#{ticket.price_euros} €" end pdf.move_down 8 pdf.indent 10 do - pdf.text "Date & Time:", style: :bold - pdf.text ticket.event.start_time.strftime("%B %d, %Y at %I:%M %p") + pdf.text "Date et heure :", style: :bold + pdf.text ticket.event.start_time.strftime("%d %B %Y à %H:%M") end pdf.move_down 20 - # Venue information + # Informations sur le lieu pdf.fill_color "374151" pdf.font "Helvetica", style: :bold, size: 14 - pdf.text "Venue Information" + pdf.text "Informations sur le lieu" pdf.move_down 8 pdf.font "Helvetica", size: 11 @@ -76,10 +76,10 @@ class TicketPdfGenerator pdf.text ticket.event.venue_address pdf.move_down 20 - # QR Code + # Code QR pdf.fill_color "000000" pdf.font "Helvetica", style: :bold, size: 14 - pdf.text "QR Code", align: :center + pdf.text "Code QR", align: :center pdf.move_down 10 # Ensure all required data is present before generating QR code @@ -116,7 +116,7 @@ class TicketPdfGenerator # Ticket ID pdf.font "Helvetica", size: 8 pdf.fill_color "6B7280" - pdf.text "Ticket ID: #{ticket.id}", align: :center + pdf.text "ID du billet : #{ticket.id}", align: :center # Footer pdf.move_down 30 @@ -126,17 +126,17 @@ class TicketPdfGenerator pdf.font "Helvetica", size: 8 pdf.fill_color "6B7280" - pdf.text "This ticket is valid for one entry only.", align: :center - pdf.text "Present this ticket at the venue entrance.", align: :center + pdf.text "Ce billet est valable pour une seule entrée.", align: :center + pdf.text "Présentez ce billet à l'entrée du lieu.", align: :center pdf.move_down 5 - pdf.text "Generated on #{Time.current.strftime('%B %d, %Y at %I:%M %p')}", align: :center + pdf.text "Généré le #{Time.current.strftime('%d %B %Y à %H:%M')}", align: :center end.render end private def create_simple_header(pdf) - # Brand name + # Nom de la marque pdf.fill_color "6366F1" pdf.font "Helvetica", style: :bold, size: 24 pdf.text "AperoNight", align: :center @@ -155,7 +155,7 @@ class TicketPdfGenerator end def create_ticket_info(pdf) - # Event name - prominent + # Nom de l'événement - proéminent pdf.fill_color "1F2937" pdf.font "Helvetica", style: :bold, size: 18 pdf.text ticket.event.name, align: :center @@ -173,7 +173,7 @@ class TicketPdfGenerator # Right column pdf.bounding_box([pdf.bounds.width / 2 + 20, pdf.cursor], width: pdf.bounds.width / 2 - 20, height: 120) do create_info_item(pdf, "Type", ticket.ticket_type.name) - create_info_item(pdf, "Prix", "#{sprintf('%.2f', ticket.price_euros)} EUR") + create_info_item(pdf, "Prix", "#{sprintf('%.2f', ticket.price_euros)} €") create_info_item(pdf, "Titulaire", "#{ticket.first_name} #{ticket.last_name}") end end