What is the difference between language and locale




















Therefore, you will probably never see an LCID for Coptic or Latin, and you will certainly never see an LCID for Klingon, even though a Klingon extension to the Unicode standard has been proposed and has even been included in some Unix implementations! The currently used sort version uses a small part of the reserved area. LCID s will be used at many points throughout this book. Although these macros are not available in Visual Basic, I do provide wrapper functions that provide the same functionality the main difference is that in C, the macros would be inserted into every instance in which they are used by a preprocesser, whereas in VB they are actual functions that will exist even in a compiled project.

The information represented by an LCID usually pronounced el-sid is used heavily by Visual Basic, by COM, and by the operating system itself, and its settings fundamentally affect the processing of information on the machine.

LCID s will be heavily discussed throughout the book. The specific parts of LCID s are further discussed in the following sections. As I mentioned, the primary language identifier represents the language itself.

The distinction between sublanguages is important just for word usage issues within a language, even before taking into account the other issues that make up a locale.

The differences in the way that Hungarian is sorted under normal circumstances versus in technical documentation, and the way that Georgian is sorted in the modern versus the traditional use of the language, are indeed important cultural factors that can be key to properly displaying information in an appropriate order.

Recent versions of the Platform SDK have added macros to handle a sort version. It is currently unused and even the documentation in the SDK does not discuss what its intended future use might be. It simply states that this parameter is reserved and must always be 0. I would suspect that this part of the LCID is present so that future versions of sorts that are almost identical but have small variations can be represented in ways that will allow Windows to optimize sorting operations.

Because no sort versions are currently defined, they are not really discussed much in the rest of the book, although the macros that manipulate them have been converted to functions just as the other LCID macros have. There are no differences in any of the locale settings or characters in either language. The difference between the two is that the way particular characters are sorted has been changed.

Specifically, in the traditional sort order, the letter combination ch is a unique compression in the sort between c and d ; in the modern sort, it's considered as c followed by h. Similarly, in the traditional sort, the ll compression is a unique letter in the sort between l and m ; in the modern sort, it is considered as l followed by l.

The concept of the worldwide EXE is simple enough; it means that your application's code has one version for all languages. At first glance, the best way to handle other locales is to take the product that you have written and give it to a programmer from the other locale. For example, you would take your U. English program and give it to a Japanese developer, who could take care of changing the strings in VB forms, the code, and everything else to make sure that it is appropriate to the Japanese market.

There are three major problems with this approach:. All the localized versions of the software will be available much later than the original version. Because you would be handing off your finished application, you have to wait until it is done or you risk having to fix bugs in multiple places.

It is much more expensive to have extra programmers do the work. As you add on languages, you are essentially paying for one programmer per language. This can become prohibitively expensive. Your product is going to be either a very hard-to-maintain single version or multiple versions. It is hard to say whether it is worse to have to maintain multiple versions of a product or maintain a product with code such as this:.

However, this approach will be very difficult in terms of maintaining the product, fixing bugs, or shipping future versions. The solution is to have a single binary that contains the code and to isolate materials that need to be localized in another form such as a database or resource files. In all cases, the idea is to separate from your core program anything that will change from language to language and also design your core program to be able to handle any language.

In the real world of software development, it is often slightly more complicated. The localized versions of the product are shipped at a later date. The worldwide EXE approach was taken, but the later ship date means that testing happened later and that some bugs were fixed after the original ship date. The important difference between this type of product cycle and the original one discussed is that these changes are now considered part of the core code.

Any and all bug fixes made along the way appear in all subsequent versions. In essence, what the VB team did was further globalize its product. Many bugs found by local testers were considered core bugs as a part of the worldwide EXE. Everyone knows what a keyboard is, and keyboards are very useful when you need to type in text for most languages.

To solve this problem, Microsoft uses IMEs input method editors to allow for the input of such alphabets.

These editors some of which can appear in the list of input locales, as in Figure 11 , and which often look much like the Japanese IME in Figure 12 provide the ability to input grouping information that approximates a character and then lets you choose the right character as needed.

Figure 11 If you install a lot of keyboards on Windows , you may notice that many of the Asian languages look different than they do in other locales; these different graphics represent different IMEs.

Figure 12 Selecting the Japanese IME on a Windows machine will give you an interface in which you can handle the large number of Japanese Hiragana, Katakana, and Kanji characters that you may want to enter. I have now introduced the subjects that will be covered in depth for the rest of the book, and I have defined many of the terms that I will be using, in case you either did not know any of the terms or perhaps might be using different ones than I am using.

This should help direct your further reading and make sure that you will find this book to be a useful tool in the journey to a Visual Basic application that enables you to take advantage of the global marketplace.

It depends on technology. For example in Java Locale. This is what you would pass between modules unless you are passing concrete type and this is what you would write into configuration files i.

Net on the other hand, you would certainly use en-GB. The different is obvious: the separator : Otherwise there is no difference in the meaning, specific technology might impose some constraints on Locale identifier. There is no ISO normative document that handles language and country combination, per my knowledge. In Software Internationalization it is part of Locale Model. How are we doing?

Please help us improve Stack Overflow. Take our short survey. Stack Overflow for Teams — Collaborate and share knowledge with a private group. Create a free Team What is Teams? Collectives on Stack Overflow. Learn more. What is a good definition for language code and locale codes? Ask Question. Asked 10 years, 5 months ago. Active 4 months ago. Viewed 12k times. Improve this question. The question of how to translate from one language to another is not as simple as it may seem.

Two primary factors must be addressed to create a complete translation: the language and the locale. The first factor, the language, is self-explanatory; this is what will actually be translated. However, there's more than meets the eye with the second factor - locale. Locale refers to regional settings such as currency symbols or date formats.

One cannot simply translate a word for word without considering these additional parameters that make up an entire culture's way of life and understanding of their world around them. In an era where digital globalization is on the rise, one of the most important aspects to consider when translating a product or app into another language is locale. What exactly does this mean?

Locale involves cultural adaptation and tailoring your content for specific audiences in other countries. It means going beyond literal translations that might sound funny to native speakers of that region; instead, you need to get acquainted with their customs and habits to convey meaning without sounding too strange appropriately.

Translating software and apps is a challenging task, as different languages have different rules.



0コメント

  • 1000 / 1000