Thanks. This is a genuine gap, and I’ve accepted it for the roadmap: https://feedback.objo.dev/feature/1350
Rather than adding a separate Printers.SetLocale() dictionary, the printing dialogs will use Objo’s existing project-localisation system. Your printing code will remain unchanged:
Var setup As PrinterSetup = Printers.DefaultSetup
Printers.ShowPageSetupDialog(setup)
You’ll add translations under Project Settings > Localisation using stable system keys such as:
| Key | Default |
Objo.System.Printing.PageSetupDialog.Title | Page Setup |
Objo.System.Printing.PageSetupDialog.Accept | OK |
Objo.System.Printing.PrintDialog.Title | Print |
Objo.System.Printing.PrintDialog.Accept | OK |
Objo.System.Printing.Cancel | Cancel |
Objo.System.Printing.Printer | Printer |
Objo.System.Printing.Orientation | Orientation |
Objo.System.Printing.Orientation.Portrait | Portrait |
Objo.System.Printing.Orientation.Landscape | Landscape |
Objo.System.Printing.PaperWidth | Paper width |
Objo.System.Printing.PaperHeight | Paper height |
Objo.System.Printing.LeftMargin | Left margin |
Objo.System.Printing.TopMargin | Top margin |
Objo.System.Printing.RightMargin | Right margin |
Objo.System.Printing.BottomMargin | Bottom margin |
Objo.System.Printing.Copies | Copies |
Objo.System.Printing.FirstPage | First page |
Objo.System.Printing.LastPage | Last page |
For example, a French localisation table could set:
Objo.System.Printing.PageSetupDialog.Title = Mise en page
Objo.System.Printing.PrintDialog.Accept = Imprimer
Objo.System.Printing.Cancel = Annuler
Objo.System.Printing.Printer = Imprimante
Objo.System.Printing.LeftMargin = Marge de gauche
Both ShowPageSetupDialog() and ShowPrintDialog() will use these translations automatically. Missing translations will fall back individually to the existing British-English text. Printer names will remain unchanged because they are supplied by the operating system.