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