Hello!
Thanks a lot for great module.

I have a multilingal site with 2 languages: English and Romanian.
I created a vocabulary "Food" with Translation mode set to:
"Per language terms. Different terms will be allowed for each language and they can be translated."

The "food" vocabulary has the following terms:
Fruits (English)
Fructe (Romanian)

I expected that when i visit:
www.mysite.com/en/food/fructe
i will be redirected to:
www.mysite.com/en/food/fruits
But, the redirect doesn't work so.

More general example:
When i go to:
www.example.com/en/vocabulary-name/romanian-term
I am not redirected to:
www.example.com/en/vocabulary-name/english-term
Instead drupal shows an English interface and Romanian content.

Is this a bug?

My settings:
Language negotiation: Path prefix with language fallback.
(admin/settings/language/configure)

Content selection mode is set to:
Current language and language neutral.
(admin/settings/language/i18n)

I use:
Drupal core 6.19
Global Redirect 6.x-1.3-alpha1
Internationalization 6.x-1.7
Pathauto 6.x-2.0-alpha2
Translation 404 - Translation Page Not Found 6.x-1.2

Comments

heyyo’s picture

Bug confirmed on my install, taxonomy doesn't redirect on wrong language.

With the last dev, the language redirection seems to work only on node without alias.

Example:
node/3 - FR - alias content/France
node/4 - EN - alias content/USA

1) http://fr.example.com/node/4 will redirect to http://example.com/content/USA
2) http://fr.example.com/content/USA will not redirect to http://example.com/content/USA

ladamiak’s picture

Friends... I don't know how to colaborate to the module, bug I got this error too and the solution is simple.

At globalredirect.module (version 6.x-1.5), line 170, note that there is a "^" missing.

So the original line is this:

if ($settings['term_path_handler'] && module_exists('taxonomy') && preg_match('/taxonomy\/term\/([0-9]+)$/', $request, $matches)) {

And it should be changed to this:

if ($settings['term_path_handler'] && module_exists('taxonomy') && preg_match('/^taxonomy\/term\/([0-9]+)$/', $request, $matches)) {

Note the "^" in the preg_match expression.

If someone could put it into a patch would be great.

ladamiak’s picture

Friends... I don't know how to colaborate to the module, bug I got this error too and the solution is simple.

At globalredirect.module (version 6.x-1.5), line 170, note that there is a "^" missing.

So the original line is this:

if ($settings['term_path_handler'] && module_exists('taxonomy') && preg_match('/taxonomy\/term\/([0-9]+)$/', $request, $matches)) {

And it should be changed to this:

if ($settings['term_path_handler'] && module_exists('taxonomy') && preg_match('/^taxonomy\/term\/([0-9]+)$/', $request, $matches)) {

Note the "^" in the preg_match expression.

If someone could put it into a patch would be great.