public static void updateLocale(Language language) {
        String l = Settings.getLocaleLanguage().getLanguageString();
        String c = Settings.getLocaleLanguage().getCountryString();
        Locale currentLocale = new Locale(l, c);

        PropertyResourceBundle localeRes = null;
        try (FileInputStream fis = new FileInputStream(Constants.PROGRAM_LOCALE_PATH.resolve(
                Constants.PROGRAM_I18N + "_" + currentLocale.getLanguage() + "_" + currentLocale.getCountry()
                + Constants.PROGRAM_I18N_SUFFIX).toFile())) {
            localeRes = new PropertyResourceBundle(fis);
            fis.close();

        } catch (IOException e) {
            LOGGER.warn(e);
        }

        if (localeRes != null) {
            GUIStrings.initLocale(localeRes);

            if (chooser != null) {
                chooser.updateLocale();
                chooser.repaint();
            }

            if (editor != null) {
                editor.updateLocale();
                editor.repaint();
            }
        } else {
            handleUnhandableProblem("Error while reading locale file!", "updateLocale()");
        }
    }