3

I am planning to use Magento with multiple languages.

I was thinking of doing this:

English:

Magento: //website/store/[...](params for Magento)

French:

Magento: //website/magasin/[...](params for Magento)

I am using Apache server and I have access to the .htaccess file.

I am using Magento 1.7.

So is there a way for Magento to support this?

3

Yes you can do that.

  1. first you need to create different stores in magento backend eg: magasin

  2. Under each store create different storeviews corresponding to the language (similar to English, French and German storeviews in default magento installation).

  3. Under System -> Configuration -> General -> Web -> Url options : set "Add Store Code to Urls" to "yes" (but read the warning before u you do this)

  4. then create folders with the name you want for each language in your root directory (on server). "magasin" in your case

  5. copy index.php and .htaccess to those folder (magasin)

in index.php (which is copied inside magasin folder)

replace

$mageRunCode = isset($_SERVER['MAGE_RUN_CODE']) ? $_SERVER['MAGE_RUN_CODE'] : '';

with

$mageRunCode = isset($_SERVER['MAGE_RUN_CODE']) ? $_SERVER['MAGE_RUN_CODE'] : 'magasin';    // which was given in backend under store code

and replace

$compilerConfig = MAGENTO_ROOT . '/includes/config.php';

and

$mageFilename = MAGENTO_ROOT . '/app/Mage.php';

with

$compilerConfig = MAGENTO_ROOT . '../includes/config.php';

and

$mageFilename = MAGENTO_ROOT . '../app/Mage.php';

respectively.

no changes in .htaccess needed.

in Admin panel again

under System -> Configuration -> GENERAL -> Web -> Unsecure section

(before editing, change the scope to magasin, which should be done under the Current Configuration Scope: on top left corner)

change the base url to something like http://website/magasin/

change the base skin url to something like http://website/skin

change the base media url to something like http://website/media

change the base js url to something like http://website/js

under secure section:

change only the base url to something like http://website/magasin/ (do this only if all the above steps don't work)

note:

remember the unsecure and secure urls should be changed under particular store configuration (scope) only, not under default scope. if you want separate media and skin folder for this language copy them from root to magasin folder and give the relative path in unsecure section.

for having different urls for store views:

Edit the urls under System -> Configuration -> GENERAL -> Web -> Unsecure section with store view selected as "Current Configuration Scope"

eg: http://website/magasin/french, where french is the store view code you used while creating the store view.

for help, refer this link

  • Everything is under SSL. I have block anything that is not HTTPS to that website... Is that a good idea? – jnbdz Aug 7 '13 at 17:35
  • 1
    that's not a bad idea! But ensure your testing team go through the website and make sure that there's no prob. :) – Shathish Aug 8 '13 at 5:04
  • Is there a way to do what you've written but for views not stores? – jnbdz Aug 8 '13 at 5:18
  • Because I am thinking of having stores for each country and use views for the languages. – jnbdz Aug 8 '13 at 5:20
  • 1
    yes it is possible, but i'll not be able to edit the answer now, I'll do it sooner when I find time to do it. :) – Shathish Aug 8 '13 at 6:27

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.