General Translation Guidelines

We’d like to ensure a level of consistency between languages, so that the context of the plugin does not change with translation. For that reason we’d appreciate it if you follow certain guidelines.

The general rules, as covered in more detail on the WordPress Translator Handbook are:

  • Don’t include random links or add extra HTML.
  • Do not translate non-language specific parts of a string such as html, links, and placeholders.
  • Don’t translate literally, translate in a way that makes sense in your language.
  • Try to keep the same level of formality (or informality).
  • Don’t use slang or audience-specific terms.
  • Keep it consistent

Additionally, whilst not a requirement, sticking to the general WordPress style guide (additional one with other languages here). for your language is helpful in keeping things consistent.

Translating Placeholders

Many times, you’ll encounter placeholders which indicate that some dynamic text will be inserted in it’s place, and these placeholders must remain in your translation in order to work. The general examples are:

You have added %d items to your basket.

In this case, %d is replaced with a number, so you would put %d within your translation where appropriate.

%s deleted.

%s represents a string (text), so for example you could say ‘Event deleted’ or ‘Booking deleted’

We have %1$s you from this %2$s.

In certain cases you may find this sort of placeholder format, this is to account for languages that would phrase the sentence differently and place the dynamic placeholders in a different order. The string above for example could be rephrased in English this way and still work:

From this %2$s, you have been %1$s

This might not make much sense in English, but if %1$s was “event” and %2$s was “removed”, both versions would make sense.

You have successfully booked a place in #_EVENTNAME

#_EVENTNAME is a plugin-specific placeholder, you may also see formats like %eventname%, {{eventname}} or anything similar. In these cases, you use the same logic as the %s placeholder.