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. #1 by Fabrice Meuwissen on March 25, 2011 - 11:33 pm

    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 by ofer on March 27, 2011 - 11:19 am

      Hello Fabrice,

      Please suggest any feature you want and share your bugs with us in our trac site (

      I didn’t get the problem with the shortcode, do they collide in some way?

  2. #3 by jay on March 26, 2011 - 8:00 pm

    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!

    • #4 by ofer on March 27, 2011 - 11:20 am

      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.

      • #5 by Fabrice Meuwissen on March 27, 2011 - 11:23 am

        good to know, indeed, it is sometimes not very convenient to have the parser of the ‘,’
        maybe it would be a nice option to add in the settings

        • #6 by Tom on April 19, 2011 - 11:32 am

          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?

          • #7 by ofer on April 19, 2011 - 4:28 pm

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

  3. #8 by Tamas Gal on March 31, 2011 - 11:00 pm

    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. #9 by techtte on April 21, 2011 - 5:05 pm

    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.

    • #10 by ofer on April 21, 2011 - 8:17 pm

      Yes, wrap the link with the no_translate class

      • #11 by techtte on April 23, 2011 - 12:47 pm

        Is there a way to select this in Transposh and make this happen all the time. It would be a lot easier. Thanks.

        • #12 by ofer on April 24, 2011 - 11:39 pm

          No, as this would probably not be expected behavior for most users, you can however make changes to the url rewriting function (or disable it in the parser)

  5. #13 by Bart on April 23, 2011 - 3:43 pm

    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.

    • #14 by ofer on April 24, 2011 - 11:40 pm

      Check that that character does not appear as a html symbol in your page source

  6. #15 by Elda on April 26, 2011 - 6:15 pm

    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?

    • #16 by ofer on April 26, 2011 - 11:36 pm

      Just add static links to the translated pages on this page

  7. #17 by Manfred on April 28, 2011 - 1:09 am

    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?

    • #18 by ofer on April 28, 2011 - 11:40 am

      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

      • #19 by Manfred on April 28, 2011 - 4:59 pm

        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.)

        • #20 by ofer on April 28, 2011 - 5:31 pm


          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. #21 by Manfred on April 28, 2011 - 6:11 pm

    Thank you for the quick response. If I do as you say, do I lose the translations already made (some of them have already been edited)?

    • #22 by ofer on April 28, 2011 - 7:07 pm

      The translations are stored in a table which is not removed by uninstalling, however – backing up is always a good policy

  9. #23 by Alain on May 2, 2011 - 4:37 pm

    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.


    • #24 by ofer on May 9, 2011 - 12:16 am

      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.

  10. #25 by Charles on May 18, 2011 - 9:39 am

    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 !).



    • #26 by ofer on May 18, 2011 - 9:53 am

      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

      • #27 by Charles on May 23, 2011 - 9:44 am

        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 😉

        • #28 by ofer on May 23, 2011 - 11:44 pm


          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.

          • #29 by Charles on May 25, 2011 - 3:39 pm

            “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 ?

          • #30 by ofer on May 25, 2011 - 10:51 pm

            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

  11. #31 by Manfred on May 18, 2011 - 7:52 pm

    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.

    • #32 by ofer on May 24, 2011 - 12:34 am


      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

  12. #33 by bob33 on June 3, 2011 - 5:04 pm

    like another version 0,74 work like charm
    Thx for this best plugin

  13. #34 by Cristina on June 15, 2011 - 12:54 pm

    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.

    • #35 by ofer on June 15, 2011 - 1:09 pm


      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.

      • #36 by Cristina on June 15, 2011 - 1:30 pm

        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?

        • #37 by Cristina on June 15, 2011 - 3:35 pm

          Use WordPress 3.0.5.
          Version 0.7.4 and Transposh…..

  14. #38 by Cristina on June 16, 2011 - 11:24 am

    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.

  15. #39 by bob33 on June 18, 2011 - 3:09 pm

    try titles of posts

    • #40 by bob33 on June 18, 2011 - 3:13 pm

      span class= no_translate ||| Titles||||| span

      • #41 by Cristina on June 21, 2011 - 11:04 pm

        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…

        • #42 by ofer on June 22, 2011 - 11:52 pm

          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

  16. #43 by Greg on June 26, 2011 - 11:43 pm

    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

    • #44 by ofer on July 9, 2011 - 11:40 am

      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

      • #45 by Fabrice Meuwissen on July 9, 2011 - 11:34 pm

        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 ?

        • #46 by ofer on July 10, 2011 - 12:09 am


          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.

          • #47 by Fabrice Meuwissen on July 10, 2011 - 12:21 am

            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 :)

  17. #48 by bob33 on June 30, 2011 - 4:26 pm

    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

    • #49 by ofer on June 30, 2011 - 11:53 pm


      Send me the code and I will pass it to her, just contact using the contact form above and I’ll get back to you, thanks for trying to assist there 😉

    • #50 by Cristina on July 5, 2011 - 7:22 am

      Thanks Bob! aspetto il codice

  18. #51 by rainer on October 5, 2011 - 1:54 pm

    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

    • #52 by ofer on October 8, 2011 - 12:10 am


      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

      • #53 by rainer on October 10, 2011 - 10:42 am

        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!

  19. #54 by JD on November 18, 2011 - 9:32 pm

    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?

    • #55 by ofer on November 29, 2011 - 12:31 am

      This is now supported in 0.8.0

(will not be published)