import be.nikiroo.fanfix.bundles.ConfigBundle;
import be.nikiroo.fanfix.bundles.StringId;
import be.nikiroo.fanfix.bundles.StringIdBundle;
+import be.nikiroo.fanfix.bundles.StringIdGuiBundle;
import be.nikiroo.fanfix.bundles.UiConfig;
import be.nikiroo.fanfix.bundles.UiConfigBundle;
import be.nikiroo.fanfix.library.BasicLibrary;
import be.nikiroo.fanfix.library.RemoteLibrary;
import be.nikiroo.utils.Cache;
import be.nikiroo.utils.IOUtils;
+import be.nikiroo.utils.Proxy;
+import be.nikiroo.utils.TempFiles;
import be.nikiroo.utils.TraceHandler;
import be.nikiroo.utils.resources.Bundles;
private static UiConfigBundle uiconfig;
private static StringIdBundle trans;
private static DataLoader cache;
+ private static StringIdGuiBundle transGui;
private static BasicLibrary lib;
private static File coverDir;
private static File readerTmp;
private static File remoteDir;
private static String configDir;
private static TraceHandler tracer;
+ private static TempFiles tempFiles;
static {
// Before we can configure it:
// Most of the rest is dependent upon this:
createConfigs(configDir, false);
+
+ // Proxy support
+ Proxy.use(Instance.getConfig().getString(Config.USE_PROXY));
// update tracer:
boolean debug = Instance.getConfig()
+ coverDir));
coverDir = null;
}
+
+ try {
+ tempFiles = new TempFiles("fanfix");
+ } catch (IOException e) {
+ tracer.error(new IOException("Cannot create temporary directory", e));
+ }
}
/**
/**
* Get the (unique) {link StringIdBundle} for the program.
+ * <p>
+ * This is used for the translations of the core parts of Fanfix.
*
* @return the {link StringIdBundle}
*/
return trans;
}
+ /**
+ * Get the (unique) {link StringIdGuiBundle} for the program.
+ * <p>
+ * This is used for the translations of the GUI parts of Fanfix.
+ *
+ * @return the {link StringIdGuiBundle}
+ */
+ public static StringIdGuiBundle getTransGui() {
+ return transGui;
+ }
+
/**
* Get the (unique) {@link LocalLibrary} for the program.
*
}
}
+ /**
+ * The facility to use temporary files in this program.
+ * <p>
+ * <b>MUST</b> be closed at end of program.
+ *
+ * @return the facility
+ */
+ public static TempFiles getTempFiles() {
+ return tempFiles;
+ }
+
/**
* The configuration directory (will check, in order of preference,
* {@link Bundles#getDirectory()}, the system properties, the environment
/**
* Create the config variables ({@link Instance#config},
- * {@link Instance#uiconfig} and {@link Instance#trans}).
+ * {@link Instance#uiconfig}, {@link Instance#trans} and
+ * {@link Instance#transGui}).
*
* @param configDir
* the directory where to find the configuration files
// No updateFile for this one! (we do not want the user to have custom
// translations that won't accept updates from newer versions)
trans = new StringIdBundle(getLang());
+ transGui = new StringIdGuiBundle(getLang());
// Fix an old bug (we used to store custom translation files by
// default):
if (checkEnv("NOUTF")) {
trans.setUnicode(false);
+ transGui.setUnicode(false);
}
Bundles.setDirectory(configDir);
private static String getLang() {
String lang = config.getString(Config.LANG);
- if (System.getenv("LANG") != null && !System.getenv("LANG").isEmpty()) {
- lang = System.getenv("LANG");
+ if (lang == null | lang.isEmpty()) {
+ if (System.getenv("LANG") != null
+ && !System.getenv("LANG").isEmpty()) {
+ lang = System.getenv("LANG");
+ }
}
if (lang != null && lang.isEmpty()) {