java - How to get the default ResourceBundle regardless of current default Locale -
i have 3 resource files in class path:
labels.properties:
language = default
labels_en.properties:
language = english language
labels_fr.properties:
language = french
is there way resourcebundle
object loads labels.properties
no matter default locale
is?
resourcebundle.getbundle("labels")
returns 1 corresponding current default locale (as expected).
the way can find set default locale non-existing locale, may break other modules.
thank you!
locale.setdefault( locale.english); assert.assertequals( "english", resourcebundle.getbundle( "labels").getstring( "language")); locale.setdefault( locale.french); assert.assertequals( "french", resourcebundle.getbundle( "labels").getstring( "language")); assert.assertequals( "french", resourcebundle.getbundle( "labels", new locale( "do-not-exist")).getstring( "language")); locale.setdefault( new locale( "do-not-exist")); assert.assertequals( "default", resourcebundle.getbundle( "labels").getstring( "language"));
you can pass in resourcebundle.control which, regardless of requested locale, searches root resourcebundle:
resourcebundle rootonly = resourcebundle.getbundle("labels", new resourcebundle.control() { @override public list<locale> getcandidatelocales(string name, locale locale) { homecoming collections.singletonlist(locale.root); } });
java internationalization locale resourcebundle
No comments:
Post a Comment