Posted August 25, 201312 yr Title says. I want to scan a directory for language files i put into mod. public class RoWLocalizer{ public static final String localeFiles[] = {"/assets/row/lang/en_US.lang", "/assets/row/lang/de_DE.lang", "/assets/row/lang/ru_RU.lang"}; public static void init(){ // This actually works, but i don't want to list every language file in localeFiles[]. /** * <pre> * for(String s: localeFiles){ * LanguageRegistry.instance().loadLocalization(s, getLocaleFromFileName(s), false); * FMLCommonHandler.instance().getFMLLogger() * .log(Level.INFO, "[RoW] Loaded language file " + getLocaleFromFileName(s)); * } * </pre> **/ // The code i'm trying to get to work. File localesLocation = new File("/assets/row/lang/"); if(localesLocation.exists() && localesLocation.isDirectory()){ for(File f: localesLocation.listFiles()){ String s = f.getName(); if(f.isFile() && s.endsWith(".lang")){ LanguageRegistry.instance().loadLocalization(s, getLocaleFromFileName(s), false); FMLCommonHandler.instance().getFMLLogger() .log(Level.INFO, "[RoW] Loaded language file " + getLocaleFromFileName(s)); } } }else{ FMLCommonHandler.instance().getFMLLogger() .log(Level.INFO, "[RoW] Can't load lang files from " + localesLocation); } } public static String getLocaleFromFileName(String f){ return f.substring(f.lastIndexOf('/') + 1, f.lastIndexOf('.')); } } For some reason i'm always having 'Can't load lang files from' message. Any ideas? If i helped you, don't forget pressing "Thank You" button. Thanks for your time.
August 25, 201312 yr Author No need to do this. Minecraft will automatically load languages from assets/MODID/lang/EXISTING_LANGUAGE.lang. No, it does not. If i helped you, don't forget pressing "Thank You" button. Thanks for your time.
August 29, 201312 yr Can you show me your en_US.lang file? If I was any help please hit that "Thank You" button.
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.