How to handle localization of controller names? - zend-framework

I run a site where it is important to have good and simple URLs that need to be localized.
Example for the english version:
example.com/car/?type=fiat
Example for the Swedish version:
example.se/bil/?typ=fiat (bil is car in swedish)
And ofcourse I would like to handle all of these URLs from the same codebase. What is the best way to handle this?
Should I set up several controllers (CarController, BilController) or is there a "cleaner" way to handle localized controller names?
BR
Niklas

Don't do that. Ever.
Microsoft, a really big, powerful and resourceful company tried that with Excel. In English versions of Excel, you use IF() in formulas. In the German version, it's WENN(). In French, it's QUAND(), I think. In Japan, it's probably ば(). Now imagine someone from Japan sends me an Excel sheet ... There are two options:
"I'm sorry, I can't open this file"
Translate all names on the fly
Doing #2 seems simple enough ... until you run into a word which uses the same letters but has a different meaning in two languages. Example "see". Means "look" in English and "lake" in German. Since you don't know all the languages in the world, you have no chance to figure out which collisions you will have before it is too late.
Also, how do you know which name to use? From the language in the browser? Or do you hate your international customers who occasionally use the Swedish main site? How do you handle Asian languages? Will the URL be server/%E6%AC%80%E6/?%AD%81%E6%AB=fiat?
Don't. Do. That. Ever.

What about rewriting the URL depending on the domain? This way, the Zend framework will get only the English names, while the URL can use localized names.

Related

How to set up multiple languages in Typo3 correctly?

this may be a noob question - but I hope to get an answer from an experienced person,
because we have to switch our settings and would like to do it correctly the first time.
At the moment the default language is set to German. English is defined as another language.
When somebody from France looks at the website, it is shown in German first, he then has to switch to english manually. For an english visitor everything is fine.
So what should we do:
1) Set the default language to english and have german as second language? What about guys from Switzerland, Luxemburg, Liechtenstein and Austria then. Do these have to be defined seperately as they are also seperately selectable as windows languages?
2) Is there an option to simply say: Every visitor that is not german speaking should get the english website in default? And even in this case, will this then recognize the different german options explained in 1?
Sorry if these questions are stupid. ;-)
Thank you,
Fabian
Your aim is to change how visitors see the website, but your are asking how to change the editing of the website accordingly. Luckily it is a CMS and you can separate those concerns.
What you seem to look after is a component that analyses the IP/language/browser properties of the visitor at first page load and that there are rules what to show (e.g. show English version except your mentioned countries). There are extensions for that specific purpose like https://extensions.typo3.org/extension/locate or others: https://extensions.typo3.org/?L=0&id=1&tx_solr%5Bq%5D=language
That way you don't need to change the default at all.

Clients want to copy/paste from word processors; rich text editors will make it a mess. How do we solve this?

After years of experience with custom made CMS systems, I come to this conclusion:
Clients really want to copy and paste information from word processors into their website CMS. They don't like to create large texts in a website box, and prefer to do so from their good old word processor. Or they simply have their text already prepared for other purposes, and therefore want to copy and paste.
Clients do not like to lose their format. They've spent time on their boldface text, headings, etc, and they do not like to do this all over again.
Rich Text Format fields (TinyMCE, CKEditor, etc) are not yet able to properly convert all formatted text into the right HTML. I do not blame them; this has to be very difficult given the odd 'source code' that word processors put in the clipboard. But reading all SO topics about richttext related issues, I feel this is a known limitation.
What do you do in such cases? I've tried the following:
Explain the client beforehand that this is not a word processor we are implementing, and it has limitations. They can understand, but still want to copy and paste.
Only show very few buttons for formatting (bold, italic, links). That way, we can strip the tags and clean this up quite well, and this limits issues. Works better, but clients keep asking for font options, more colors, headers, etc.
So not a really good solution in sight. Are there others who have tackled this issue successfully?
One solution (and probably the best I've come up with) is to post-process the pasted content. So, catch the publish event and correct all the crappy HTML -- catch all the "mso-normal" styles, for instance, and remove them. You'd have a set of rules which clean stuff coming out of, say, MS Word.
Though, this is not just a word processing problem. You're pasting from one rich text editor to another, and styles just don't transfer between rich editing environments. This is not so much a technical problem as it is a logical problems.
Update: Someone pointed me to this: Copy-Pasting Word to your Web CMS. No real solutions, but just confirmation that it's a sticky problem.
I totally agree with you:
Last week I did a very interesting test with a customer for which I had to prepare some demo's of .NET based CMS systems (Umbraco, Sitefinity, DNN, Composite C1 ect). The customer himself had a Drupal based site and I was ashamed none of my CMS demo's did a 100% job with a complicated Word table (Ceteris paribus: I did not do some CMS fine-tuning, used every CMS out of the box). The worst part was his Drupal CMS did a 100% good job! It was exactly the same as it was in Word. For a client working a lot with Word my CMS-ses were a showstopper. Of course there are a lot of discussions on the web about 'you should not copy from Word' or 'do NOT use Word for CMS things'. Fact is: clients work with Word so we should deal with it.

I have to redesign a website in joomla from HTML.Basically the HTML site is in 2 lanugage English and French

I have to redesign a website in joomla from HTML.Basically the HTML site is in 2 lanugage English and French.Now the problem is that there is different menus and block in both the language sites.If the menus and rest of design is same then i can easily do using Joomfish..please tell me how i can mange this.
The answer to your question really comes down to a choice between two options:
(1) Having a multi-lingual site. This type of site is manually coded to contain duplicate menu items and articles, each written "by hand" in the native language. If your site is one where the language contains nuances that would be missed by auto-translation software like JoomFish, then you better go this route. There is more planning involved for such a site.
(2) Having a single language site that can be translated to another language using a translator like JoomFish (or a dozen others). If the language in your project is not specifically nuanced, you might consider this route, as it will be FAR easier to build. Translation software like JoomFish does a pretty good job. I even use the translation built into CometChat for some of my clients, and they're pretty happy with the results. The translations aren't 100% perfect, but most web viewers understand this nowadays.
You might consider reading this article:
http://docs.joomla.org/Adding_multi-language_support
And then look at this directory:
http://extensions.joomla.org/index.php?option=com_mtree&task=listcats&cat_id=1838&Itemid=35

Is it possible to customize Recaptcha image language?

Is it possible to customize Recaptcha to display text in English only words?
As recently, I found that text could be displayed in other language like Hebrew.
Here is example:
To be honest it is not possible to type such words for ordinary users having keyboard with Roman alphabet and not many know that image can be redrawn.
AFAIK, via the API you may only customize the interface, not the images.
reCAPTCHA uses scans from the real books, so sometimes, even in latin books there are some non latin characters too.
But there should be no problem here. reCAPTCHA displays always two words: one unknown even for the reCAPTCHA (probably the Hebrew in this case), and the other one, which is really checked.
So the user may misspell the Hebrew, but it's OK when he types the other one (latin) word as expected.
(Only guesses, but I think that's how this thing works).
Have you looked at: http://code.google.com/apis/recaptcha/docs/customization.html#i18n?
That's the API. It talks about setting the translation, but I've never used it, so I'm not 100% sure whether it can do what you want.
Due to where Recaptcha gets its captcha string from (text scanned from books), it could very well be limited to languages that use the Latin alphabet.
I bet that Reviled is the challenge word (the one scanned from the book) and the other is the test word (the one it uses to verify whether or not the person who typed the challenge word is actually typing something legitimate or not).

iphone how to localize only particular parts of app

i'm making a korean/english app, so naturally i would need both english and korean displayed on the same tableview cell at the same time. i've considered specifying an element in the plist to be a particular language... but how would i write in korean characters?
i have a dreadful feeling there will be much to custom code for this without apple's wonderful documentation. thanks for any guidance in advance.
Holy monkey. Turns out I thought it was way more difficult than it is, and I skipped even testing the most basic ways of doing it. All you have to do is basically copy and paste the foreign characters into the plist... That's it. Nothing else. Face in hand and lesson learnt.