Link to home
Start Free TrialLog in
Avatar of web5dev7
web5dev7

asked on

multi-language php application

Hi,

I need advice. I have an existing ajax/php/mySQL web application (working, hosted, live, all good) that is basically a newsletter sign-up form, but with the following added functions added:

1. ajax form validations (jquery, etc) and uses math captcha

2. serves a unique coupon code to user (both on confirmation page and via autoresponse HTML email). Static codes are pre-populated in db table - served one per email address.

3. autoresponse HTML email (as mentioned above)

4. password protected client control panel to display db records and export to CSV

All of the above is working fine (although the codebase is somewhat complex and uses about a dozen php class includes and various javascript files).  It is a U.S. based english language microsite on a shared hosting account.  Now I want to "internationalize" it for a couple dozen other countries - each version in it's own native language (spanish, chinese, japanese, french, arabic, etc, etc.) - each in a subdirectory of existing site.

Towards deciding if I should take on this challenge - here's the question...

In regards to the "backend" functionality itemized above - what complications am I likely to encounter due to foreign language character sets, etc. ?  

I am concerned about...

1. autoresponse MIME html emails: various languages, various platforms and email clients.

2. ajax validations handling and display of foreign character sets

3. server side validations handling and display of foreign character sets

4. mySql handling and display of foreign character sets

5. security issues

6.  might it require sub-contracting native speaking developers, etc, etc.

Any projections about potential problem areas would be much appreciated - thanks!
Avatar of Ray Paseur
Ray Paseur
Flag of United States of America image

what complications am I likely to encounter...
Your existing list is pretty comprehensive.  This article shows the design pattern for a multi-lingual site, one that can be built out in steps, one language at a time, with a minimum of interference between the different language "silos."

https://www.experts-exchange.com/Web_Development/Web_Languages-Standards/PHP/A_8910-A-Polyglot-Web-Site-in-PHP.html

Probably UTF-8 will be your friend.  Definitely you will need native speakers, especially in the languages that do not use the western alphabets.   The cultural differences are too great to be accommodated in a single translation.  I used to handle Japanese-English translations with two translators - one a native Japanese speaker who spoke English as a second language and the other a native English speaker who was conversationally fluent in Japanese.  The intermediate documents were in J'english and they were usually laughable no matter which author performed the first translation.  But the second translation made for a highly professional work product.

Best of luck, ~Ray
greetings  : web5dev7, , The outline of what you want to do is not unusuall for tying to internationalize an existing web site, Unfortunately (in my limited view) trying to make a "one size fits all" site in other languages and cultures  may take much effort.  Some languages are full of "subtle" references and do not directly translate "word for word", other times suggestions or explanations can be culturally offensive in a mechanical translation.

You say - "might it require sub-contracting native speaking developers", , this would be a definite YES, you will need much help with languages and "references"

My suggestion would be to get a Paid development consultant for translations. There's all kinds of things that you have never thought of, that you will encounter in trying to get a functional language translation, if you hire someone with experience and knowledge, you may save money and time in the long run, unless you have very little to translate.  You will probally not even be able to view the translated pages in your english language browser, much less have any idea in they make any sense or show what was in the original english.
Avatar of web5dev7
web5dev7

ASKER

Thanks for your advice.  However, I should have been clearer that the translations - the static "front-end" text/copy for each version (including error messages) will be provided to me in plain text, pre-translated by native speakers from each country and that is not going to be my responsibility - mostly a copy/paste on my part.

So although I anticipate some HTML issues with the incorrect display of particular foreign characters in the static content of the web page, I am mainly concerned with the dynamic stuff - the "back-end" client-side and server-side programming (handling, storage, rendering or display) - those dynamic parts, as listed in my post above, being submitted/processed/stored/rendered by php, javascript, mysql, etc.  Of particular concern, the correct rendering and delivery of the autoresponder HTML emails.

So with that clarification, any other thoughts ?
p.s.... in short.... an international marketing company is responsible for translations - I'm responsible building out the translated sites so they function correctly.
What is the concern about the autoresponder emails?  Will these be prepared by the marketing translators?
Well even in english occasionally there is some character (apostrophe, etc) that gets rendered funky in the autoresponse emails - need to escape characters, etc... so I figured all those odd "hieroglyphics" looking characters in some languages are not going to fare well, each language with it's own tildes, etc.  

But am I concerned for nothing ?

For example, also I have read that others have experienced body copy of emails are ok, but subject line is garbled characters - and varies with email client?

What about form validations functions using regular expressions, etc, etc.. does that stuff stay the same when you are validating Japanese ?   Like below...

                  if (!ereg("^(([A-Za-z0-9!#$%&'*+/=?^_`{|}~-][A-Za-z0-9!#$%&'*+/=?^_`{|}~\.-]{0,63})|(\"[^(\\|\")]{0,62}\"))$", $local_array[$i])) {
                  return false;
                  }
            
I've dealt with Latin based languages and they cause minor rendering issues but japanese, chinese, arabic, etc - seems like trouble  ??

The marketing people are thinking that we can take the existing english site, do a "save as", drop in the pre-translated text and we're good. Are they right ?
SOLUTION
Avatar of Ray Paseur
Ray Paseur
Flag of United States of America image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
ASKER CERTIFIED SOLUTION
Avatar of Olaf Doschke
Olaf Doschke
Flag of Germany image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Thanks for all the input.  I've read it all and my head is spinning so I have concluded that this project is probably best accomplished by contracting out the development work.  What would you guesstimate as a cost range (just rough guesstimate) for hiring outside developer/s to complete a project like this ?  To recap the project:

1. existing 3 page English "microsite", with ajax contact form (6 fields) to be replicated in 20 languages. The form entry is captured in a mySql db and sends autoresponse HTML email (about 3 paragraphs of copy) to user .
3. all text translations  provided by foreign marketing offices at no cost (not my responsibility).
4. please see original post above for more details about site functionality.
SOLUTION
Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
slick, thanks for the input, but the language translations are not needed - that will be provided at NO cost.

Since hourly rates may vary - maybe a better way to put this question  - how about time instead of cost estimate - so how many development HOURS might it take (EXCLUDING language translations).

I'm just hoping for some rough guesstimates.  Ray, Olaf, Slick - pretend that one of you were taking on this project - what would you guesstimate for the hours it would take to complete, including debugging, etc ?
I am going to present the development time guesstimation as a new question.  You are invited to contribute - thanks!
Thanks - I will open new question related to this..