Magento product translation for multiple multi-lingual websites - magento

I am wondering how to manage my product catalog for Magento efficiently. I keep one stock of products and sell them through multiple websites, those websites are in turn all in multiple languages.
The most common advice is to create a store for each website and a different store view per language, in which you can translate the product description. This doesn't seem very efficient to me. For example, if you have 4 different websites, each offering products in English and in Spanish, you have to do the same translation 4 times for each website. This becomes very cumbersome for multiple websites in multiple languages and a lot of products.
What I ideally would do, is maintain one translation per language and keep track of my product stock centrally (ie. still be able to manage the product globally). How can this be achieved in Magento?
Update: after digging around some more, asking in IRC channels, posting on forums, and searching the heck out of Google and the Magento Connect extension repository, I am starting to realise this is one of Magento's short comings. I am going to develop my own solution for this. Please leave a message here if you are interested in the same functionality, if there is enough response I will see if I can make it available for others.

Unfortunately there is no good answer to this question. Product texts are typically entered on the store view level, like you already discovered. Having multiple store views in the same language (but under different websites) will create a burden and overhead to configure.
If this was my store, I would pick one of these routes:
Load data from an external source, where product data is already nicely managed. Managing product data in Magento can be a pain.
Or, if you MUST do it in Magento, create a custom module to update all the relevant fields across multiple websites. You could create an event listener "on product save", that updates all texts for store views with the same language.
or, you can override the product resource model, so product names, descriptions and some other texts are loaded differently from the database (but this would definately be the most complicated route).

In App/Locale/ Directory this is Global locale directory you can read it in all your websites managed from one back-end !
And you can set the local directory for each storeview from
system->configuration->design->Translations
so basically you can use the same locale for different themes as long as you maintain the files updated with all the variables !
I was running 9 websites with different store views from one backend i never had issues with translations !

Related

How to integrate Magnolia CMS with Spring app in limited range

I have a question to Magnolia CMS (integrated with Spring) users.
I have to write e-shop integrated with CMS where we can divide all pages into two categories:
Edited and added by admin
static pages like user account settings, shopping cart etc.
First ones, must be totally customizable by admin - I mean, admin must be able to create his own template, add text areas or graphics/video whenever he wants. He also must be able ( this is very important) to create new products which must be also stored in db to be accessible for the application code ( to fill the products list by myself in the code or to set the prices on the static admin pages).
So user can add as many products as he would like, create separate template for some of them and I have to be able to search for this products in db ( for example when user try to use search criteria). The search panel must be created by me - but where admin will place it is up to him.
The second type of pages are static pages done in JSP and I do not expect to change it using CMS.
As the second type of pages is of course not a problem, I do not know what CMS solution I should use for first type of pages.
I thought about Magnolia CMS, but as I can see all templates must be created by programmer in the code.
Also I'm not sure if it's possible to implement mechanism to maintain products ( inside the e-shop) - from one hand admin must be able to add templates for them in CMS, but I must be able to access them from the code ( to maintain them at shopping cart, make invoice etc). The product prices are set from admin panel ( static pages) as well- not from CMS of course. Maybe I can add any single product at the static pages ( insert it into the db) and somehow connect CMS page with it ?
I also need to add that main page template must be designed by HTML designer, so perhaps it would be plain HTML and this main template would be updated due to the admin needs in CMS.
Cloud anybody please advice me the best CMS solution where I can achieve all this ?
Best Regards
I've seen fair number of shops implemented that way with Magnolia where you use spring & web flow to manage a shopping cart and checkout process, while letting editors to create & customise products & categories & promos available in the shop.
You can also get similar (w/o spring) integration just by installing shop module of Magnolia. It's product and product category management might come in handy even if you were to replace checkout by your own.
To answer the other questions and stipulations
you can write your templates in ftl and models in groovy and have those hosted inside of the repository, thus giving access to them to editor and allowing her to change whatever needs to be changed. However there is also danger in that since templates are responsible for generating html, editor might be able to break html layout by making changes directly to the templates. While you want editor to create new products and modify existing ones, Magnolia lets you separate template of products from the content of products so you can let editor to edit just all the fields that you deem editable for given product without having her to ever access html or ftl directly.
as you mention, html will come from designer, so what you pbly want is to take that html, break it into functional blocks that repeat in multiple pages, save it as ftl templates and replace sample text in there with FM tags to retrieve such data from Magnolia. Actually, even better, download the STK static prototype and hand it over to your graphic designer. Tell her to create design by changing css/js/images only, but not to change structure of the html itself in the prototype, then you can truly just drop in css/js/img provided back to you by the designer.
regarding static pages - you can always serve them from Magnolia even if you don't expect anyone to ever edit them (since it usually happens sooner or later that someone wants to edit them) or you can simply configure bypass for the url for such pages and have Magnolia ignore them so they can be served by underlying application server container
to bring in Spring based application, you might consider looking in more details at and using Magnolia's Blossom module which will in turn let you annotate your spring controllers to be treated as Magnolia templates to make integration even more simple.
HTH, Jan

Mobile version duplicates the languages

I have a Magento site with one domain, one store and a store view for each language. I need to add a mobile version of the site and have that in all the languages.
If I add another store for the mobile version then store views for each language, I land up duplicating all the languages in the admin area.
The only solution I can see is to have 2 instances of Magento. One with all the store structures (acting front end – install A) and one with all the product (acting backend – install B)
Install A would have two stores and all languages per store and install B would have one store and store views for each language so we only manage each language once.
We would then need to connect these two Magento instances using the API (xml with SOAP). This way we manage each language once and the front end can have as many variations of that language as we like.
Does this look like a workable solution or is there a simpler way to achieve this functionality?
You don't need 2 magento versions.
Magento supports different themes on the same store view for different devices.
All you need to to is to configure a different theme.
For this go to: System->Configuration->Design, select each store view from the top left selector, or Default config if you want to use the same theme for all languages.
In the Theme section you can click on the Add Exception button under the field you need changed (most probably all that support exceptions) and fill in the following.
Matched Expression - iPhone|iPod|BlackBerry|Palm|Googlebot-Mobile|Mobile|mobile|mobi|Windows Mobile|Safari Mobile|Android|Opera Mini
Value - The name of your mobile theme.

Magento - automated order extract - EAV vs flat files

I want to build an automated routine that exports orders from Magento to another ERP. I started down the road of the magento SOAP/XML API's. However we are finding this solution slow for large numbers of orders.
Now I realize that the flat order tables (sales_flat_order, sales_flat_item etc) seem to contain all of the information I need. Is this file reliable and kept up to date? Is there anything that I will be missing in this case (other than custom attributes of course). Are these files likely to change in event of upgrade?
Magento API's
http://www.magentocommerce.com/api/soap/introduction.html
Magento Data model
http://www.magentocommerce.com/wiki/2_-_magento_concepts_and_architecture/magento_database_diagram#magento_database_downloads
thanks
Assuming you are using a newish version of Magento (1.4.2.0+) I would say the sales_flat_* tables should be entirely reliable (might be beforehand also, I'm just unqualified to comment). The api works with an instance of sales/order, which is based off of that table anyway.
With regards to custom attributes, if these are something you will need for your export, you can actually make Magento copy the information into the sales_flat_* tables without too much fuss.

Complete references of all Magento pages (for FULL test of the entire store)?

I'm testing my Magento store with a bought theme at Princessly.com (which I have been testing and customizing since 4 months ago). I have an obsession of testing ALL different / possible pages of a site before launching it. In most cases, the site is simple enough to have about 3 - 10 different types of pages (list page, article page, contact form page, about page, etc.) which I would go through one by one to tweak and customize into every minor detail.
However, Magento (based on Zend Framework) seems to be very versatile in having all different sorts of pages accessible from a variety of different URLs (even for the same content). Understandably, the user experience is much more sophisticated with a eCommerce site than that of a content site, thus having many more types of pages.
In addition to the problem, theme designers may not fully understand Magento. They would usually left many not-so-common pages un-designed with just default styles that would look pretty ugly to users who step on them.
My question is, how can I find a reference / list of ALL possible Magento pages so that I can go through them one by one to make a consistenly good design throughout the entire Magento store?
Thanks a lot! It sucks to have obsessive disorders.
There is no list of "ALL possible Magento pages". Any frontend-routable module can have any number of action controller classes under its controllers directory, and those classes can have any number of route-satisfying methods.

Using Magento to track inventory for two separate stores

I recently found the following add-on: http://innoexts.com/store-view-pricing/
And while it is great that I’m able to separate prices by store view, I also want to keep track of stock on a store view basis.
Here’s the scenario.
I’m currently selling collectible cards on my site for different games. (Magic: The Gathering, Universal Fighting System, etc.)
What I would like to do is have the same inventory appear on two different websites:
Buy (where customers can BUY the cards from me)
Sell (where customers will SELL their cards to me)
I know that I will need to set up either a separate website/store view under Magento’s backend. That’s fine. I also know that I will need to configure special payment modules in the backend (because people shouldn’t be paying me to sell their cards). But what I’m mostly looking for is guidance on how to set these two up.
The inventory (for the most part) will be shared between the two sites (with the exceptions of products I’m only interested in selling).
Can anyone help? I've tried to research inventory and the separate stores bit but to no avail.
I think possibly what you're looking for is a "Marketplace" type extension, maybe similar to the Unirgy Dropship extension, which allows you to have sellers add their products to the site (and fulfill them as well).
This would probably be a better model than having a seller go through a modified "checkout" flow with a customized payment gateway module in order for them to add their catalog to the site.

Resources