MCPcopy Create free account
hub / github.com/Card-Forge/forge / setLanguage

Method setLanguage

forge-core/src/main/java/forge/util/Localizer.java:142–174  ·  view source on GitHub ↗
(final String languageRegionID, final String languagesDirectory)

Source from the content-addressed store, hash-verified

140 }
141
142 public void setLanguage(final String languageRegionID, final String languagesDirectory) {
143 String[] splitLocale = languageRegionID.split("-");
144
145 Locale oldLocale = locale;
146 locale = new Locale(splitLocale[0], splitLocale[1]);
147
148 //Don't reload the language if nothing changed
149 if (oldLocale == null || !oldLocale.equals(locale)) {
150 File file = new File(languagesDirectory);
151 URL[] urls = null;
152
153 try {
154 urls = new URL[] { file.toURI().toURL() };
155 } catch (MalformedURLException e) {
156 e.printStackTrace();
157 }
158
159 ClassLoader loader = new URLClassLoader(urls);
160
161 try {
162 resourceBundle = ResourceBundle.getBundle(languageRegionID, new Locale(splitLocale[0], splitLocale[1]), loader);
163 englishBundle = ResourceBundle.getBundle("en-US", new Locale("en", "US"), loader);
164 } catch (NullPointerException | MissingResourceException e) {
165 //If the language can't be loaded, default to US English
166 resourceBundle = ResourceBundle.getBundle("en-US", new Locale("en_US"), loader);
167 e.printStackTrace();
168 }
169
170 System.out.println("Language '" + resourceBundle.getBaseBundleName() + "' loaded successfully.");
171
172 notifyObservers();
173 }
174 }
175
176 public void registerObserver(LocalizationChangeObserver observer) {
177 observers.add(observer);

Callers 1

initializeMethod · 0.95

Calls 3

notifyObserversMethod · 0.95
splitMethod · 0.80
equalsMethod · 0.45

Tested by

no test coverage detected