On 8/29/09, Matthew Toseland <[email protected]> wrote: > 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>.
Everything fixed in cefa2e74a105585200098e0f325ee46ff180e70d. _______________________________________________ Devl mailing list [email protected] http://emu.freenetproject.org/cgi-bin/mailman/listinfo/devl
