<!-- Support for Locale ResourceBundle changes -->
<mx:Script>
<![CDATA[
- import org.babelfx.commands.ExternalLocaleCommand;
+ import net.systemeD.potlatch2.CustomLocaleCommand;
import org.babelfx.events.LocaleEvent;
import mx.resources.ResourceManager;
import mx.resources.IResourceManager;
</mx:Script>
<commandFactory>
- <factory:ClassFactory generator="{ExternalLocaleCommand}">
+ <factory:ClassFactory generator="{CustomLocaleCommand}">
<factory:properties>
- <mx:Object externalPath="locales/\{0\}.swf"/>
+ <mx:Object defaultExternalPath="locales/\{0\}.swf"/>
</factory:properties>
</factory:ClassFactory>
</commandFactory>
--- /dev/null
+package net.systemeD.potlatch2 {
+ import org.babelfx.commands.ExternalLocaleCommand;
+ import net.systemeD.halcyon.Globals;
+
+ public class CustomLocaleCommand extends ExternalLocaleCommand {
+ public var defaultExternalPath:String;
+
+ override protected function loadLocale(locale:String):void {
+ externalPath = defaultExternalPath;
+
+ if (Globals.vars.locale_paths) {
+ for each (var path:String in Globals.vars.locale_paths.split(";")) {
+ var args:Array = path.split("=");
+
+ if (args[0] == locale) {
+ externalPath = args[1];
+ }
+ }
+ }
+
+ super.loadLocale(locale);
+ }
+ }
+}
if (loaderInfo.parameters['locale'] && loaderInfo.parameters['locale']!='en_US') {
// we don't bother with localisation if the user is en_US, as P2 is in English by default
Globals.vars.locale = loaderInfo.parameters['locale'];
+ Globals.vars.locale_paths = loaderInfo.parameters['locale_paths'];
dispatchEvent(new LocaleEvent(LocaleEvent.LOAD_LOCALE, loaderInfo.parameters['locale']));
dispatchEvent(new LocaleEvent(LocaleEvent.LOAD_LOCALE, 'en_US')); // think en_US is default
resourceManager.localeChain = [loaderInfo.parameters['locale'], 'en_US'];