Jump to content

Localization of Products


Recommended Posts



My WHMCS is in French and English, as I have customers in both languages.


My problem, is that my products need to have both names, such:



Dedicated Server / Serveur Dédié



And both descriptions:



A dedicated server with blah blah blah / Un serveur dédié avec blah blah blah

256 bytes of monthly bandwidth / 256 octets de bande passante mensuelle

2 MB of memory / 2 Mo de mémoire

1.44 mb of disk space / 1.44 mo d'espace disque

$940 per support ticket / 940$ par billet de soutient



Which just looks AWFUL on the shopping cart.


So, I have 3 proposals:


1) A marker which divides the list, for example, we could problem English as language 1, and French as language 2, and || as the divider.


The title would then be: Dedicated Server||Serveur Dédié.


When the shopping cart displays it, it does an explode( '||', $title) on it and selects, depending on the language, which one to use.


If || is not present, it always use the English one, so it's backward compatible.


This would also be supported for the add-ons, modules, etc...


2 ) 2 new field in the products called "Language" and "Parent Product" which allows to specify the language of the product, and the original translation. That way, we can define 2 different product, one called "Serveur Dédié" and the other called "Dedicated Server".


When the shopping cart is in English, only the English ones show up. When the shopping cart is in French, only the French show up, BUT, it also shows the products which DO NOT have a French translation, so that it is backward compatible.


As for options, add-ons, etc... they can already point to only some products, so the french options would be linked to French product and the English options would point to the English products, that way, nothing to do.


Of course, if clients can upgrade/downgrade themselves, it might complicate things, but we can filter on it based on their language preferences.



3 ) Allow us to put a <span class="frenchtext"> or <span class="englishtext" in any of the fields (right now, it's filtered out), and add to the body tag the class [language]body so that when it is in english, the class is englishbody, allowing us to set .englishbody .frenchtext{ display: none; } and .frenchbody .englishtext{ display: none;}.


That third one is the one that requires the least amount of changes from Mondernbilling and might even be possible in the template, I will have to investigate.


I am even willing to code any of the 3 options myself, if WHMCS give me access to the appropriate source code, and to give my copyright to them (in other words, that they are allowed to put what I wrote in a future version).


I wouldn't mind getting a live help license for free in exchange, but I wouldn't require it ;-)


In case they don't know me, I wrote several modules for ModernBilling (and internal function) before it was acquired by Plesk, and I had a special developer license with 90% of the source code.


I am a senior PHP developer with over 12 years of full time experience.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    • No registered users viewing this page.
  • Create New...

Important Information

By using this site, you agree to our Terms of Use & Guidelines and understand your posts will initially be pre-moderated