1. What is Localization?
Localization in Java involves adapting your application to support different languages, regions, and formats using the Locale
and ResourceBundle
classes.
2. Locale Strings
Language and Country Codes
A Locale
object identifies a specific region using a combination of language code (ISO 639) and country code (ISO 3166).
import java.util.Locale;
public class LocaleExample {
public static void main(String[] args) {
Locale localeUS = new Locale("en", "US");
Locale localeFR = new Locale("fr", "FR");
System.out.println("Locale US: " + localeUS);
System.out.println("Locale FR: " + localeFR);
}
}
Using Locale.Builder
The Locale.Builder
class provides a flexible way to construct Locale
objects.
import java.util.Locale;
public class LocaleBuilderExample {
public static void main(String[] args) {
Locale locale = new Locale.Builder()
.setLanguage("en")
.setRegion("GB")
.build();
System.out.println("Locale: " + locale);
}
}
N.B : In Java, constructors are simple for initialization but become cumbersome with many parameters, while the Builder pattern offers flexibility, clarity, and better handling of complex or optional attributes.
3. Resource Bundles
ResourceBundle
helps load property files for specific locales.
Example of ResourceBundle
import java.util.Locale;
import java.util.ResourceBundle;
public class ResourceBundleExample {
public static void main(String[] args) {
Locale localeFR = new Locale("fr", "FR");
ResourceBundle bundle = ResourceBundle.getBundle("Messages", localeFR);
System.out.println(bundle.getString("greeting"));
}
}
Properties File Example (Messages_fr.properties):
greeting=Bonjour!
0 Comments