Internationalization Issues

Can't remember if we have another thread in here for this or not, but I just saw a tweet to a UK forum dealing specifically with Ubercart issues. I figured it's worth keeping an eye on. Any other forums / threads to link to?

http://www.drupal.org.uk/forums/drupal-uk/ubercart

Comments

Internalization from the ground up

One of Ubercart's (and Drupal's, for that matter) major Achille's heels for the international community is the lack of a sensible internationalization system that "just works".

I have worked for many years on international software projects, and I have come to learn that to do multi-lingual right, it must be built into the system from the very beginning. It must be core and cannot be added on as a plugin module later on.

I hope this aspect will be considered very early on in the development process, and I am happy to be involved in any work on the issue!

Additionally, some Japanese

Additionally, some Japanese contributors compiled the following list of hot spots to watch, and any one of these could probably have its own forum discussion:

  • Template files. Invoices – based on the language prefix or some other solution
  • Cart view- based on a per-language template file. Not the payment panes or shipping panes, but the itemized listings and such, if this could be changed on the way things are viewed based on the language, that would be huge. In Japan, having items displayed 5 X ITEM is backwards to what is normal here and they don’t like it. They want ITEM X 5. Now this can be fixed, but having it switch on the language, this is hard. –Smaller of the issues
  • Settings-the ability to have settings different based on the sites language is huge, but the major problem now is that the only option for this in 2.0 was to install a module, then once this module is installed, in the settings you need to switch to that language. What I would like to see would be tabs or a drop-down (or some other solution) for each language installed which gives you options for that language, but not change your base language. There are many people that run sites in more than one language that do not themselves have the ability to function in that language or they are developing the cart to work for that language.
  • Products/Attributes-this goes along with settings, but I think on a bigger scale of things. Using the Fields API, I wonder what challenges this will make for translation of products. When dealing with other carts in the past, a lot would have fields in place for each language that was enabled. Example: You have two Language, English, and Japanese. Then each would have their own description and such. They also need to have the ability to have the translation be called anywhere throughout the cart process.
  • Currencies- Dealing with more than one currency, and not having this based on the language. Having the ability for this to use other API’s to pull in the current rates. More than just one API would be needed two in case one goes down, the other is checked. Zen-Cart does something similar to this.
  • Shipping – Shipping in the states has plenty of API’s to pull from. Also, America has a lot more simple options to pick from, complex too I am sure. This option when it comes to other countries, like Japan, does not have as many. Here in Japan, shipping is a bit more complicated. Take a look at one of the major companies here http://www.kuronekoyamato.co.jp/english/support/size_rates.html

    In here, they have the Area, and then in that area, it’s based from where you are shipping from. Up to that point it’s simple. So let’s just say we live in Hokkaido here. From there we go to Size. So if that package size is up to 60cm and weights under 2kgs then it falls in the the 1st row of prices. But if the product is bigger than 60cm it goes up in price, or if it weighs more than 2kg then it goes up.

    Now for a person who is setting up a shop, this becomes a nightmare and has killed sites in Japan as they just can’t think of way to deal with it. Some go with flat rates and others try to guess what it will be. The hard thing is combining different products together.

    What I would like to see if we could have a point table system that would be generic and could be used for anywhere in the world. Most carts that come from the states come with some default shipping modules. I would like to see one that was more for the world.

    What I have done in the past is point system table zone rate shipping system.

    How this works: Each country can have its own table settings. And in each country you have Zones. For each zone, you have a price, which is based on a point system. Instead of doing weights or size, a seller would assign a set amount of points to a product. Then each point would relate to the table.

    So you have a really light item, but its big, you give it like 5 points, then you have another item that is small but the weight is a lot, you also give that product 5 points. So when someone checks out the two together, they get 10 points, and because the shipping is based on size or weight, they don’t deal with the issue of how can we combine these products and get a near correct shipping price. This system also lets them tweak things and spread the points how they see fit later on.

    It’s always hard to explain that system to people, but I think if we could work a system like this out, and if we have time, it would be a great addition for the world as it would solve a lot of the problems we have in other countries where shipping providers don’t understand the issues of dealing with online orders.

  • Address/Names and the order of other fields-this should be adjustable on a per-language ability. Inside of Asia, if you display customer info in the Roman character format, then it will display in the western way and that is the correct way, but if you switch the language, then you need to display this in that’s language format. So for example, Japanese:

    Roman View:
    Company Name
    First Name Last Name
    Address 1
    Address2
    City, Prefecture, Postal Code

    Japanese View:
    Postal Code
    Prefecture
    Address1
    Address2
    Company Name
    Last Name First name GREET

    Also note the ability to add a Greet, this is so important in Japan and other Asian countries. You can’t just print a customer’s name without addressing them right.
    The input for fields in forms should also be set per-language.

  • Totals/Tax- Some countries make you have to display the price of products with Tax included by law. This is the law in Japan. If you display a product you must display it with tax included, then you display a smaller price that is without tax. Shipping would not include any tax. I do believe that there are some countries where tax needs to include the price of shipping. Giving more power to order totals, product totals and display would be great power.
  • Shipping Delivery times – a lot of shipping companies in the world let you give a time option to what time you would like to have it delivered. This should be a simple area where someone could turn it on and then make a list of times.