git://git.nikiroo.be
/
fanfix.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Version 4.0.0: java.awt dependencies move
[fanfix.git]
/
src
/
be
/
nikiroo
/
utils
/
resources
/
TransBundle.java
diff --git
a/src/be/nikiroo/utils/resources/TransBundle.java
b/src/be/nikiroo/utils/resources/TransBundle.java
index 61bc92259de48c9a90164b69df8c4e93799f2253..ec5b2d0af93d7d17a629dca51c1d2a0b365fece0 100644
(file)
--- a/
src/be/nikiroo/utils/resources/TransBundle.java
+++ b/
src/be/nikiroo/utils/resources/TransBundle.java
@@
-8,8
+8,6
@@
import java.util.List;
import java.util.Locale;
import java.util.regex.Pattern;
import java.util.Locale;
import java.util.regex.Pattern;
-import be.nikiroo.utils.resources.Bundles;
-
/**
* This class manages a translation-dedicated Bundle.
* <p>
/**
* This class manages a translation-dedicated Bundle.
* <p>
@@
-19,6
+17,9
@@
import be.nikiroo.utils.resources.Bundles;
* <li>DUMMY will return "[DUMMY]" (maybe with a suffix and/or "NOUTF")</li>
* </ul>
*
* <li>DUMMY will return "[DUMMY]" (maybe with a suffix and/or "NOUTF")</li>
* </ul>
*
+ * @param <E>
+ * the enum to use to get values out of this class
+ *
* @author niki
*/
public class TransBundle<E extends Enum<E>> extends Bundle<E> {
* @author niki
*/
public class TransBundle<E extends Enum<E>> extends Bundle<E> {
@@
-35,7
+36,7
@@
public class TransBundle<E extends Enum<E>> extends Bundle<E> {
* the name of the {@link Bundles}
*/
public TransBundle(Class<E> type, Enum<?> name) {
* the name of the {@link Bundles}
*/
public TransBundle(Class<E> type, Enum<?> name) {
- super(type, name);
+ super(type, name
, null
);
setLanguage(null);
}
setLanguage(null);
}
@@
-51,7
+52,7
@@
public class TransBundle<E extends Enum<E>> extends Bundle<E> {
* the language to use
*/
public TransBundle(Class<E> type, Enum<?> name, String language) {
* the language to use
*/
public TransBundle(Class<E> type, Enum<?> name, String language) {
- super(type, name);
+ super(type, name
, null
);
setLanguage(language);
}
setLanguage(language);
}
@@
-126,10
+127,11
@@
public class TransBundle<E extends Enum<E>> extends Bundle<E> {
result = null;
}
result = null;
}
- if (values != null && values.length > 0 && result != null)
+ if (values != null && values.length > 0 && result != null)
{
return String.format(locale, result, values);
return String.format(locale, result, values);
- else
- return result;
+ }
+
+ return result;
}
/**
}
/**
@@
-158,7
+160,7
@@
public class TransBundle<E extends Enum<E>> extends Bundle<E> {
* @return the known language codes
*/
public List<String> getKnownLanguages() {
* @return the known language codes
*/
public List<String> getKnownLanguages() {
- return getKnownLanguages(
nam
e);
+ return getKnownLanguages(
keyTyp
e);
}
/**
}
/**
@@
-171,7
+173,12
@@
public class TransBundle<E extends Enum<E>> extends Bundle<E> {
private void setLanguage(String language) {
defaultLocale = (language == null || language.length() == 0);
locale = getLocaleFor(language);
private void setLanguage(String language) {
defaultLocale = (language == null || language.length() == 0);
locale = getLocaleFor(language);
- setBundle(name, locale);
+ setBundle(keyType, locale, false);
+ }
+
+ @Override
+ public void reload(boolean resetToDefault) {
+ setBundle(keyType, locale, resetToDefault);
}
@Override
}
@Override
@@
-194,16
+201,26
@@
public class TransBundle<E extends Enum<E>> extends Bundle<E> {
@Override
public void updateFile(String path) throws IOException {
String prev = locale.getLanguage();
@Override
public void updateFile(String path) throws IOException {
String prev = locale.getLanguage();
+ Object status = takeSnapshot();
- setLanguage(null); // default locale
+ // default locale
+ setLanguage(null);
+ if (prev.equals(getLocaleFor(null).getLanguage())) {
+ // restore snapshot if default locale = current locale
+ restoreSnapshot(status);
+ }
super.updateFile(path);
for (String lang : getKnownLanguages()) {
setLanguage(lang);
super.updateFile(path);
for (String lang : getKnownLanguages()) {
setLanguage(lang);
+ if (lang.equals(prev)) {
+ restoreSnapshot(status);
+ }
super.updateFile(path);
}
setLanguage(prev);
super.updateFile(path);
}
setLanguage(prev);
+ restoreSnapshot(status);
}
@Override
}
@Override
@@
-211,10
+228,10
@@
public class TransBundle<E extends Enum<E>> extends Bundle<E> {
String code = locale.toString();
File file = null;
if (!defaultLocale && code.length() > 0) {
String code = locale.toString();
File file = null;
if (!defaultLocale && code.length() > 0) {
- file = new File(path,
nam
e.name() + "_" + code + ".properties");
+ file = new File(path,
keyTyp
e.name() + "_" + code + ".properties");
} else {
// Default properties file:
} else {
// Default properties file:
- file = new File(path,
nam
e.name() + ".properties");
+ file = new File(path,
keyTyp
e.name() + ".properties");
}
return file;
}
return file;