Hi,
I want make a link from another site directed to Opencart and I want to go in the home page with a specific language.
What I must specify in the address link ? ( http://www.mysite.example/opencart/index.php?......... )
Thanks for help.
I want make a link from another site directed to Opencart and I want to go in the home page with a specific language.
What I must specify in the address link ? ( http://www.mysite.example/opencart/index.php?......... )
Thanks for help.
catalog/controller/module/language.php
add something like this:
I don't think he processes $_GET items through the $this->request stuff, so I just looked for it manually....
add something like this:
Code: Select all
if(isset($_GET['language'])){
$this->language->set($_GET['language']);
$this->redirect($this->url->http('common/home'));
}
If you didn't understand my post, then you don't know php well enough to edit it manually.
Without editing the php it's not possible in the current release.
Without editing the php it's not possible in the current release.
But when a spider catch all pages of a site it get also the information about page language.
For example when you click on the link showed by google you are redirect on the right page with the right language.
What are the informations that google use to redirect on the correct page ?
For example when you click on the link showed by google you are redirect on the right page with the right language.
What are the informations that google use to redirect on the correct page ?
I have tried a thing.
I have searched some words in English on Google to find my site.
Google has showed me the page with my words ( in English ).
I have click on the link and google redirect me on the italian page !!!!!
This means that every time an english visitor search me on Google he is redirect on the italian home page ( because in my site the italian language is the default ! )
This is a big problem for all sites that use Opencart with multilanguage option active.
In other words is not possible to have visitors that go in the right language page when they came from a search engine !
There is a solution for this ?
I have searched some words in English on Google to find my site.
Google has showed me the page with my words ( in English ).
I have click on the link and google redirect me on the italian page !!!!!
This means that every time an english visitor search me on Google he is redirect on the italian home page ( because in my site the italian language is the default ! )
This is a big problem for all sites that use Opencart with multilanguage option active.
In other words is not possible to have visitors that go in the right language page when they came from a search engine !
There is a solution for this ?
Hi Guys,
I actually think that OpenCart detects the users browser language and if that language is installed then it uses that, othervice it selects the "default" language. Please correct me if i'm wrong!
Best regards,
Leffe
I actually think that OpenCart detects the users browser language and if that language is installed then it uses that, othervice it selects the "default" language. Please correct me if i'm wrong!
Best regards,
Leffe
May be Opencart detect the browser language but the problem is another.
If I search a product, for example a "green chair" I go on Google and I write "green chair".
Google show me all possibile links to sites with these word.
Now I click on one of these link ...... Google redirect me on Opencart.
But if the default language of Opencart is for example Italian the visitor go on the page "green chair" translated in Italian.
The problem is that the visitior don't know Italian and click on English flag ( he is english and he want the "green chair" in English ! )
Now He go on the home page of Opencart in English but He don't know what is the location of "green chair" on the tree menu and must search it an all possible page !!!!!
I think that this way to publish the products on Opencart in multilangage page is not good.
Please tell me your opinion.
If I search a product, for example a "green chair" I go on Google and I write "green chair".
Google show me all possibile links to sites with these word.
Now I click on one of these link ...... Google redirect me on Opencart.
But if the default language of Opencart is for example Italian the visitor go on the page "green chair" translated in Italian.
The problem is that the visitior don't know Italian and click on English flag ( he is english and he want the "green chair" in English ! )
Now He go on the home page of Opencart in English but He don't know what is the location of "green chair" on the tree menu and must search it an all possible page !!!!!
I think that this way to publish the products on Opencart in multilangage page is not good.
Please tell me your opinion.
I have only read the last post so here goes.
OpenCart has language detection. If a user is using italian and you have a site with italian language he will be show the page in italain. Make sure you have set the local up properly on the language page.
OpenCart has language detection. If a user is using italian and you have a site with italian language he will be show the page in italain. Make sure you have set the local up properly on the language page.
Hi Daniel,
The local property is set on correct language.
But the problem is not the local property.
The problem is to go in the right page when there is a link from an external page ( see the previous topics ).
If I want publish my site I must buy some external links ( banner, adwords, external link ).
So I will buy some advertising links from english sites and some from italian sites.
How can I redirect the visitor on the right language page on my opencart shop ?
There are a lot of situation where I have installed the italian language on my web browser but I search products in English or vice-versa.
Is not restrictive to set up the opencart language with automatic detection ?
Some others e-commerce cart set the language with the classic public tag "?language=en" ( sorry but I'm not a php expert .... I don't understand why you have choose this way to set the language .... is better than others ? )
I have forgot a thing ..... if I send a mail with a link to my site I must redirect the visitor to a specific page with a specific language .... in this situation opecart set the language in automatic with the setting of customer browser ( is not a good situation !)
Thanks for you help and patience.
The local property is set on correct language.
But the problem is not the local property.
The problem is to go in the right page when there is a link from an external page ( see the previous topics ).
If I want publish my site I must buy some external links ( banner, adwords, external link ).
So I will buy some advertising links from english sites and some from italian sites.
How can I redirect the visitor on the right language page on my opencart shop ?
There are a lot of situation where I have installed the italian language on my web browser but I search products in English or vice-versa.
Is not restrictive to set up the opencart language with automatic detection ?
Some others e-commerce cart set the language with the classic public tag "?language=en" ( sorry but I'm not a php expert .... I don't understand why you have choose this way to set the language .... is better than others ? )
I have forgot a thing ..... if I send a mail with a link to my site I must redirect the visitor to a specific page with a specific language .... in this situation opecart set the language in automatic with the setting of customer browser ( is not a good situation !)
Thanks for you help and patience.
Why would a customer want to visit a page that is not in his language?
Goto Admin/Setting/Localisation/Language.
Now you say you have 2 languages english and italian. Goto both of these languages and tell me what you have put in the field Locale.
For english you might have:
en_US.UTF-8,en_US,en-gb,english
For
"it" Italian(Standard)
"it-ch" Italian(Switzerland)
Checkout this page with all the code on:
http://www.brandonitconsulting.co.uk/mo ... age-codes/
Goto Admin/Setting/Localisation/Language.
Now you say you have 2 languages english and italian. Goto both of these languages and tell me what you have put in the field Locale.
For english you might have:
en_US.UTF-8,en_US,en-gb,english
For
"it" Italian(Standard)
"it-ch" Italian(Switzerland)
Checkout this page with all the code on:
http://www.brandonitconsulting.co.uk/mo ... age-codes/
Dear Daniel,
In Locale settings I have :
it_IT.UTF-8,it_IT,it-it,italian
But OpenCart work good .... is not a problem in language settings .... all work good in my site
I want explain better .
There are situation where an italian customer search the products on Google using English Key words ( is normal for technologic products ). And there are a lot of customer that prefer to surf on English section of sites because there are more informations and not always there are a corresponding translation in Italian ( I'm one of these).
But they have Windows in Italian and they have browser in Italian.
Is only a better way to find the informations ...... English is a must for all technical reference (and this situation is the same for all languages that are not widely diffused )
In the same time there are customers that prefer to surf in Italian because don't know English or are not able to read all technical pages.
With your choise all Italians that want to surf in English they can't .... OpenCart choose automatically the language and if you switch from Italian to English you loose the page where you are now because it go in home page.
Also if I make a mailing list to my customers and I link the mailing to english sections if my customer has an Italian browser he go automatically in Italian ( but he ask me to send the english reference )
I don't know if I have explained the problem ... is not a bug but I think is a wrong way to manage the languages in a multilanguage site.
P.S. Excuse me for my not perfect english ..... I will improve it !
In Locale settings I have :
it_IT.UTF-8,it_IT,it-it,italian
But OpenCart work good .... is not a problem in language settings .... all work good in my site
I want explain better .
There are situation where an italian customer search the products on Google using English Key words ( is normal for technologic products ). And there are a lot of customer that prefer to surf on English section of sites because there are more informations and not always there are a corresponding translation in Italian ( I'm one of these).
But they have Windows in Italian and they have browser in Italian.
Is only a better way to find the informations ...... English is a must for all technical reference (and this situation is the same for all languages that are not widely diffused )
In the same time there are customers that prefer to surf in Italian because don't know English or are not able to read all technical pages.
With your choise all Italians that want to surf in English they can't .... OpenCart choose automatically the language and if you switch from Italian to English you loose the page where you are now because it go in home page.
Also if I make a mailing list to my customers and I link the mailing to english sections if my customer has an Italian browser he go automatically in Italian ( but he ask me to send the english reference )
I don't know if I have explained the problem ... is not a bug but I think is a wrong way to manage the languages in a multilanguage site.
P.S. Excuse me for my not perfect english ..... I will improve it !
Well... not sure if you would want to do this or not... but you theoretically could take the language setting from google... searching and getting my site gives me a referrer with the google language setting.
Sure would be a PITA to do though....
Code: Select all
$_SERVER[HTTP_REFERER] => http://www.google.com/search?q=xxx&ie=utf-8&oe=utf-8&aq=t&rls=com.ubuntu:en-US:unofficial&client=firefox-a
and from google.cn I get this:
[HTTP_REFERER] => http://www.google.cn/search?hl=zh-CN&q=xxx&btnG=Google+%E6%90%9C%E7%B4%A2&meta=&aq=f&oq=
and google.fr:
[HTTP_REFERER] => http://www.google.fr/search?hl=fr&q=xxx&btnG=Recherche+Google&meta=&aq=f&oq=
Probably I'm not able to explain correctly my problem.
I try in other words.
I need to send a mail to my customer with a link to an English page.
My customer has Italian browser and Italian operative system but I need to show the English page of a product bacause the English page has more infomations and more technical data than Italian page.
How can I do ?
Thanks.
I try in other words.
I need to send a mail to my customer with a link to an English page.
My customer has Italian browser and Italian operative system but I need to show the English page of a product bacause the English page has more infomations and more technical data than Italian page.
How can I do ?
Thanks.
I already posted how you could probably do that....
http://forum.opencart.com/viewtopic.php ... 218#p15947
http://forum.opencart.com/viewtopic.php ... 218#p15947
Just a general question: why would you want Italians to read your pages in english?
It seems to me that the way it is right now is quite perfect: any Google search using terms in english redirects native italian speakers to pages in their language (if they exist). Now you want them to read the page in english instead?
It seems to me that the way it is right now is quite perfect: any Google search using terms in english redirects native italian speakers to pages in their language (if they exist). Now you want them to read the page in english instead?
Hi Guys,
You could do a small change in /catalog/controller/module/language.php to keep the page you are on instead of beeing redirected to home when changing language.
Please keep in mind!! - It works but I haven't yet checked if there is a "downside" by doing this!!
The changes you have to do is:
Add this below line 3
$newlnk = str_replace('/index.php?route=','',$_SERVER['REQUEST_URI']);
Like this:
protected function index() {
$newlnk = str_replace('/index.php?route=','',$_SERVER['REQUEST_URI']);
Change this on line 7 ( now 8 ) to:
From:
$this->redirect($this->url->http('common/home'));
To:
$this->redirect($this->url->http($newlnk));
And this on line 16 ( now 17 )
From:
$this->data['action'] = $this->url->http('common/home');
To:
$this->data['action'] = $this->url->http($newlnk);
There are probably much better ways to do this - this is just a "quick workaround" to stay on page when changing language. And once again... I haven't yet checked if there are "issues" with these changes.
This is just some guidelines for those who need it urgently!
Please give me your thoughts about this.
Regards,
Leffe
You could do a small change in /catalog/controller/module/language.php to keep the page you are on instead of beeing redirected to home when changing language.
Please keep in mind!! - It works but I haven't yet checked if there is a "downside" by doing this!!
The changes you have to do is:
Add this below line 3
$newlnk = str_replace('/index.php?route=','',$_SERVER['REQUEST_URI']);
Like this:
protected function index() {
$newlnk = str_replace('/index.php?route=','',$_SERVER['REQUEST_URI']);
Change this on line 7 ( now 8 ) to:
From:
$this->redirect($this->url->http('common/home'));
To:
$this->redirect($this->url->http($newlnk));
And this on line 16 ( now 17 )
From:
$this->data['action'] = $this->url->http('common/home');
To:
$this->data['action'] = $this->url->http($newlnk);
There are probably much better ways to do this - this is just a "quick workaround" to stay on page when changing language. And once again... I haven't yet checked if there are "issues" with these changes.
This is just some guidelines for those who need it urgently!
Please give me your thoughts about this.
Regards,
Leffe
Who is online
Users browsing this forum: No registered users and 19 guests