Content deleted Content added
adding internal link to Open language tools |
|||
Line 6:
Resource bundles have a naming convention to identify them when they deal with different languages. The file name is followed by an underscore and a two-letter language code ([[ISO 639-2]] code) that specifies the language that the resource bundle deals with. So, for example, an application that supports Spanish and French can have these resource bundles:<br />
<br />
resbund_es.properties (this one includes data for version in Spanish)<br />
resbund_fr.properties (this other one includes data for version in French)<br />
<br />
This can also be followed by another underscore and a two-letter country code ([[ISO 3166-1]]). In this case, an application that supports British and US English will have the following files:<br />
<br />
resbund_en_GB.properties<br />
resbund_en_US.properties<br />
Line 15 ⟶ 18:
Resource bundles are essentially text files. The most common type of content in a resource bundle is a list of strings. Each string has a “key” to identify it, which is the same in all the different resource bundles. When writing the code for the application, only the key is mentioned (this is why we say that the code is locale-independent). Using the methods provided in the Java [[API]] for the ResourceBundle class<ref>[http://java.sun.com/j2se/1.5.0/docs/api/ Java API ResourceBundle Class]</ref> , we can access the string (i.e. the "value") associated with the key. Depending on which locale the application is handling, it will call the adequate resource bundle at [[runtime]]<ref>Esselink, B. ''A Practical Guide to Software Localisation'', John Benjamins Publishing (1998).</ref>. <br />
<br />
For instance, our resource bundle for the UK English locale can contain “firstKey = Localisation” and our US English one can contain “firstKey = Localization”. We will refer only to “firstKey” in the code and, according to the current locale settings, the application will use either “Localization” or “Localisation”.
Line 28 ⟶ 32:
Some [[CAT tools]] like [[OmegaT]]
|