Author: nextgens
Date: 2007-04-22 12:53:25 +0000 (Sun, 22 Apr 2007)
New Revision: 12857
Modified:
trunk/freenet/src/freenet/l10n/L10n.java
Log:
Fix a bug reported by cooo: when an override was set, switching to an other
language didn't "reset" the override
Modified: trunk/freenet/src/freenet/l10n/L10n.java
===================================================================
--- trunk/freenet/src/freenet/l10n/L10n.java 2007-04-22 12:40:27 UTC (rev
12856)
+++ trunk/freenet/src/freenet/l10n/L10n.java 2007-04-22 12:53:25 UTC (rev
12857)
@@ -42,7 +42,7 @@
private static SimpleFieldSet fallbackTranslation = null;
private static L10n currentClass = null;
- private static SimpleFieldSet translationOverride = null;
+ private static SimpleFieldSet translationOverride;
L10n(String selected) {
selectedLanguage = selected;
@@ -52,7 +52,9 @@
if(tmpFile.exists() && tmpFile.canRead()) {
Logger.normal(this, "Override file detected :
let's try to load it");
translationOverride =
SimpleFieldSet.readFrom(tmpFile, true, false);
- }
+ } else
+ translationOverride = null;
+
} catch (IOException e) {
translationOverride = null;
Logger.error(this, "IOError while accessing the file!"
+ e.getMessage(), e);
@@ -67,6 +69,12 @@
* @throws MissingResourceException
*/
public synchronized static void setLanguage(String selectedLanguage)
throws MissingResourceException {
+ // Save the current override if needed before switching
+ if(translationOverride != null) {
+ _saveTranslationFile();
+ translationOverride = null;
+ }
+
for(int i=0; i<AVAILABLE_LANGUAGES.length; i++){
if(selectedLanguage.equalsIgnoreCase(AVAILABLE_LANGUAGES[i])){
selectedLanguage = AVAILABLE_LANGUAGES[i];