WordPress Development Stack Exchange is a question and answer site for WordPress developers and administrators. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I'm using WP 3.5 and Polylang 0.9.8 plugin to make translations to different languages.

All is good, and the plugin works fine, but now I'm facing a problem -- I need to translate custom strings, for example, strings inside widgets.

What can you recommend me to solve this problem?

ADDED: For example (I'm taling about text in widgets, but not header), can I add some string constants or so and write them from php-code into my page -- and got them to translate on String translation page of Polylang?

share|improve this question
This question isn't very answerable in its current form. How you'd address translating those strings has a lot to do with how your plugins and theme are written and is a big topic. – s_ha_dum Jan 23 '13 at 23:53
How can I concrete question? – troyane Jan 27 '13 at 19:01
up vote 6 down vote accepted

Use this


on functions.php

Use it like this:


Allows plugins to add their own strings in the “strings translation” panel. The function must be called on admin side (the functions.php file is OK for themes).

pll_register_string($name, $string, $multiline);
‘$name’ => (required) name provided for sorting convenience (ex: ‘myplugin’)
‘$string’ => (required) the string to translate
‘$multiline’ => (optional) if set to true, the translation text field will be multiline, defaults to false


pll_register_string('Header Title', 'The title you want to appear');

Then on dashboard config, on languages, you are going to find a tap called "strings". There you're going to have this new created string, and an input text to fill the translation text for every active language on your site. Write translations, and then use the funcions:

pll_e() to directly echo, or pll__() to manually echo it. Your'ge going to use it like:

pll_e('The title you want to appear'); or
echo pll__('The title you want to appear');

That's it! :)

share|improve this answer
Thanx! That was issue! Strange, that question is simple, but no one answered for a long time. – troyane Feb 14 '13 at 9:35
Thank you so much – Fox Nov 1 '15 at 11:16

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.