Thanks for the excellent contribution Josè! After much trouble with 4.5 and CVS, everything seems to be working seemlessly now! I really hope there are more than three people using this contrib :) (re. dietcoke's post)

I have a problem with the blocks - I only show certain blocks on the front page, but I need to only show them for a specific language.

Here is what I do:

- Create a new block and make it available
- I have two languages installed, English (en) and Norwegian (no). I do not have mod_rewrite.
- I would guess that to show the block for english only, I would need to go to configure block, and put in "Show block on every page except listed pages", and put in "q=en*" or "en*" or just "en". However, no matter how I do this, the block shows up on both Norwegian and English pages, including front page (where I'm trying to remove it from).
- I have also tried the hide on all pages except q=no, etc. but it doesn't change it.

Is there any other way of dealing with this? Don't really know whether it is an i18n issue, or a core issue with the custom blocks...

Thanks anyway, if anyone is able to see what my issue is about, and maybe have a possible solution to it...

Comments

ron collins’s picture

Title: Not able to specify language for custom blocks » fix

i've modified a hack i modified from another post. it seems to be working for me and also accounts for when i18n is turned off. i have multiple sites running on the same code base. some using i18n and some not.

this code:

if (function_exists('i18n_get_lang')) {
        $lang = i18n_get_lang($name);
        if (strlen($lang) > 0) {
          $path = $lang . '/' . $path;
        }
    }

goes in the block.module around line 470 below this line:

if ($block['pages']) {
        $path = drupal_get_path_alias($_GET['q']);
arsart’s picture

Not so fast:))
After hacking block.module with this, all blocks became invisible at my site, and i must reach lang-code/admin/block for myself:)))
Seems to me, i must set the lang-code to every block where i want to show them.

Nice thing but has anybody an idea how to show one block on native frontpage, and manualy translated block at another lang-frontpage?
Block` paths like en/ or ru/ doesn`t works for it:((

arsart’s picture

sorry, i mean that block` path like

en/<front>
ru/<front>

doesn`t show ru-block and en-block blocks on ru/frontpage and en/frontpage accordingly.
Any ideas how to show them on their places?

arsart’s picture

Stop!

This hack doesn`t works:((

It influence on a whole sidebar, and with this hack sidebars disapears if we`ll not put in one sidebar block a path with "lang-code/*" and check "Show this block...except this pages"

And this hack can`t be a problem solution.

jose reyero’s picture

Title: fix » Not able to specify language for custom blocks
jose reyero’s picture

Status: Postponed » Closed (won't fix)

This has been addressed in newer versions (5.x, 6.x) and Drupal 4.7 is not supported anymore. Please, consider upgrading