Using Polylang to generate multilingual PDF documents


Setup #

Requirements:

Note: While Polylang by itself allows for PDF translations, managing multilingual content efficiently is difficult without the Polylang WooCommerce addon. This documetation focuses on the basics of our Polylang compatibility.

An image of the multilingual settings

WooCommerce > PDF Invoices > Pro

At WooCommerce > PDF Invoices > Pro, unless you need to set the language to a fixed one, set the Document language to Order/customer language.

With Polylang configured, users will receive their documents in the language in which Polylang set their Checkout at the time of purchase,

Polylang also enhances certain settings of our Invoicing plugin by adding multi-lingual tabs to them. These language tabs are set via the Polylang ‘Languages’ menu.

An image of Polylang settings

The following list shows how the multilingual tabs appear for compatible settings.

Multilingual settings #

All document settings are saved in the WooCommerce order meta. These multilingual settings keep existing even if Polylang is uninstalled.

  • Path: WooCommerce > PDF Invoices > General

Since this adds the ability to set a different shop logo per language (language locale), it becomes possible to add the same shop logo – with different text, to truly reach a multilingual shop feeling.

Examples #

The images below represent an example of multilingual-friendly logos:

  • Example – Logo set for Spanish:
  • Example – Logo set for German:

Shop Name #

  • Path: WooCommerce > PDF Invoices > General

Note that the Shop Name setting is selected in French:

Result on document in French:

Shop Name setting selected in German:

Result for document in German:



Shop Address #

  • Path: WooCommerce > PDF Invoices > General
  • Path: WooCommerce > PDF Invoices > General



Extra template fields #



Document title #

  • Path: WooCommerce > PDF Invoices > Documents, select the document type then scroll to Document title.



PDF filename #

  • Path: WooCommerce > PDF Invoices > Documents, select the document type then scroll to PDF filename.



Document number label #

  • Path: WooCommerce > PDF Invoices > Documents, select the document type then scroll to Document number label.



Document date label #

  • Path: WooCommerce > PDF Invoices > Documents, select the document type then scroll to Document date label.



Due date label #

  • Path: WooCommerce > PDF Invoices > Documents, select the document type then scroll to Due date label.

Address customization #

Enjoy different address structures based on your document language.

The fields to overwrite the Billing Address:


Similar to above, the fields to overwrite the Shipping Address:

String translation #

Example: Custom Block translation #

The content from Custom Blocks is not translated by default, as the strings are not from our plugin itself. Instead, they were inserted manually (via a Custom Block in our case).


The document language below is in French, so we expect our manually added text to be in French, not in English.


In order to translate these strings, they need to be searched via the Polylang settings at Languages > Translations.

Once in Polylang’s ‘Translations‘ settings:
– Change the current language to the language in which you want to edit the translation.
– Search for the string (text) you would like to translate.

In our example, our target language is French.

When viewing the search results, the Group should always be PDF Invoices & Packing Slips for WooCommerce – Premium Templates if it is from a Custom Block. This Group column will always give a hint regarding where the inserted string came from.

From here, the desired text can now be inserted. Remember to save your translation.

Here is the result on a document:



Troubleshooting #

  • When viewing search results from the Polylang translation settings at Languages > Translations, it is important to take note of both the Name and Group of the result.

  • Remember to leave the the Document language setting at ‘Order/customer language’ to avoid sending all your customers documents in the same forced language.

An image showing the Document Language setting
WooCommerce > PDF Invoices > Pro