Version 0.7.3 – Shortcodes support

Today we have released version 0.7.3 which adds support for shortcodes inside wordpress posts, this can be used to do some neat stuff and for which we have created the video above, so if you have five minutes free and nothing better to do, just watch the video. Otherwise we would recommand reading the documentation at

Some more bug fixes were added to this release, mainly reducing the load (and duplications) that bots might create on edit pages, and eliminate unneeded session files for bots.

Enjoy this version!


  1. says

    After a load of problems with WPML, I have discovered transposh, and I love it. I use it for , a few bugs are remaining in the widget, and some options are missing ( like the ability to reset the translation for 1 language only )
    it is very nice to see an update, even if we developped some specific shortcode ( to be able to show a different youtube link and video depending on the current language ), so just keep the good work.

  2. says

    Totally retarded to have a translator break down a paragraph by “,”‘s. If the other language uses a different sentence structure then things are messed up. I need a translation tool that lets me put in different language text from a real translator, I like the overall way it translates and that Google can be a fall back but I need a way to cut and paste whole paragraphs or pages in different languages not a wise-ass one that assumes every language will have the same commas and punctuation!

    • says

      Retarded are us, wanted to thank you for this useful comment,
      you can change the parser.php so that breaking would be done in a way more suitable to you. Feel free to share your code with us later.

        • Tom says

          There is also a problem with transposh breaking up translations on the point in numbers like 2.0 – makes a nonsense of anything using phrase ‘web 2.0’ etc – could you distinguish a decimal number from a full stop by its context?

          • says

            This will only happen if the dot is written in html escaped code. 2.0 is safe enough, the break happens on numbers

  3. says

    Just made a simple extension to know the current language in a post or page. You can use a [lang] shortcode for this.

    You have to add this short snippet to your themes’ function.php.

    //Transposh integration
    function get_curr_transposh_lang() {
    $lang = transposh_utils::get_language_from_url($_SERVER[‘REQUEST_URI’], get_option(‘home’) );
    if ($lang != “”) $lang .= “/”;
    return $lang;

    add_shortcode(‘lang’, ‘get_curr_transposh_lang’);

    Transposh is a great plugin! Credits to the authors!

  4. techtte says

    Is there any way when you are on a translated page, when clicking a link that sends to another page in my site, instead of sending you to the translated version of the page, to send you to the original. This would really help me. Thank you in advance.

  5. Bart says

    How do I make Transposh ignore this character: ‘
    I made it work for ” but can find a line of code to prevent it form breaking a paragraph when ‘ appears.

  6. Elda says

    If I have a static page as my home page with no widgets enabled on it, how can i still offer my visitors the option to choose their preferred language?

  7. says

    Hi, this morning I installed Transposh, and I am very impressed. There is just one problem: The automatic translation is very slooooooow. There are around 1000 posts and 7000 comments in my blog. Just to translate them all from German to English will probably take until Christmas. Isn’t there any way to make it faster?

    • says

      Hello There,

      It is slow because you probably don’t want to overuse the translation service which might result in temporary or permanent interruptions of service, you can always hasten things up by going to pages on your site in the new language as a user, you will see that translation happens quite fast.

      Good luck

      • says

        Well, I understand – though I hoped to make the entire content of my blog available to the English speaking public (and to the search engines 😉 ). OK, nevertheless, your plugin is the best translation tool I know.

        There is another problem: I’ve just tried to update to WordPress 3.1.2., and this failed. The system tells me it couldn’t copy the file /wp-content/languages/ As I saw, this file is set 644, and the system refuses changing it. Is it possible that this problem has to do with the Transposh plugin? (For it is the first time ever an update fails; the problem concerns a language file, and the only major change since the last update was that I installed Transposh.)

        • says


          Can’t see any relation, and I have upgraded several sites, however – you can always remove transposh, update again and reinstall it.

          If you find anything there that is related to Transposh directly I’ll be happy to hear that.

          Good luck

  8. Alain says

    The shortcodes are are a fantastic addion to the plugin, but I am seeing two issues with them:

    1) They don’t seem to work in excerpts. My auto-generated excerpts are blank, and the manually created ones do not abide the shortcode rules (i.e. all the languages are displayed regardless of “only”/”not_in”)

    2) There appears to be an issue when you have a rule that relates to the default language. So for example, my default is English, plus I have Italian and French.
    [tp not_in="fr"]Hello[/tp] [tp lang="fr" only="y"]Bonjour[/tp]
    This works as expected in French (“Bonjour”) and Italian (“Hello”), but in English (default language), I get both “Hello” and “Bonjour” displayed…

    I am on WP 3.1.2.

    I have tried multiple themes, de-acticating/re-activating.

    Please advise.


    • says

      Hello Alain,

      Regarding number 1, could be, will have to check this,

      Number 2, do you have translate default language enabled?

      Sorry about the late response.

  9. says

    Is there any chance you can show us how to change the parser so that it does not include commas (,) into its strings ?

    This is really the only issue i’m facing with this great plugin. This would trigger a donation right away (not that i’m trying to bribe anyone… But then why not as it’s really crucial for my website !).



    • says

      Hello, just remove the comma from the last line of the function is_sentence_breaker in parser.php. Remember that it might cause old translations to be invalidated. Also, read my opinion on donations before rushing to donate (not that I am not to be bribed)

      Good luck

      • says

        The parser tweak worked like a charm. IT makes it a lot easier to do manual translations of text strings.

        I just have one last question to make the plugin work exactly like i want. Is there a way to display different images in different languages ?

        In french, there’s a saying : “chaque travail mérite salaire”. I’ll let you use this great plugin to have it translated 😉

        • says


          When there is a will, there is away, you can always generate the link to the picture with code and use the transposh_plugin current language in this generation, many have tried, most of them successfully.

          • says

            “generate a link to the picture with code” ?

            I’m sorry but i can’t find a way to understand this properly. Arent all links to images in code ?

          • says

            I meant PHP code, when you make sure you output the lang as a part of the image name, most such changes are normally done at the template level, so instead of img src=”something” you let the something be something + the current language

            Good luck

  10. says

    Three suggestions:

    It would be helpful if one could choose whether to edit parts of a sentence (as is the case now), or a sentence, or a whole paragraph. At present, it is not possible to change the order of sentences or parts of it. As different languages often differ in the usual syntax, this is often necessary, or at least helpful, and leads to more elegant results.

    I would like to edit the puctuation marks between the parts zu be edited.

    Try to include the PROMT Translator. For certain language pairs (f.e German-English, German-French, German-Russian, Promt is much stronger than Bing or Google.

    • says


      Agree to 1 and 2, this is work in progress and is proving quite hard to achieve, will be done in the future
      3. the PROMT translator does not have a usable ajax interface, although work by proxy is possible, I am not sure how useful it will be because of the limited extent of the language pair selection, if more people will require this, we’ll put more focus on that.

      thanks for the suggestions, will be happy to hear more

  11. says

    great plugin!
    But I have a problem
    how to:
    -DO NOT translate the two main categories of the site
    -Do not translate the titles of the POST
    Thanks for the reply.

    • says


      If you don’t want post titles translated, just wrap the the_title function in the template with a no_translate class.

      regarding categories, you can use the appropriate shortcode on posts in the category.

      • says

        Thanks, for speed!
        and I'm sorry, but I am self-taught (that is, I do not understand anything!!)
        …But it happens that:
        If you wrap the title so
        [tp no_translate="eaccelarator"]Post Title[/tp]
        then remains throughout the written list of posts published (I do not like!)

        For the class if I do this
        [tp no_translate="eaccelarator"]Category Name[/tp]
        remains throughout the text as a link!
        What's wrong?

  12. says

    sorry if I insist: but I tried in every way!!!
    I just can not avoid the translation of:
    – titles of posts
    – titles of the widgets
    – main categories
    I installed version 0.7.3 to use the shortcode, but probably wrong to include them.
    I also tried to repeat step by step what you do in video: but to me it happens that the post title is still published.
    Thanks for your.

      • says

        Hello Bob, Thanks for your interest but also with your code, nothing happens:
        For example if I enter in the title of the widget, is visible throughout the writing of code and also the title is still translated.
        The only work within the shortcode posts!
        Thanks to the availability…

        • says

          Hello Cristina,

          The shortcode will not work on the post title (a wordpress limitation), your best bet is to change the template code and wrap titles in no_translate. you can also insert said spans into titles by manually manipulating the database.

          I would like to know what is the use case for this exactly to see if changes are required to the design in some way.

          Good luck

  13. Greg says

    I am trying to display a different youtube video in a post based on the language being viewed.

    [tp lang="es" only="y"]The Spanish See This Video[/tp]
    [tp lang="de" only="y"]The Germans See This Video[/tp]
    [tp not_in="es,de" no_translate="y"]Everyone else see’s the default Video[/tp]

    The almost works but it seems like a bug with the first two lines. Those lines are also always displayed when the default language is being viewed, even if the default language is not Spanish or German. It works correctly once the user goes to different languages but at least according to the documentation those first two lines should only be see by users viewing Spanish and German?? Suggestions? Ver .74

    • says

      Hello Greg,

      You need to enable translation of the default language, otherwise the page is not processed by the parser, causing the effect you see

      • says

        I confirm the same problem, but enabling the translation of the default language, let anyone be able to translate the english, and from my experience it was a nightmare as some translator translated the english ( main language ) to their own language.
        why it behaves like this ? any workaround ?

        • says


          Enabling translate of default language should not enable translation of the main language, rather parts that are differently marked, you can see on this site that it is enabled, and yet, you can probably not translate much on the default language.

          it is good for:
          translating comments on default language
          multiple language posts
          different content on this language
          some other neat stuff

          However, it is not enabled by default to save resources and avoid unneeded parsing.

          A rare case in which the problem you mention might happen is when one uses a template which marks the default language as different than what it really is.

          • says

            I found a workaround by writing some line of code in php :

            $tp_lang = $GLOBALS[my_transposh_plugin]->target_language;
            extract(shortcode_atts(array(‘arg’ => ‘default’), $atts));
            if (isset($atts[‘only’])) {
            $only = explode(‘,’, $atts[‘only’]);
            if (in_array($tp_lang, $only)) {
            return do_shortcode($content);
            } else if (isset($atts[‘not’])) {
            $not = explode(‘,’, $atts[‘not’]);
            if (!in_array($tp_lang, $not)) {
            return do_shortcode($content);

            don’t ask me to comment, I didn’t write it :)

  14. says

    THx Ofer I can’t really explain very well to Cristina
    she need to operate the modification directly in the source code template
    also i cannot post the real code due the limit comment form
    sorry for that

  15. rainer says

    Helo ofer,

    your best bet is to change the template code and wrap titles in no_translate.

    How do I do this? I have to exclude one whole category from the translation. I would like to do this in the template and not in every single post.

    Best regards

    • says


      You need to add a code to the template checking for a certain category, this is not something I can provide from the back of my head, but it will be something like if cat =="something" echo class="no_translate" in the correct place in accordance to your theme

      Good luck

      • rainer says

        Thank you ofer,
        I didn’t realise I just need a different css-class. With this knowledge it is quite easy for me to rig the template.

        Thank you very much again!

  16. says

    I have around 25 custom sidebars on my site (for different categories) and need multiple widgets, or a short code, to display your widget in each custom sidebar.Will you have multi-widget support anytime soon?

Leave a Reply

Your email address will not be published. Required fields are marked *