Tag Info

Hot answers tagged

109

Why should non-Anglos have to decode dates, numbers, etc. while Anglos can just read them? Numerical and date localization is absolutely necessary if you want non-Anglos to feel, you know, welcome as users and customers. Why should a German user have to work out what your number is instead of, you know, getting it in his or her own language's format? ...


71

Some basic things you should take into account: Externalize all string resources All your resources should be contained in external files that can be handed off for localization. Don't forget about error messages, if you want these localized too. Allow sufficient space for string expansion Strings in some languages tend to be up to 30% longer (like ...


64

You are developing ASP.Net MVC application, are you? Other answers seem to be specific to desktop applications. Let me capture common things: Locale detection It is quite important that your application detect user's locale correctly. In desktop application, CultureInfo.CurrentCulture holds preferred formatting locale (the one that should be used to format ...


52

Also, my second question is that do we really need to change 3,899.99 to 3.899,99 for some cultures like German? I mean it doesn't hurt to do so since the library already does it for us but wouldn't this actually cause more confusion to the user (even if he is German). Even if the user is German, he'll be confused with German notation? I'm pretty ...


35

American <> Universal. Reading a date like "Jan 2 2003" takes some time to decode. We always put the day before the month. So it would have to be "2 Jan 2003". Sure we get it but we have to think 5 seconds to decode it. Show a number like 1,234 and most Europeans will be thinking of a decimal number. 1,345.00 just "feels wrong". It's OK if you don't ...


27

Your problem here seems to be a bad assumption. There is no "universal format" for numbers or dates. 3,899.99 is valid in some places, and confusing in others. Same for the converse. People can frequently figure out what they need to, but that's not the point. The same goes for the date formats you talk about. The formats themselves are distinct between ...


18

You seem to assume that what you are used to read is universal, while it is not. Where I live, comma denotes the decimal separator, and a dot is used (sparingly) as thousands separator. It is unnatural for me to parse $3,004.25. But if you give me $5,535 I'd probably read it as about 5 dollars and a half. Reading 3.899,99 would not be confusing at all to ...


14

Too much effort for too little added value. The amount of English required to make sense of the keywords of any programming language is really very small - for the majority of second-language speakers it is probably way less than they already knew of the language even before they became programmers. Conversely, allowing all keywords to be replaced by their ...


13

The main reason is that all source code should be written in English. This applies as well to variable names, comments, etc. The reason becomes obvious when you see for the first time a piece of code which is written in a language you don't know. For example: // Записать изменения конфигурации. var имя = this.RefreshMeta().ПолныйПуть; ...


12

I don't have much knowledge on number and currency localisation, but dates are covered by ISO 8601 (http://en.wikipedia.org/wiki/ISO_8601) in the format YYYY-MM-DD e.g. 2011-05-10 for 10th May.


11

Some basic steps are to make sure any string that is displayed on the screen is not a literal in your code. If you're doing Winforms each form will have a UI resource. For dialogs, reports etc, make sure you use the project resource files. So instead of "Upload failed" in your code, you might have something like Resources.UploadFailed This way you can ...


11

Also, my second question is that do we really need to change 3,899.99 to 3.899,99 for some cultures like German? I mean it doesn't hurt to do so since the library already does it for us but wouldn't this actually cause more confusion to the user (even if he is German). I am German, and speaking personally for me, it is indeed confusing, because I read ...


10

There are ways to achieve what you want, but they all involve using formats that are natural to no-one. for example, we store timestamps in our product in human-readable format: YYYYMMDDHHMMSS. There's no confusion there, but no-one uses that format in their daily lives. What I think you're needing is an underlying format that is universal, say, seconds ...


10

Why do you have this understanding? Both encodings [UTF-8 and UTF-16] can encode all unicode characters by the definition of them being unicode encodings. Anyway, UTF-8 is more optimal for storage and transmission than UTF-16 in your case. Majority of your characters in the files will not be in Chinese but in markup/js syntax. UTF-8 uses 1 byte for those ...


9

I suggest you run FXCop or Visual Studio Code Analysis (they're quite the same) on your assemblies. They are good at detecting .NET code that does not use the proper culture oriented overloads, like this one: CA1305: Specify IFormatProvider. I must add that these tools are also frustrating because they usually detect zillions of issues in your code, but ...


8

More a comment than an answer I guess, but... It Doesn't Come Naturally "since he'd probably learned the universal format anyway" Pardon me, but I didn't really "learn" that "universal" format until fairly late at school, because that's the thing: no one cares. Or at least, until they need to (e.g. for official documents, for business, etc...). So it ...


7

As a localization professional, I work with a lot of developers on their apps and always ask questions like this. In truth, it varies considerably because apps gain traction in different countries almost at random. Well, not really random, but it has a lot to do with whether a blog or foreign language post talks about the app, giving it that first nudge up ...


7

In addition to the specific how to load resources I'd make sure that you test with a pseudo-localized version to begin with. Otherwise you're not likely to notice the places where internationalization considerations were omitted until the end.


7

PHP has great built-in possibilities for localization. The most common way seems to be gettext - this tutorial shows how it's used. Since PHP 5.3 there's also intl which offers a lot more features (to format numbers, dates and currencies depending on the locale for example).


6

What you are asking about is referred to as internationalization (i18n). You would have to consider UI layout to allow text from different languages to fit properly and to allow controls to dynamically shift positions to make room for this text. You would also have to account for locale-specific date and currency formats. If your application requires a ...


6

In layman's words: They do. In this wikipedia article you can see there are lots of programming languages/compilers/interpreters based in languages other than english. Here is a sample source code in Linnotte, a French-based programming language: nombre Fibonacci : a est un nombre début questionne a sur "Entrez un nombre :" affiche fibo(a) ...


5

Heresay from 1 developer was that Korean, Japanese and French localizations seemed to cause the most noticeable increases in sales. But this of course might vary with the apps general popularity, cultural suitability, and amount of other localized competition.


5

Most of the World uses , as decimal separator (green on image below). I don't see why majority should adapt to minority.


5

Here's something not mentioned in the rest of the answers. Depending on the complexity of your application and its localization, I would highly advise implementing an alternative resource provider and keeping localized resources in a database. With the default ASP.NET localization scheme all resources are kept in RESX files, which: Are a pain in the butt ...


5

Put simply this, like many process questions, comes down to a cost-benefit decision. Quite a few of the practices described in the agile processes are about reducing the time spent in the "last mile" - this is an example of one of them. Unlike practices with other aims (quality, correctness, etc), the practices aimed at ensuring you can release the product ...


4

Take a look at this recent BBC article on the effect of spelling mistakes on sales generated by websites. Now, imagine that rather than a couple of spelling mistakes, the whole page is full of errors. What effect do you think that is going to have? Online translation tools are intended to help people read things which aren't aimed at an international ...



Only top voted, non community-wiki answers of a minimum length are eligible