f6641d239aa769b49ea77366ed0c196e8fbef1e3
private static class L10nCallback extends StringCallback implements
EnumerableOptionCallback {
@Override
public String get() {
- return L10n.getSelectedLanguage().fullName;
+ return
NodeL10n.getBase().getSelectedLanguage().fullName;
}
@Override
public void set(String val) throws InvalidConfigValueException {
if(val == null || get().equalsIgnoreCase(val)) return;
try {
- L10n.setLanguage(val);
+ new
NodeL10n(BaseL10n.LANGUAGE.mapToLanguage(val));
} catch (MissingResourceException e) {
throw new
InvalidConfigValueException(e.getLocalizedMessage());
}
- PluginManager.setLanguage(L10n.getSelectedLanguage());
+
PluginManager.setLanguage(NodeL10n.getBase().getSelectedLanguage());
}
public String[] getPossibleValues() {
- return L10n.LANGUAGE.valuesWithFullNames();
+ return BaseL10n.LANGUAGE.valuesWithFullNames();
}
}
Don't understand the set() process??
- L10n.setLanguage(nodeConfig.getString("l10n"));
+ new
NodeL10n(BaseL10n.LANGUAGE.mapToLanguage(nodeConfig.getString("l10n")));
BaseL10n: do the chinese language names show up?
+ /**
+ * Get the full base name of the L10n override file used by the current
language.
+ * @return String
+ */
+ public String getL10nOverrideFileName() {
+ return this.l10nFilesBasePath +
this.l10nOverrideFilesMask.replace("${lang}", this.lang.shortCode);
+ }
+
Doesn't make sense, the override file is not in the jar, it is in the current
working directory. It is a separate file, outside of the node.
Have you actually tested the override functions? Setting a key and saving the
override file and loading it back in on restart?
- Logger.error(CLASS_NAME, "Error while saving the
translation override: "+ e.getMessage(), e);
+ Logger.error(this.getClass(), "Error while saving the
translation override: " + e.getMessage(), e);
Just use Logger.error(this, ...)
Why do you remove the synchronization? The "if(fallback = null) load fallback"
does need to be synchronized or we will have many copies of it loaded
simultaneously early on.
QueueToadlet imports NodeL10n twice.
42e6de62a207602e6b254ce3a14ab3d2caa3240d
[19:38:23] <toad_> Artefact2: please do not add GPL headers to existing files
[19:38:39] <toad_> Artefact2: we do not know whether everyone who has
contributed to the file has consented to GPL-2-or-later
getStore() : since we have the plugin already, why not just call
plugin.getClass().toString() instead of passing in the identifier?
getStore:
container.ext().configure().objectClass(storeC.pluginStore.getClass()).cascadeOnDelete(true);
- this MUST occur in Node with the other db4o config, NOT here.
container.ext().store(storeC, Integer.MAX_VALUE);
- you are storing the example! there may be an existing PluginStore, you must
query for it and modify and store it if there is one.
+ public HashMap<String, Byte[]> bytesArrays = new HashMap<String,
Byte[]>();
- ewwww! If you can't do a HashMap<String, byte[]> (which IIRC you can), do a
HashMap<String, ByteArrayWrapper>.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 835 bytes
Desc: This is a digitally signed message part.
URL:
<https://emu.freenetproject.org/pipermail/devl/attachments/20090829/6ed6b4f6/attachment.pgp>