public static String badTranslate(String someUnlocAAItemName) { if (cancerino == null) { cancerino = new LanguageMap(); setupLangMap(); } return cancerino.translateKey("item.actuallyadditions."+someUnlocAAItemName+".name"); } }
static void setupLangMap() { try { Method m = LanguageMap.class.getDeclaredMethod("inject", LanguageMap.class, InputStream.class); m.setAccessible(true); m.invoke(null, cancerino = new LanguageMap(), ActuallyAdditions.class.getResourceAsStream("/assets/actuallyadditions/lang/en_US.lang")); } catch (Exception e) { e.printStackTrace(); throw new RuntimeException("Actually Additions failed to access LanguageMap.inject. Report this!"); } }
if (child.isFile()) { try { Map<String, String> lang = LanguageMap.parseLangFile(new FileInputStream(child)); this.localizations.put(child.getName().split("\\.")[0], lang); } catch (Exception e) { if (container != null) { for (RemoteLanguageContainer.LangContainer language : container.languages) { Map<String, String> lang = LanguageMap.parseLangFile(new URL(language.downloadURL).openStream()); String locale = language.locale; if (this.localizations.containsKey(locale)) {
/** * Refresh lang resources. */ @SuppressWarnings("unlikely-arg-type") public void refreshLangResources() { // DEBUG System.out.println("Refreshing lang files with proper precedence"); // Minecraft.getMinecraft().refreshResources(); List<String> list = Lists.newArrayList("en_us"); if (!"en_us".equals(Minecraft.getMinecraft().getLanguageManager().getCurrentLanguage())) { list.add(Minecraft.getMinecraft().getLanguageManager().getCurrentLanguage().toString()); } // This is a fix for problem where lang files are not properly replaced by resource packs MOD_LOCALE.loadLocaleDataFiles(Minecraft.getMinecraft().getResourceManager(), list); LanguageMap.replaceWith(MOD_LOCALE.properties); }